[docs] Demo MenuList composition: remove keepMounted prop

The prop keepMounted used on Popper component breaks layout. If you open the Popper and close it again it causes the first MenuList to grow in size as Popper component still takes space in layout after it has been closed. Is it really necessary to use keepMounted?
https://codesandbox.io/s/material-demo-rmu1d?fontsize=14 (without keepMounted)
https://codesandbox.io/s/material-demo-d4l80?fontsize=14 (with keepMounted )

Is it really necessary to use keepMounted?

This is something where I'd like some input from a11y experts or screenreader users. The problem is that without the menu staying in the DOM the controlling element (button) points to no element i.e. making aria-controls either useless or invalid.
The WAI-ARIA authoring practices all keep the controlled menu in the DOM to make use of aria-controls.
We can fix the layout issue by applying align-items: flex-start to the root element:
https://codesandbox.io/s/material-demo-jgkin
diff --git a/docs/src/pages/components/menus/MenuListComposition.js b/docs/src/pages/components/menus/MenuListComposition.js
index bf012ef44..c83f19ff9 100644
--- a/docs/src/pages/components/menus/MenuListComposition.js
+++ b/docs/src/pages/components/menus/MenuListComposition.js
@@ -11,6 +11,7 @@ import { makeStyles } from '@material-ui/core/styles';
 const useStyles = makeStyles(theme => ({
   root: {
     display: 'flex',
+    alignItems:'flex-start'
   },
   paper: {
     marginRight: theme.spacing(2),

It makes sense, but applying align-items: flex-start just removes the default align-items: stretch style, which is causing the first MenuList to grow, but the hidden Popper still takes space within the parent element. Is this an expected behavior for a closed Popper component?

Maybe the tooltip block should remain in position: absolute; after closing, this way it will not take any space within the parent element, and aria-controls will remain valid.

but the hidden Popper still takes space within the parent element. Is this an expected behavior for a closed Popper component?

If it should stay in the DOM: kind of. You could change the style if you wish to. So far this has worked out pretty well since it prevents big layout shifts when transitioning.


Support for Tensorflow object detection API ?

Any plans to officially support the Tensorflow Object Detection API in Keras?
https://github.com/tensorflow/models/tree/master/object_detection

Looks like something to go into keras.applications

+1

Actually any kind of support would be welcomed;)

Will be helpful

I'd like to know how what kind of motors they use and how the power system
works.   There are many videos on the web but little good technical
information.  Boston Dynamics seems to have unlimited power to weight
ratios and in very small volume package.
On Mon, Nov 13, 2017 at 10:38 PM, abmitra84<EMAIL_ADDRESS>wrote:

Will be helpful
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fchollet/keras/issues/7333#issuecomment-344160694,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGCmxh0cSsoqgFfsiBX_EVebyBdVeIeGks5s2TVfgaJpZM4OXmBt
.

--
Chris Albertson
Redondo Beach, California

Hello, it would be great to have Keras support for Tensorflow object detection API, is there any plan for future releases?
Thanks!

@RomRoc it is actually kinda supported in an indirect way. You can define your own feature extractors networks using TF.keras and it will still work. And you can convert keras classification checkpoints to tensorflow checkpoints and load them. It will work

@chrisalbertson @tmsbn @andreidi @abmitra84 @RomRoc as I mentioned above. It is already supported in an indirect way. I have a blog post explaining how to integrate keras with Tensorflow Object Detection API. Kindly Check it out

thank @Abhijit-2592  for your blogpost, it's quite useful ! I'm also looking to re-use the feature extractor of Faster-RCNN for a classification task. If I'm right, I just have to convert cpkt to keras format, define my network in keras and load the weights for the first layers ?


Simplify the SvcCache interface

Simplify the SvcCache interface by making a private state Var and exposing
ports as an Activity.

:star:


Implement StackableContainer

Pop / Push Interactable transition.
Stack View (like UINavigationController)
support: pop to root view

hint: https://www.onswiftwings.com/posts/interactive-animations/


Register rector/rector-php-parser to packagist

rector/rector-php-parser need to be registered to packagist to make it installable via composer.
@TomasVotruba could you add it? Thank you.

Sure :+1:  There you go: https://packagist.org/packages/rector/rector-php-parser


Replace any return char with \n in 5.1 text blocks

Fixes the formfeed issue identified in this bug. Verified that before this fix the provided CSV feed fails to run in xmllint with an invalid char. After, the feed still fails to be valid according to xmllint, but for issues of structure (missing <Name> elements for one).
I applied the clean-text function to any 5.1 data-spec fields that seemed like they could be larger blocks of text where newlines are likely to appear.

👍🏻


Companion v3 compatibility

Hello. In version 3 of Companion pan and tilt do not work and potentially other actions that I haven't tested. Focus and ISO related commands seem to still work. In v3 there's no info in the logs.

Tested and works. Thanks!


Project Sepup with React

In this first part of the Math Magicians application, I set up the environment and tools needed to develop a React application.
Project requirements

Make sure Node.js is installed
Setup linters for React
Create React application using create-react-app
Check that the application runs properly

General requirements

Follow JavaScript best practices
Used correct Gitflow
Document my work in a professional way.
Check linter errors
Open Pull request and ask for review

Thank you so much @ShadyShawkat


speed problem in distribute training

1. In file "kvstore_dist_server.py"
Change
419      // TODO(mli) try to remove this CopyFrom
420     response.vals.CopyFrom(static_cast<const float*>(stored.data().dptr_), len);

to
response.vals = ps::SArray<float>(stored.data().dptr<float>(), len, false);

In a vgg16 training with two distribute machines (total 8 gpus),  it can accelerate 20 samples/sec.
Is this method correct?
2. In file "kvstore_dist.py"
Delete the line 275 "send_buf.WaitToWrite();", can accelerate the speed with kvstore='sync_device' or 'local'.
In profile, I can find this WaitToWrite cause all the push locked until the whole backward finished.
Is this WaitToWrite necessary?

For problem 2, if you remove it, can you still guarantee that push is done after the previous pull on the key is completed?

Do you mind also pasting the profiler output? Thanks!

Train vgg16 with two distribute machines (total 8 gpus).
python ../../tools/launch.py -n 2 --launcher ssh -H hosts which python train_imagenet.py
--data-train=/data/ILSVRC2012_img_train.rec
--data-val=/data/ILSVRC2012_img_val.rec
--network=vgg
--num-layers=16
--kv-store=dist_sync
--gpus=0,1,2,3
--disp-batch=10
--top-k=5
--batch-size=128
--dtype=float32 \
a. The result after remove WaitToWrite:
INFO:root:Epoch[0] Batch [10]	Speed: 93.98 samples/sec	accuracy=0.001420	top_k_accuracy_5=0.003551
INFO:root:Epoch[0] Batch [10]	Speed: 89.04 samples/sec	accuracy=0.000000	top_k_accuracy_5=0.004261
INFO:root:Epoch[0] Batch [20]	Speed: 98.28 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.005469
INFO:root:Epoch[0] Batch [20]	Speed: 96.96 samples/sec	accuracy=0.000781	top_k_accuracy_5=0.003125
INFO:root:Epoch[0] Batch [30]	Speed: 96.77 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.006250
INFO:root:Epoch[0] Batch [30]	Speed: 96.12 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.002344
INFO:root:Epoch[0] Batch [40]	Speed: 95.42 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.006250
INFO:root:Epoch[0] Batch [40]	Speed: 96.40 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.005469
INFO:root:Epoch[0] Batch [50]	Speed: 98.69 samples/sec	accuracy=0.000000	top_k_accuracy_5=0.006250
INFO:root:Epoch[0] Batch [50]	Speed: 98.15 samples/sec	accuracy=0.000781	top_k_accuracy_5=0.005469
INFO:root:Epoch[0] Batch [60]	Speed: 94.75 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.004687
INFO:root:Epoch[0] Batch [60]	Speed: 94.82 samples/sec	accuracy=0.000000	top_k_accuracy_5=0.003906
profile:
remove.zip
b. The origin result
INFO:root:Epoch[0] Batch [10]	Speed: 76.15 samples/sec	accuracy=0.000000	top_k_accuracy_5=0.004261
INFO:root:Epoch[0] Batch [10]	Speed: 80.05 samples/sec	accuracy=0.001420	top_k_accuracy_5=0.003551
INFO:root:Epoch[0] Batch [20]	Speed: 81.68 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.005469
INFO:root:Epoch[0] Batch [20]	Speed: 81.62 samples/sec	accuracy=0.000781	top_k_accuracy_5=0.003125
INFO:root:Epoch[0] Batch [30]	Speed: 82.43 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.006250
INFO:root:Epoch[0] Batch [30]	Speed: 82.28 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.002344
INFO:root:Epoch[0] Batch [40]	Speed: 81.18 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.005469
INFO:root:Epoch[0] Batch [40]	Speed: 80.52 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.006250
INFO:root:Epoch[0] Batch [50]	Speed: 80.65 samples/sec	accuracy=0.000781	top_k_accuracy_5=0.005469
INFO:root:Epoch[0] Batch [50]	Speed: 80.63 samples/sec	accuracy=0.000000	top_k_accuracy_5=0.006250
INFO:root:Epoch[0] Batch [60]	Speed: 81.04 samples/sec	accuracy=0.000000	top_k_accuracy_5=0.003906
INFO:root:Epoch[0] Batch [60]	Speed: 80.81 samples/sec	accuracy=0.001563	top_k_accuracy_5=0.004687
profile:
origin.zip
The profile can be opened by chrome://tracing
@eric-haibin-lin

For problem 1, is removing this line safe? What if the data in stored  change during response?
For problem 2, in pull/push the same array is used for merging to guarantee the order. If wait_to_write is removed, I think previous pull might not finish.

For problem 1, before push finished, stored always WaitToRead. In sync model, pull will execute after all the push finished. At this time, I think  the data in stored won't change during response.
For probem 2, the data in previous pull were used in forward execute. The push execute after backward finished. So, when push execute, the previous pull must be finished

For problem 2, if "when push execute, the previous pull must be finished", I think wait_to_write  should return immediately every time.

But wait_to_write does't return immediately every time.With profile, we can find it locked until all the backward finished.

So I'm afraid that it waits pull finish. Right? @eric-haibin-lin


support run carbon app localy by using docker

support run carbon app localy by using docker

[ ] Integration tests (if applicable)

Closes #

Hey @Zheaoli — thanks for pushing a PR instead of an issue. However, we don't want to support this used case for local dev. Since it is just a simple node app, it's super easy to just create your own Dockerfile (as you have done) or even publish an image to Docker hub.


QR code is not getting scanned in dark mode.

Description
When I'm scanning the QR code in dark mode, it is not getting scanned properly. Because apparently QR code needs a white background.
Dark Mode

Light Mode

What are your thoughts on this??
Screenshots
No response
Additional information
No response

I have a solution for this. Look at this screenshot.
By adding a border will solve this problem.

If you have any other suggestions, then you can tell me. Or should I create a PR for this?

Can you assign this to me?
Fix to be done: Make sure the QR code has a contrasting background (white) without changing the position or alignment of the QR.

I have a solution for this. Look at this screenshot.
By adding a border will solve this problem.
If you have any other suggestions, then you can tell me. Or should I create a PR for this?

Thank you @pratham-yuxo for raising the bug and coming up with a solution. I have updated the labels with ready for dev and I have assigned it to you.
@Devesh35 the author of the issue already requested to work on it, please have a look at other open issues that are ready for dev and not assigned

@eddiejaoude Thank you for assigning this to me, I will solve this issue as soon as possible.


[WIP] message_row: Remove mentioned background color date row.

If the messages row is the first one where user is mentioned and it has a date row, then we don't change the background color of the date row.
before:

after:

discussion: https://chat.zulip.org/#narrow/stream/101-design/topic/message.20highlights

Closing this PR so since the approach here is wrong.


Support for HTTP Basic Auth on apk repos

alpine's apk (and associated c libs) offer few methods for dealing with private repos, in fat it appears http-basic-auth is the only available option. However apko does not support http basic auth. It would be nice for some scenarios to have this available as it seems to work with alpine's apk tool.
I am not sure if this issue/request should be on the chainguard-dev/go-apk repo or here, as I assume there will be changes needed in both repos.
I have confirmed alpine itself works with my private test repo:
$ docker run --rm -it alpine:latest sh

sh # echo<EMAIL_ADDRESS>>>/etc/apk/repositories

sh # apk add --allow-untrusted example
fetch<EMAIL_ADDRESS>(1/1) Installing example (0.0.1-r0)

apko publish fails, however:
# apko.yaml
contents:
  keyring:
    - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub
    -<EMAIL_ADDRESS>  repositories:
    - https://packages.wolfi.dev/os
    -<EMAIL_ADDRESS>  packages:
    - ca-certificates-bundle
    - wolfi-base
    - wolfi-baselayout
    - tzdata
    - example

cmd: /bin/sh -l

archs:
  - x86_64
  - aarch64

$ apko publish apko.yaml registry/example:latest

2023/07/08 14:22:18 [DEBUG] GET https://packages.wolfi.dev/os/wolfi-signing.rsa.pub
2023/07/08 14:22:18 [DEBUG] GET https://packages.wolfi.dev/os/wolfi-signing.rsa.pub
2023/07/08 14:22:18 [DEBUG] GET https://d2fm6dmgrzdb3m.cloudfront.net/os/melange.rsa.pub
2023/07/08 14:22:18 [DEBUG] GET https://d2fm6dmgrzdb3m.cloudfront.net/os/melange.rsa.pub
Error: failed to build image components: failed to build layer image for "arm64": initializing apk: failed to initialize apk keyring: failed to fetch apk key: http response indicated error
2023/07/08 14:22:19 error during command execution: failed to build image components: failed to build layer image for "arm64": initializing apk: failed to initialize apk keyring: failed to fetch apk key: http response indicated error

This should be working, but admittedly, I've never tested it.  We will get this working ASAP.

@kaniini I just pushed a working branch at https://github.com/chainguard-dev/go-apk/pull/79 you may want to test out

Thanks for the PR @joemiller! I just have some small requested changes; will comment there.

closing this now, it should be fixed by https://github.com/chainguard-dev/go-apk/pull/79 and https://github.com/chainguard-dev/apko/pull/798 and available in the next apko release after 0.9.0


feat(ci): automate snapshot generation for sqlsmith

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Closes #10043

If snapshot generation failed, it just means it won't push to the main branch for sqlsmith.

Checklist For Contributors

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[x] I have demonstrated that backward compatibility is not broken by breaking changes and created issues to track deprecated features to be removed in the future. (Please refer to the issue)
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Checklist For Reviewers

[ ] I have requested macro/micro-benchmarks as this PR can affect performance substantially, and the results are shown.

Documentation

[x] My PR DOES NOT contain user-facing changes.

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note

Uploaded new snapshot: https://github.com/risingwavelabs/sqlsmith-query-snapshots


Incorrect behavior of RemoveRedundantDefaultPropertyAnnotationValuesRector

Moved here from https://github.com/rectorphp/rector/issues/7034
Bug Report
A @JoinTable-Annotation is added, even if it is already present.

Subject
Details

Rector version
last dev-master

Installed as
composer dependency

Minimal PHP Code Causing Issue
See https://getrector.org/demo/c057a4bc-9be7-4347-a4cd-f0d719e71c17
<?php

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity()
 * @ORM\Table(name="test")
 */
class Test
{
    /**
     * @ORM\ManyToMany(targetEntity="Type", inversedBy="tests")
     * @ORM\JoinTable(
     *    name="objects_portal_type",
     *    joinColumns={@ORM\JoinColumn(name="test_id", referencedColumnName="id")},
     *    inverseJoinColumns={@ORM\JoinColumn(name="type_id", referencedColumnName="id")}
     * )
     * @var \Doctrine\Common\Collections\Collection<\Type>
     */
    private \Doctrine\Common\Collections\Collection $types;

    public function __construct()
    {
        $this->types = new ArrayCollection();
    }

}

Responsible rules

RemoveRedundantDefaultPropertyAnnotationValuesRector

Expected Behavior
Improve the existing annotation, but do not duplicate it

Also, the @JoinColumn-Annotation are missing in the added Annotation

duplicate of #64


Add the default sort type

Currently when a column is sorted, it defaults to sort it by ascending order.
This PR provides the possibility to configure the default order.
To sort columns by descending order first, add the following as a table option:
:sort-options="{defaultSortType: 'desc'}"

@okoriko You could also add the documentation update to reflect this new option. WDYT?

@okoriko I'm in the process of re-writing some of the sort logic. Will need to hold off on this merge.

Anyone knows how to sort by time??

sort has changed significantly since this PR. I'm going to close this.


The types of credit cards that can be scanned with Lens24.

Hello! I tried scanning some credit cards with Lens24, and it works fine for some cards, but not all. For example, I tried using a Revolut card, and it didn’t work as expected. Do you know what types of credit cards work well with Lens24? It would be very helpful to have a list of these types, as I need it for testing purposes.

Hi, you can scan Visa and Mastercard with 16 digits (4-4-4-4). Not American Express 15 digits.

also tried using a Revolut card, which is a 16-digit Visa, but it didn’t work. I suspect it might be due to the different placement of the card number. Are there any specific requirements regarding card number placement as well?"

Yes, the number position is important, so   it will not be scanned(

I guess only this placement works fine, right?

Yes


Correct card orientation and images.

Correct orientation of images and their cards as suggested by vibhu.

@ChiragSaxena5437 close once you're done with removing the spaces.


Tutorial ts

Added content to typescript basics tutorial. Removed TODOs.

Can you also add some discussion of Array functions, in particular, map, filter, and forEach? Our linter rules strongly discourage most for loops that could be replaced by calls to these functions, and it would be useful for those alternatives to be included in the tutorials.
You can continue to push commits to your same branch tutorial-ts, and they will appear in this pull request. The deployment preview will also continue to update.
Thanks for your contribution!

Fixed the links, removed TODOs, fixed any typos and formatting issues, updated the content according to the suggestions, added Map, Reduce, Filter, ForEach.


Some localization bundle(s) are not available on cocoapod

I install via pod 'DBCamera', '~> 2.4'
Languages include JA, zh-Hans and zh-TW are missed on that.

the same problem here.


Add sufficient padding to pricing components

Added sufficient padding to card components.
Formatted component file with Prettier.

Initial:

Update:

Thanks for the PR!


Add an option to build and serve the app via docker

Hey Drumsin, big fan of this tool I just prefer to run things in docker so thought I'd see if I could add an option to do that. Let me know what you think. I've tested this on my windows 10 machine after following the docker desktop for windows installation and it seems to be doing everything it should.

Henero from the modding discord

@hashtonmartyn
Thanks for the submission! Love the idea of more ways to get the tool running locally.
I personally have not used Docker myself, so I will perform a run-through myself. I'll let you know if I have any questions.
I may want to add some clarity to the README.md so a user is not confused on which option if they are unfamiliar with both options. Any recommendations on this verbiage is appreciated.
Thanks again, I'll keep you updated.


Toggling fullscreen

For desktops without "fake fullscreen" (like in i3, dwm and others).
These shortcuts are common in games.

I really don't like how ToggleFullscreen works on Windows. It literally tries to change the resolution of the entire screen to the size of the window. You resize the window to some weird size, ToggleFullscreen and it will try to change the resolution to that. We need to approach that differently. Maybe fix the resolution to specific value and forbid resize. Like, I don't know. I need to experiment and see what works the best. That's why I didn't implement it despite how seemingly simple the TODO sounds (Just slap the ToggleFullscreen and call it a day, right?)


Updated to zend-expressive-router 2.0

Updated the depedency on zend-expressive-router to ^2.0, and, in development, each router implementation to that same constraint.
Doing so has an intersting side-effect: the route result is guaranteed to have valid middleware composed, as the result is created from a Route instance, which will raise an exception much earlier in cases of invalid middleware being passed during its own instantiation. This allowed removing two unit tests, as well as a conditional within dispatchMiddleware() for verifying we have callable middleware.

Missing argument 1 for ZendTest\Expressive\RouteMiddlewareTest::testMatchWithAllHttpMethods()

This is happening with low deps, so something else needs bumping too.

This is happening with low deps, so something else needs bumping too.

It was a bug in PHPUnit 5.7.0, and fixed in 5.7.1; I've bumped the minimum PHPUnit version to 5.7.1 just now.

(Reference: https://github.com/sebastianbergmann/phpunit/pull/2381)


Setup PrometheusRules within Mimir ruler

First work: https://github.com/giantswarm/roadmap/issues/2521#issuecomment-1600757158

I have a PR upstream waiting for approval that will add a specific sa for the ruler allowing to have a specific bucket for it. The PR : https://github.com/grafana/mimir/pull/7132

Upstream fix released in mimir-app 0.4.2

With the current config mimir-ruler is crashlooping fith the following message :
ts=2024-02-14T12:53:56.724145913Z caller=sanity_check.go:115 level=warn msg="Unable to successfully connect to configured object storage (will retry)" err="blocks storage: unable to successfully send a request to object storage: Access Denied"

Still, the mimir-ruler pod is using the mimir-ruler sa wich has the correct irsa annotation with the correct AWS role arn, which in turn has the correct policy to access the ruler bucket.

That's what I'm trying to understand :/

Well yes it is https://github.com/grafana/mimir/blob/e8e77847191e2bbcb9263a6c12ea5c207d93ca53/pkg/mimir/sanity_check.go#L130 :(

Maybe we can add some extraPermissions in here https://github.com/giantswarm/object-storage-operator/blob/f377196f346dc79e2bbb8d66d5bb81b4dc4a028c/api/v1alpha1/bucket_types.go#L45 to be able to allow the role access to the other bucket?

Maybe we can add some extraPermissions [...] to be able to allow the role access to the other bucket?

I guess that would be the most straightforward way to do it :+1:
Can you take care of it or should I do it ?

I'll always want to do things myself but right now I'm busy with PMO so for the sake of efficiency, I think it's better if you take care of it (considering you have time for this obviously). :slightly_smiling_face:

Fixes object storage to support extra buckets https://github.com/giantswarm/object-storage-operator/pull/89


git push fails after upgrade to 1.14.1-gogit

Gitea version (or commit ref): 1.14.1 gogit
Operating system: Windows server 2019

Database (use [x]):

[x] PostgreSQL

Log gist:

2021/04/16 10:24:43 routers/repo/http.go:556:serviceRPC() [E] Fail to serve RPC(receive-pack) in D:\Gitea\Repositories\supplier-platform\spwatchguard.git: read tcp <IP_ADDRESS>:3000-><IP_ADDRESS>:57179: wsarecv: An existing connection was forcibly closed by the remote host. -
2021/04/16 10:24:43 routers/repo/http.go:510:func1() [E] serviceRPC: Close: read tcp <IP_ADDRESS>:3000-><IP_ADDRESS>:57179: wsarecv: An existing connection was forcibly closed by the remote host.

Description

After update to 1.14.1 with gogit on windows server, git push doenst work anymore.
The logs are written above.
Following is outputted on the client:
error: RPC failed; curl 56 Recv failure: Operation timed out
fatal: the remote end hung up unexpectedly
fatal: the remote end hung up unexpectedly
Everything up-to-date

Do i have to run any tasks to gitea after the update?
Worked with 1.14.0 and previous 1.13.x versions
I already ran task: Resynchronize pre-receive, update and post-receive hooks of all repositories.

After 20 minutes of retrying it then worked ?!?!


[SUB-TASK][KPIP-4] Support to retry the session state operations if meet transient jdbc issue

Why are the changes needed?

We need support to retry the jdbc operation.
Because we add new jdbc dependency for batch HA, and the database might be in maintenance window.
And there might be master-slave switch, and the database might be unavailable for few minutes.
We need tolerant this issue and unblock the main thread.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Codecov Report

Merging #2834 (952ab4e) into master (ead33d7) will decrease coverage by 0.05%.
The diff coverage is 60.39%.

@@             Coverage Diff              @@
##             master    #2834      +/-   ##
============================================
- Coverage     63.37%   63.31%   -0.06%
  Complexity      203      203
============================================
  Files           485      488       +3
  Lines         21731    21807      +76
  Branches       2864     2873       +9
============================================
+ Hits          13771    13808      +37
- Misses         6659     6696      +37
- Partials       1301     1303       +2

Impacted Files
Coverage Δ

...e/kyuubi/server/statestore/SessionStateStore.scala
90.66% <ø> (-1.47%)
:arrow_down:

...tatestore/RetryingSessionStateOperationEvent.scala
16.66% <16.66%> (ø)

...r/statestore/StateStoreOperationRetryManager.scala
48.07% <48.07%> (ø)

...apache/kyuubi/session/KyuubiBatchSessionImpl.scala
92.98% <60.00%> (-3.18%)
:arrow_down:

...g/apache/kyuubi/session/KyuubiSessionManager.scala
88.46% <66.66%> (-2.30%)
:arrow_down:

...bi/server/statestore/StateOperationsRetryRef.scala
90.00% <90.00%> (ø)

...g/apache/kyuubi/operation/BatchJobSubmission.scala
76.12% <100.00%> (+0.96%)
:arrow_up:

...kyuubi/server/statestore/jdbc/JDBCStateStore.scala
89.84% <100.00%> (ø)

...ache/kyuubi/operation/KyuubiOperationManager.scala
80.82% <0.00%> (-1.37%)
:arrow_down:

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
96.89% <0.00%> (-0.11%)
:arrow_down:

... and 3 more

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 ead33d7...952ab4e. Read the comment docs.

cc @ulysses-you @yaooqinn @pan3793
It is helpful if the db is in maintenance state.

will unit tests be added？

will unit tests be added？

done

the naming is a mess
SessionStateStore JDBCStateStore Metadata etc..

the naming is a mess
SessionStateStore JDBCStateStore Metadata etc..

How about:
StateStore, JDBCStateStore, SessionMetadata?

thanks, merged to master


Numbering list is not friendly with images inlined with it

Issue Summary
Using Safari latest version and Mac OSX.
Steps to Reproduce

Type in the following markup:

1. Sample content
![]
2. Second sample content
![]
3. Third sample content
![]

Any other info e.g. Why do you consider this to be a bug? What did you expect to happen instead?
I'm expecting it to be not reset the number to 1. It should recognized that I placed image and at least the numbering should stay.
The output would look like this:
1. Sample content
[Image]
1. Second sample content
[Image]
1. Third sample content
[Image]

Technical details:

Ghost Version: 0.9
Node Version: Latest version
Browser/OS:  Safari/OSX
Database: Ghost.db

@leolorenzoluis hey, so to fix this, just put 4 spaces for the images to indent it, and your numbering will be perfect. Ex:
1. Sample content
    ![]
2. Second sample content
    ![]
3. Third sample content
    ![]

Doing it like that it will work the way you expect.
Hope that helps!

@dbalders Thank you it works. However, what about for ``` markup? I tried adding 4 spaces and it didn't indent.

ya, doesn't look like that works. I'll re-open for now

Is this bug still on the radar? Or is it already solved in the 1.0.0 version. It is quite hard to write technical guides on Ghost now, since you can't use 4 spaces to indent after a ``` code block. 👍


2.0 -- yaml export fixes, dayone fixes

This pull request fixes/adds:

shlex.split on Windows (fixes #322, fixes #348)
CLI

if no editor is set, running jrnl allows you to create an entry, but no prompt was being given
colorizes warning and error messages throughout

improves Dayone handling:

moves to new-style date handling (variable length, square bracket enclosed)

improves YAML export handling

only increases headings by one level
includes the entry's UUID (if available) in the export
removes lines from the entry if they only list tags

Wow. So much goodness in here indeed. Merging it in now, thank you!

@maebert , your responses get better and better! Glad to help


⚠ Bofrost.be has degraded performance

In 1bffb6b, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1628 ms

Resolved: Bofrost.be performance has improved in 39d669e after 8 minutes.


Introduce ScheduleSpecInterface

Summary

While implementing deduplication, this piece of code has become unmaintainable. Thus adding a new interface
Addresses CodeClimate issues

Checklist

[x] Keep pull requests small so they can be easily reviewed.
[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking,
as they show up in the changelog
[x] ~Update the documentation.~
[x] Update tests.

This changes does make the code more DRY and more concise, but I'm not so sure about the improvement of the readability and 'understandability'.

I agree. This PR is a preparation for #344 , where the createJobList() func becomes much easier to maintain, but it doesn't overhaul K8up's design that it desperately needs for v2.


Static export failed when upgraded to v8.0.0

8.0.0(npm) Bug report
Describe the bug
next app stopped to work on client side after upgrading next to v8.0.0
Coming back to v7.0.3 makes things work.
Here is a broken version with 8.0.0
Here is a working version with 7.0.3
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

this is fixed commit
it works well by npm run dev
do npm i<EMAIL_ADDRESS>and run an app
menu button and smooth scrolling after side bar clicks do not work.
In browser console you will see Uncaught TypeError: Cannot read property 'textContent' of null

Expected behavior
No errors in console, all the buttons work, scrolling is smooth
Screenshots
Full error:
Uncaught TypeError: Cannot read property 'textContent' of null
    at Object../node_modules/next/dist/client/index.js (index.js:66)
    at __webpack_require__ (bootstrap:788)
    at fn (bootstrap:149)
    at Object../node_modules/next/dist/client/next-dev.js (next-dev.js:23)
    at __webpack_require__ (bootstrap:788)
    at fn (bootstrap:149)
    at Object.0 (module.js:22)
    at __webpack_require__ (bootstrap:788)
    at checkDeferredModules (bootstrap:45)
    at Array.webpackJsonpCallback [as push] (bootstrap:32)

System information

OS: Kubuntu 18.04
Browser: chromium
Version of Next.js: 8.0.0 from npm

Additional context
CLI command
now init creates nextjs-static example with optimistic package.json:
{
  "scripts": {
    "now-build": "next build && next export -o dist"
  },
  "dependencies": {
    "next": "latest",
    "react": "latest",
    "react-dom": "latest"
  }
}

so it was surprise for me to become a tester of pre-release

The issue is @engineerapart/nextscript doesn't support Next 8
https://github.com/engineerapart/nextscript

@dav-is Thank you for reply.
Could you please recommend some 'official' way to include some polyfill into nextjs app?
In my case it's static app and I need closest selector.
That solution was fine for next 7, but now I see no signs of life in the project, so chances are low v8 will be supported in the nearest future..
May be I missed some docs about topic?

This should do 🤔 https://github.com/zeit/next.js/tree/canary/examples/with-polyfills


Pause hotkey handling

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[ ] Performance issue
[X] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

Current behavior
It is impossible (?) to temporarily disable the handling of hotkeys.
Expected behavior
Run hotkeysService.pause() to temporarily interrupt the handling of hotkeys, and .unpause() to resume handling.
What is the motivation / use case for changing the behavior?
When I display modals in my application, I want to prevent any hotkeys until they are dismissed.
It's a simple change, so I'm happy to put together a PR if the functionality would be welcome.

You're welcome to submit a PR

@NetanelBasal is this feature implemented or open? attempt/#62


Display info and support links in navbar on mobile and tablet devices

Currently all navbar links are hidden on mobile and tablet devices but it would be better if (at least) the links for the information and support modal dialogs were displayed on all devices.

This enhancement has been made and is now live in production.


[Bug]: Not running on startup

The problem
Using this installation string: MSIEXEC.EXE /I "c:\Windows\Temp\WAU.msi" /qn NOTIFICATIONLEVEL=SuccessOnly DESKTOPSHORTCUT=0 RUN_WAU=YES LISTPATH=https://www.innovateusa.com/default_excluded_apps.txt USERCONTEXT=1 UPDATESATLOGON=1
Apps don't attempt to update on startup, is there a setting I should check?
What version of WAU has the issue?
2.1.0
What version of Windows are you using (ex. Windows 11 22H2)?
Win11 23H2
What version of winget are you using?
1.24.25200.0
Log information
no C:\ProgramData\Winget-AutoUpdate folder

Additional information
No response

you listpath is wrong.


[Bug]: After creating the type, the database list on the left is not displayed immediately

ODC version
ODC422
OB version
Oceanbase410
What happened?
After creating the type, the database list on the left is not displayed immediately

What did you expect to happen?
Refresh now
How can we reproduce it (as minimally and precisely as possible)?
Create type
Observe the type on the left
Anything else we need to know?
No response
Cloud
No response

Automatic refresh of the database object tree is currently not supported


Enhancement: Integrate support for fmp4 formats in the Media demo app to expand format compatibility.

Enhancement: Integrate support for fmp4 formats in the Media demo app to expand format compatibility.
Background:

Chrome extensions already support fmp4 formats for video playback.
The current Media androidx library (version 1.5.1) lacks this functionality.
Supporting fmp4 will broaden the range of supported formats, aligning with industry standards.
Benefits:
Improves the Media androidx library's versatility and user experience.
Enables playback of a wider range of media formats, including fmp4 HLS variations.
Makes the library more competitive with other video playback solutions.
Recommendation:
Consider adding fmp4 format support to the Media demo app as a new feature.
This functionality can be gradually implemented and tested for stability.
Reference links provided for testing purposes:

https://www.parsatv.com/name=ITC-TV#Persian
https://stream.castr.com/6762194902ac17bd275d775c/live_4f894a10bcd811efba81b178a13fa3de/index.fmp4.m3u8
https://stream.castr.com/6762194902ac17bd275d775c/live_4f894a10bcd811efba81b178a13fa3de/tracks-a1/index.fmp4.m3u8
Additional Notes:

Mention any potential challenges or dependencies associated with fmp4 format integration.
Provide suggestions for implementation strategy (e.g., phased approach)
By incorporating this feedback, the Media androidx library can significantly enhance its format compatibility and appeal to a wider audience.

Sincerely,
Senior computer engineer (Zero)
Pooya Mohammadhossein (Ryan)

Hi @ppooya,
Please checkout https://developer.android.com/media/media3/exoplayer/supported-formats. It looks like Media3 already support fMP4 to some extent. I'll still assign this issue to my colleague to verify and provide more details.

Hi @ppooya,
As @tianyif mentioned, ExoPlayer already supports playback of fMP4 files for both VOD (Video on Demand) and live streaming scenarios.
The demo app uses a media configuration file to list the media files available for playback.  You can add your own media URLs to this file to test and play new formats, including fMP4. Since this is an open-source project, we cannot always include sample files for every possible format due to licensing restrictions. However, the flexibility to add your own files ensures that you can test a wide variety of formats.
If there are specific challenges you face while testing or if you have issues with certain fMP4 streams, feel free to provide more details. We're happy to assist further!

Hi @ppooya,
Thank you for your response. I noticed that the first link in the issue description points to a website, while the remaining two links are not accessible. Could you please provide a valid sample link that can be directly accessed and tested?
Regarding your suggestion to "sniff" video links from the ITC TV website: extracting video links in this manner may conflict with terms of service or copyright guidelines, so I’m unable to proceed with this approach. Providing a valid and accessible stream URL would greatly help in verifying and addressing the issue.


Implement an LibraDB inspector to inspect local storage without running node

A naive implementation to inspect and verify some DB information.
fallentree-mbp:libra fallentree$ cargo run -p libra-storage-inspector --
   Compiling libra-storage-inspector v0.1.0 (/Users/fallentree/src/libra/storage/inspector)
    Finished dev [unoptimized + debuginfo] target(s) in 17.07s
     Running `target/debug/libra-storage-inspector`
Opening DB at: "/tmp/libra/libradb/db"
DB opened successfully.
Latest Version: 89
The latest ledger info: LedgerInfo: [commit_info: BlockInfo: [epoch: 1, round: 83, id: 33a79c08, version: 89, timestamp (us):<PHONE_NUMBER>834548, next_validator_set: None]]
Signatures: {3203fb165486ec1a985a01acacb6303d023beb16655f5ff683ad680a86166dd8: Ed25519Signature(Signature( R: CompressedEdwardsY: [244, 81, 237, 171, 238, 216, 146, 246, 193, 12, 13, 243, 86, 99, 29, 114, 184, 12, 210, 18, 21, 110, 127, 207, 18, 144, 105, 229, 81, 138, 203, 52], s: Scalar{
        bytes: [164, 211, 3, 174, 137, 184, 248, 213, 76, 101, 212, 126, 213, 179, 204, 83, 178, 254, 144, 21, 12, 164, 157, 164, 50, 243, 29, 198, 149, 66, 89, 10],
} )), f3616cc079c0be423d52a6eb5de329515698e540405c309b50bbe3c613fdea5e: Ed25519Signature(Signature( R: CompressedEdwardsY: [122, 137, 166, 57, 148, 183, 57, 68, 90, 12, 174, 1, 106, 38, 176, 20, 26, 56, 83, 122, 134, 194, 242, 69, 150, 173, 111, 95, 179, 89, 64, 185], s: Scalar{
        bytes: [119, 11, 38, 171, 254, 214, 224, 36, 220, 21, 198, 253, 223, 27, 0, 28, 23, 213, 93, 46, 171, 51, 71, 99, 28, 212, 175, 190, 77, 129, 53, 8],
} )), fd6ab820b3688dc0f9deed8cbda8294246d6f732f4901ca0e45f466a20dc4d9a: Ed25519Signature(Signature( R: CompressedEdwardsY: [200, 98, 74, 127, 85, 123, 255, 195, 166, 58, 76, 96, 151, 118, 19, 24, 175, 161, 179, 138, 170, 178, 200, 50, 57, 81, 169, 24, 115, 90, 213, 114], s: Scalar{
        bytes: [72, 4, 103, 144, 77, 184, 164, 251, 16, 141, 233, 25, 178, 46, 87, 46, 171, 9, 127, 235, 198, 90, 181, 178, 7, 19, 141, 62, 68, 200, 93, 6],
} ))}
Current Validator Set: [account_address: 3203fb16 account_address: 78633fc6 account_address: f3616cc0 account_address: fd6ab820 ]
Current Transaction: SignedTransaction {
 raw_txn: RawTransaction {
        sender: 7f16dd5754f884fca10ddb5a32c7105b7ea4a5be923dc8518ad3185af8bc39be,
        sequence_number: 0,
        payload: {,
                transaction: peer_to_peer_transaction,
                args: [
                        {ADDRESS: 41c5824b9915d8029327399abfd2ce5b56b0d857182102c4e02fe801c5218469},
                        {U64: 10000000},
                ]
        },
        max_gas_amount: 140000,
        gas_unit_price: 0,
        expiration_time:<PHONE_NUMBER>s,
},
 public_key: Ed25519PublicKey(6e3275d31f1215fc868d2f1991135eda532d9248a704aa43b78ef8ab81129571),
 signature: Ed25519Signature(
    Signature( R: CompressedEdwardsY: [179, 49, 121, 211, 1, 15, 132, 87, 144, 12, 164, 137, 109, 6, 215, 109, 179, 12, 46, 247, 173, 46, 42, 197, 186, 71, 118, 153, 179, 247, 124, 4], s: Scalar{
        bytes: [114, 111, 185, 108, 160, 216, 198, 41, 120, 214, 228, 118, 252, 120, 147, 83, 241, 239, 130, 46, 193, 105, 168, 69, 163, 22, 115, 127, 241, 10, 90, 9],
    } ),
),
 }
DB version verified: 88
DB version verified: 87
DB version verified: 86
DB version verified: 85
DB version verified: 84
DB version verified: 83
DB version verified: 82
DB version verified: 81
DB version verified: 80
DB version verified: 79
DB version verified: 78
DB version verified: 77
DB version verified: 76
DB version verified: 75
DB version verified: 74
DB version verified: 73
DB version verified: 72
DB version verified: 71
DB version verified: 70
DB version verified: 69
DB version verified: 68
DB version verified: 67
DB version verified: 66
DB version verified: 65
DB version verified: 64
DB version verified: 63
DB version verified: 62
DB version verified: 61
DB version verified: 60
DB version verified: 59
DB version verified: 58
DB version verified: 57
DB version verified: 56
DB version verified: 55
DB version verified: 54
DB version verified: 53
DB version verified: 52
DB version verified: 51
DB version verified: 50
DB version verified: 49
DB version verified: 48
DB version verified: 47
DB version verified: 46
DB version verified: 45
DB version verified: 44
DB version verified: 43
DB version verified: 42
DB version verified: 41
DB version verified: 40
DB version verified: 39
DB version verified: 38
DB version verified: 37
DB version verified: 36
DB version verified: 35
DB version verified: 34
DB version verified: 33
DB version verified: 32
DB version verified: 31
DB version verified: 30
DB version verified: 29
DB version verified: 28
DB version verified: 27
DB version verified: 26
DB version verified: 25
DB version verified: 24
DB version verified: 23
DB version verified: 22
DB version verified: 21
DB version verified: 20
DB version verified: 19
DB version verified: 18
DB version verified: 17
DB version verified: 16
DB version verified: 15
DB version verified: 14
DB version verified: 13
DB version verified: 12
DB version verified: 11
DB version verified: 10
DB version verified: 9
DB version verified: 8
DB version verified: 7
DB version verified: 6
DB version verified: 5
DB version verified: 4
DB version verified: 3
DB version verified: 2
DB version verified: 1
Verification Success!

@msmouse let me know if I'm on the right path here,  especially some ideas on how to verify db consistency would be great. I will make it accept flags later

If you are to verify every node on disk, do it recursively from the root. Doing get_with_proof() for each leaf wastes so much.

I think this is not really a "inspector", rather, a "checksumer" or "verifyer" probably?

@msmouse per our conversation, I've removed all verification stuff (to be implemented later) , and added inspection related stuff.  PTAL.

@msmouse  done, PTAL

@bors-libra r=msmouse

:pushpin: Commit 5e5908b has been approved by msmouse

:hourglass: Testing commit 5e5908bb3b996a2c8f82453afb42903dc262a4f5 with merge ae2225440a97217cf94c9647ed1e33de955d7eb8...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: msmouse
Pushing ae2225440a97217cf94c9647ed1e33de955d7eb8 to master...

You did not use the fixup command correctly. Please check the documentation of git commit --fixup to understand how to make sure commits are properly squashed.

Shoot, I thought this will be handled by boras.  Will manually squash next time.
Yucong Sun, Libra PE

From: wqfish<EMAIL_ADDRESS>Sent: Friday, February 28, 2020 2:31:50 PM
To: libra/libra<EMAIL_ADDRESS>Cc: Yucong Sun<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [libra/libra] Implement an LibraDB inspector to inspect local storage without running node (#2626)
You did not use the fixup command correctly. Please check the documentation of git commit --fixup to understand how to make sure commits are properly squashed.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/libra/libra/pull/2626?email_source=notifications&email_token=AAJSYEESYMFCSXYHMAZBQEDRFGGFNA5CNFSM4KXQTV22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENKMVWQ#issuecomment-592759514, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAJSYECX3GFLXFA4NBQA3YLRFGGFNANCNFSM4KXQTV2Q.


[Diagnostics] Remove misplaced LoadExpr workaround for RawRepresentable

Since verifier is now in place to make sure that ParenExpr/ForceValueExpr
always preceed LoadExpr there is need to special case against incorrect
ordering in diagnostics.

@swift-ci please test


Does anyone already have flow-typed definitions for jQuery and jQueryUI ?

You can find jquery here:
https://github.com/marudor/flowInterfaces

@marudor Thank you. Excellent work. Two questions:

will you move the definitions to flow-typed?
do you also have definitions for jQurey plugins especially for jQuery UI?

@doberkofler Yes, the plan is to move it to flow-typed.
No, I do not have any plugins typed.
The one in my repository was a PR. Didn't type it myself.

@marudor Would you know how to actually extend the existing jQuery definitions (https://github.com/marudor/flowInterfaces) without actually having to copy and paste them together when jQuery plugins must be defined? I cannot seem to find a problem solution in flowjs.

@marudor Any news on when this will be available?

Once someone writes Tests for it.
I'm busy and haven't been able to yet.
Feel free to copy paste it and get it in here. (With tests)

@marudor I started working on this and am currently adding tests. Unfortunately there are quite a few issues with the existing definition and would need some help to better understand the library definitions.
I'm for example unable to create tests for the with functions:
The tests look like this:
//width(): number;
testNumber = $('div').width();

//width(value: number | string): JQuery;
testSelector = $('div').width(50);

//width(func: (index: number, width: number) => number | string): JQuery;
testSelector = $('div').width(function (index) {
	return index * 50;
});

and I get the following error message:
0-test_jquery.js:471
471: testSelector = $('div').width(50);
                    ^^^^^^^^^^^^^^^^^^ number. This type is incompatible with
 22: let testSelector: JQuery = $('div');
                       ^^^^^^ JQuery

0-test_jquery.js:474
474: testSelector = $('div').width(function (index) {
                    ^ number. This type is incompatible with
 22: let testSelector: JQuery = $('div');
                       ^^^^^^ JQuery

Could you help me to understand what's wrong here?
Is it generally allowed to "overload" function definitions?
Whom else might I contact to get some help on this?
Thank you!

Closing as the PR above added a jquery definition.


bug: player requires double click to launch the video

Hello there.
We tried to use this plugin to lazyload a youtube video.
When we tried to use it, we noticed that it requires to do 2 clicks most of the time to launch the video. This is reproducible even with the provided demo. Screencast
However, we noticed that there https://github.com/paulirish/lite-youtube-embed is a plugin, where it works without a double click.
We debugged the current plugin and figured out that to solve the double click problem we need to do 2 things.

Add prefetch logic, which is here https://github.com/paulirish/lite-youtube-embed/blob/master/src/lite-yt-embed.js#L87-L99 in that plugin.
Add allow iframe attribute with at least 'autoplay' value, which is here https://github.com/paulirish/lite-youtube-embed/blob/master/src/lite-yt-embed.js#L111.

PR welcomed to solve this issue.

I added a autoplay feature in this pr. hope can fix you problem.


bash-completion for killall doesn't work

Bash completion for killall assumes that ps has -e, -f, and -o, but ps embedded on the device has no flags other than -h. Busybox in entware only adds the -w flag.
/opt/usr/share/bash-completion/bash-completion contains the helper function _pnames that is used to return all possible process names. This will need to be adjusted to work on the rM system, as well as the other helper methods like _pids

Will take a look at it tomorrow. Probably requires adding a patching the bash-completion package as that on its own was not changed afaik.

@LinusCDE did you get a chance to look at this further?

Didn't get one until now sadly. Still on my todo list. Will try to get to it over the next days. Apologies for the waiting.

No worries!

@LinusCDE have you had time to look into this?


[Popup] Displaying a popup outside the browser window

Standard popup, such as the context menu, may be displayed outside the browser window.
Should this API also work like this? I think yes.
There are cases where it will be useful, e.g.:

custom context menu in WebExtension in sidebar
Firefox interface is all HTML/XUL - it could use that API

Hi @lukaszpolowczyk, thanks for your feedback! While we understand that breaking out of the browser window would be useful to some developers, we don't plan to support this scenario due in large part to the user security risks (e.g. spoofing browser/OS UI).

@melanierichards A security could be put in place - a strictly regulated way of appearance and disappearance of such a popup.
I think it's worth rethinking.


Fix Windows incompatibility

Description
Plugin doesn't work properly on Windows.
writeKotlinWarningBaseline task
Warnings collector (WarningFileCollector) expected that all systems have the same file path style. Therefore, it couldn't match warnings in logs and path to module. It was fixed by using the platform specific File.separator.
However, all warning logs are still to be saved with UNIX style paths. That causes additional work on Windows machines, but it was chosen because:

using two path styles in baseline files looks messy.
the most part of developers can understand UNIX path style.
*NIX-based system are more widely used among developers and
on CI "runners".

checkKotlinWarningBaseline task
Also, there's "fixed" checkKotlinWarningBaseline task output.
It displays Windows style paths in warnings returned by failed task. It looks more "natural" and visually matches with other warning in Gradle output.
Closes #5

Thanks for the review! 🙂 🙇♂


Does this work with guile?

With guile, I get
% guile
GNU Guile 2.0.11
Copyright (C) 1995-2014 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (load "j-bob-lang.scm")
scheme@(guile-user)> (load "j-bob.scm")
scheme@(guile-user)> (load "little-prover.scm")
scheme@(guile-user)> (chapter1.example1)
$1 = (car (cons (quote ham) (quote (eggs))))

I thought the result was supposed to be 'ham.

The first thing I've found, looking up Guile / R5RS compatibility, is that Guile is case-sensitive, while R5RS is case-insensitive.  I suspect that somewhere in our code we have alternated between uppercase and lowercase letters for paths (Q, A, and E).  I'll try to fix up the code to be consistent about case, and I'll see if that helps.
Thanks for the report!

I've just pushed a fix for this.  The problem was the definition of natp, which referred to < instead of s.< from above.


Saving project crashes if animation mixer contains METHOD or ANIMATION tracks

Godot version
v4.2.rc.custom_build [d6a1db2b0]
System information
Godot v4.2.rc (d6a1db2b0) - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3090 Ti (NVIDIA; <IP_ADDRESS>92) - AMD Ryzen 9 7950X 16-Core Processor (32 Threads)
Issue description
AnimatedValuesBackup::get_data() can crash as the internal data map can have nullptr values if any of the tracks were METHOD or ANIMATION types, as AnimatedValuesBackup::get_cache_copy() defines that these types of tracks do not get valid copies.
The resulting crash is therefore a null pointer exception.
Steps to reproduce

Open a project with these type of animation tracks.
Save the project.

Minimal reproduction project
https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer

A silly mistake from https://github.com/godotengine/godot/pull/85266, I'll try to make a PR to fix this shortly.


Fixed issue #642 by adding a json file for Spanish translation

What's new
Added file sp.json with spanish translations.
What's fixed
Only additions, no fixes.

Unfortunately this is targeting 2.X which we are no longer updating :(


feat: Mobile Gallery Item: Full width on buy & Make Offer

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[x] Bugfix
[x] Feature
[ ] Refactoring

Context

[x] Closes #4742
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

pay 50 usd

😍 Perfect, I’ve sent the payout
💵 $50 @ 34.51 USD/KSM ~ 1.449 $KSM
🧗 Caiv9TbPz68q5dC8EcHu5xKYPRnremimGzqmEejDFNpWWLG
🔗 0x84b2ad7d8e300976584e8d5344a878d915181301d5514f67a7af3b05a53391fa
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Friendly Installer

Ceta should have a user friendly and easy to use installer that will download the latest version even if the installer is old and add to the user's path.

Should the installer also install node.js, or is this still required as a prerequisite?
Is this actively being worked on or is it ok to start from scratch?

I'm gonna rewrite this in go eventually, might start it today

I'm gonna rewrite this in go eventually, might start it today

Let us know if this is still planned, don't want to contribute before a rewrite

the rewrite is still planned


null return when loading static class externally

I am using a native Autoload - by Phil Sturgeon, that triggered by calling to a lib:
i.e.
calling to User_lib::getUser(); will load the class automatically.
I am also having auto loading through a __get() magic function in a parent I had created called "MY_Controller" so just calling to $this->user_lib->get_user()  will load it.
here is the line of code in My_Controller:__get()
function __get($property){
...
if($suffix=='lib'){
   $this->load->library($property);
}
...
//property here will be `user_lib`
return $this->$property;

This works great, as long as I am calling only static calls, or using
$this->user_lib->do_something()
User_lib::getUser();
but create a bug in the next situation, if I am calling:
User_lib::getUser();
and then:
$this->user_lib->do_something()

I will get an Exception:
"msg": "Call to a member function get_user() on null"
I had tracked down the problem to this line in the /system/core/loader.php
CI_Loader::_ci_load_library() line - 1052
			// Safety: Was the class already loaded by a previous call?
			if (class_exists($class, FALSE))
			{
				// Before we deem this to be a duplicate request, let's see
				// if a custom object name is being supplied. If so, we'll
				// return a new instance of the object
				if ($object_name !== NULL)
				{
					$CI =& get_instance();
					if ( ! isset($CI->$object_name))
					{
						return $this->_ci_init_library($class, '', $params, $object_name);
					}
				}

				log_message('debug', $class.' class already loaded. Second attempt ignored.');
				return;
			}

as you can see in line 1057 if ($object_name !== NULL) it just checks if we are trying to load the class into a new name, but there is no checking for if the class loaded by CI.
on line 1067 there is return; and this is the null that I am getting
suggest to fix it by adding the next code before line 1067 (return;)
if ( ! isset($CI->$class)){
    return $this->_ci_init_library($class, '', $params, $object_name);
}

Thanks!

Sorry, but that's a side-effect caused by your and/or third-party code ... we can't treat it as a bug.


feat: Add ability to optionally install google/cloud/testing_util

Fixes #2810
This PR adds an option to install the "testing_util" files. The flag is independent of BUILD_TESTING. If BUILD_TESTING is enabled, it will build the files (since it is needed by other files) but not install them. If the install flag is enabled, it will build and install the files, but not the rest of the tests. This is needed by google-cloud-cpp-spanner.
Furthermore, I refactored the code into a separate CMakeLists.txt and added a CMake support file just for the GTest aliases. It is possible the other code/support files is extraneous but I will defer that judgment to review.

This change is

I will rework this PR from the ground up. I apparently had a misunderstanding about how the builds in google-cloud-cpp-spanner were structured.

Isn't there an old version of this file that now needs to get removed? And probably a BUILD file that loads the old version?

Indeed, thanks for pointing that out. Although after moving said code to google/cloud/testing_util/BUILD, I suspect it's now failing because google_cloud_cpp_common_unit_tests depends upon it.
load("//google/cloud/testing_util:google_cloud_cpp_testing.bzl", "google_cloud_cpp_testing_hdrs", "google_cloud_cpp_testing_srcs")

doesn't seem to be the right idea either. How should I fix it?

doesn't seem to be the right idea either. How should I fix it?

I think (but you need to check my math here) you will need to move this code to testing_util/BUILD too:
https://github.com/googleapis/google-cloud-cpp/blob/0ac7b896ee447569993717ee6a09bb48573130fc/google/cloud/BUILD#L53-L63
and then change all the references to the testing library, such as this one:
https://github.com/googleapis/google-cloud-cpp/blob/0ac7b896ee447569993717ee6a09bb48573130fc/google/cloud/BUILD#L77
to have the new path:
  "//google/cloud/testing_util:google_cloud_cpp_testing",

Yep, I should've been more clear that I already tried that and got the crosses boundary of subpackage error, which is why I mentioned load (since that's where the error appears to be originating). It mentioned using export_files as a solution but I don't think that would be a good idea.

I get that error when there is no BUILD file in a directory, or the BUILD file has the wrong default_visibility errr.. command/rule/directive/whatever-obscure-name-Bazel-uses. Do you mind sharing the branch name and/or delta with what you tried?

I'm sure I just made a typo somewhere but I've pushed the commit.

If it helps the error message is:
/v/google/cloud/BUILD:60:12: Label '//google/cloud:testing_util/assert_ok_test.cc' crosses boundary of subpackage 'google/cloud/testing_util' (perhaps you meant to put the colon here: '//google/cloud/testing_util:assert_ok_test.cc'?)

The error should be fixed now. I didn't understand what the error was talking about originally, but now I understand it was complaining about testing_util/assert_ok_test.cc.


mbedTLS module does not have CONFIG option for HKDF

Describe the bug
I want to enable mbedTLS HKDF but zephyr module does not have a CONFIG option to enable this.
It is possible to add this one?
The file zephyr/modules/mbedtls/configs/config-tls-generic.h have configs for almost every mbedtls libraries but not for HKDF.
The solution would be to add to zephyr/modules/mbedtls/Kconfig.tls-generic a CONFIG for HKDF.
At this moment, the current solution for me is to define my own MBEDTLS_CFG_FILE, but it would be better to have it in the zephyr.
To Reproduce
Steps to reproduce the behavior:

Include in one file the mbedtls_hkdf() function
west build
See error: undefined reference to `mbedtls_hkdf'

This sounds more like an enhancement request than a bug to me?

Yes, you're right. Should I close and open it in enhancement?

Yes, you're right. Should I close and open it in enhancement?

No need. It was reclassified as an enhancement.


[SPARK-16904] [SQL] Removal of Hive Built-in Hash Functions and TestHiveFunctionRegistry

What changes were proposed in this pull request?
Currently, the Hive built-in hash function is not being used in Spark since Spark 2.0. The public interface does not allow users to unregister the Spark built-in functions. Thus, users will never use Hive's built-in hash function.
The only exception here is TestHiveFunctionRegistry, which allows users to unregister the built-in functions. Thus, we can load Hive's hash function in the test cases. If we disable it, 10+ test cases will fail because the results are different from the Hive golden answer files.
This PR is to remove hash from the list of hiveFunctions in HiveSessionCatalog. It will also remove TestHiveFunctionRegistry. This removal makes us easier to remove TestHiveSessionState in the future.
How was this patch tested?
N/A

Test build #63240 has started for PR 14498 at commit 3b3f3c8.

Test build #63240 has finished for PR 14498 at commit 3b3f3c8.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

retest this please

Test build #63247 has started for PR 14498 at commit 3b3f3c8.

Test build #63247 has finished for PR 14498 at commit 3b3f3c8.

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

Merged build finished. Test PASSed.

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

This seems fair. Shouldn't we do something about all the disabled test cases though?

Yeah, we should check all the disabled test cases and see if we can move it. I am waiting for https://github.com/apache/spark/pull/14472. : )

#14472 has been merged. Will work on it soon.

Is Spark's hashing function semantically equivalent to Hive's ? AFAIK, its not. I think it would be better to have a mode to be able to use Hive's hash method. eg. case when this would be needed: Users running a query in Hive want to switch to Spark. As this happens, you want to verify if the data produced is same or not. Also, for a brief time the pipeline would run in both the engines. Upstream consumers of the data generated should not see differences due to running in the different engines

@tejasapatil Thanks for the inputs! I can understand your usage cases. It looks very reasonable.
Actually, in Spark 2.0, we already removed it. You are unable to load/invoke the Hive's hash function. This PR is just to clean the usage of hash function in our testing package.

@gatorsmile can we take this to the finish line? This actually does not impact hash at all since it's only here for testing.

@rxin Sure, will do it this weekend. Thanks!

Test build #68268 has started for PR 14498 at commit 05390ad.

If this is no longer WIP, please update the title. Thanks.

Based on the previous discussions in the other PRs, it sounds like these Hive-specific test cases are not very useful. Do we still need to port them back?
    "auto_join19",
    "auto_join22",
    "auto_join25",
    "auto_join26",
    "auto_join27",
    "auto_join28",
    "auto_join30",
    "auto_join31",
    "auto_join_nulls",
    "auto_join_reordering_values",
    "correlationoptimizer1",
    "correlationoptimizer2",
    "correlationoptimizer3",
    "correlationoptimizer4",
    "multiMapJoin1",
    "orc_dictionary_threshold",
    "udf_hash"

I'm ok with not having them.

Test build #68268 has finished for PR 14498 at commit 05390ad.

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

Merged build finished. Test PASSed.

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

Merging in master/branch-2.1.


[Feature] Re-consider the docker directory re-mapping

Feature description
I'm not sure if this is a feature or a bug, but when the TH starts the docker, it re-maps a bunch of directories. Folks that have experience running these tests mostly know where these files are located in the SDK, but the remapping changes that. It also means you can't just run a find in the TH AND you can't just open a docker because that already involves knowing how the remapping was done. It just makes it really hard to find stuff.
Use Cases

use find command in TH, files are located there.

Test Cases
No response
Additional Information
No response

@cecille Adding the mapping provided in the note above in User Guide works for you?

They should definitely be added to the user guide, but it still ends up being a bit weird because the arguments to some of the scripts are then different between the CI and the test harness.
how did stuff end up so scattered around anyway such that it needs to be re-mapped?
I'd suggest checking with the ATLs to see how they feel about this and what would work for them.


buildroot: use PYTHONPATH and /usr/bin/python3 for runners

As discussed in our meeting, this is the attempt to get rid of the osbuild module symlinks. The individual commits should be self-descriptive.
TLDR: We now invoke runners via python3 directly and provide the path to the osbuild module via PYTHONPATH. This way the runners, stages, and assemblers run in the correct context without requiring any bind-mounts or symlinks to find the osbuild module.

schutzbot

(recreate to make schutzbot happy)


Added support for VS 2017 in libsodium msbuild scheme.

Should fix #1061

Released: https://github.com/ruslo/hunter/releases/tag/v0.19.116


fix for relative mathJaxUrl

mathJaxUrl is described in API.md as "relative url for the MathJax javascript file" but in viewer and other examples absolute url is used.
The bad thing is that if relative url is used - it doesn't work correctly. Reason is that the <base> is set for iframe content and it points to epub root, but mathjax url is relative to app, not to epub.
Proposed fix "absolutize" mathJaxUrl (using main window location) before usage in iframe script element.
Short URI.js syntax, discussed in readium-shared-js issue 226,  is used :)

Thanks @pmstss
In the current build / configuration pattern, the MathJax URL is created absolute on the client side of the Readium API, via build options.
At development time (may be using single, multiple RequireJS bundle, or no-optimize source tree):
https://github.com/readium/readium-js-viewer/blob/master/dev/RequireJS_config.js#L49
Chrome app distribution:
https://github.com/readium/readium-js-viewer/blob/master/src/chrome-app/requirejs-config.js#L37
Cloud reader distribution:
https://github.com/readium/readium-js-viewer/blob/master/src/cloud-reader/index.html#L87
The option data is passed via the new Readium() constructor:
https://github.com/readium/readium-js-viewer/blob/master/src/js/EpubReader.js#L696
..but note that the Chrome app transforms content in its own way (as the EPUB files are exploded in the HTML5 filesystem):
https://github.com/readium/readium-js-viewer/blob/master/src/js/workers/ContentTransformer.js#L65
So to summarize, I am not sure this PR is needed. You should be able to absolutize the URL using window.location on the client side of the Readium API, right?

I'm using readium-js in custom viewer, not with readium-js-viewer. Sure I can pass absolute mathJaxUrl to Readium constructor, but then mathJaxUrl description in API.md should be fixed from "relative url" to "absolute url"?

..but note that the Chrome app transforms content in its own way

Important remark, thanks. But  that ContentTransformer.js is part of readium-js-viewer: I think the same changes are required there to match API description.
Given readium-js PR will not break anything. If we will support both relative and absolute urls in mathJaxUrl - why not?

Right now the MathJax lib ships with the application, and we pass an absolute URL to ensure its location is explicitly known, not obfuscated by an API layer.
Imagine that the MathJax.js URL is passed as a relative reference (e.g. /MathJax.js, ./MathJax.js, ../MathJax.js, ../libs/MathJax.js, etc.), the webview will automatically make it absolute via the iframe's base href (which is the absolute URL of the loaded spine item document). Hypothetically, this may actually be a desirable behaviour, assuming for example that content gets deployed to a server in such a way that external "runtime" libraries (e.g. rendering helpers, annotation tools) are copied across into the location of exploded EPUBs (or at least under the same domain), whilst the app lives on another domain.
If we hard-code the window.location deep inside the Readium API (forcing the MathJax relative URL to resolve against it, instead of the iframe's base), it breaks the potential use-case (removes the flexibility).

Described use case is for sure possible, and you are right, such kind of flexibility will be lost with this fix. But definitely it is not what comes to mind first when playing with readium options and see "relative url for the MathJax javascript file".
I think at least explicit mentioning, that mathJaxUrl is expected to be either relative to each spine item document or to be absolute (as it is now in all readium usages), is required in API.md. Second is also important, because current description could be treated as prevention from using absolute url there, which is not true.

Defer this PR, but we do need to update the documentation.


Help needed =)

Dear Jonathan,
I appreciate your very hard work. Would you be able to have a step by step guide on how to run this code and build it in an android app? What software do i need?
Best regards,
Redmanskoop

@Redmanskoop
Your question has been answered
https://github.com/jonathansilva/8BallPool/issues/3


DesignVariant not working with figma component instances

With the purpose of reusing Figma components, it is usually created a generic component in Figma with different variants. For example a #buttonGeneric with two variants (Enabled, Disabled) associated to a property #buttonState. From Figma, then different instances of the #buttonGeneric could be added in a screen and for each one it is possible to select a specific variant by modifying the property  #buttonState. The image below, describes the use case:

The problem is that this approach of implementation is not working properly in design compose. When @DesignVariant is used, it is not possible to associate each specific instance to different buttons in the screen (nodes). Moreover when the variant is applied, the parameters of the node are lost:

Tap on button stop working (TapCallback not triggered)
TextButton associated references to the text of the #buttonGeneric instead of the associated to the node
Icons associated references to the icon of the #buttonGeneric instead of the associated to the node

It seems that when using DesignVariant  a complete replacement of the instance by the generic one occurs.
The following issue Cannot change variant of a component on the stage · Issue #691 · google/automotive-design-compose (github.com) reports a similar perspective of the issue but this workaround add additional complexity to the code and does not solve the  TapCallback issue. The approach also loses the simplicity of adding simple nodes.
It would be really helpful to apply specific variants to specific nodes without the need of creating additional components for each case.

Thank you for the detailed request. I've assigned this to @iamralpht so that we can triage this soon.

Are you trying to change the button variant at runtime? If not, you don't need to use @DesignVariant. Then you can name the instances differently and use those node names in your @Design annotations.

Hi @rylin8,
Yes, it is needed to change the button style at runtime, and there may be different states for different buttons in the same screen.

One thing you could do is create placeholder nodes in your main frame with different names like #button1, #button2 etc. Then put @Composable (ComponentReplacementContext) -> Unit customizations on those nodes and replace them with a @Composable generated from a @DesignComponent function for that button. For an example see https://github.com/google/automotive-design-compose/blob/05569c2d087855e5be7b883be330bbe9c92144be/integration-tests/validation/src/main/java/com/android/designcompose/testapp/validation/examples/VariantPropertiesTest.kt#L101

Hi @rylin8,
I have tested the proposed solution by also adding a text and a TapCallback to the replacement composable. In the example provided in VariantPropertiesTest.kt, it would be something like this:
@DesignComponent(node = "#SquareBorder")
fun Square(
@DesignVariant(property = "BorderType") type: SquareBorder,
@DesignVariant(property = "#SquareColor") color: SquareColor,
@DesignVariant(property = "#SquareShadow") shadow: Shadow,
@Design(node = "#SquareBorder") onTapCallback: TapCallback,
@Design(node = "#text") textButton: String,
)
Independent buttons are now working as expected taking the states "Enabled" and "Disabled", but if we add some prototype change from Figma itself, for example a "While Pressing" then if two buttons have the same state both will be changed during the "While pressing".

Is there some solution for this?
Thank you and BR,

@miguel-galarza Can you share your example (or a reduction of your example) that reproduces this issue, because we think we have a test case that covers it (but must have a variation that we're not covering)?

Hi,
I have repeated the tests with version "0.30.0-rc01".
The use case would be to have some generic button that can used multiple times in a screen by setting individual text, and callback events. The button should contain the states: enabled, disabled and pressed while keeping the individual text associated, and callback to each button. I have included a screenshot of the figma document and a MainActivity.kt with the summary of the example. The generic button is called "#button1" and three instances of the button are added to the screen, two of them replaced with ComponentReplacementContext and the third not.
In the example the button states works individually, but the "whilePressing" event defined the Figma prototype does not work.

MainActivity.kt
package com.example.designcomposenavtest

import android.content.ComponentName
import android.content.Intent
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.absoluteOffset
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.android.designcompose.ComponentReplacementContext
import com.android.designcompose.DesignSettings
import com.android.designcompose.TapCallback
import com.android.designcompose.annotation.Design
import com.android.designcompose.annotation.DesignComponent
import com.android.designcompose.annotation.DesignDoc
import com.android.designcompose.annotation.DesignVariant
import timber.log.Timber

enum class ButtonState {
    disabled,
    enabled
}

@DesignDoc(id = "id_document")
interface StageFrame {
    @DesignComponent(node = "#stage1", isRoot = true)
    fun Stage1(
        @Design(node = "#button1-stage1") button1: @Composable (ComponentReplacementContext) -> Unit,
        @Design(node = "#button2-stage1") button2: @Composable (ComponentReplacementContext) -> Unit,
    )

    @DesignComponent(node = "#button1")
    fun ButtonVariants(
        @DesignVariant(property = "#statebutton") buttonState: ButtonState,
        @Design(node = "#textButton") textButton: String,
        @Design(node = "#button1") onTapCallback: TapCallback
    )
}

class MainActivity : ComponentActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setFigmaToken()
        DesignSettings.enableLiveUpdates(this)
        setContent {
            App()
        }
    }

    @Composable
    fun App() {

        //Button 1 States
        var buttonState1: ButtonState by remember { mutableStateOf(ButtonState.disabled) }
        var buttonText1: String by remember { mutableStateOf("Enabled b1") }

        //Button 2 States
        var buttonState2: ButtonState by remember { mutableStateOf(ButtonState.disabled) }
        var buttonText2: String by remember { mutableStateOf("Enabled b2") }

        StageFrameDoc.Stage1(
            button1 = {
                StageFrameDoc.ButtonVariants(
                    buttonState = buttonState1,
                    textButton = buttonText1,
                    onTapCallback = {
                        if (buttonState1 == ButtonState.enabled) {
                            buttonState1 = ButtonState.disabled
                            buttonText1 = "Disabled b1"
                        } else {
                            buttonState1 = ButtonState.enabled
                            buttonText1 = "Enabled b1"
                        }
                    }
                )
            },
            button2 = {
                StageFrameDoc.ButtonVariants(
                    buttonState = buttonState2,
                    textButton = buttonText2,
                    onTapCallback = {
                        if (buttonState2 == ButtonState.enabled) {
                            buttonState2 = ButtonState.disabled
                            buttonText2 = "Disabled b2"
                        } else {
                            buttonState2 = ButtonState.enabled
                            buttonText2 = "Enabled b2"
                        }
                    }
                )
            }
        )

        //Indicators of current status
        Text(
            modifier = Modifier.absoluteOffset(50.dp, 300.dp),
            text = "btn 1: $buttonText1",
            fontSize = 30.sp
        )
        Text(
            modifier = Modifier.absoluteOffset(50.dp, 400.dp),
            text = "btn 2: $buttonText2",
            fontSize = 30.sp
        )
    }

    private fun setFigmaToken() {
        val figmaAccessToken = "123"
        if (figmaAccessToken.isNotEmpty()) {
            val intent = Intent().apply {
                component =
                    ComponentName(
                        "com.example.designcomposenavtest",
                        "com.android.designcompose.ApiKeyService"
                    )
                action = "setApiKey"
                putExtra("ApiKey", figmaAccessToken)
            }
            startService(intent)
        } else {
            Timber.tag("MainActivity")
                .e("FIGMA_ACCESS_TOKEN is not defined. Skipping setting Figma token.")
        }
    }

}


Configure Azure Pipelines

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

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