Text of a box will go outside of it's bounds

Image:

When using the normal dot the boxes will grow larger as necessary:

Note that there are some differences in the chart themselves but my focus is only on the text box size.
Dot:
digraph "G" {
"app" ["shape"="rectangle"]
"sqldelight-runtime" ["shape"="rectangle"]
"support-annotations" ["shape"="rectangle"]
"leakcanary-android" ["shape"="rectangle"]
"leakcanary-analyzer" ["shape"="rectangle"]
"leakcanary-watcher" ["shape"="rectangle"]
"haha" ["shape"="rectangle"]
"kotlin-android-extensions-runtime" ["shape"="rectangle"]
"kotlin-stdlib" ["shape"="rectangle"]
"jetbrains-annotations" ["shape"="rectangle"]
"crashlytics" ["shape"="rectangle"]
"beta" ["shape"="rectangle"]
"fabric" ["shape"="rectangle"]
"crashlytics-core" ["shape"="rectangle"]
"answers" ["shape"="rectangle"]
"design" ["shape"="rectangle"]
"recyclerview-v7" ["shape"="rectangle"]
"support-core-ui" ["shape"="rectangle"]
"support-core-utils" ["shape"="rectangle"]
"support-compat" ["shape"="rectangle"]
"lifecycle-runtime" ["shape"="rectangle"]
"lifecycle-common" ["shape"="rectangle"]
"core-common" ["shape"="rectangle"]
"transition" ["shape"="rectangle"]
"appcompat-v7" ["shape"="rectangle"]
"animated-vector-drawable" ["shape"="rectangle"]
"support-vector-drawable" ["shape"="rectangle"]
"support-fragment" ["shape"="rectangle"]
"lifecycle-livedata-core" ["shape"="rectangle"]
"core-runtime" ["shape"="rectangle"]
"lifecycle-viewmodel" ["shape"="rectangle"]
"support-v4" ["shape"="rectangle"]
"support-media-compat" ["shape"="rectangle"]
"cardview-v7" ["shape"="rectangle"]
"constraint-layout" ["shape"="rectangle"]
"constraint-layout-solver" ["shape"="rectangle"]
"timber" ["shape"="rectangle"]
"billing" ["shape"="rectangle"]
"navi" ["shape"="rectangle"]
"rxjava" ["shape"="rectangle"]
"reactive-streams" ["shape"="rectangle"]
"auto-value-annotations" ["shape"="rectangle"]
"ui" ["shape"="rectangle"]
"rxbinding" ["shape"="rectangle"]
"rxbinding-kotlin" ["shape"="rectangle"]
"lint-rules-android" ["shape"="rectangle"]
"lint-rules-rxjava2" ["shape"="rectangle"]
"common" ["shape"="rectangle"]
"dagger" ["shape"="rectangle"]
"javax.inject" ["shape"="rectangle"]
"dagger-android-support" ["shape"="rectangle"]
"dagger-android" ["shape"="rectangle"]
"firebase-core" ["shape"="rectangle"]
"firebase-analytics" ["shape"="rectangle"]
"firebase-analytics-impl" ["shape"="rectangle"]
"firebase-iid" ["shape"="rectangle"]
"firebase-common" ["shape"="rectangle"]
"play-services-tasks" ["shape"="rectangle"]
"play-services-basement" ["shape"="rectangle"]
"play-services-basement-license" ["shape"="rectangle"]
"play-services-tasks-license" ["shape"="rectangle"]
"firebase-common-license" ["shape"="rectangle"]
"firebase-iid-license" ["shape"="rectangle"]
"firebase-analytics-impl-license" ["shape"="rectangle"]
"firebase-analytics-license" ["shape"="rectangle"]
"rxandroid" ["shape"="rectangle"]
"sqlbrite" ["shape"="rectangle"]
"leakcanary-android-no-op" ["shape"="rectangle"]
"app" -> "sqldelight-runtime"
"app" -> "support-annotations"
"app" -> "leakcanary-android"
"app" -> "kotlin-android-extensions-runtime"
"app" -> "crashlytics"
"app" -> "design"
"app" -> "appcompat-v7"
"app" -> "cardview-v7"
"app" -> "constraint-layout"
"app" -> "timber"
"app" -> "billing"
"app" -> "ui"
"app" -> "common"
"app" -> "dagger"
"app" -> "dagger-android-support"
"app" -> "kotlin-stdlib"
"app" -> "firebase-core"
"app" -> "rxjava"
"app" -> "rxandroid"
"app" -> "sqlbrite"
"app" -> "rxbinding"
"app" -> "rxbinding-kotlin"
"app" -> "lint-rules-android"
"app" -> "lint-rules-rxjava2"
"app" -> "leakcanary-android-no-op"
"sqldelight-runtime" -> "support-annotations"
"leakcanary-android" -> "leakcanary-analyzer"
"leakcanary-analyzer" -> "leakcanary-watcher"
"leakcanary-analyzer" -> "haha"
"kotlin-android-extensions-runtime" -> "kotlin-stdlib"
"kotlin-stdlib" -> "jetbrains-annotations"
"crashlytics" -> "beta"
"crashlytics" -> "crashlytics-core"
"crashlytics" -> "answers"
"crashlytics" -> "fabric"
"beta" -> "fabric"
"crashlytics-core" -> "answers"
"crashlytics-core" -> "fabric"
"answers" -> "fabric"
"design" -> "recyclerview-v7"
"design" -> "transition"
"design" -> "appcompat-v7"
"design" -> "support-v4"
"recyclerview-v7" -> "support-core-ui"
"recyclerview-v7" -> "support-compat"
"recyclerview-v7" -> "support-annotations"
"support-core-ui" -> "support-core-utils"
"support-core-ui" -> "support-compat"
"support-core-ui" -> "support-annotations"
"support-core-utils" -> "support-compat"
"support-core-utils" -> "support-annotations"
"support-compat" -> "support-annotations"
"support-compat" -> "lifecycle-runtime"
"lifecycle-runtime" -> "lifecycle-common"
"lifecycle-runtime" -> "core-common"
"transition" -> "support-compat"
"transition" -> "support-annotations"
"appcompat-v7" -> "animated-vector-drawable"
"appcompat-v7" -> "support-fragment"
"appcompat-v7" -> "support-core-utils"
"appcompat-v7" -> "support-vector-drawable"
"appcompat-v7" -> "support-annotations"
"animated-vector-drawable" -> "support-core-ui"
"animated-vector-drawable" -> "support-vector-drawable"
"support-vector-drawable" -> "support-compat"
"support-vector-drawable" -> "support-annotations"
"support-fragment" -> "support-core-ui"
"support-fragment" -> "support-core-utils"
"support-fragment" -> "support-compat"
"support-fragment" -> "support-annotations"
"support-fragment" -> "lifecycle-livedata-core"
"support-fragment" -> "lifecycle-viewmodel"
"lifecycle-livedata-core" -> "lifecycle-common"
"lifecycle-livedata-core" -> "core-runtime"
"lifecycle-livedata-core" -> "core-common"
"core-runtime" -> "core-common"
"support-v4" -> "support-fragment"
"support-v4" -> "support-core-ui"
"support-v4" -> "support-core-utils"
"support-v4" -> "support-media-compat"
"support-v4" -> "support-compat"
"support-media-compat" -> "support-compat"
"support-media-compat" -> "support-annotations"
"cardview-v7" -> "support-annotations"
"constraint-layout" -> "constraint-layout-solver"
"billing" -> "navi"
"billing" -> "support-annotations"
"billing" -> "rxjava"
"billing" -> "auto-value-annotations"
"navi" -> "support-annotations"
"rxjava" -> "reactive-streams"
"ui" -> "kotlin-stdlib"
"ui" -> "support-annotations"
"ui" -> "appcompat-v7"
"ui" -> "rxjava"
"ui" -> "rxbinding"
"ui" -> "rxbinding-kotlin"
"ui" -> "lint-rules-android"
"ui" -> "lint-rules-rxjava2"
"rxbinding" -> "support-annotations"
"rxbinding" -> "rxandroid"
"rxbinding" -> "rxjava"
"rxbinding-kotlin" -> "rxbinding"
"rxbinding-kotlin" -> "support-annotations"
"rxbinding-kotlin" -> "kotlin-stdlib"
"common" -> "kotlin-stdlib"
"dagger" -> "javax.inject"
"dagger-android-support" -> "appcompat-v7"
"dagger-android-support" -> "support-fragment"
"dagger-android-support" -> "dagger-android"
"dagger-android-support" -> "support-annotations"
"dagger-android-support" -> "dagger"
"dagger-android-support" -> "javax.inject"
"dagger-android" -> "support-annotations"
"dagger-android" -> "dagger"
"dagger-android" -> "javax.inject"
"firebase-core" -> "firebase-analytics"
"firebase-analytics" -> "firebase-analytics-impl"
"firebase-analytics" -> "firebase-common"
"firebase-analytics" -> "play-services-basement"
"firebase-analytics" -> "firebase-analytics-license"
"firebase-analytics-impl" -> "firebase-iid"
"firebase-analytics-impl" -> "firebase-common"
"firebase-analytics-impl" -> "play-services-tasks"
"firebase-analytics-impl" -> "play-services-basement"
"firebase-analytics-impl" -> "firebase-analytics-impl-license"
"firebase-iid" -> "firebase-common"
"firebase-iid" -> "play-services-tasks"
"firebase-iid" -> "play-services-basement"
"firebase-iid" -> "firebase-iid-license"
"firebase-common" -> "play-services-tasks"
"firebase-common" -> "play-services-basement"
"firebase-common" -> "firebase-common-license"
"play-services-tasks" -> "play-services-basement"
"play-services-tasks" -> "play-services-tasks-license"
"play-services-basement" -> "support-v4"
"play-services-basement" -> "play-services-basement-license"
"rxandroid" -> "rxjava"
"sqlbrite" -> "support-annotations"
"sqlbrite" -> "rxjava"
}

