Change 'User-Agent' or allow customization of it

The 'User-Agent' content is set to PyGoogleVoice/0.5.  Every time I send an SMS message using PyGoogleVoice, I get a separate email asking me to verify that the login was really me.  Even after I say yes, it sends a verification email with the next use of it.  I ended up replacing my User-Agent with the following to get around it (which came from my browser):
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
It would be nice if there were a more permanent solution, or a config entry to set it manually.

You need to enable less secure apps in google.

I already have it enabled.  This shows up as 'New sign-in on Unknown OS' in the security events even with it enabled.

Would you need each user be able to set their own user agent.

No, it just needs to be set to something that doesn't trigger the security notifications in the code.

OK because there's a way to have it be per-user or one setting for all users.  The problem with one setting for all users is the browser versions change over time, while that one browser version would be stuck at the browser version selected today. Eventually a user will most likely want to change that browser version to match, for example, their actual browser version that they normally use when logging into gv from their computer, so that it doesn't trigger a security warning for "new browser detected during login".  So it's a dilemma.

Ah, I see what you mean now.  I suppose it depends on Google Voice.  If there is a single line for all users, will you only get a security message during the first SMS and then none after accepting it, or will you get a message after every SMS like "PyGoogleVoice/0.5" does?  If you do it user based, then I assume that this is a 3rd party app running on a server that is not the users own desktop or coming from the users IP.  In that case would you still get a security message even if you manually change the User Agent, and if so, would you get it once, or multiple times?  In my case, the service is running on the same computer and network that I have an authorized browser on using that browsers User-Agent.

The only way to find out whether a real browser user-agent will cause one security message or an endless stream of them, is to try it.  GV seems to alert you any time it appears your account is being logged into by someone other than you, the way it decides it's someone else is, it determines if the login is from a previously unseen device, browser/operating system, or possibly from a far away, new IP address/location.


refactor: Remove unused code

The code in vyds.ts has been superseded by more sophisticated functionality and is unused.
Remove it.
This is technically a breaking change, but I don't think current code will be broken by it - I couldn't find any use of it in the current versions of openbeta-graphql or open-tacos.

@musoke can you rebase your PR branch with develop and push again to resolve the merge conflict?
Let me figure out how to bump the minor version since it's a breaking change

Just rebased and pushed!

🚀


Updates for release v3.3.2

Description

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit ab4e927da4a5ca18e74cd0cededf6089d6de699d
https://deploy-preview-2325--calico.netlify.com


How to set "auto scrolling" for the output panel on by default?

There should be a setting that auto scrolling for the output panel is enabled by default so that a user doesn't need to click on the  every time.

Auto scrolling is enabled by default.
Not sure how a setting is helpful given that UI toggles it.

Then there is an issue, because it's not the case for me.
Like any other terminal or output window, it should work like this:

Enable auto scrolling by default -> expect an open lock symbol
When scrolling while new output is printed, the scroll bar should not automatically go to the end -> expect no auto scrolling
When the user hits the end of the scroll bar again, the auto scroll should be enabled again -> expect auto scrolling

When scrolling while new output is printed, the scroll bar should not automatically go to the end -> expect no auto scrolling

Scrolling does not prevent auto scroll but clicking inside will prevent and again placing the cursor at the end will enable it again.

Okay, this was new for me. Thanks!


MouseListener methods trigger inconsistently on LwjglCanvas on Windows 10

When adding a MouseListener to LwjglCanvas on Windows 10, the callbacks are only fired sometimes and there doesn't seem to be a pattern to it. Same results on both Java 8 and Java 7. I have tested this same code on Mac OSX and it works fine.
package com.test;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.backends.lwjgl.LwjglCanvas;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Main extends JFrame {

    public Main() {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        JPanel canvasPanel = new JPanel(new BorderLayout());
        final LwjglCanvas renderCanvas = new LwjglCanvas(new ApplicationAdapter() {});
        renderCanvas.getCanvas().addMouseListener(new MouseListener() {
            public void mouseClicked(MouseEvent e) {

            }

            public void mousePressed(MouseEvent e) {
                System.out.println(e.getButton());
            }

            public void mouseReleased(MouseEvent e) {

            }

            public void mouseEntered(MouseEvent e) {

            }

            public void mouseExited(MouseEvent e) {

            }
        });
        canvasPanel.add(renderCanvas.getCanvas());
        getContentPane().add(canvasPanel);
        setVisible(true);
        pack();
        setSize(1200, 768);
        setLocationRelativeTo(null);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                new Main();
            }
        });
    }
}

This is not a Libgdx issue at all. Notice that you're using MouseListener, which is an AWT class, not a Libgdx one.
You would be better off asking on an AWT related forum, try StackOverflow maybe and use the search first.

LwjglCanvas is a libgdx class and the issue is with using a MouseListener
with that class in particular. It works fine in java swing classes.
On Fri, Aug 7, 2015 at 12:41 AM David Saltares<EMAIL_ADDRESS>wrote:

Closed #3329 https://github.com/libgdx/libgdx/issues/3329.
—
Reply to this email directly or view it on GitHub
https://github.com/libgdx/libgdx/issues/3329#event-376078529.

@saltares  I want to point out that in the below test case, where I use the java.awt.Canvas instead of the libgdx LwjglCanvas (which is composed of a java.awt.Canvas) the mouse listener works as intended. This means that the issue is in LwjglCanvas and not in the swing components. I would appreciate it if you took this issue into further consideration.
package com.test;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Main extends JFrame {

    public Main() {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        JPanel canvasPanel = new JPanel(new BorderLayout());
        Canvas canvas = new Canvas();
        canvas.addMouseListener(new MouseListener() {
            public void mouseClicked(MouseEvent e) {

            }

            public void mousePressed(MouseEvent e) {
                System.out.println(e.getButton());
            }

            public void mouseReleased(MouseEvent e) {

            }

            public void mouseEntered(MouseEvent e) {

            }

            public void mouseExited(MouseEvent e) {

            }
        });
        canvasPanel.add(canvas);
        getContentPane().add(canvasPanel);
        setVisible(true);
        pack();
        setSize(1200, 768);
        setLocationRelativeTo(null);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                new Main();
            }
        });
    }
}

I'd be inclined to consider it more likely an LWJGL issue than a libgdx issue, to be honest.


[Asgardeo to Choreo Hub] Persist vacant EventHub partition mappings & EventHub consumer-group mappings

