Change $ to % in install.rst

Currently, the website example instructions in website/install.rst inconsistently switch between using $ and % as the example shell prompt symbol. % is more standard, so the $ should be converted to %.
This task requires some basic familiarity with reStructuredText and sphinx but the concepts are easy to pick up from other examples. See Building the Website for how to test the formatting.

Resolved by #1570.


glvis and mingw(msys2)

I try to make glvis mingw64 packages but I have this error:
==> Starting build()...
-- Looking for mfem ...
CMake Error at C:/msys64/mingw64/lib/cmake/mfem/MFEMConfig.cmake:76 (message):
  File or directory /include referenced by variable MFEM_INCLUDE_DIR does not
  exist !
Call Stack (most recent call first):
  C:/msys64/mingw64/lib/cmake/mfem/MFEMConfig.cmake:94 (set_and_check)
  CMakeLists.txt:33 (find_package)

-- Configuring incomplete, errors occurred!
See also "C:/msys64/usr/local/pkg_glvis/src/build-MINGW64/CMakeFiles/CMakeOutput.log".

Since I compiled MFEM by myself, I cannot tell if there's something wrong with the MSYS2 package installation. Compiling GLVis here works flawlessly.
@3rav Have you made sure that the MFEM files are actually present after package installation? Have you made sure to cleanup old traces of manual installation before trying the package install?
cd /
find . -iname "*mfem*"