This works fine on my machine 😁
It's a problem with the fonts installed on your machine. By default, dot uses "Times new Roman" which clearly is not the case for you.
You can try Graphviz.printFontNames(); and then setting the font explicitly with
MutableGraph m = Parser.read(new File("big.dot"));
m.nodeAttrs().add(Font.name("Arial"));

Alright cool.
graph.nodeAttrs().add(Font.name("Times New Roman")) sems to do the trick. Thanks!


Numeric tooltip is moving with mouse

Open orders - Tooltip is moving with mouse (should be centered)
Design doesn't like the tooltip moving around with mouse. Center the tooltip on the numeric value.

fixed - closing


sql: implement USE  statement

Closes #411

Implement USE
Change implementation of UnresolvedDatabase
Catalog is not thread-safe
CurrentDatabase is now on the Catalog

@erizocosmico could you add tests for catalog.CurrentDatabase(), catalog.SetCurrentDatabase(...) and catalog.AllDatabases() please?

Done, also rebased

Rebased again

Rebased again


Update (non-dev) dependencies for 0.11

Thanks!
I wanted to wait for purescript-test-unit until I update all my libraries, but I can release a version now and re-enable the tests later.

@paf31 Is the psc-package.json file still needed?

Sorry, no, it's not.


Failed to build on react native 0.71.3

Getting the following error after updating my project:
"A module failed to load due to an error and AppRegistry.registerComponent wasn't called. js engine: hermes"
notifee version: 7.6.1
react-native version: 0.71.3
I also by removing the node_module folder, but no success.
Any help would be highly appreciated.

"A module failed to load due to an error

Knowing the exact text of the error would be helpful.

we have an example app that i recently upgraded to react-native 0.71.4 https://github.com/invertase/notifee/tree/main/packages/react-native/example

also is this for iOS or android?

its on both platform.

we have an example app that i recently upgraded to react-native 0.71.4 https://github.com/invertase/notifee/tree/main/packages/react-native/example

thanks, i will try to implement it again. it was working fine on version 0.68. But causing issue on version 0.71

OK thanks! I just tested the example app, and both are working with latest notifee and latest rn.


New style rollaxis

This PR applies new-style function API to F.rollaxis, as a part of #3147. Double-backpropable version of this function is used in #3296.

LGTM


Update guzzle psr7 to ^2.0 so it can be installed with Laravel 8

Hello!
Thanks for your work on this!!!
Getting the following error when trying to install on Laravel 8:
- nao-pon/flysystem-google-drive[dev-master, 1.1.2, ..., 1.1.13] require google/apiclient ^2.0 -> satisfiable by google/apiclient[v2.0.0-RC1, ..., 2.x-dev (alias of dev-master)].
    - nao-pon/flysystem-google-drive[1.1.0, ..., 1.1.1] require google/apiclient ^2.0@dev -> satisfiable by google/apiclient[v2.0.0-RC1, ..., 2.x-dev (alias of dev-master)].
    - google/apiclient 2.x-dev is an alias of google/apiclient dev-master and thus requires it to be installed too.
    - google/apiclient[dev-master, v2.9.0, ..., v2.10.1] require guzzlehttp/psr7 ^1.2 -> found guzzlehttp/psr7[1.2.0, ..., 1.x-dev] but the package is fixed to 2.0.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - google/apiclient[v2.0.0-RC1, ..., v2.2.4] require monolog/monolog ^1.17 -> found monolog/monolog[1.17.0, ..., 1.x-dev] but the package is fixed to 2.3.4 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - google/apiclient[v2.3.0, ..., v2.8.3] require phpseclib/phpseclib ~0.3.10||~2.0 -> found phpseclib/phpseclib[0.3.10, 2.0.0, ..., 2.0.x-dev] but the package is fixed to 3.0.10 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - nao-pon/flysystem-google-drive 1.1.x-dev is an alias of nao-pon/flysystem-google-drive dev-master and thus requires it to be installed too.
    - Root composer.json requires nao-pon/flysystem-google-drive ~1.1 -> satisfiable by nao-pon/flysystem-google-drive[1.1.0, ..., 1.1.x-dev (alias of dev-master)].

I guess updating to guzzlehttp/psr7 will fix the issue on Laravel 8

Without support, but make a pull request to try
I'm using masbug/flysystem-google-drive-ext V1 for laravel 8

@PaolaRuby Thanks! I guess I can downgrade guzzle a bit as a temp solution, just stating that there needs to be an update sooner or later. Is the current repo not actively maintained anymore?

the author is not replying since 29 Jul 2020

Ahh bummer! Thanks for the heads up!


Fix llm_config spec to use os.environ

Why are these changes needed?

Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

@dkirsche I don't have write access to your fork. So submitting some commits via a PR :)

Great catch. This looks good. Is it ok if I merge into this branch and then update the PR at https://github.com/microsoft/autogen/pull/1631?


Perform ASR after VAD

Hello,
currently the ASR API service functions are called even when no speech signal is detected from microphone signal. When i use the microphone example script and define
recognizer_instance.energy_threshold = 3500

the ASR API is called even when i do not speak any word. The value 3500 is very high compared to the ambient noise label (like 100) so the ASR API should not be called.
It would be nice to first pass the microphone signal to an VAD (Voice Activity Detector) to prevent unnecessary API calls.
Maybe someone knows a good Python VAD that could be used as an extension for this library?
Regards,
Josef

I found an issue related to the recognizer_instance.energy_threshold.
Please have a look at this small example script:
#!/usr/bin/env python3

import speech_recognition as sr

# obtain audio from the microphone
r = sr.Recognizer()
r.energy_threshold = 300
print("Initial Energy Threshold: {}".format(r.energy_threshold))

with sr.Microphone() as source:
    print("Say something!")
    print("Energy Threshold before Listen: {}".format(r.energy_threshold))
    audio = r.listen(source)
    print("Energy Threshold after Listen: {}".format(r.energy_threshold))

# recognize speech using Google Speech Recognition
try:
    # for testing purposes, we're just using the default API key
    # to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")`
    # instead of `r.recognize_google(audio)`
    print("Google Speech Recognition thinks you said " + r.recognize_google(audio))
except sr.UnknownValueError:
    print("Google Speech Recognition could not understand audio")
except sr.RequestError as e:
    print("Could not request results from Google Speech Recognition service; {0}".format(e))

This is the output:

Say something!
Initial Energy Threshold: 300
Energy Threshold before Listen: 300
Energy Threshold after Listen: 21.948869972
Google Speech Recognition thinks you said hello

Why is the energy threshold modified when i use r.listen(source)?
From my opinion the energy threshold should be fixed at the value 300!

Hi @jhoelzl,
We do use a energy-based VAD. By default, it's configured to automatically adjust to account for background noise. If the dynamic adjustment isn't working well for your application, you can turn it off and set the threshold yourself.
Also, check out the adjust_for_ambient_noise function. It will auto-adjust the energy threshold to a reasonable level.

Thanks, recognizer_instance.dynamic_energy_threshold = False is what i need.


blockResources plugin is not working

When using the blockResources plugin, none of the resources are being blocked for me. Other plugins are working fine though.
In an attempt to fix this issue, I tried to block resources with the following solution: https://github.com/cyrus-and/chrome-remote-interface/wiki/Intercept-and-block-requests-by-URL. Oddly, that solution worked for a while, and then stopped working. I can't seem to figure out why unfortunately.
Overall, could there be some issues with the Chrome DevTools Protocol and certain versions of Chrome or other libraries?
prerender version: 5.2.0
Chrome version: 63.0.3239.132 & 65.0.3324.0 (tested on both)

+1
Version 64.0.3282.186 (Build officiel) (64 bits)

Hello, Is there anybody has solution for this?

We'll be switching from using setBlockedURLs to setRequestInterceptor soon which should fix any issues with the current blocking of certain URLs.

This should be fixed now in version 5.4.4
Thanks for reporting!


Bug: authelia "The state is missing or does not have enough characters"

What happened?
Using authelia as oidc provider in v4 gives:
Authorization Request failed with error: The state is missing or does not have enough characters and is therefore considered too weak. Request parameter 'state' must be at least be 8 characters long to ensure sufficient entropy.
Version
other (provide version in additional info)
What browser(s) are you seeing the problem on?
Chromium-based (Chrome, Edge, Brave, Opera, mobile chrome/chromium based, etc)
Zipline Logs
nothing particular

Browser Logs
No response
Additional Info
No response

thanks for the bug report! should be fixed in da875e451cdad38b46ca048e1d963dcec4fc3e78, I wasn't able to test it since setting up authelia locally is a bit of a chore, but the secret Zipline generates is around 60 characters now so this error shouldn't show up.


Add flag to suppress OpenAPI change report

In non-API projects, there might still be OpenAPI changes reported. Provide an analysis flag to disable these. Example from AppMap IntelliJ Plugin

This is available with the option exclude-sections
https://github.com/getappmap/analyze-action/blob/main/action.yml#L53


Flake8 linter configuration (especially line length)

Are the options used for flake8 included in the repo anywhere? Since the project uses the flake8 default for line length it will work out of the box for default configs, but if someone has their environment set up differently then it might cause a bit of confusion (e.g. I use Black's limit of 88).
I couldn't see the line length set explicitly in setup.cfg or tox.ini, so perhaps it could be added there, e.g. for setup.cfg:
[flake8]
max_line_length=79

I first noticed this when a PR failed the Travis CI checks, so if there's an easier way I could have noticed this earlier please let me know.

I think most editor plugins will use the defaults values if nothing is provided (therefore 79).
Now I actually believe that we should move to black, but that's another matter :) .

You're right about defaults, but I use a "system wide" value of 88 (or 100 at my workplace), so for any project that uses a different value (and to be fair, a lot of them use 79) I should add a per-project setting somewhere.
I'm not really sure what the ratio is of people using 79 vs other values, so maybe it's not a big deal.
And I'm obviously in favour of using black for watson too, when there's time :)

I second that request. I have configured a maximal function complexity of 5 systemwide, so running flake8 locally fails for plenty of Watson's functions.