Description:
When de-registering a WebSub topic or when a WebSub subscriber unsubscribes the relevant EventHub partition mapping or the EventHub consumer group mapping is left vacant. Currently, these vacant mappings are added to the in-memory state of the hub. But, when re-starting the hub instance these vacant mappings will be removed. Hence, we need to persist these.

Since, we have migrated the deployment to Azure service bus this feature is no longer required.


Starting with -> for none method causes Code 64 error

Bug report

Code snippet that reproduces the problem

I am using the latest version 3.10.0 with PHP 8.1.9
This is my configuration file
<?php

$finder = PhpCsFixer\Finder::create()
    ->in(__DIR__ . '/app')
    ->in(__DIR__ . '/config')
    ->in(__DIR__ . '/public')
    ->in(__DIR__ . '/lang')
    ->in(__DIR__ . '/resources/views')
    ->in(__DIR__ . '/routes')
    ->in(__DIR__ . '/Modules');

$config = new \PhpCsFixer\Config();

return $config
    ->setRules([
        '@PSR2'                                  => true,
        '@PSR12'                                 => true,
        '@PhpCsFixer'                            => true,
        '@PHP80Migration'                        => true,
        'yoda_style'                             => false,
        'phpdoc_align'                           => ['align' => 'left'],
        'phpdoc_to_comment'                      => false,
        'php_unit_method_casing'                 => ['case' => 'snake_case'],
        'not_operator_with_space'                => true,
        'trailing_comma_in_multiline'            => true,
        'blank_line_after_namespace'             => true,
        'multiline_whitespace_before_semicolons' => ['strategy' => 'no_multi_line'],
        'binary_operator_spaces'                 => ['default' => 'align'],
        'concat_space'                           => ['spacing' => 'one'],
    ])
    ->setFinder($finder);

For some reason this is firing an error
<?php
private function getSuborderId(Vendor $vendor): string
    {
        return Suborder::where('order_id', $this->order->id)
            ->where('vendor_id', $vendor->id)
            ->first()
            ->pretty_id;
    }

This is the error that is firing with the above code
[TypeError]
        PhpCsFixer\Tokenizer\Tokens::findBlockEnd(): Argument #2 ($searchIndex) must be of type int, null given, called in /home/abdulrahman/Code/Qawafel/qawafel-marketplace/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/MethodChainingIndentationFixer.php on line 85

When making it like this it works fine
<?php
private function getSuborderId(Vendor $vendor): string
    {
        return Suborder::where('order_id', $this->order->id)
            ->where('vendor_id', $vendor->id)
            ->first()->pretty_id;
    }

Hi, thanks for taking the time to report!
Can you try if https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/6573 helps?

@SpacePossum thank you for your response

@SpacePossum I tried it but the problem is still there.

Thanks for checking :+1:
I tried you sample and it crashes on the release but no longer on latest of master after merging of the fix PR.
As such, I think the issue can closed as fixed.


Add Link to Main Website

Add a link on this website to the main webpage and, conversely, add a link from the main webpage to this new website.

Completed. Link appears on both sites


Add circuit breaker to http-result generation

Codecov Report

Merging #5612 into master will increase coverage by 0.01%.
The diff coverage is 74.5%.

@@             Coverage Diff              @@
##             master    #5612      +/-   ##
============================================
+ Coverage     82.74%   82.75%   +0.01%
- Complexity    11775    11779       +4
============================================
  Files          1391     1391
  Lines         45282    45310      +28
  Branches       5621     5627       +6
============================================
+ Hits          37468    37498      +30
+ Misses         5202     5194       -8
- Partials       2612     2618       +6

Impacted Files
Coverage Δ
Complexity Δ

...rate/analyze/ShowCreateTableAnalyzedStatement.java
69.23% <0%> (-5.77%)
5 <0> (ø)

...ava/io/crate/analyze/AnalyzedStatementVisitor.java
55.26% <0%> (-1.15%)
21 <0> (-1)

sql/src/main/java/io/crate/planner/Planner.java
86.45% <100%> (ø)
38 <1> (ø)
:arrow_down:

...e/executor/transport/task/ShowCreateTableTask.java
66.66% <100%> (ø)
2 <2> (?)

...va/io/crate/rest/action/RestResultSetReceiver.java
74.41% <100%> (+1.24%)
7 <1> (ø)
:arrow_down:

...e/planner/node/management/ShowCreateTablePlan.java
85.71% <100%> (ø)
3 <2> (?)

...ql/src/main/java/io/crate/planner/PlanVisitor.java
91.3% <100%> (ø)
21 <1> (ø)
:arrow_down:

.../main/java/io/crate/rest/action/RestSQLAction.java
47.61% <100%> (+1.01%)
15 <1> (ø)
:arrow_down:

...io/crate/executor/transport/TransportExecutor.java
97.19% <100%> (-0.03%)
6 <0> (ø)

...java/io/crate/breaker/CollectionSizeEstimator.java
52.94% <52.94%> (ø)
4 <4> (?)

... and 35 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 4926273...3a9fdf6. Read the comment docs.

I was also thinking about integrating http://openjdk.java.net/projects/code-tools/jol/ - so that we'd have more accurate instance sizes. But it's GPL licensed :(


Having only one CNAM for all orchestrator servers

Hi
Let's say we have 3 orchestrator servers, at any moment I have one active orchestrator app. I want to have only one management CNAM. In the amazon ELB I can only add basic http checks (also port checks and also a given html page can be checked)  .
Any other idea how to have only one CNAM for all orchestrator servers?
We can maybe use consule for that.
BR

@tapuhi what you'd want to get is this: https://github.com/github/orchestrator/pull/183/commits/3f84a4dee3042a9f744dbdfb36289bd9de7e675b
which right now is a commit within an open PR, but I push that commit with a new branch and merge on master.
/leader-check is what your LB would use to test whether the node is active or not.
if you can use the CNAME for the amazon ELB (is this possible?) I believe that solves your problem.

Thank you so much,
Yes I can indeed use the CNAME for the amazon ELB.

don't close this yet, since /leader-check is not yet available to you.

Actually, you don't need /leader-check at this time. Any backend will do; just use the existing /lb-check, and your LB can do round robin or any other algorithm to pick the backend server.

Sorry I closed the issue.
Anyway when will be the leader_check be available for us  ?

Please see my previous comment.

I am using authentication for orchestrator and /lb-check requires authentication . Is there anyway I can provide those in the URL ?
Anyway I will need to know the leader for further connecting this elb to other systems I am integrating orchestrator with.