The problem seems to be line 92 in MFEMConfig.cmake:
set(MFEM_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include;${_IMPORT_PREFIX}/include")

This gets generated during the MFEM cmake build and when building manually, this gets set the to a single, absolute path. If you add a debug notice to the foreach loop in MFEMConfig.cmake
set(MFEM_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include;${_IMPORT_PREFIX}/include")
foreach (dir ${MFEM_INCLUDE_DIRS})
  message(NOTICE "current MFEM_INCLUDE_DIR = ${MFEM_INCLUDE_DIR}, check dir = ${dir}")
  set_and_check(MFEM_INCLUDE_DIR "${dir}")
endforeach (dir "${MFEM_INCLUDE_DIRS}")

and run
cmake .. -G "MinGW Makefiles"

you'll find that the path for ${_IMPORT_PREFIX}/include is invalid and obviously the set_and_check macro will fail. Removing ${_IMPORT_PREFIX}/include from the MFEM_INCLUDE_DIRS will at least get you going. I'm not sute what's the best way to proceed here, but I still think the fix should be on the MSYS2 package build side.

Thanks for your help @wo80 !

After modifying the MFEMConfig.cmake file, I have this response:
==> Starting build()...
-- Looking for mfem ...
current MFEM_INCLUDE_DIR = , check dir = C:/msys64/mingw64/include
current MFEM_INCLUDE_DIR = C:/msys64/mingw64/include, check dir = /include
CMake Error at C:/msys64/mingw64/lib/cmake/mfem/MFEMConfig.cmake:76 (message):
  File or directory /include referenced by variable MFEM_INCLUDE_DIR does not
  exist !
Call Stack (most recent call first):
  C:/msys64/mingw64/lib/cmake/mfem/MFEMConfig.cmake:95 (set_and_check)
  CMakeLists.txt:36 (find_package)

-- Configuring incomplete, errors occurred!
See also "C:/msys64/usr/local/pkg_glvis/src/build-MINGW64/CMakeFiles/CMakeOutput.log".
==> ERROR: A failure occurred in build().
    Aborting...

@3rav That's exactly what I get. So, what does it tell us? You could re-read my previous post carefully, but I'll try to explain again: it tells us, that in the first loop MFEM_INCLUDE_DIR gets set to C:/msys64/mingw64/include, which depends on your MSYS2 installation, but should be correct. In the second loop it checks for /include, which doesn't exist - and so the whole process breaks down.
Now, I don't know why the second directory is included in the MFEM_INCLUDE_DIRS variable - I have exactly zero experience with MSYS2 package creation, but the MFEMConfig.cmake is part of that package, so - again - I think you should look for a solution there.

@tzanio @3rav This might be a problem, that can/should be fixed in the MFEM CMakeLists.txt. You should read up on CMake _IMPORT_PREFIX - for example https://stackoverflow.com/a/56189945. Quote: There can be troubles getting this to work.
I currently don't have the time to investigate further.

See also
https://github.com/mfem/mfem/issues/2913
https://github.com/msys2/MINGW-packages/pull/11082

@kanye-quest, can you help with this?

We now provide a pre-built Windows binary, see https://glvis.org, https://glvis.org/download or https://github.com/GLVis/glvis/blob/master/README.md


Feedback

A better way to present the tabular information seems to be to integrate the AppSource and Marketplace tables into one. It would save a lot of scrolling up and down as the reader tries to compare the two offerings on the same parameter.

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

ID: 21f44c21-34d2-cf45-3ec2-dfd799a7d440
Version Independent ID: 37223818-7bd1-f9c9-e791-a127f4322c65
Content: Comparing AppSource and the Azure Marketplace
Content Source: articles/marketplace/comparing-appsource-azure-marketplace.md
Service: marketplace
GitHub Login: @jm-aditi-ms
Microsoft Alias: ellacroi

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

@qianw211  please also take a look at this feedback and make a change

ok, I'll look into this! Thanks! @ellacroi @iyerss

@ellacroi @iyerss new pr entered for merging the two tables into one comparison table!

#please-close this was dealt with in a separate pr


Avoid Error in owncloud log due to undefined index when calling OCP\Config::getAppValue

Not sure about this, but I think the missing third argument is causing an error in my owncloud log.

Thanks for your pr. Can you please squash your commits? Should work via git rebase -i HEAD~2 and git push -f.

I just set up a new owncloud 8.2 environment and checked the log. Without the app, I don't get the error.
When I enable the piwik app I get the error mentioned above (Undefined index: defaultValue at /www/htdocs/xxxxxxx/owncloud.domain.de/core/ajax/appconfig.php#47). So I added the third argument to the function getAppValue in line 15 of your app.php.
Thought this error would be solved by adding the third argument, but unfortunately it is not.
Any suggestions?


scip set time limit

WARNING: LP solver reached time limit, but SCIP time limit is not exceeded yet; you might consider switching the clock type of SCIP. How can I solve it?

solver specific parameter as string.


Support for Classes on All Tag Types

Can we add classes to tags other than Heading? I couldn't find a solution for this. It might be useful to do so in cases like adding dir=auto to the classes of Tag::Paragraph or Tag::List. I might be missing a better approach.
Currently, I am achieving this for Tag::Heading using the following code:
let parser = Parser::new_ext(markdown_input, options).map(|event| match event {
    Event::Start(mut tag) => {
        if let Tag::Heading { classes, .. } = &mut tag {
            classes.push("dir=auto".into());
        }
        Event::Start(tag)
    }
    _ => event,
});

Can we do this in other ways that I might not be aware of, which might be applicable to Tag::Paragraph and others too?

I think their implementation goes a bit too far, but something like this would be ideal for all some elements. My use case (currently achieved by a pretty nasty custom iterator) is for adding data attributes like [foo](https://my-link){: data-baz='bar' }


DEVOPS-2216 make argocd internal

We are using kubectl port-forward to access ArgoCD within CircleCI, so we shouldn't need to make ArgoCD internet-facing.

I did it again, so sorry


Your connection is not secure

I just created a wordpress site with v3, enabled ssl anf got this error:
Your connection is not secure
The website tried to negotiate an inadequate level of security.
SITE-URL-HERE uses security technology that is outdated and vulnerable to attack. An attacker could easily reveal information which you thought to be safe. The website administrator will need to fix the server first before you can visit the site.
Error code: NS_ERROR_NET_INADEQUATE_SECURITY
System Information

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.1 LTS
Release:	18.04
Codename:	bionic

OS:	Linux 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64
Shell:	/bin/bash
PHP binary:	/usr/bin/php5.6
PHP version:	5.6.38-2+ubuntu18.04.1+deb.sury.org+1
php.ini used:	/etc/php/5.6/cli/php.ini
WP-CLI root dir:	phar://wp-cli.phar
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	/root
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version:	1.5.1

Thanks!

Closing this issue as it seems v3 specific. If the issue is still not solved, you can ask for support in our community forum - https://community.easyengine.io/


Feature request: add support for aws lambda functions / google functions

add support for aws lambda functions or google functions or MS functions for chromium or firefox ,and native drivers using go instead node (versions which is downloaded each time when executing the function so it will consume more resources and time).

Closing in favour of https://github.com/microsoft/playwright/issues/2404

Heads up that the Playwright team recently closed the referenced issue above "to manage expectations."
For the record, I've been able to successfully run Playwright for Go in Lambda via an Amazon Linux 2 container image. I can provide more details here if that'd be helpful to you, @annymosse.

@noperator thank you, This will be useful for me and others.


upd link to CUB datase

Have that link worked for you, @DaloroAT ?

Link is working, but we need to check converter and validation on the data

I've checked that converter works on data downloaded from this link. It worked.


Update embulk-util-timestamp to 0.2.1

embulk-util-timestamp:0.2.0 had a problem in formatting time zones with "%Z".
It actually has no problems with embulk-filter-expand_json because this plugin
only does parsing, not formatting. Just to be up-to-date.

@civitaspo Can you have a look when you have some time?

Shipped https://github.com/civitaspo/embulk-filter-expand_json/releases/tag/v0.5.2


HttpGetSchemaMiddleware to expose cache indicator

Is your feature request related to a problem? Please describe.
To optimize tooling using the schema endpoint, it'd be cool to have it return some cache indication.
Describe the solution you'd like

ETag support.
Support for HEAD request too.

Describe alternatives you've considered
Currently we implement this by injecting a middleware before the standard one. Will add as a comment below.
Note: We have a workaround that's fine for now. There's no rush on this, but it might make sense to be completed next time the asp.net core middleware is revisited, which Michael has mentioned will be fairly soon.

using System;
using System.Threading.Tasks;
using AutoGuru.GraphQL.Types;
using HotChocolate.AspNetCore;
using HotChocolate.Execution;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Caching.Memory;
using HttpMethods = Microsoft.AspNetCore.Http.HttpMethods;

namespace AutoGuru.GraphQL.Middleware
{
    /// <summary>
    /// This middleware adds our checksum of the schema string as a header to a
    /// schema request response. Essentially so that our FE tooling/ci/etc
    /// doesn't need to re-query it as much on every app/build/etc startup.
    /// </summary>
    public sealed class HttpGetSchemaAddHashHeaderMiddleware
    {
        private readonly PathString _path;
        private readonly IQueryExecutor _queryExecutor;
        private readonly IMemoryCache _memoryCache;
        private readonly ChecksumQueryTypeExtension _checksumQueryTypeExtension;

        public HttpGetSchemaAddHashHeaderMiddleware(
            RequestDelegate next,
            IHttpGetSchemaMiddlewareOptions options,
            IQueryExecutor queryExecutor,
            IMemoryCache memoryCache)
        {
            Next = next;
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _queryExecutor = queryExecutor ?? throw new ArgumentNullException(nameof(queryExecutor));
            _memoryCache = memoryCache ?? throw new ArgumentNullException(nameof(memoryCache)); ;
            _path = options.Path;
            _checksumQueryTypeExtension = new ChecksumQueryTypeExtension();
        }

        internal RequestDelegate Next { get; }

        public async Task InvokeAsync(HttpContext context)
        {
            if (HttpMethods.IsGet(context.Request.Method) &&
                context.IsValidPath(_path))
            {
                var hash = _checksumQueryTypeExtension.GetChecksum(_queryExecutor.Schema, _memoryCache).Value;
                context.Response.Headers.Add("Ag-Checksum", new[] { hash });
            }

            await Next.Invoke(context);
        }
    }

    public static class HttpGetSchemaAddHashHeaderBuilderExtensions
    {
        public static IApplicationBuilder UseGraphQLHttpGetSchemaAddHashHeader(
            this IApplicationBuilder applicationBuilder,
            IHttpGetSchemaMiddlewareOptions options)
        {
            if (applicationBuilder == null)
            {
                throw new ArgumentNullException(nameof(applicationBuilder));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            return applicationBuilder
                .UseMiddleware<HttpGetSchemaAddHashHeaderMiddleware>(options);
        }
    }
}

After consideration (see comments on PR) going to close this as this could be achieved by the server using a more standard middleware like Mads' does here and doesn't need to be a concern of HotChocolate.

After consideration (see comments on PR) going to close this as this could be achieved by the server using a more standard middleware like Mads' does here and doesn't need to be a concern of HotChocolate.


Removed toilets don't disappear instantly

Problem
When removing a toilet, it doesn't disappear straight away.
Reproducing

Be authenticated
Remove a toilet
You are returned to the home screen, with the toilet you just removed still centered and selected

This has been soft fixed by #529 because we no longer redirect to the index router after removing.
A more detailed look at Apollo cacheing would inform a more robust fix in the future but for now this can be closed.


Should serdes functionality be exported to JS?

Instead of implicitly calling the serdes functions via produce and consume, we can explicitly call them from JS and have the user control over them. This way, we can have a more flexible serializer/deserializer system, and we don't need to worry about API changes and backward compatibility. Also, we won't have to decide when to use the serializer/deserializer based on the schema and given parameters.

@mostafa I like that idea. So, for example, instead of the consume method taking a keySchema and valueSchema, it would take optional key and value serializers. We could have a serde interface like:
type SerdeInterface interface {
	serialize(model interface{}) []byte
	deserialize(data []byte) interface{}
}

and consume method:
func (k *Kafka) Consume(reader *kafkago.Reader, limit int64,
	keySerializer SerdeInterface, valueSerializer SerdeInterface) ([]map[string]interface{}, *Xk6KafkaError)

We may not need the ConsumeWithConfiguration anymore since most of the configuration would be passed to the SerdeInterface implementation.
Is this what you were thinking? If so, I could take a shot at it. Let me know.

@enamrik
I was thinking along the same lines as what you mentioned. However, I want to pass values directly from JS to Go in functions as JSON. So, I'll move all the function parameters into one or many JSON object(s), which is what I did with SASL and TLS configs in #86. I also created #89 to talk about the future API changes. Feel free to add your suggestions there and then link to this PR.


Migrate CompletedListFragment to Kotlin

Java -> Kotlin pls, thank you 😇

Pls assign this issue @ken1000minus7

@aakash232 Sure, good luck ! 😄

@ken1000minus7 Pls review the PR#59.
First contribution to this repo. Do let me know if any changes needed and pls guide me for the same.


Stable driver  PL-2303?

Hi,
I am sorry for posting this as an issue, however I did not really know what else to do.
I am the owner of a 2001 Veyboard, a chord keyboard.  Therefore, I have bought a serial USB conversion cable from Swedish Clas Ohlson. It uses a (real?) PL-2303 RA chip and includes a driver DVD. I have tried the driver DVD as well as the latest driver from Prolific's website. It is not very stable. I believe this is a driver issue, as I tried the cable and Veyboard on a 32-bit Windows 7 computer which automatically installed the <IP_ADDRESS> version driver which woked quite well, actually. But I have not been able to find this driver for 64-bit.
However, I found this Github repo and I am not really sure what this is. But, if you have any stable driver for PL-2303 that I can try, please let me know. ;)
(for Windows 10 OR Windows 7 64-bit)
Kind regards,
Noah

No problems. First, the SerialPortStream is a library for .NET that works on Windows and Linux, but it is  not a driver. It's just an abstraction and cannot help you with your problem.
My experience with Prolific isn't the best on Windows - it's better on Linux (the in built drivers). Try the prolific site direct and install the driver from there http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41 if it helps.
If you want better software compatibility and reliability overall, I use FTDI converters.


Update s3, sdk-core, sqs to 2.16.5

Updates

software.amazon.awssdk:s3
software.amazon.awssdk:sdk-core
software.amazon.awssdk:sqs

from 2.15.82 to 2.16.5.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, semver-minor

Superseded by #91.


I can Translate Japanese to English

I am a Translator of Japanese to English, I do not code and all I focus on is Translation.
If you want, I can contribute my Translations here as I am doing a Let's Translate series on Tomato Adventure, among others, on YouTube.
If you are interested in this and want me to Translate, I require credits to my YouTube Channel for more exposure :D
You can find my YouTube channel in my profile.

Certainly any translator deserves credit - it's the main part of the work.
If it's just making sure to link to a YouTube channel in documentation, release announcements, etc. that'd be no problem at all.  I'm no marketing genius, though.  Is that along the lines of what you were thinking?
I do want to note that I've been in contact with someone who has translated most of the script.  They have not translated all the battle event and menu text, though.  I also haven't seen the translated script yet - they've wanted to do some editing.
Would you be interested in helping with in-battle messages and things like item and Gimmick descriptions?  I think we'd want to also make sure everyone's translation styles are compatible too.
-[Unknown]

Sure, I would enjoy a link to my Channel, release announcements, etc.
I can translate what you mentioned, and I will try to match the styles, but you are also free to edit it yourself too.
However, my translation on my Channel will likely be a bit different, I do not censor my work in any capacity, I am not sure if you do.

Thanks.  I'm still waiting to hear back from the person who said that had a completed script.  I don't know all their style preferences yet.
My personal position on styles is just that I want it to make sense.  If it's a joke, I want it to be funny.  That said, my Japanese is not at all strong and I don't mean to assert myself too much.  I'll likely just be editing.
To use examples from American English as reverse examples:

"a snail's pace" to mean slow, while possibly not a common phase everywhere, objectively makes sense as long as you know what a snail is.  So personally, I'd keep a phrase like that as-is.

"my ears are burning" to mean someone is talking about you, objectively makes no sense: "my ears are red" or "my ears are on fire" or "my ears are hurting" would all be confusing to someone who doesn't know about this idiom.  It's similar to sneezing when someone talks about you in Japanese culture.  So personally, I might consider changing something like this.

The most challenging are plays on words.  Personally, I dislike it when the context is changed entirely to preserve the joke (i.e. "I named my dog Elie because she's as big as a certain other animal" -> "Woah, did you see that bird?  It was huge, I'm gonna call that type of birds Phant.")  But jokes can be very challenging in general.

As far as censorship, that's probably not a big deal for this game either way.
-[Unknown]

You can see my work in progress here:
https://github.com/MiYakuGaming/tomatotrans/blob/patch-1/ta_battle_jpn.txt
I see what you mean regarding edits, I do that a lot, but I do not soften the meaning at all.

Sorry for not responding, but this is great so far - thank you.  I should do more to give context on these - was following the original format of the files, but it's probably difficult with limited context.
-[Unknown]

Will reference some of what you worked on in editing.  Please see this branch for work in progress:
https://github.com/unknownbrackets/tomatotrans/tree/demille
-[Unknown]

I have not given up on this, I was originally working on the translations until my YouTube Channel exploded in popularity, once I am done with a certain game I am coming to this.


Housekeeping

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@dac0587). Click here to learn what that means.
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff            @@
##             master       #3   +/-   ##
=========================================
  Coverage          ?   92.63%
  Complexity        ?       73
=========================================
  Files             ?       13
  Lines             ?      190
  Branches          ?        0
=========================================
  Hits              ?      176
  Misses            ?       14
  Partials          ?        0

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


dashboard: support LKML patches in #syz test

(*) Related discussion<EMAIL_ADDRESS>At the moment, #syz test can be run either without any patch, or with a patch pasted right after the command, or with the patch sent as an email attachment. It could be convenient to be able to also ask syzbot to test an LKML-sent patch.
We need to figure out the right query syntax. Even when we're given an LKML link to the patch, we also need to be able to figure out the tree on which to apply the patch before testing.
Some of the options.

Apply such patches only on top of the branch where we found the bug. In this case, the command can be simple

#syz test<EMAIL_ADDRESS>As proposed in (*), #syz test patch<EMAIL_ADDRESS>

Still support repo/branch arguments. If no patch is attached and a lore link follows a #syz test, take it.#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
<EMAIL_ADDRESS>
Though it becomes already quite complicated :(

The task to solve the branch is easy. Git already has --base parameter. So, just parse an email for it. Then you have the following possibilities:

The base is found in your cache of known trees / branches (note that git.kernel.org tracks global SHA IDs, means that doesn't matter if you look for something in the repo that doesn't has it, you can always check if it's present somewhere there, but this might get fixed in the future, that said your local cache may be organized same or similar way).
The base is not provided, use the branch where the problem was found.
The base wasn't found, we can't do much, but try it as it was the case 2 above and test in case it can be cleanly applied.

One more thing is to make possible to mark dup with patch present:
#syz dup [patch available: $MESSAGE_ID] blablabla

square brackets for the solely purpose to filter them out for the existing logic.


Upgrade to Asciidoctor 2.0.1

Thanks for providing this update. A first run on the IntelliJ plugin for Asciidoctor works for me. A pre-release is now available.

Keep in mind that there is a rather critical bug in 2.0.1 that will be resolved in 2.0.2. We're just waiting on some builds to finish.

No worries - as long as asciidoctorj is a pre-release, the intellij plugin will be a pre-release, too!


Feature: Option to auto wrap dockables in JScrollPane

Hello,
I'm not sure if you would be interested in this one. How about an option to auto wrap the dockable in a JScrollPane for when the docking area is too small to display the entire dockable?
Perhaps this would be a setting on the root docking pane, or maybe on the dockable itself.
Thanks,
Trevor

I probably should look into adding it, at least as an optional. We have some at work that need it.

This has been implemented. I think in the future I will consider a way to gain access to the JScrollPane.


Updates and pdf generation script

The pdf_gen.c is largely based on the example scripts at https://libharu.sourceforge.net/examples.html. It's not licensed under MIT and proper credits have to be given in README. Please consider before approving.
The pdf_gen.c script is not finished. I can handle it if you don't mind my poorly constructed code :( I'm learning
Happy New Year!

Money is written in C# and not C, so this script serves no purpose for PDF generation.
The PDF generation is being handled by QuestPDF and occurs in the Account class.


feat(scheduled-tasks): Add task run precheck functionality

With this feature we can stop the task before run if it shouldn't run (for example tasks what only should run in prod)

Can't you just use Piece#enabled? https://www.sapphirejs.dev/docs/Documentation/api-pieces/classes/Piece#enabled
Pretty sure if you set it to false you'll already achieve this goal. Otherwise at least use that as the if check instead of a new property.

Oops, I forgot about Piece#enabled :sweat_smile:
After a few tests this feature is redundant :smile:


Cleaning docs

In this PR:

Fixing documentation based on Gail's recommendation.
Templates -> Information files in documentation

:+1:

I am done with review


Dynamically configure service bridges from YAML

Follow up to #10.
We can now bridge services, but it requires manually configuration due to needed typesupport information at compile-time. In order to support bridging services dynamically, we need better support at the RMW layer for generic services.

is service support added to domain_bridge yet? I used domain bridge with the example YAML file from design_document to test services and actions. but it seems service and action don't work. I see lots of code related to service and action support in the repo but can't figure out what's wrong. also, there are no warnings, errors, or any kind of log to report.
any help and clearance of the issue would be appreciated

Services are supported if you configure the domain bridge in code (not YAML, which is why this issue exists).
Unfortunately, we don't have a good example of bridging services, though if someone would like to contribute one that might be nice :)
Here the example currently living on a fork that we used to test #26: https://github.com/ivanpauno/domain_bridge/commit/d82984cc3bcd09ec65dd3afe180158c7ff080031

@jacobperron unfortunately I'm not good at CPP . so I can't contribute much. thanks for the help anyways. But I may try to bridge services according to the example.


TypeError: plugin.initializer is not a function

Added homebridge-simplisafe3 to a successfully working Homebridge installation on macOS.  Receiving the following error when trying to start Homebridge after adding necessary config to config.json:
[2019-6-23 16:07:25] Loaded plugin: homebridge-simplisafe3
/usr/local/lib/node_modules/homebridge/lib/server.js:160
plugin.initializer(this._api);
^
TypeError: plugin.initializer is not a function
at Server. (/usr/local/lib/node_modules/homebridge/lib/server.js:160:14)
at Array.forEach ()
at Server._loadPlugins (/usr/local/lib/node_modules/homebridge/lib/server.js:138:22)
at new Server (/usr/local/lib/node_modules/homebridge/lib/server.js:56:24)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:26:16)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3

I updated homebridge to the latest version and also found I had a missing comma in my config.json.  No longer experiencing the error message.


⚠ Bofrost.de has degraded performance

In 7e96f01, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1029 ms

Resolved: Bofrost.de performance has improved in 7e75a68.


Wrap Popup elements in a renderable element within Portal

We have struggled quite a bit with Popup components not displaying, only to discover that they were wrapped within a <noscript> tag (apparently as a consequence of 7aed8baa).
This change aims at fixing this, by wrapping them within a tag that is actually renderable (Portal requires a single root element).
I chose <div> and it fixed the display issue on our side, but please advise if a different tag or component should be used instead.

Hi, thank you for contribution. Actually it was worked before with noscript, may be react 15 changed the game a bit. On other side, i don't think that another div should be here, you will get some strange markup:
<div> // portal div
  <div> // your added div
    <Popup/>
  </div>
</div>

Although this should work (since popup has fixed positioning) and may be this could be acceptable trade-off.
Another way we could try to remove noscript/div tag completely and move <EventListeners/> handlers under transition child.

Thank you for your feedback.
I have tried wrapping <EventListener> components as <Transition> children as you suggested, but that didn't work out.
However, since <EventListener> will never render any new element to the DOM (see the code: all the render() method does is delegate rendering or render nothing), I have managed to avoid the need for an extra <noscript>/'by nestingas the last and only child of nested` components.
That works, and no unnecessary markup is added to the DOM. Let me know if that is a suitable solution.

yeah, that's better :+1: Thanks!


Customise editor to show comment reply hierarchy

Hi
I wanna customize editor to show comment reply hierarchy something like its being done in hypothesis.How can I customize the same.If not can I invoke my own custom editor which will be doing this ?
I know this might not be a correct forum to ask about technical support but I have already raised several request to join the mailing list (https://lists.okfn.org/mailman/listinfo/annotator-dev) and also posted several queries on the comment id<EMAIL_ADDRESS>but none of them worked.
Please suggest how should I post my queries on the mailing list.I have also haven;t got any confirmation mail from this list.
Regards
Khayati

I don't understand the problem. You can subscribe to the list at https://lists.okfn.org/mailman/listinfo/annotator-dev, as you know. There is no approval process for joining the list.
Please join the list, send an email, and wait for replies. This is an open-source community and you may not get a response immediately. Please be patient.


[Enhancement] Prefetch items during graph traversal.

Summary of changes

Changes introduced in this pull request:

Enhances graph traversal with prefetching of the CIDs to cache them.

Reference issue to close (if applicable)

Work on https://github.com/ChainSafe/forest/issues/3314
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

graph-traversal bench, warmup = 1, runs = 5, calibnet snapshot
forest-tool benchmark graph-traversal forest_snapshot_calibnet_2023-08-02_height_788380.forest.car.zst

Command
Mean [s]
Min [s]
Max [s]
Relative

branch
27.632 ± 0.386
27.076
28.021
1.05 ± 0.02

main
26.204 ± 0.253
25.876
26.540
1.00

Makes no sense, closing it.


Bump up dependencies.

remove ^ from deps

Can we also use the same eslint https://eslint.org/docs/rules/one-var rule as we have in opaque-ts? (never)


Bug in calculate_unmatched_exposure

Reported by Lee Unsworth:
File "/Users/leeunsworth/git/sports-betting/.venv/lib/python3.7/site-packages/flumine/markets/blotter.py", line 135, in selection_exposure
  unmatched_exposure = calculate_unmatched_exposure(ub, ul)
File "/Users/leeunsworth/git/sports-betting/.venv/lib/python3.7/site-packages/flumine/utils.py", line 164, in calculate_unmatched_exposure
  lay_exp = sum((i[0] - 1) * -i[1] for i in ul)
File "/Users/leeunsworth/git/sports-betting/.venv/lib/python3.7/site-packages/flumine/utils.py", line 164, in <genexpr>
  lay_exp = sum((i[0] - 1) * -i[1] for i in ul)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'

This problem is caused by blotter.Blotter.selection_exposure...
When it iterates over self, the orders can contain VIOLATIONs. If the violation is caused by the price being None, then Lee's problem occurs.
So we could fix this by removing VIOLATION orders from the iterator (i.e. what comes out of __iter__). Or we can filter them out in selection_exposure.

I think the iter should always return all regardless of status and leave to the user/use to ignore.


[SPARK-24002][SQL][BACKPORT-2.3] Task not serializable caused by org.apache.parquet.io.api.Binary$ByteBufferBackedBinary.getBytes

This PR is to backport https://github.com/apache/spark/pull/21086 to Apache Spark 2.3

Py4JJavaError: An error occurred while calling o153.sql.
: org.apache.spark.SparkException: Job aborted.
	at org.apache.spark.sql.execution.datasources.FileFormatWriter$.write(FileFormatWriter.scala:223)
	at org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelationCommand.run(InsertIntoHadoopFsRelationCommand.scala:189)
	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)
	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)
	at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:79)
	at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:190)
	at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:190)
	at org.apache.spark.sql.Dataset$$anonfun$59.apply(Dataset.scala:3021)
	at org.apache.spark.sql.execution.SQLExecution$.withCustomExecutionEnv(SQLExecution.scala:89)
	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:127)
	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3020)
	at org.apache.spark.sql.Dataset.<init>(Dataset.scala:190)
	at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:74)
	at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:646)
	at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
	at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:380)
	at py4j.Gateway.invoke(Gateway.java:293)
	at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
	at py4j.commands.CallCommand.execute(CallCommand.java:79)
	at py4j.GatewayConnection.run(GatewayConnection.java:226)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.spark.SparkException: Exception thrown in Future.get:
	at org.apache.spark.sql.execution.exchange.BroadcastExchangeExec.doExecuteBroadcast(BroadcastExchangeExec.scala:190)
	at org.apache.spark.sql.execution.InputAdapter.doExecuteBroadcast(WholeStageCodegenExec.scala:267)
	at org.apache.spark.sql.execution.joins.BroadcastNestedLoopJoinExec.doConsume(BroadcastNestedLoopJoinExec.scala:530)
	at org.apache.spark.sql.execution.CodegenSupport$class.consume(WholeStageCodegenExec.scala:155)
	at org.apache.spark.sql.execution.ProjectExec.consume(basicPhysicalOperators.scala:37)
	at org.apache.spark.sql.execution.ProjectExec.doConsume(basicPhysicalOperators.scala:69)
	at org.apache.spark.sql.execution.CodegenSupport$class.consume(WholeStageCodegenExec.scala:155)
	at org.apache.spark.sql.execution.FilterExec.consume(basicPhysicalOperators.scala:144)
	...
	at org.apache.spark.sql.execution.datasources.FileFormatWriter$.write(FileFormatWriter.scala:190)
	... 23 more