Add the ability to delete a signature from the admin

An increasing number of people want to remove their signature from a
petition so to make life easier add a feature to the search results
page in the admin to remove a signature. Note that petition creators
can't have their signature removed.
https://www.pivotaltracker.com/n/projects/307301/stories/102570760

LGTM


Error when opening Html files

If the Linter package is enabled, and it is triggered on a HTML file (e.g. if I have just 'Lint On Save' enabled and then I save a HTML file, or if I have 'Lint On Change' and I save a HTML file) I get an exception:
Uncaught Error: spawn tidy ENOENT

function
file:line

exports._errnoException
util.js:742

ChildProcess._handle.onexit
child_process.js:1051

(anonymous function)
child_process.js:1142

_tickCallback
node.js:378

this happens with all user installed packages disabled except for Linter, and stops happening if I disable the Linter package. This happens with an empty file with .html extension.
I am using linux fedora 20, atom v0.153.0

See #150. It looks like tidy is not on your path.


📝 Fix suggested cURL interceptor on README

New Pull Request Checklist

[x] I have read the Documentation
[x] I have searched for a similar pull request in the project and found none
[x] I have updated this branch with the latest main branch to avoid conflicts (via merge from master or rebase)
[x] I have added the required tests to prove the fix/feature I'm adding
[x] I have updated the documentation (if necessary)
[x] I have run the tests without failures
[x] I have updated the CHANGELOG.md in the corresponding package

Additional context and info (if any)
Changes the suggested interceptor to create cURL requests, the current one doesn't work on Dio 5.x.x versions, so this new package is functional for those versions. (Apparently the old package was abandoned by the developer, this other suggested one was born from a fork of the previous one).

Please also adjust the chinese readme. Thanks for the PR.

@ueman Chinese readme updated! 😄

Thanks!


Website down, is there another place to download for mac?

Hi,
I've reinstalled my mac, now wanted to get tomighty back but your website is down :(
Could you share an URL from where we could download it?
Thanks!

@vedtam ran into the same issue, I was able to download the .dmg from the releases page:
https://github.com/tomighty/tomighty-osx/releases
not the absolute latest code but works well on 10.13.6


The pull command given in build success email is incorrect

I requested a new build on the web, and got a success email with pull instruction:

docker pull andypetrella/spark-notebook:master-scala-2.11.8-spark-2.0.0-hadoop-2.7.2
docker run -p 9000:9000 andypetrella/spark-notebook:master-scala-2.11.8-spark-2.0.0-hadoop-2.7.2

However, it does not work. If I go to https://hub.docker.com/r/andypetrella/spark-notebook/tags/, I found my build is tagged with 0.7.0-SNAPSHOT-scala-2.11.8-spark-2.0.0-hadoop-2.7.2.
I guess you forgot to update the notification email template :)
Not a big issue. Just to let you know, if you want to update the template.

Thanks! I changed that :-)


Sometimes paddlecloud logs is delayed

I can see the logs maybe 1min after the job completed, was expecting to see almost realtime logs.
Just curious why logs are very delayed?
Update: the first jobs have delayed log, the second job's logs looks fine.

docker collect logs from stdout and since it is buffered the output is not "real time", will add stdbuf -oL to the start up script.


GEODE-6779: fix issue with Bean check variations

When dealing with diskStore several ways of checking their presence
were employed which ended up causing intermittent failure on DUnit
testing. This patch rolls up the check which is used by all interested
commands.

Co-authored-by: Peter Tran<EMAIL_ADDRESS>Co-authored-by: Joris Melchior<EMAIL_ADDRESS>Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[x] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[x] Is your initial contribution a single, squashed commit?

[x] Does gradlew build run cleanly?

[x] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, check Concourse for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

@onichols-pivotal @jinmeiliao @jackw26

I built the code and ran the test. It looked good. I don't know this code space well, so I will leave it to others to review.

@dschneider-pivotal


make demo rely less on environment variables

It's easy to miss the instruction for moving the .env.example file to .env. Also, may confuse some people when just trying to run a simple demo. There's a lot to ingest in the env file. We should make the demo less dependent on environment variables and make instructions for creating the container registry and getting creds for it more obvious and explicit.

We introduced reasonable defaults for many of the environment variables to where it is possible to run the demo without having much in the .env file.


Distance Sensor is always transmitting once object is created

As soon as a DistanceSensor object is created, the device starts transmitting ultrasonic pulses, even when not being asked for a distance measurement.  Even when the program is ended, transmission continues (until the device is unplugged).

I've just been testing this now I've got a soundcard that can capture ultrasound. Now if you do:
d = DistanceSensor('C')
del d

The deletion of the distance sensor will stop ultrasound being produced.  Or if you close the python REPL, that will also stop it.
It looks like the ultrasound sensor starts producing ultrasound when we do:
pwm
set -1

Which is done when you create the DistanceSensor.  I think it might be a good idea to remain doing this, otherwise we would have to turn the sensor on / off, when using callbacks / requesting the distance.  I could look into doing that though, if the ultrasound interferes with something?
Some FFTs:

Closing for now, I think the 'del' change hopefully goes someway to addressing this issue.  Please re-open if we need more changes for this issue.


Postinstall installation error build_framework.ios.sh

Description
In my React Native project, I get an when error trying to install Detox with yarn add detox --dev.
Steps to Reproduce
This is my first time installing Detox. I have seen others report similar issues, I am using the latest version of Detox.
Detox, Node, Device, Xcode and macOS Versions

Detox: 9.1.2
React Native: 0.57.7
Node: 10.14.1
Device: iPhone X, simulator
Xcode: 10.1
macOS: macOS Mojave 10.14.2

Device and verbose Detox logs
error /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox: Command failed.
Exit code: 1
Command: node scripts/postinstall.js
Arguments:
Directory: /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox
Output:
+ xcodebuild -version
+++ dirname /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/scripts/build_framework.ios.sh
++ dirname /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/scripts
+ detoxRootPath=/Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox
++ node -p 'require('\''/Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/package.json'\'').version'
+ detoxVersion=9.1.2
++ echo 9.1.2
++ xcodebuild -version
++ shasum
++ awk '{print $1}'
+ sha1=aec62188116fcc095542b8295542435cd5c8a400
+ detoxFrameworkDirPath=/Users/praveen/Library/Detox/ios/aec62188116fcc095542b8295542435cd5c8a400
+ detoxFrameworkPath=/Users/praveen/Library/Detox/ios/aec62188116fcc095542b8295542435cd5c8a400/Detox.framework
+ main
+ '[' -d /Users/praveen/Library/Detox/ios/aec62188116fcc095542b8295542435cd5c8a400 ']'
+ prepareAndBuildFramework
+ '[' -d /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios ']'
+ detoxSourcePath=/Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src
+ extractSources /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src
+ detoxSourcePath=/Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src
+ echo 'Extracting Detox sources...'
Extracting Detox sources...
+ mkdir -p /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src
+ tar -xjf /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/Detox-ios-src.tbz -C /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src
+ buildFramework /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src
+ detoxSourcePath=/Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src
+ echo 'Building Detox.framework from /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src...'
+ mkdir -p /Users/praveen/Library/Detox/ios/aec62188116fcc095542b8295542435cd5c8a400
Building Detox.framework from /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src...
+ /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/scripts/build_universal_framework.sh /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/ios_src/Detox.xcodeproj /Users/praveen/Library/Detox/ios/aec62188116fcc095542b8295542435cd5c8a400
child_process.js:632
    throw err;
    ^

Error: Command failed: /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/scripts/build_framework.ios.sh
    at checkExecSyncError (child_process.js:611:11)
    at Object.execFileSync (child_process.js:629:13)
    at Object.<anonymous> (/Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/scripts/postinstall.js:2:27)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)

Run /Users/praveen/Documents/coding/react/BarsAppAmplify/node_modules/detox/scripts/build_framework.ios.sh separately, what's the output?

I have same issue
Detox 10.0.7
OSX 10.14
xCode Version 10.1 (10B61)
Found in $HOME/Library/Detox/ios/${sha1}/detox_ios.log error
node_modules/detox/ios_src/Detox/DTXMethodInvocation.m:11:9: fatal error: 'EarlGrey/GreyActions.h' file not found
#import <EarlGrey/GreyActions.h>
        ^~~~~~~~~~~~~~~~~~~~~~~~

🤔

changes added here https://github.com/wix/Detox/commit/6a1d700eac0d2f84294e30b4fd18776db4d604df#diff-5ee60c03716db19817f236ea45a7a851R11
how to fix this?

I have the same error.
v10.0.5 was installed correctly
v10.0.7 couldn't install

i also have this error in earlier versions of detox.
Maybe because of the react-native version?

Same here .. when Detox tries to setup it seems like it's unable to build the Detox.framework in ~/Library/Detox/ios/<hash>/Detox.framework
and the hash folder instead contains a log file.

Same error, cannot run the examples. How can we fix this?

+1

We seem to have found the issue, this only happens on machines with case sensitive file system.
https://github.com/wix/Detox/commit/6a1d700eac0d2f84294e30b4fd18776db4d604df#diff-5ee60c03716db19817f236ea45a7a851R11 is now being fixed,
#import <EarlGrey/GreyActions.h> -> #import <EarlGrey/GREYActions.h>

🤦♂

Solved in 10.0.10 with https://github.com/wix/Detox/commit/8714bb4185480e62819134bf6db4e67751f99ba0

hmm, i still have this.

With what version do you still have the issue @svenjens ?

@rdewolff 10.0.10. in which it should be fixed.

Guys, please reopen the issue.

Please post the log.

That was fast 👍

<EMAIL_ADDRESS>install /Users/svenjens/Apps/ober-app/node_modules/dtrace-provider
node-gyp rebuild || node suppress-error.js

ACTION binding_gyp_ndtp_target_build_ndtp .
TOUCH Release/obj.target/ndtp.stamp

<EMAIL_ADDRESS>postinstall /Users/svenjens/Apps/ober-app/node_modules/detox
node scripts/postinstall.js