re: authentication: what kind of authentication? There are multiple options. If Basic, then no, there is no way to exclude the /lb-check path from authentication -- though you can check myusername:mypassword@myorchestrator:3000/api/lb-check
re: leader - can you please elaborate what you need the leader identity for? You should be good to connect to any of the orchestrator hosts, equally.

Hi Shlomi,
First of all I am happy to announce Orchestrator (you can add it to the users page :-) )  if fully in use for all mysql clusters in WIX.
I am building the monitors for orchestrator and want to test wether I have 2 leaders in case of split brain/network split and  for that I will need the leader test, I can use direct SQL queries but I truly prefer the api .
Would like to hear about other use cases of the leader check.
For all the rest you're right, I had a misunderstanding on how orchestrator leaders works (after reading an playing around I understood much better) .
Thanks For the great product.
Next step - Full integration with consul and ProxySQL

First of all I am happy to announce Orchestrator (you can add it to the users page :-) ) is fully in use for all mysql clusters in WIX.

Thank you!

for all mysql clusters in WIX.
I am building the monitors for orchestrator and want to test wether I have 2 leaders in case of split brain/network split and for that I will need the leader test, I can use direct SQL queries but I truly prefer the api .

Fair. I can deliver the leader check this week. You'll need to pull master though, I'm not going to create an official release this week.

Next step - Full integration with consul and ProxySQL

Looking forward to hear about this work.

/api/leader-check is now available via merged https://github.com/github/orchestrator/pull/193

Thanks allot!
When are you going to GA this feature ?

@tapuhi unsure. There's a bunch of changes in master that need to be carefully announced.

Last question for this one,
Is there a short tutorial how to build orchestrator from source ?
I tried the build.sh provided but not sure how to set GOPATH and GOROOT or any other env needed.

Is there a short tutorial how to build orchestrator from source ?

https://github.com/github/orchestrator/blob/master/docs/developers.md
but also try ./script/build which runs an isolated build; that's the one used by CI. That would be easiest!

BTW, here is another reason why I need to know the elected node. I am using ELB upon nginx now (for the auth, which works good , thanks ) the problem is that each physical server I land on have a different cookie so I need basically to authenticate on each click , I am trying to figure out if there is a nginx solution for that.

you mean your ELB does not support stickey sessions?

I did in a mistake in the amazon ELB config. I created a TCP elb, which does not support stickey, instead of HTTP elb. Now it works and Authentication works just fine now.
THanks

Hi All,
I've opened a case in consul google group and stackoverflow:
https://stackoverflow.com/questions/45021012/consul-template-with-large-number-of-keys-in-kv
https://groups.google.com/forum/#!topic/consul-tool/XYsUsOBASsU
The template proposed there is a first draft, which already works end to end (orchestrator <-> proxysql).
Just to clarify, this same template was already in use in a test env with few clusters so I did not encountered this issue there.
Would appreciate if any of you guys can have a look on this.
BR


Process still running after exiting (SIGINT) from all spawned processes

I'm trying to set a very simple configuration to concurrently run a localtunnel that points to a next localhost server.
The npm script is "concurrently -k \"next dev\" \"node tunnel/index.js\""
This scripts work well independently and they do so with concurently.
The problem I'm facing is when I tried to exit from any of those, I got the visual feedback on stdout that clearly tells me that SIGINT was sent to both processes but the "master" process (concurrently) is still running and don't return my prompt back. I have to sent an extra SIGINT to end it.
I have tried the same command without the "k" flag, tried using the --kill-others-on-fail flag  and even the "s" flag with its 3 different settings. None of this configurations seems to solve the problem.
$ yarn run dev
yarn run v1.22.17
$ concurrently "next dev" "node tunnel/index.js"
[0] ready - started server on <IP_ADDRESS>:3000, url: http://localhost:3000
[0] info  - Loaded env from /home/demian/Documents/CODE/SHOPIFY/apps/shopify-next-app/.env.local
[1] https://4490f7e2-6938-4ae2-9e4f-9106edc4ec4c.loca.lt
[0] event - compiled successfully in 2.3s (188 modules)
^C
demian:~/Documents/CODE/SHOPIFY/apps/shopify-next-app [master]
$ [1] node tunnel/index.js exited with code SIGINT
[0] next dev exited with code SIGINT

The last blank line is the cursor hanging on the process which won't return my prompt back if I don't sent an extra SIGINT.
To be clear both processes running independently don't need an extra SIGINT to exit. This happens only when they are spawn by concurrently. And I'm not spawing any extra process within the localtunnel. The code for the tunnel is fairly simple.
const localtunnel = require("localtunnel");
const { exec } = require("child_process");
const { randomUUID } = require("crypto");
const fs = require("fs");
const { join } = require("path");

let uuid = "";
const uuidPath = join(__dirname, "uuid");

// Making your tunnel URL unique and persistant across executions
if (fs.existsSync(uuidPath)) {
  uuid = fs.readFileSync(uuidPath, "utf8");
} else {
  uuid = randomUUID();
  fs.writeFileSync(uuidPath, uuid);
}

// https://github.com/localtunnel/localtunnel#api
const init = async () => {
  const tunnel = await localtunnel({ port: 3000, subdomain: uuid });
  console.log(tunnel.url);
  tunnel.on("close", () => {});
};

init();

I ran into this also, but I don't think the parent process is still alive. Instead, the parent process dies before the children die.
We can see this in your command line output:
^C
demian:~/Documents/CODE/SHOPIFY/apps/shopify-next-app [master]
$ [1] node tunnel/index.js exited with code SIGINT

The prompt is provided, but the child process logs something additionally when it dies. Simply pressing something like <Enter> should print a new prompt.
I could not find a way in Node to delay shutting down the parent process until the child processes shut down.
The issue https://github.com/pkrumins/node-tree-kill/issues/35 requests a way to synchronously shut down child processes, but this could be hard as well.

Hey all. Is there more information to reproduce this issue? OS, self contained repo maybe?

I appreciate the question, as trying to find a reproducer led me to understand that this is not likely to be a problem in concurrently (at least, not directly). I now think that this is due to an issue in both PNPM and Yarn: https://github.com/pnpm/pnpm/issues/2653

@tjni Actually that last ^C that is logged into the console is the signal from the extra CTRL+C I was needing to end the process. Only after that is when the prompt returns back to me. For the second run, I kill the 2 concurrent process so to show here that the prompt isn't coming back to me when there is nothing more there to kill.

On my side, the problem is from lerna@4, which I use to run concurrently.
https://github.com/lerna/lerna/issues/2284
I tested few scenarios on Windows (outside of lerna), like nesting concurrently and it looks good to me so far.

