Fetching Relationships

For example, the following request fetches data about an article's comments:
GET /articles/1/links/comments

It's difficult to implement on the server side, why not use just plain endpoints? Why should endpoint care about nested structures? This limitation will significantly reduce chances of this document to be used as a working standard.

I'm not sure I understand what you mean by "plain endpoints". Can you clarify?
Also, if this section doesn't illustrate what these documents are for, can you please explain more clearly what the confusion is?
http://jsonapi.org/format/#crud-updating-relationships

Under "plain" I mean endpoint, returning 1 kind of resource always. And responsible for 1 kind of resource, what is more important.
In URL "/articles/1/links/comments" we have 3 names of resources, so endpoint "articles" should:

Know about existence of links and comments
Implement CRUD actions for links and comments

It leads to violation of Single Responsibility principle, code duplication and, therefore, increases amount of bugs or missing parts in implementation.
Much better when we can fetch comments with this URL:
/comment?article_id=1

I think you are misunderstanding what relationship documents are for.
The URI /articles/1/links/comments does not provide the comments themselves, it refers to the relationship of comments to a given article. This provides a resource which can be augmented to link or unlink other comments to a given article.
What you've described would be accessed via /articles/1/comments. This could easily be de-structured internally to /comments?article_id=1 if you wish. My implementation has no duplication of code for this functionality.
Personally, I would recommend against exposing the foreign keys of your database to end users, the URI /articles/1/comments is much more tolerant to internal changes than /comments?article_id=1.
All of that being said, you're welcome to structure your URLs as you see fit!

At least this issue isn't closed yet, lol.

The URI /articles/1/links/comments does not provide the comments themselves, it refers to the relationship of comments to a given article.

Why should client or server care about their relationship? Comments are comments, and doesn't matter if their parent resource in tree being called "links" or "blogs".

This could easily be de-structured internally to /comments?article_id=1 if you wish. My implementation has no duplication of code for this functionality.

Your implementation at least have to parse words "links, comments, article" just to transform that request. But "comments" endpoint don't have to know about existence of links and articles at all.

Personally, I would recommend against exposing the foreign keys of your database to end users

Me too. I never said you should. This issue is about absolutely different thing. You can set id of article in billions ways in that URL.

All of that being said, you're welcome to structure your URLs as you see fit!

No, I don't think so:

A server MUST support fetching relationship data for every relationship URL

So if this standard will be accepted, each system, which want to implement it, will be MUST to implement this part too.

I'm not going to implement this proposal of standard because of your position about "PATCH" verb and "id" field in responses, so I don't see reasons to argue and closing all my issues.


fix_nginx_docker

🍰 Pullrequest

The docker part
fixed frontend production docker build & refactored frontend file structure

frontend server runs on port 3000 by default
frontend production docker build successfully runs & builds
frontend production docker build is no longer reachable from the outside
moved server.js in subfolder run/

The nginx part
nginx fix for vue interface

localhost/vue resolves to frontend
localhost:3000/vue resolves to frontend in development
images are resolved properly
remaining services are reachable as normal
fixed image path to be relative instead of absolute
cleaned nginx config

Issues

fixes #192 (fully fixed)
fixes #131 (the path will not be configurable it has to many implications and need cross service environment variables. We should switch at a given time from old frontend to new frontend and make an adjustment. Still this issue will be closed since its no longer applicable)
fixes #104 (finalize this issue, last remaining point: have nginx working)
fixes #191 (no more flickering 404s should appear)
relates #130 (fixes routing)

Todo

[x] Docker
[x] Nginx
[x] Describe and inform team about implications
[x] Check which issues can actually be closed, which are partially fixed and which are not targeted
[x] Describe how to test

How to test:

Build docker debug images docker-compose up --build
You should now be able to reach localhost/vue and localhost:3000/vue, You should not be able to get a useful response localhost:8080 nor localhost:3000
Test if everything is reachable as usual on localhost/vue and localhost:3000/vue:

login api calls work (login)
community api calls work (transaction list)
all images
any 404 pages?

