Redesign "Vertical Scrollbar" to Match "Website Theme

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Hey @MAVRICK-1 and @sanket95droid
The current vertical scrollbar does not align with the website's overall design theme. For a more cohesive and visually appealing user experience, the scrollbar should be redesigned to match the website's theme.

I would like to take on this task could you please assign this issue to me under GSSOC 24
Use Case

Improved Aesthetics
Professional Appearance
Enhanced User Experience
Increased User Engagement

Benefits
No response
Add ScreenShots
No response
Priority
Medium
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

assigned @RadhikaMalpani1702 looking forward to this


index page misses formatting when you don't use <!--more-->

Hi,
First off, amazing theme, I especially love the built-in dark mode :heart:
I'm new to hugo, so I'm not sure if the bug is in this theme or in hugo itself, but:
If I don't use <!--more--> in my posts, the index page is missing all the formatting, it's just raw text, e.g.:
Without <!--more-->

With <!--more-->

This only happens for the index page, the actual post page itself is fine in both cases.
Thanks!

That's actually how Hugo works.
By adding the <!--more--> to specify summary part, Hugo will pass rendered HTML to {{ .Summary }}, otherwise its just raw text cut from files according to summary length settings.

Huh, that's pretty strange behavior...
Thanks for the information and sorry for the noise!


fmSetupAssistant: Settings: DoTest must be stored in ConfigSetting

Hm...It seems that we may need to store more setting-attributes with a configuration.
A setting in one configuration may be a testable setting, in another only a read only setting.

The Setting DoTest field needs to be added to the save provcess.
Maybe also the Writable field?

Illustrative example: FileMaker language:

In the basic user's workplace maybe this setting should be shown as an informational, read-only setting,  (since some users are German, some are swiss, portuguese, etc.)

whereas

in the developers configuration setting, however, it may be necessary to check that this setting is set to english.

Problems

Adding further fields to the config-save may make the save status message slow.

Considerations for a faster calculation of save-status
Maybe we can

bundle several fields together in a JSON field for saving
or only compare an MD5 // probably the best!

DoTest is now stored in the config settings


Support parsing the 'Forwarded' header: RFC 7239

There's a specification [1,2] for a header which does not have native parsing support in http4s. The Forwarded header can be included by proxies as a standards-track alternative to X-Forwarded-For, X-Forwarded-Proto, and X-Forwarded-Host. http4s should consider providing support for it.
[1] Forwarded - HTTP | MDN
[2] RFC 7239 - Forwarded HTTP Extension

Agreed, and we should be able to do so in series/0.21.

Hey there. Is someone working on this issue? I looked through it briefly and I think I could take on it, if no one else minds.

Thanks, @satorg!

thanks again for the contribution, seems the issue didn't get autoclosed


Terragrunt does not allow new -chdir option

Terraform 0.14 introduced a new global variable -chdir to allow Terraform to change working directory before executing.
https://www.terraform.io/docs/commands/index.html#switching-working-directory-with-chdir
Terragrunt does not seem to allow this option.
$ terragrunt -chdir=dir plan
Incorrect Usage. flag provided but not defined: -chdir

Pretty sure terragrunt requires the first argument to be the terraform command... Did you try terragrunt plan -chdir=dir?

Did you try terragrunt plan -chdir=dir?

Yes, this is an illegal Terrraform command since -chdir is a global option and must be put before the command.
$ terragrunt plan -chdir=dir
...
[terragrunt] 2020/12/15 12:29:46 Running command: terraform plan -out=tfplan -chdir=dir
Usage: terraform plan [options] [DIR]
...
[terragrunt] 2020/12/15 12:29:46 Hit multiple errors:
exit status 1

Ah yup terragrunt doesn't support global flags for terraform. This probably needs a little bit of investigation to see where/how terraform global flags should be managed.

This might be a pretty significant issue with 0.15 and on. The path being appended at the end is removed Terraform Release Notes
For flexibility, chdir is required now to set context for the working directory.
This might also have some implications on the path scoping for the functions in terragrunt.

I'd be interested more in the use case this addresses, instead of using the option --terragrunt-working-dir, which seems to basically do the same thing?

@lorengordon that's great to know about, so I'll look at using that. However, to be clear, the main concern I had is that the current syntax provided by terragrunt debug output shows to reproduce the run using terraform  -var-file=foo directorypath. This syntax is not supported in 0.15. If terragrunt is not depending on this in the actual combination of arguments then this is just a debug message to update I suppose. I'll have to look at the source to know how that's being set.
If it's part of the arguments passed to the terraform executable instead of changing directories directory, then it's a breaking change by Terraform.
If it's just a logging message then it's just a new debug output for 0.15+ to provide chdir to reproduce a command instead.

the current syntax provided by terragrunt debug output shows to reproduce the run using terraform -var-file=foo directorypath

I believe that would be an artifact of how you are running terragrunt. Instead of:
terragrunt plan directorypath

use:
terragrunt plan --terragrunt-working-dir directorypath

Related to: #1651
I just ran upgrade and am on version 0.29.0 and it failed with:
Too many command line arguments. Did you mean to use -chdir?

@brikis98 wanted to add you as I tried the new release from PR #1651  and first thing I got was an error related to this same underlying change in chdir being used. This new subcommand syntax deprecates the ability to run terraform plan {DIR} as a path. I'm not using this syntax anyway, as I'm using the recommended --terragrunt-working-dir, but it still is failing with this.
I tried looking for where the terraform argument construction was to see if I could identify where the syntax for directory is used, but I couldn't find it. Figured you might point me in the right direction and maybe if you are experiencing the same error since you started that PR.

@sheldonhull Could you share your Terragrunt, config, what commands you're running, and the full log output so I can better understand the error you're seeing?

@zachwhaley
As mentioned before terragrunt has terragrunt-working-dir option that does the same thing as -chdir in terraform.
I think we can close this issue :)

One thing that argues for supporting -chdir -- Terragrunt offers to be a thin Terraform wrapper, but doesn't support this commonly used flag and instead has its own, competing flag. There are some CI integrations with Terraform that use -chdir where we can't just drop Terragrunt in because of this issue.


Jump to Symfony 5.1

Coverage decreased (-1.04%) to 96.235% when pulling d66c0b67e63c8970bb6dd3a076d6d55225055908 on symfony-5 into bc5cc1cc9627765222a44680d1966249cd5bc2cb on master.


Is it possibe to use different device name on different node

Assume I have two node for osd deployment.
On one osd, I have device sda sdb; on the second node , I have device sdc sdd. Is it possible to use ceph-ansible deploy osd on these two nodes at one time?  In group_vars/osds.yml, it seems that we assume both osd node have the same device name?

+1

@guits @leseb not having the feature described here introduces a regression for TripleO integration in its current state. I am curious on your thoughts on it.
In TripleO a user can compose a different role for a different type of OSD service, e.g. server1 with sda/sdb and server2 with sdc/sdd/sde (the different counts are relevant for this example), and Heat will pass different parameter lists to puppet-ceph because Heat is orchestrating; not Ansible.
If ceph-ansible supports a wild card syntax for specifying OSDs, e.g. /dev/sd*, that might be a way, provided you can also exclude patterns. That said, there's the rule of thumb that unbalanced OSD daemons across different nodes won't perform as well and should be avoided.

Would it not be viable to use osd_auto_discovery in this case?

what about declaring devices in inventory host file for earch osd host ?

@guits and @laggeduout thanks for your suggestions. I talked to @gfidente about it too and he saw a connection with node-specific hieradata and using it to populate the device inventory file that we could look into to address this on the TripleO side. I also like the osd_auto_discovery option.
TL;DR
TripleO supports modifying the default node configuration by role [1] and node-specific hieradata [2]. They can both be used to achieve the same goal. It sounds like we could make a different implementation of the node specific hiera data on the TripleO side. Not by using hiera, but by allowing the user to specify in heat a similar syntax to denote a disk [2] for a different Ironic node. We could then pass that information to ceph-ansible and do a translation in Mistral so that it appears in our dynamic inventory file. The tricky part is doing extra queries to Ironic to line up the IP the host got in the inventory, but I don't think it's too bad. Something to research.
[1] http://tripleo.org/install/advanced_deployment/node_config.html
[2] http://tripleo.org/install/advanced_deployment/node_specific_hieradata.html

@fultonj I would probably use host_vars for this, but defining devices in your inventory would work as well.  Here's some upstream ansible docs that might help explain better: http://docs.ansible.com/ansible/latest/intro_inventory.html#splitting-out-host-and-group-specific-data
I don't believe osd_auto_discovery is very well tested, I'd advise against using it.

As discussed, declaring particular devices for each host in your inventory file is the way to go, closing this.

@leseb @andrewschoen Thanks for the solution.  Could you give an example configuration for the case in issue description?

@garyyang85 , something like this should work :
[mons]
mon0_host
mon1_host
mon2_host

[osds]
osd0_host devices="['/dev/sda', '/dev/sdb', '/dev/sdc']"
osd1_host devices="['/dev/sdx', '/dev/sdy', '/dev/sdz']"
osd2_host devices="['/dev/sda', '/dev/sdb', '/dev/sdc']"

Thank you very much!!

hello @guits , how's about the lvm case?
I have a group of nodes with vg named centos, and another group with vg named rhel. Is there a way to specify them in the inventory file?