I will close this issue due to the lack of activity


Bluetooth: remove host/adv/resume test

This test verifies a convoluted interaction between the scanner and the resumable advertiser feature in the host.
That feature is going away, see #72567.
Prepare that work by removing this test that's in the way.

@jori-nordic

rebase needed
does this target 3.7 or 4.0?


Add new helper to resolve default names for template instance

fix #2862

:x: There is undocummented changes. Run chronus add to add a changeset or click here.
The following packages have changes but are not documented.

:x:@typespec/compiler

Show changes

You can try these changes at https://cadlplayground.z22.web.core.windows.net/prs/3814/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/prs/3814/

I’ll wait on adding this as there is some work with the new alloy framework where we might want to take that into consideration


Update team's page

This PR aims to update the team's page
Also, it creates a new section for the steering council Emeritus.
Emeritus is used to express the people who already were part of the steering council but they, for any reason,
decided to pause their activities. they can be back to the steering council at any time. Check the governance document for more information.

@EverVino @luabida , this PR is ready for review. could you take a look if that is ok pls? thanks!

@xmnlab nice updating. thanks

thanks for the review @EverVino !


Back camera is being shown sometimes, instead of front camera.

Hi!
My current setup:
setFacing(CameraKit.Constants.FACING_FRONT);
setFlash(CameraKit.Constants.FLASH_OFF);
setFocus(CameraKit.Constants.FOCUS_CONTINUOUS);
setMethod(CameraKit.Constants.METHOD_STILL);
setCropOutput(true);
setJpegQuality(100);
Sometimes (1 from 100 or 200) preview of back camera is being displayed instead of front camera.
Also front camera is set in xml:
<com.beyondar.android.view.CameraKitView
android:id="@+id/camera"
camerakit:ckFacing="front"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
however it doesn't help.
Any ideas? :)

I'm experiencing the same issue.
I save the last facing variable to shared preferences in our app, and parse it when opening the camera, so it keeps the state.
I've verified that my shared preferences are saved/opened correctly, so the issue must lie within the library.
I've tried setting setFacing before starting the camera, and also after (and also both), but sometimes it simply ignores this completely and opens the back camera.
For me it happens more than 1 in 100 or 200, it's more like 1 in 10 or 20.
If it was possible to get the current facing from the camera, we could correct it ourselves (by checking in "onCameraOpened", if the facing we expect is the same as the one that was opened, if not, then set it).
But thats more of a hotfix than an actual fix.

it's more like 1 in 10 or 20.

I guess it may also differ per device. I see it rarely on my nexus, and often on Samsung.
Also I guess there are some kind of race conditions there.

I've hacked my way around this issue (for now).
I call .setFacing(int) before calling .start(), and when i call .start(), i delay it by 50 ms (using a Handler and postDelayed function), and then after i call .start(), i call .setFacing(int) once more.
This seems, for me, to handle all cases. So the camera is always facing the correct way, and i've yet to find any errors in this except for the fact that the first 50 ms, the view will be blank.
Hope it can help you @nethergrim and possibly others.

Sounds like a tmp fix, but thanks a lot!

I've digged a bit deeper into this issue and i'm certain i've found the culprit to the main issue:
When calling .setFacing(int), internally the library creates a new thread and does the actual switching on that thread. So it's asynchronous, but that also means that if the timing is bad, it will start the actual camera before setFacing is done, thus the wrong camera is shown.
I removed the new thread, which means everything is called on the UI thread, and then i tried to open/close the camera about 50-100 times, on 2 devices i have, and it has not "messed" up one single time.
I don't have access to a really slow/lowend device right now, so i don't know how it will handle the camera facing on the UI thread on such a device. But on my highend device, it works absolutely perfect, with no lag.
If it lags on a lowend device, a good fix would be to create a thread internally and handle the switching on that thread (as it does now), but then expose an interface that the user can hook into, to get a callback when the switching is finished.
I'll be able to test this on about 20 different devices on monday when i'm back at work, and i'll post an update on how lowend devices handle it.


Fix creating a networkservice

This fixes #66. We need to fix how we're creating channels as a part of
networkservice's in the yaml, because as it stands now, the errors
seen in #66 are a result of this not being setup correctly. This
addresses the issue by removing the channel from the sample yaml file.
Signed-off-by: Kyle Mestery<EMAIL_ADDRESS>

@prateekgogia This is now fixed, please review and I'll merge. Thanks!

LGTM, not seeing the error anymore after this fix.


Currency E2E test / SPA-945

For other E2E tests, we decided to focus on where backend adds value or can influence or cause breakage.
The assumption is that these kinds of tests are in addition to what Stan already is working on, so check with him. E.g. you can register successfully, and the user is logged in.

For E2E purposes, some suggestions:

Check that the menu is there and populated (even if there is only 1 currency right now it's still there I think)

Changing the currency refreshes pricing only

** ...but stay on same page/view/screen.
** In fact if you are in the middle of checking out, adding an address in a form, and change the currency, your entire form should remain the same.
Product details page is a good one to make assertions from. Check that prices updated to expect new amounts. But also, a checkout form like shipping address to ensure the user's data isn't erased.
Also: do a browser refresh after switching the currency/language, to make sure the change sticks beyond the explicit change request from the user. (and doesn;t fall immediately back to the default).
The backend sample data has US dollars and Japanese Yen,
Note that language and currency e2e tests are similar in scope - see SPA-944.

QA done, currency switcher e2e tests provided.


feat: support external obsidian links

Hi :wave:,
this pull request remodels the link in the upper right corner as external obsidian link. This allows opening and editing your notes in Obsidian right away.
Leaving the pull request as draft for now, as I would like to have some input.

Unsure, if replacing the href attribute breaks another feature. I couldn't find how the link is useful other than opening the same site I already have open
I use an Id attribute and getElementById to retrieve the vault name in the JavaScript part. Maybe there is a better solution
The link only works when NOTES_PATH represents the Obsidian vault name. It does not work when a user does not use this variable and hosts the markdown files in the root folder. Maybe we should decouple the vault name from the NOTES_PATH and introduce another environment variable

docker-compose.yml
services:
  perlite:
    image: sec77/perlite:latest
    container_name: perlite-dev
    environment:
      - NOTES_PATH=Demo
      - HIDE_FOLDERS=docs,private,trash
    volumes:
      - ./perlite:/var/www/perlite
      - ./Demo:/var/www/perlite/Demo:ro
[...]

Let me know if you want something changed.

Hey @Tooa,
Thanks for this great idea. The link in the upper right corner was introduced before the URL update in the Browser bar, so in the past it was the only way to share are note via direct link. Now its more like breadcrumps and the idea putting more functionally behind it is great.
I see one problem related to the this. Perlite is meant to share your notes with the world, so expect the owner of the vault, nobody else can use this link and clicking on it will raise some errors or at least confusion.
But the idea is still great. Maybe we can introduce an "edit" button next to the link and maybe via a cookie / button we can toggle the display of this button.
What do you think?

Hey @Tooa,
Thanks for this great idea. The link in the upper right corner was introduced before the URL update in the Browser bar, so in the past it was the only way to share are note via direct link. Now its more like breadcrumbs and the idea putting more functionally behind it is great.
I see one problem related to this. Perlite is meant to share your notes with the world, so expect the owner of the vault, nobody else can use this link and clicking on it will raise some errors or at least confusion.
But the idea is still great. Maybe we can introduce an "edit" button next to the link and maybe via a cookie / button we can toggle the display of this button.
What do you think?

I added your feedback with my latest commits. I kind of dislike the coupling between NOTES_PATH and the vault name as it breaks the feature when a user hosts the files in the web root directory. But, adding another environment variable just for this feature feels overkill.
Let me know what you think.

Very nice feature, love it! Thank you very much @Tooa

Thank you for your kind words and resolving the open tasks @secure-77. I like your idea for storing the vault name in the cookie.


Integrate spring-cloud-bindings

https://github.com/spring-cloud/spring-cloud-bindings

Dependency will be:
[[metadata.dependencies]]
id      = "spring-cloud-bindings"
name    = "Spring GraalVM Native Feature"
version = "0.0.0"
uri     = "https://repo.spring.io/release/org/springframework/cloud/spring-cloud-bindings/1.1.0/spring-cloud-bindings-1.1.0.jar"
sha256  = "7014dba521a9f302a6ad30057babc2618438a941b66bc969b2d11dbf016783a0"
stacks  = [ "io.buildpacks.stacks.bionic", "org.cloudfoundry.stacks.cflinuxfs3" ]

I know that the version number is off, we leave it wrong in the initial commit to validate that the auto-updater will work properly.


Document Mono-specific classes

This fully documents all 3 Mono-specific classes.

Would be great if we could get rid of the @C# doc class as it serves no purpose. Maybe discard it if it's empty.

Would be great if we could get rid of the @C# doc class as it serves no purpose. Maybe discard it if it's empty.

Done with #39622.

Thanks!

Cherry-picked for 3.2.2. (Without the Texture changes reverted in dfa5f88c11.)


Move to window.thunder or options.thunder for token usage.

Co-authored-by: Michiel<EMAIL_ADDRESS>

https://jenkins.code.rdkcentral.com/job/github-triggered/623/ started

https://jenkins.code.rdkcentral.com/job/github-triggered/625/ started


FVT env for general GitHub atcions

FVT env for general Linux server

Finished by https://github.com/emqx/kuiper/pull/107


Pagination hiding elements when on same page

Hey there,
I'm using the pagination extension with the following config:
      pagination: {
        limit: 10,
        maintainActivePage: false,
        loop: true,
        hidePageListIfSinglePage: true,
        generatePageStats: false,
      },

At the moment, whilst I have a limit of 10 mixitup elements per page, there are currently only 4 mixitup elements. I've found that if I try to paginate using the last element, the elements above it will go into the hidden state. This is the incorrect behaviour because, as there's no other pages, the mixer shouldn't actually change at all as the current element is on the same page.
I believe this is a bug (or something in my config), because if I set hidePageListIfSinglePage to false, then use the arrows to change the page, all the elements reappear as they should.
I've tried to demonstrate this through the getState() and the console. If you see in the below image, the only command I've issued is to paginate to that particular elem, which is on page 1 (the current page). This then results in all the elements being hidden.

Is this a bug? A workaround could be to determine if the selected element is on the current page, and only filtering if it is...but I can't see a way to do that in the available API methods.
Thanks

Hi @sophanox,
I believe this is the expected behavior.
What you are doing by passing an element reference to the .paginate() method, is paginating via an "anchor" element (this is example 3 in the .paginate() docs example). Meaning you are telling MixItUp to create a new page with a limit of 10 elements, starting from your anchor element.
Because your anchor element is the last target, and there are no targets after it, this results in a page with only one element.
FYI - the loop config applies only to the pagination controls - meaning that next and previous buttons will take you from the first page to the last and vice-versa.
It sounds like you may be trying to do something else by paginating using an element, so if you could explain why your UI requires this, I might be able to help more.

Ahhh I see! Sorry I was under the impression that it would browse to the page with that particular element on. Having read the example properly now I see I misundersood.
That's what I'm trying to achieve, I give the mixer an element and it browses to that page. Is that possible, or will it require some sort of DOM interaction outside of mixitup?
Thanks a lot for getting back to me :)

Hmm.. MixItUp doesn't have a built in way of knowing what page any particular element sits on, but you could right some custom JavaScript to find out, and then send the page number to MixItUp:
Firstly, we need to obtain all targets matching the current filter, regardless of pagination. This is available via state.matching:
var myTarget = document.getElementById('taskid-5');
var state = mixer.getState();
var matching = state.matching;
var currentLimit = state.activePagination.limit; // e.g. 10

Now we need to find the index of our desired element, within the list of matching targets.
var targetIndex = matching.indexOf(myTarget) + 1; // e.g. 4 (we add 1 because indices typically start from 0)

Finally, we need to find out what the page number of this target would be, given that we have a limit of 10, and it has an index of 3. This will give us a page number starting from 1, which we can send to the paginate method.
var pageNumber = Math.ceil(targetIndex / currentLimit); // 1

mixer.paginate(pageNumber);

Let me know if that works.

Works like a charm :)
Thanks so much!


[Identity] Fix 'az' existence check in CliCred

Description
This change updates AzureCliCredential to use "shutil.which" to verify that the "az" command is available before trying to get a token. This provides a more reliable and cross-platform way to check if the Azure CLI installed without having to parse error messages which may not always be in English.
Closes: #27965
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


As a user I should not get impacted by agents having stuck polling loops

Problem to solve
Ensures system will not get locked up by a stuck loop.
Solution Options
Use PM2 restart strategy: https://pm2.keymetrics.io/docs/usage/restart-strategies/
Acceptance Criteria

[ ]

Subtasks

