Coder not fetching resources behind Ingress Controller in Fanout

code-server 1.1140-vsc1.33.1:
OS Version: debian 9 stretch

Description
When running multiple coder instances in fanout, the resources cannot be fetched.
 Expose ingress like this example
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.allow-http: "false"
    nginx.ingress.kubernetes.io/app-root: /python
    nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start
    nginx.ingress.kubernetes.io/auth-url: https://$host/oauth2/auth
    nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
    nginx.ingress.kubernetes.io/cors-allow-methods: PUT, GET, POST, OPTIONS
    nginx.ingress.kubernetes.io/cors-allow-origin: https://coder.my.dns.company.com
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /
  labels:
    app: coder
    flavour: python
  name: python-coder
  namespace: coder
spec:
  rules:
  - host: coder.my.dns.company.com
    http:
      paths:
      - backend:
          serviceName: python-coder
          servicePort: 8443
        path: /python
  tls:
  - hosts:
    - coder.my.dns.company.com
    secretName: coder-tls-secret

I have also tried this without success:
    nginx.ingress.kubernetes.io/configuration-snippet: |
      sub_filter_once on;
      sub_filter '<base href="/"' '<base href="/python/"';

If I define a path /* I have gotten it to work. The problem is the resources are being fetched from random sources since I have defined multiple coder instances and this path is on all definitions for that hostname. For example I would have deployed coder under /python with python tools, /go with golang tools and so on. In this scenario I have seen ide.main.0dbbd1.css being fetched from the go coder instance when I loaded python
Reading more into this I think it's related to the paths used. They should be relative and not include /.
Source: https://stackoverflow.com/questions/50871970/kubernetes-ingress-nginx-loading-resources-404
any help would be appreciated.

Duplicat of #670


Slow queries with ORC format

Seeing this consistently with ORC table. Trying queries of form "select * from TABLE order by COL1", the table is very small (~20MB data, 500k rows). Query took 40min to complete on a 2-node cluster.
Same query against TXT finishes in around a minute.
The problem seems to be happening due to ORC Reader using common Dictionary block. In my case, the Dictionary block read had 500k entries. Since the same block was shared amongst all pages, page.getSizeinBytes() returned size based on the shared block which comes to be ~20MB.
PageSplitter.splitPage tries to bring down the page size but gives up eventually after splitting pages down to one position per page. Since the dictionary block is shared hence even after splitting the size does not come down by much. Finally during serialization, compact dictionary is formed and the data transfer between TableScan and OrderBy operators happens one position at a time. This takes lots of round trips to transfer all data and hence performance degrades.
To verify this, I changed DictionaryBlock to return size considering only the entries in Dictionary that will be used by it. With that, the times came down to normal.

To hot fix, this is what I did:
Changed:
public DictionaryBlock(int positionCount, Block dictionary, Slice ids)
    {
        ....
        this.sizeInBytes = dictionary.getRetainedSizeInBytes() + ids.getRetainedSize();
    }

To:
public DictionaryBlock(int positionCount, Block dictionary, Slice ids)
    {
        ....
        int referencedDictionarySize = 0;
        for (int i = 0; i < positionCount; i++) {
            referencedDictionarySize += dictionary.getLength(getIndex(i));
        }

        this.sizeInBytes = referencedDictionarySize + ids.getRetainedSize();
    }

I can open the PR for this but I am not sure why is is full dictionary size considered for the page Size originally. Waiting to get clarification

@stagraqubole This is really good find. Thank you

You are correct that getSizeInBytes is wrong in DictionaryBlock. But we did it consciously because the alternative would be the code you presented above, which is too costly in our opinion. We should probably add a comment.
We believe we can fix your issue by fixing two bugs:

PageSplitterUtil.splitPage should call copyRegion instead of getRegion.
Fix implementation of ArrayBlock.copyRegion, whose behavior violates the contract of Block. It is supposed to copy and block. But it didn't.

@stagraqubole You are welcome to submit a pull request for this. Otherwise, @nileema will fix this when she becomes less busy.

Thanks @haozhun, few questions:

Keeping getSizeInBytes same and doing copyRegion to compact Dictionary would still divide the page into two even when one page could have been transferred. This might not be a big issue, two pages rather than 1000 is still better.
Wouldn't changing splitPage to use copyRegion have performance impact?

We decided to go with the approach of fixing getSizeInBytes for dictionary blocks. The sizeInBytes is actually the sum of lengths of all referenced elements of the dictionary, rather than the unrolled dictionary.
Also, It is ok for the pageSplitter to call getRegion because the DictionaryBlockEncoding always calls compact before it sends the data.
PR: #4191

Great, I will pull that in. Thanks.

This was fixed by #4191


Module 1.4 Assignment

👋 Hi @AlexDCI, in case you'd like to try it again, the goal for 1.4 is to go to http://git-school.github.io/visualizing-git/ and to re-create the image that Eric has created here: https://github.com/github-campus-advisors/Campus-Advisor-Training/blob/master/Module 1/Module 1.4 Assignment.md


Add support for dynamic IP with networked printers

First thank you for the good work with CUPS.
Mac OS and even most windows versions work out of the box with printers which have dynamic IP on the network. It would be great if CUPS can do the same.
For now you have to reinstall these printers each time you want to use them, which is a pity, or to follow numerous forums threads which give me a headache just when I try to understand them and to figure out what to do, which also is a pity for the casual desktop user. To have dynamic IP support in CUPS would definitively be a great step forward for the gnu/linux desktop.

Um, CUPS does support “dynamic ip” addresses for printers, using mDNS and DNS-SD (Bonjour) at the time of each print job. It has done so for many years using the dnssd backend.
There are some Linux distributions that do not ship with Avahi (the chosen project for supporting mDNS/DNS-SD on Linux) properly enabled or configured - that is the most common reason for networking problems on Linux.


feat: Disable Windows guest tests on architectures other than amd64

What this PR does / why we need it: s390x enablement
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/test all


feat: add filename for downloading from Google Drive or from net by using url (not zipped file)

Hi, at first thanks for this amazing repo. It's good if we can handle the file name manually from function parameters like filename. By merging this PR we can have that feature on some use-case scenarios like download via URL or download from google drive.

for example, if we want to download something via url like this https://github.com/persiannlp/parsinlu/raw/master/data/translation/translation_combined_en_fa/train.tsv?download=
it saves it in the file with the following name:
'train.tsv?download='


Adding or removing keys not working

Writing anchor and batch fails to IPFS fails here: https://github.com/decentralized-identity/element/blob/56e18fe7764ca6fdf4f2948015422d91dafafb9a/packages/element-lib/src/adapters/storage/ipfs.js#L34
info: SyntaxError: Unexpected token G in JSON at position 0
    at JSON.parse (<anonymous>)
    at streamToValue (<PATH>/node_modules/ipfs-http-client/src/utils/stream-to-json-value.js:25:18)

After updating to the latest version of ipfs-http-client, it looks like the real error is
Error: Gateway Timeout


impl TextLen for &'_ Arc

Is this intentionally missing ?
Would be nice :)
impl TextLen for &'_ Arc { fn text_len(self) -> TextSize { self.as_str().text_len() } }

Kind of: we just follow the concervative set of impls of std::Pattern: https://doc.rust-lang.org/stable/std/str/pattern/trait.Pattern.html#implementors

Maybe that's a restriction which makes more sense for std though.
But more importantly, this cannot be worked around because of the Sealed :(

Yes, this needs to be fixed at the call-site by calling .as_str(), which doesn't seem like the end of the world to me :)

That's definitely out-of-date documentation on TextSize::of; I wrote it when we had much more aggressive blanket impls for TextLen.
Our general consensus (for 1.0 at least) was that TextSize::of should be used just for primitives (i.e. what was of_str and of_char in text_unit), and compound types could either provide a primitive conversion (to feed into TextSize::of), or its own ad-hoc accessor.

we just follow the concervative set of impls of std::Pattern

We should probably add an impl for &[char] then...


DataStore to support auth directive with allow: private

Is your feature request related to a problem? Please describe.
The library currently does not construct correct API requests when using DataStore/model based API requests for backends provisioned with auth directive using allow: private.
Describe the solution you'd like
Support for auth directive with allow: private with different providers, and operations combinations.

I encountered the same issue, my current solution is to give all owner-crud-public-read models public-crud access
hopefully this can be solved soon
please let me know best practice to upgrade to owner-crud-public-read once this issue get solved :)

I encountered the same issue, my current solution is to give all owner-crud-public-read models public-crud access
hopefully this can be solved soon
please let me know best practice to upgrade to owner-crud-public-read once this issue get solved :)

Released https://docs.amplify.aws/lib/datastore/setup-auth-rules/q/platform/ios#private-authorization


[Avocado] support service group folder scenario

Avocado cannot identify the readme under service group folder. There're more and more services using service group folder structure and tooling should extend the support for this scenario.
Rule | Message
-- | --
❌ MISSING_README | Can not find readme.md in the folder. If no readme.md file, it will block SDK generation.folder: Microsoft.Quantum/preview/2019-11-04-preview/examples
❌ MISSING_README | Can not find readme.md in the folder. If no readme.md file, it will block SDK generation.folder: resource-manager/Microsoft.Quantum/preview/2019-11-04-preview
❌ MISSING_README | Can not find readme.md in the folder. If no readme.md file, it will block SDK generation.folder: d04a75907d3e0afd2e12b27a579867d538656f9f/specification/quantum/resource-manager

<!--EndFragment-->
</body>
</html>Rule	Message
❌ [MISSING_README](https://github.com/Azure/avocado/blob/master/README.md#MISSING_README)	Can not find readme.md in the folder. If no readme.md file, it will block SDK generation.
folder: [Microsoft.Quantum/preview/2019-11-04-preview/examples](https://github.com/Azure/azure-rest-api-specs-pr/blob/d04a75907d3e0afd2e12b27a579867d538656f9f/specification/quantum/resource-manager/Microsoft.Quantum/preview/2019-11-04-preview/examples)
❌ [MISSING_README](https://github.com/Azure/avocado/blob/master/README.md#MISSING_README)	Can not find readme.md in the folder. If no readme.md file, it will block SDK generation.
folder: [resource-manager/Microsoft.Quantum/preview/2019-11-04-preview](https://github.com/Azure/azure-rest-api-specs-pr/blob/d04a75907d3e0afd2e12b27a579867d538656f9f/specification/quantum/resource-manager/Microsoft.Quantum/preview/2019-11-04-preview)
❌ [MISSING_README](https://github.com/Azure/avocado/blob/master/README.md#MISSING_README)	Can not find readme.md in the folder. If no readme.md file, it will block SDK generation.
folder: [d04a75907d3e0afd2e12b27a579867d538656f9f/specification/quantum/resource-manager](https://github.com/Azure/azure-rest-api-specs-pr/blob/d04a75907d3e0afd2e12b27a579867d538656f9f/specification/quantum/resource-manager)

This is an example PR.
https://github.com/Azure/azure-rest-api-specs-pr/pull/12613
//CC: @weshaggard  @konrad-jamrozik

Relevant Teams discussion.

Another relevant Teams discussion.

This is relevant to:

https://github.com/Azure/azure-sdk-tools/issues/8203


Add a parameter that controls the number of StreamLoad tasks committed per partition #92

Add a parameter that controls the number of StreamLoad tasks committed per partition
Issue Number: close #92

Does it affect the original behavior: (I Don't know)
Has unit tests been added: (No)
Has document been added or modified: (Yes)
Does it need to update dependencies: (Yes)
Are there any changes that cannot be rolled back: (No)

Thank you for your contribution, can you resolve the conflict?

If the data is processed according to the partition, when a single partition is particularly large, there may be problems in a streamload?

Yes, for this problem, you need to prompt the user in the parameter description that "reparation needs to be used to ensure that the data volume per partition is in a reasonable range after this parameter is enabled". Do you think it is appropriate?

If the data is processed according to the partition, when a single partition is particularly large, there may be problems in a streamload?

If the data is processed according to the partition, when a single partition is particularly large, there may be problems in a streamload?

Yes, for this problem, you need to prompt the user in the parameter description that "reparation needs to be used to ensure that the data volume per partition is in a reasonable range after this parameter is enabled". Do you think it is appropriate

If the data is processed according to the partition, when a single partition is particularly large, there may be problems in a streamload?

Yes, for this problem, we need to prompt the user in the parameter description that "reparation needs to be used to ensure that the data volume per partition is in a reasonable range after this parameter is enabled". Do you think it is appropriate?


New API to get workflow engine readiness status

In what area(s)?

/area runtime

/area operator

/area placement

/area docs

/area test-and-release

Describe the feature

Currently, the runtime status of the workflow engine is not directly accessible and only visible in log messages. This change would expand the current healthz api to also relay the status of the workflow engine.
3 Options:

Extend GET /metadata API to have a property for whether or not workflow engine is ready
Create a new healthz/wfengine
Create /workflow/healthz

Option 3 would allow us to have both gRPC as well as HTTP whereas option 2 would only allow for HTTP.
Release Note

RELEASE NOTE:

My preference would be for /workflow/healthz, to keep it under the /workflow umbrella. Also because /healthz* endpoints are currently HTTP-only, and this could be implemented in gRPC too

Is the goal to use it as a healthz endpoint used by Kubernetes (a) or to have apps and users to invoke the API for debugging and troubleshooting (b)?
For (a), I vote for using the metadata API (1) since it is accessible in both protocols and is part of the SDK interface.
For (b), I vote for another option: add it to the existing healthz health check but detailed output only present in (1).
For healthz, I think users will want to compose multiple conditions as time goes by and K8s only invokes one, so we need to handle the composition of health statuses into a single endpoint.

+1 for option (1) - binding

@artursouza the use case is closer to B. The SDKs, as well as our test code, need a way to check if the WF engine is ready. It's not meant for human consumption directly.

@RyanLettieri Can you clarify this? Because our chat in Discord was the opposite.

@artursouza sorry for the confusion, @ItalyPaleAle is correct on his explanation

In that case, it is similar to the discussion we had in the components discussion today. Health check is composed into the existing /healthz endpoint and the detail output is in metadata API.

The discussion is that the workflow engine is initialized after the API server is up, so it created a new waiting point for the sidecar to be used. @ItalyPaleAle will check if we can move it to prior, like we do for components, so the workflow engine can behave like every other building block we have.


Not possible to execute a WHERE condition from a parent entity with discriminators (with InheritanceType JOINED and DiscriminatorMap and DiscriminatorColumn)

Hello,
Not possible to execute a WHERE condition from a parent entity with discriminators (with InheritanceType JOINED and DiscriminatorMap and DiscriminatorColumn)
It seems that the persist (and the cascade persist) works:
Https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php#L60
Https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/Persisters/Entity/JoinedSubclassPersister.php#L429
The logic of "parent.children.column = 12" should be the same in the WHERE condition
And well understood a WHERE on a column of a LEFT JOIN and is always possible in MySQL, there is no reason that it is not in Doctrine ...
Manual addition of the WHERE in the MySQL query (just to test):
This works manually in MySQL:
"SELECT a0_.id AS id_0, a0_.name AS name_1, f1_.fin_size AS fin_size_2, d2_.tail_size AS tail_size_3, d2_.ears_size AS ears_size_4, a0_.discriminator AS discriminator_5 FROM animal a0_ LEFT JOIN fish f1_ ON a0_.id = f1_.id LEFT JOIN dog d2_ ON a0_.id = d2_.id WHERE d2_.tail_size = 12"
Here is an example code:

<?php
namespace CoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="CoreBundle\Repository\AnimalRepository")
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="discriminator", type="string")
 * @ORM\DiscriminatorMap({"animal":"CoreBundle\Entity\Animal","fish":"CoreBundle\Entity\Fish","dog":"CoreBundle\Entity\Dog"})
 */