Thanks! It works!
I left the sample here, later someone may need.
[osds]
DEFR4APP[501:506] lvm_volumes="[{'data': 'ceph-osd', 'data_vg': 'centos', 'journal': 'ceph-journal', 'journal_vg': 'centos'}]"
DEFR4APP[510:512] lvm_volumes="[{'data': 'ceph-osd', 'data_vg': 'rhel', 'journal': 'ceph-journal', 'journal_vg': 'rhel'}]"


Merge-MailboxFolders

Hi, David. I've been tweaking the list of folders that I'm moving into the archive for the users we offboard, but have hit a snag with the Deletions folder. As you (may) recall, we need to shrink the primary mailbox down to as small as possible before we offshore it.
I am almost certain this used to work fine, but can't seem to get it to recognise the Deletions folder anymore. We do occasionally get users who've got a substantial amount of mail in there that is recoverable, so we want to move it out to the archive. When the user is later moved back into M365, we just leave it in the archive and it's permanently gone when we then remove their archive.
Any idea why it can't recognise this folder path? If I do it as part of the full folder collection or specify it separately like below when I have been troubleshooting it's the same error.

That log shows that the script couldn't find the source folder.  Do you mean Deletions?  Deleted Items are stored in Deleted Items, and should be referred to by WellKnownFolderName enumeration (in case of localisation).  To move Deleted Items from primary to archive, you could use @{"WellKnownFolderName.ArchiveDeletedItems" = "WellKnownFolderName.DeletedItems" }
https://learn.microsoft.com/en-us/dotnet/api/microsoft.exchange.webservices.data.wellknownfoldername?view=exchange-ews-api

Using Get-MailboxFolderStatistics, shows it up as
FolderPath             FolderType
/Deletions              RecoverableItemsDeletions
The regular deleted items move across fine, they are
/Deleted Items         Deleteditems
It's what you see after you've emptied the recycle bin, but they are then available recovery still (for 30 days or so)
https://learn.microsoft.com/en-us/exchange/policy-and-compliance/recoverable-items-folder/recoverable-items-folder?view=exchserver-2019
I will try its well known folder name instead (and also think about dealing with Purges folder!)

Recoverable Items are not  under Top of Information store, so will need to be referenced by WellKnownFolderName.

Thanks, another issue fixed....I'll create a new one for running this as a job next :)


Feature request: add CardDAV address book

Hello,
I want to suggest adding the possibility to access a CardDAV address book.
Regards,
Af0x

Me too I would love it.  i have a Nextcloud server with all my contacts in there. I would like to be able to use the same contacts and synchronize them I am a coder, tell me how to do it if you don't have time.


Graph Team Clone and suffix/prefix policy

If the tenant has a prefix/suffix policy with something like "O365_" etc the team clone command will not work since it uses a regex on the displayName as mailNickname:
https://github.com/pnp/office365-cli/blob/c7ad6cf12f5fa947fc2ab60e0257ee1bff9bd789/src/o365/graph/commands/teams/teams-clone.ts#L205

@phettz we automatically assign mailNickname since that setting is currently ignored by the Microsoft Graph. This is a known issue, but once it is fixed on the Microsoft Graph level, then we will let the Office 365 CLI user specify the mailNickname instead of automatically assigning value. You can have a look at https://docs.microsoft.com/en-us/graph/api/team-clone?view=graph-rest-1.0#request-body, the mailNickname section where there is specified that this is known issue.
If you are currently experiencing issue, could you please be more specific and provide us with steps to reproduce the issue?

ah I see @VelinGeorgiev , this the command and error I get when the tenant have O365 group naming policy:
o365$ graph teams clone --teamId a17d5347-db2e-46dd-980a-418b53ee6e35 --displayName "o365_Clone-Test" --partsToC
lone "apps,tabs,settings,channels" --description "Clone test" --visibility "private" --verbose
Error: The team prefix or suffix is incorrect, prefix:'o365_', suffix:''

Hey @phettz, I double checked if the mailNickname is still ignored and it is. When I executed the following command
graph teams clone --teamId 14004c95-3d57-4e54-83a8-173803d91772 --displayName o365_clone-test --partsToClone "apps,tabs,settings,channels" --description test --visibility Private --debug

it created teams with completely different email, but matching the naming.

Note: that I do not have naming policy enabled.
My thought is that there has to be something to do between the policy and the Microsoft Graph api because all the Office 365 CLI is doing is to call the graph rest service under the hood. This is the official documentation with the REST service - https://docs.microsoft.com/en-us/graph/api/team-clone?view=graph-rest-1.0 I would suggest that you rise it as new issue in their issues log at the bottom so they can fix it asap.

@VelinGeorgiev so is the conclusion that it's nothing that we can address in the CLI and we should close this issue?

@waldekmastykarz , It seems that is a Microsoft Graph issue. All we can do it to create issue on their board, but I cannot repro since o365 group sufix/prefix policy requires AAD premium if I am not mistaken so I simply do not have that to repro and create an issue on their board.

In that case, let's close this issue


Casting problem under Mavericks?

This hasn't worked for me yet. I've installed, uninstalled, reinstalled... everything you can think of with both soundcast and soundflower, and I can't get it to work. The soundcast application seems to find the chromecasts in my network... But when I cast to my selected chromecast, nothing happens on my tv.
I am using Mavericks. My chromecast is the first version, and I reset the chromecast a few times.

Do you have a space in the name of your Chromecast? If so, check new v1.4 version, it fixes bug #14 .


Enterprise ssh url

Hey @Kuzat , sorry not being responsive for a long time, I refactored some of the code to make it easier to maintain and extend the usage like this, and I also add the tests support, would you mind update your PR to apply this, I could also update on your behalf if you're ok with this.


HV-1235 Fixing mentioning of NIP in PESEL's javadoc

Can one of the admins add this person to the trusted builders? (reply with: "add to whitelist" or "ok to test")

ok to test

@michalfotyga good catch! Could you sign the CLA at https://cla.jboss.org/index.seam for the Hibernate Validator project and get back to us with the username you used there?
Thanks!

Thanks @gsmet ! 😉
Have started the CLA signing process yesterday but am still waiting for the application to be accepted. My user id is michal.fotyga

Yeah, Emmanuel who validates the CLA is on vacation this week so we'll have to wait until Monday. I'll ping him on Monday.

But I'll merge this right away.
Thanks!

Thank you, what a nice way to start a day 😄


[Concept] Drop mosaic levy

Document https://github.com/nemtech/catapult-server/issues/24
Deliverables

"Mosaic levy" concept

Dependencies

https://github.com/nemtech/catapult-server/issues/24 feature design

https://github.com/nemtech/catapult-server/issues/37


does not work on mac

On

MacBook Pro (13-inch 2019, Four Thunderbolt 3 ports)
Processor 2.8 GHz Quad-Core Intel Core i7
Memory 16GB 2133 MHz LPDDR3
nix (Nix) 2.5.1

> git clone git@github.com:tweag/plutus-libs.git
Cloning into 'plutus-libs'...
remote: Enumerating objects: 1067, done.
remote: Counting objects: 100% (498/498), done.
remote: Compressing objects: 100% (288/288), done.
remote: Total 1067 (delta 336), reused 246 (delta 206), pack-reused 569
Receiving objects: 100% (1067/1067), 318.19 KiB | 1.35 MiB/s, done.
Resolving deltas: 100% (537/537), done.
> cd plutus-libs/
> nix-shell
error: Package ‘systemd-247.6’ in /nix/store/wk2ffi76ga742rp9q3krhkd2qvxy32wk-nixpkgs-src/pkgs/os-specific/linux/systemd/default.nix:534 is not supported on ‘x86_64-darwin’, refusing to evaluate.

       a) To temporarily allow packages that are unsupported for this system, you can use an environment variable
          for a single invocation of the nix tools.

            $ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1

       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allowUnsupportedSystem = true; }
       in configuration.nix to override this.

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowUnsupportedSystem = true; }
       to ~/.config/nixpkgs/config.nix.
(use '--show-trace' to show detailed location information)

Thanks @haroldcarr ! None of us have a mac so this one will be hard to debug. Nevertheless, I noticed that plutus does not list systemd-247.6 as a dependency in their nix file; can you try removing this line and trying again?

I removed that line and am trying it now.
It definitely gets past that problem.
At the moment it is doing:
> nix-shell
copying path '/nix/store/89xir5plr5frgkgi82a6wfdc9rslvsby-source' from 'https://cache.nixos.org'...
copying path '/nix/store/dw16nylkgrhycxky1r00ygc72mgg9h85-source' from 'https://hydra.iohk.io'...

I will let you know if/when it completes.

It looks like it is downloading/compiling GHC.
I have this in /etc/nix/nix.confg:
substituters                = https://hydra.iohk.io https://iohk.cachix.org https://cache.nixos.org/
trusted-public-keys         = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=

Do I need any other substituters?

It completed:
> nix-shell
trace: No index state specified for haskell-language-server, using the latest index state that we know about (2021-12-08T00:00:00Z)!

[nix-shell:~/plutus-libs]$ which ghc
/nix/store/fdqw3q5db29cfpm18g5ga9cc6p3c5nkp-ghc-<IP_ADDRESS>10212/bin/ghc

[nix-shell:~/plutus-libs]$ which haskell-language-server
/nix/store/bqy1n8k5jb2hpf3zllg99qr7v49r9gbl-haskell-language-server-exe-haskell-language-server-<IP_ADDRESS>/bin/haskell-language-server

[nix-shell:~/plutus-libs]$ which plutus-playground-server