xcodebuild -version
+++ dirname /Users/svenjens/Apps/ober-app/node_modules/detox/scripts/build_framework.ios.sh
++ dirname /Users/svenjens/Apps/ober-app/node_modules/detox/scripts
detoxRootPath=/Users/svenjens/Apps/ober-app/node_modules/detox
++ node -p 'require('''/Users/svenjens/Apps/ober-app/node_modules/detox/package.json''').version'
detoxVersion=10.0.10
++ echo 10.0.10
++ xcodebuild -version
++ shasum
++ awk '{print $1}'
sha1=68adb0e2a13b03316436762fbccbc78265ae0702
detoxFrameworkDirPath=/Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702
detoxFrameworkPath=/Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702/Detox.framework
main
'[' -d /Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702 ']'
'[' '!' -d /Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702/Detox.framework ']'
echo '/Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702 was found, but could not find Detox.framework inside it. This means that the Detox framework build process was interrupted.
deleting /Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702 and trying to rebuild.'
/Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702 was found, but could not find Detox.framework inside it. This means that the Detox framework build process was interrupted.
deleting /Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702 and trying to rebuild.
rm -rf /Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702
prepareAndBuildFramework
'[' -d /Users/svenjens/Apps/ober-app/node_modules/detox/ios ']'
detoxSourcePath=/Users/svenjens/Apps/ober-app/node_modules/detox/ios_src
extractSources /Users/svenjens/Apps/ober-app/node_modules/detox/ios_src
detoxSourcePath=/Users/svenjens/Apps/ober-app/node_modules/detox/ios_src
echo 'Extracting Detox sources...'
Extracting Detox sources...
mkdir -p /Users/svenjens/Apps/ober-app/node_modules/detox/ios_src
tar -xjf /Users/svenjens/Apps/ober-app/node_modules/detox/Detox-ios-src.tbz -C /Users/svenjens/Apps/ober-app/node_modules/detox/ios_src
buildFramework /Users/svenjens/Apps/ober-app/node_modules/detox/ios_src
detoxSourcePath=/Users/svenjens/Apps/ober-app/node_modules/detox/ios_src
echo 'Building Detox.framework from /Users/svenjens/Apps/ober-app/node_modules/detox/ios_src...'
Building Detox.framework from /Users/svenjens/Apps/ober-app/node_modules/detox/ios_src...
mkdir -p /Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702
/Users/svenjens/Apps/ober-app/node_modules/detox/scripts/build_universal_framework.sh /Users/svenjens/Apps/ober-app/node_modules/detox/ios_src/Detox.xcodeproj /Users/svenjens/Library/Detox/ios/68adb0e2a13b03316436762fbccbc78265ae0702
child_process.js:624
throw err;
^

Error: Command failed: /Users/svenjens/Apps/ober-app/node_modules/detox/scripts/build_framework.ios.sh
at checkExecSyncError (child_process.js:601:13)
at Object.execFileSync (child_process.js:621:13)
at Object. (/Users/svenjens/Apps/ober-app/node_modules/detox/scripts/postinstall.js:2:27)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: node scripts/postinstall.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.

Upload the detox build log, not the npm install log. $HOME/Library/Detox/ios/${sha1}/detox_ios.log

it gives me 21 times
/Users/svenjens/Apps/ober-app/node_modules/detox/ios_src/Detox/WXJSTimerObservationIdlingResource.h:10:9: fatal error: 'EarlGrey/EarlGrey.h' file not found
#import <EarlGrey/EarlGrey.h>
        ^~~~~~~~~~~~~~~~~~~~~
1 error generated.```

Do you need to whole log ?

The following files:
TestFailureHandler.h:10:9:
WebSocket.m:10:9
WXRunLoopIdlingResource.h:10:9:
EarlGreyExtensions.h:9:9:
EarlGrey+Detox.h:10:9
GREYMatchers+Detox.h:9:9:
TestFailureHandler.h:10:9:
DTXMethodInvocation.m:10:9:
GREYCondition+Detox.h:9:9
WXRNLoadIdlingResource.h:10:9:
WXAnimatedDisplayLinkIdlingResource.h:10:9
DetoxAppDelegateProxy.m:13:9: fatal error: module 'COSTouchVisualizer' not found
@import COSTouchVisualizer;

Please post the entire log. Make sure to clear $HOME/Library/Detox/ first, then try to npm install where Detox fails and provide the entire log created at $HOME/Library/Detox/ios/${sha1}/detox_ios.log.

The whole log, its big:
https://justpaste.it/3rmj6

This looks unrelated to this issue. Please open a new one and attach that log. Thanks


non_exhaustive structures

Up MSRV to 1.40

cc @therealprof
@adamgreig

Swapping to non_exhaustive LGTM, should this PR wait until #139 so it doesn't also merge the strict stuff?

Swapping to non_exhaustive LGTM, should this PR wait until #139 so it doesn't also merge the strict stuff?

At your discretion.

I'm also fine in principle, though I'm not quite clear on the motivation to bump the MSRV just to replace manual non-exhaustive implementation.

At this point I think 1.40 is old enough that it's nice to be able to clean up the code to use non_exhaustive. Especially since this crate tends to be more "tooling" than "end-user" I'm really not too worried about the MSRV going to 1.40.

I'm not worried about the MSRV bump. I'm simply not a big fan of bumping versions just for cleanup...

Ah, this line will need updating before bors sees the tests as passing:
https://github.com/rust-embedded/svd/blob/master/.github/bors.toml#L6

bors cancel

Ah, this failure wasn't being reported but explains why we're not seeing any build results against the bors commits:
https://github.com/rust-embedded/svd/actions/runs/695451779
In particular test strict should be test-strict or similar:
https://github.com/rust-embedded/svd/pull/140/files#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fR48
bors cancel

Rebased

What is wrong with clippy?

It's still complaining about this line in anyhow:
{"reason":"compiler-message","package_id":"anyhow 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)","target":{"kind":["lib"],"crate_types":["lib"],"name":"anyhow","src_path":"/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/anyhow-1.0.40/src/lib.rs","edition":"2018","doctest":true},"message":{"rendered":"error: error reading Clippy's configuration file /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/anyhow-1.0.40/.clippy.toml: unknown field msrv, expected one of blacklisted-names, cognitive-complexity-threshold, cyclomatic-complexity-threshold, doc-valid-idents, too-many-arguments-threshold, type-complexity-threshold, single-char-binding-names-threshold, too-large-for-stack, enum-variant-name-threshold, enum-variant-size-threshold, verbose-bit-mask-threshold, literal-representation-threshold, trivial-copy-size-limit, too-many-lines-threshold, third-party at line 1 column 1\n\n","children":[],"code":null,"level":"error","message":"error reading Clippy's configuration file /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/anyhow-1.0.40/.clippy.toml: unknown field msrv, expected one of blacklisted-names, cognitive-complexity-threshold, cyclomatic-complexity-threshold, doc-valid-idents, too-many-arguments-threshold, type-complexity-threshold, single-char-binding-names-threshold, too-large-for-stack, enum-variant-name-threshold, enum-variant-size-threshold, verbose-bit-mask-threshold, literal-representation-threshold, trivial-copy-size-limit, too-many-lines-threshold, third-party at line 1 column 1","spans":[]}}
but I don't know why, or why it has worked occasionally...

Switched to use last stable clippy


Update image ghcr.io/gethomepage/homepage to v0.10.5

This PR contains the following updates:

Package
Update
Change

ghcr.io/gethomepage/homepage
patch
v0.10.4 -> v0.10.5

Release Notes

gethomepage/homepage (ghcr.io/gethomepage/homepage)
v0.10.5
Compare Source
What's Changed

Enhancement: Better handle some beszel errors by @shamoon in https://github.com/gethomepage/homepage/pull/4493
Enhancement: support 'nice name' for beszel system ID by @shamoon in https://github.com/gethomepage/homepage/pull/4495
FIx: glances containers header position by @shamoon in https://github.com/gethomepage/homepage/pull/4496
Fix: fix search overlay behind status indicators in 0.10.x by @shamoon in https://github.com/gethomepage/homepage/pull/4484
Fix: fun with padding and margins by @shamoon in https://github.com/gethomepage/homepage/pull/4489
New Crowdin translations by GitHub Action by @github-actions in https://github.com/gethomepage/homepage/pull/4481
Tweak: remove extra padding for nested groups by @shamoon in https://github.com/gethomepage/homepage/pull/4474
Tweak: again trying to restore chart sizing in 0.10.x by @shamoon in https://github.com/gethomepage/homepage/pull/4479
New Crowdin translations by GitHub Action by @github-actions in https://github.com/gethomepage/homepage/pull/4470
Fix: metric heights in 0.10.x by @shamoon in https://github.com/gethomepage/homepage/pull/4467
Chore: warn and dont fail for invalid services by @shamoon in https://github.com/gethomepage/homepage/pull/4468
Chore(deps): Bump systeminformation from 5.23.5 to 5.23.8 by @dependabot in https://github.com/gethomepage/homepage/pull/4450
Fix: dont discard service groups not included in layout by @shamoon in https://github.com/gethomepage/homepage/pull/4456

Full Changelog: https://github.com/gethomepage/homepage/compare/v0.10.0...v0.10.5

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


Consider adding a type name generator that names anonymous parameter types based on operation ID and parameter name

Something like this:
public class SwaggerDefaultTypeNameGenerator : NJsonSchema.DefaultTypeNameGenerator
{
    protected override string Generate(JsonSchema4 schema, string typeNameHint)
    {
        if (!string.IsNullOrEmpty(typeNameHint))
        {
            var start = typeNameHint.LastIndexOf('.') + 1;

            return ConversionUtilities.ConvertToUpperCamelCase(typeNameHint.Substring(start, typeNameHint.Length - start), true);
        }

        var swaggerParameter = schema.ParentSchema as NSwag.SwaggerParameter;

        if (swaggerParameter != null)
        {
            string autoGeneratedName = $"{swaggerParameter.Parent.OperationId}-{swaggerParameter.Name}";
            return ConversionUtilities.ConvertToUpperCamelCase(autoGeneratedName, true);
        }

        return "Anonymous";
    }
}

Why not...

Because I don't like to create strings just because. 😄
I thought of that. Only if the base returns "Anonymous", the new strategy would be used.
If I was designing this API now, I would return null instead of "Anonymous" and have a strategy for anonymous. But the time for that has passed.

I'm hitting a similar case now with OData 8 query parameters. It seems the snippet from the original post is no longer applicable (after rewrite to use OpenApi* classes)
Given this JSON in the schema:
{
    "name": "$select",
    "in": "query",
    "description": "Select properties to be returned",
    "style": "form",
    "explode": false,
    "schema": {
        "uniqueItems": true,
        "type": "array",
        "items": {
            "enum": [
                "deviceId",
                "status"
            ],
            "type": "string"
        }
    }
}

We're getting a method parameter of type IEnumerable<AnonymousX> because the schema doesn't have a title (and I don't believe I can get OData middleware to inject one there).
So instead I tried to implement a custom TypeNameGenerator but the schema seems to be missing any reference up to the OpenApiParameter it belongs to.
It would be great if we can have OpenApiParameter.Schema.Parent = OpenApiParameter.
Potentially it could be added here:
https://github.com/RicoSuter/NSwag/blob/7d6df3af95081f3f0ed6dee04be8d27faa86f91a/src/NSwag.Core/OpenApiParameter.cs#L140-L144
Another place where this assignment would be needed is here (although I'm not hitting that specific case):
https://github.com/RicoSuter/NSwag/blob/7d6df3af95081f3f0ed6dee04be8d27faa86f91a/src/NSwag.CodeGeneration/Models/OperationModelBase.cs#L334-L337
So that users could implement
class CustomTypeNameGenerator : DefaultTypeNameGenerator
{
    protected override string Generate(JsonSchema schema, string? typeNameHint)
    {
        string name = base.Generate(schema, typeNameHint);
        if ((string.IsNullOrEmpty(name) || name == "Anonymous") &&
            schema.ParentSchema is OpenApiParameter parameter)
        {
            return $"{(parameter.Parent as OpenApiOperation)?.OperationId}{parameter.Name.TrimStart('$')}Parameter";
        }

        return name;
    }
}

Let me know if I there's more nuance or I should make a PR for those changes.


Scoped class does not work on vue-markdown component

When i attach a class to the vue-markdown component it is not being styled accordingly.
Example:
<template lang="pug">
    vue-markdown(:source="mydata", class="vue-md")
</template>

I run this code and get HTML script like this, which look like all right:

what you define in "mydata"

May you paste the HTML script you got ? thx~

I've run into the same problem.
This happens due to the behavior of setting


tour: Remove unnecessary 0 addition

Hello!
I've removed + 0 from the https://tour.golang.org/flowcontrol/10 code example, because it was leading to confusion. It is not necessary there, and most likely was added to preserve alignment or for consistency.
There was a discussion about this expression in #1003.

It turned out that, this PR is a duplicate of existing one: https://go-review.googlesource.com/c/tour/+/250057.
So I'm closing this one.


The open-nti container doesn't appear persistent between container stops and starts

Hi,
Subject says it all.  Very simple demo of changing the profile is attached to demonstrate
ContainerPersistence.docx
Essentially everytime you start/stop the container it appears all changes including previously gathered statistics are lost.
Let  me know if you need any other details.
Cheers.
M

Hi
This is a inherit behaviour from docker philosophy, in you want to make your changes persistent after stoping the container, you need first to 'commit' your container state (please check last section of this link https://docs.docker.com/engine/quickstart/), then make sure to rename/tag your new images with the proper tag (you can override the original image tags), and then start your container from the latest image you just commited
Regards
Efrain

Hi,
Yep appreciate this and probably haven't asked the question properly.  I was talking with Damian offline and he informs me grafana configuration files are inside the container (as to my example), but the database is outside the container.  I said that would be a very useful addition to move them outside the container (so we can add users to be persistent etc) - whilst typing I noticed issue 8 was just raised.
In addition I guess where this problem really originated from was the influxd database doesn't appear to be persistent.  Looking at the docker.start.sh file in theory /var/lib/influxdb inside the container is mapped to $(pwd)/db outside the container as a volume.  If I ssh to the container, I do see the mapping, but once again nothing is being written to that directory so I'm not sure what is going on there.
Cheers.
M

It seems there is another thread about the same issue, #8  , so I'm closing this one


Query path benchmarks

Right now we have a small set of benchmarks that really only benchmark concurrent writers.
It would be good to get some benchmarks around the query path, as well as large database benchmarks etc.

There are some query benchmarks in the parca project, those are what I’ve been using for query benchmarking.

Planning on taking this on. I think adding some benchmarks to FrostDB that represent the cloud OKRs would be pretty useful to get some less noisy benchmarks.


Add ServiceWorkerGlobalScope mock

This is a change to address #43. The change is to both add a ServiceWorkerGlobalScope class to the global scope, and to make sure that self is an instance of that class. This required no breaking changes because (fortunately) all class instance variables are iterable and are copied over with Object.assign.
This does 2 things:

Adds global.ServiceWorkerGlobalScope.
Makes global.self the current instanceof global.ServiceWorkerGlobalScope.

Looks great!


fetch exchange rate api should pick a working default

Closes #551

Fetch exchange rate option just fetchs the choosen exchange by user and up to 3 times for fetching rate. If all times is failed. So none option is choosen
This mr add change by fetch all other available exchange which is supported
This mr also remove support for bittrex since bittrex is no longer serving

2024-07-06 10:24:47.341 [ERR] EXT: fetching ticker 3 failed: binance failed to fetch ticker for LTC-USDT: Get "https://api.binance.com/api/v3/ticker/24hr?symbol=LTCUSDT": dial tcp: lookup api.binance.com: no such host. Retrying in 4s
2024-07-06 10:24:51.342 [INF] EXT: fetching from other exchanges
2024-07-06 10:24:52.498 [INF] EXT: messari is choosen
2024-07-06 10:24:52.500 [ERR] EXT: fetching ticker 1 failed: messari failed to fetch ticker for BTC-USDT: Get "https://api.binance.com/api/v3/ticker/24hr?symbol=BTCUSDT": dial tcp: lookup api.binance.com: no such host. Retrying in 1s
2024-07-06 10:24:53.502 [ERR] EXT: fetching ticker 2 failed: messari failed to fetch ticker for BTC-USDT: Get "https://api.binance.com/api/v3/ticker/24hr?symbol=BTCUSDT": dial tcp: lookup api.binance.com: no such host. Retrying in 2s
2024-07-06 10:24:55.507 [ERR] EXT: fetching ticker 3 failed: messari failed to fetch ticker for BTC-USDT: Get "https://api.binance.com/api/v3/ticker/24hr?symbol=BTCUSDT": dial tcp: lookup api.binance.com: no such host. Retrying in 4s
2024-07-06 10:24:59.508 [INF] EXT: fetching from other exchanges
2024-07-06 10:25:00.324 [INF] EXT: coinpaprika is choosen
2024-07-06 10:25:00.326 [ERR] EXT: fetching ticker 1 failed: coinpaprika failed to fetch ticker for DCR-USDT: Get "https://api.binance.com/api/v3/ticker/24hr?symbol=DCRUSDT": dial tcp: lookup api.binance.com: no such host. Retrying in 1s
2024-07-06 10:25:01.330 [ERR] EXT: fetching ticker 2 failed: coinpaprika failed to fetch ticker for DCR-USDT: Get "https://api.binance.com/api/v3/ticker/24hr?symbol=DCRUSDT": dial tcp: lookup api.binance.com: no such host. Retrying in 2s
2024-07-06 10:25:03.334 [ERR] EXT: fetching ticker 3 failed: coinpaprika failed to fetch ticker for DCR-USDT: Get "https://api.binance.com/api/v3/ticker/24hr?symbol=DCRUSDT": dial tcp: lookup api.binance.com: no such host. Retrying in 4s
2024-07-06 10:25:07.335 [INF] EXT: fetching from other exchanges
2024-07-06 10:25:07.619 [INF] EXT: messari is choosen

even though it says messari is chosen initially, it seems more api calls are still being made to try and determine a suitable default, and even after choosing messari, the UI still shows binance

and if one fails, i don't think there is any need to try it 3 times anymore, just move on to checking the next available api

Okay

please  with master, master contains dcrd v2.0 which has an upgraded database, so most devs are unable to test this PR

Done @dmigwi

@vibros68 please rebase with master https://github.com/crypto-power/cryptopower/pull/564#issuecomment-2213709051

@vibros68 please clean code and we can merge

@JustinBeBoy done


Request to Add "IMS Noida" to GitHub Student Developer Pack

I would like to request the addition of "IMS Noida" to the GitHub Student Developer Pack. Our institution provides students with a formal educational program, and many students could benefit from the tools and resources offered in the GitHub Education program. Please review the necessary information and documents attached to help facilitate the verification of our school.
Thank you for considering this request.

@androkingdom First stage of verification passed, official domain for IMS noida is imsnoida.com as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@philipto Thanks for verifing, I will waiting to use jetbrain's stuff :) .Please inform me.

@androkingdom Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


Defining multiple produces field in Feign client...

We have defined below mentioned method signature which is Feign enabled
@RequestMapping(value = "/item/export", produces = {
"text/csv", MediaType.APPLICATION_JSON_VALUE  }, method = RequestMethod.GET, consumes = {
MediaType.APPLICATION_JSON_VALUE })
public ResponseEntity exportItems(@RequestBody RequestDTO request,@RequestParam("query") String query,
@RequestParam("limit") Integer limit, @RequestParam("sort") String sort,
@RequestParam("templateName") String templateName);
We have a test case which extends from AbstractTestNGSpringContextTests, while loading the context below mentioned error is thrown:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'itemConsumerServiceBase': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Method exportItems can only contain at most 1 produces field. Found: [text/csv, application/json]
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:175) ~[spring-beans-4.2.1.RELEASE.jar:4.2.1.RELEASE]
We are using Spring cloud version Brixton.M1.
Please let us know if there is a way to resolve this issue or it is a restriction from Feign.

Can you open this in spring-cloud-netflix? The related code in question
isn't in the Netflix/feign repository. If after that it is something to
address here, no prob.


useragent setting

Added useragent setting to remote image service See #487

Thanks for this! Appreciate it. 💯

Finally catching up with this. Thanks!


Ionic Serve -- Access-Control-Allow-Origin'

Using ionic serve can not call the auto2.0 restful api.
but i can visit the api when using fillder

You need to place an 'Access-Control-Allow-Origin' field in the header of your HTTP response. Webbrowsers have a mechanism to protect against inappropriate API calls in case of XSS.
Not sure what backend framework you're using, but you should check out the appropriate 'cors' middleware. As it will inject the required headers into the response.

@FourLeafClover instead of making changes on your backend I would recommend the solution detailed in this blog http://blog.ionic.io/handling-cors-issues-in-ionic/.

Hello! Thanks for opening an issue with us! As this seems like more of a support question i will urge that you ask this question on our forum. Thanks for using Ionic!


Backlog Candidates tracker meta-issue

(I will shortly submit a PR that implements this feature if accepted and merged. The PR will be hardwired to this issue, so if you want to discuss the proposed feature please do so on the PR, leaving this issue clear to receive only the auto-added comments. Once the PR is merged this preamble paragraph should be deleted).
A comment will get automatically added to this issue whenever an issue is added to the Backlog Candidates milestone. Subscribe here if you want to be notified of these new candidates, so you can review them and upvote any you want to support.

Closing because the associated PR wasn't accepted. See https://github.com/microsoft/vscode/pull/198676#issuecomment-1828642210


An internal CI/CD system compatible with Github actions workflow yaml syntax, action yaml syntax and most action plugins

Internal CI/CD system
I propose to implement an internal CI/CD system that is compatible with Github workflows yaml syntax, action yaml syntax, and most action plugins. And this is in fact not only a CI/CD system, but you can also choose to not check out the code for some events for example, when an issue is posted, you want to reply to them, then you don't need to check out the code. You can just reply to that issue. So the sub-system name is ~bots~actions, if you have a better name than that, please let me know.
Pros

Migrated repositories from Github could easily reuse the actions workflow files
Plugins could be copied from https://github.com/actions or https://gitea.com/actions to your self-hosted Gitea instances or any git service repository address
Transparent for the CI/CD process. You can check out all workflow files and plugin codes you are using.
Bring version management for your CI/CD scripts and plugins
Customize your image. Github's image for ubuntu-latest is very big but Gitea now will use node:16-buster as the default image which is about 150MB and of course you could change it yourself.

Cons

Images are maybe very big for those small devices and have to be changed when you have new dependencies.
Many Gitea users are familiar with Drone/Woodpecker
More feedbacks are welcome

Reference documentation
At the moment, we lack documents, but if you want to know more details about what Github Actions looks like, please visit https://docs.github.com/en/actions.
Names chosen
Different from Github's related sub-system's name, we call the plugins action or actions. One action in fact is a repository with a file named action.yml in the root, the repository is hosted in any git service server which could be gitea.com, your self-hosted Gitea instance, and even github.com. There is a default configuration but we should also support absolute git URL as a plugin repository.
Task summary
There are many things need to do

[x] Secrets management #22142
[x] An event listener and task scheduler #21937
[x] A stable communication protocol between Gitea and runners https://gitea.com/gitea/actions-proto-def
[x] A runner based on docker https://gitea.com/gitea/act_runner
[x] A UI that will show tasks and logs #21937
[x] Some core actions are now in https://gitea.com/actions which currently are mirrors but may be changed if there are incompatible between Github API v3 and Gitea API v1
[x] Support absolute plugin address like uses: https://github.com/peaceiris/actions-hugo@v2 https://gitea.com/gitea/act/pulls/14
[ ] Artifact protocol compatible with Github's, some reports could be displayed in UI directly i.e. Golang standard coverage file #22738
[ ] Service support https://gitea.com/gitea/act/pulls/5
[ ] Cron support #22751
[x] Cache action https://gitea.com/gitea/act_runner/pulls/25
[ ] The default plugin programming language is Javascript/Typescript, but we need to support more programming languages

[ ] Python https://gitea.com/gitea/act_runner/issues/44
[x]  Golang
[ ]  Rust
[ ] PHP
[ ] More

[ ] Check tab in the pull request to list results on the pull request page so that we don't need to go to actions page
[ ] Composite workflow, a workflow file could reference another workflow as a step.

Although we will have an internal CI/CD system Gitea will still be open to integrating external systems and will provide more features to make the integration smooth. The below tasks do not belong to the internal CI/CD system but are very important for integrating the external CI/CD system

[ ] A standard protocol to get tasks and get logs back https://gitea.com/gitea/actions-proto-def

tips about api for ci tools to repot detail message:

lint messages, can show them like code comment (but can marked as wrong by manager)
the stype of data that provide by api

{
    commit: xxxxxxx
    path: "xxxxx/xxxxx",
    line: -1,
    type:  bug/ security/ codesmell/ info,
    detail: xxxxxxx,
   provider: xxxxx,
}

example in gitee

code coverage data like codecov

{
    commit: xxxxxxx
    path: "xxxxx/xxxxx",
    group: golang,    // only data in same group will be calculate together
   provider: xxxxx,
   start_line: xx,
   start_cols: xx,
   end_line: xx,
  end_cols: xx,
  matched: 0 -- not, .>1 -- yes
}

do some calculate and show some usefull data on ui.

detal log in ci steps, should show them in an individual page like gh actions.
then user can design a sample ci tools which not need it's own ui :)
style:

{
    commit: xxxxxxx
    step_name: aaa,
    parent_step_name: bbb,
   previous_step_name: ccc,
    log: xxxxx, or link to log data
   status: pending or runing or success ....
}

Support github actions files and allow external agent to execute the action via Gitea's API and returned result as above results.

Can you clarify what this will entail? Would this mean GitHub Actions could run on a github.com mirror of a repo and the results would appear on a Gitea server?

That means Github actions could be running on Gitea(with this CI feature) servers(actually on user's agent, Gitea will only a coordinator and result saver).
Then mirrors/migrations of repositories from github/github enterprise could run the ci directly and no(or small) modification needed.

see https://docs.github.com/en/rest/reference/checks

see

https://docs.github.com/en/rest/reference/checks
https://docs.github.com/en/rest/reference/code-scanning

Would this be implemented by explicitly checking for a .github directory and sending those repos to the agent automatically on push using something like a global webhook? Because I think it would be great to not limit this to just GitHub Actions, but rather have a "global webhook" for pushes to an agent that can then decide what to do with that push - either using the GitHub Actions definitions, or for example running other CI implementations.

@moqmar Global webhooks have been implemented. The issue is to be compatible with actions for those migrations from github.

I have been working on an external webhook entpoint for github actions self-hosted runners to use with my gitea instance or locally on any pc. This is basically a fork of the runner to be able to reuse their code for a missing aspnetcore server. During my tests I was able to use gitea almost like a ghes instance, some actions like actions/checkout@v2 have had minor incompatibilities with authentication.
I would be glad to see endpoints for CI logs and have an integrated UI. Currently I have a basic react UI to display my logs, added as an external tab to gitea.

@ChristopherHX whoa! That's amazing!!

Regarding the name: I think "bot(s)" is too confusing with "robot(s)" which are automated user accounts. How about naming it "step(s)"? Most of the terminology that relates to "action(s)" would also apply to "step(s)".

Regarding the name: I think "bot(s)" is too confusing with "robot(s)" which are automated user accounts. How about naming it "step(s)"? Most of the terminology that relates to "action(s)" would also apply to "step(s)".

To different from Github Actions, I don't think we should use actions as name. Bots might means automatical but not robot, I'm not English native speaker and maybe there is a better name for it. This is really not only a CI/CD system, you can do more like below yml file.
name: Issue post

on:
  issue_comment:
    types: [created]

jobs:
  comment_created:
    runs-on: ubuntu-latest
    steps:
      - run: env
      - name: Create comment
        uses: peter-evans/create-or-update-comment@v2
        with:
          issue-number: ${{github.event.issue.number}}
          body: |
            This is a multi-line test comment
            - With GitHub **Markdown** :sparkles:
            - Created by [create-or-update-comment][1]

            [1]: https://gitea.com/peter-evans/create-or-update-comment
          reactions: '+1'

... or named Build(s)

I'm not English native speaker and maybe there is a better name for it

It's well established even in non-english languages that bot is a program that impersonates a human.
So we are looking for a word that signifies something being done and that word should ideally double as a noun as well. I'll keep looking. "Build" does qualify but is already occupied in the sense of it meaning to construct software.

I personal think developing this makes no sense. As said in the start post, there are already working CI systems. It would make more sense to integrate e,.g. Woodpecker directly in Gitea instead of wasting a lot of development resources to develop something that already exists.

How about Task(s) or Job(s)? E.g. signifying a unit of work.

I personal think developing this makes no sense. As said in the start post, there are already working CI systems. It would make more sense to integrate e,.g. Woodpecker directly in Gitea instead of wasting a lot of development resources to develop something that already exists.

They are different systems. Gitea could support both.

well before merge we should make sure https://github.com/woodpecker-ci/woodpecker/issues/1385 is ready and gitea do support both equally

As I pointed out, I don't like the feature-creep but as long as it is possible to disable it completely, I won't block this but also wont focus on fix it either ...

What about Auteamate? 😋
Contains tea, a friendly mate and suggests automation

Suggestions of boring and obvious names:

Gitea Automation (looks relatively similar to "GitHub Actions")
Gitea CI (like GitLab CI and countless others)

Suggestions of more "thematic" names:

Gitea Infusion (like in tea infusion)
Gitea Pot

(The first one is probably better for SEO)

Suggestions of boring and obvious names:

Gitea Automation (looks relatively similar to "GitHub Actions")

I would put this one first because the name is easy and stays in mind

Gitea CI (like GitLab CI and countless others)

Boring but just perfect for what it is 😄

Can't we stick to a vocabulary as close as possible to github's when possible? This would allow a faster transition from people coming from github, and ideally easy migrations. Of course, if they do incompatible things we should get a new name. I prefer the "boring" but descriptive terms like "task" compared to fancy unclear terms.
I agree that it would be awesome to have native gitea integration. But if it takes ressources, I agree it would be good to disable it to run it on low-end devices (I still want gitea to run on my raspberry pi).

How about motion which is close to action and short enough.

I just tried it and wrote a note:
https://gist.github.com/xin-u/f459c4805b348595e4981000b75443fe

feature-creep

I don't think it's a feature-creep. The issue has been opened for 2 years and I have announced I'm working on that in discord for many times. And I think a PR should be created when it's basically ready but not from the day 1.
And I think Gitea should create a standard protocol and other external CI/CD tools could implement that to reuse Gitea's UI. Not only woodpecker, but also drone/jenkins and others could also implement the protocols to upload logs and etc. But I think that could be a standalone PR after a solid proposal.

Yes would be nice if ui had some kind of abstraction to allow implement other runners inside gitea (something ui wise I started once but had no time to finish)

Yes would be nice if ui had some kind of abstraction to allow implement other runners inside gitea (something ui wise I started once but had no time to finish)
https://github.com/go-gitea/gitea/compare/main...lafriks-fork:gitea:feat/gitea_builds?expand=1
This way you would not have to enable it specifically, you would have to just add global/org/user/repo runners and use them

Looks like in your design, every runner type has his protocol and Gitea will implement different protocol for different runners?

For the name, I think we can have vote.
We have several choices here(sorry this is not the whole suggested because I think we haven't so many emojis :))

🚀 Actions
💯 Automate
❤ Motions
👍 Bots
🎉 Auteamate
😄 Builds

Yes would be nice if ui had some kind of abstraction to allow implement other runners inside gitea (something ui wise I started once but had no time to finish)
https://github.com/go-gitea/gitea/compare/main...lafriks-fork:gitea:feat/gitea_builds?expand=1
This way you would not have to enable it specifically, you would have to just add global/org/user/repo runners and use them

Looks like in your design, every runner type has his protocol and Gitea will implement different protocol for different runners?

yes but with common interface that needs to be implemented (like we have for webhooks)

Is there only going to be one docker runner? Docker isn't the best in all setups, so I think we must have a "bare metal" runner which works without docker.

If I can give maybe another application of bare runners proposed by @BySempron, it would be for Nix (actually a gitea-native Nix runner would be also really cool… and maybe even simpler to implement as compiling in nix is just a matter of typing nix build path-of-repo#name-program). This makes sense when compiling softwares "packaged" using Nix as Nix already provides a sandbox restricting the scope of the building process. And it also gives for free some sort of cache sharing among build (like if my first software packages a package A, and my second software uses A, when the CI builds A, it will be automatically be available when compiling software B without any need of recompiling software A).

fyi "Actions" already refers to a Gitea UI and thus to name the worker scripts "actions" can raise some ambiguity if someone refers to them.

Name-wise, what about Teapots, Pots, or Kettles? (You know, because teapot/tea kettle?)
I also like "Sips" which was suggested on the Discord.

@BySempron The fork of gitea I saw didn't include my PR for a native execution environment nektos/act#1293. I hope that this change will be pulled and made available.

I think we can pull upstream code again in https://gitea.com/gitea/act and maybe you can help to send more PRs to these repositories.

Pots

Ah, right. I think we have to change the menu name if Actions win.

👍 Sips
❤ Pots

@lunny Suggestion to the above list:

:tada: Brews

(It works both as a noun and as a verb, so you could have a [Brew] button)

@lunny Suggestion to add to the above list:

🎉 Brews

(It works both as a noun and as a verb, so you could have a [Brew] button)

Excuse me, don't do that, please! 😂 I'm a user of homebrew, and typing brew install ... brew upgrade ... everyday.

@kmk3 Excuse me, don't do that, please! joy I'm a user of
homebrew, and typing brew install ... brew upgrade ...
everyday.

Ah yes, maybe the CLI usage could be different then, like tea brew, gtb or
something (in which case the binary name for "Gitea Actions" could be rather
amusing).
Though would there even be a dedicated binary for this?

I think naming should be kept in UI as generic as possible to be able to integrate under that other CI information under it so imho Workflows would be generic enough not to hint to any exact product but be recognizable enough. CI/CD tool that is being developed as one of integration can be named than in some more specific name.

I believe Actions is the final result. I know it's not perfect, but it's probably good enough for now.

Just rename the existing button to Manage (or whatever) and use Actions for this.

Wanted to say, as someone who uses a ton of Drone, it's going to be amazing to migrate to this new system and standardize on the Github actions format instead. Really looking forward to this.

As mentioned before, I'd really like to see different runners than only ones based on docker.  There is a reason that the whole red hat influenced world moved away from docker.
But more importantly, I'd like to have a runner that runs the containers in a Kubernetes cluster.  Will it be possible to use a different runner or is there tight integration?  Is there some preliminary documentation besides the source on the api contract between gitea and the actions runner?

As mentioned before, I'd really like to see different runners than only ones based on docker. There is a reason that the whole red hat influenced world moved away from docker.
But more importantly, I'd like to have a runner that runs the containers in a Kubernetes cluster. Will it be possible to use a different runner or is there tight integration? Is there some preliminary documentation besides the source on the api contract between gitea and the actions runner?

The protocol repository is https://gitea.com/gitea/actions-proto-def. I think we can have more runners in future, but let's have one at first. A runner based on act should be the easiest way to make one.

Cache action

I guess support for that would require to address https://github.com/nektos/act/issues/989#issuecomment-1156768547, which would be a great step towards running actions that leverage caches locally.

Great Job,
I feel most of the people using Gitea over Gitlab and Github enterprise use it because it does not need Linux/WSL/docker stuff.
Then I think  actions runner being native is crucial for real cross platform support.

I don't have the numbers, but why would anyone run Gitea on Windows instead of a server OS like Linux? I know it can run on Windows, but especially if you allow outside access you don't want a Windows machine connected to the "evil" internet.

There's software you can only build on windows, like tauri (at least for now). I have worked on a project where you could only deploy the software by pushing it to a server in the client's internal network and the vpn they were using was only available on Windows. With a Windows runner it's possible to build pipelines for these use cases which otherwise would be not possible.

Ah, Windows native runners and not "Gitea on Windows"; didn't think about that ;)
Carry on!

but why would anyone run Gitea on Windows instead of a server OS like Linux?

Guess you've never heard about Windows Server then and probably also don't know how much easier it is to find administrators who know what they're doing.

Great Job, I feel most of the people using Gitea over Gitlab and Github enterprise use it because it does not need Linux/WSL/docker stuff. Then I think actions runner being native is crucial for real cross platform support.

I don't have the numbers, but why would anyone run Gitea on Windows instead of a server OS like Linux? I know it can run on Windows, but especially if you allow outside access you don't want a Windows machine connected to the "evil" internet.
Then again, I can understand the need for native runners for those who haven't containerized their services yet.

Linux servers are more popular over Windows server on the internet but there are many Enterprise Environments  that reply on Active Directory stuff and and use Windows Servers, By the way my purpose was that among Gitea/Github/Gitlab, The Gitea is the only one support Deploying to Windows Servers. so all individuals or companies  who stick with windows have no option but Gitea.

@ChristopherHX those are very good points. To confirm, your suggestion is to treat anything that doesn't start with http/s as relative plugin to the default action url, but if it starts with http/s then use absolute? As I think that is a very reasonable suggestion.

Will Gitea CI support buildpacks? https://buildpacks.io/
Cloud Native Buildpacks
transform your application source code into images that can run on any cloud.

Why was not used the protocol between gitlab and there runner? this runner could be runned everywhere and start jobs in virtualbox, shell, kubernetes, docker ....

Why was not used the protocol between gitlab and there runner? this runner could be runned everywhere and start jobs in virtualbox, shell, kubernetes, docker ....

GitLab runners are designed for .gitlab-ci.yml, however, what Gitea wants is Actions.

But for Actions does not exists an good runner, with service, running in kubernetes and so on.
Why has gitea the same API then github?

Oh, I see. Yes, you're probably right about that. The color code validator shouldn't be needed anywhere else. I'll move it.

Why was not used the protocol between gitlab and there runner? this runner could be runned everywhere and start jobs in virtualbox, shell, kubernetes, docker ....

I think we can discuss the possibility of whether we can support that protocol and GitLab runners.

but you still need build it yourself to test it?

For a mirror repository, Will it be possible to use different action instead of the one in the original repository?
For example, lets say the github action in https://github.com/go-gitea/gitea compiles gitea when a new tag is created with TAGS="bindata sqlite sqlite_unlock_notify" make build.
I set up a mirror repository at https://git.mydomain.com/me/gitea and in my gitea action, I would like to it to compile without sqlite support, TAGS="bindata" make build.
For this to work, the config cannot be inside .github or .gitea folder as that will cause conflict with original repository. Instead, we can have in a custom branch called .gitea-actions-branch which only contains the yaml config file for 'gitea action'.

For this to work, the config cannot be inside .github or .gitea folder as that will cause conflict with original repository. Instead, we can have in a custom branch called .gitea-actions-branch which only contains the yaml config file for 'gitea action'.

I think it would be nice to be able to select which folder to use for Gitea Actions via a global and project level flag, with the project level flag taking priority.
That way Gitea Actions can ignore the .github folder in favor of the .gitea folder.

You can't modify files in mirrored repository.

For this to work, the config cannot be inside .github or .gitea folder as that will cause conflict with original repository. Instead, we can have in a custom branch called .gitea-actions-branch which only contains the yaml config file for 'gitea action'.

It will be better to have a event hook that will trigger actions in another repository, so mirror would trigger a hook, that hook triggers an actions run in another repository which will allow you to specify whatever you want.

Gitea 1.19.0 was released with the initial actions implementation, but I do not see any mention of it at https://docs.gitea.io/. So maybe a new task should be added to the checklist in the issue description?

Document Gitea actions setup and configuration

It is also well noted we will also need to add Helm chart for act

For this to work, the config cannot be inside .github or .gitea folder as that will cause conflict with original repository. Instead, we can have in a custom branch called .gitea-actions-branch which only contains the yaml config file for 'gitea action'.

Being able to store the configuration in a custom branch would help a lot for adding automation to open source projects that don't want to have specific CI files added to the core repo. The linux kernel for instance.

For this to work, the config cannot be inside .github or .gitea folder as that will cause conflict with original repository. Instead, we can have in a custom branch called .gitea-actions-branch which only contains the yaml config file for 'gitea action'.

Being able to store the configuration in a custom branch would help a lot for adding automation to open source projects that don't want to have specific CI files added to the core repo. The linux kernel for instance.

Maybe we can have some options:

.github/workflows or .gitea/workflows
<repo_name>.actions.git like <repo_name>.wiki.git
A setting of the repository to store multiple workflow files.
A global workflows feature, which you can create a workflow to includes files and repositories.

Yup now I've been exploring more, I can see a separated repo for the workflows could be a very helpful way of doing this too. Then multiple repos (mirrors, forks, or separate repos for separate developers) can point to common workflow actions.

Maybe after artifact upload is done, basic code intelligence (not as powerful as SourceGraph, but just goto definitions/references + browse file symbols) could be implemented. After finishing builds/tests the action might do something like rust-analyzer lsif . and upload it as a special artifact Gitea will build navigation from. This approach gives the most detailed code navigation, just as in IDE using the same language server as used to generate LSIF. See https://lsif.dev/ for more details regarding the format.
Didn't open a new issue because of dependency on artifacts

Are there any docs on built-in actions in 1.19.0? Even just a quick bullet point here in this thread? 🙏

Answering my own question, getting this up and running with Gitea v1.19.0 (from upstream Docker images) was pretty straight forward:

Add the following to your app.ini config (since if you're running an older version, it won't be there by default and disable by default?):

[actions]
ENABLED = true

Restart Gitea
Go to Site Administration -> Runners
Create new Runner and Copy the token
Setup and register a Runner

$ git clone https://gitea.com/gitea/act_runner.git
$ cd act_runner
$ make build
$ ./act_runner register
# follow the instructions
$ ./act_runner daemon

That's it! 🥳 Now just add workflows in .gitea/workflows/build.yml which use the same syntax as Github actions? (I guess so since the runner being used is the act_runner).

Happy to continue beta testing this (I also run an older Drone CI setup too!) and provide feedback.
One thing that springs to mind (which I'm hoping one of the developers can answer):

How do I set-up Gitea + actions in a way where I can spawn runners on demand? (like Github does)

Basically, instead of having a static pool of runners (however I choose to run them), it would be nice to have a webhook (globally) that I can listen on and spawn a new runner on demand (say in a virtual machine or similar). Thanks! 🙏

I think it's just:
[actions]
ENABLED = true

https://docs.gitea.io/en-us/config-cheat-sheet/#actions-actions

No, the cheatsheet is still true.
You simply misunderstood something here: the key DEFAULT_REPO_UNITS/DEFAULT_FORK_REPO_UNITS [repository] used the key actions instead of repo.actions.
The section to enable actions is [[actions]]https://docs.gitea.io/en-us/config-cheat-sheet/#actions-actions).

All units configuration should use repo.actions, but the ini section is [actions].

How do I set-up Gitea + actions in a way where I can spawn runners on demand? (like Github does)

This would be nice! I've been tinkering with using it to deploy/restart my docker services. Would be nice if it could just do dynamic generation / access from outside for runner tokens. That way the container is more ephemeral.
Also its probably been said before, but an environment variable for enabling actions would be nice, instead of having to update app.ini.

I have setup the runner and everything and I have a docker build command to run in my action. Unfortunately I get /var/run/act/workflow/1: line 2: docker: command not found. Anyone knows the best way to enable docker inside the runner?

You need to install it or use a docker image runner that has it installed

Another missing part of Gitea's implementation of Github Actions is workflow commands in general, but most critically the add-mask command. My logs are riddled with secrets that anyone can see and steal.

Another missing part of Gitea's implementation of Github Actions is workflow commands in general, but most critically the add-mask command. My logs are riddled with secrets that anyone can see and steal.

Wait?! Why are you logging secrets in the first place? 🤔

Another missing part of Gitea's implementation of Github Actions is workflow commands in general, but most critically the add-mask command. My logs are riddled with secrets that anyone can see and steal.

I can confirm this. I use the 1password action to retrieve passwords. They are logged in all their beauty. Their code says add-mask though.

Wait?! Why are you logging secrets in the first place?

There are Programs who print API Keys for debug reasons with no Way to disable it. It also possible, that this may be leaked in a error message when something crashes, so it's generally a good Idea to mask this, just in case.

Yup now I've been exploring more, I can see a separated repo for the workflows could be a very helpful way of doing this too. Then multiple repos (mirrors, forks, or separate repos for separate developers) can point to common workflow actions.

FWIW - Today I discovered gitlab can do this and it's all documented here:

https://docs.gitlab.com/ee/ci/pipelines/settings.html#specify-a-custom-cicd-configuration-file
https://gitlab.com/gitlab-org/gitlab/-/issues/14376

Wait?! Why are you logging secrets in the first place?

There are Programs who print API Keys for debug reasons with no Way to disable it. It also possible, that this may be leaked in a error message when something crashes, so it's generally a good Idea to mask this, just in case.

Those programs should be loaded up on a rocket and shot into sun! 😆 talk about security law practice 🤦♂

I wonder how much more we want to abuse this one issue?
As far as I'm concerned the basic functionality exists, and the remains should be extracted into separate issues.
I don't think it's good that this issue is still open despite the main functionality being implemented already.
Issues should focus on one specific thing, otherwise they'll be pretty much never closed.


No recognized create_edge_collection attribute for Graph object

Only a slight variation of the example provided in the documentation at:   http://python-driver-for-arangodb.readthedocs.io/en/latest/graph.html#edge-collections
from arango import ArangoClient

client = ArangoClient(host="localhost", port=8529)
db = client.db('_system')
db.create_graph('schedule')
schedule = db.graph('schedule')

# Create some vertex collections
schedule.create_vertex_collection('profs')
schedule.create_vertex_collection('courses')

# Create a new edge definition (and a new edge collection)
schedule.create_edge_collection(
    name='teaches',
    from_collections=['profs'],
    to_collections=['courses']
)

Error returned:
Traceback (most recent call last):
  File "./test.py", line 15, in <module>
    schedule.create_edge_collection(
  File "/usr/lib/python3.5/site-packages/arango/api.py", line 13, in __getattribute__
    method = object.__getattribute__(self, attr)
AttributeError: 'Graph' object has no attribute 'create_edge_collection'

Versions:  Python3, python-arango v3.0

Hi sLLiK,
Oops, it's supposed to be create_edge_definition.
I will make the correction in the documentation.
Thanks,
Joohwan

I've corrected the mistake and updated the link to the documentation:
http://python-driver-for-arangodb.readthedocs.io/en/master/
Thanks!


[Snyk] Security upgrade @ckeditor/ckeditor5-ckfinder from 16.0.0 to 26.0.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

479/1000  Why? Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS) SNYK-JS-CKEDITORCKEDITOR5ENGINE-1243740
Yes
No Known Exploit

479/1000  Why? Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS) SNYK-JS-CKEDITORCKEDITOR5IMAGE-1243742
Yes
No Known Exploit

479/1000  Why? Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS) SNYK-JS-CKEDITORCKEDITOR5WIDGET-1243747
Yes
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

PR


Verify that file cleanup is working properly

File cleanup should delete files that are not being used
Ensure that an orphaned file is deleted

I do believe that it is.


Upgrade Truth 1.4.3 -> 1.4.4

This PR contains the following updates:

Package
Type
Update
Change

Truth
compile
patch
1.4.3 -> 1.4.4

Release Notes

google/truth (Truth)
v1.4.4
Compare Source

Annotated the rest of the main package for nullness, and moved the @NullMarked annotation from individual classes up to the package to avoid a warning under --release 8. (e107aea)
Improved the failure message for matches to conditionally suggest using containsMatch. (7e9fc7a)

[ ] If you want to rebase/retry this PR, check this box

Suggested commit message:
Upgrade Truth 1.4.3 -> 1.4.4

See:
- https://github.com/google/truth/releases/tag/v1.4.4
- https://github.com/google/truth/compare/v1.4.3...v1.4.4


Segmentation Masks

Hi,
For COCO training, gt_masks (segmentation maps) that are in COCO annotation files are kept for the training pipeline, as in the figure below.
BHRL/configs/coco/split3/BHRL.py

But, there is no segmentation information for the VOC dataset, and segmentation masks are not kept in the VOC training pipeline. For the COCO training, is there another branch for segmentation at the RCNN block? How are the segmentation maps used for the COCO training?
I would be glad if you help me with these.

The mask is not used.


Proxy support (SOCKS5 or something else, dont care)

I suggest adding support for proxies, such as SOCKS5 and others

Proxy support already exist.

Proxy support already exist.

Thanks, but how to use it? There's nothing in the documentation @NannoSilver

from pytubefix import YouTube

proxy = {
    "http": "socks5://user:pass@host:port",
    "https": "socks5://user:pass@host:port"
    }

url = "url"

yt = YouTube(url, proxies=proxy)
ys = yt.streams.get_highest_resolution()
ys.download()

just plug in your values and use


Drag edge of plot to resize plot dimensions (and automatically rescale columns)

Similar to resizing, e.g., a browser window

This recently came up on the forum.