class Animal
{

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @ORM\Column(type="string", nullable=true)
     */
    private $name;

}

<?php
namespace CoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 */
class Dog extends \CoreBundle\Entity\Animal
{

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $tailSize;

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $earsSize;

}

<?php
namespace CoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 */
class Fish extends \CoreBundle\Entity\Animal
{

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $finSize;

}

$em = $this->get('doctrine')->getManager();

$dogEntity = new Dog();
$dogEntity->setName('bulldog');
$dogEntity->setTailSize(12);
$dogEntity->setEarsSize(10);
$em->persist($dogEntity);

$fishEntity = new Fish();
$fishEntity->setName('trout');
$fishEntity->setFinSize(6);
$em->persist($fishEntity);

$animalEntity = new Animal();
$animalEntity->setName('test');
$em->persist($animalEntity);

$em->flush();

// OK
$animalRepository = $em->getRepository(Animal::class);
$queryBuilder = $animalRepository->createQueryBuilder('a');
$query = $queryBuilder->getQuery();
dump($query->getDQL());
dump($query->getSQL());
dump($query->getParameters());
$animals = $query->getArrayResult();
dump($animals);

// ERROR : Error: Class CoreBundle\\Entity\\Animal has no field or association named dog.tailSize
$animalRepository = $em->getRepository(Animal::class);
$queryBuilder = $animalRepository->createQueryBuilder('a');
$queryBuilder->where('a.dog.tailSize = 12'); // <<< ERROR <<<
// or : $queryBuilder->where('CoreBundle\Entity\Dog.tailSize = 12'); // <<< ERROR <<<
$query = $queryBuilder->getQuery();
dump($query->getDQL());
dump($query->getSQL());
dump($query->getParameters());
$animals = $query->getArrayResult();
dump($animals);

Yes .. it is possible to filter that the entity child:
$queryBuilder->where('a INSTANCE OF CoreBundle\Entity\Dog');
Which will add:
... WHERE a0_.discriminator IN ('dog')
It is still not possible to make a WHERE

Yes .. it is possible to filter that the entity child:
$queryBuilder->where('a INSTANCE OF CoreBundle\Entity\Dog');
Which will add:
... WHERE a0_.discriminator IN ('dog')
It is still not possible to make a WHERE

From a type perspective, Animal.tailSize does not exist, while Dog.tailSize does.
DQL is not SQL, as DQL is statically checked. Support for this feature won't be added unless we add cast support in DQL.
Closing as invalid

It's no matter what! I understand better why not many people use the doctrine of inheritance: in fact, it is useless! Apart from doing a SELECT without WHERE. I do not see the value of the inheritance if it is for not having access to the child's data.
Thanks anyway :/
Pity.

@josedacosta it is still useful if you select a single child in the inheritance.

yes I grant you, INSTANCE OF, has already helped me more than once
$queryBuilder->where('a INSTANCE OF CoreBundle\Entity\Dog');
thanks

No it needs to be the correct inheritance level in the FROM clause.
On 30 Mar 2017 1:41 p.m., "José DA COSTA"<EMAIL_ADDRESS>wrote:

yes I grant you, INSTANCE OF, has already helped me more than once
$queryBuilder->where('a INSTANCE OF CoreBundle\Entity\Dog');
thanks
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/doctrine/doctrine2/issues/6371#issuecomment-290505883,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJakCoYChmlAGk_aQ8zRGnVl248zhXjks5rq_c-gaJpZM4MtrYm
.

i understand this not fit with doctrine idea, but its really missing feature

It's fully available in SQL ;-)


Update Get-AzureADAuditSignInLogs.md

Two changes made. Changed code fencing in summary, and changed prompts in the examples to be cross platform.

Hello @doctordns , thanks for your contribution. Please redo this PR to make your base branch master instead of live according to policy.

Closed


branch: opacity-collapse

Changes for https://github.com/phetsims/scenery/issues/293 (don't backbone everything with opacity), and potentially some for Canvas caching.

Removed branch, everything was merged into master.


impossible to launch

Hello and thank you for your work,
I downloaded "Process hacker 2" from a site,
"win2_build.zip" and "source code.zip" on your github.
I extracted the zips to my desktop.
When I run process hacker 2 I go to Miscellaneous > inject DLL >
There I only find the file "\Win32_Build\Win32\Debug\DEBUG_Omegaware CrushCrush.dll"
When I launch it nothing happens, when I go into the game and hit "insert" nothing happens either.
Can you tell me the exact procedure to follow if I have made a mistake please? THANKS.

Try use Extreme Injector, not Process Hacker 2...

add vidweo be good

try download Release version of this Cheat!!!

try download Release version of this Cheat!!!

I was here:
https://github.com/Omega172/Crush-Crush-Cheat/releases/tag/V.0.410
I downloaded the 3 files just in case.
There are no other DLLs.
Can you do a quick tutorial? sorry but I'm really lost.