Since I am completely new to plutus, I don't know how to use this infrastructure.
I thought I could start the playground and use it, but it doesn't seem to be available.

@haroldcarr plutus-playground-server is available with https://github.com/input-output-hk/plutus-apps.
In the first terminal:
git clone https://github.com/input-output-hk/plutus-apps
cd plutus-apps
nix-shell
cd plutus-playground-client
plutus-playground-server

In the second terminal:
cd plutus-apps
nix-shell
cd plutus-playground-client
npm run start

@ak3n : thanks for that.
I had already got a local playground running before I tried this repo, following roughly what you show.
I was mistaken as to what this repo provides.
I am beginning to understand it better now, so it seems I won't be needing the playground in the future.
Thanks again.


Dialogflow operations call throws ValidationException

This is the file i am running on my local to train my agent through php client library.
Following is the code that i am running on my local server:
<?php

require 'vendor/autoload.php';
use Google\Cloud\Dialogflow\V2\SessionsClient;
use Google\Cloud\Dialogflow\V2\AgentsClient;

function get_agent($projectId,$sessionId){

$test = array('credentials' => 'client-secret.json');
    $sessionsClient = new SessionsClient($test);
    $session = $sessionsClient->sessionName($projectId, $sessionId ?: uniqid());
    printf('Session path: %s' . PHP_EOL, $session);

$agentsClient = new AgentsClient();
try {
    $formattedParent = $agentsClient->projectName($projectId);
    $operationResponse = $agentsClient->trainAgent($formattedParent);
    $operationResponse->pollUntilComplete();
    if ($operationResponse->operationSucceeded()) {
        // operation succeeded and returns no value
        print("training successful!");
    } else {
        $error = $operationResponse->getError();
        handleError($error);
        print($error);
    }
    }
    finally {
    $agentsClient->close();
    }
}
get_agent('<<myprojectid>>','12346');

Here myprojectid is the project id of my agent on dialogflow which i am providing as an input.
following is the error that i am getting when i run this script:

PHP Fatal error:  Uncaught Google\ApiCore\ValidationException: Failed to build request, as the provided path (google.longrunning.Operations/GetOperation) was not found in the configuration. in /home/mandar/composer/vendor/google/gax/src/RequestBuilder.php:80
Stack trace:
#0 /home/mandar/composer/vendor/google/gax/src/Transport/RestTransport.php(109): Google\ApiCore\RequestBuilder->build('google.longrunn...', Object(Google\LongRunning\GetOperationRequest), Array)
#1 /home/mandar/composer/vendor/google/gax/src/GapicClientTrait.php(479): Google\ApiCore\Transport\RestTransport->startUnaryCall(Object(Google\ApiCore\Call), Array)
#2 /home/mandar/composer/vendor/google/gax/src/Middleware/CredentialsWrapperMiddleware.php(61): Google\ApiCore\LongRunning\Gapic\OperationsGapicClient->Google\ApiCore{closure}(Object(Google\ApiCore\Call), Array)
#3 /home/mandar/composer/vendor/google/gax/src/Middleware/FixedHeaderMiddleware.php(67): Google\ApiCore\Middleware\CredentialsWrapperMiddleware->__invoke(Object(Google\ApiCore\Call), Array)
#4 /hom in /home/mandar/composer/vendor/google/gax/src/RequestBuilder.php on line 80

Thanks for the report @HarinJoshi25, we're taking a look.

It looks like the repository which hosts the configurations for building out our generated clients has an issue with information required for our REST based transport. We've gone ahead and opened a change to get this fixed internally - in the meantime you should be able to work around this by enabling the gRPC extension. I'll ping back here when the fix lands. Thanks again for the report!

@HarinJoshi25 a fix for this just landed in: https://github.com/googleapis/google-cloud-php/pull/2102


Adding metric logging mechanism

This pull request adds the metric logging mechanism discussed over the last few days. Simply adds the concept of "metric" with various properties (nodeid, message uuid, event which triggered the metric and any other metrics thought useful by the caller). It adds calls when messages are sent and received.
Part of this work has been to remove the "emit" nature of logging, which has caused some test failures, purely because they were checking various things on this emit. This pull request comments out these failing tests (test case failures rather than actual failures) and I will work to fix the testcases but wanted the code up and available.

Coverage decreased (-0.22%) to 89.25% when pulling 0bfbb122112fb5462af9b89fc0cacf42694581ca on hbeeken:logging-infrastructure into 69998243ccf8e0093ef7f289c0dbe57ad7268984 on node-red:master.


feat(operator): Introduce Prometheus evaluation

Resolves: #163

@bacherfl @thschue pls review only the 2 last commits, the previous ones are part of https://github.com/keptn-sandbox/lifecycle-controller/pull/168

closing in favor of https://github.com/keptn-sandbox/lifecycle-controller/pull/183


Change explorers default kind to scatter

Request
Change the explorers default kind from line to scatter.

A scatter point is a good first starting point. A line plot is for continues data. That is what is written in the reference guides.
A line plot also depends on the order/ sort of the data.
So for a lot of data a line plot does not work. While a scatter plot sort of does. Its friction that the first thing you get is not useful, you have to figure out you need to select something else and then select it.
Line

Scatter

Agreed; scatter is more universal.


Provide Smithy models for default API Gateway errors

Whenever we deploy our services using API Gateway from AWS, there are errors that we have no control over (as described here). The details of those errors are needed in order to allow the proper deserialization within the client SDKs. We have tried to solve this with two different approaches, although without success:

By defining the model for them ourselves, but we have not been able to find what are the possible X-Amzn-ErrorType HTTP headers that are being sent by API Gateway. The closest possibility can apparently be found here.
By overriding the X-Amzn-ErrorType HTTP header using the OpenAPI extension x-amazon-apigateway-gateway-responses. That caused the header to be sent two times containing our override value BadRequestException and the default value IncompleteSignatureException from API Gateway (as shown in the attached image). The client SDK does not seem to like that, and simply ignore our value.

Is is possible for AWS to provide the Smithy models only of those default API Gateway errors (similar to this here), please?

The 5xx errors shouldn't need a model - the client should transform them to some sort of generic client exception.
The 4xx errors, particularly around input validation, we should look at a better experience for generating response templates for. The optimal experience for some of them, like bad request body or parameters, would be to remap them to a validation exception type (such as the built-in one). The others we might need to add an additional model for.

What about making the generated client look at values in the X-Amzn-ErrorType header to match one of the errors defined on the operation?
If there's only one matching value - deserialize correctly to that exception. This is reasonable and not surprising behaviour and it unblocks customers who are using api gateway and gateway responses to have a functional sdk for these errors.
If there's no match or if there's ambiguity (values for two different defined errors) then continue with the existing behaviour.

The others we might need to add an additional model for.

Could you elaborate on this? Does this imply that smithy itself will define some error for these cases which all customers must use for these cases? Wouldn't it make sense for smithy to let customers define the errors and headers they want for their exceptions (including auth/throttling) without smithy making this choice for them?

@adamthom-amzn what do you think of the two options in the PRs?
Do you think one of them is viable for merging?
I think that customizing the header name is a safe and non-invasive change which enables customers to configure their APIs to their needs. It may not be strictly needed in the sdk package, but maybe it could live there until all the useful common logic that lives in the sdk is extracted and smithy clients are more usable without this dep.

@eduardomourar @DanielBauman88 are you unblocked with the change to js repo?
On the Smithy side, we'd still want to add a protocol test for this, so other language SDKs can also support this. So leaving this issue open for that followup.

This does unblock me.
Appreciate you keeping this open - would be great to have the same support for all the supported languages!


reduce the restrictions on CORS Access-Control-Allow-Headers

Reduce the restrictions on CORS "Access-Control-Allow-Headers"
Add CORS "Access-Control-Max-Age" to reduce OPTIONS requests

 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.zhangyi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

/lgtm


Ensure HardwareTriggeredFlyable with a RepeatedTriggerLogic can make a sequencer table.

We no longer want the flyer to make the sequence table a plan stub will be responsible for it.


"Fulga", "Manasia", "Vlădeni" and "Zărneștii de Slănic" are listed in the drop-down menu

Description:
"Fulga", "Manasia", "Vlădeni" and "Zărneștii de Slănic" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Fulga" in the search bar.

Expected results
The location is listed in the drop-down menu as "Fulga, Buzău(Cernătești)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Type "Manasia" in the search bar.

Expected results
The location is listed in the drop-down menu as "Manasia, Buzău(Cernătești)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Type "Vlădeni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Vlădeni, Buzău(Cernătești)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Type "Zărneștii de Slănic" in the search bar.

Expected results
The location is listed in the drop-down menu as "Zărneștii de Slănic, Buzău(Cernătești)".


Add DeviceAuth flow for Cloud environments

WHY are these changes introduced?
The use of cloud environments for development has increased recently (both in and out of shopify).
Running the Shopify CLI inside one of these environments is a bit tricky as the CLI usually depends on localhost being a real localhost, opening a tunnel or creating a local server for the auth process or to serve apps.
This PR fixes the first blocker users are going to encounter in cloud environments: Authentication.
Instead of relying on a local server that listens to identity callbacks when the user completes the authentication, we are adding a new (complementary) auth flow that allows you to login in local environment (your local browser) but getting a token in your cloud environment.
This new auth method will only be used if the CLI detects that is being executed in a cloud environment.
By default the classic method will be used.
Fixes https://github.com/Shopify/shopify-cli-planning/issues/330