Caused by: java.util.concurrent.ExecutionException: org.apache.spark.SparkException: Task not serializable
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:206)
	at org.apache.spark.sql.execution.exchange.BroadcastExchangeExec.doExecuteBroadcast(BroadcastExchangeExec.scala:179)
	... 276 more
Caused by: org.apache.spark.SparkException: Task not serializable
	at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:340)
	at org.apache.spark.util.ClosureCleaner$.org$apache$spark$util$ClosureCleaner$$clean(ClosureCleaner.scala:330)
	at org.apache.spark.util.ClosureCleaner$.clean(ClosureCleaner.scala:156)
	at org.apache.spark.SparkContext.clean(SparkContext.scala:2380)
	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsWithIndex$1.apply(RDD.scala:850)
	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsWithIndex$1.apply(RDD.scala:849)
	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
	at org.apache.spark.rdd.RDD.withScope(RDD.scala:371)
	at org.apache.spark.rdd.RDD.mapPartitionsWithIndex(RDD.scala:849)
	at org.apache.spark.sql.execution.WholeStageCodegenExec.doExecute(WholeStageCodegenExec.scala:417)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:123)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:118)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$3.apply(SparkPlan.scala:152)
	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
	at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:149)
	at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:118)
	at org.apache.spark.sql.execution.exchange.ShuffleExchangeExec.prepareShuffleDependency(ShuffleExchangeExec.scala:89)
	at org.apache.spark.sql.execution.exchange.ShuffleExchangeExec$$anonfun$doExecute$1.apply(ShuffleExchangeExec.scala:125)
	at org.apache.spark.sql.execution.exchange.ShuffleExchangeExec$$anonfun$doExecute$1.apply(ShuffleExchangeExec.scala:116)
	at org.apache.spark.sql.catalyst.errors.package$.attachTree(package.scala:52)
	at org.apache.spark.sql.execution.exchange.ShuffleExchangeExec.doExecute(ShuffleExchangeExec.scala:116)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:123)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:118)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$3.apply(SparkPlan.scala:152)
	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
	at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:149)
	at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:118)
	at org.apache.spark.sql.execution.InputAdapter.inputRDDs(WholeStageCodegenExec.scala:271)
	at org.apache.spark.sql.execution.aggregate.HashAggregateExec.inputRDDs(HashAggregateExec.scala:181)
	at org.apache.spark.sql.execution.WholeStageCodegenExec.doExecute(WholeStageCodegenExec.scala:414)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:123)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:118)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$3.apply(SparkPlan.scala:152)
	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
	at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:149)
	at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:118)
	at org.apache.spark.sql.execution.collect.Collector$.collect(Collector.scala:61)
	at org.apache.spark.sql.execution.collect.Collector$.collect(Collector.scala:70)
	at org.apache.spark.sql.execution.SparkPlan.executeCollectResult(SparkPlan.scala:264)
	at org.apache.spark.sql.execution.exchange.BroadcastExchangeExec$$anon$1$$anonfun$call$1.apply(BroadcastExchangeExec.scala:93)
	at org.apache.spark.sql.execution.exchange.BroadcastExchangeExec$$anon$1$$anonfun$call$1.apply(BroadcastExchangeExec.scala:81)
	at org.apache.spark.sql.execution.SQLExecution$.withExecutionId(SQLExecution.scala:150)
	at org.apache.spark.sql.execution.exchange.BroadcastExchangeExec$$anon$1.call(BroadcastExchangeExec.scala:80)
	at org.apache.spark.sql.execution.exchange.BroadcastExchangeExec$$anon$1.call(BroadcastExchangeExec.scala:76)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	... 1 more