[x] https://github.com/connext/nxtp/issues/1220
[ ] https://github.com/connext/nxtp/issues/1221
[ ] https://github.com/connext/nxtp/issues/1222
[ ] https://github.com/connext/nxtp/issues/1223

@alexwhte Split this out at top-level

Archiving as we split out subtasks into new Master issues for scoping


[Bug] The minimize and maximize animation does not work

Hi, I like your work but I came across a few bugs in the latest pre-release 0.10.0-alpha001. In the previous version it works well. v0.9.0

Window minimization or maximization animation does not work
if I set AcrylicAccentState to disable, a gray border will appear when the window is maximized

https://user-images.githubusercontent.com/5471789/126295331-9dec8fe1-1197-4e91-ae69-ea4fc35a7b86.mp4
https://user-images.githubusercontent.com/5471789/126295560-4ad50cd9-1af6-4b6c-bb1c-58cde5aa5591.mp4

Thanks for the feedback. I can reproduce it, and I'm trying to fix it.


PresenceChannel - An item with the same key has already been added

Hi
I'm using PusheClient and i like it.
Sometimes i get exception
System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) at CallSite.Target(Closure , CallSite , Dictionary2 , String , Object )
at PusherClient.PresenceChannel.AddMember(String data)
at PusherClient.Connection.websocket_MessageReceived(Object sender, MessageReceivedEventArgs e)
at WebSocket4Net.WebSocket.FireMessageReceived(String message)
at WebSocket4Net.Command.Text.ExecuteCommand(WebSocket session, WebSocketCommandInfo commandInfo)
at WebSocket4Net.WebSocket.ExecuteCommand(WebSocketCommandInfo commandInfo)
at WebSocket4Net.WebSocket.OnDataReceived(Byte[] data, Int32 offset, Int32 length)
at WebSocket4Net.WebSocket.client_DataReceived(Object sender, DataEventArgs e)
at SuperSocket.ClientEngine.ClientSession.OnDataReceived(Byte[] data, Int32 offset, Int32 length)
at SuperSocket.ClientEngine.AsyncTcpSession.ProcessReceive(SocketAsyncEventArgs e)
at SuperSocket.ClientEngine.AsyncTcpSession.SocketEventArgsCompleted(Object sender, SocketAsyncEventArgs e)
at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
at System.Net.Sockets.SocketAsyncEventArgs.ExecutionCallback(Object ignored)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred, SocketFlags flags)
at System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

And my app is crushed with domain unhandled exception.
PusherClient try to add one key in dictionary at the same time.
I don't know whether is correct to send two ore more presence event at one time, but it possible to use concurrent dictionary to solve this issue.
I have attached pull request

Hi,
Have you managed to get a reproducible scenario for this?
Best regards,
John


jellyfin: move pins of dotnet-runtime and dotnet-sdk to top-level

jellyfin: move pins of dotnet-runtime and dotnet-sdk to top-level
(This makes possible to override parameters)

Alphabetically order parameters. (I know this is debatable, but shouldn't be IMO. Does not get more objective than this.)

Jellyfin maintainers CC @nyanloutre @minijackson @purcell @jojosch

Remember the splicing breakup incident

splicing breakup incident

I don't know. What happened?


API-817 Star/Unstar segment API (broken) documentation

JIRA - https://strava.atlassian.net/browse/API-817
Background
Two of the API users have notified us that the star/unstar API is broken
https://groups.google.com/forum/#!topic/strava-api/wXq2shpYWeU
Turns out, the API requires a starred field to star a segment. The absence of that parameter results to technically unstarring the segment. The API endpoint works fine but the cause of the confusion was the missing piece in the documentation. This PR fixes the documentation.

@zackisaacs PTAL


Automate CSE

Add a new flag--cse that allows to execute proofs with compositional symbolic execution.
Modified solc-to-k to identify and store the external calls of a function.
With cse, foundry-prove will be recursively called on the external calls first.

Remove the include_summaries parameter to foundry_prove, since we don't need it anymore and it isn't used anywhere.
Also, add some more complicated tests:

One where the test_... method calls 2 different functions (eg. add and sub).
One where the test_... method calls another function, which calls another external function. Make sure it builds the summaries all the way down first.

Running kontrol prove --match-test ArithmeticCallTest.test_double_add --no-fail-fast --cse from this branch locally throws the following error:
AttributeError: Error! Cannot use both --cse and --include-summary.

although it looks like it shouldn't if --include-summary is not provided; I'll look into that and the CI error: https://github.com/runtimeverification/kontrol/actions/runs/7896530778/job/21550730288?pr=347, and will enable more complicated tests that Andrei wrote once I confirm that it works.

I enabled a more complicated test that Andrei added, which calls two different functions — it passes in ~18 minutes on CI. I added the original simpler test_double_add() test to the list of skipped dependency tests in the interest of CI execution time, but can reenable it.
@ehildenb @PetarMax however, a test that calls a function, which calls another external function fails with the following error related to the <code> cell:
ValueError: Could not convert ML predicate to sort Bool:
KApply(label=KLabel(name='#Exists', params=(KSort(name='GeneratedTopCell'),)), args=(KVariable(name='CODE', sort=KSort(name='Bytes')), KApply(label=KLabel(name='#Equals', params=(KSort(name='CodeCell'), KSort(name='GeneratedTopCell'))), args=(KVariable(name='_Gen0', sort=KSort(name='CodeCell')), KApply(label=KLabel(name='<code>', params=()), args=(KVariable(name='CODE', sort=KSort(name='Bytes')),))))))

which doesn't occur if CSE is disabled. The functions, however, are executed in the correct order

ArithmeticContract.add(uint256,uint256)
ArithmeticContract.add_sub_external(uint256,uint256,uint256)
ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256)).

The test is as follows:
    function test_double_add_sub_external(uint x, uint y, uint z) external {
        uint a = arith.add_sub_external(x, y, z);
        a = arith.add_sub_external(a, y, z);
        assert(a > x);
    }

where arith is
    function add(uint256 x, uint256 y) external pure returns (uint256 z) {
        z = x + y;
    }

    function add_sub_external(uint256 x, uint256 y, uint256 z) external view returns (uint256 res) {
        uint256 sum = this.add(x, y);
        res = sum - z;
    }