no... Sorry, I can't do a quick tutorial

Ok  And can you give me the position of the DLL because I did a search in my files and nothing except DEBUG.

https://www.youtube.com/watch?v=4X9lxytX4ek


LaravelPint does not work with the Windows version of laravelHerd

Describe the bug
When command is executed from terminal, it is formatted properly. But when the file is saved, it is not formatted.

Good one, no idea how can I help with this as a Mac user, probably need to check where PHP is being installed and if any PHP / artisan command is available to run on default Windows terminal

Can confirm this also applies to Mac version.

I'm on windows, when i exucute ./vendor/bin/pint works well, but not with extension, works well on WSL with laravel sail, but not on windows with laravel Herd

I'm on windows, when i execute ./vendor/bin/pint works well, but not with extension, works well on WSL with laravel sail, but not on windows with laravel Herd

Probably the same problem

installed

It has been confirmed that php command can be executed in the container.

installed

It has been confirmed that php command can be executed in the container.

@d8vjork I am having the same issue.
Do you have any steps for running the extension running from source code and adding some logs to see whats actually happening?

@d8vjork I am having the same issue.
Do you have any steps for running the extension running from source code and adding some logs to see whats actually happening?

Just use the tasks from the debug side panel of VSCode when open this project while the yarn watch running

@d8vjork I checked and set shell:true to fix this issue on Windows with Laravel Herd.
Can you tell me how to build the extension so I can test it as an extension?
const exec = spawn(this.cmd, this.args, {
    cwd: cwd || this.cwd,
    shell: true
});

Found it. Please try this and let me know if it fixes the issue for you.
laravel-pint-1.2.1-test.zip

@d8vjork For the global pint,, the command is wrong..
current command is : php pint --preset laravel d:\\Projects\\devil-www\\laravel-turso\\app\\Http\\Middleware\\Authenticate.php
it should not have php in starting. because you get the Could not open input file: pint error.

I try fix and formating working when i save file but not work when i click right and manual format.... its possible?

I try fix and formating working when i save file with autoformat but not work when i click right and select format.... its possible?

Thanks fort the reply.. I will check it.

@d8vjork For the global pint,, the command is wrong..
current command is : php pint --preset laravel d:\\Projects\\devil-www\\laravel-turso\\app\\Http\\Middleware\\Authenticate.php
it should not have php in starting. because you get the Could not open input file: pint error.

I believe this was like that due to some other shells and/or OS having a problem running just the file without the language interpreter binary prepended (I don't think the shebang is supported by all operating systems)

I believe this was like that due to some other shells and/or OS having a problem running just the file without the language interpreter binary prepended (I don't think the shebang is supported by all operating systems)

Other shells in windows?

@vikas5914  @d8vjork Is there any progress, can we get a fix asap?
I'm getting the following message when file is saved, but no change in the file:
["INFO" - 12:47:45 PM] Extension Name: open-southeners.laravel-pint.
["INFO" - 12:47:45 PM] Extension Version: 1.2.0.
["INFO" - 12:57:42 PM] Formatting completed in 409ms.

@checkuzd can you try this version: https://github.com/open-southeners/vscode-laravel-pint/files/15135605/laravel-pint-1.2.1-test.zip


Add a "Lock" option for minigames (and other controls?)

The problem I have is that there are lots of clickable things in cookie clicker, and many of them are very sensitive - I don't want to click them at the wrong time (uprooting an expensive baby plant, casting the wrong spell, spending sugar lumps accidentally etc.). Yet there are events like cookie storm where I need to click all over the place.
I can safely "mute" buildings to collapse them up to the top, but it's tiresome to click 2 different places to mute then unmute a building, and I might want to be able to see my garden to monitor it while also keeping it safe from stray clicks.
A. To the left of the "Mute" button on a building have a "Lock" button which toggles between locked and unlocked. When locked I should be able to hover to see tooltips in the locked building, but not take any click actions on the building.
The other ideas in this issue will be tracked in their own issues as appropriate.

B. When I mute a building don't scroll the other buildings up - I want to be able to click "Mute" and then "unmute" without moving my mouse. Keep a placeholder for the buildings even while muted.
C. Create another view for the game where the minigames are in a grid separate from the aesthetic-only buildings. I'm envisioning a garden box as it currently is, stock right below that, then on the same row the pantheon and grimoire. Then, below all those a grid of square spaces representing each of the other bulidings.
D.
E. Add keyboard shortcuts or extra clickable buttons to do things like "Mute all buildings" "open grimoire" "Cast force the hand of fate"

I have added a lock button to all buildings on the dev-branch of Cookie Monster.
Can you see if this gives you the desired effect? Currently the setting is not saved across different sessions, but I will make sure include this before releasing a new version.

Functionality: Great!
Usability: I'd like if the status of whether a building is locked or
unlocked was separate from the button.
Then, i'd like the button to be the verb that clicking it will do. So
maybe the button would read "Lock" or "Unlock" and then to the left of the
buttons there would be a lock icon which is either shut or open to indicate
whether the building is currently locked or unlocked.
Better for showing the lock/unlock status would be adding an overlay over
the whole building display (at least over the minigames like the garden).
Maybe a semi-transparent pattern of Lock icons or chains+locks or prison
bars. My thought with this is that if I want to click on something in my
garden I now have to glance in the bottom right to check that the garden is
unlocked first. If I knew that a clear view of the garden meant that it was
unlocked, and were it locked then I'd see the locking overlay it would be a
more seamless and intuitive experience.
On Mon, Jul 5, 2021 at 9:04 AM Daniël van Noord @.***>
wrote:

I have added a lock button to all buildings on the dev-branch of Cookie
Monster.
Can you see if this gives you the desired effect? Currently the setting is
not saved across different sessions, but I will make sure include this
before releasing a new version.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CookieMonsterTeam/CookieMonster/issues/763#issuecomment-874138864,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHST53SPQ6X7N7LOSIAQH2TTWG3VTANCNFSM42TQ64HQ
.

--
Kevin Anderson


Taken branches and Jumps checking if the taken address is less than topBound-2 is not useful

The current scheme requires that the jumps (CJALR, etc) or taken branches do not throw an exception only if the capability's topBound is at least redirected address + 2. This not only repeats the bounds check performed during instruction fetch again during execution, but also does not provide with the caller address in case of an exception where the topBound = redirected address + 2, but the taken instruction is not compressed (because such an exception will happen only in the instruction fetch where the caller info is lost).
It would be easy to add another CSR, MEPrevPCC that always stores the value of the previous instruction so that we know the address of the caller in case of a topBound exception on a jump or taken branch. Or, we can do this micro-architecturally, such that architecturally, in the case of a jump or a taken branch, MEPCC contains the previous instruction's address (and MEPCC contains the current excepting instruction's address otherwise). Either solution would eliminate the check for topBound being at least 2 bytes more than the address of a taken branch or jump and provides better debugging info.

This has been a reason for long discussions both. You will always need the bounds check in instruction fetch. Every instruction changes the PCC and thus can fall out of bounds, e.g., a conventional add instruction executes and goes to the next PC. Thus we need the bounds check in instruction fetch.
In the base ISA, branches can raise instructions if the are misaligned. I have copied in the relevant paragraph of the unprivileged base ISA:
"The conditional branch instructions will generate an instruction-address-misaligned exception if the target address is not aligned to a four-byte boundary and the branch condition evaluates to true. If the branch condition evaluates to false, the instruction-address-misaligned exception will not be raised."
RISC-V chose to build an architecture without some way to identify the previous failing instruction. If we now added some way to identify the previously failing instruction, we would also need to change that in the base ISA and provide that mechanism.

@francislaus is correct - this is an issue with the underlying architecture not with CHERI

This has been a reason for long discussions both. You will always need the bounds check in instruction fetch. Every instruction changes the PCC and thus can fall out of bounds, e.g., a conventional add instruction executes and goes to the next PC. Thus we need the bounds check in instruction fetch.

I am not suggesting that we remove the check during instruction fetch. I am suggesting we remove it during instruction execute.

In the base ISA, branches can raise instructions if the are misaligned. I have copied in the relevant paragraph of the unprivileged base ISA: "The conditional branch instructions will generate an instruction-address-misaligned exception if the target address is not aligned to a four-byte boundary and the branch condition evaluates to true. If the branch condition evaluates to false, the instruction-address-misaligned exception will not be raised."

I am not suggesting we change the handling of misaligned exceptions. (And even the above paragraph is not true if we have compressed instructions. Quoting: "The alignment constraint for base ISA instructions is relaxed to a two-byte boundary when instruction extensions with 16-bit lengths or other odd multiples of 16-bit lengths are added (i.e., IALIGN=16).", but this point about misaligned exceptions is irrelevant to what I am suggesting).

RISC-V chose to build an architecture without some way to identify the previous failing instruction. If we now added some way to identify the previously failing instruction, we would also need to change that in the base ISA and provide that mechanism.

Base RISC-V does not have a capabilities bound check. It has a bounds check for page fault detection (which could be improved) but that again has nothing to do with capabilities bound check. With CHERI, we have an opportunity to do the correct thing, so I suggest we either add a new CSR or change the behavior of the new MEPCC CSR (which is already different from the base MEPC CSR).
Can you please reopen the issue till we have had some discussion before it is resolved? Or should I open a new issue with the same content, since I don't see a button to reopen this issue.

@tariqkurd-repo

If there was a way to determine the invoking instruction (e.g. via another CSR) would allow removing the check on jumps. However, without a way to determine this, you could create an OOB capability to another compartment and when invoked it would appear that the target compartment did somethign illegal rather than the caller.
I'll re-open this to continue discussion if we could use some other mechanism other than at-source bounds checks.

Thanks @arichardson.
I skimmed through base RISC-V unprivileged and privileged specs. Bounds check is brand-new behavior in CHERI. In RISC-V, one could potentially have a page fault on a 4-byte instruction that is the target of a taken branch/jump and which is straddling between pages; but the remedy for that would be to simply map the new virtual page to a physical page. So it's sufficient to simply check for page faults during instruction fetch in base RISC-V. Whereas in CHERI it's illegal.
NB: The misaligned exception is triggered by the caller during its execution rather than the callee during instruction fetch.

However, without a way to determine this, you could create an OOB capability to another compartment and when invoked it would appear that the target compartment did somethign illegal rather than the caller.

Exactly! We need the source error handler to handle this.

@vmurali To make sure I understand.  For this option:

Or, we can do this micro-architecturally, such that architecturally, in the case of a jump or a taken branch, MEPCC contains the previous instruction's address (and MEPCC contains the current excepting instruction's address otherwise). Either solution would eliminate the check for topBound being at least 2 bytes more than the address of a taken branch or jump and provides better debugging info.