Caused by: java.nio.BufferUnderflowException
	at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:151)
	at java.nio.ByteBuffer.get(ByteBuffer.java:715)
	at org.apache.parquet.io.api.Binary$ByteBufferBackedBinary.getBytes(Binary.java:405)
	at org.apache.parquet.io.api.Binary$ByteBufferBackedBinary.getBytesUnsafe(Binary.java:414)
	at org.apache.parquet.io.api.Binary$ByteBufferBackedBinary.writeObject(Binary.java:484)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1128)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)

The Parquet filters are serializable but not thread safe. SparkPlan.prepare() could be called in different threads (BroadcastExchange will call it in a thread pool). Thus, we could serialize the same Parquet filter at the same time. This is not easily reproduced. The fix is to avoid serializing these Parquet filters in the driver. This PR is to avoid serializing these Parquet filters by moving the parquet filter generation from the driver to executors.
How was this patch tested?
Having two queries one is a 1000-line SQL query and a 3000-line SQL query. Need to run at least one hour with a heavy write workload to reproduce once.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3284/
Test PASSed.

Test build #90713 has finished for PR 21351 at commit 90cec34.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90713/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

LGTM

Test build #90716 has started for PR 21351 at commit 90cec34.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3287/
Test PASSed.

Test build #90716 has finished for PR 21351 at commit 90cec34.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90716/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3295/
Test PASSed.