WHAT is this pull request doing?

Add new Device Auth flow to obtain an identity token, once obtained the process of exchanging that token for application tokens or refreshing an expired token is the same.
Improve how spin FQDN is obtained, specially when the CLI is being executed inside spin.
Add new env var to force using the new device auth flow
Detect common cloud environments using pre-defined env vars

How to test your changes?

Try the new auth flow using SHOPIFY_CLI_DEVICE_AUTH=1 (remember to logout first)
Try this branch in a Spin instance, it should automatically activate the device auth flow.

Measuring impact
How do we know this change was effective? Please choose one:

[ ] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[ ] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[ ] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've considered possible documentation changes

https://user-images.githubusercontent.com/3757193/189137666-d0ff97a1-be4e-45da-8f3b-206545c3449b.mov

Can't make it default because it doesn't work with the employee scopes to access internal orgs (I asked if this is intended or is going to change, but no response yet). But that doesn't affect spin because from there you'll access only spin stuff.
Also, if you are already logged in a browser, this method doesn't use the same session and will force you to login again (not sure why), so that's a bit worse experience.


Updated the Romanian translation

Tried to improve grammar and fix mistypes, Update the Fruit and Adjective section with gender feminine instead of being diversed.
There may be mistakes in its translation (I can't really be perfect at that anyways), but I'm not too sure about how to improve them more, to sound... better. but it's alright for now.
I'm just happy that there's Romanian in LocalSend.
If there's something wrong with the Pull Request, tell me.
Thank you.

Thank you


Remove needless dependencies on RHEL/CentOS 6, again

5c905844edf9e4a2db556ef9ba16f4e3c4ea9c76 lacks filters for provides.

Currntly, CentOS 6 x86_64 CI task is not defined as GitHub Actions.
CI task(s) for CentOS 6 is not needed for now?

Currently, CentOS 6 x86_64 CI task is not defined as GitHub Actions.
CI task(s) for CentOS 6 is not needed for now?

We may be better to revive it.
Although CentOS 6 is already EOL, RedHat provides Extended Life-cycle Support (ELS) for RHEL.
We should care users who use td-agent on RHEL with ELS.

I'd confirmed that td-agent 4.1.0 rpm package for CentOS 6 provides say:
$ rpm -qp --provides td-agent/yum/repositories/centos/6/x86_64/Packages/td-agent-4.1.0-1.el6.x86_64.rpm
td-agent = 4.1.0-1.el6
td-agent(x86-64) = 4.1.0-1.el6


HTTP(S) Load Balancing will convert header names (September 30, 2019)

Google is changing the Load Balancing header names
Date : September 30, 2019
Below the email that we received
Hello Google HTTP(S) Load Balancing Customer,
We’re writing to let you know about a change to the behavior of HTTP(S) Load Balancers that is being rolled out gradually, beginning September 30, 2019. We are making this change to standardize HTTP(S) load balancer behavior across HTTP/1.1 and more modern protocols, including HTTP/2 and QUIC.
What do I need to know?
After September 30, HTTP(S) Load Balancers will convert HTTP/1.1 header names to lowercase in the request and response directions; header values will not be affected.
As header names are case-insensitive, this change will not affect clients and servers that follow the HTTP/1.1 specification (including all popular web browsers and open source servers). Similarly, as HTTP/2 and QUIC protocols already require lowercase header names, traffic arriving at load balancers over these protocols will not be affected. However, we recommend testing projects that use custom clients or servers prior to the rollout to ensure minimal impact.
What do I need to do?
If you use custom clients or servers, we recommend testing your project(s) using the method below prior to the start of the rollout on September 30, 2019. If your application receives requests from modern browsers, it is already exposed to lowercase header names, and no action is required on your part.
You can test your project by sending a request with the x-goog-downcase-all-headers request header, using any valid value, to trigger the new behavior in the load balancer. If your project experiences any issues, you can temporarily opt-out of the new behavior while you diagnose and resolve any issues with your client or server.
Example:
$ curl --http1.1 -H “x-goog-downcase-all-headers: x” http://example.com/
Your project(s) listed below have used HTTP(S) Load Balancing in the past 60 days and may be affected by this change:
open-targets-eu-dev (open-targets-eu-dev)
open-targets-prod (open-targets-prod)
Open Targets (open-targets)
open-targets-library (open-targets-library)
open-targets-genetics (open-targets-genetics)
open-targets-platform (open-targets-platform)
If you have any questions or require assistance to temporarily opt-out of the new behavior, please reply to this email to contact Google Cloud Support.
Thank you for being a valued HTTP(S) Load Balancing customer.

This has been and gone and the world didn't end, so closing.


UFAL/FE-Show Item versions in the dropbox instead of history table

Problem description
Current state the version is showed in the history table:

Required state the version should be in the dropdown menu:

Versions are connected by metadata dc.relation.isreplacedby and dc.relation.replaces

After brainstorming I'm going to develop this feature in the python data pump. The history records will be inserted into versionhistory and vesionitem table according to item's dc.relation.replaces and dc.relation.isreplaced metadata version sequence.

I'm facing to two problems:

Some new version of the Item is stored in another repository
The Item could have two the same versions. E.g. the Item with ID: 2 is replaced by two Items - Item with ID: 3 and ID: 4

The Item could be replaced by more items - dc.relation.isreplacedby  and dc.relation.replaces could have more values

Importing versions of the item works for the item which has only one version, but there is a requirement that the item could have more items. https://github.com/ufal/clarin-dspace/issues/1069


Fixed alignment issues

Fixed issues with merging buffers that weren't a multiple of 4.
I wrote up #299 because there are some issues that prevented me from writing a test for the degenerate triangles. It opened a can of worms that was outside the scope of this PR.

Coverage decreased (-0.1%) to 93.542% when pulling d445114514b7bb285a44846c1a2d2fb0f735ed6b on buffer-padding-degenerate-triangles into cb7af37ba32e4ed31a92eaa09a1223dea4e5f2e3 on master.

Thanks @tfili!


util: add performance CI and get score(use 0.8 coverage, 500+ cpts)

util: add performance CI and get score(use 0.5 coverage, 200+ cpts)

0.8 coverage cpts run about 2 hours, o.5 coverage cpts run about 1 hours. 1 coverage cpts run about 4+ hours.
score  vs:  1 vs 0.8 vs 0.5 coverage (15.40 vs 15.4012 vs 15.4117),.
run 0.8 coverage is acceptable.


[BUG] async_io error on Ubuntu during installation of deepspeed version 0.11.0

I can't install DeepSpeed 0.11.0 because an async_io error.
I have tried to install it from pip or from the source code, like:
DS_BUILD_OPS=1 DS_BUILD_SPARSE_ATTN=0 DS_BUILD_EVOFORMER_ATTN=0 pip install deepspeed==0.11.0
DS_BUILD_OPS=1 DS_BUILD_SPARSE_ATTN=0 DS_BUILD_EVOFORMER_ATTN=0 python setup.py bdist_wheel
And they throw the same error:
Collecting deepspeed==0.11.0
  Using cached deepspeed-0.11.0.tar.gz (1.1 MB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [15 lines of output]
      [2024-01-17 19:02:00,848] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)
      [2024-01-17 19:02:01,854] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-jon5mrdm/deepspeed_34216c31896a40589d6b0a9bd14c6008/setup.py", line 182, in <module>
          abort(f"Unable to pre-compile {op_name}")
        File "/tmp/pip-install-jon5mrdm/deepspeed_34216c31896a40589d6b0a9bd14c6008/setup.py", line 52, in abort
          assert False, msg
      AssertionError: Unable to pre-compile async_io
      DS_BUILD_OPS=1
       [WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
       [WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
       [WARNING]  One can disable async_io with DS_BUILD_AIO=0
       [ERROR]  Unable to pre-compile async_io
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

[2024-01-17 18:48:07,445] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)
[2024-01-17 18:48:08,184] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)
DS_BUILD_OPS=1
 [WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
 [WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
 [WARNING]  One can disable async_io with DS_BUILD_AIO=0
 [ERROR]  Unable to pre-compile async_io
Traceback (most recent call last):
  File "setup.py", line 182, in <module>
    abort(f"Unable to pre-compile {op_name}")
  File "setup.py", line 52, in abort
    assert False, msg
AssertionError: Unable to pre-compile async_io

I'm sure that I have installed the libaio-dev library by apt-get:
$ sudo apt-get install libaio-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  libaio-dev
0 upgraded, 1 newly installed, 0 to remove and 21 not upgraded.
Need to get 0 B/13.7 kB of archives.
After this operation, 64.5 kB of additional disk space will be used.
Selecting previously unselected package libaio-dev:amd64.
(Reading database ... 114659 files and directories currently installed.)
Preparing to unpack .../libaio-dev_0.3.112-5_amd64.deb ...
Unpacking libaio-dev:amd64 (0.3.112-5) ...
Setting up libaio-dev:amd64 (0.3.112-5) ...
Processing triggers for man-db (2.9.1-1) ...

And I have tried to append my library path to CPATH and LD_LIBRARY_PATH, but it still dosen't work.
I have no idea how to fix it.
System info :

OS: Ubuntu 20.04
GPU count and types： 8x A800
Python version: Python 3.8.17
Pytorch Version:  '2.1.0+cu121'

And for cuda-toolkit version:
$ conda list | grep cuda
cuda-cccl                 12.1.109                      0    nvidia/label/cuda-12.1.1
cuda-command-line-tools   12.1.1                        0    nvidia/label/cuda-12.1.1
cuda-compiler             12.1.1                        0    nvidia/label/cuda-12.1.1
cuda-cudart               12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-cudart-dev           12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-cudart-static        12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-cuobjdump            12.3.101                      0    nvidia
cuda-cupti                12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-cupti-static         12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-cuxxfilt             12.3.101                      0    nvidia
cuda-documentation        12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-driver-dev           12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-gdb                  12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-libraries            12.1.1                        0    nvidia/label/cuda-12.1.1
cuda-libraries-dev        12.1.1                        0    nvidia/label/cuda-12.1.1
cuda-libraries-static     12.1.1                        0    nvidia/label/cuda-12.1.1
cuda-nsight               12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nsight-compute       12.1.1                        0    nvidia/label/cuda-12.1.1
cuda-nvcc                 12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nvdisasm             12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nvml-dev             12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nvml-dev             12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nvprof               12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nvprune              12.3.101                      0    nvidia
cuda-nvrtc                12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nvrtc-dev            12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nvrtc-static         12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nvtx                 12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-nvvp                 12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-opencl               12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-opencl-dev           12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-profiler-api         12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-sanitizer-api        12.1.105                      0    nvidia/label/cuda-12.1.1
cuda-toolkit              12.1.1                        0    nvidia/label/cuda-12.1.1
cuda-tools                12.1.1                        0    nvidia/label/cuda-12.1.1
cuda-visual-tools         12.1.1                        0    nvidia/label/cuda-12.1.1
gds-tools                 <IP_ADDRESS>                       0    nvidia/label/cuda-12.1.1
libcublas                 <IP_ADDRESS>                      0    nvidia/label/cuda-12.1.1
libcublas-dev             <IP_ADDRESS>                      0    nvidia/label/cuda-12.1.1
libcublas-static          <IP_ADDRESS>                      0    nvidia/label/cuda-12.1.1
libcufft                  <IP_ADDRESS>                     0    nvidia/label/cuda-12.1.1
libcufft-dev              <IP_ADDRESS>                     0    nvidia/label/cuda-12.1.1
libcufft-static           <IP_ADDRESS>                     0    nvidia/label/cuda-12.1.1
libcufile                 <IP_ADDRESS>                       0    nvidia/label/cuda-12.1.1
libcufile-dev             <IP_ADDRESS>                       0    nvidia/label/cuda-12.1.1
libcufile-static          <IP_ADDRESS>                       0    nvidia/label/cuda-12.1.1
libcurand                 <IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
libcurand-dev             <IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
libcurand-static          <IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
libcusolver               <IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
libcusolver-dev           <IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
libcusolver-static        <IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
libcusparse               <IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
libcusparse-dev           <IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
libcusparse-static        <IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
libnpp                    <IP_ADDRESS>                     0    nvidia/label/cuda-12.1.1
libnpp-dev                <IP_ADDRESS>                     0    nvidia/label/cuda-12.1.1
libnpp-static             <IP_ADDRESS>                     0    nvidia/label/cuda-12.1.1
libnvjitlink              12.1.105                      0    nvidia/label/cuda-12.1.1
libnvjitlink-dev          12.1.105                      0    nvidia/label/cuda-12.1.1
libnvjpeg                 <IP_ADDRESS>                      0    nvidia/label/cuda-12.1.1
libnvjpeg-dev             <IP_ADDRESS>                      0    nvidia/label/cuda-12.1.1
libnvjpeg-static          <IP_ADDRESS>                      0    nvidia/label/cuda-12.1.1
libnvvm-samples           12.1.105                      0    nvidia/label/cuda-12.1.1
nsight-compute            2<IP_ADDRESS>                    0    nvidia/label/cuda-12.1.1
nvidia-cuda-nvrtc-cu12    12.3.107                 pypi_0    pypi

@ViEm-ccy - two questions, do you need to be using DeepSpeed 0.11.0?  Could you try with the latest as well so we could more easily test this?  And second, are you using/do you need to precompile the DS_BUILD_AIO op?

@ViEm-ccy - two questions, do you need to be using DeepSpeed 0.11.0? Could you try with the latest as well so we could more easily test this? And second, are you using/do you need to precompile the DS_BUILD_AIO op?

I use deepspeed to accelerate the inference, and 0.11.0 is compatible for my training environment torch 2.1.0 which complie with cuda 12.1.1.

@loadams  Thanks for your advice.
I tried to install with DS_BUILD_AIO=0, and it still failed because I missed some libraries like g++.
After I installed these libraries, the error above never occurred again, even when I set DS_BUILD_AIO to 1.
I should have checked the compiler first as soon as it threw a 'pre-compile error'.

@loadams Thanks for your advice. I tried to install with DS_BUILD_AIO=0, and it still failed because I missed some libraries like g++. After I installed these libraries, the error above never occurred again, even when I set DS_BUILD_AIO to 1. I should have checked the compiler first as soon as it threw a 'pre-compile error'.

System info :
OS: Ubuntu 18.04
GPU count and types： 2x 3090
Python version: Python 3.8918
Pytorch Version: '2.1.0+cu118'
g++：7.5.0
cmake: 3.25.0
Apart from sparce_attn, which won't install because of the high pytorch version, it's mainly an AIO issue, although I've installed libaio-dev and tried installing the conda version of libaio. i'd like to know what other libraries you've installed, apart from g++.

@loadams Thanks for your advice. I tried to install with DS_BUILD_AIO=0, and it still failed because I missed some libraries like g++. After I installed these libraries, the error above never occurred again, even when I set DS_BUILD_AIO to 1. I should have checked the compiler first as soon as it threw a 'pre-compile error'.

System info :
OS: Ubuntu 18.04 GPU count and types： 2x 3090 Python version: Python 3.9.18 Pytorch Version: '2.1.0+cu118' g++：7.5.0 cmake: 3.25.0
Apart from sparce_attn, which won't install because of the high pytorch version, it's mainly an AIO issue, although I've installed libaio-dev and tried installing the conda version of libaio. i'd like to know what other libraries you've installed, apart from g++.

I don't remember other libs I installed.
Sometimes the message in the installtion program is confused if you chooes too many ops to install.
I recommend you to install with only the ops you need, and find more accurate error messages.


MMM Case Study from PyData Global

Closes https://github.com/pymc-labs/pymc-marketing/issues/1014

📚 Documentation preview 📚: https://pymc-marketing--1044.org.readthedocs.build/en/1044/

Thanks @wd60622 ! I think all of the labels and legends are fixed now.

Thanks for making that adjustment. Labels look better. Still have the comments on the notebook!

Thanks for making that adjustment. Labels look better. Still have the comments on the notebook!

Ups! I missed them sorry! I will work on them!

short and sweet ;)

View entire conversation on ReviewNB

yes! I like the idea

View entire conversation on ReviewNB

great point! added!

View entire conversation on ReviewNB

This is to compare about the zero value. I will clarify.

View entire conversation on ReviewNB

I added a more explicit explanation

View entire conversation on ReviewNB

ok, @wd60622, I think I addressed all of your comments; thanks! Let me know what you think about :)

Thank you very much for all the feedback! 🚀


#519: Fix high cpu in Circuitbreaker with ClientFlow

Avoid un-necessary enqueue followed by dequeue in CircuitBreakerBIDI.
Thanks for your pull request.  Please review the following guidelines.

[x] Title includes issue id.
[x] Description of the change added.
[x] Commits are squashed.
[ ] Tests added.
[x] Documentation added/updated.
[ ] Also please review CONTRIBUTING.md.

Still need to look at TimeoutBidi pickNextElemToPush


remove operators from word and add sub- and superscript captures

I prevented the characters "_", "+", "/", "-", "^" and "*" from being captured as part of a word, allowing them to be properly highlighted as operators even in constructs like $n+m$ without spaces. This has the perhaps unwelcome side-effect of hyphens being highlighted as if they were minus signs.
The bigger change is the addition of superscript and subscript nodes; I found I wasn't able to properly conceal them without a dedicated node.

This has the perhaps unwelcome side-effect of hyphens being highlighted as if they were minus signs.

perhaps we can disable it in \text{} ? It's marked as text_mode in the syntax tree.

That's certainly something that could be done, but I'm not sure whether it's worth the added complexity.

Yeah, this could definitely be done but there are a lot more cases to consider like specific math environments (equation, align, ...) so I probably would keep it simple for now.

the idea is that the treesitter grammar has a node type it recognizes called "word," and currently that node type is the same regardless of whether or not the word is inside of math mode

The word rule is mostly there for historic reasons; the grammar itself was split off from texlab and texlab mostly does not care about superscripts/subscripts and the distinction between math mode and text mode.

Tests should now be fixed, and I added a new one with superscripts and subscripts.


Documentation [Feature Request]

Anything that documents the API - doxygen, a tutorial. I'm working with Vulkan and have decided to go the Slang route and this library seems pretty essential to that ecosystem. I can get by with LLMs for now but API docs would be rad. Thank you!

I agree, I have wanted to add a "how to use SPIRV-Reflect" for a while


Contact Matching within Summit Events - Match Only and Don't Create New Contacts

Currently If the Contact Matching functionality does not find a Contact it will create a new Contact record, and there is no ability to turn this off.  However there are scenarios where we want Contact Matching turned on but do not want new Contact records created if there is not a matching Salesforce record, so creating an option on the Event to make this possible would be very helpful to prevent duplicates.
For example:

You have an Alumni event and every person registering should already be in Salesforce so you don't want new Contact records created.  However if the person registers using a new email address you don't have then Summit Events  would create a new Contact record, but it would be much better if we had the option on the Event record to skip Contact creation in this case and have a staff member handle contact matching on these records manually.

An invite-only Event is held where everyone invited has a Salesforce Contact record.   If the person registering is not on the invite list we don't want a new Contact record created for them.

I would solve for this by adding a "No Matching Salesforce Contact" field on the Event object with objects to "Create New Record" or "Skip Creating Salesforce Contact" which is similar to how FormAssembly handles this.

@walt0019 I created this new issue based on the email exchange we had last week, can you please review and add any additional comments to this?  Thanks.

Work is completed and merged into Master branch, so closing issue.


I went so fast I crashed the game

So I was running around in the cusom map all by myself only a few minutes ago, and I decided to use the speed glitch from the barriers. That requires you to be moving towards the barrier at an angle almost parrallel to the barrier, while facing away fom it with the same requiements. As I did, I starting building speed ridiculously. I was all the way across the map in a matter of miliseconds. Then, I got stuck to the barrier in the sliding pose and I assume I was still building speed because I was facing a different direction every frame. Then I stopped changing direction, pressed A and nothing happened. After that, I left and rejoined and all the flags had reset.

Hmm, yea speed glitching can for sure cause the client to crash... I just want to make sure you didn't crash the server... I'll check server logs


Step 6.2 in the documentation is not clear

I was walking through the documentation and had difficulties on step 6.2
sam build --use-container --parameter-overrides layerarn=<LayerVersionArn>
I tried this with the OutputValue for the LayerVersionArn (i.e. arn:aws:lambda:us-east-2:XXXXXXXXXXXX:layer:TokenizeData:1) and it didn't work
To get past this point I needed to drop the last part of the value after the accountID (so arn:aws:lambda:us-east-2:XXXXXXXXXXXX)
Maybe this is more obvious to more experienced users but think it should be clarified

Could you post the error you were getting?


Understanding evaluation results for L1 difficulty

I'm trying to understand how evaluation are done for L1 difficulty. Essentially L1 difficulty selects a subset of GT boxes. In this case, I'm not sure how are precision evaluated. Specifically, I wonder if the predicted boxes are filtered/selected accordingly during evaluation. Intuitively, since some predicted boxes are predictions for L2 level GT boxes, does it make sense to ignore some of them when evaluating L1 difficulty metrics?
I tried searching via google but no one has mentioned this detail. Any links/answers related to this question is appreciated. Thanks!

Hi,
When calculating L1 metrics, we do not treat any predictions that predict L2 ground truths as false positives. Please refer to https://github.com/waymo-research/waymo-open-dataset/blob/master/waymo_open_dataset/metrics/detection_metrics.cc#L93-L95 for the implementation details.
Best,
Wayne, on behalf of the Waymo Open Dataset team


Polar Area chart is not accessible via keyboard.

Expected behavior
Polar Area chart should be accessible via the keyboard. Keyboard focus should move to the Legends and the chart.

https://github.com/user-attachments/assets/59478def-beee-4d98-832f-26b02eff8be1
Current behavior
Polar Area chart is not accessible with the keyboard as the keyboard focus does not move to the chart. After '#' button the focus is moving to code area instead of chart area.
Reproducible sample
https://www.chartjs.org/docs/latest/general/accessibility.html
Optional extra steps/info to reproduce

Open URL https://www.chartjs.org/docs/latest/general/accessibility.html in Edge browser.
Press tab key to reach to "Chart Types" from left menu and expand it using Enter key.
Press tab key to reach "Polar Area Chart" and press Enter key.
Verify using the tab key whether the chart is accessible or not.

Possible solution
No response
Context
Keyboard focus should move to the Legends and the chart and should be accessible.
chart.js version
v4.4.4
Browser name and version
Windows 11 Version 24H2 (OS Build 26120.1542)
Link to your project
https://www.chartjs.org/docs/latest/general/accessibility.html

Duplicate of https://github.com/chartjs/Chart.js/issues/1976


[DESIGN] Login/Sign-Up Page Mid-Fi Wireframe

Designer Task 📐
What? ❓
Could you please mock up something to provide to developers?
Login should probably contain

Email/Username
Password
Sign in with Google

The Sign Up

Email/Username
Organization Name
School
Password

I am still not too sure actually how the flow for Google Auth sign in works yet, @ABZhang0 please feel free to weigh in from your research so far

Delivered - closing


error: incompatible pointer to integer conversion in latest clang

When trying to build ruby-packer or a project with ruby-packer on latest MacOS with clang 15.0.0, it fails with the following errors:
/var/folders/4r/b6_yv6ys02q90xwd03zpwk240000gn/T/rubyc/ruby-3.1.3.dev/enclose_io_unix.c:643:35: error: incompatible pointer to integer conversion passing 'struct stat *' to parameter of type 'int' [-Wint-conversion]
                        access(mkdir_workdir_expanded, &buf)
                                                       ^~~~

/var/folders/4r/b6_yv6ys02q90xwd03zpwk240000gn/T/rubyc/ruby-3.1.3.dev/enclose_io_unix.c:650:35: error: incompatible pointer to integer conversion passing 'struct stat *' to parameter of type 'int' [-Wint-conversion]
                        access(mkdir_workdir_expanded, &buf)
                                                       ^~~~

I am seeing this too starting with Apple's command line tools version 15.3. If I revert to CLT 15.1, I am able to compile my binaries with ruby-packer. I'd be happy to submit a PR, but I have no idea where to start. Any pointers would be appreciated.
I'd also love to learn how to add support for newer Ruby versions. Is it as simple as it was for replacing OpenSSL 1.1 with OpenSSL 3.x (i.e just downloading OpenSSL and plopping it in the vendor folder), or is there some patching of Ruby involved?

Hi, just to confirm, I decided to stop trying to support this for a couple reasons.

I had a business cases for it that went away
I'm not sure this is likely to be the long-term approach for packing things like this--between docker, wasm, and now tebako
There are extra edge-cases to this approach which can eat a lot of debugging time. For example, if you try and require something like the AWS ruby libraries in a command-line app, it can cause it to slow down quite a lot, because the file system. I had a command-line app and this was proving challenging.
I gave up while fighting with Windows.

@monfresh In terms of updating, I'm trying to remember. The process was roughly to just dump the files in and replace the libraries with the latest, and if they still compiled, keep them. When things failed I would look into what it was trying to run, try it at the command line, and google the heck out of whatever compile errors Now, i would probably use Bing (it is beating google for errors like this for me) and chatgpt.
It is quite possible that upgrades are easier now. The trick for later rubies, back then, was hacking some compiler flags, iirc.

@ericbeland considering this fork is still pretty high in Google, if you're no longer interested in maintaining it (which makes sense, packaging Ruby apps is a full time job 🥲) I think it would be nice if you updated README to point to alternatives and then archive the repo. At this point it's slowly rotting anyway since it doesn't work on latest macOS (and will likely stop working on Linux as well at some point)

@d4rky-pl  I'm open to that--it made sense when I had a business case.
If anyone with a fork of ruby-packer wants into the list, or with an alternative, let me know!  Please let me know of any other alternatives I should list as well.

Thank you both for the details. Coincidentally, I had recently come across tebako, but if I'm understanding the README correctly, their "forward portable" philosophy is a huge limitation for me. It would mean that I would need to buy a separate Mac and install Monterey on it, and use it exclusively for building my CLI, in order for the resulting binaries to be executable on newer macOS versions.
With ruby-packer, I can build using my day-to-day Mac that's running on Sonoma, and the resulting binaries work just fine on older macOS versions. However, I won't be able to do this once I upgrade to Sequoia because it doesn't support CLT 15.1, unless I figure out a way to get ruby-packer to work with newer CLT.
An alternative option I'm considering is porting my CLI to Crystal.

Good news! I downloaded Ruby 3.2.5 and put it in my local ruby-packer repo, and it worked with Xcode 15.4! Here's roughly what I did:

Download the Ruby 3.2.5 zip from the Ruby GitHub repo
Unzip it
Replace the contents of the ruby-packer ruby dir with the contents of the unzipped Ruby 3.2.5 dir
Add the required config.sub and config.guess files by running these commands from the ruby-packer repo:

cd ruby
ruby tool/downloader.rb -d tool -e gnu config.guess config.sub
./autogen.sh

Make sure to use Bison 3. Install it with Homebrew if necessary, then point to it while building:

PATH="$(brew --prefix bison)/bin:$PATH" bundle exec rake rubyc

The next step is to see if I can build my CLI with this new rubyc, and that it works as expected.

Ha! I spoke too soon. It looks like the rubyc executable that got generated is ruby itself. When I run rubyc -v, it shows 3.2.5, and rubyc -h shows the help for the ruby command.

I wish I had a better recollection of being in the weeds, but I think I may recall that I did something like diffing the actual Ruby source of the version, vs. the embedded ruby source, and found there were changes to it. I think I then added those changes back in to the new ruby, then recompiled.

Success! I figured out the compilation error with the current repo. Looking more closely at the error, it was complaining that the access method on lines 643 and 650 of ruby/enclose_io_unix.c was being given a second argument of type struct stat instead of int that it was defined with. For some reason, this did not raise an error with older CLT, but starting with CLT/Xcode 15.3, this raises an error, as you would expect.
So then I noticed that the integer it's expecting is supposed to represent the mode, so then I did some research and found that you can get the mode from the buf struct via buf.st_mode. So, in the end, the fix was simple: replace &buf on lines 643 and 650 with buf.st_mode.
This fixed that error, but I also ran into some libffi errors, but in my case, I don't need libffi, and I don't need gdbm, ncurses, or readline either, so I commented out where they get stuffed in lib/compiler.rb, and now everything is working great.
I then tried the same thing with Ruby 3.2.5, making sure to keep all the ruby/stuff* files that I had accidentally removed when I was first experimenting, and making sure to add all the hacks related to enclose_io back into the various Ruby files. This resulted in a successful generation of the rubyc binary, but when I compiled my CLI, it crashed related to not being able to load some files that come from the gems I use. So, I still have some work to do with Ruby 3.2.5, but I'm happy that I can still use ruby-packer with the latest CLT for now.


Adding initial gRPC support

Passing TE trailers header through
Adding grpc-status as response trailer to ensure the right end of stream

why need add GrpcResponseHeaderFilter code ，and netty add LastHttpContent with trailer header?
normal grpc backend should return trailer， gateway lost this ?


Excel add ins overview - minor edits

:warning: Validation status: warnings

File
Status
Preview URL
Details

LauragraDocset0317235153/excel/excel-add-ins-overview.md
:warning:Warning

Details

LauragraDocset0317235153/excel/excel-add-ins-overview.md

Line 24: [Warning] Invalid file link:(~/../reference/add-ins/javascript-api-for-office.md?product=excel).
Line 63: [Warning] Invalid file link:(~/../reference/add-ins/javascript-api-for-office.md?product=excel).
Line 65: [Warning] Invalid file link:(~/../reference/excel/excel-add-ins-reference-overview.md?product=excel).
Line 79: [Warning] Invalid file link:(~/../reference/excel/excel-add-ins-reference-overview.md?product=excel).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Fix knative deployment example

Purpose

$subject

 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.

Codecov Report

Merging #503 into stage will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              stage     #503   +/-   ##
=========================================
  Coverage     64.26%   64.26%
  Complexity      950      950
=========================================
  Files            98       98
  Lines          4900     4900
  Branches        503      503
=========================================
  Hits           3149     3149
  Misses         1530     1530
  Partials        221      221

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 59b152c...5952484. Read the comment docs.


Added tests for click with options and add styles

All tests of Click with options fail.
Add styles is fine

Since there is an update (https://github.com/MarketSquare/robotframework-browser/pull/278) on some tests of this commit, I close this pull request.


Update translation in automated-tasks-with-cron-jobs.md

pls change '控制管理器' to '控制器管理器'.

Pls feel free to reopen when you get time to resume this work. Thanks.
/close


Gimp 2.10.14

I really love GIMP but I want to say something with guide of GIMP.
Sometimes I find it hard to use guide.If I want to manipulate many guides at the same time it will be really hard since the only way to manipulate the existing guides is by toggling them by mouse.
I hope there will be a editor dialog for manipulating guides in the future, just like the text editor. I hope it can be used both to report and set the location(pixels)of guides. Or at least add some python api of guides to make it possible to  manipulate guides by using python.

@diddledan thank you so so much for your explanations!


fix(instrumenter): switch case mutant placer

Add a MutantPlacer for SwitchCase nodes. It places the mutants in the consequence part of the switch case. This can dramatically improve the performance of instrumenting large switch-case statements.
This:
switch(foo){
  case 'bar':
    console.log('bar');
    break;
  case 'baz':
    console.log('baz');
    break;

}

Is now instrumented as:
switch (foo) {
  case stryMutAct_9fa48(1) ? \\"\\" : (stryCov_9fa48(1), 'bar'):
    if (stryMutAct_9fa48(0)) {} else {
      stryCov_9fa48(0);
      console.log(stryMutAct_9fa48(2) ? \\"\\" : (stryCov_9fa48(2), 'bar'));
      break;
    }

  case stryMutAct_9fa48(4) ? \\"\\" : (stryCov_9fa48(4), 'baz'):
    if (stryMutAct_9fa48(3)) {} else {
      stryCov_9fa48(3);
      console.log(stryMutAct_9fa48(5) ? \\"\\" : (stryCov_9fa48(5), 'baz'));
      break;
    }
}

While previously the entire SwitchCaseExpression was duplicated for each empty switch case mutation.
Fixes #2401

@brodybits
22:27:14 (25864) INFO InputFileResolver Found 1 of 6726 file(s) to be mutated.
22:27:16 (25864) INFO Instrumenter Instrumented 1 source file(s) with 6876 mutant(s)

Instrumenting printer-estree.js now takes a fraction of a second 👍

🎉 I hope to try it soon!

Feel free to review the code if you want 😎

Unfortunately I still do not understand the mutation switching well enough to comment on the changes or on the test cases. Thanks for the investigation and work on this.


Various fixes/improvements for the user mode

Fix leaking the user's phone in the id field of the stats. Improves #48 a bit.
Improved error message if the authentication is not yet completed.
Allow at least the camelcase version, too. Addresses #43.

@luckydonald

@luckydonald

The fix now displays the ID correctly.

The fix now displays the ID correctly.

I'm sorry for the delay, I'm under exams.
Anyway, let's merge!

I'm sorry for the delay, I'm under exams.
Anyway, let's merge!

@MarcoBuster merge after #22

@MarcoBuster merge after #22

@giuseppeM99 Why?
It doesn't depend on that. I'd rather have It out quicker because of the privacy improvement.

@giuseppeM99 Why?
It doesn't depend on that. I'd rather have It out quicker because of the privacy improvement.


What was kingnet53 trained on?

As per title. Was the kingnet53 backbone trained on polyps or DFU?

@bc-bytes Yes, it's pre-trained on ImageNet-1K

Thanks for the info.

Would you be able to provide the code for how you created the pretrained weights? I would like to create new pretrained weights using other datasets.

Hi, you can refer to the HarDNet which is our origin work. I will suggest you also refer to other recent works to get a better performance.


Clarification request: should RepoFile permit duplicate Entry elements?

(Steven Harris ( @seh ) requested that I create this issue after a discussion we had on Slack.)
While working on microbean-helm, I wanted to understand how the helm command line tool works with chart repositories.  That led me into the Go code around processing (e.g.) ~/.helm/repository/repositories.yaml and (e.g.) ~/.helm/repository/cache/stable-index.yaml.
(I am not (yet!) a Go programmer.)
My understanding is that pkg/repo/repo.go contains the RepoFile type for representing the first one, and that pkg/repo/chartrepo.go contains the ChartRepo type for representing the second one.  Both of them use a type called Entry, if I'm reading right, to represent what looks like perhaps a union of information used to represent a "thing" in each file.  In the case of a RepoFile struct, Entry represents some information you need to talk to a chart repository and there are many of them (as you might expect).  In the case of a ChartRepo, Entry seems to represent kind of like its primary key, and there is only one of them.  (I don't know why Entry serves this double purpose but I wanted to list what I've learned in case it is helpful here.)
At any rate: it looks to me like RepoFile "has" an Add function that (deliberately?) allows you to add duplicate entries (so I guess this structure allows you to add a representation of a chart repository twice).  But then all usage that I can find in the codebase of RepoFile structs seems to key off an entry's name (i.e. it treats this RepoFile structure like a map in terms of its usage.
Is there a reason for permitting duplicates in a RepoFile struct?

This class diagram represents my attempt to make sense of the concepts at work here; I hope it helps.

@technosophos Do you have an idea on this one? I am not quite sure

Yes, it should allow duplicate entry elements with the same name. What it should not allow are duplicate entry elements with the same name and the same version.
I think this question is out of date now since type ChartRepo uses type *Entry whereas type IndexFile uses a type map[string]ChartVersions. Because it uses a map[string]ChartVersions, every name is guaranteed to be unique due to the inherent nature of a map.
Good question, @ljnelson.

Thanks for your input.  I think, perhaps, you misunderstood my question, or I asked it badly.
So: I understand that an index.yaml may have many entries in it, each of which refers unambiguously to a chart with a particular name and version.  For example, the stable one is here: kubernetes-charts.storage.googleapis.com/index.yaml  Indeed, there are several entries for wordpress at various versions.  I don't, I suppose, have a question about it.
What I am not sure about is: repositories.yaml apparently can have fully duplicate entries in it, since it is merely an array of entries.  So I could, for example, have a repositories.yaml like this (note the two duplicate entries):
apiVersion: v1
generated: 2017-05-02T17:14:34.08505128-07:00
repositories:
- caFile: ""
  cache: stable-index.yaml
  certFile: ""
  keyFile: ""
  name: stable
  url: https://kubernetes-charts.storage.googleapis.com/
- caFile: ""
  cache: stable-index.yaml
  certFile: ""
  keyFile: ""
  name: stable
  url: https://kubernetes-charts.storage.googleapis.com/

…at least according to the data structure.  My question was: is this deliberate?  Should the repositories.yaml above be flagged as invalid?
Thanks again for your time and for responding so courteously to this issue.

From the pkg side yes, but from the CLI side no. This logic should be rolled into the package, though. :)
I'll re-open this as a good starter refactor if anyone wants to get their feet wet with pkg/repo. :)

Thanks.  For posterity, my takeaway is: duplicate entries should not be permitted in a repositories.yaml via any mechanism.  I'll double-check that I'm enforcing that in microbean-helm.

Correct. :)