This would leave the architecture unchanged, but eliminate the duplicate bounds check?

This would leave the architecture unchanged, but eliminate the duplicate bounds check?

It doesn't need a new CSR, but the semantics of MEPCC changes. It does avoid the duplicate bounds check at execution time.
A concrete example when the behavior will be different with the proposed change is when there's a trampoline containing a 4-byte instruction, and the caller assumes it's a 2-byte instruction trampoline. The fault will during instruction fetch of the trampoline, but MEPCC would point to the caller in the proposed change, whereas it would have pointed to the trampoline previously.

@vmurali Thanks for the clarification!
A microarchitectural aspect I forgot to mention; we don't usually require an "extra" bounds check in the pipeline, since capability execution already requires a bounds check (for CSetBounds, for example).  Each capability instruction uses this bounds check at most once. The jumps and branches each have a chance to use this bounds check if they like, and with the current architecture, they like.

Yeah, you don't need another functional unit, but the inputs of that functional unit now has to deal with JALR/JAL also; and the output has to go into the priority chain for exceptions for JALR/JAL. There's still some cost to this routing and muxing. It would have been fine if this bought us something.
(I agree adding a new register (architecturally or microarchitecturally) will have some cost too.)

We need a representability check in J/B to avoid non-monotonicity when jumping outside of the representable region of a capability.  There isn't a lot of difference between a representability check and a bounds check, so as long as both the fetch unit and jumps need to be capable of generating exceptions I don't feel strongly about this.  The only way this could turn into a significant benefit is if exceptions were completely removed from jumps and branches; this would worsen debugging for jumps to invalid capabilities, but programmer expectations for being able to see the source of a jump to NULL without additional mechanisms like CTR are not high.

This is a valid point! We now have to do representability checks in Jumps/taken branches.
However, the higher level issue remains: we cannot determine if the target address contains a compressed instruction or not, and it is not okay to check if just 2 bytes are within bounds and fail during instruction fetch if the target instruction ends up being a 4-byte instruction. It's not very difficult to hit a problem with that approach: consider a 2-byte trampoline which is JIT-ed to inline the code the trampoline jumps to. Before JIT-ing, the jump would be pointing to the trampoline, but after JIT-ing, the jump's capability bounds must be updated to reflect the inlined code's bounds. If the exception occurs only in fetch of the target, we wouldn't be able to fix the bounds at the caller.
There are two ways to fix it:

Perform a representability check during execution of jumps/taken branches and raise a tag violation at the jump/branch.
If it's a taken branch/jump, perform a bounds check of the new PC w.r.t. the previous PC (that we have stored in MPrevPCC or some such register) and raise a bounds violation. This eliminates exceptions in branches and JAL (but not in JALR - that requires other checks, viz. tag, seal, Exec permission).

it is not okay to check if just 2 bytes are within bounds and fail during instruction fetch if the target instruction ends up being a 4-byte instruction

Sure it is. Don't give out those capabilities if you don't want people to use them.

It's not very difficult to hit a problem with that approach: consider a 2-byte trampoline which is JIT-ed to inline the code the trampoline jumps to. Before JIT-ing, the jump would be pointing to the trampoline, but after JIT-ing, the jump's capability bounds must be updated to reflect the inlined code's bounds.

That's a temporal safety issue. Revoke the capability before you reuse it for something else.

Sure it is. Don't give out those capabilities if you don't want people to use them.

The scenario I mentioned shows why it's not always the case that one has the right capabilities. Also, if one doesn't give out those bad capabilities, why bother doing a bounds check during fetch? We just have to ensure that we don't fall off the bounds when incrementing the PC and all jump/branch targets are to good capabilities.

That's a temporal safety issue. Revoke the capability before you reuse it for something else.

What I showed is the algorithm for revocation - the caller gets rid of the bad capability and constructs a new capability for the changed code.

MPrevPCC

I'm strongly opposed to adding new architectural state to debug control transfers when we have perfectly good E-Trace and CTR extensions that should compose with CHERI.

I'm strongly opposed to adding new architectural state to debug control transfers when we have perfectly good E-Trace and CTR extensions that should compose with CHERI.

We don't need an architectural state. It could be micro-architectural and MEPCC will point to the prev PC in case of bounds violation on a J/B target instruction fetch.

MPrevPCC

I'm strongly opposed to adding new architectural state to debug control transfers when we have perfectly good E-Trace and CTR extensions that should compose with CHERI.

There is a need in a compartmentalised world for fault handlers to know what PCC is truly responsible for the fault (i.e. if you fabricate an untagged capability into another compartment, the OS needs to be able to determine it was you, not the compartment at that address, who should be blamed and killed), so in a world where jumps don't check their targets prior to changing PCC mprevpcc or whatever would provide such a mechanism, but that doesn't mean it's the right design.

so in a world where jumps don't check their targets prior to changing PCC

Just to re-iterate, the current spec does exactly that - a bad capability that passed the bounds violation (for + 2 bytes) before changing PCC but failed at target instruction fetch.

so in a world where jumps don't check their targets prior to changing PCC

Just to re-iterate, the current spec does exactly that - a bad capability that passes the bounds violation (for + 2 bytes) before changing PCC but fails at target instruction fetch.

But it's tagged, so the caller didn't fabricate it from nowhere.

But it's tagged, so the caller didn't fabricate it from nowhere.

It got it prior to JIT-ing in my example. (And the revocation mechanism is reliant on this exception being flagged at the caller.)

But it's tagged, so the caller didn't fabricate it from nowhere.

It got it prior to JIT-ing in my example. (And the revocation mechanism is reliant on this exception being flagged at the caller.)

Well don't do that then?

Well don't do that then?

If you are relying on never executing bad/buggy code, and/or not using straightforward algorithms for revocation, one might as well get rid of most of the checks in CHERI.

Well don't do that then?

If you are relying on never executing bad/buggy code, and/or not using straightforward algorithms for revocation, one might as well get rid of most of the checks in CHERI.

That's an extremely unhelpful reply, and clearly that's not what I'm saying. What I'm saying is that the algorithm you dreamed up to use in place of the one that the architecture has been designed to support does not work.

That's an extremely unhelpful reply, and clearly that's not what I'm saying

Sorry I didn't mean to be unhelpful or dismissive. I feel this conversation is going in circles.
My point is that performing the +2 byte bounds check is not sufficient in all cases (as I have shown), and not necessary in some cases (for instance, when the capability is provided from a trusted source, as you have stated). So that check has to be fixed in this spec.

in place of the one that the architecture has been designed to support does not work.

And what is the current spec supported revocation mechanism for JIT-ed code whose caps are no longer valid?

We can't "fix" this because there's nothing we can do that will satisfy everyone.  No matter what we do, some sequence of operations will lead to a crash that does not point directly to a root cause.  The first instruction isn't special; a sequence of instructions that fails due to a bounds issue after several instructions isn't meaningfully different from a bounds problem at +2 bytes.  A crash stops the current sequence of instructions, which will generally be identified using sscratch or mhartid, not the program counter (which could be part of a shared library).  If you're depending on what is fundamentally a debugging feature for memory allocation or process management, you probably have a deeper problem, do you want to elaborate on it?

And what is the current spec supported revocation mechanism for JIT-ed code whose caps are no longer valid?

Assuming that by "revocation" you mean "temporal safety" I don't see how any of the above helps with removing capabilities in memory.

If you're depending on what is fundamentally a debugging feature

It could be useful even during a gdb session to know the calling instruction in case of a crash on a jump target. HartID, cause etc are extremely useful, but so is knowing the sequence of instructions that led to the crash. I agree that a second jump loses all information about a prior jump, but at least having some history of instructions is better than nothing.

Assuming that by "revocation" you mean "temporal safety" I don't see how any of the above helps with removing capabilities in memory.
memory allocation or process management, you probably have a deeper problem, do you want to elaborate on it?

The system I am interested is a "para-virtualized" collection of compartments i.e. each compartment has its own exception handler - exceptions don't usually result in crashes, and can even be used to implement certain features. Inter-compartment calls are usually via trampolines but dynamically, one could inline the actual code in place of the trampoline. The system-level trap handler calls the calling compartment's exception handler to fix an inter-compartment call. The calling compartment will then query the callee compartment for the new caps. Hope this gives you a sense of what I am talking about. Most of my issues (PTE, purecaps, no protection rings) are with such a system in my head.
The complexity in +2 byte check is because the check misses the fact that the trampoline has been changed, so the compartment's error handler can no longer execute.

Cool ideas!  Maybe I'm naive in thinking that waiting for a trap and trying to fix up the faulting capability is not very general purpose, since capabilities are usually copied, so in an idiot's implementation, you would end up fixing up every time.  To avoid this, you're going to need a structure where you store your capability to your trampoline in exactly one place and always load it from there.  If that is the case, then cataloging all the places that need an update when the trampoline is changed isn't too onerous.
While we're tilting at straw men, here's another thought.  If you are changing the size of a "trampoline" to in-line the function, it seems like it would be quite a special case that you could leave it in the same spot.  It seems more likely that you would allocate the new in-lined function somewhere with a bit more space.  In that case, you can put an "ecall" or something in the trampoline, and look at the link register to figure out where you've come from?  On the other hand, if you're doing a protection-domain crossing, you don't have a reliable link register, but you're likely to have some kind of mechanism to know who to return to that should hopefully be trustworthy.

While we're tilting at straw men

I agree! The main point seems to get lost: target+2 bytes check is not sufficient to catch exceptions at the caller.
There are several ways to address it, whose pros and cons is what we should be discussing instead:

Only representability checks at J/B execution and normal bounds checks at instruction fetch. (Reports previous PC on instruction fetch bounds failure on J/B targets.)
Bounds check using previous PC at instruction fetch for J/B targets. (Eliminates exceptions in JAL and B, but not in JALR; Also reports previous PC on instruction fetch bounds failure on J/B targets.)
Target+4 bytes check at J/B execution (Makes it conservative and sufficient, but obviously not necessary).
Live with the imperfection.