Test build #90727 has started for PR 21351 at commit 90cec34.

Test build #90727 has finished for PR 21351 at commit 90cec34.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90727/
Test PASSed.

thanks, merging to 2.3!

@gatorsmile thanks for adding this! Is there an estimate for a 2.3.1 patch?

@imarios Please check the dev mailing list. It is being voted.


Testing integration with zeebe-process-test

Description
This is not an actual proposal, but just playing around to see if it would be possible to integrate this module with zeebe-process-test, and any obstacles.
Pull Request Checklist

[ ] All commit messages match our commit message guidelines
[ ] The submitting code follows our code style
[ ] If submitting code, please run mvn clean install -DskipTests locally before committing
[ ] Ensure all PR checks are green

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

lol
OK :ok_hand:

@npepinpe I like this.
I implemented this using the "hazelcast" exporter for the Quarkus extension.
But this is much better. I would like to switch to your solution in the Quarkus extension.
https://github.com/quarkiverse/quarkus-zeebe#testing
https://github.com/quarkiverse/quarkus-zeebe/tree/main/test/src/main/java/io/quarkiverse/zeebe/test

@npepinpe ;) thanks for info

I think https://github.com/camunda-community-hub/zeebe-test-container/pull/289 will solve the issue, then it's just a matter of adding the integration with zeebe-process-test.

Superseded by #316


Unable to finishing setting up the vpn

So many assumptions made i.e. an NPS server is already setup (or is it?) Step 2 quotes Appendix A section 0 but where is that?
Going round in circles trying to understand what I have to do to get this setup. What a waste of time.

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

ID: 0e886cf2-b2cc-1942-2e93-b83ba3f5c81a
Version Independent ID: 14185f76-c920-66a5-9d3b-51ddc4845ee8
Content: Configure the Server Infrastructure
Content Source: WindowsServerDocs/remote/remote-access/vpn/always-on-vpn/deploy/vpn-deploy-server-infrastructure.md
Product: windows-server-threshold
GitHub Login: @shortpatti
Microsoft Alias: pashort

#please-close


[$250] Payment issue #16145

This is a payment issue for https://github.com/Expensify/App/issues/16145
@ashuvssut requires payment via Upwork
If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?:
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
Action Performed:
Break down in numbered steps
Expected Result:
Describe what you think should've happened
Actual Result:
Describe what actually happened
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub

Hi

@johncschuster I have accepted the offer on upwork

@johncschuster Thankyou. I have submitted for review on upwork

Payment has been issued! 🎉 Thanks, @ashuvssut!


Steam cache Slower When Downloading non Cached Games.

As the title says, I am running a steam cache and everything works except when downloading any content that is not cached the download is much slower than my actual internet speed.  I have been fighting with this for a couple weeks now and here is what I have done to be sure It's not something with my setup. I have tested using two desperate machines. The first is An ubuntu 18.04 machine running on a core i5 3570k, 12gb ddr3 ram, one 3tb sata 7200rpm hdd for boot, and 2 500gb sata2 disks in raid zero for storing the cache. I have also ried storing the cache directly on the 3tb boot disk and a 120gb Kingston sata 3 ssd, as an attempt eliminate an hdd bottle neck.  The second Machine I tried was a xen server vm running ubuttu 18.04, with 6 vcores and 4gb of ram.  I have tried following multiple guides, as well as fiddling with the internal nginx config my self to try and get it working.   The best performance I have seen so far is an average speed of about megabytes per second. When downloading form steam directly I regularly see 15 megabytes per second, some times peaking to 20.  When downloading cached games I see performance about what I would expect, up 90 megabytes per second on a single gigabit NIC.

I'm having the same problem. Normally I get download speeds of 15-16MB/s without steamcache, but when downloading an uncached game with steamcache it's only 4-6MB/s. I'm using 4 SSDs in RAID for the cache and get good speeds while downloading cached games, but otherwise it really isn't acceptable. I'm running this on a dual Xeon system with 24GB of RAM. The only thing that I can think of that would be slowing it would be single threaded CPU performance, but you said you're having the same issue with an i5 which should be much better. I'll try running this on an i7 system and see if anything's different.

@TheTrippyTree I feel like it's not a cpu issue, as in all my testing I never saw very high cpu usage, either spread across multiple cores, nor on a single core/thread. Still, won't hurt for you test it on your i7.  In the end, I have found a separate solution that suits me well enough, but am curious to keep trouble shooting this as well.

I'm looking in to some options with these slow downs, Sometime this is CPU or memory bound, however in both of these cases I don't get the feeling that that is true.
I would say 4GB RAM isn't enough for this to be anywhere close to efficient but 12GB should be. One thing that we're looking at is increasing the thread count for NGINX, This only solves some problems, though. Cloudflare recently posted a blog about optimising NGINX for caching, and one of the things they noticed is that even with SSD there was IO wait time, This is because by default NGINX is single threaded for IO, which means if you have a single read/write that takes slightly longer than it should, everything else is in a wait. So the second thing we're looking at is to change the option to enable threaded IO in NGINX. but this will need some very good testing before we enable it in the container by default.
To start with, We'll be including these options with an experimental flag so you'll have to enable them.
I'm not sure when this work will be done, but We will accept a PR if someone else gets there before we do.