Shut down the dockers `docker-compose down
Start and build docker environment in production mode: docker-compose -f docker-compose.yml up --build
You should now be able to reach localhost/vue, but you should not be able to reach localhost:3000, localhost:3000/vue nor localhost:8080
Finally test if everything is reachable as usual on localhost/vue and localhost:3000/vue:

login api calls work (login)
community api calls work (transaction list)
all images
any 404 pages?

Implications (to be published on Discord)

You have to rebuild with docker-compose up --build
You can no longer reach the frontend with localhost:8080, you need to use either localhost:3000/vue or localhost/vue

Relevant comment from Dario in #104
To make frontend reachable under / is easy, the real problem is to make community-server reachable not under /
I have already tryed everything which was suggested here:
https://stackoverflow.com/questions/2119736/cakephp-in-a-subdirectory-using-nginx-rewrite-rules
The only way I see is to load vue-frontend inside a cakephp side which I can set via routing to /
But last time I tryed to explain it to alex he didn't understand me.
In past I had put vue-client inside community-server and edited package.js and public/index.html so that on build a cakephp suitable side in template/pages/frontend.ctp was generated which was loading the vue-frontend and was accessable via /
But I don't know how to make it that Alex can work with automatic rebuild how he is used to it with that configuration.
I couldn't find a way for build vue with watch how I do it with mithril-js
(watchify ./src/app.js -t [ babelify --presets [ @babel/preset-env ] ] -o app.js -v)

localhost/vue is working
localhost:3000/vue is working
localhost:3000 is a blank page
localhost;8080 is not available

But: I cannot login

I am mergin this, assume its cool with you @Mogge since the only thing we would require to test is the currently unused production build


GridMap editor acts bizzare if parent node is transformed

Hi again,
I'm using November 13 version, windows 64.
If I try to edit the tiles of a GridMap whose Spatial parent node is translated or rotated, there is a distance between the "tile cursor" and the mouse cursor.
New tiles appear to be placed where the "tile cursor" is displayed in the editor, but when I run the scene, they are displayed where the mouse cursor was when I clicked to add them.
All the new tiles I added get moved to somewhere else if I modify the transformations of the parent node, or if I reload the scene into the editor.

Archiving this one since it's duplicate of https://github.com/godotengine/godot/issues/2668 and that one is tested in newest godot builds and is already confirmed.


agent.sendMessage() error

Description
Got stuck in a rabbit hole trying to find why we were getting an  issue when trying to agent.sendMessage(message) with v2.3.0.
Should this error be ignored? https://github.com/input-output-hk/atala-prism-wallet-sdk-ts/blob/master/demos/node/src/index.ts#L94
Please provide the exception or error you saw
DIDCommMalformed: Malformed: Message is not a valid JWE, JWS or JWM

Please provide the environment you discovered this bug in
v2.3.0

Anything else?
No response

Hello @Ben-Tai , while we are continuously trying to improve error handling and response objects in didcomm endpoints, Today, currently some of the requests just return null and our sdk fails to decrypt a didcomm message which is "null", thats why u are getting this error message.
May I ask you what kind of message are you sending? If you are getting this error message you can ignore it. I'd recommend you also to check the prismAgent logs and see whats going on there too.
Anything else just reach out :)
thank you!

Yeah so we're using agent.sendMessage

An Issuer offers a credential, a holder accepts it

const offerCredential = SDK.OfferCredential.fromMessage(offerMessage)

agent.prepareRequestCredentialWithIssuer(offerCredential)
  .then(async requestCredential => {
    const message = requestCredential.makeMessage()

    agent.sendMessage(message)

A Verifier sends a VC Presentation request, we accept

agent.createPresentationForRequestProof(request, credential)
  .then(presentation => {
    const message = presentation.makeMessage()

    agent.sendMessage(message).catch(handleSendMessageError)

We're doing this because we don't want to use an http-bound agent to hold I guess

@mixmix @Ben-Tai , since that last message, have you progressed?
@elribonazo , how to follow up on this issue? We have error handling and problem reporting for SDK on the roadmap. Is this part of it?


Sandbox URL is now blocked due to invalid HTTPS certificate for be2bill.com

https://github.com/dalenys/php-merchant-api/blob/6913cc02e1c831e6cfd93727a6830f155317e40e/src/Dalenys/Api/ClientBuilder.php#L32
Google Chrome indicates :

This page is not secure (broken HTTPS).
Certificate - missing
This site is missing a valid, trusted certificate (net::ERR_CERT_DATE_INVALID).

Changing the URL to https://secure-test.dalenys.com works fine.


Output of tracing-subscribe is verbose and difficult to read

I ran Wasmtime with WASMTIME_LOG=wasmtime_wasi just now and it looks like:

Part of this is that my terminal screen isn't super wide but even on the widest setting

I find this difficult to read.
I find that there's a ton of output per line. For example one log line looks like:
2023-11-03T15:56:46.567847Z \
  TRACE \
  wit-bindgen<EMAIL_ADDRESS>function="handle"}:wit-bindgen \
  import{module="streams" function="[method]input-stream.read"}: \
  wasmtime_wasi::preview2::bindings::wasi::io::streams:

which takes up basically the entire screen before getting to the actual relevant message:
call self_=Resource { rep: 7, state: "borrow" } len=16384

Aesthetically I also find the highlighting quite confusing to read and sift through. I don't know if this has to do with my OS, terminal emulator, or what.

Agreed we should clean this up. I vaugely recall the colors and highlighting looking a lot less terrible than this at one point, so there may be a knob we can tweak for that, but I haven't explored. The amount of context per line is far too much (by default anyway).


Feature Request: Nixos Integration

I was trying to setup spicetify themes on Nixos recently. And I feel that it is the perfect type of package that needs that nixos style integration to be able use it via home-manager.

https://github.com/the-argus/spicetify-nix
It exist already. Maybe you guys should merge it with the main repository or provide more awarness about it.

its third party (i didn't even know it existed) and we cant dedicate more time than we already do to something that's pretty niche. Its cool to see someone doing this though.

It sure works very fine even being third-party maybe you can mention it in Readme somewhere with the tag third party ?


[Bug] [^2.4.0] DriftIsolate -  cannot connect from background isolate

Hi,
I believe version 2.4.0 introduced a bug when trying to establish a connection using DriftIsolate from within background isolate (using workmanager). Here is code sample:
var driftIsolate = await _ensureDriftIsolate();
var connection = await driftIsolate.connect();
var database = DriftContext.connect(connection); <= app hangs here, but only in background isolate (it works in foreground)

 // this is the new constructor
 DriftContext.connect(DatabaseConnection connection) : super.connect(connection); // I know it has been changed in v2.5.0

Future<DriftIsolate> _ensureDriftIsolate() async {
  final dir = await getApplicationDocumentsDirectory();
  final path = p.join(dir.path, 'filename.sqlite');

  var driftPort = IsolateNameServer.lookupPortByName("somePortName");
  if (driftPort == null) {
    final receivePort = ReceivePort();
    IsolateNameServer.registerPortWithName(receivePort.sendPort, driftPortName);
    await Isolate.spawn(_startBackground, _IsolateStartRequest(receivePort.sendPort, path));

    final firstMessage = await receivePort.first;

    driftPort = firstMessage as SendPort;
  }

  return DriftIsolate.fromConnectPort(driftPort);
}

void _startBackground(_IsolateStartRequest request) {
  final driftIsolate = DriftIsolate.inCurrent(() => DatabaseConnection(LazyDatabase(() async {
        setupSqlCipher();

        final file = File(request.targetPath);
        return NativeDatabase(file, logStatements: false, setup: (rawDb) {
          assert(_debugCheckHasCipher(rawDb));
          rawDb.execute("PRAGMA key = 'secretPassword';");
        });
      })));

  // inform the starting isolate about this, so that it can call .connect()
  request.sendDriftIsolate.send(driftIsolate.connectPort);
}

Everything works in version 2.3.0
Regards

Thanks for the report! I've tried to reproduce this in the repro-2319 branch in this directory. Unfortunately I couldn't quite get the setup to work - it seems like the isolate name server is not shared between the foreground isolate and workmanager - it spawns a new drift isolate each time, but otherwise works.
Could you provide more information on how to reproduce this (maybe fork this repository and finish the repro in that branch)?

This only works if the background isolate is started in the same VM. Something might have changed in the workmanager library.

There has been no activity in this issue for over a year and no reproducible bug exists.


Hot reload does not work in Windows

Hot reload does not work in Windows in debug mode

You're such a retard. Stop asking these stupid questions

In Android 14, in the app release process, sometimes a series of widgets are not created, only the widgets with Use Get

That's Weird
Does it happen in other project also

That's Weird
Does it happen in other project also @mehdisrmd

In other projects, other systems

I'm asking if it happens to other project in which you use getx


Add version: JetBrains.Kotlin.Compiler version 1.4.30-RC

Pull request has been created with Komac v1.9.1 :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/116219&drop=dogfoodAlpha

@wingetbot waivers Add Validation-Executable-Error


Update soroban-client to 0.2.0

This probably needs the yarn.lock files regenerated? Is there a tool you're using for that?

Not sure, tbh. I haven't done much monorepo js development


Restore directory structure for HTML document export.

Fixes issue https://github.com/KosmosisDire/obsidian-webpage-export/issues/269. See the issue for details.

Hi thanks, I already have a built in way to toggle the file structure flattening feature. Your PR overriding this feature at the low level completely which I don't want to happen. I will implement the proper fix for this in the 1.7.4 branch and let you know when it is done. Or if you'd like to check out the 1.7.4 branch you can try to implement the proper fix there yourself and submit a PR. I will warn you though that 1.7.4 is a bit buggy right now.


Docker not detected on new Publish to AWS feature

Describe the bug
When going to publish on the new publish Preview feature option, docker is said as missing. I'm using a Windows 11 machine and running Visual Studio 2022 Preview with Docker 4.3.1. Docker is acessible from path and exposed on TCP port.
To Reproduce

Create new Web project on VS2022
Right click on project csproj and choose Publish to AWS (Preview Feature)
Wait for loading
Docker is said missing

Expected behavior
Docker should have been detected as it's acessible on terminal and TCP port.
Computer (please complete the following information):

Windows Version: 11
Visual Studio Version: 2022 17.1.0 Preview 1.1
AWS Toolkit for Visual Studio Version: 1.23.3

Additional context

After testing during some time I got to one conclusion and pattern.
It happens that AWS Toolkit (and aws-dotnet deploy) can't identify docker as installed if another context  then default is being used at the right moment.
Maybe it tool could detect non default context being used and rollback to default or at least warn user of it, and not say docker not installed.

Can you check if this problem exists in the latest version of the Toolkit? If so, please share repro steps for placing docker on another context.

One year has passed, and still no solution! Windows 11, latest VS 2022, latest Docker, latest AWS extension, and the issue is still there! It doesn't see docker installed! Is this Amazon? Really?

To be able to understand the issue better, are you able to see if this issue is reproducible in the .NET CLI https://github.com/aws/aws-dotnet-deploy?
Also, from the VS Toolkit, have you ever been able to get docker to work at all? Is this a persistent or transient issue.
Do you see any errors in the VS Toolkit logs?
This is the code we are running to check docker https://github.com/aws/aws-dotnet-deploy/blob/e8f4ad1dc07cb3c191f4623d72a971dc3b27527a/src/AWS.Deploy.Orchestration/SystemCapabilityEvaluator.cs#L49. Can you check what error you get if you run that from the Command line?

I had the same issue, tried running that command, got "ERROR: error during connect: This error may indicate that the docker daemon is not running."
Maybe other people also didn't have docker running?
Anyway just starting Docker desktop seems to fix it. Maybe it would be nice to add a pop-up window like Docker tools for Visual Studio has, reminding people docker isn't running.

Tried reproducing this issue in the following environment:

OS - Windows 10
Docker Desktop - v4.0.0 (67817)
Docker Engine - v20.10.8
Visual Studio Professional 2022 - v17.8.2
AWS Toolkit for Visual Studio 2022 - v<IP_ADDRESS>

Scenario 1: Docker Desktop not running while deploying the ConsoleAppTask to ECS Fargate

Scenario 2: Docker Desktop running in Windows mode while deploying the ConsoleAppTask to ECS Fargate

Scenario 3: Docker Desktop running in Linux mode while deploying the ConsoleAppTask to ECS Fargate.
Result: The deployment is successful
I have not been able to reproduce the user reported issue on the latest version of the AWS Toolkit for Visual Studio 2022. Requesting the toolkits team (@awschristou @shruti0085 @floralph) to close this issue since it no longer persists and there are no action items on our end.

Closing this as the issue seems no longer applicable(based on the comment above) with the latest versions of the aws-dotnet-deploy tool and the toolkit.
If you have any other updates or specifics you can share, please create a new issue and provide relevant details for us to further investigate it.


Can´t connect to raspberry pi 3 b+in v0.0.10

After updating to v0.0.10 I can find the b+ without any problems but when I try to connect my phone the b+ shows up in known devices but its not connectet.

ok works in v

works in v0.0.11


Update binding labels

DocumentDb -> Cosmos DB
Event Hub -> Event Hubs
Misc label cleanup

Fixes #445

@soninaren Please review and merge.

Please verify the labels on next portal. Updates every hour


Added Kibana Formula

Added a formula to install Kibana which is part of the ELK or Elasticsearch stack.  There are already brews for Elasticsearch and Logstash.  This will complete the ELK stack in Brew.

Is it not possible to build this from source?

There are a ton of dependencies in the Node universe that would need to be installed to build Kibana from source.  That was the first approach that I took until I realized how many dependencies there are.

Let me know if I can do anything else for this.  I am unfamiliar with the process.  Thanks

I would love to see this added!

@BrewTestBot test this please.

We have a from-source formula for this in the core. brew install kibana.


[security] Upgrade requests to the latest version

Also changed the email and author

We have the login credentials for PyPI, we can look into it. Maybe even automate it with Travis.


Tibialyzer does not recognize "pile of grave earth"

As title. Looking at pile of grave earth does not trigger a popup window with information. I guess that the item is missing from the database?

22:07 You see 4 piles of grave earth.
They weigh 3.92 oz.

Other items work fine, i.e.

22:07 You see 11 ghoul snacks.
They weigh 15.40 oz.

Pile of Grave Earth is in the database. The reason the popup window doesn't trigger is that Tibialyzer only recognizes simple plural forms automatically. Simple plural forms meaning the letter s is appended at the end (e.g. skull → skulls). It doesn't recognize piles of grave earth → pile of grave earth. Thus instead of recognizing it as a plural Tibialyzer tries to search for the item piles of grave earth which does not exist.
To deal with irregular plural forms, you have to tell Tibialyzer what the plural form is. This is done by adding the item to the Database/pluralMap.txt file, as I have done in this commit 59b1380e47ba565488edff83123d7564faa52ff2.
I will leave this open because I want to extend Tibialyzers' ability to detect plurals, because piles of grave earth really should be automatically detected.

Some items already have their plural name on TibiaWiki, not all of them though. In TibiaWiki's loot parser some plural exceptions are listed as lootparser_p_words: http://tibia.wikia.com/wiki/Loot_Statistics/Code. You could copy that logic.

You could also use opentibia's items file. Just use sed or vim to extract
the lines, something like (in vim):
%s/^.*name="\(.*\)" plural="\(.*\)".*$/\2=\1/g

https://raw.githubusercontent.com/opentibia/server/master/data/items/items.xml
Den 18 feb. 2016 9:23 em skrev "Benjamin Komen"<EMAIL_ADDRESS>
Some items already have their plural name on TibiaWiki, not all of them
though. In TibiaWiki's loot parser some plural exceptions are listed as
lootparser_p_words: http://tibia.wikia.com/wiki/Loot_Statistics/Code. You
could copy that logic.
—
Reply to this email directly or view it on GitHub
https://github.com/Mytherin/Tibialyzer/issues/13#issuecomment-185898775.

Thanks for your suggestions, I have extended Tibialyzers' ability to obtain the singular form in the following commit f80959a1f47211e3a93b7576d8763e695501f823. This should solve most issues with plural items not being recognized.


Make Private Images Reproducable

Jennifer and Tim did a great job explaining how Chef employees can configure their environment to use private images.  The instruction for those that are not Chef employees, however simply says that the reader must obtain appropriate licenses and image, and leaves the rest for the reader to figure out.  It can be frustrating and difficult for a non-Chef employee to collaborate if they are trying to contribute code that works in their environment to a Chef project, only to have CI/CD fail in a private image into which they have no insight.
While licensing restrictions may prevent Chef from distributing private images used in CI/CD, those restrictions do not apply to the code Chef uses to create the images.  Please consider publishing (and referencing from these docs) the code Chef uses to generate the private images used by CI/CD.  This would allow collaborators to use their own licenses to generate roughly identical private images that they could use for testing and debugging purposes.  In the absence of licensing, detailed configuration information still help a collaborator deduce how their contribution might be behave in the private image's environment.  If for some reason, Chef cannot publish the code, please describe the configuration of each of these images in enough detail that a collaborator would have a good chance of manually reproducing the image, themselves.

The timing here is uncanny as this is something I've long been pushing that should become a reality in the coming month(s).
This has been historically complicated for various reasons over time, lots of being around making Windows images even with the assistance of Packer is painful at best as generally there still needs to be manual intervention at some juncture. Related, the process of building images takes a long time, is error prone, and requires Real Hardware which is surprisingly in short supply these days. This means ad-hoc and one-off builds from the last poor soul who ventured down this precarious path. Also, at least for a bit there were other folks/orgs making images that filled this gap better than we could have at the time but many of those have since faded off.
The good news is that things have improved dramatically on a few critical fronts. Packer is substantially better, we're more experienced with it, and most importantly we'll have hardware in a datacenter for the sole purpose of building images via packer for our beloved bento boxes. As this will make our (very specifically my) lives easier we're simultaneously looking to expand the matrix of images we regularly build both externally via bento as well as internally. That is to say we have a hard enough time ourselves building/finding quality images for "private" operating systems.
The short term plan is to bring Windows templates into the bento project. @tas50 has already been active in updating these in Boxcutter (a bento alternative) so we've got a decent handle on the work that needs to be done here even if the build process still might require manual steps - at least we can document this along with the templates. This will achieve the goal but we also intend to take it further if possible as we're investigating precisely what the terms of licensing for hosting evaluation Windows images mean for Chef as an organization.
Note: though primarily concernedWindows images, this goes for the other private platforms as well with regard to having reproducible images from templates. Less so for hosting as most of private non-Windows platforms require keys or specific hardware.

I'm pretty pumped that I can finally close this issue out. We have Windows images in the Bento project now. There's some rough edges and I'm slowly working to fix that all up, but we're no longer testing with private chef images and you can build your own images using packer + chef + some powershell.


JS docs formatting tweaks

This PR revisits the options, methods, and events sections for each component's JS section. Builds off @rohit2sharma95's suggested changes for the dispose method and takes a more holistic approach to the sections.

All sections are now Markdown-powered tables
All tables are using the bs-table short code to add our .table-* classes as needed
Does a little bit of wordsmithing, but could use more editing overall

I'm waiting on @Johann-S or someone else to tell me what happens with dispose before calling content final here, but wanted to open the PR for when we're ready.
TODO:

[x] Convert the remaining HTML tables to Markdown
[x] Verify that the CSS still works and is adapted
[x] When we are done converting all tables, see if the markdown shortcode is still used

Preview: https://deploy-preview-31337--twbs-bootstrap.netlify.app/
Fixes #31189

We should make the table responsive BTW

And maybe use normal font-size? Not sure what the rationale behind this choice was.

I knocked down the font-size to ideally help with readability. Bump it up in the inspector and see how it feels for you. For me it really helped with reading a table to downsize the font vs the body text. These tables are super content dense as well, and my secondary goal is to show more table contents to make it easier to scan the whole thing.

@rohit2sharma95 summarized everything here: https://github.com/twbs/bootstrap/pull/30838#issuecomment-661284952
so you can use it @mdo

It just feels weird not having the tables responsive though. font-size might be objective :)

It just feels weird not having the tables responsive though.

Oh sorry, oversight on my part. I'll revisit and update.

After we merge #31803, I can switch to responsive tables in this branch, assuming we no longer use raw HTML tables.

@mdo I rebased this and switched to responsive tables too. Needs a thorough review just in case I missed something in the rebase (we should also check the whole docs again for more instances).
Otherwise, I'd say we can proceed with this.

@ffoodd what's your take on this? Mostly the CSS stuff.
I say we land this as is and we migrate any missing components later, otherwise we'll have this hanging forever.

I think it needs some tweaks, e.g. the content table doesn't overflow properly and makes body overflow.
Not sure what happens for now.

I think it needs some tweaks, e.g. the content table doesn't overflow properly and makes body overflow.

Wasn't wrapped with .table-responsive.
Added some more, and wrapped these that use html customization inside.

Updated this with some new copy changes to clean up <br> usage in a few JS tables and redo the containers and contents tables in Markdown. There are now no more responsive tables in our docs not using the table shortcode.

Let's land this and revisit any remaining instances later :)


Visible delay after PickPhotoAsync

Bug Information
Version Number of Plugin:
3.0.1
Device Tested On:
Samsung Tab S2
Simulator Tested On:
Version of VS:
2017, latest update
Version of Xamarin:
latest
Steps to reproduce the Behavior
	var picture = await CrossMedia.Current.PickPhotoAsync( new PickMediaOptions{ CustomPhotoSize = 512 } );
	if ( picture != null )
		completionAction( picture );

Expected Behavior
Execution progresses to completionAction() right after media picker UI is closed
Actual Behavior
There is a visible delay - one or two seconds

@duzenko I do not have Samsung Tab to test it out, however I don't see an delay on Mobile devices.
Is it this specific to Tab 2? Do you see this behaviour on other devices too?

+1 I also have visible delay, after invoking PickPhotoAsync() and choosing picture in the UI, and the moment, while picture is choosen and the PickPhotoAsync() invoking is finished (when it moves to next line).
At chinese devices, like Meizu M2 Mini with Mediatek chipset, sometimes it tooks around 2-6 seconds.
After invoking PickPhotoAsync():
var mediaFile = await CrossMedia.Current.PickPhotoAsync();
and after choosing picture, and before this line of code is finished (which tooks as I said 2-6 seconds), there are some logs produced:
10-17 13:06:55.101 I/Choreographer(10011): Skipped 203 frames!  The application may be doing too much work on its main thread.
10-17 13:06:57.573 D/mali_winsys(10011): new_window_surface returns 0x3000
10-17 13:06:57.657 D/mali_winsys(10011): new_window_surface returns 0x3000
10-17 13:06:57.715 I/ExifInterface_JNI(10011): Raw image not detected
10-17 13:06:57.715 W/ExifInterface(10011): Skip the tag entry since tag number is not defined: 546
10-17 13:06:57.716 W/ExifInterface(10011): Skip the tag entry since tag number is not defined: 544
10-17 13:06:57.716 W/ExifInterface(10011): Skip the tag entry since tag number is not defined: 547
10-17 13:06:57.716 W/ExifInterface(10011): Skip the tag entry since tag number is not defined: 545
10-17 13:06:57.716 W/ExifInterface(10011): Skip the tag entry since tag number is not defined: 548
10-17 13:06:57.716 W/ExifInterface(10011): Skip the tag entry since tag number is not defined: 549
10-17 13:06:57.716 W/ExifInterface(10011): Skip the tag entry since tag number is not defined: 2
10-17 13:07:01.140 I/art     (10011): Starting a blocking GC Explicit
10-17 13:07:01.180 I/art     (10011): Explicit concurrent mark sweep GC freed 1240(37KB) AllocSpace objects, 0(0B) LOS objects, 13% free, 105MB/121MB, paused 674us total 39.725ms
10-17 13:07:01.184 D/Mono    (10011): GC_TAR_BRIDGE bridges 50 objects 68986 opaque 36790 colors 50 colors-bridged 50 colors-visible 50 xref 0 cache-hit 0 cache-semihit 0 cache-miss 0 setup 0.07ms tarjan 52.52ms scc-setup 0.06ms gather-xref 0.00ms xref-setup 0.00ms cleanup 2.30ms
10-17 13:07:01.184 D/Mono    (10011): GC_BRIDGE: Complete, was running for 44.40ms
10-17 13:07:01.184 D/Mono    (10011): GC_MINOR: (Nursery full) time 62.07ms, stw 62.76ms promoted 63K major size: 10112K in use: 7616K los size: 2048K in use: 282K
10-17 13:07:01.489 D/Mono    (10011): GC_TAR_BRIDGE bridges 0 objects 0 opaque 0 colors 0 colors-bridged 0 colors-visible 50 xref 0 cache-hit 0 cache-semihit 0 cache-miss 0 setup 0.07ms tarjan 52.52ms scc-setup 0.06ms gather-xref 0.00ms xref-setup 0.00ms cleanup 0.00ms
10-17 13:07:01.489 D/Mono    (10011): GC_BRIDGE: Complete, was running for 0.13ms
10-17 13:07:01.489 D/Mono    (10011): GC_MINOR: (Nursery full) time 2.04ms, stw 2.73ms promoted 0K major size: 10112K in use: 7616K los size: 2048K in use: 282K
10-17 13:07:01.823 D/Mono    (10011): GC_TAR_BRIDGE bridges 0 objects 0 opaque 0 colors 0 colors-bridged 0 colors-visible 50 xref 0 cache-hit 0 cache-semihit 0 cache-miss 0 setup 0.07ms tarjan 52.52ms scc-setup 0.06ms gather-xref 0.00ms xref-setup 0.00ms cleanup 0.00ms
10-17 13:07:01.823 D/Mono    (10011): GC_BRIDGE: Complete, was running for 0.13ms
10-17 13:07:01.823 D/Mono    (10011): GC_MINOR: (Nursery full) time 1.96ms, stw 2.63ms promoted 0K major size: 10112K in use: 7616K los size: 2048K in use: 282K
10-17 13:07:02.150 D/Mono    (10011): GC_TAR_BRIDGE bridges 0 objects 0 opaque 0 colors 0 colors-bridged 0 colors-visible 50 xref 0 cache-hit 0 cache-semihit 0 cache-miss 0 setup 0.07ms tarjan 52.52ms scc-setup 0.06ms gather-xref 0.00ms xref-setup 0.00ms cleanup 0.00ms
10-17 13:07:02.150 D/Mono    (10011): GC_BRIDGE: Complete, was running for 0.14ms
10-17 13:07:02.150 D/Mono    (10011): GC_MINOR: (Nursery full) time 2.04ms, stw 2.73ms promoted 0K major size: 10112K in use: 7616K los size: 2048K in use: 282K
10-17 13:07:02.487 D/Mono    (10011): GC_TAR_BRIDGE bridges 0 objects 0 opaque 0 colors 0 colors-bridged 0 colors-visible 50 xref 0 cache-hit 0 cache-semihit 0 cache-miss 0 setup 0.07ms tarjan 52.52ms scc-setup 0.06ms gather-xref 0.00ms xref-setup 0.00ms cleanup 0.00ms
10-17 13:07:02.487 D/Mono    (10011): GC_BRIDGE: Complete, was running for 0.13ms
10-17 13:07:02.487 D/Mono    (10011): GC_MINOR: (Nursery full) time 1.98ms, stw 2.64ms promoted 0K major size: 10112K in use: 7616K los size: 2048K in use: 282K
10-17 13:07:02.775 I/art     (10011): Starting a blocking GC Explicit
10-17 13:07:02.840 I/art     (10011): Explicit concurrent mark sweep GC freed 5174(150KB) AllocSpace objects, 2(99MB) LOS objects, 40% free, 6MB/10MB, paused 750us total 65.204ms
10-17 13:07:02.849 D/Mono    (10011): GC_TAR_BRIDGE bridges 492 objects 1842 opaque 457 colors 497 colors-bridged 487 colors-visible 487 xref 125 cache-hit 0 cache-semihit 0 cache-miss 10 setup 0.15ms tarjan 1.98ms scc-setup 0.21ms gather-xref 0.05ms xref-setup 0.02ms cleanup 0.23ms
10-17 13:07:02.849 D/Mono    (10011): GC_BRIDGE: Complete, was running for 78.62ms
10-17 13:07:02.849 D/Mono    (10011): GC_MAJOR: (user request) time 55.19ms, stw 57.33ms los size: 2048K in use: 194K
10-17 13:07:02.849 D/Mono    (10011): GC_MAJOR_SWEEP: major size: 10080K in use: 7460K

Can it be related to PickMediaOptions?
                var picture = await CrossMedia.Current.PickPhotoAsync( new PickMediaOptions { CustomPhotoSize = 512 } );

There are a lot of things happening here such as copying files, compressing files, etc, and that takes time.

I understand that, but why can't we make this async?

All of that work is done on the background. There are limitations on where and when files need to be transfered. Open to PRs if you want to try to optimize more.


Enable cached GET endpoint for authorized requests

Consequently, also add the auth header to the VARY header.
Also enable dropping of external tables.
Closes #300 and #323.

You might also consider adding the Cache-Control: private response header, which indicates that responses may be cached in local caches (e.g. the user's browser), but not in shared caches (e.g. Cloudflare).
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#response_directives
This would probably be more beneficial if Seafowl were using JWT for Authorization headers (since in that case, the Vary would Vary for the same user but different token). But it's also probably good practice in terms of security.
I guess it's a design decision (maybe should be configurable?) whether you want intermediate caches like Cloudflare to cache private content.

Here's the relevant Cloudflare documentation for how they treat this feature, including some (kind of confusing) information on their defaults:


Using the methods for a custom architecture

Hello! Thank you for the excellent work and examples, also really appreciate the time you've taken to respond to queries.
In this spirit, I attempted to implement the mechanism to understand a multi-modal architecture of https://github.com/facebookresearch/av_hubert which is necessarily frames of a video -> text (with an encoder which does video frames -> tokens and a decoder that takes this as input and provides words as output).
To summarize what I attempted to do, I took references from the CLIP example and saved the attention weights from the output projection, and then used the gradients to compute the grad-cam and work further.
But it did not work out as expected in the context of this problem. I have attached an example visualization of the output that I got.
So to potentially TL;DR my questions
(1) If I have a custom architecture which is not a straightforward classification task, what modifications do I need to make to incorporate the rules presented in the paper?
(2) are the 'attn_probs' the softmax attention output of each layer in the CLIP example (I assumed as such, but was not sure based on the code).
Example of the output I am getting

Thank you in advance!

Hi @SreeHarshaNelaturu, thanks for your interest!
(1) as most explainability methods, ours is focused on classification models, however it is possible to make adjustments in cases where the output can be interpreted similarly to classification scores (e.g. the CLIP similarity score can be viewed as a classification logit).
Could you please specify the output of your model, and what it means in the context of the inputs?
(2) indeed, the attention weights are extracted after the softmax layer.
best,
Hila.

Hello, thanks for the prompt response!
The input to the model is a set of video frames of shape (1, 1, 240, 88, 88) (Batch Size x Channels x Number of Frames x H x W). This is passed to an encoder model that provides tokens of shape (240, 1, 768).
Encoder first uses ResNet like encoder to generate embeddings which are then sent through transformer encoder layers.
This is then passed through a Transformer decoder which returns an output of shape (1, seq_len, vocab_size) (example: 1, 39, 1000) which are basically logits.
I assume this would fit the template as you described as more or less a classification problem if we perform greedy decoding on the final logits (top 1)?
The objective is to see how a predicted word maps to the set of frame (s) that led to its prediction.
Would appreciate any suggestion on how to proceed.
Thanks!

Happy to help :)
it sounds like the model you’re describing is more similar to the DETR case than the CLIP case. DETR too has a CNN backbone and then a Transformer encoder-decoder and outputs logits indicating which object is in the image.
The implementation of our rules for DETR can be found here and please refer to our colab notebook for examples.
I hope this helps, if I missed something from your description please let me know.

Hi! I am reading the colab notebook of DETR example, in definition of funtion 'evaluate', there seems to be some redundant codes generating 'conv_features, enc_attn_weights, dec_attn_weights'. These variables seem not to be used after being generated, but I felt they are supposed to be meaningful. Could you suggest how should I interpret those variables and clarify a little what's the original motivation of this piece of code? Many thanks!


What about implementing additional IoTHub direct methods for writing values to OPC nodes?

This could help to avoid the need for implementing a separate OPC UA client application for writing values to the OPC server(s).
best

This is a good idea, but beyond the functionality of OPC Publisher. Please check out: https://github.com/Azure/azure-iiot-opc-twin-service which allows you to use read/write/browse functionality and will be expanded with more features moving forward. This comes with a microservice, which can be used via its REST API.
Another option which allowed to use full OPC UA functionality is https://github.com/Azure/iot-edge-opc-proxy
This requires modification of the OPC UA transport as we showcased in Connected Factory: https://github.com/Azure/azure-iot-connected-factory


[Refactor] Set MetaContext to local thread in the updateMeta function(cherry-pick 2.3)

[FE Incremental Coverage Report]
:disappointed: fail : 1 / 4 (25.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/ExternalOlapTable.java
0
3
00.00%
[299, 303, 307]

:large_blue_circle:
com/starrocks/sql/analyzer/InsertAnalyzer.java
1
1
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 0 / 3 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/ExternalOlapTable.java
0
3
00.00%
[299, 303, 307]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 0 / 3 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/ExternalOlapTable.java
0
3
00.00%
[299, 303, 307]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:disappointed: fail : 0 / 3 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/ExternalOlapTable.java
0
3
00.00%
[299, 303, 307]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:heart_eyes: pass : 7 / 7 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/ExternalOlapTable.java
7
7
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)


Fix for segmentation fault caused by incorrect lambda capture in promise

I am experiencing an issue with a single worker thread pistache server, debug build. I am serving a simple web page. I connect to the web page and repeatedly press refresh (F5) on my browser (Firefox). After a couple of resets I get a segfault.
Looking through the call stack and after some analysis, it seems that there is a promise created that captures its local scope. In edge cases, the promise would resolve after the object was deleted. The internal "Core" shared pointer would be cleared and this would lead to the segmentation fault.
The trigger for this case is getting an EPIPE or ECONNRESET, which should probably not be issuing a response anyhow since the fd is broken.
I can see that lambdas capturing the entire local scope is common in the code base. I would suggest that you avoid doing so to avoid referencing invalidated objects.
Also the error case for the asyncWriteImpl code by default tries to respond to the remote with a failed write error, which seems counter intuitive since not being able to write to the remote is probably an indication that you can't send data to him any more. I think it would be better if you explicitly specified the cases where it makes sense to send the error as a response. However, since I do not have much experience with the code I opted to take the least drastic approach.

Codecov Report

Merging #636 into master will decrease coverage by 0.15%.
The diff coverage is 75%.

@@            Coverage Diff            @@
##           master    #636      +/-   ##
=========================================
- Coverage   71.06%   70.9%   -0.16%
=========================================
  Files          50      50
  Lines        7018    7019       +1
=========================================
- Hits         4987    4977      -10
- Misses       2031    2042      +11

Impacted Files
Coverage Δ

src/common/transport.cc
66.53% <0%> (ø)
:arrow_up:

include/pistache/async.h
91.39% <85.71%> (+0.02%)
:arrow_up:

src/client/client.cc
78.81% <0%> (-2.1%)
:arrow_down:

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 f0b86b0...582c04f. Read the comment docs.

Thank you for this bug fix, and your repro steps.

Pushed to unstable PPA.


linux-42 lost external connection from phone device.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
linux-42 lost external connection from phone device.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Rebooting the phone device to restore connection.


goreleaser remove/update old options

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


Can't find variable: JSIContacts

when calling getContactsAsync() this happens -- I'm trying iOS only for now.

oh, I only did Android for now.

You need to tell this in the readme


[BUG] Information disclosure of custom headers when checking for last feroxbuster version :

Describe the bug
Feroxbuster passes the user's custom headers to requests when checking if Feroxbuster is the latest version. This could lead to sensitive information disclosure, as cookies, JWTs, or HTTP auth tokens might be passed during fuzzing.
To Reproduce
Steps to reproduce the behavior:

Run : feroxbuster -u https://SuperSecretWebsite.com/ -w <(echo "Henlo :3") -H "Authorization: Basic SuperSecretPassword\!" --proxy <IP_ADDRESS>:8080 -k
Check the request made to : api.github.com/repos/epi052/feroxbuster/releases/latest and look for headers

Expected behavior
Please, is it possible to remove the custom headers in all requests that are not in scope/
Environment (please complete the following information):

feroxbuster version: 2.10.0
OS : Arch linux 6.9.6-arch1-1

Bug Proof

PS : Luv your tool <3

thanks for this!
I thought we had removed headers from the version check already :disappointed:
ill take a look

ok, i'm not crazy, lol. This was fixed in 2.10.2. If you grab 2.10.4 (or any release >= 2.10.2), you shouldn't see this issue.
closing for now. if the updated version doesn't fix it, please reopen

Woops ! My bad !
Next time I'll check for the latest version :wink: .


flake8 cleanup

Codecov Report

Merging #2371 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #2371   +/-   ##
=======================================
  Coverage   79.62%   79.62%
=======================================
  Files          85       85
  Lines        8892     8892
  Branches     1899     1899
=======================================
  Hits         7080     7080
  Misses       1551     1551
  Partials      261      261

Impacted Files
Coverage Δ

webapp/graphite/render/evaluator.py
100% <100%> (ø)
:arrow_up:

webapp/graphite/render/functions.py
96.22% <100%> (ø)
:arrow_up:

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 183cfca...0f30228. Read the comment docs.


access the normalization numbers from workspace

Hi,
I'm not sure whether this is the right forum to discuss this, otherwise please point me.
I was trying to extract the signal normalization numbers from the file "MaxLikelihoodFitResult.root" which is produced by combine with option maxlikelihoodfit. The file can be accessed from [1]. I don't get the right way to access and print these numbers. I use a python script with the following contents[2] for printing these numbers but it seems to be not working. Could you please tell me what's wrong ?
[1] /afs/cern.ch/work/n/nsahoo/public/MaxLikelihoodFitResult.root
[2]
import ROOT
import sys
Load library with combine classes
ROOT.gSystem.Load('$CMSSW_BASE/lib/slc6_amd64_gcc491/libHiggsAnalysisCombinedLimit.so')
Open file with data histograms and templates
f = ROOT.TFile("../outDir_MILANO_v3_split480/CombinedCard_Node_SM/MaxLikelihoodFitResult.root")
w = ROOT.RooWorkspace("MaxLikelihoodFitResult")
###w.Print()
n1 = ROOT.ProcessNormalization("n_exp_binch1_cat2_proc_Sig","",1.0)
n2 = ROOT.ProcessNormalization("n_exp_binch1_cat3_proc_Sig","",1.0)
n3 = ROOT.ProcessNormalization("n_exp_binch2_cat0_proc_Sig","",1.0)
n4 = ROOT.ProcessNormalization("n_exp_binch2_cat1_proc_Sig","",1.0)
print "%.2f" % n1
print "%.2f" % n2
print "%.2f" % n3
print "%.2f" % n4

Hi all,
this issue is now resolved.


Error on exit

I have this code:
daemon = Daemonize(
    app="Encoder",
    pid=pid_file,
    action=self.__daemonize,
    foreground=False if self.env == 'production' else True,
    logger=logging
)
daemon.start()

And in the exit handler for the process (when someone either hits ctrl-c or run the stop process):
with open(pid_file, 'r') as content_file:
    pid = content_file.read()
os.kill(int(pid), signal.SIGTERM)

That works ok, but when it exists (although it executes everything ok) I see this error:
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/daemonize.py", line 71, in exit
    os.remove(self.pid)
FileNotFoundError: [Errno 2] No such file or directory: '/var/run/encoder.pid'

Reading the code, I see this:
        signal.signal(signal.SIGTERM, self.sigterm)
        atexit.register(self.exit)

And that has this:
    def sigterm(self, signum, frame):
        """
        These actions will be done after SIGTERM.
        """
        self.logger.warn("Caught signal %s. Stopping daemon." % signum)
        os.remove(self.pid)
        sys.exit(0)

    def exit(self):
        """
        Cleanup pid file at exit.
        """
        self.logger.warn("Stopping daemon.")
        os.remove(self.pid)
        sys.exit(0)

If I understand the code correctly, that will try to delete the pid file twice, is that right? Am I doing something wrong?

1 - sys.exit(0) makes the python application terminates. I think you confusing it with the exit(self).
2 - did you checked that the encoder.pid is being created? If it's created than something else is removing it before you can reach the sigterm or exit handlers

The PID is created, and it is deleted. I debug the app, and it is deleted at sigterm method.   Anyways just insert on your build:
try:
    os.remove(self.pid)
except OSError:
    print('pid file already removed')

Hey @citosid
Could you try your thing with the lastest code from master or 2.4.3 release from PyPI?

Thank you. Will test.


Import colorjoe using 'import' keyword

Is it possible to import colorjoe using 'import' keyword?
I tried importing its all contents using:
import * as colorjoe from 'colorjoe';
and as default:
import colorjoe from 'colorjoe';
but it did not work
Actually I get TypeError: Cannot set properties of undefined (setting 'colorjoe')

Can you provide a simple reproduction (i.e. with Node version etc.)?
I think the problem is that the library was written before ES2018 existed and it has been packaged within a UMD wrapper. To solve, we would have to extend rollup configuration and likely leverage the module field.
A PR would be highly welcome as I don't maintain the package actively anymore and many options have showed up. If I was writing it now, likely I would do composition differently etc. although the core idea of using CSS for gradients is solid.


relative vs. absolute mouse position for elementFromPoint for usemap

We love this plugin, and are using it in the middle of a page, after a banner, menu bar, etc.
We found that the image map was not getting clicks like we'd expect.
I changed the lines in this block:
"$container.click(function(e) {
// Trigger click on image below lens at current cursor position"
to use clientX and clientY vs. pageX and pageY, and that solved the problem.
I wasn't too familiar with this but this note was helpful: http://www.zehnet.de/2010/11/19/document-elementfrompoint-a-jquery-solution/ .
Thank you!

Thank you for this. I will test and implement your change in the next minor release :+1:


As a student with many group projects, I want to be able to import and export shared text files.

not implementing


[ trivial ] Fix typo

Found duplicated TC name while creating GPU unittest cases, and this makes unittest build to fail
CC : @yashSingh0723

Resolves:
[arm64-v8a] Executable     : unittest_layers
ld: error: duplicate symbol: addition_w16a16
...
defined at unittest_layers_addition.cpp:33 (../unittest/layers/unittest_layers_addition.cpp:33)
...
defined at unittest_layers_addition_cl.cpp:47 (../unittest/layers/unittest_layers_addition_cl.cpp:47)
...
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

Self evaluation:

Build test:     [X]Passed [ ]Failed [ ]Skipped
Run test:     [X]Passed [ ]Failed [ ]Skipped

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2652. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


Bump Dependencies #9740930901

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/9740930901

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


fail complex type 'serde' registration when registered type does not match expected type

Resolves #7959
Description
This PR modifies the behavior of ComplexMetrics.registerSerde to ensure that when a ComplexMetricSerde is already registered to a type string, that the existing type is the expected type. This is done to confirm that the usages of complex type strings is a unique mapping to ComplexMetricSerde implementations, and triggering a failure otherwise. This is a change of the current behavior, which silently ignores registration when a ComplexMetricSerde is already registered to a type.
This is done mechanically by passing the class of the registered ComplexMetricSerde type into the registration function. Perhaps there is a more elegant way to do this?

This PR has:

[x] been self-reviewed.
[x] added unit tests or modified existing tests to cover new code paths.

@himanshug any additional comments on this?

LGTM now


Put Includes section after Run section

Issue link
https://github.com/networkservicemesh/deployments-k8s/issues/9644
How Has This Been Tested?

[ ] Added unit testing to cover
[ ] Tested manually
[ ] Tested by integration testing
[x] Have not tested

Types of changes

[ ] Bug fix
[ ] New functionality
[ ] Documentation
[x] Refactoring
[ ] CI

@NikitaSkrynnik Could you please resolve conflicts?


error on start

Hi,
I use audio-recorder-polyfill in an angular application.
I have this routine:
    navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
      this.recorder = new window.MediaRecorder(stream)
      this.recorder.addEventListener('dataavailable', e => {
        //audio.src = URL.createObjectURL(e.data)
      })
      this.recorder.start()
    })

But when it is executed I have this error:
TypeError: Argument 1 ('event') to EventTarget.dispatchEvent must be an instance of Event dispatchEvent

I don't understand what it wants.
I load the polyfill on the Init event.
  public loadScript() {
    this.polyfill = true;
    let body = <HTMLDivElement>document.body;
    let script = document.createElement('script');
    script.innerHTML = '';
    script.src = '/assets/vendor/recorder_polyfill.js';
    script.async = true;
    script.defer = true;
    body.appendChild(script);
  }

  ngOnInit() {
    if (!window.MediaRecorder) {
      this.loadScript();
    }

Tnx

What browser do you use? Does demo works in this browser?

Hi ai,
no problem. I will use https://github.com/danielstorey/WebAudioTrack.
Your demo doens't work in Safari. The audio is dirty.


[Feature] Add a new issue form to add Category/Subcategory

Description
I recently worked on updating the contributing guidelines, specifically separating the category and links sections.
Now, I would like to add a new issue form specifically for adding categories. Rest assured, I will maintain the same style and use appropriate labels.
You can check out my work on GitHub issue forms in this pull request: https://github.com/dailydotdev/daily/pull/864. It demonstrates my familiarity with the concept and implementation.
Fields
The new issue form will include the following fields:

Category name (this could be an option, but when adding a new category, we'll need two fields to record the name)
Subcategory name
I'll also include a checklist to verify if the category already exists and other mandatory requirements.

Let me know if there's anything else you'd like me to consider or if you have any further questions.
Screenshots
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

Hey, I reviewed your daily.dev PR @Anmol-Baranwal small world! :) Anywho, that would be great! :)

Hey, I reviewed your daily.dev PR @Anmol-Baranwal small world! :) Anywho, that would be great! :)

I know, I just realized before submitting the issue, and I found it hilarious :)
Also, I wanted to ask if you would like to add Markdown to be displayed as a language in the repository. That way, I could create another issue. I don't want to create and close it without a purpose.

Hey, I reviewed your daily.dev PR @Anmol-Baranwal small world! :) Anywho, that would be great! :)

I know, I just realized before submitting the issue, and I found it hilarious :)
Also, I wanted to ask if you would like to add Markdown to be displayed as a language in the repository. That way, I could create another issue. I don't want to create and close it without a purpose.

Sure @Anmol-Baranwal! :) I'm currently working on the template and used your daily.dev contribution as an inspiration. You can add it when I make the PR. Are you ok with this?

Hey, I reviewed your daily.dev PR @Anmol-Baranwal small world! :) Anywho, that would be great! :)

I know, I just realized before submitting the issue, and I found it hilarious :)
Also, I wanted to ask if you would like to add Markdown to be displayed as a language in the repository. That way, I could create another issue. I don't want to create and close it without a purpose.

Sure @Anmol-Baranwal! :) I'm currently working on the template and used your daily.dev contribution as an inspiration. You can add it when I make the PR. Are you ok with this?

Sure.

Hey, I reviewed your daily.dev PR @Anmol-Baranwal small world! :) Anywho, that would be great! :)

I know, I just realized before submitting the issue, and I found it hilarious :)
Also, I wanted to ask if you would like to add Markdown to be displayed as a language in the repository. That way, I could create another issue. I don't want to create and close it without a purpose.

Sure @Anmol-Baranwal! :) I'm currently working on the template and used your daily.dev contribution as an inspiration. You can add it when I make the PR. Are you ok with this?

@CBID2 So, do I need to work on this? How will I add the changes?

Refer to step 5 in this article


Add validation to disallow creating negative rates

Add validation to disallow creating negative tax rates in API.
Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-6391 Simple taxes


Can't open links in Gmail (popup blocker)

Describe the bug
When i left click on a link in gmail, i have a popup telling me that i may have a popup blocker thus not to been able to open the browser.
I can however right click on the link, select 'open link in browser' in the context menu and the default browser open (or 'copy link' and past it directly in my browser)
To Reproduce
click on a link in any mail in gmail

Go to a mail
Click on a link
See error

Expected behavior
open the page in my default browser
Screenshots

Desktop (please complete the following information):

OS: Win 10 pro
Browser : Ferdi
Version : 5.4.0

Additional context
I have this bug since the auth problem cited in #264 and made the change on my UA witch is now
module.exports = Franz =>   class Gmail extends Franz {     overrideUserAgent() {       return 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0';     }   };
But the problem happen even with every other UA provided in #264
I do not have any problems with other services (left click open the browser normaly

I switched today from Franz and experience the same issue. I also had the same login problem and had to change the user agent string. I have 2 Gmail services and both have this problem. Happy to provide more info if need be.

i just fixed my issue by switching the user agent string again, this time to:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
(which is what my current chrome is sending out).
Then I restarted Ferdi, just to make sure (seems like reloading multiple times may or may not shield success, so I just restart it when I change a recipe)

@mokipedia worked for me as well. Thanks!

The User agent changes will also be shipped with Ferdi 5.4.4 automatically - so you won't have to change that manually.

@mokipedia worked for me as well. Thanks!

Linking to https://github.com/getferdi/ferdi/issues/264 for reference.

As mentioned in #264, I am having this issue now after installing  and reinstalling 5.4.4.
I did not notice it happening until this last week, around the same time I upgraded to Mac OS 10.15.3.

I'm also experiencing this.

My fix still works, as gmail seems to not like firefox too much. However Franz' fix for dynamic chrome version looks promising (beta)

Updated to 5.5.0-gm today and the service reloaded. Having the same problem again.
Fix from above still works though.

I'm also having the same issue. I had it with 5.4 betas, as well as the 5.5.0-gmx, and still now the the official 5.5.0

workaround: Control + click (or whatever equivalent is on osX) will open the link in a browser with no issues.

Same issue here!

I have the same issue.

I had the same issue on Ubuntu 18.04.4 LTS running installed version ferdi_5.5.0_amd64.deb.
Changing the code in ~/.config/Ferdi/recipes/gmail/index.js to the following fixes my issue (the new useragent is the once used by chromium).
var os = require('os')

module.exports = Franz =>
  class Gmail extends Franz {
    overrideUserAgent() {
      return "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/80.0.3987.163 Chrome/80.0.3987.163 Safari/537.36";
    }
  };

Just upgraded to latest 5.5.0 on macOS 10.14.6 - still happening on gmail - fix above works, but thought this was going to be released as standard from 5.4.4 ?

Using:

For those using Windows, the same fix works, but it is a different location and a slightly different file:
Location:
C:\Users[your user here]\AppData\Roaming\Ferdi\recipes\gmail
File:
var os = require('os')
module.exports = Franz =>
class Gmail extends Franz {
overrideUserAgent() {
if (os.platform() == 'linux')
return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"
else
return "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/80.0.3987.163 Chrome/80.0.3987.163 Safari/537.36";
}
};

Thank @ray-odoo. That fixed it for me on Windows, running v5.5.0.

Yep 5.5.0 on Linux, still having the issue. Is there a plan to fix it in the next release, so non tech people, who can't follow the workaround patch benefit from it as well?

I have pushed a fix in the recipes which can be viewed here https://github.com/getferdi/recipes/pull/194
. Till the PR gets merged, replace the recipe's index.js file with this

Still an issue on Ferdi 5.5.0 on Mac. Non tech savvy dumlock here hoping this gets fixed in the normal release asap.

Have the same problem, too. Mac with Catalina 10.15.5 (19F101) and Ferdi Version 5.5.0 (<IP_ADDRESS>6).

Same problem here. Catalina and last Ferdi version.

Same issue here (Ferdi 5.5.0 on Ubuntu 20.04), although pressing and holding ctrl while clicking open the link.

Same problem as others. Win10, ctrl-click opens these for me though.
Using the proposed fix seems to work, too

The solution posted by @boekkooi-fresh (Linux) and @ray-odoo (Windows) is also working for Mac.👍
On Mac, the path for the file is: /Users/$USER/Library/Application Support/Ferdi/recipes/gmail/index.js
var os = require('os')

module.exports = Franz =>
  class Gmail extends Franz {
    overrideUserAgent() {
      if (os.platform() == 'linux')
        return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"
      else
         return "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/80.0.3987.163 Chrome/80.0.3987.163 Safari/537.36";
    }
  };

For me, using the solution posted above broke keyboard shortcuts while composing emails in Gmail. A working fix for me, is below.
var os = require('os')

module.exports = Franz =>
  class Gmail extends Franz {
    overrideUserAgent() {
      if (os.platform() == 'linux')
        return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"
      else
        return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
        // original
        // return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0";
    }
  };

My guess is that by adding in X11; Linux x64_64, Gmail binds shortcuts to Ctrl instead of Cmd.

Mac 5.5.0, I get the "Grrr" alert on Gmail links. I will try the patch mentioned above.

5.6.0-beta.2 on Mac, Gmail links open in a popup, with or without the patch from @carsondarling
My preference would be for links to open in my default browser.

5.6.0-beta.2 on Mac, Gmail links open in a popup, with or without the patch from @carsondarling
My preference would be for links to open in my default browser.
Not related to this bug, see #842

I'm running into this too on 5.5.1. I don't want to deal with patching all of my services manually (I use 6 different gmails and gcalendars and google keeps etc) so I'll switch back to Franz for now. Hopefully this is fixed soon!

Hi @aphexcx, understandable. However you patch the recipe, not the service. So 1 change per type (gmail, gcal, keep) and then restart ferdi should do it.

Not sure if #942 is a duplicate. I only experience the popup error when clicking the print or new window icon in Gmail. None of the workarounds here resolve it.

I'm getting this error as well on version 5.5.0 .. Mac Catalina.

@carsondarling's solution fixed the problem for me on macOS Catalina, Ferdi 5.5.0.
It also fixed another very weird issue I was having: when typing a message in Gmail using my external Bluetooth keyboard, pressing the Command key (labeled Alt on the keyboard, but configured on my system to act as Command) would indent the text, which made it impossible to copy/paste or to even switch applications without messing up the message. When using the laptop keyboard, everything worked fine. With the change suggested above, this problem is also gone, to my great relief :)

Hi! Is there a solution to be able to click links on latest MacOS and Windows (10) ? I can't figure out anything else than copying of the links to chrome... which breaks usability.

Is anyone actively working on a fix for this issue?

@nevvkid @jottr in the meantime, you could try @carsondarling's workaround posted above. It completely fixed the problem for me: https://github.com/getferdi/ferdi/issues/321#issuecomment-668207379

Thanks @zzamboni.
I'd like to squash this bug for good - before I start working on a fix, I'd like to know if someone else is already working on one.

@jottr I was working on this previously. I shall take this up if you haven't started

This happened again to me on Linux with Ferdi 5.5.0.
Changing the string user agent string to Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36 fixed the issue (for now):
var os = require('os')

module.exports = Franz =>
  class Gmail extends Franz {
    overrideUserAgent() {
      if (os.platform() == 'linux')
          return "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36"
      else
        return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
        // original
        // return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0";
    }
  };

https://github.com/getferdi/recipes/pull/194, which should have fixed this issue, was released with Ferdi 5.6.0-beta.3 or above. We will hopefully release 5.6.0 soon so this fix will be shipped with it.

Hi,
I'm sorry, but beside having the issue everyone is describing, I have no idea where this code has to be put.
I did try to google, but I don't know where to start as it is unclear to me if I have to put the code in Ferdi or in Chrome.
Can anyone please explain or maybe give a proper link?
Hopefully this might help others, too. tnx!

Hi @heysimo,
it is fairly easy to understand once you get the hang of it:

Ferdi is an electron app, which is basically a Chrome wrapper inside a Windows / Mac / Linux Application.
Ferdi is written in Javascript and you can read and edit its files. For your purposes, you want to edit a 'recipe', which is basically a sort of configuration file(s) for each service Ferdi knows.
They are found, depending on your OS here:

Mac: ~/Library/Application Support/Ferdi/recipes/
Windows: %appdata%/Ferdi/recipes/
Linux: ~/.config/Ferdi/recipes/

In this folder, you will find recipes for gmail, whatsapp and more. Go to the recipe you want to edit and look at the JavaScript files you see there (should be 2).

index.js -> includes transformations and configs for the service itself, like user-agent, ... (This is the file you are looking for)
webview.js -> hooks into the content of the service itself, like gmail and whatsapp and adds functionality like: link behavior, unread count in Franz/Ferdi, adds css if wanted, ..

Hi @heysimo,
it is fairly easy to understand once you get the hang of it:

Ferdi is an electron app, which is basically a Chromium wrapper inside a Windows / Mac / Linux application. It has nothing to do with Chrome Browser, other than they both use Chromium to run JS and Render Websites under the hood.

Ferdi is written in Javascript and you can read and edit its files. For your purposes, you want to edit a 'recipe', which is basically a sort of configuration file(s) for each service Ferdi knows.

They are found, depending on your OS here:

Mac: ~/Library/Application Support/Ferdi/recipes/
Windows: %appdata%/Ferdi/recipes/
Linux: ~/.config/Ferdi/recipes/

In this folder, you will find recipes for gmail, whatsapp and more. Go to the recipe you want to edit and look at the JavaScript files you see there (should be 2).

index.js -> includes transformations and configs for the service itself, like user-agent, ... (This is the file you are looking for)
webview.js -> hooks into the content of the service itself, like gmail and whatsapp and adds functionality like: link behavior, unread count in Franz/Ferdi, adds css if wanted, ..
there are other files in there too, you can read about more it, for example here (googled it): https://blog.jakelee.co.uk/super-simple-guide-to-adding-a-new-ferdi-service-recipe/

Can't thank you enough, really.
Fixed the issue straight away.
Amazing!

I just found out the below code to fix the popup blocker issue.
var os = require('os')
module.exports = Franz =>
class Gmail extends Franz {
overrideUserAgent() {
if (os.platform() == 'linux')
return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"
else
return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
// original
// return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0";
}
};

I just found out the below code to fix the popup blocker issue.
var os = require('os')
module.exports = Franz =>
class Gmail extends Franz {
overrideUserAgent() {
if (os.platform() == 'linux')
return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"
else
return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
// original
// return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0";
}
};

Same problem here on 5.5.0 for Mac. @carsondarling 's fix worked great though, so thanks !

Same problem here on 5.5.0 for Linux.

Same problem here on 5.5.0 for Linux.

Using the 5.6.0 beta 5 here on Ubuntu.
Left click doesn't do anything.
Middle click, and CTRL click works, but hey, that's a workaround, not a solution.

To be honest, this is a show stopper for me. I just installed it and added gmail and slack and both plugins do not work out of the box. To be honest I do not really care about the mentioned workarounds here. Why is that not yet fixed? This bug is more then one year old.

To be honest, this is a show stopper for me. I just installed it and added gmail and slack and both plugins do not work out of the box. To be honest I do not really care about the mentioned workarounds here. Why is that not yet fixed? This bug is more then one year old.

I switched to Franz, and supported them with a paid account. At least clicking a link works :wink:

To be honest, this is a show stopper for me. I just installed it and added gmail and slack and both plugins do not work out of the box. To be honest I do not really care about the mentioned workarounds here. Why is that not yet fixed? This bug is more then one year old.

Can only agree. I would use the app, but not having such simple features working is a blocker.
The issue is over a year old and the last stable release a year ago. The project seems active, so I'll keep an eye on it.

I’ve also moved away from Ferdi because mailto-link handling has been broken on most services.
This is a serious UX bug.

To circumvent this, i am actually doing a right click. This gives me the open to press "open link" this opens the link in my default browser(firefox)

Same issue for me and listed solutions are beyond my technical skills -- will this be fixed in an update? I'm running 5.5.0
I'm in the same boat as many commenters here -- I am constantly needing to click links in my gmail and other services so need this to work out of the box or have  a simple, non-coding solution.

Given that this is apparently fixable, as shown above, but has continued to be an unaddressed issue for well over a year, I think it's safe to say Ferdi isn't really getting the attention it needs.
Is the project effectively dead / unmaintained?

I'm sure people would be willing to help by creating a PR with a fix.
The core team just needs to get involved in the discussion a provide some guidance and become more responsive.
Why should I spend my time working on a fix, if I won't even know if my PR will get accepted/merged?

Hit the same problem. I'm fine editing config files, but  ~/.config/Ferdi/recipes/gmail/index.js doesn't exist for me. There's no ~/.config/Ferdi at all in fact. Could the config directory have been moved in a recent update?

@fredcallaway - please see the location based on your OS in this section.

I'm sure people would be willing to help by creating a PR with a fix.
The core team just needs to get involved in the discussion a provide some guidance and become more responsive.
Why should I spend my time working on a fix, if I won't even know if my PR will get accepted/merged?

@jottr - Please call out for help in the gitter channel (link in the badges section in README.md. I have just joined the contributors list a month ago - and I found at least a couple of contributors quite responsive over there.

Using:

For those using Windows, the same fix works, but it is a different location and the contents of the file are slightly different:
Location:
C:\Users[your user here]\AppData\Roaming\Ferdi\recipes\gmail
File:
var os = require('os')
module.exports = Franz =>
  class Gmail extends Franz {
    overrideUserAgent() {
      if (os.platform() == 'linux')
        return "Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"
      else
        return "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/80.0.3987.163 Chrome/80.0.3987.163 Safari/537.36";
    }
  };

(change the SECOND return line to match what is above - the code above is the file AFTER I made the changes).

Thanks so much @ray-odoo ! This still working on v5.5.0 for Windows.

https://github.com/getferdi/ferdi/issues/321#issuecomment-668207379 worked for me too. It seems like that has worked for a lot of people, so I wonder if the fix is as simple as pasting that snippet into master? Or would/could this break things for people who it works for now?

This is now fixed by https://github.com/getferdi/ferdi/pull/1474 - which has just been merged! Please pull and rebuild from source, or wait for tonight's nightly build.

The nightly build is now opening clicked links in some kind of internal browser, rather than the system default browser.
Is there a way to change this behavior? I have not found one via the settings.

@vraravam I don't consider this issue fixed. Links are opened in Ferdi window instead of the Desktop browser.
It's nice that we have #1474 as a temporary workaround, but this is not a solution that warrants closing this issue.
Please reopen.

@jottr - i have reopened the issue. But, I don't find a solution that'll work for all usecases. Let me describe:
I have signed up for gmail as a service within Ferdi. I get an email which has a link. In the web view, I also see links for the different tags/folders that I have in my gmail account. On the top right, I see the settings gear icon and some more links that allow me to manage my account and navigate to the other services like gDrive, gCalendar, etc. All of these are links (including the ones that appeared within the email that I am previewing), but there's no consistent way to handle the behavior when the user clicks on any of them. Google, classifies them as:

links that need to open in the same view
links that need to open in a new browser window/tab.

Now, one might say that any links (a href) that have a target attribute can be opened in a new browser window, whereas ones that don't, could be opened within Ferdi. If so, that person would be only partially correct: there are some services that also differentiate between target=_blank vs target=new vs target=blank, etc.
We are faced with a dilemma here - a single solution that works consistently across all supported services - this is not possible with the volunteering that we do now. IF you or anyone can come up with a simple enough strategy - and help implementing it, we would really appreciate it.

Hi all,
I'm on Ubuntu and have been having this issue for as long as I can remember. Right click and Open Link works, however.
Is it possible to just swap (or have an option in the settings to swap) the command that runs with right click Open Link, with the current left click command?
That'd solve all my problems!

@adamlove86 - as I have described above, the problem is that each website treats links differently with/without target attribute AND different values for this attribute if its present. On top of that, the users of Ferdi are themselves split on the default behavior.
I think your suggestion is quite valid (in fact I have been thinking along the same lines - have a simple dropdown in the preferences, and allow the user to choose the default behavior of left-clicking on links).
We can take this under consideration for the next major release of ferdi, but atm, we are trying to release the next beta version asap.

Works good for me with 5.6.4-nightly.12 on macOS Big Sur


Altcha-Widget stuck at "requesting server verification from"

Hello,
i have setup an express server with own apikey etc. for Altcha-Widget. Without the "verifyurl=" it works normally, then i tried to add server verification, but it stucks at the request. Now i sit here for many hours and can´t find a solution.
my code for the validation:
`app.post('/validate_challenge', async (req, res) => {
logger.info('validate_challenge endpoint hit');
// Decode the Base64 payload and parse the JSON
const payload = JSON.parse(Buffer.from(req.body, 'base64').toString('utf8'));
if (!payload || !payload.challenge) {
logger.warn('Invalid request: Missing payload or challenge');
return res.status(400).json({ error: 'Invalid request' });
}
// Validate algorithm
const alg_ok = payload.algorithm === 'SHA-256';
// Validate challenge
const challenge = crypto.createHash('sha256').update(payload.salt + payload.number).digest('hex');
const challenge_ok = payload.challenge === challenge;
// Validate signature
const signature = crypto.createHmac('sha256', hmacKey).update(payload.challenge).digest('hex');
const signature_ok = payload.signature === signature;
// Validate expiration time
const expires_ok = new Date() < new Date(payload.expires);
// Consider the request verified if all checks are true
const verified = alg_ok && challenge_ok && signature_ok && expires_ok;
if (!verified) {
return res.status(400).json({ error: 'Invalid ALTCHA solution' });
}
logger.info('Solution verified successfully');
res.set('Content-Type', 'application/json'); // Set the 'Content-Type' header
res.set('X-Verified', JSON.stringify({ verified: true })); // Send a response when the solution is verified successfully
return res.status(200).send();
});`

Hi,
if you're using the SpamFilter with the API at eu.altcha.org or us.altcha.org, the payload received for verification changes - you no longer verify the challenge, that's done by the Spam Filter, you only verify the response from the API. This is documented here: https://altcha.org/docs/api/challenge-api/#server-verification
In short, instead of validating the challenge, you only verify the signature, where hmac_key is the secret part of the API key (csec_...):
// calculate SHA hash of the `verificationData`, unparsed, as they appear in the payload:
hash = sha2_hex(payload.verificationData);

// calculate HMAC signature
signature = hmac_sha2_hex(hash, hmac_key);


Flutter/Material 3: AppBar ignores icon themes

In my AppBar the title is displayed with white text, but the icons are a dark grey or something. I Would like to have the icons white, too.
But the colors in the icon themes have no effect!
Not when added directly to the AppBar and also not in the theme itself.
//Full example
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        useMaterial3: true,
        colorScheme: ColorScheme.fromSeed(
          brightness: Brightness.light,
          seedColor: Colors.blue,
          primary: Colors.blue,
        ),

        appBarTheme: const AppBarTheme(
          backgroundColor: Colors.blue,
          foregroundColor: Colors.white,
          actionsIconTheme: IconThemeData(color: Colors.white),
          iconTheme: IconThemeData(color: Colors.white),
        ),
      ),

      debugShowCheckedModeBanner: false,

      home: Scaffold(
        appBar: AppBar(
          actionsIconTheme: const IconThemeData(color: Colors.white),
          iconTheme: const IconThemeData(color: Colors.white),
          title: const Text('Home'),
          actions: [
            IconButton(
              icon: const Icon(Icons.menu),
              onPressed: () {},
            ),
          ],
        ),
      ),
    );
  }
}

Note: This is a Material 3 problem! In Material 2 everything works as expected!

Demo

Hi @ApenDev, this issue seems to have been fixed on the master channel as I cannot reproduce it there. See the demo below.

Demo

stable
master

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.1, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.3.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4f9d92fbbd (31 hours ago), 2022-09-06 17:54:53 -0700
    • Engine revision 3efdf03e73
    • Dart version 2.18.0
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.4.0-19.0.pre.192, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.4.0-19.0.pre.192 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4930444f4a (2 days ago), 2022-09-09 21:58:23 -0400
    • Engine revision f72107f457
    • Dart version 2.19.0 (build 2.19.0-183.0.dev)
    • DevTools version 2.17.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 105.0.5195.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

I'll be closing this issue since it has already been fixed on the master channel.
If you still experience this issue on the master channel, kindly leave a comment below and I will reopen this.
Thank you!