I am clearly not a fan of 4 (or 3, for that matter).

@vmurali unfortunately, you don't appear to have convinced anyone yet of:

target+2 bytes check is not sufficient to catch exceptions at the caller

In the case of distrusting compartments, the contents of the sealed entry point capability are the responsibility of the callee.  The architecture is only meant to ensure that the sealed entry point doesn't change while in the "adversarial" domain.  If a compartment changes use of its memory without somehow taking account of entry points it has previously distributed, it truly deserves any exceptions that it gets. If there is some system for lazily updating references to functions, it's going to need cooperation between compartments, and one can play around with who tells who about the update when, but I guess there isn't a fundamental error in the architecture for not accounting for changing the use of memory after having handed out pointers.

@jonwoodruff : then explain to me the justification of any bounds check during a JAL/Branch instruction? Your reasoning is that the sealed entry point has already been attested to be within bounds, so why check it again?

Edit: @gameboo has reminded me that the justification for Target+2 is that the unit of instruction fetch for RISC-V is explicitly 2-bytes. The instruction fetch state machine fetches 2 bytes at a time, checking their legality as it goes. This means, for example, that a page fault in the middle of a 4-byte instruction happens on the second 2-bytes. This is the justification of Target+2. Just like "clh" defines a 2-byte load, and should check that both bytes are in-bounds, "cjalr" defines a 2-byte load (which then may lead to another 2-byte load, according to the state machine of instruction fetch).

To add to my earlier comment, this doesn't justify Target+2 check. As I point out earlier in this thread, a page fault is an actionable fault, not fatal, and it requires the faulting address precisely. Bounds check in CHERI can be fatal; trying to have a mechanism similar to page fault is not a justification for this check.

then explain to me the justification of any bounds check during a JALR instruction? Your reasoning is that the sealed entry point has already been attested to be within bounds, so why check it again?

I suppose you're asking about CJALR; in the current architecture (as I understand it - I need to figure out how to build it!), the bounds are not actually checked when a capability is sealed.  This means that I could actually seal an out-of-bounds entry point (potentially pointing into another domain) and cause trouble later.  This imagine that this case could also be resolved by clearing the tag on sealing an out-of-bounds capability, though I'm unsure what implications that might have for use with data capabilities.  We do need to check the tag and executability and such before jumping to avoid blaming the caller for misuse of sealed capabilities, so we cannot completely avoid exceptions on jump-to-capability.

And what about JALs and Branches? Their targets are not attested by sealing. I would rather get the error in the caller when I debug wrong code than after the jump/branch has been taken.

If JALs and JALRs (64-bit address from register -> PCC.address) and Bs need a bounds check so that we get the error in the caller, even if we think we might get away without bounds-checking CJALR for sealed capabilities, I guess it's not a very consistent design.

To add to my earlier comment, this doesn't justify Target+2 check. As I point out earlier in this thread, a page fault is an actionable fault, not fatal, and it requires the faulting address precisely. Bounds check in CHERI can be fatal; trying to have a mechanism similar to page fault is not a justification for this check.

The goal isn't to be similar to a page fault, but to be consistent with the idea of instruction fetch in the ISA.  If you are going to bounds-check a branch, do we choose to check the targeted byte?  Or half-word?  Or full-word? As I understand it, the RISC-V ISA defines instruction fetch as occurring in units of half-words (at least if you have "c"...), so a branch instruction is telling the CPU to fetch the half-word at the address; nothing more.  What the CPU does from there depends on what it finds in that half-word.  So a branch need only be responsible for ensuring that the half-word that it points at is accessible.  Beyond that is the responsibility of the code that exists there.

I suppose you're asking about CJALR; in the current architecture (as I understand it - I need to figure out how to build it!), the bounds are not actually checked when a capability is sealed. This means that I could actually seal an out-of-bounds entry point (potentially pointing into another domain) and cause trouble later. I imagine that this case could also be resolved by clearing the tag on sealing an out-of-bounds capability, though I'm unsure what implications that might have for use with data capabilities. We do need to check the tag and executability and such before jumping to avoid blaming the caller for misuse of sealed capabilities, so we cannot completely avoid exceptions on jump-to-capability.

Yes, I meant CJALR (also CJAL and CBranch; none of the non-capability-enhanced instructions).

For CJALR, we need to check tag, executability and immediate = 0 independent of bounds violation; I don't think anyone's disputing those. It's only the bounds check that is being questioned.

If the bounds are not checked when the capabilities are sealed, it means the callee made a mistake (which contradicts what you and jrtc27@ said earlier about sealed caps used in CJALR being correct by fiat). The mistake the callee made could be that Target+2 is within bounds, but the target is a 4-byte instruction. I suppose one could argue that in this case, the error handler at the callee should be handling it. But I would also like to know who the callee sent the wrong cap to, which is the caller.

If JALs and JALRs (64-bit address from register -> PCC.address) and Bs need a bounds check so that we get the error in the caller, even if we think we might get away without bounds-checking CJALR for sealed capabilities, I guess it's not a very consistent design.

For CJALs and CBranches, you won't get the error in the caller if Target+2 is within bounds, Target+4 is not within bounds, and the target is a 4-byte instruction. I am trying to fix exactly this scenario.

The goal isn't to be similar to a page fault, but to be consistent with the idea of instruction fetch in the ISA. If you are going to bounds-check a branch, do we choose to check the targeted byte? Or half-word? Or full-word? As I understand it, the RISC-V ISA defines instruction fetch as occurring in units of half-words (at least if you have "c"...), so a branch instruction is telling the CPU to fetch the half-word at the address; nothing more. What the CPU does from there depends on what it finds in that half-word. So a branch need only be responsible for ensuring that the half-word that it points at is accessible. Beyond that is the responsibility of the code that exists there.

This is a spec, so there's no "correct answer". In my opinion, it is very useful (at least during debugging) to make some CSR (MEPCC?) point to the jump or branch if a bounds exception occurs at the target. This is because, we can see what the target is from the jump or branch, but not the other way around (when the link register is not filled (branches never fill the link register); we may also not know which register is used as a link register since the ISA allows us to use a non-standard link register).