and bug report is attached:
cse_test_double_add_sub_external.zip
I disabled this test_double_add_sub_external test (https://github.com/runtimeverification/kontrol/pull/347/commits/0eacb173e2ba1fb99b96f0f77331bad7cab935a9) so the CI should pass, and we can either merge this PR now and ask Andrei or Petar to fix the <code> issue in a follow-up PR, or wait till they're back and can look into it in the scope of this PR.


LoadGen: Add tests for "remainder" samples.

Adds a test to verify we don't hang in the
offline scenario in accuracy mode when the
last loadable set is smaller than the rest.
Adds a test to verify MultiStream scenario
has contiguous samples in the accuracy mode
even when the loadable set size is not an
exact multiple of samples_per_query.

@christ1ne : Can you take a look at this one too. It builds on the previous patch to add test coverage for the offline and multi-stream scenarios.


Add --rename-cc-to-cpp option to create_tflm_tree.py to assist with Micropython build

Hello,
I have switched my micropython tensorflow lite firmware to build all within micropython using the create_tflm_tree.py script to generate the files to build.
Previously  I was building the static library via the tflm Makefile and then linking it into the target firmware during the Micropython build.
Micropython supports C++ but it expects the files to have the .cpp suffix.  Unfortunately all of the files in tensorflow have the .cc suffix.
I got around this by adding a new switch --rename-cc-to-cpp that will as part of the generation of the files also take care of renaming them so that they end with .cpp as the Micropython build expects.
I'm successfully using this switch to generate files for stm32, rp2 and esp32:

https://github.com/mocleiri/tensorflow-micropython-examples/blob/feature/31-support-stm32-boards/.github/workflows/build_esp32.yml#L71
https://github.com/mocleiri/tensorflow-micropython-examples/blob/feature/31-support-stm32-boards/.github/workflows/build_stm32.yml#L61
https://github.com/mocleiri/tensorflow-micropython-examples/blob/feature/31-support-stm32-boards/micropython-modules/microlite/prepare-tflm-rp2.sh#L3

I'd like to upstream this switch so I don't have to maintain my own fork with it.

I'm closing this issue because the associated pull request has been merged.  Note that the option was changed to
--rename_cc_to_cpp

in the final merged commit


Crash on startup

BEFORE SUBMITTING YOUR ISSUE, PLEASE LOOK AT THE PINNED ISSUES AND USE THE SEARCH FUNCTION TO MAKE SURE IT IS NOT ALREADY REPORTED. ALWAYS COMMENT ON AN EXISTING ISSUE INSTEAD OF MAKING A NEW ONE.
Describe the issue
It immediately crashes on startup. Library not loaded: @rpath/usbredirhost.1.framework/usbredirhost.1
Configuration

UTM Version:  4.5.3 (99)
macOS Version: 13.5
Mac Chip (Intel, M1, ...): Intel

Crash log
Attached
UTM-2024-07-23-125037.ips.txt

Any chance you're running kernel patches or anything like that?

Not that I know of. I can send a report if you give me the command to do so.

Does /Applications/UTM.app/Contents/Frameworks/usbredirhost.1.framework/Versions/A/usbredirhost.1 exist?

It does exist.
-rwxr-xr-x@ 1 dave  admin  210880 May 24 01:05
/Applications/UTM.app/Contents/Frameworks/usbredirhost.1.framework/Versions/A/usbredirhost.1
On Thu, Aug 22, 2024 at 11:03 AM osy @.***> wrote:

Does
/Applications/UTM.app/Contents/Frameworks/usbredirhost.1.framework/Versions/A/usbredirhost.1
exist?
—
Reply to this email directly, view it on GitHub
https://github.com/utmapp/UTM/issues/6510#issuecomment-2304903858, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AABZ5VEB5DPFIRBSYUVD63LZSX4TFAVCNFSM6AAAAABLK2M35KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBUHEYDGOBVHA
.
You are receiving this because you authored the thread.Message ID:
@.***>


adafruit_portalbase Dependency Error

Context

I'm following the MagTag Quotes Board guide.

This is my code: MagTag Quotes Board - Sergio

These are the libraries added to my MagTag board:

Expected behavior

MagTag displays quote message
MagTag goes into "deep sleep" for an hour
MagTag wakes up and refreshes quote message

Actual behavior

MagTag displays quote message
MagTag refreshes and display error message

I believe I'm not missing any libraries and my code is correct, but I could be wrong. Any help would be appreciated.

Make sure your libraries are updated. That particular function is in PortalBase: https://github.com/adafruit/Adafruit_CircuitPython_PortalBase/blob/main/adafruit_portalbase/init.py#L304

Since that function has been in PortalBase from the beginning, I suspect you may be using an older version of the MagTag library that didn't use PortalBase.

I downloaded the newest bundle and replaced the libs in my MagTag just to be sure.
Unfortunately, that resulted in a different error message.
My best bet is probably to start from the beginning to find out where things went wrong.
Thank you!

You may also want to check that you're using the latest version of CircuitPython, but I wouldn't imagine it would result in this particular error. You can download from https://circuitpython.org.

Thank you for the help and advice. I'll try to troubleshoot my setup.


Training time estimation when max_epochs is given

🚀 Feature
Time estimation of training until max_epochs are reached.
Motivation
Right now I don't see how long I am training for already and how long it is going to take to train e.g. 500 epochs.
I usually have a tqdm progress bar for number of epochs to get an estimate how long my training will run maximally.
Pitch
If max_epochs is given, create a tqdm progress bar (probably with leave=True).
Alternatives
Keep it like it is and make rough estimations per hand.
Additional context

? we already have a tqdm bar. in case you need a custom one you can also implement one using a callback @awaelchli

I know, but it only shows the time for the current epoch, but not how long the overall training will take.

don't you just multiply times the num of epochs?

Then I would not have a time for how long I am training already and I would need to manually check how long one epoch takes and do the calculation manually.
Such a feature was mentioned in #765 as well.

Maybe we could provide such a global progress bar as part of bolts.


WiP docs(v2): analytics

Motivation
Addressing #1640, add docs for adding analytics
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!)
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

Hey @yangshun got a question:
We provide trackingId via themeConfig, but classic theme does not use the gtag plugin isn't it? what uses it is the gtag plugin specified in preset, then, wouldn't specifying trackingId in themeConfig be conceptually confusing?

@yangshun  @endiliey  updated this PR to include GA and gtag. Please take a look if the sections make sense. Thanks!

By the way, @endiliey it seems that the link from analytics to sections in the advanced plugins page is once again not landing on the headings correctly...

@wgao19 file issue or send screencast


SB: Update SDK for Swagger changes

Description
Update SDK for :
Swagger property fixes
Namespace patch operation added
Version update
Swagger PR Links :
https://github.com/Azure/azure-rest-api-specs/pull/879
https://github.com/Azure/azure-rest-api-specs/pull/1057
This checklist is used to make sure that common guidelines for a pull request are followed.