@taylorknopp I just completed the testing on that i7 system as well as 2 other systems with considerably lower specs & got the same results from each of them, so I think my CPU theory is pretty much dead. Which is a shame, because I really wanted to get this to work. The only other possibility is that it has something to do with my network, since each of the computers (which all have very different specs) are providing essentially the same speeds. I...don't see what would be wrong with it though. I've gotten up to about 230MB/s on file transfers between computers.
I'll keep investigating. I've seen plenty of people across the interwebs say that steamcache works perfectly fine for them, so I must be doing something wrong somewhere.

@TheTrippyTree keep me up to date with what you find out and will do the same. I won;t have a chance to do much testing until the weekend, so on Saturday I hope to investigate the possible fixes @JasonRivers  brought up.

@JasonRivers Regarding the disk I/O wait, does that mean that the initial download speeds we're seeing are CPU/RAM limited, or is it just an issue with nginx itself? I tried running the Docker containers with 2GB allocated all the way to 20GB and the download speeds weren't really affected. I also tested this on machines with very high single-threaded performance (i7) and ones with low ST performance (Xeon) and differences were within margin of error.
For the most part, I'm just trying to figure out if the initial speeds I'm seeing are normal (and that I should be expecting reduced initial download speeds) or if there's actually something wrong with my setup. The speed of downloading cached games is fantastic. I've seen downloads peak at 90MB/s with the cache, which is awesome. Problem is the initial speeds are nearly half that of my WAN, so I have to wait twice as long for new games to download.
Whatever the case, I will definitely try that experimental flag once you get around to that.

One of our team have been able to replicate this on his cache system, We are looking in to this but it's not as easy as "turn this option on", There has been quite a lot of discussion over the last 24 hours in our Discord regarding this matter and there's a number of things we're trying and improving. Currently we haven't been able to get to the bottom of the issue, but we have managed to improve other areas while testing this.
This is simply an update to let you know that we are working on this, but currently there's no real news.

@JasonRivers I appreciate the update, and that your team is working on this. I'm pretty new to docker and whatnot but if there is some way I can help out with this just let me know.

@taylorknopp @TheTrippyTree please could you send me the output of: lspci -nn | grep -i "ethernet"

@JasonRivers Sure! Here's the output from my main server:
06:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
07:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
Let me know if you need anything else.

@JasonRivers the grep portion of that command wasn't working for me so i just did lspci and grabbed the Ethernet controller portion of the output.
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8169 PCI Gigabit Ethernet Controller (rev 10)
05:00.0 Ethernet controller: Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet (rev c0)

Also getting very poor speeds myself. Barely hitting 2MB/s on non-cached content. When not using the cache and going direct to Steam I easily get around 45MB/s.  Installing from the cache, I get higher speeds than non-cached, but still nowhere near my normal download speeds.
Cache is running on the following hardware:
HPE DL380e Gen8, with a Xeon E5-2430L, 32GB of ECC RAM, and 24 HPE 500GB 7200 RPM SATA drives in RAID60 (with 2 parity groups)
RAID Controller is an HPE SmartArray P822 with a 2GB battery backed flash cache.
We have an identically configured machine at work that can easily saturate a 1gbps link whilst handling an average input/writes of around 220mbps (Also using nginx), so I know the hardware is more than capable of dealing with workload.
lspci output:
02:00.0 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01) 02:00.1 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01) 02:00.2 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01) 02:00.3 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
Server has no issue with pulling the full 45MB/s from other sources and keeping up with the writes to disk

I have the same problem, I can only download with around 50% of my normal download speed when downloading a non-cached game. (around 4.5 Mbyte per sec.). I found this solution, that another software used (also running Nginx). How can we make these changes?
"I submitted a help request in the lancache site, and it came down to a couple things. First, I needed to disable ipv6 in nginx. 2nd, I increased the proxy delay to 300s from the default of 60s, that seems to have remediated my issues."
Source: https://www.reddit.com/r/nginx/comments/3fa8og/initial_downloads_are_slow_on_my_lancache_server/

I did do the proxy delay to 300 still having issues with slow downloading.

im having the same problem, how do i change the proxy delay?
Im not finding the option.