/remove-lifecycle stale
/lifecycle frozen

closing as inactive.


Implement : Loader (onClick)

Add a loading Animation when download button is clicked

Please assign this issue to me @11WALTER11


Android - Workspace - User has to tap "save" button twice to save the picture

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue was found when executing this PR #4298
Action Performed:

Lunch the app
Log in with expensifail account
Go to Settings - click on any workspace
Click on picture pen and click upload
Click on Save button

Expected Result:
Able to save picture only on first press on the  button
Actual Result:
Able to save picture only on second press or 3rd press of the button
Workaround:
Unknown
Platform:
Where is this issue occurring?

Android

Version Number:
1.0.83-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
**Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/128581801-01dae2cd-8dff-4295-9c76-0c86e109d193.mp4
Expensify/Expensify Issue URL:
View all open jobs on Upwork

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Triggered auto assignment to @ctkochan22 (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Proposal
The user doesn't have to click twice to save the picture. Basically, there isn't any feedback to the user on changes being saved. Need to do two things:

Show a success/error message on Save
While the API is running disable the Save button

In WorkspaceEditorPage.js,
    this.state = {
       isSubmitting: true
    }

    submit() {
        this.setState({ isSubmitting: true});
        this.uploadAvatarPromise.then(() => {
            const name = this.state.name.trim();
            const avatarURL = this.state.avatarURL;
            const policyID = this.props.policy.id;

            update(policyID, {name, avatarURL});
            this.setState({ isSubmitting: false}); // Manage flag state
            Growl.sucess(translate('updatesuccess')); // Show feedback to the server
        }).catch(err => {
            this.setState({ isSubmitting: false});
            Growl.error(translate('updateFailed'));
        });
   }.

   <Button
        success
        isDisabled={this.state.isSubmitting} /// Disable button when submitting
        style={[styles.w100]}
        text={this.props.translate('workspace.editor.save')}
        onPress={this.submit}
        pressOnEnter
   />

I don't think this is a blocker. It looks like there is just no UI feedback that indicates that the request was sent and we are awaiting a response.
Can we close this or edit the title to `Add loading gif/ui once "save" button is clicked

Triggered auto assignment to @puneetlath (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

I was able to confirm that this behavior is also happening on iOS as well.

@ctkochan22 if you think this is a good external candidate, add the external label please!

Triggered auto assignment to @jboniface (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

weird that being assigned something via auto assigner doesn't remove the overdue label. this made it seem like I had an issue overdue, when really I'd just been assigned to it a couple hours ago.

posted https://www.upwork.com/jobs/~01cdb87ac85566935f

Triggered auto assignment to @roryabraham (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Proposal

We can use a flag in state loading that keeps track of the update promise.

on Submit , set this flag to true, and then when the promise resolves set is back to false.
https://github.com/Expensify/App/blob/e4f4ed7b9f649d46c2cc0696f4bf5e3bcf0403a4/src/pages/workspace/WorkspaceEditorPage.js#L65

If we want to truly track the update process. We can return the API promise here
https://github.com/Expensify/App/blob/e4f4ed7b9f649d46c2cc0696f4bf5e3bcf0403a4/src/libs/actions/Policy.js#L243

thus waiting for both uploadAvatarPromise and Save Api calls promises to resolve before setiing the loading to false.
5.Finally using this flag on the Button isLoading prop.
https://github.com/Expensify/App/blob/e4f4ed7b9f649d46c2cc0696f4bf5e3bcf0403a4/src/pages/workspace/WorkspaceEditorPage.js#L125.

Optionally, we can show a success message after Everything is done.
Growl.show(this.props.translate('workspaceEdit.growlMessageOnSave'), CONST.GROWL.SUCCESS, 3000);

cc: @roryabraham Proposal https://github.com/Expensify/App/issues/4487#issuecomment-894579175

Very sorry for the delay here. @mananjadhav your original proposal looks good 👍

Okay @roryabraham I'll take a note of that. I'll check if the image is replaced or the title is changed and accordingly enabled/disable the save button.

@jboniface, @roryabraham it looks like no one is assigned to work on this job.
Please double the price or add a comment stating why the job isn't being doubled.

@jboniface Let's hire @mananjadhav for this so he can get started implementing the solution 👍

progress is still being made on the PR

PR is under review.

@roryabraham @jboniface
I was wondering if we could bump the budget for this one considering the amount of work we achieved with the PR.
Wouldn't have asked if I was the reporter as would've received the bonus.

Well, we added 1 feature and made improvements in the Animation. Updated that at two places Workspace and Profile.
I would say roughly +350. But I’d also highlight that @roryabraham was the one who helped with the Animation rewrite (Something that would then reduce the ask?)

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

Also an fyi, I had reported the feature requests here: https://github.com/Expensify/App/pull/4801#issuecomment-904749811

@mananjadhav went above-and-beyond the original scope on this one and was a good sport with lots of refactoring - I think we can bump the pay to $500

🚀 Deployed to staging by @roryabraham in version: 1.0.95-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @roryabraham in version: 1.0.96-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

paid

@mananjadhav went above-and-beyond the original scope on this one and was a good sport with lots of refactoring - I think we can bump the pay to $500

@jboniface Did we decide not to increase the budget? I received 250$ only on Upwork

Ah, shoot, I didn't scroll up. I'll send you another contract, just a sec.

ok, sent

Applied

Ah, shoot, I didn't scroll up. I'll send you another contract, just a sec.

No worries. Thanks

all set!


A look at PHP Framewoks

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[ ] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #3420

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

PFA the plagiarism report. It is higher than what we accept. Please make the changes accordingly. Thank you.
A look at PHP Frameworks #6253.pdf

plagiarism check done ✔

@mosesmoses12, please work on plagiarism.  Ping me when done. Thank you.

@geoffrey45, please continue with the review.

@geoffrey45, please have a look at my last commit.

@mosesmoses12
Please be attentive to grammar/readability and make sure that you put your article through a thorough editing review prior to submitting for final approval. (There are some great free tools that we reference in EngEd resources.)
This article was a bit difficult to get through (the intro).
Also another NOTE - the article topic seems like it may be well covered on other sites or documentation.


Fix #6295. Update reference link in sphere.js

Broken link is replaced by correct one.
Closes #6295

thank you @jbelien


Package for PyPI

If we package blockfinder, then it's only a pip install blockfinder away; plus, it introduces an update mechanism tied into one of the system-wide installers, which is always nice.
Since this involves moving around all the code, I'd like to wait until #74 is merged to avoid unnecessary conflict headaches, but I figured I'd ask you guys if there were any reasons you hadn't done this yet (other than time and general busyness).

@xiongchiamiov I hope to resolve this issue soon :-)

It looks like this was packaged in #88, but isn't published to PyPI yet?

@xiongchiamiov correct. I have uploaded a 'dev' version to PyPi we need to do slightly more work to detail how to use it when it is installed as a python package through pip.

I have uploaded blockfinder 4.0.0 to pypi.


Support deploying to a subpath

Steps To Reproduce
I started deploying Evidence on my project site, doing some manual copying to put the Evidence build output into a subpath (/reports).
When loading the deployed Evidence reports (/reports), I'm getting 404s as Evidence looks for all those files in domain.com/_app/immutable/ instead of domain.com/reports/_app/immutable/.
Extra Context

Steps I'm running to deploy
Deployed site with errors

Environment

Node version (node -v): v18.19.0
npm version (npm -v): 10.2.3
OS: Ubuntu 22.04
Browser: Brave
Database: DuckDB

Hey @davidgasquez great to have you here!
Did you see
https://github.com/evidence-dev/evidence/issues/603

Hey @davidgasquez great to have you here!

It took a long time to post any issue so that's a win in terms of DX! :raised_hands:

Did you see #603

I did not. Wasn't sure how to search for the proper issue. I'll try the workaround tomorrow. If it works, I'll close as duplicate.

The workarounds didn't work. I think I need to dig into the Svelte internals as some commets suggested.
Curious how would you do it @archiewood!

Heya @archiewood! Any updates on this one? Would appreciate some new pointers/directions!

Hey @davidgasquez
This is not currently something we support as a deployment path.
We looked into it a while back but it makes the whole DX pretty hairy. (There is a closed PR in that linked issue where there is a bit more discussion).
If the workarounds other have suggested don't work for you (I haven't tested them), some other paths that might work:

can you deploy to a subdomain? reports.yourdomain.com
can you embed the evidence project in your subdirectory using an iframe?

If you can share more context I may be able to suggest other paths

Makes sense! Thanks a lot for the pointers @archiewood. Appreciate the help :pray:
Will try these workarounds and report back if I figure out a way to make it work.

@srenatus
I'm going to close this issue as it's a duplicate of #603 and it's confusing to have both open right now!


Provide a custom argument escape function for TempFileMunge using a  new TEMPFILEARGESCFUNC variable

Contributor Checklist:

[x] I have created a new test or updated the unit tests to cover the new/changed functionality.
[x] I have updated CHANGES.txt (and read the README.rst)
[x] I have updated the appropriate documentation

This patch works in production (@PlatformIO) for over 3 months.

Looks good.
Once you add a test and add the new var info to docs in SCons/Platform/Platform.xml  to we should be able to merge.

Done! So, you can squash my commits into one. Github allows that.

@bdbaddog everything is merged! Thanks! 🙏