[x] I have read the contribution guidelines.
[X] The pull request does not introduce breaking changes.

General Guidelines

[X] Title of the pull request is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[X] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[X] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[X] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as a link to the swagger spec, used to generate the code.
[X] The project.json and AssemblyInfo.cs files have been updated with the new version of the SDK.

@v-ajnaya The AutoRest branch is closing, will let you know when a new branch is available.  Also, please ensure that you've followed the diurections here:  http://aka.ms/azuregithub on joining your github id to the azure organization

@v-Ajnava The vs17Dev branch is now open, please target a new PR there


Java icon dont display correctly

I tried changing the theme, reinstall plugin, but it didn't help
Duke dont show for me

As of https://github.com/catppuccin/jetbrains-icons/releases/tag/v1.8.0, we have separate Icons for different Java file types. You should be able to disable those in the settings under "Java Support"

As of https://github.com/catppuccin/jetbrains-icons/releases/tag/v1.8.0, we have separate Icons for different Java file types. You should be able to disable those in the settings under "Java Support"

oh ty, how i use those differentes icons? i only can disable and activate in java support

Disabling the Java Support should return you to the Duke icon

yes, im with the Duke
but i want the differents Dukes when file type is different, like interface, but with Java Support disable doesnt work

This is the relevant PR https://github.com/catppuccin/vscode-icons/pull/247
While i agree that different icons per type is great, kinda wish that duke icon was used for classes instead of the cube icon, or to give option to use either colored Duke or different icons.


added rate me dialog (#1967)

@JamesSmartCell there's also a native ReviewManager API which is analogous to iOS' SKStoreReviewController. If we can use them, they are usually preferred because users don't leave the app.

@JamesSmartCell there's also a native ReviewManager API which is analogous to iOS' SKStoreReviewController. If we can use them, they are usually preferred because users don't leave the app.

@mpaschenko ^ even better

@mpaschenko I couldn't get it to work. It correctly calls the inner area ReviewManager manager = ReviewManagerFactory.create(context); and completes to flow.addOnCompleteListener(flowTask -> { ...
I'm guessing that the reason it does nothing is because I'm using a build not installed from the PlayStore.
Thing is; we don't know how it would look to an actual user. Does it just dump you straight into the review page without any choice or explanation?
Because there's no way to test it; we should play it safe and revert back to the previous method;
Can you implement the 'Material' dialog as I linked in the picture above, but with five stars across it as seen in other 'rate my app' dialogs. The idea is to make it look attractive to click on; the initial implementation doesn't look good, and this one, we don't know how it looks.
If user clicks on the 'rate' option, or if they click on the stars, then show the stars filled in, then flow to the review page using the ReviewManager you added.

@JamesSmartCell  You have to install the build from the app store (or at least from beta) in order to work.

@mpaschenko yes I thought so. How does it look though? It should be that a small popup appears asking the user to rate the app. If they click on it, then take them there. Allow user to say 'later' or 'no'. Do you know how it appears and what text it uses?

@JamesSmartCell it's basically should look like

but frankly, I was not able to see it, even tried to make my own test app yesterday, and installed it through internal distribution (which should trigger according to manual).
There is some internal logic on if the rate app dialog should be shown, like time quota or so...
https://developer.android.com/guide/playcore/in-app-review
maybe make sense to revert to the initial implementation with an opening the app store page to be sure?

@mpaschenko I couldn't get it to work. It correctly calls the inner area ReviewManager manager = ReviewManagerFactory.create(context); and completes to flow.addOnCompleteListener(flowTask -> { ...
I'm guessing that the reason it does nothing is because I'm using a build not installed from the PlayStore.
Thing is; we don't know how it would look to an actual user. Does it just dump you straight into the review page without any choice or explanation?
Because there's no way to test it; we should play it safe and revert back to the previous method;
Can you implement the 'Material' dialog as I linked in the picture above, but with five stars across it as seen in other 'rate my app' dialogs. The idea is to make it look attractive to click on; the initial implementation doesn't look good, and this one, we don't know how it looks.
If user clicks on the 'rate' option, or if they click on the stars, then show the stars filled in, then flow to the review page using the ReviewManager you added.

@JamesSmartCell would you like me to implement something like that?

Probably my last bit of contribution to this: there’s a way to test the flow, but it doesn’t display the UI: https://developer.android.com/guide/playcore/in-app-review/test#java
Up to you folks to see if it’s good enough.

Probably my last bit of contribution to this: there’s a way to test the flow, but it doesn’t display the UI: https://developer.android.com/guide/playcore/in-app-review/test#java
Up to you folks to see if it’s good enough.

I tried as it was described through the internal test track, but was unable to see any UI :(, it could be that with the published version everything would be ok.

(If you are referring to the fake version, yes, it doesn't display the UI, it only provides the return value as if the user went through it)

@mpaschenko I couldn't get it to work. It correctly calls the inner area ReviewManager manager = ReviewManagerFactory.create(context); and completes to flow.addOnCompleteListener(flowTask -> { ...
I'm guessing that the reason it does nothing is because I'm using a build not installed from the PlayStore.
Thing is; we don't know how it would look to an actual user. Does it just dump you straight into the review page without any choice or explanation?
Because there's no way to test it; we should play it safe and revert back to the previous method;
Can you implement the 'Material' dialog as I linked in the picture above, but with five stars across it as seen in other 'rate my app' dialogs. The idea is to make it look attractive to click on; the initial implementation doesn't look good, and this one, we don't know how it looks.
If user clicks on the 'rate' option, or if they click on the stars, then show the stars filled in, then flow to the review page using the ReviewManager you added.

@JamesSmartCell would you like me to implement something like that?

Yes I think for now that would be the best solution - combine it with the Playstore rating API you already added - so once the user clicks your 'rate' button in the dialog, they then go to the PlayStore rate dialog you linked to here:
https://user-images.githubusercontent.com/2472117/129517241-d07a620e-fe46-4b6c-861d-4f662046f4f8.png
This is the behaviour I have seen. Listen for the user clicking on the five stars as well as 'rate/confirm' to take them to the dialog. I usually click on the stars in that dialog for some reason ...

@JamesSmartCell updated as requested

Now that I've experienced other apps using the first iteration of this with the bottom sheet, it's actually pretty good. D'oh! We'll go with this one that you done though.

I wonder where is this rating going? Is it correlated with Google Play?