I did it in the nginx config for steam
server {
listen lancache-steam deferred default;
server_name steam _;
access_log /srv/lancache/logs/access/steam.log main buffer=128k flush=1m;
access_log /srv/lancache/logs/keys/steam.log keys_uri;
error_log /srv/lancache/logs/errors/steam.log;
# Steam Node
include lancache/resolver;
location /depot/ {
    # Currently Steam uses a default expires of now, but
    # does set Cache-Control when required so just ignore
    # Expires header for now.
    proxy_bind <IP_ADDRESS>;
    proxy_ignore_headers Expires;
    # Steam sometimes passes security parameters on the URI
    # so we cache based on just the URI excluding the query
    # string
    proxy_cache_key "$server_name$uri";
    # Use Steam cache
    proxy_cache steam;
    proxy_read_timeout 300;
    include lancache/proxy-cache;

I also added more host names to unbound

thx for the fast respond,
but were do i find the nginx config for steam?
btw i new to unraid and linux

I would look in
etc/nginx/sites-available/steamcache.conf

i havent a dictonary calld nginx at all,
to understand you right, nginx istalld itself when i installd steamcache docker?
becaus i never installd the nginx docker, and i dont have a docker calld nginx.
thx so far for you help, but i will need some more help

Hello,
my ISP speed 100/100Mbps, download speed for one client (equipped with 1TB HDD) at a time around 10MB/s. Download speed for one client at a time over cache server around 3MB/s for first download, second download around 80MB/s. I don't see any bottlenecks on server side as it's dual 480GB SSD in raid0, i5-8600, 16GB, ASRock Fatal1ty Z370 Professional Gaming i7 with 10Gbps port to 10Gbps HPE switch. Clients connected over 1Gbps lines. The most interesting thing is that when I simultaneously run downloads on 3-4 clients for first time over cache server, I am getting around 10MB/s in total!
So server can handle higher total speed for more than one client, and each client can handle good hardware limit speed! Where is a bottleneck? I am not a linux guy, i think, there are could be some nginx/docker/other connection limits or speed limits. I am from middle europe, therefore I was thinking that cache server force to download from distant servers, as for example London is farther from me than Moscow or Warsaw. Any thoughts?

Hi guys,
We're trying to work on this, it's definitely a known issue seen across a number of lancache projects. If anyone has a testing environment and could test out steamcache/generic:proxy_read_timeout for us it would be useful to know if you experience any difference (please also retry with your current steamcache/steamcache rather than previous experience)

Does any one know someone at steam to see what has changed?

Hi guys,
We're trying to work on this, it's definitely a known issue seen across a number of lancache projects. If anyone has a testing environment and could test out steamcache/generic:proxy_read_timeout for us it would be useful to know if you experience any difference (please also retry with your current steamcache/steamcache rather than previous experience)

I tested it on my server, it seams I got +30% performance but it is doubtful.
I found this information "Due to a bug in the Steam for Linux client it can slow down not only its own download speeds, but all DNS using network activity at the same time", solution was to install dnsmasq, I used guide here to setup DNS. It didn't help either.
Here is download speed from server without caching, around 11MB/s

Here is download speed from client via caching server, spead around 4MB/s

At the same time here is load on server, download spee around 8MB/s

It seems to me that there is double download of same content... I'll try three clients, with 3 different games, report here, if it will be helpfull.

Does any one know someone at steam to see what has changed?

Same with battle.net

Hey, just adding to this in hopes of trying to help you guys solve this, when downloading from steam I notice that there's an insane amount of DNS queries going to the cache.
https://img.prccrp.org/DOiRGPdpu7.png
https://img.prccrp.org/D39kY3KY5r.png

Well, I tried 3 clients different games at the same time via caching server and got aournd 6-7MB/s. I started to think it is something about docker itself, and I found some supporting information. So, I changed containers network from default bridge to host, nothing changed, but I was able to run server's steam client via caching server, and I got around 4MB/s, while without caching up to 11MB/s! Also network change solved total network speed, I think in bridge mode bandwidth adds up.

So we've made a lot of progress on this in the last few days. If anyone would like to be involved in testing we would really appreciate your help. Please head over to https://github.com/steamcache/steamcache-dns/pull/69 and follow the instructions there

Fyi @Ssupreme this is not a docker issue as it is being seen by all of the major steam caching projects both in and out of docker containers

https://github.com/steamcache/steamcache-dns/pull/69 is now merged and closed and should solve this problem.
Please note that steamcache/steamcache is now deprecated, we recommend moving to steamcache/monolithic instead


Changes for Python3 since Venus 2.80 uses it

No function changes, only Changes for use with venus 2.80 and upper since python3 is set.

The changes for this have been inserted from another Pull request so I have not committed this change as it will conflict with the other files.


Fixed issue #183

Issue Number: #183

Thank you! Will wait for another check this and we shall get it merged.


Upload only working in one region (us-east-1), --endpoint not working as expect

Here is what I tried. my.oregon.bucket is hosted in Oregon. I tried the upload command with and without the endpoint "--endpoint=s3-website-us-west-2.amazonaws.com". Doesn't work for me.
Then I setup a bucket in US standard (us-east-1) with the exactly setting as the one in Oregon except the region. It works.
Here's the error:
deb-s3 upload my.deb --codename=stable --component=main  --bucket=my.oregon.bucket
>> Retrieving existing manifests
/Library/Ruby/Gems/2.0.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:375:in `return_or_raise': AWS::Errors::Base (AWS::Errors::Base)
	from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:476:in `client_request'
	from (eval):3:in `head_object'
	from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-v1-1.66.0/lib/aws/s3/s3_object.rb:296:in `head'
	from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-v1-1.66.0/lib/aws/s3/s3_object.rb:273:in `exists?'
	from /Library/Ruby/Gems/2.0.0/gems/deb-s3-0.7.1/lib/deb/s3/utils.rb:58:in `s3_exists?'
	from /Library/Ruby/Gems/2.0.0/gems/deb-s3-0.7.1/lib/deb/s3/utils.rb:62:in `s3_read'
	from /Library/Ruby/Gems/2.0.0/gems/deb-s3-0.7.1/lib/deb/s3/release.rb:30:in `retrieve'
	from /Library/Ruby/Gems/2.0.0/gems/deb-s3-0.7.1/lib/deb/s3/cli.rb:136:in `upload'
	from /Library/Ruby/Gems/2.0.0/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
	from /Library/Ruby/Gems/2.0.0/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
	from /Library/Ruby/Gems/2.0.0/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
	from /Library/Ruby/Gems/2.0.0/gems/deb-s3-0.7.1/bin/deb-s3:8:in `<top (required)>'
	from /usr/bin/deb-s3:23:in `load'
	from /usr/bin/deb-s3:23:in `<main>'

Try:
--endpoint s3-us-west-2.amazonaws.com
No need for "website" in the URL


add coronavirus tracker api

Thank you for taking the time to work on a Pull Request for this project!
To ensure your PR is dealt with swiftly please check the following:

[x] Your submissions are formatted according to the guidelines in the contributing guide
[x] Your additions are ordered alphabetically
[x] Your submission has a useful description
[x] The description does not end with punctuation
[x] Each table column should be padded with one space on either side
[x] You have searched the repository for any relevant issues or pull requests
[x] Any category you are creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Thanks for contribution @slotix, but this API is not about coronavirus and has no free tier.


Signals' .connect() function's argument (callable) is not type-checked if it is accessed via self..

Tested versions
Reproducible in stable 4.2.1 and freshly-built v4.3.dev.custom_build [b4e2a24c1]. In 3.x, only the first line raises an error, which looks like an other issue, so i think this ticket shall only be responsible for 4.x.
System information
Godot v4.3.dev (b4e2a24c1) - Windows 10.0.19045 - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 3060 (NVIDIA; <IP_ADDRESS>23) - AMD Ryzen 7 5800X 8-Core Processor (8 Threads)
Issue description
When doing some_signal.connect(my_local_callable), Godot checks if my_local_callable exists in current scope, and if it does not, raises an error. However, when doing some_signal.connect(self.my_local_callable), Godot does not raise an error even if my_local_callable is not defined on base Self (or any of it's ancestors).
Steps to reproduce
Create an empty project, create a script, then paste the following and observe the above-described behaviour.
extends Node

var argument: String = "bar"

signal sig

func _ready() -> void:
	# external signals are broken
	get_tree().create_timer(1).timeout.connect(_foo) # error, good
	get_tree().create_timer(1).timeout.connect(self._foo) # no error?

	# as well as locally-defined ones
	sig.connect(_foo) # error, good
	sig.connect(self._foo) # no error?

	# regular functions still type check properly, so it's an issue
	# with signals specifically
	self.bar(argument) # error, good
	self.bar(self.argument) # error, good

func bar(_arg: int) -> void:
	pass

Alternatively, open the MRP provided below.
Minimal reproduction project (MRP)
gdscriptselftypebug.zip

It's not about signals and connect(), and not even so much about self itself. The reason is that _foo does not exist in the current class or its ancestors. However, it may exist in the descendants. Although it's not documented (as far as I know), self allows you to ignore non-existent properties/methods, just like you would if you used set(), get(), call().
For example, here the analyzer reports errors regardless of the use of self, since the _foo property is guaranteed not to be Callable:

Screenshot

You can also enable UNSAFE_* warnings if you want stricter behavior:

Screenshots

Oooh, that makes sense, thanks! I can understand this being useful behaviour in some cases, but i imagine most of the time this being accidental. I obviously don't have any data on how much people intentionally look through safe-lines to find "unsafeties", but i think it would be correct to say that more people consider and fix warnings. As such, apart from documenting this feature, do you think changing the default for UNSAFE_*_ACCESS rules to warning would make sense (and if so, would it require a proposal)?

As such, apart from documenting this feature, do you think changing the default for UNSAFE_*_ACCESS rules to warning would make sense (and if so, would it require a proposal)?

The problem is that users of dynamic GDScript would receive a lot of warnings, some of which are false positives, and the analyzer could potentially infer a soft type without requiring a hard type. This is why the warnings is ignored by default.
In my opinion, we should first improve the static analyzer (this is a complex task) to reduce the number of false positive warnings in dynamic scenarios, then we can consider enabling these warnings by default.

As such, apart from documenting this feature, do you think changing the default for UNSAFE_*_ACCESS rules to warning would make sense (and if so, would it require a proposal)?

The problem is that users of dynamic GDScript would receive a lot of warnings, some of which are false positives, and the analyzer could potentially infer a soft type without requiring a hard type. This is why the warnings is ignored by default.
In my opinion, we should first improve the static analyzer (this is a complex task) to reduce the number of false positive warnings in dynamic scenarios, then we can consider enabling these warnings by default.

Alright, thank you! I think i'll try adding a small bit of documentation on this tooic soon. Should this issue be moved/re-opened on godot-docs repo?

Should this issue be moved/re-opened on godot-docs repo?

No, not required, as far as I know. In practice, we often link issues from other repositories.


Use test ROMs as citations to stated facts

Credit @LIJI32

Since I'm about to make a PR that details additional behavior, what style do we want? What should the link point to, the specific test ROM's source, the ROM collection? What if multiple ROMs need to be referenced?

#74


Is it possible to use the terminal to specify the resolution to pass parameters？

    Hello，I have a problem with my recent project. I hope to set the resolution when I start the zed_wrapper.

Can  I use this format: ros2 launch zed_wrapper zed2.launch.py --ros-args -p resolution:=2 ? Hope for your help

solved

@ZJF-BOY can you post the solution that you used?
It can be useful for other users that will land on this issue.


Policy expression "abort policy" sample should reflect the output shown in the image

This is just a request for consistency of the sample ran to what the output will appear as in the Lab image.   message

That's my fault. I changed the copy but did not change the image. My apologies, I will take ownership of this.


[CONTRIB] PyTorch bridge

This PR uses @jwfromm's implementation #658 as a bridge for PyTorch tensors, similar to the existing MxNet bridge.

cc @mitmul maybe you are interested in this and conrtibute cupy support?

Thinking a bit more about it, maybe we can do a general dlpack bridge. Support

tvm.nd.from_dlpack
tvm.nd.NDArray.to_dlpack

And do a provide a generic function like
tvm.dlpack.to_dlpack_func(tvm_func, torch.Tensor, torch.util.to_dlpack)

close in favor of #1573


auto fix not working

Environment information
CLI:
  Version:                      1.9.3
  Color support:                true

Platform:
  CPU Architecture:             x86_64
  OS:                           windows

Environment:
  BIOME_LOG_PATH:               unset
  BIOME_LOG_PREFIX_NAME:        unset
  BIOME_CONFIG_PATH:            unset
  NO_COLOR:                     unset
  TERM:                         unset
  JS_RUNTIME_VERSION:           "v20.15.1"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         "npm/10.7.0"

Biome Configuration:
  Status:                       Loaded successfully
  Formatter disabled:           false
  Linter disabled:              false
  Organize imports disabled:    false
  VCS disabled:                 true

Workspace:
  Open Documents:               0

What happened?
running npx biome lint  --write . has no effect
C:\yigal\nitro\main\src\nitro_widgets.ts:105:7 lint/style/noVar  FIXABLE  ━━━━━━━━━━━━━━━━━━━

  ! Use let or const instead of var.

    103 │   const ctl={
    104 │     onchange(evt:Event){
  > 105 │       var target=evt.target
        │       ^^^^^^^^^^^^^^^^^^^^^
    106 │       if (isHTMLInputElement(target)){
    107 │         const target_value=target.checked

  i A variable declared with var is accessible in the whole body of the function. Thus, the variable can be accessed before its initialization and outside the block where it is declared.

  i See MDN web docs for more details.

  i Unsafe fix: Use 'const' instead.

    103 103 │     const ctl={
    104 104 │       onchange(evt:Event){
    105     │ - ······var·target=evt.target
        105 │ + ······const·target=evt.target
    106 106 │         if (isHTMLInputElement(target)){
    107 107 │           const target_value=target.checked

The number of diagnostics exceeds the number allowed by Biome.
Diagnostics not shown: 23.
Checked 81 files in 134ms. No fixes applied.
Found 42 warnings.

Expected result
fixed fixxable errors
Code of Conduct

[X] I agree to follow Biome's Code of Conduct

I suggest you get acquainted with the documentation and understanding how Biome linter works.
Biome has safe and unsafe fixes. As you can read, that diagnostic provides an unsafe fix, so you need --unsafe
https://biomejs.dev/linter/#unsafe-fixes

following you suggestion i did run it with --unsafe and it worked perfectly. thank you for doing this


[BUG] - Uncaught ReferenceError: assignment to undeclared variable functionNameObject

In index.js, there is a reference to an undeclared variable called functionNameObject. Firefox doesn't like this and fails to initialise alpine-auto-interval.

Hey, thanks @SanderKleykens
I'd probably recommend using the $interval helper in the Magic Helper's repo instead though.
https://github.com/alpine-collective/alpine-magic-helpers

Thanks, @KevinBatdorf. Didn't know that existed :)

There's an open PR there with a minor bug in it though, which should be merged in this week.
https://github.com/alpine-collective/alpine-magic-helpers/pull/120


(doc) Release notes for Chocolatey v0.11.2

@pauby @JPRuskin @Windos I have updated the date for tomorrow.
I have completed the testing for this, and I am satisfied that we have fixed the problem, so I will aim to ship v0.11.2 tomorrow morning.


The local cache quota is actually a CAS cache quota

See original issue on GitLab
In GitLab by [Gitlab user @jennis] on May 10, 2019, 10:36
Summary
To set a local cache quota we need to specify something like this in our user configuration (typically at ~/.config/buildstream.conf):
cache:
  quota: 100G

Now, having read our documentation regarding the cache quota, one would expect that this is a quota for the entire local cache, that is (typically) located at ~/.cache/buildstream. However, it seems to me that our quota is actually a quota on ~/.cache/buildstream/cas, the cas directory of the local cache.
Discovery

To discover this, I have two stack elements, which, when built separately, each leave ~/.cache/buildsteam at 10G.
I built the first stack element: du -sh ~/.cache/buildstream returns 11G
I then set a cache quota to 18G
I then built the second stack element (expecting a cleanup job), du -sh ~/.cache/buildstream returns 20G. And there was no cleanup job.
du -sh ~/.cache/buildstream/cas returns 16G.

From looking at our CASQuota class, it seems like the quota is actually for the local CAS cache, not the local cache.
In my opinion, this is a bug, naively, one would expect that a cache quota means that your entire cache should not exceed this quota. If it is intentional, then we need to make this clear in the documentation. If not, we need to ensure that the quota is applied to the entire local cache.

In GitLab by [Gitlab user @tpollard] on May 10, 2019, 15:23
You're correct, it is computed against the cas subdir of the cache. I would agree that as a user without prior knowledge of the cache directory structure I would expect the 'cache' quota to be for ~/.cache/buildstream

In GitLab by [Gitlab user @tristanvb] on May 10, 2019, 15:27
We should not apply auto cleanup or coupling of the cache with the sources, as the expectations for sources persistence is different from the expectation of the artifact cache (which now has 'SourceCache' coupled with it).
It is rather frequent that one might want to remove their cache (artifacts, short lived things locally), it is nearly never that one wants to delete their locally downloaded source mirrors.
The fact that local data stored by BuildStream defaults to a directory inside ~/.cache is possibly confusing, but it is important IMO to ensure these two volumes are never coupled together, and I think it is important that BuildStream does not ever automatically delete mirrored sources in ~/.cache/buildstream/sources, as these can be useful for a very long time when picking up multiple different projects, regardless of how many times one has deleted their local artifact cache.

In GitLab by [Gitlab user @tpollard] on May 10, 2019, 15:34
I agree with your comments [Gitlab user @tristanvb] I would not expect pruning/cleanup done via buildstream to touch the non-cas cached sources. However if I'd set a quota of 100GB for 'cache' and then found that ~/.cache/buildstream was over that limit (of course, the cas subdir would be under 100GB though) I would probably be confused. Maybe a rename of the option or a clearer definition in the docs is all that's needed here.

In GitLab by [Gitlab user @jennis] on May 13, 2019, 08:51
I also agree. To be clear, I was not shooting for cleaning up non-artifact stuff in the cache. Rather, from reading the documentation, I expected that everything in ~/.cache/buildstream/ was included in the calculation of the total cache size and that the quota was imposed on this. However, I also know (as a developer) that clean up operations would only ever reduce the size of the artifact cache (~/.cache/buildstream/cas).
So I think we either need to:

Improve our docs and make this clearer

Perhaps we also rename cache -> artifact-cache? Although, this would be a breaking change...

Ensure that the quota is actually for the local cache in it's entirety.

We'd need to ensure that the cache size calculations include everything else in `~/.cache/buildstream/ and that the quota is imposed on this
We'd need to be clear that cleanup operations only cleanup artifacts.

The first is obviously easier to implement, the second makes more of a statement as to what I originally expected, that is: "I want BuildStream to take up this much space, and no more". What are your thoughts?

In GitLab by [Gitlab user @tristanvb] on Jun 6, 2019, 07:26
Something I forgot to add to my previous comment, but recall this all came up last year and couldnt find where it was previously discussed... is that it is very important also to be able to configure the sources separately from the artifacts (or now the cas which is kind of artifacts and more).
Not only do we have different expectations on when one might want to delete them, it's also important to consider constrained environments, like laptops where one might have only 1TB of space on a given volume, it happened to me multiple times (including again last week), that it became important to move my artifact cache onto a different partition, but keep my source cache on the same partition.

However if I'd set a quota of 100GB for 'cache' and then found that ~/.cache/buildstream was over that limit (of course, the cas subdir would be under 100GB though) I would probably be confused. Maybe a rename of the option or a clearer definition in the docs is all that's needed here.

Agreed this is confusing.

Perhaps we also rename cache -> artifact-cache? Although, this would be a breaking change...

This would be a breaking change within BuildStream 2 which is still unreleased and unstable: this need not be documented in NEWS separately from the original breaking change (instead, the NEWS entry for the original breaking change should be amended to indicate that it is now breaking differently, if that applies to the original entry).
I think the rename is a good thing, although the name might be wrong; remember that we used to call this artifacts and it was a directory which sat beside sources, back when everything made sense and this would probably not be an issue.
There is a reason we changed that name, so maybe find a better alternative name...

In GitLab by [Gitlab user @jennis] on Sep 5, 2019, 15:14
[Gitlab user @juergbi], I think we can close this now that the buildbox-casd work as landed. Do you agree?

In GitLab by [Gitlab user @juergbi] on Sep 11, 2019, 07:29
Switching to buildbox-casd didn't really change anything in this regard, as far as I can tell. Improving the documentation is the main point. We could consider a rename but artifact-cache would be wrong as it's not just for artifacts.
Technically, a config group for cas would make sense. Besides specifying the cache quota it could also allow configuring remotes that are shared by artifact and source services. However, I'm not sure whether a cas config group would be more or less confusing to users.