Checking bounds of capabilities at CJALR time instead of fetch time is fundamentally a low-cost, best-effort debugging feature, and it is adequate to that purpose.
Designing a revocation system based on bounds checks and self-modifying code is not an appropriate activity to carry out on a bug tracker, especially not on an issue about a specific instruction.  Please take that somewhere else (I will read an email to the sig-cheri mailing list, as well as the CHERI Slack and #riscv IRC), and come back here if a consensus is reached that a new architectural mechanism is needed.
Can this be closed?

Thank you for clearly stating the proposed change.
Please convince at least one person, somewhere other than here, that your proposed change is useful for any purpose, then return here with support and an edited motivation.
GitHub issues get unwieldy beyond about 10 comments and we've gone far past that just trying to establish the motivation.


chore(deps): update all to latest version

Unfortunately still no fix for this
https://github.com/nuxt-modules/icon/issues/46#issuecomment-1406559857
that I hoped for and we need to re-enable typechecking on CI.

After merging with main locally, I get this error on pnpm dev. Everything seems to run just fine though. Is this something to be concerned about?
 ERROR  [worker reload] Cannot read properties of null (reading 'address')                                                                                7:31:34 PM

  at _reload (node_modules/.pnpm/nitropack@2.8.0/node_modules/nitropack/dist/shared/nitro.37241ef0.mjs:282:38)
  at runNextTicks (node:internal/process/task_queues:60:5)
  at process.processTimers (node:internal/timers:511:9)
  at async _applyPromised (node_modules/.pnpm/perfect-debounce@1.0.0/node_modules/perfect-debounce/dist/index.mjs:54:10)

Good catch. According to the maintainer it seems to be safe to ignore and should be resolved soon.


feat: Automate tag and release versioning

Add in documentation how to use and what it does

test out if workflow works and fix security scan in dependencies

if deploy documentation is called twice, use
on:
  workflow_run:
    workflows: ["CI build"]
    types:
      - completed

https://stackoverflow.com/questions/62750603/github-actions-trigger-another-action-after-one-action-is-completed


singleton handling as list

the single file is taking a string as a list and iterating over it rather than handling a singleton as a single file

issue only occurs if singleton is passed (single media file with no dir); this does not include single media file in directory if directory is passed

not a bug - this is resolved by using $d.base_path as this passes a filename if the torrent is not a directory


Add lexer for Soong (Android.bp) config files

This adds a lexer for Android.bp files which are used by the Soong Android build system.
https://source.android.com/docs/setup/build
Here is an example of a full Android.bp file: platform/frameworks/base/Android.bp.

Hi @Anteru @jeanas, friendly ping! Is there anything I can do to advance this?

Just came back from travel, looking into this now.

Thanks @Anteru. I fixed up the check and regexlint errors.

Thanks for the review, @Anteru! Your comment about whitespace helped me realize there was a deficiency in my previous version (multi-line lists weren't handled correctly). I've corrected this and added a test.
Please take another look!

Thanks @jeanas. All comments have been resolved.


ERD map can let him show comment? thanks!?

ERD map can let him show comment? thanks!

Sorry, not sure I understood this.
Is this about column/table comments in ERD? Where do you think comments can be displayed?


fix: paint word boundary in python

Current paint setup falsely recognize word boundary in python

Sorry, my bad lol


Can't run spaceship - Could not find gem 'pry'

New Issue Checklist

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

Issue Description
When I run fastlane spaceship I get an error Can't run spaceship - Could not find gem 'pry'
Command executed
fastlane spaceship
Complete output when running fastlane, including the stack trace and command used
[✔] 🚀
[20:11:06]: fastlane detected a Gemfile in the current directory
[20:11:06]: However, it seems like you didn't use bundle exec
[20:11:06]: To launch fastlane faster, please use
[20:11:06]:
[20:11:06]: $ bundle exec fastlane spaceship
[20:11:06]:
[20:11:06]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
undefined method username' for #<CredentialsManager::AppfileConfig:0x00007fea7c600478> undefined method username' for #CredentialsManager::AppfileConfig:0x00007fea78c7ec90
Could not find gem 'pry'
If you installed spaceship using gem install spaceship run
gem install pry
to install the missing gem
If you use a Gemfile add this to your Gemfile:
gem 'pry'
and run bundle install
Traceback (most recent call last):
16: from /usr/local/Cellar/fastlane/2.187.0/libexec/bin/fastlane:23:in <main>' 	15: from /usr/local/Cellar/fastlane/2.187.0/libexec/bin/fastlane:23:in load'
14: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/fastlane-2.187.0/bin/fastlane:23:in <top (required)>' 	13: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/fastlane-2.187.0/fastlane/lib/fastlane/cli_tools_distributor.rb:114:in take_off'
12: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/fastlane-2.187.0/spaceship/lib/spaceship/commands_generator.rb:15:in start' 	11: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/fastlane-2.187.0/spaceship/lib/spaceship/commands_generator.rb:52:in run'
10: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/commander-4.6.0/lib/commander/delegates.rb:18:in run!' 	 9: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/fastlane-2.187.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!'
8: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/commander-4.6.0/lib/commander/runner.rb:444:in run_active_command' 	 7: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/commander-4.6.0/lib/commander/command.rb:157:in run'
6: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/commander-4.6.0/lib/commander/command.rb:187:in call' 	 5: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/fastlane-2.187.0/spaceship/lib/spaceship/commands_generator.rb:36:in block (2 levels) in run'
4: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/fastlane-2.187.0/spaceship/lib/spaceship/commands_generator.rb:36:in new' 	 3: from /usr/local/Cellar/fastlane/2.187.0/libexec/gems/fastlane-2.187.0/spaceship/lib/spaceship/playground.rb:12:in initialize'
2: from /usr/local/Cellar/ruby@2.7/2.7.3/lib/ruby/2.7.0/rubygems/specification.rb:985:in find_by_name' 	 1: from /usr/local/Cellar/ruby@2.7/2.7.3/lib/ruby/2.7.0/rubygems/dependency.rb:323:in to_spec'
/usr/local/Cellar/ruby@2.7/2.7.3/lib/ruby/2.7.0/rubygems/dependency.rb:311:in to_specs': Could not find 'pry' (>= 0) among 128 total gem(s) (Gem::MissingSpecError) Checked in 'GEM_PATH=/usr/local/Cellar/fastlane/2.187.0/libexec' , execute gem env` for more information

I have seen a few posts on how to fix this but none of them have worked.

Environment
my Gemfile
source "https://rubygems.org"
gem "dotenv"
gem "fastlane"
gem "pry"
my fastlane env
✅ fastlane environment ✅
Stack

Key
Value

OS
11.4

Ruby
2.7.3

Bundler?
false

Git
git version 2.30.1 (Apple Git-130)

Installation Source
/usr/local/Cellar/fastlane/2.187.0/libexec/bin/fastlane

Host
macOS 11.4 (20F71)

Ruby Lib Dir
<EMAIL_ADDRESS>

OpenSSL Version
OpenSSL 1.1.1k  25 Mar 2021

Is contained
false

Is homebrew
true

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
12.5

Swift Version
5.4

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

default_platform(:ios)

platform :android do
	desc "Runs all the tests"
	lane :test do
		gradle(task: "test")
	end

	desc "Submit a new Beta Build to Crashlytics Beta"
	lane :beta do
		gradle(task: "clean assembleRelease")
		crashlytics

	# sh "your_script.sh"
	# You can also use other beta testing services here
	end

	desc "Deploy a new version to the Google Play"
	lane :deploy do
		gradle(task: "clean assembleRelease")
		upload_to_play_store
	end
end

lane :beta do
#	infoPlistPath = "/Users/paulwilkinson/projects/Unity/BadNRG/Build/iPhone/Info.plist"
#	version = get_version_number()
#	buildNumber = get_info_plist_value(path: infoPlistPath, key: "CFBundleVersion")
	#increment_version_number(version_number: version)
	#increment_version_number()
	build_app(scheme: "Unity-iPhone",
		project: "./Build/iPhone/Unity-iPhone.xcodeproj",
		include_bitcode: true)
	upload_to_testflight
	slack(message: "Successfully distributed a new beta build")
end

platform :ios do

	desc "Get certificates - this is done by build machine"
	lane :certificates do
		update_fastlane
		sync_code_signing(
		  type: "development",
		  app_identifier: 'com.thisco.badenergy',
		  force_for_new_devices: true,
		  readonly: true
		)

		sync_code_signing(
		  type: "appstore",
		  app_identifier: 'com.thisco.badenergy',
		  readonly: true
		)
	end

	desc "Generate new certificates"
	lane :generate_new_certificates do
		update_fastlane
		sync_code_signing(
			type: "development",
			app_identifier: 'com.thisco.badenergy',
			force_for_new_devices: true,
			readonly: false
		)

		sync_code_signing(
			type: "appstore",
			app_identifier: 'com.thisco.badenergy',
			force_for_new_devices: true,
			readonly: false
		)
	end

	desc "deploy"
	lane :deploy do
		update_fastlane
		# Download certs (optional)
		match(type: "appstore")
		match(type: "development")

		setup_ci
		sync_code_signing(
			type: "appstore",
			app_identifier: 'com.thisco.badenergy',
			readonly: true
		)

		build_app(scheme: "Unity-iPhone",
							project: "./Build/iPhone/Unity-iPhone.xcodeproj",
							include_bitcode: true)

		app_store_connect_api_key(
		  key_id: "LJH8X793FT",
		  issuer_id: "69a6de6e-4bd6-47e3-e053-5b8c7c11a4d1",
		  key_filepath: "AuthKey_LJH8X793FT.p8"
		)

		upload_to_app_store(
			force: true,
			run_precheck_before_submit: false,
			submit_for_review: false
		)
	end

	lane :upload do
		app_store_connect_api_key(
		  key_id: "LJH8X793FT",
		  issuer_id: "69a6de6e-4bd6-47e3-e053-5b8c7c11a4d1",
		  key_filepath: "AuthKey_LJH8X793FT.p8"
		)

		upload_to_app_store(
			force: true,
			run_precheck_before_submit: false,
			submit_for_review: false
		)
	end

	lane :bump_version do
		sh "../get_build_number.sh"
		#infoPlistPath = "/Users/paulwilkinson/projects/Unity/BadNRG/Build/iPhone/Info.plist"
        #version = get_version_number(xcodeproj: "./Build/iPhone/Unity-iPhone.xcodeproj")
		#buildNumber = get_info_plist_value(path: infoPlistPath, key: "CFBundleVersion")
    	#increment_version_number(version_number: version)
    	#increment_version_number()
		increment_build_number(build_number: ENV["BUILD_NUMBER"])
	end

	TEMP_KEYCHAIN = "fastlane_tmp_keychain"

	private_lane :remove_temp_keychain do |options|
		begin
			next if !is_ci
			name = options[:name].nil? ? TEMP_KEYCHAIN : options[:name]
			delete_keychain(
				name: name
			) if File.exist? File.expand_path("~/Library/Keychains/#{name}-db")
		rescue => ex
			puts(ex)
		end
	end

end

`./fastlane/Appfile`
json_key_file("bek-api-upload.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("com.thisco.badenergy")
team_name "Paul Wilkinson"
team_id "RPGSNMH65P"
itc_team_id "13820"
itc_team_name "Paul Wilkinson"
<EMAIL_ADDRESS>slack_url("https://hooks.slack.com/services/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")

fastlane gems

Gem
Version
Update-Status

fastlane
2.187.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.4.0

atomos
0.1.3

CFPropertyList
3.0.3

claide
1.0.3

colored2
3.1.2

nanaimo
0.3.0

xcodeproj
1.19.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.7.0

terminal-table
1.8.0

plist
3.6.0

public_suffix
4.0.6

addressable
2.7.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

artifactory
3.0.15

babosa
1.0.4

colored
1.2

highline
2.0.3

commander
4.6.0

excon
0.83.0

faraday-em_http
1.0.0

faraday-em_synchrony
1.0.0

faraday-excon
1.1.0

faraday-net_http
1.0.1

faraday-net_http_persistent
1.1.0

ruby2_keywords
0.0.4

faraday
1.4.3

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.4

faraday-cookie_jar
0.0.7

faraday_middleware
1.0.0

fastimage
2.2.4

gh_inspector
1.1.3

json
2.3.0

mini_magick
4.11.0

naturally
2.2.1

rubyzip
2.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.1

dotenv
2.7.6

bundler
2.2.15

simctl
1.6.8

jwt
2.2.3

uber
0.1.0

declarative
0.0.20

trailblazer-option
0.1.1

representable
3.1.1

retriable
3.1.2

mini_mime
1.1.0

memoist
0.16.2

multi_json
1.15.0

os
1.1.1

signet
0.15.0

googleauth
0.16.2

httpclient
2.8.3

rexml
<IP_ADDRESS>

webrick
1.6.1

google-apis-core
0.4.0

google-apis-playcustomapp_v1
0.4.0

google-apis-androidpublisher_v3
0.7.0

google-cloud-env
1.5.0

google-cloud-errors
1.1.0

google-cloud-core
1.6.0

google-apis-iamcredentials_v1
0.5.0

google-apis-storage_v1
0.5.0

rake
13.0.3

digest-crc
0.6.3

google-cloud-storage
1.32.0

emoji_regex
3.2.2

jmespath
1.4.0

aws-partitions
1.472.0

aws-eventstream
1.1.1

aws-sigv4
1.2.3

aws-sdk-core
3.115.0

aws-sdk-kms
1.44.0

aws-sdk-s3
1.96.1

uri
0.10.0

forwardable
1.3.1

logger
1.4.2

cgi
0.1.0

date
3.0.0

timeout
0.1.0

stringio
0.1.0

ipaddr
1.2.2

openssl
2.1.2

zlib
1.1.0

ostruct
0.2.0

strscan
1.0.3

io-console
0.5.6

delegate
0.1.0

fileutils
1.4.1

singleton
0.1.0

open3
0.1.0

yaml
0.1.0

psych
3.1.0

mutex_m
0.1.0

generated on: 2021-07-04

I added
  gem 'pry'
  gem 'fastlane'
to my Gemfile and ran `bundle install`
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]

Hi @ohthepain
Did you try bundle exec fastlane spaceship as suggested? Are you getting the same issue after that?

Closing this issue, don't see any reply! Please feel free to open a discussion if the issue still exists
https://github.com/fastlane/fastlane/discussions/categories/q-a


python312Packages.pyais: 2.8.1 -> 2.8.2

Diff: https://github.com/M0r13n/pyais/compare/refs/tags/v2.8.1...v2.8.2
Changelog: https://github.com/M0r13n/pyais/blob/v2.8.2/CHANGELOG.txt

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 356125

x86_64-linux

:white_check_mark: 4 packages built:

python311Packages.pyais
python311Packages.pyais.dist
python312Packages.pyais
python312Packages.pyais.dist


feat: Kakarot Rpc method "eth_gasPrice"

eth_gasPrice
Metadata

name: gasPrice
prefix: eth
state: ⚠
specification

Specification Description
Describe the method
Parameters

None

Returns

GasPrice : uint

Kakarot Logic
Describe the interaction with Kakarot and/or Starknet.
e.g. "this method does not interact with the kakarot contract or any other starknet contract."
Kakarot methods
Which Kakarot methods are called?
Starknet methods
Which Starknet RPC methods are called? e.g. "Would be calling the corresponding starknet_gasPrice https://github.com/starkware-libs/starknet-specs/blob/master/starknet_vs_ethereum_node_apis.md"

What should we return here ? The starknet gas price ?


CHANGELOG: update change log for 0.2.2 release

Signed-off-by: Fernando Fernandez Mancera<EMAIL_ADDRESS>

Coverage remained the same at 66.038% when pulling 404217a961594f99c09ddd437e4ce0ce04d9b1c9 on ffmancera:changelog022 into 652c04463cb83dacab08dedec5300fec918e08e9 on nmstate:master.


More GHC8.8.1 fixes

Motivation for this change
I couldn't get one of my haskell projects to work with ghc881 with hoogle, so I tried fixing what I came across.
NOTE: I have never pushed to this repo before and I still consider myself to be fairly new at using nix. So feel free to point out if I did some silly stuff. :smile:
Fix #68879
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@luc-tielen Also, could you edit the message for this PR (this) and put in the text Fix #68879 somewhere so that #68879 is automatically closed when this PR is merged in?

@alexarice Good catch with the foo = super.foo stuff.

@grahamcofborg eval

Thanks! 😃


Problems converting Waters. raw to .mzML

Hi, when I tried to covert my files (Waters. raw) obtained by q-Tof MS to .mzML files using msconvert (the newest version), errors occured:
**Waters RAWreader not implemented: support was explicitly disabled when program was built **
When I used seeMS to open my files (Waters. raw), the same error appeared again.

However, this error didnot occur when opening the same file about 4 months ago.
I'm wondering how to solve this problem, thanks!

Is it possible you downloaded the ProteoWizard archive built without vendor support? If not can you try downloading the latest version again and see if the problem still occurs?


Set a requirement for PyGihub version.

Hopefully, this addresses #146.

The version number set here is the one I have installed on my laptop, which seems to work. I am reluctant to dig deeper into PyGithub to figure out when exactly they settled on this API...


aliases for product and sum types

The following works but I'm required to fully qualify Rabbitmq.Config.ExchangeType when referring to that type from Exchange.
defmodule Rabbitmq.Config do
  import Algae

  alias __MODULE__.ExchangeType # this doesn't work

  defmodule ExchangeType do
    defsum do
      defdata(Topic :: none())
      defdata(Direct :: none())
      defdata(Fanout :: none())
      defdata(Headers :: none())
    end
  end

  defdata Exchange do
    name :: String.t()
    type :: Rabbitmq.Config.ExchangeType.t()
  end
end

Is it possible to alias ExchangeType so that I can refer to it without it's namespace in Exchange?

I had this problem too. It only happens for defining types. Other than that, you can ExchangeType inside any methods in the module


Improved text rendering quality on skia backend.

This adds sub-pixel text support, and smooth fonts on LCD displays.

Shows before and after

one future option is to enable Kerning...
https://en.wikipedia.org/wiki/Kerning
This may improve non-monospaced fonts, but I guess it could affect hittesting, so didn't include it in this PR.


Feature/toast position

Toast now supports bottom, middle, top orientation.
The API docs are updated in our source.  The preview app has the necessary changes but they're commented out for now.
Thanks,
Dan

which version?  2.0.0-beta.7 still didn't work to position: top

@RunningV You can go ahead and try this new feature out by installing the latest Ionic 2 nightly by doing npm install ionic-angular@nightly. This lets your see our new features and changes before we do a stable release, which should be right around the corner (: Thanks for using Ionic!

Is there a way to stack multiple toast notifications on top of each other?


Added download link into the navbar

Description

Added download button into the navbar.
Added new translations for the download button.
Added new accent type for navbar item.

Motivation and Context
Closes #347
Screenshots (if appropriate):

Just a heads up that translations should only be added to the en.json file.

@oleklukasiewicz can you try moving the button to the right side of the menu? This can replace the links to the code and Discord server.

@oleklukasiewicz can you try moving the button to the right side of the menu? This can replace the links to the code and Discord server.

Sure

@yaira2 Like that?

Let's give that a try, if anyone has a better idea down the line we can make changes then.

After playing around with this, the accent color looks out place. Would it be too much trouble to switch to a regular link and put it back with the rest of the menu items? Apologies for changing my mind.

After playing around with this, I think the accent color looks out place. Would it be too much trouble to switch to a regular link and put it back with the rest of the menu items? Apologies for changing my mind.

No problem 😉, with icon or not?

With an icon

@oleklukasiewicz this is really good! Should the link be added to the footer as well?

Sure!


Changed Server.py and added JSONserver.py

Data can now be redirected by two webservers to decouple the database from Grafana

 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.


Uneven margin when logo added to QR

When generating a code with just a background, the margins are evenly spaced around the edges. If I then add a logo, the margin only appears on the right hand side and not on the top, bottom, or left.

Sorry, this should probably be on the js version.


Allow to set sleep to wait for network to be available (Fix #108)

Coverage decreased (-0.05%) to 18.323% when pulling 862c7d3a87e9d855f4ef22bafdd9ef730c01f808 on mcanevet:sleep into e5195f17c24106324e4857db72a22ed55a062584 on camptocamp:master.

Actually it does not fix the issue. Neither do #110...
This is weird


New logo / favicon

Description
This PR updates the logo. This has a sample favicon, which will also be used for the website.
Motivation and Context
New logo = new look.
Types of Changes

[x] Documentation update
[ ] Bug fix
[ ] New feature
[ ] Breaking change1

1The change breaks (or has the potential to break) existing functionality.
Checklist:

[x] I am familiar with the Contributing Guidelines.
[x] I agree with the terms of the Contributor Agreement.
[x] My name is on the list of contributors.
[x] My code follows the code style guideline of this project.
[x] The changes introduced by this pull request are covered by existing or newly introduced tests.

If necessary:

[ ] I have updated the API documentation as part of the package doc-strings.
[ ] I have created a separate pull request to update the framework documentation on signac-docs and linked it here.
[ ] I have updated the changelog.

Screenshots

To clarify, the final version of this will be stacked with a wordmark like the sample image I previously sent, also pasted below. We're doing some final revisions on the wordmark font, so I didn't include that yet. The favicon is ready for review and the style of the sidebar is open for discussion.
Question for reviewers: Do you prefer the sidebar with two shades of dark gray (as below) or one shade split by a colorful bar (as above)?

Do you prefer the sidebar with two shades of dark gray (as below) or one shade split by a colorful bar (as above)? I liked the darker shade behind the logo, since it has greater contrast.

I prefer the two shades of gray.

I tried to do some sharpening on the favicon. If you think it needs more work, please let me know. The current image is 96x96 and is being downsized to 16x16. I chose to include a higher-resolution default because it will look best on high-DPI screens (e.g. modern Macs, all phones and tablets, some Windows PCs, 4k TVs). If we choose to use a smaller image that we hand-tune to be sharper, then it may look slightly worse on high-resolution displays.

I think it's too blurry, my screen resolution is 1080p.

I like the two greys!

At least on my screen it looks good

@glotzerlab/signac-maintainers
The logo doesn't stand off against the lighter gray very well, but I can go with that if @csadorf and @mikemhenry agree on it. Here's the previous two-grays concept again, except as an actual webpage screenshot instead of in Photoshop.

FYI, this is what someone would see with monochromacy / achromatopsia / if this were printed in black and white. Notice how many of the stripes are not visible.

Here is an alternate take with the grays reversed (for higher contrast behind the logo) and an orange border. Let me know if you like this instead.

This is that higher-contrast version in monochrome:

I'm still planning to use the "stacked" logo with the text instead of the palette alone -- just trying to pick a docs design while that is finalized.

I like the darker gray, excited to see how it looks with the stacked logo!

I really like how this is turning out.

@mikemhenry I’ll merge this after you approve. I would like a unanimous vote among maintainers before adapting the other packages.


build image success, but fail to run the image.

I build the image without changing any source code and try to """docker run """ the image on Debian. I ran into this error
standard_init_linux.go:228: exec user process caused: no such file or director

I've just seen my pr was merged, so the image should exist at ghcr.io/googlecloudplatform/spark-operator:v1beta2-1.3.2-3.1.1


fix: Vue hydration fails (fix #89)

Summary
What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Build-related changes
[ ] Other, please describe:

If changing the UI of default theme, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)

You have tested in the following browsers: (Providing a detailed version will be better.)

[x] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge
[ ] IE

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature
[ ] Related documents have been updated
[ ] Related tests have been updated

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.
Other information:

Maybe I didn't express clear enough in my previous comment. I pushed a minor tweak, hope you don't mind.


Feature request: configure max scan parallelism

Is your feature request related to a problem? Please describe.
large scanner job is running at a once, so cluster is auto scaled to large number in a moment.
After job will be completed, cluster have a too many free resources until cluster is down scaled.
Describe the solution you'd like
We would like to configure parrallism for running scanner job.
But currently, MaxScanParallelism is set to 10 as magic number.
https://github.com/openclarity/kubeclarity/blob/01a8c4a1522967acd93341d32274ab8c820279af/backend/pkg/runtime_scanner/scanner.go#L180
I think we can two options as following.
Describe alternatives you've considered
I would like to following,

set default value with cli options.
set specific number via Web UI (include periodically execution).

What do you think of this proposal?
I think it can be implement both.
Additional context
I implemented sample code for pattern 1.

Done in https://github.com/openclarity/kubeclarity/pull/355


What's the status of this project?

Are there any active development? Any plan for bug fixes? Do you need a hand? I was wondering what is the status of this project. Thanks.

I just switched to OSX and I was looking for a Vimium alternative. This project unfortunately seems unmaintained. Perhaps some people are interested in forking this project. I have no experience with Swift but I am good with JS.

Yea I have been meaning to do this. I want to understand code in depth to make some changes. Didn't get the time yet.

Yep time seems to be my constraining factor as well at this point. I am keeping this project in mind as I am heavily using vim bindings throughout my system and I Id like to have them work in my browser as well.

For those who might be interested, I've recently made public an alternative project for Safari - https://github.com/dzirtusss/vifari
It is not a browser extension like Vimium or Vimari, but uses macos accessabiliti api. From user perspective it feels almost the same. Even more, as it is pure lua, it is much easier to do something with it w/o any need for Swift/XCode/Apple/etc.
P.S. As well thanks to all the creators and mainteiners of Vimari. It was great project, and big pity it is not supported anymore. Was using it for some time and it was very helpful. Thanks.


Premake "detection" doesn't seem to work on windows 10

When I run mkvfx.py the script doesn't seem to detect premake4 and 5 properly.
Both executables are set in my path (env. varaibles) and the script even outputs: "premakeX -- version" properly, see output below.
Running premake4 --version
premake4 (Premake Build Script Generator) 4.4-beta5
Running premake5 --version
premake5 (Premake Build Script Generator) 5.0.0-alpha7
MKVFX could not find premake4 and/or 5, please install them and try again

Thanks,
Renaud

Can you try again from this commit?
https://github.com/meshula/mkvfx/commit/2801b9037bd16f1d109440767379ad6dac5c594a
I get the following output (on Windows 10) with premake4 missing, but premake5 installed:
Running premake4 --version
'premake4' is not recognized as an internal or external command,
operable program or batch file.
Running premake5 --version
premake5 (Premake Build Script Generator) 5.0.0-alpha7
MKVFX could not find premake4. Build steps requiring premake4 will fail.

The problem seems to persist after I pulled your latest commit. See attached screenshot.

I'm in the process of re-installing my machine so please ignore the 7zip error. I didn't installed yet.

premake4 returns a different value for success than premake5. Uggh.
https://github.com/meshula/mkvfx/commit/f4791c8d8607c48d76c61e6e30e26a0ec1c9c81a
This should work.

@talonrenaud Did you have a chance to try again?

Please reopen if this is still an issue.


remove fp-model precise and fp-relaxed in qrd design

Existing Sample Changes
Description
A bug has been fixed in the release such that fast-math model does not drop Fmax and throughput anymore. Change to use default compiler configuration.
                qor data change vs baseline
-----------------------------------------------------------
Fmax_kernel                     +1.834% (10)  -4.1% +29.0%
Kernel_area                     +2.843% (10)  -2.3% +48.8%
Logic_util                      -2.484% (10)  -4.4%  -0.8%
Silicon_area                    -1.089% (10)  -1.9%  -0.4%
Status                         <null>-1 (20)
                               passed+1
Throughput                      -0.201%  (9)  -1.9%  +1.0%
aoc_time                        +1.215% (10) -16.1% +19.5%
dsps                            +0.000% (10)  +0.0%  +0.0%
rams                            +0.000% (10)  +0.0%  +0.0%
registers                       -3.448% (10)  -6.6%  +6.7%
Throughput_per_area             +0.802%  (9)  -1.5%  +2.0%
Throughput_per_fmax             +0.615%  (9)  -3.0%  +4.3%
Throughput_per_kernel_area      +1.106%  (9)  -1.5%  +2.4%

Fixes Issue#
External Dependencies
N/A
Type of change
Please delete options that are not relevant. Add a 'X' to the one that is applicable.

[X] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[X] Command Line

I'm guessing that this should also be applied to qri, cholesky and cholesky_inversion.
Could you make that change as part as this PR as well?


Test driver auto-discovery

I believe using the Maven Failsafe plugin would accomplish these goals, as it runs against the final JAR. This would also let us test that the driver shading hasn't broken anything.

i thought about that, but felt too lazy to actually do that.


Manually installing pkg for a new version does not work

Problem
I have version 0.4.0 and downloaded the 0.4.1 pkg from the release page. I installed the pkg and it did not update my existing application to the new version. When I deleted the 0.4.0 version and then tried to install 0.4.1 it did not appear in my applications folder and not sure where it was installed.
Solution
Verify the installation process of the pkg. When I used the dmg it have me an error window and then completed the install. I was able to view the application in the applications folder.
Alternatives
No response

I believe this is now resolved so we can close.


Raise runtime error if C compiler is not found

Makes error reported in https://github.com/pytorch/pytorch/issues/90377 a bit easier to understand

This is weird, as this check shouldn't impact performance. I'll look into this; maybe the CI is still in a weird state 👀


readme: retroactively update minimum Rust version for 0.5.0

Fixes #39.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #47   +/-   ##
=======================================
  Coverage   93.67%   93.67%
=======================================
  Files           2        2
  Lines         348      348
=======================================
  Hits          326      326
  Misses         22       22

Continue to review full report at Codecov.

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


[all] GA Kubernetes v3 integration

Is this a new chart
yes
What this PR does / why we need it:
This deprecates Helm v2 maintaining an old chart for the products that still not work with the v3 of the Kubernetes integration.
Special notes for your reviewer:
Another kind of big PR, I made it commit by commit again to make things easy in case you get lost during the review.
Checklist

[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [mychartname])

Moved to draft as there are still charts that are not correctly using the common library to chop the name of the objects:

Error: INSTALLATION FAILED: failed pre-install: warning: Hook pre-install nri-bundle/charts/nri-metadata-injection/templates/admission-webhooks/job-patch/job-createSecret.yaml failed: Job.batch "nri-bundle-legacy-j019ahdx4v-nri-metadata-injection-admission-create" is invalid: spec.template.labels: Invalid value: "nri-bundle-legacy-j019ahdx4v-nri-metadata-injection-admission-create": must be no more than 63 characters

I had the same issue, however keep it could be an issue with the upgrade check.
By the way it is failing the legacy, that is still pointing to local files

Everything looks good 👏 👏 , after merging this nri-bundle and nri-bundle legacy will be bumped.
When testing this I simply changed the job name of nri-metadata injection in the deprecated chart, not the cleanest solution, but it works. Everything else would be more complex.
With the new chart we would not have such issue

Can we separate

Deprecating charts + metadata injection change,
move nri-bundle to nri-bundle-legacy,
move fork nri-bundle->nri-bundle,
nri-bundle docs
to different PRs?


spec lazy_load_members and include_redundant_members

as per https://github.com/matrix-org/matrix-doc/issues/1227

this needs to handle the question of how we negotiate the presence of LL (it might just be checking for version > 0.4.0) before being merged.  See also #1497

As I got to implementing this in libQMatrixClient - these two parameters only make sense (and effect) if supplied in the state section of the filter. Maybe move them to sync_filter.yaml then? I'll draft the proposed change and post the link here.

This should be better: https://github.com/QMatrixClient/matrix-doc/commit/fb612be454abeaaa27d2529fce77f10518263f7c

Independent implementation interoperable with the current Synapse develop: https://github.com/QMatrixClient/libqmatrixclient/pull/263

By the way, what is the (older) Synapse reaction if I supply lazy_load_members in a filter?

By the way, what is the (older) Synapse reaction if I supply lazy_load_members in a filter but the homeserver doesn't support it?

synapse ignores unrecognised fields in filters

Not sure this is mentioned in any of the related Google docs or elsewhere, but I remember we decided towards the end of implementing LL that the server should always send the membership event during initial sync for the syncing user.

Should this be closed now that #1758 is in?

This looks redundant - closing.


Cannot spot the changed packages correctly when a custom version provided as command parameter

Describe the bug
Lerna cannot detect changed packages when publishing with a custom version, provided as publish command's parameter. But can figure out when providing the same custom version using prompt.
Expectation
It should spot the changes the same way in either ways.
Reproduction

I got two packages ( pkg-a and pkg-b ), where pkg-b depends on pkg-a.
I published both of them with 10.3.0-ticket-1234-1 as version.
I apply some changes on pkg-b and commit it.
When I run npx lerna publish and then select the custom version option from the prompt, and input the next version as 10.3.0-ticket-1234-2, it identifies pkg-b as the only changed package, which is correct.
However, if I provide the version along with the command like npx lerna publish 10.3.0-ticket-1234-2, it cannot identify the changed packages correctly and wanna publish both pkg-a and pkg-b.

Lerna config and logs
lerna.json

{
  "$schema": "node_modules/lerna/schemas/lerna-schema.json",
  "version": "10.3.0-ticket-1234-1",
  "packages": [
    "packages/*"
  ]
}

Environment Info
  System:
    OS: macOS 14.4.1
    CPU: (12) arm64 Apple M2 Pro
  Binaries:
    Node: 18.16.0 - ~/.nvm/versions/node/v18.16.0/bin/node
    Yarn: 1.22.20 - ~/.nvm/versions/node/v18.16.0/bin/yarn
    npm: 9.6.7 - ~/.nvm/versions/node/v18.16.0/bin/npm
  Utilities:
    Git: 2.39.3 - /usr/bin/git
  npmPackages:
    lerna: 8.1.2 => 8.1.2

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

I think that is the default behavior of Lerna and it was added by the original author of Lerna
When providing a version, it's defined as a global version and I'm assuming it's for probably all packages (so I'm guessing it's falling under either line 438 or 441) and it seems to be using semver.inc for all packages. However when using prompt, as you mentioned, it will skip unchanged packages. So when comes the time to publish, the global version has more packages to publish. These are all just assumptions, you should troubleshoot it yourself.
https://github.com/lerna-lite/lerna-lite/blob/291bf01c5e0b49e70733c8abb17e2bb8141d5cbe/packages/version/src/version-command.ts#L437-L470


Cherry-pick in additional bug fixes to r1.4 branch.

Fixes to Datasets, S3 file system, and a change to no longer set random seed in Estimator run_config.

kernel_tests:dataset_from_generator_op_test is timing out

Hmmm, locally dataset_from_generator_op_test runs and passes just fine. mrry, do you know what could be causing this?

@tensorflow-jenkins

@tensorflow-jenkins test this please

@tensorflow-jenkins test this please
(I assume I'm supposed to test again?)