Encode int as string

Support:
model Foo {
  @encode("string")
  x: int
}

### TypeSpec
- [ ] https://github.com/microsoft/typespec/issues/3856

### Spec
- [ ] https://github.com/Azure/cadl-ranch/issues/634
- [ ] https://github.com/Azure/typespec-azure/issues/1177

### Implementation
- [ ] https://github.com/Azure/typespec-azure/issues/1178
- [ ] https://github.com/Azure/autorest.python/issues/2703
- [ ] https://github.com/Azure/autorest.java/issues/2863
- [ ] https://github.com/Azure/autorest.typescript/issues/2676
- [ ] https://github.com/Azure/autorest.csharp/issues/4919
- [ ] https://github.com/Azure/autorest.go/issues/1402
- [ ] https://github.com/Azure/autorest.cpp/issues/364
- [ ] https://github.com/Azure/autorest.rust/issues/47

Hey @lmazuel , in the past, we encountered similar issue where a property was defined as a string, but its value was in an integer format. We requested the service team to correct the Swagger spec, as this was identified as a definition bug. Why are we now considering this a feature for TypeSpec?

one use case is representing int64 without loosing precision(for JS)

Below discussion is on the condition that emitter is to support a general feature.
Please let dev know whether we have such requirement, besides that Batch bug (where backend should send an int, but instead send a string and cannot fix that due to backward-compatibility requirement).
For the Batch bug, I'd recommend Batch service write contentLength: string in typespec, as they do return it as a JSON string (spec is wrong because typespec is wrong). Service could do customization for SDK on the getter of the property.

The full typespec would be
model Foo {
  @encode("string", string)
  x: int64;
}

Question:

Do we only allow the 2nd parameter to be string for this use case? That is, we only allow client conversion from basic scalar type to string type.
Or do we also allow e.g. @encode("float", float64) x: int32;
We probably want a lint rule to avoid service write arbitrary scalar conversion like @encode("string", url) x: int32;
Do we have a better name at @encode("string", )? E.g. on date-time, we write @encode("rfc7231"), which is very clear, that it is date-time encoded as rfc7231 text.

A few proposals, of different scope of support

Only allow @encode("string", string) x: int64 and @encode("string", string) decimal (include decimal128). Reason: certain language may not able to process these types (e.g. JS can only process safeint which is smaller than int64). Lint rule (in typespec-azure-core) to disallow all other options.
Allow wire type be string, and client type be basic scalar. Reason: a float32 can always be represented as a string (however there could be multiple ways of such representation, e.g, "1.0" vs "+1.00", and backend must accept all of them as equivalent if the property is used as input), but not vice versa.
Allow wire type be any basic scalar, and client type too. If in runtime, a "string" on wire cannot be converted to "int32" on client, throw exception.

PS: by "basic scalar", I include "numeric types", "string", "boolean" from built-in-types

In the general use cases, most often the numbers we are talking about would fit well inside a double's range and precision.

With above assumption, JS decided to use number to represent decimal(see decision). So if service team really cares about the precision loss, it would be recommanded to use @encode (typespec issue).
With encode with int epic, do we have similar scenario where we really care about precision or some other reasons? Actually we have lots of definition for "type": "integer", "format": "int64" in swagger, but JS just generates them as number in HLC and it works well. My understanding is data range outside JS could represent may not be common cases.
Back to weidong's proposal, I would prefer the option 1 with only allowing encoding this with necessary types e.g int64 or decimal. One of reason is this may more align with what OpenAPI is trying to support because their format int64 has base type with number and string(link).

Yeah this encoding would only be allowed to target string(in the same way that rfc7231 will complain if you don't target a string)
Additionally same comment as before I don't think string is the right key. We pretty much always encode as a string. I think "decimal" might be more accurate but it could be confusing with the decimal type

@weidongxu-microsoft you're on point that this is contentLength of Batch ;)
Agree with you all, let's keep things simple and accept only the scenario string/int for now, there is no need to get complicated. And if someone one day comes with another conversion scenario, we can investigate at time the validity of that scenario.

@timotheeguerin are you suggesting @encode("decimal", string)?  Meaning the type on the wire is a string, but the encoding is decimal format meaning a floating point number?
I kind of get this because decimal narrows the domain of the wire type string, much like rfc3339 does.
Is there a list of known name of an encoding as referenced by these docs so we know which values are available to choose from for this use case?

I understood @timotheeguerin as:
@encode("decimal", string)
foo: int32

would convert 12 to "12", while
@encode("oct", string)
foo: int32

would convert 12 to "0o14"
IOW, still use the string parameter to describe the format you want it to look like, and usual we use base 10 (or decimal)

Might be confusing to use decimal as this is usually a floating point number in most languages?  But yeah that tracks with what I thought the suggestion was.

No not decimal as floating point decimal as decimal notation of numbers(how you write numbers normally)
Playground
But yes that was my point that decimal might be confusing

let's keep things simple and accept only the scenario string/int for now, there is no need to get complicated. And if someone one day comes with another conversion scenario, we can investigate at time the validity of that scenario.

@lmazuel Except int not sure we could scope this a little to consider the decimal type also? I believe this would be useful for service team who cares precision.

Maybe we could limit this to integer (int32, int64, safeint) to string, for now. There could be some nuance of the "decimal" representation, but may not be too bad.
If we allow float to string, there could be more questions, e.g. whether 2e10 a valid "decimal" for float -- looks not?

Proposed changed signature for decorator
extern dec encode(
  target: Scalar | ModelProperty,
  encoding: string | EnumMember,
  encodedAs?: Scalar
);
extern dec encode2(target: Scalar | ModelProperty, encodedAs: numeric);
extern dec encode2(
  target: Scalar | ModelProperty,
  encodingOrEncodedAs: string | EnumMember | Scalar,
  encodedAs?: Scalar
);

IMHO, I'd avoid @encode(string) directly, if possible. If we had to, limit it only to a subset of scalar that there is a consensus of what is acceptable as string representative.
I think we should be clear about the conversion rule (it need not to be an RFC, but we should be explicit about what is a valid string representation, what is not.
I am not aware that there is consistency between different languages, when convert string to/from a scalar.
Say convert String to Boolean, when de-serialize the JSON).
Java's Boolean.parseBoolean handles true case-insensitively, and everything else is false.
https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html#parseBoolean-java.lang.String-
,NET's Boolean.TryParse only handle True or False. Exception if other values.
https://learn.microsoft.com/en-us/dotnet/api/system.boolean.tryparse?view=net-8.0#system-boolean-tryparse(system-string-system-boolean@)
Golang also accept t f and 1 0, case-insensitive. Exception if other values.
https://pkg.go.dev/strconv#ParseBool

We are limiting that to numeric types and it means the decimal representation of the number as if you were to serialize the number to a json string

Yeah, that works. Or we may say that JSON numeric wrapped in quote is acceptable.

Maybe irrelevant to the detailed design. But I'd like to clarify one thing - what does the typespec type stand for?
model Foo {
  @format("date-time-rfc1123") data1: string;
  @encode(string) val: int64;
}

with @format, we have string as wire type and emitter could leverage format hint to define client type
with @encode, we have int64 as client type and emitter could leverage encode to understand wire type

@format is to be seen as a "known  pattern" ( a known string validation format) thats it it doesn't affect the type. Here data1 is a string and should always be presented as a string. There is just some decorator that say you should validate this string is in this format(which our client do not do so basically @format is not something you should ever be concerned with)

Thanks for the explaination and it makes sense considering we have guideline on no client-side validation. So can I understand typespec type stands for client type?

I think the logic type is what I mean here. One more question - with below example we would expect different logic type if emitter could somehow differentiate the utcDateTime or offsetDateTime, but on the wire they are the same format.
model Foo {
  data1: utcDateTime;  // RFC3339 for json (default)
  @encode(DateTimeKnownEncoding.rfc3339) data2: offsetDateTime;
}

Yeah they both use RFC3339 but data1 should always end with Z and data2 might have the offset (e.g.+8:00)


Specify culture to int.TryParse

There's guidance to always specify the culture when parsing numbers, otherwise the data may be misinterpreted on some machines depending on the local culture. #356 called this to our attention and these changes should mitigate it. Note there's a deeper corefx issue there that I do not have a repro for and I'll move that to corefx after merging this.

I tried adding that test but was not able to repro the original users issue. And you're right, messing with the culture is problematic.


Miro download URL is changed

Hi Team,
the URL for downloading Miro is changed
Old URL : https://desktop.miro.com/platforms/darwin-arm64/Miro.dmg
Updated URL : https://desktop.miro.com/platforms/darwin-arm64/Install-Miro.dmg
Please update the same.

Additionally, the Intel URL's, if used:
Intel (new): https://desktop.miro.com/platforms/darwin/Install-Miro.dmg
Intel (old): https://desktop.miro.com/platforms/darwin/Miro.dmg

Believe fixed in Installomator 10.6


Cannot import a wallet / private keys

I am using the SBTC wallet on windows and I don't see any "import a wallet" or "import private keys" option. How can I do that?

This is a Advanced features  not suport by UI ， you can import   private keys by RPC command

Can you explain how to do it and add it to the documentation?

I just found this:
https://bitcoin.stackexchange.com/questions/5941/how-do-i-import-a-private-key-into-bitcoin-qt
I'll give a try, it will take some time to sync the full node though.

Yo sandoche! Any luck so far?

I am still syncing the full blockchain it will take a few more days (and my internet connection is also bad) but the private key importation seemed to work.

Hey! Has anyone managed to get like SuperBitcoins?

i am using ZEBPAY and Coin.ph how i get Private Key

@rangershi I can't import segwit addresses (starting with 3) using the importprivkey command.
no probleman with the old format (starting with 1).


customizable image instead of cheese message if shutter animation is used

Prerequisites checklist

[ ] I have read the contributing guidelines.

What is the purpose of this pull request? (put an "x" next to an item)

[ ] Documentation update
[ ] Bug fix
[X] New feature
[ ] Other, please explain:

What changes did you make? (Give an overview)
Added a simple image that's part of the shutter animation and is displayed of the cheese text and the required configuration value. It can be used to show the direction of the camera or some other simple message. I included four simple "camera is in this direction" pictures but it can be used with an image that's stored in the private folder. For now it looks best if it has a white or transparent background as it's set to be centered and the blocker behind it is white.
Is there anything you'd like reviewers to focus on?

Should only bei needed in lib/config.php If it's hidden or if needed to Check If the File exists

Obviously it doesn't need it if I messed it up to begin with 🙈


tests/lib/hardware: Create NodeBase class

Make it clear which interface can be used outside of
hardware. Currently this is only the node name and get_ssh_ip().
Signed-off-by: Thomas Bechtold<EMAIL_ADDRESS>

cc @brunoleon

That said, I think more can go into the base class. For example, at least ansible_inventory_vars, and wait_until_state.

Why wait_until_state() ? That's just an implementation detail and only used inside the libcloud code. I moved ansible_inventory_vars to base

Merging. we can move more stuff into the base later as well.


toolbar does not hide when table of contents (ToC) is visible

When the table of contents is visible the toolbar does not autohide nor can it be hidden using the keyboard shortcut, x.
This issue is a Bug
It could be debated that this is a feature. We just need to decide and document it properly.
Expected Behavior
Normally the toolbar will autohide after 6-10 seconds unless focus is on one of the buttons. If the toolbar is visible and focus is not on a button in the toolbar, it can be hidden by pressing the keyboard shortcut, x.
Observed behaviour
When the table of contents is open neither of these mechanisms work and the toolbar can not be hidden.
Steps to reproduce

Open The Accessible EPUB 3 book (it happens with all the books I tested) make sure the Table of contents is NOT visible
When the toolbar is NOT visible, press v to make it visible. Focus will be on the About button
Set focus out of the toolbar by clicking outside of the toolbar (but within the readium app)
Wait - the toolbar will disappear.
With the toolbar is NOT visible, press v to make it visible. Focus will be on the About button
Press x twice -the first time removes focus from the About Button, the second time hides the toolbar.
With the toolbar NOT visible, Press t to open the table of contents. Focus is on the close button of the table of contents. The toolbar is displayed.
Wait - the toolbar will never autohide
Press x, the toolbar does not hide.

Test file(s)
Product

Readium Chrome extension

latest official version available from the Chrome Web Store - 2.23.0
Version of the Chrome browser - Version 51.0.2704.103 (64-bit)
OS and version - OS X 10.11.5

Readium cloud reader app
2.24.0-alpha
Wed, 15 Jun 2016 15:16:04 GMT
readium-js-viewer@39939d854bc27f945f26b9ffa265bdff8ccee35c
readium-js@b32f9ebc23d98dd23bdbee9d485d4ad9e736afc1
readium-shared-js@91324db9ca2cb3b931761a115384f2328737103f
readium-cfi-js@a9b07a78fa73215c624cdeb2047ab6dc49f81a7d

Browser and version - Safari Version 9.1.1 (11601.6.17)
OS and version - OS X 10.11.5

Yes, this is (currently) a feature :)
Although I imagine this is probably not the most intuitive UX (?)

Why would it be a feature?  I.e. why should the behaviour of the toolbar be different when the TOC is open or closed?  But perhaps you are just kidding...  :-)

FYI - it seems a conscious decision was made to NOT hide the toolbar when the TOC is open:
var hideUI = function(){
hideTimeoutId = null;
// don't hide it toolbar while toc open in non-embedded mode
if (!embedded && $('#app-container').hasClass('toc-visible')){
hideLoop()
return;
}
in epubReader.js.
I'm guessing that decision was made to avoid having to deal with filling the background above the ToC when the toolbar hides(see the image)


DCP issue with norm

Hi all,
I'm new to CVXPY I was trying to set the following problem:
import cvxpy as cvx
from Utils.Utils import *

X = cvx.Parameter((2, 2), name="X")
Y = cvx.Parameter((2, 2), name="Y")
C = cvx.Parameter(2, name="C")
W = cvx.Variable((2, 2), pos=False, name="W")

X.value = np.array([[1, 1], [1, 1]])
Y.value = np.array([[1, 1], [1, 1]])
C.value = np.array([1, 1])
W.value = np.random.rand(2, 2)

obj =<EMAIL_ADDRESS>- Y@W.T), 2, axis=1) - C)**2, axis=0))
constr = []
myprob = cvx.Problem(obj, constr)
print(myprob.is_dcp())

myprob.solve()

but I'm getting the error:
cvxpy.error.DCPError: Problem does not follow DCP rules. Specifically: The objective is not DCP. Its following subexpressions are not: power(Pnorm(X @ W.T + -Y @ W.T, 2) + -C, 2.0)
I'm not sure how I could rewrite the function to accomplish with the DCP, moreover, I believe the objective is convex but I'm not sure about it!
Thanks in advance for your help.

The objective is not convex. Specifically<EMAIL_ADDRESS>- Y@W.T), 2, axis=1) - C)**2 is not convex.

Thanks a lot for your quick reply!
Can you give me some intuitive hints on why this function is not convex? Moreover, do you suggest how to make it convex?
Thanks a lot for your help!

Unfortunately it can't be made convex. You could try DCCP (https://github.com/cvxgrp/dccp) or a general nonlinear solver like SciPy optimize https://docs.scipy.org/doc/scipy/reference/optimize.html


Adding ThermalMultiStart Simulation capability

@sourabhdalvi can you combine these changes with #583 and close this PR please? It will make it a cleaner update.

@sourabhdalvi can you combine these changes with #583 and close this PR please? It will make it a cleaner update.


Replace gem sass-rails with sassc-rails

This gem has been deprecated and the recommended replacement is the sassc-rails gem.
The new gem is a drop in replacement for the old one; we don't need to do anything else.
For context see https://github.com/rails/sass-rails/issues/420.
It seems v6 of the gem we are using will make it a wrapper for the other gem. We can upgrade already so there's no need to wait for this.
Trello: https://trello.com/c/hcmzrcot/772
Resolves https://github.com/alphagov/finder-frontend/issues/1124

Search page examples to sanity check:

http://finder-frontend-pr-1187.herokuapp.com/search/all
http://finder-frontend-pr-1187.herokuapp.com/search/research-and-statistics
http://finder-frontend-pr-1187.herokuapp.com/search/advanced?group=guidance_and_regulation&topic=%2Feducation
http://finder-frontend-pr-1187.herokuapp.com/drug-device-alerts
http://finder-frontend-pr-1187.herokuapp.com/find-eu-exit-guidance-business

Other finders

@bilbof did you know @injms already tried to do this? https://github.com/alphagov/finder-frontend/pull/1132

Thanks, @andysellick! Ian is on it!

@bilbof I didn't mean you had to abandon this PR - Ian ran into issues trying to do this, I was hoping the two of you could compare notes and find a solution?


MSID: 100085 Version: 1 DOI: 10.1101/2<IP_ADDRESS>7996

MSID: 100085
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>7996
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=100085
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>7996

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/100085v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>7996
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/100085/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

[journal-ref-text-content] This journal reference (id c47) has untagged textual content - Suppl 2(. Is it tagged correctly?
[mixed-citation-other-publication-flag] mixed-citation in reference (id=c23) has a publication-type='other'. Is that correct?
[title-upper-case] Content of  element is entirely in upper case: Is that correct? 'REFERENCES CITED'


Help with libv86.js

please, I need the file "libv86.js" but I do not find it anywhere, is it possible to download it?
I Dont speak english, sorry for "translate".

Run make build/lib86.js to build it.


Passing login_hint to external IDP

Absolutely loving IDSrv, brilliant project.
I'm trying to figure out what what part of the IDSrv I can use to pass on the login_hint to my external identity provider. I'm using your sample project which uses:
            var props = new AuthenticationProperties
            {
                RedirectUri = returnUrl,
                Items = { { "scheme", provider } }
            };
            return new ChallengeResult(provider, props);

on redirecting to the external idp.

You'd have to capture it on the login page from the authorization request (https://identityserver4.readthedocs.io/en/release/reference/interactionservice.html) and then somehow smuggle it into the event for your external authentication provider. Probably the HttpContext.Items collection would be best/easiest.

Forgot to mention, the external providers are both OIDC, if that makes any difference.
I included {'login_hint', context.LoginHint } in AuthenticationProperties.Items above then in my OpenIdConnectEvents added
{
    ctx.ProtocolMessage.LoginHint = ctx.Properties.Items["login_hint"];
    return Task.FromResult(0);
}``

And it forwards the property correctly.

Does that seem sensible enough?

Cheers.
When using Azure AD you can alternatively, or additionally, specify username as a query param and it also populates the username field but sets tab focus to the field as well (Unsure if this is standard or not but gives for a better UX imo).
I tried setting ctx.ProtocolMessage.Username, but this did not get passed through. I also attempted ctx.ProtocolMessage.SetParameter("username", "test"); which should do the same, but this didn't work either. A couple of guides online suggest it perhaps should, unless I've misunderstood?
Not sure where the issue lies, if it is indeed an issue, so I can't really look in to it in much detail.

My mistake, the login page doesn't auto focus, it was my browser automatically focusing on the initial form when I manually went to the site, instead of being redirected to it.
Issue still remains whereby I can't pass custom params though.

Mardoxx,
Did you ever get this to work? I think we are attempting to do the same thing. I have a multi-tenant web application secured by my Azure AD that I want other Azure ADs to launch my app and be automatically signed-in. Is this what you were attempting to accomplish? Any advice would be greatly appreciated.

I got it to work for what I needed, yeah. Which was just sending login_hint to IdP -- so it filled out their username input box. I believe with AAD if you send login_hint and they are already logged in as the provided value it logs you in without interaction.
Not sure how you'd achieve what you want. Have you tried specifying an acr_values of idp:providerName when doing your auth?


[ARTEMIS-2626]: Postgresql Journal implementation requires the jdbc driver to be in the same classloader

Fixing Postgresql JDBC store when the driver is not directly accessible or when using a connection pool.
The postgresql dedicated code in Artemis suppose that the connection is a 'direct' connection from the driver. This may not always be the case and thus the connection needs to be unwrapped and if a different classloader is used then use reflection to use it.

Jira: https://issues.apache.org/jira/browse/ARTEMIS-2626
Supersedes https://github.com/apache/activemq-artemis/pull/2948

@ehsavoie sort of a nit-pic but the only thing wrong here is the title for the commit
the bug is Postgres JDBC requires JDBC driver..
The fix is... allowing Postgres to use the driver in a certain way... etc..
Can you be a bit more descriptive of the fix itself instead of using the bug description?

It's just that when I look for a list of commits, I like to understand what was changed.. to follow cherry-picks.. etc..

Is this better ?

Nice !!!   I thought about something simple. You went beyond complete now.  Thanks a lot.


KeyError when trying to "Find Similar Faces"

🐛 Bug Report

[x] I am including my log files in zip format.
[x] I have looked for similar issues among all the former issues, including closed ones.

What Operating system and version is LibrePhotos running on:
Manjaro
What architecture is LibrePhotos running on:
x64
How is LibrePhotos installed:
Docker-Compose on dev tag
How is your picture library mounted on the host (or in the virtual machine):
Local file system
Description of issue:
I used both the first version and the newest clustering versions on my production system. When using the latest version, it creates the clusters, but is not able to add the encoding, because of a key error.
2022-08-15 11:48:52,079 : face_classify.py : cluster_all_faces : 100 : ERROR : An error occurred
Traceback (most recent call last):
  File "/code/api/face_classify.py", line 86, in cluster_all_faces
    target_count: int = create_all_clusters(user, lrj)
  File "/code/api/face_classify.py", line 161, in create_all_clusters
    new_clusters: list[Cluster] = ClusterManager.try_add_cluster(
  File "/code/api/cluster_manager.py", line 127, in try_add_cluster
    encoding_by_person[closest_cluster.person.id].append(encoding)
KeyError: 1

How can we reproduce it:
Use the old version, update, rerun on the new version

@jakekapellen Maybe you could have a look? 😅


Sarcasm Scans HTTP 404

Source information
Sarcasm Scans 1.4.36
Source language
Turkish
Steps to reproduce
Open Sarcasm Scans
Expected behavior
The source has to work.
Actual behavior
But the source does not work. It only works in WebView.
Mihon/Tachiyomi version
0.16.5
Android version
Android 10
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Same as with #2872, I only get a 404 error whenever I try to open any manga from the WebView. Which one works for you?

What manga are you testing with specifically? This is what I get:


Sidecar injection: value istio-init image is broken if proxy.image is set to an image url

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
In our cluster we wanted to test the proxy for a recent build of istio. To do that, we set proxy.image in our mesh to the following:
proxy:
  image: <hub>/proxyv2:1.19-alpha.e8caf6b026de0c38adb14fd9cb607f1f5b4df5d3-distroless

This caused injection to break pods, because the init pod had the following image:
  image: <hub>/<hub>/proxyv2:1.19-alpha.e8caf6b026de0c38adb14fd9cb607f1f5b4df5d3-distroless:1.19.4

The reason for this is issue is that if proxy.image is set, and proxy_init.image is not set, then when .ProxyImage is rendered, the function generating the image url will use proxy.image as the value instead of the default value of proxyv2.
This only happens for proxy_init because the check in the default template is if proxy_init.image contains /, then it's used, otherwise .ProxyImage is called. For the actual proxy, the check is on proxy.image. (proxy_init can depend on proxy.image).
Version
$ istioctl version
client version: 1.17.2
control plane version: 1.19.4
data plane version: 1.19-alpha.e8caf6b026de0c38adb14fd9cb607f1f5b4df5d3 (5 proxies), 1.19.4 (1 proxies)

Additional Information
No response

will sidecar.istio.io/proxyImage annotation help you?

That would avoid this issue - but this is more about the fact that if sidecar.istio.io/proxyImage / proxy_init.image are unset, then it's possible to run into this case where the image URL built by ProxyImage is wrong.

I opened a PR here which addresses this.


Rebase / 5D&6D support / WEBGL_PACK

This PR is to:

Upgrade tfjs-core to 1.0.1
Add 5d&6d CS support
Replace most texture() with texelFetch()
Turn on WEBGL_PACK and switch packed ops used in MobileNet to run on CS backend.

P.S. we can turn on/off WEBGL_PACK by URL:
http://localhost:1234/?tfjsflags=WEBGL_PACK:true
http://localhost:1234/?tfjsflags=WEBGL_PACK:false

@GreyZzzzzzXh Can you split them into separate PRs? At least the rebase as a standalone PR. Thanks.

@qjia7 , ok I will do that.


New version doesn't work on Motorola E7i power

I tried to install the latest version v1.3 on my phone, a Motorola E7i power on Android 10 go edition,  but It didn't launch.
I then installed the first version and I was able to play.
It works until the version v1.2. Only the latest one won't start.

Thanks for letting me know
Tracking the v1.3 startup crash issues in #26


List Libreswan alongside the other tunnel implementations

Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

closes https://github.com/submariner-io/submariner-website/issues/162


[BUG] Staking claim failed

The reason cause this issue is kotlin precision.

This issue already fixed in Android prod version i1.5.2


Run all tests at once added

Description of Work
Fixes #55
Changed example_runScript such that it now runs all tests at once.
Testing Instructions

Run example_runScript.py in the mantidpython console.
Check if all the output is in the results folder.

Note: This was giving an error after completing execution: RuntimeError maximum recursion depth reached so I increased the recursion depth here:
https://github.com/mantidproject/fitbenchmarking/blob/acf175d8f33b932b73a653eef98ce6d0d6cb341a/fitbenchmarking/example_runScripts.py#L5-L6
I have not found any other way that fixes the problem.

and re-tested it after the most recent commit


New term request: Accessory Outer Segment

Hello,
I would like to request a new term to be added to the cellular_component part of the ontology.
New term: Accessory Outer Segment
Definition: a cilium-like structure emanating from the inner segment and running alongside the outer segment of photoreceptors
Note: this structure was described in teleost fish and in human
References:
PMID: 837407
PMID: 25125189
PMID: 13936631
This term would probably be a child of
GO:0042995 - cell projection
Children of the new term:

Cone accessory Outer Segment : accessory outer segment in cone photoreceptor
Rod accessory Outer Segment : accessory outer segment in rod photoreceptor

Thank you!
Sabrina

[Term]
id: GO:1990906
name: accessory outer segment
namespace: cellular_component
def: "A cilium-like cell projection emanating from the inner segment and running alongside the outer segment of photoreceptors." [GOC:dph, PMID:25125189]
subset: termgenie_unvetted
is_a: GO:0042995 ! cell projection
is_a: GO:0097458 ! neuron part
created_by: dph
creation_date: 2015-11-24T13:56:06Z


Any intuition around what a "healthy" RSC payload looks like?

Hey @alvarlagerlof , thanks for creating such a helpful tool.
I wonder if you've developed any intuition around what a good RSC payload looks like? There's clearly the low-hanging fruit of seeing that e.g. some unused data is being sent over the wire.
One other thing it helped me notice is that one of the chunks was taking up a significant proportion of the overall payload size (40%). My guess is that a healthier payload would have smaller chunks, to promote more efficient streaming? But this is the kind of thing at the limit of my current understanding.
Curious if you've had any other takeaways that are worth sharing :pray:

Hi, I'm happy that you're enjoying the tool!
In regards to trying to optimise the payload, my only tip is to try to ensure that you're not sending more data than you expected or planned to the browser. Things like properties in objects that are never in your code for example.
I think that trying to optimise the shape or the structure of the payload is probably not a worthwhile effort. I've also noticed the pattern of one or a few chunks being significantly larger than the rest. Wether this has any negative effect on performance, I don't know. It might just be a side effect of how the response is split up, different module import chunks usually quite split up, and data/jsx coming in larger pieces more often. Finding a performance win here would require profiling the React code. Not something I've attempted. I leave that responsibility to the React team to figure out.


[bug] msi installer hangs not being able to close running application

Describe the bug
Builded msi installer gives the users option to Close applications and attempt to restart them (usually the conflicting application is the one the user is reinstalling/updating).
MSI installer has been able to close the application up until recently when I started to subscribe to app close request events.
I'm aware that unlisten should be called after component is unmouted but still, when I call appWindow.onCloseRequested in the running application and execute msi installer, it hangs on not being able to close the running application, at that point it is neither possible to close msi installer nor the running application (only option is to kill them in process manager).
    import { appWindow } from "@tauri-apps/api/window";

    //component hooks
    async mounted() {

        this.unlisten = await appWindow.onCloseRequested(async (event) => {

                    //In addition to unlistening in unmounted hook,
                    //I tried calling unlisten just before application is about to be closed as well
                    if (this.unlisten) {
                        this.unlisten();
                    }

        });
    },
    async unmounted() {
        if (this.unlisten) {
            this.unlisten();
        }
    },

On the rust side, I initialize the app like this
fn main() {
    tauri::Builder::default()
        .manage(GuiState::new())
        .invoke_handler(tauri::generate_handler![
            //commands
        ])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

Reproduction
No response
Expected behavior
No response
Platform and versions
Environment
› OS: Windows 10.0.19043 X64
› Webview2: 104.0.1293.63
› MSVC:
- Visual Studio Build Tools 2019
› Node.js: 16.11.0
› npm: 8.0.0
› pnpm: Not installed!
› yarn: 1.22.19
› rustup: 1.25.1
› rustc: 1.63.0
› cargo: 1.63.0
› Rust toolchain: stable-x86_64-pc-windows-msvc
Packages
› @tauri-apps/cli [NPM]: 1.0.5
› @tauri-apps/api [NPM]: 1.0.2
› tauri [RUST]: 1.0.5,
› tauri-build [RUST]: 1.0.4,
› tao [RUST]: 0.12.1,
› wry [RUST]: 0.19.0,
App
› build-type: bundle
› CSP: unset
› distDir: Set automatically by Vue CLI plugin
› devPath: Set automatically by Vue CLI plugin
› framework: Vue.js (Vue CLI)
› bundler: Webpack
App directory structure
├─ .git
├─ bds
├─ node_modules
├─ public
├─ src
└─ src-tauri
Done in 10.30s.
Stack trace
No response
Additional context
No response

I've just run into something similar - if I listen for tauri::WindowEvent::CloseRequested in rust, and call api.prevent_close(), it prevents the installer from closing the app. As far as I can tell there's no real way for me to know that the CloseRequested came from an external process vs. the user closing the window (which is supposed to just hide it).
I believe this is because Tauri (and Tao underneath it), is not handling the Windows RestartManager's WM_ENDSESSION: https://learn.microsoft.com/en-us/windows/win32/rstmgr/guidelines-for-applications
It's possible to test this without building/running the installer with this C++ app from MS: https://github.com/microsoft/Windows-classic-samples/tree/main/Samples/Win7Samples/winbase/restartmanager/rmfilterapp
You just replace these lines in https://github.com/microsoft/Windows-classic-samples/blob/main/Samples/Win7Samples/winbase/restartmanager/rmfilterapp/RmFilterApp/rmfilterapp.cpp:
LR"(C:\Windows\explorer.exe)",
LR"(C:\Windows\notepad.exe)",
LR"(C:\Windows\system32\notepad.exe)",
LR"(C:\Windows\SysWow64\notepad.exe)",

with a single line that has the full path to the executable.


Add Windows Presentation Foundation (WPF) support in dialogs_ipy.py

Resolves #1235
Uses more modern Windows Presentation Foundation (WPF) rather than the older WinForms.
This allows for:

better flow of long, wrapped text
better automatic sizing of controls

Admin, can CI be enabled?

Both code and the created dialogs look great! I added some line notes, but they are pretty nitpicky.
I also noticed a minor missing feature. When an input dialog is opened, possible default value should be selected to make it easier to overwrite it. This isn't that important feature, and it actually seems to be broken on Windows with Python, and we can easily live without it.

I was about to figure out the code for selecting the default value on input dialogs and then checked the behavior of the Tk version and saw it didn't do that :)
I will figure out how to select the default value, because that is really the expected behavior :)

Thanks for the great PR! I merged it and then did few minor cleanups in 2d341e531973901a610d1cd93954c063024d3cfb.


String with format issue.

I define a string in localizable.strings:
"connect.setup_wifi_from_system_settings" = "Go to %s - %s to connect your camera";
After compiling, R.swift converted the string to R.string.localizable.connectConnect_robot_from_system_settings(<#T##value1: UnsafePointer##UnsafePointer#>, <#T##value2: UnsafePointer##UnsafePointer#>)
How can I let it convert to :
R.string.localizable.connectConnect_robot_from_system_settings(<#T##value1: String##String#>, <#T##value2: String##String#>)
Thank you very much!

"connect.setup_wifi_from_system_settings" = "Go to %@ - %@ to connect your camera";


Why is 405 Method Not Allowed always returned?

This on POST requests.
> User-Agent: curl/7.43.0
> Accept: */*
> Content-Length: 167
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 167 out of 167 bytes
< HTTP/1.1 405 Method Not Allowed
< Allow: GET, HEAD, OPTIONS
< Content-Length: 0
< Date: Sun, 13 Mar 2016 02:46:59 GMT
< Connection: keep-alive

It is this code for reproduction:
https://github.com/binarykitchen/videomail-client/blob/master/Gulpfile.js#L104

Ah, I found the culprit. If remove the root option, then it works, no 405. Weird. Probably the connect.directory middleware is messing here with something else

Hmmm, serve-index causes this. See line https://github.com/expressjs/serve-index/blob/master/index.js#L102 ... uhhhh :(

a solution would be to rearrange the order. to run the custom middleware first before serve-index

@justinmchase ping

I think this commit broke it
https://github.com/AveVlad/gulp-connect/commit/1352e3d200e7dc8bba5e35226a85992a841f2356
Order of middleware is crucial. Please restore.

I'm swamped right now but took a look at it and didn't see any obvious reason why the order of the middleware would be changed. Can you send a PR, or at least help me narrow down where the issue is happening? If I generally knew a fix I could probably crank it out in hours, sorry for delay.

@justinmchase here you go, it is very simple https://github.com/AveVlad/gulp-connect/pull/171

Fixed in v3.1.1

great, the error is gone now, all works fine like before. thanks for quick reaction

ps: @justinmchase can you please look at https://github.com/AveVlad/gulp-connect/issues/140?


API Restructure

Currently, the API has some problems, as also mentioned in my last PR.

When doing a delete operation, the finalize() method is overwriting the contents of the file itself, which is resulting in malformed archives.

Solution: Need some time

After the completion of this project, it has to be integrated into zig as well, currently one such instance is here: src/link.zig#L668. As you can see, it is providing a slice of objects which are allocated in memory. In simple words, even though we dont plan to use memory based implementation in the frontend, we do still need to support it for zig facing parts in the library.

Solution: This would mean introduction of a Archive.addFilesFromMemory() function and modifying the Contents struct to its older state but maybe as a tagged union.

Some API namings are not correct, the one which always comes out to me most is Archive.create(). This is because the name "create" is ambiguous when we are talking about an application which actually creates files.

Solution: I m actually planning to solve this combinedly with 1

It once also came to my attention that, is might be possible that we hit the max open file limit while doing addFiles operations (see ulimit -n on your machine) but even zld creates and holds on to a bunch of file handles at the same time and does not seem to be suffering from this problem. I briefly checked llvm build files and it seems the max number of object files ever used for static linking is close to 100 max in llvm, which is quite less from the common limits.

Proposal of new API design:

The archive structure would be created using: Archive.init(allocator)

Writing to file using: Arch.finalize(self, allocator, file_handle)
Instead of writing to the file mentioned in the constructor (which is the present style), explicitly ask for a file where it should be written to.

Parsing using: Archive.parse(self, allocator, file_handle, stderr)
As you can see, the file has been moved from constructor to parse function itself. This is due to few reasons:

The file handle at constructor doesn't have any special use after the introduction of the new finalize function.
We need to be able to call parse multiple times on different files, this is because the MRI script has a command called ADDLIB

Introduce Archive.addFilesFromMemory() as mentioned above.
All other functions remain unchanged.

Another internal detail:
We also need a way to change for duplicate entries, as its something other ar implementations do. And I think the best way to handle this is to use an ArrayHashMap instead of our current ArrayList based approach.
Suggestions very welcome.

Some of these changes are already what I have in progress locally (such as using a hash map). Hopefully I will be able to check it in this morning. Then I think apart from the changes look like they should work.

Although as we work on the project I expect we will learn quite a lot about what a good api might look like - so it shouldn't be a top focus as it is likely something we will want to change again.

So having had a little look at other implementations - our current approach (my bad on this one, you did the write thing initially!) of storing file contents in terms of file references (as opposed to just copying them into memory) is probably the bad one.
At least for now we should probably be copying them into memory (simpler for sure!) - so I will do that next.

probably the bad one
not necessarily. It is indeed useful in some cases, but the main reason why I didnt started with it in the beginning is because it would have been complicated.

In case you haven't started, I will get it done right now. Then we can either merge yours or mine if we collide, its not that big of a thing which would waste my time even if mine isnt merged.

so it shouldn't be a top focus
I agree, but the only real reason why I proposed a new API now is because using file handles for contents broke certain things. But since we are going back to in memory representation, it wont be a problem for now.

Just to let you know, the recent changes had one more regression. Since we are now creating files OR appending to an existing file, it is also replacing the existing file contents when doing insert operation on a pre-existing file. Basically the same problem of "d" but now also with "r". Using the memory based representation (as already decided above) should solve it.

Saving this issue for all API related discussion.

I have started working on MRI scripts support here and it has brought up the need to parse and query the contents of a file but not write all of it when finalizing. So its one more thing added to TODOs.


cli: disable pruning on validators

Currently GRANDPA needs to import all blocks that are voted on, and therefore requires to have state available for those blocks. During periods of long finality stalls we run the risk of state being pruned due to depth (we prune after 4096 blocks regardless of finality), or e.g. a short-lived fork being pruned out. This PR changes the default pruning mode to be set to archive if the node is a validator, otherwise it defaults to keeping state for the last 256 blocks. The node will refuse to start if the node is a validator and pruning is enabled, unless the flag --unsafe-pruning is given as well.
Currently the node doesn't seem to detect whether the existing database is an archive or pruned. This means that if you start with a pruned database, and restart the node as archive, the node will either crash due to missing state (if you are a validator trying to author), or it just won't import any blocks. The reverse (archive -> pruned) seems to work. This might be a bit confusing to end-users, especially if they just enable/disable --validator which implicitly switches the pruning mode.
cc @arkpar

If it is really a short term patch that will be replaced anyhow (post #3639), and can be done manually via flag, a warning in the case of is_validator || !archive_mode might also be enough.

@kianenigma I would like to make it particularly hard for validators to run with what we consider unsafe settings. A warning is easily ignored IMO, hence why I added the --unsafe-pruning flag, so that this becomes obvious to anyone that has to type it out.

Currently the node doesn't seem to detect whether the existing database is an archive or pruned. This means that if you start with a pruned database, and restart the node as archive, the node will either crash due to missing state (if you are a validator trying to author), or it just won't import any blocks.

we should probably address that in this patch then otherwise we'll have a torrent of validators wondering why their node is crashing. i'd suggest just discarding the (pruned) DB if they are wanting to use archive and then it'll just resync from scratch.

@arkpar Any suggestion on how to verify whether a given state db is an archive or pruned on startup? (in particular something that is migration friendly). I guess we could check for the existence of a pruning journal on the database?

@andresilva Client::block_status can be used to check if the state is available


Write module: buffer manager

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
telescope
Description
First, congrats on mini, really really impressive project !
I'm not a fan of having a tabline. So when using lunarvim, I disabled bufferline and went with <S-{h,l}> for buffer control + telescope for accessing already opened buffers and non-open files.
I first thought I should make my own, less "bloated", configuration + custom plugins for statusline and buffer management.
As I started my project, I ran into yours. Mini.nvim directly spoke to me with its lightweight, handmade aspect and philosophy.
I would love to contribute by writing this plugin, with following functionalities:

floating menu to select buffers:

Either by using j,k,
Or with hop like access where each buffer is assigned a custom letter

a |  first_file.lua
d |  second_file.lua

floating menu with unopened file in current directory (same selection method as previous menu)

possibility to set a depth in configuration
possibility to blacklist certain files/directories

remapping for buffer navigation (imo leader based is better)

keymap
leader based keymap
command

<S-l>
<leader>bh
:bn

<S-h>
<leader>bl
:bp

<C-b>
<leader>bb
:MiniBuffers.open_select_buffer()

<C-f>
<leader>bf
:MiniBuffers.open_new_buffer()

Thanks for kind words! And for opening an issue to discuss before actually making a PR. And for contribution suggestion.
I am really not sure about this at the moment. Here are my thoughts:

The best way of buffer switching to me is indeed with :Telescope buffers.
The best way of buffer switching without dependencies is :nnoremap <F5> :buffers<CR>:buffer<Space> (taken from here). It will show all non-hidden buffers and prompt for buffer number input. It is very simple but really powerful. Not quite a selection with letters, but a very good simplicity/outcome trade-off.
I plan the 'mini.filetree' which will show file tree with possibility to open buffers. Not in the near future, but definitely is planned.
I also plan a module which will make some kind of opinionated settings and mappings. It will probably have mappings for :bn and :bp.

So all in all, every suggested functionality is either a very simple to add to personal config or planned in other modules. Lets leave this open for some time, I'll think more about it.

Yeah, definitely understand your point, will see in the future. Thanks for reading and considering it anyway (and for :nnoremap <F5> :buffers<CR>:buffer<Space>)

I think to estimate better the use cases, it would help to provide guidelines or a plugin how to create and read scratch buffers (not backed by file or stored in /tmp) for users and convert them to notes (backed by file).
And to have a simple way to attach unique names (per cwd) to buffers + look them up.
The code is not particular complex, but having not return value from the uri functions is annoying, because it requires to store duplicates of all paths and loop through the current one:
M.makeScratch = function(scratchpath)
  local uri = vim.uri_from_fname(scratchpath)
  local bufnr = vim.uri_to_bufnr(uri)
  vim.bo[bufnr].bufhidden = ""
  vim.bo[bufnr].buflisted = true
  vim.bo[bufnr].buftype = "nofile"
  vim.bo[bufnr].readonly = false
  vim.bo[bufnr].swapfile = false
end

-- :ls! to list all bufs
-- TODO: store and load scratch/notes files
-- scratch -> notes (persistent)
-- make neovim instance
M.makeFileScratch = function(filepath)
--M.makeNamedScratch = function(filepath, scratchname)
  -- local bufs = vim.api.nvim_list_bufs()
  --for i, v in ipairs(bufs) do
  --  if(vim.api.nvim_buf_get_name(v) == "abspath_tocompare") then
  --    print("matching comparison")
  --  end
  --  print(k, ", ", v)
  --end
  local uri = vim.uri_from_fname(filepath)
  local bufnr = vim.uri_to_bufnr(uri)
  vim.bo[bufnr].bufhidden = ""
  vim.bo[bufnr].buflisted = true
  vim.bo[bufnr].buftype = ""
  vim.bo[bufnr].readonly = false
  vim.bo[bufnr].swapfile = false
  return true
end

harpoon is basically this + storing and reloading as/from json with the absolute path taken, a bunch of wrappers to send things to those buffers and doing this based on the numbering in 2 scratch buffers (files and terminals) [+ storing into backed file].
I dont think json is necessary and sending stuff does not sound complicated either.

I think to estimate better the use cases, it would help to provide guidelines or a plugin how to create and read scratch buffers (not backed by file or stored in /tmp) for users and convert them to notes (backed by file).
And to have a simple way to attach unique names (per cwd) to buffers + look them up.

I am not sure I follow.
Here is the way to create new scratch buffer:
local new_scratch_buffer = function()
  local buf = vim.api.nvim_create_buf(true, true)
  vim.api.nvim_win_set_buf(0, buf)
end

The idea is to quickly save scratch buffer to a file system? Like 'scratch_1' or 'scratch_2' in the current directory? After they are saved, I don't think they should be treated as scratch buffers.

Agreed, they look much simpler.

The idea is to quickly save scratch buffer to a file system?

The idea is to have a lib to manage a buffer, lets call it "master buffer", which controls all buffers and has bufnr user_alias absolute_path/uri/scratch as internal state preferring the most explicit representation, if possible.
As of now, there is no way to annotate a scratch buffer with additional info for convenient search and user-defined strategy to cleanup buffers (by grouping them).

The idea is to have a lib to manage a buffer, lets call it "master buffer", which controls all buffers and has bufnr user_alias absolute_path/uri/scratch as internal state preferring the most explicit representation, if possible.
As of now, there is no way to annotate a scratch buffer with additional info for convenient search and user-defined strategy to cleanup buffers (by grouping them).

Oh, I see. So, something like elihunter173/dirbuf.nvim, but for listed buffers. Interesting. I'll have this in mind.

I think I'll close this for reasons explained in my initial answer.


t.media.rendererName used when undefined

t.media.rendererName is used here https://github.com/mediaelement/mediaelement/blob/master/src/js/player.js#L577 but it's undefined for me at that point. Autoplay still works(have no idea why because isNative returns false), but probably condition should contain media.rendererName in both places.

Fixed in https://github.com/mediaelement/mediaelement/commit/87bebfec1388307b75534e84a3d7f785c8d5c5c3


CI: Node12 has been out of support

More Info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/

More info is good - but we need the minimal info here:\

What is the issue?
Who is affected?
Is this random failure? reproducible?
Known workaround?
Suggested solution?


[BACKLOG-19539] Update for setting dialog title for open/save

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'ui,engine,plugins/file-open-save/core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'ui,engine,plugins/file-open-save/core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,engine,plugins/file-open-save/core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/resources/org/pentaho/di/job/entries/exportrepository/messages/messages_en_US.properties
  plugins/file-open-save/core/src/main/java/org/pentaho/repo/dialog/RepositoryOpenSaveDialog.java
  plugins/file-open-save/core/src/main/java/org/pentaho/repo/extension/RepositoryOpenSaveExtensionPoint.java
  ui/src/main/java/org/pentaho/di/ui/core/FileDialogOperation.java
  ui/src/main/java/org/pentaho/di/ui/job/entries/exportrepository/JobEntryExportRepositoryDialog.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: -0.1% (click to expand)
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.2% :small_red_triangle_down:
Complexity Change: -0.7% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.sort.SortRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.tableoutput.TableOutputMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:

org.pentaho.di.www.TransformationMap

Branch Change: -5.7% :small_red_triangle_down:
Complexity Change: -4.6% :small_red_triangle_down:
Instruction Change: -5.7% :small_red_triangle_down:
Line Change: -5.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceinsert.SalesforceInsertMeta

Instruction Change: -0.1% :small_red_triangle_down:

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'ui,engine,plugins/file-open-save/core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'ui,engine,plugins/file-open-save/core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,engine,plugins/file-open-save/core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/resources/org/pentaho/di/job/entries/exportrepository/messages/messages_en_US.properties
  plugins/file-open-save/core/src/main/java/org/pentaho/repo/dialog/RepositoryOpenSaveDialog.java
  plugins/file-open-save/core/src/main/java/org/pentaho/repo/extension/RepositoryOpenSaveExtensionPoint.java
  plugins/file-open-save/core/src/main/javascript/app/app.component.js
  ui/src/main/java/org/pentaho/di/ui/core/FileDialogOperation.java
  ui/src/main/java/org/pentaho/di/ui/job/entries/exportrepository/JobEntryExportRepositoryDialog.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.3% :small_red_triangle_down:
Line Change: -3.9% :small_red_triangle_down:

org.pentaho.di.job.entries.waitforsql.JobEntryWaitForSQL

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.9% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Method Change: -1% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -2.1% :small_red_triangle_down:
Complexity Change: -2.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -4.5% :small_red_triangle_down:
Complexity Change: -5.2% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.www.TransformationMap

Branch Change: -1.2% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.7% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupsert.SalesforceUpsertMeta

Instruction Change: -0.1% :small_red_triangle_down:

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/ui/src/main/java/org/pentaho/di/ui/job/entries/exportrepository/JobEntryExportRepositoryDialog.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.repository.RepositoryDirectoryInterface. at Line: 65 Column: 8

@ddiroma

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'ui,engine,plugins/file-open-save/core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'ui,engine,plugins/file-open-save/core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,engine,plugins/file-open-save/core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/resources/org/pentaho/di/job/entries/exportrepository/messages/messages_en_US.properties
  plugins/file-open-save/core/src/main/java/org/pentaho/repo/dialog/RepositoryOpenSaveDialog.java
  plugins/file-open-save/core/src/main/java/org/pentaho/repo/extension/RepositoryOpenSaveExtensionPoint.java
  plugins/file-open-save/core/src/main/javascript/app/app.component.js
  ui/src/main/java/org/pentaho/di/ui/core/FileDialogOperation.java
  ui/src/main/java/org/pentaho/di/ui/job/entries/exportrepository/JobEntryExportRepositoryDialog.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: -0.1% (click to expand)
org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.3% :small_red_triangle_down:
Line Change: -3.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.7% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapinput.LDAPInputMeta

Branch Change: -1.6% :small_red_triangle_down:
Complexity Change: -0.9% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -2.3% :small_red_triangle_down:
Complexity Change: -2.6% :small_red_triangle_down:

org.pentaho.di.trans.steps.googleanalytics.GaInputStepMeta

Branch Change: -1.9% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:

org.pentaho.di.ui.repository.pur.repositoryexplorer.model.UISecurityRole

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupdate.SalesforceUpdateMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupsert.SalesforceUpsertMeta

Instruction Change: -0.1% :small_red_triangle_down:


Debug Freestyle.

I am using Pixate Frestyle in a app extension and I encountered some weird thing that same CSS in default.css doesn't make any screen changes but if I modified the same rule in the css file, I can see changes take into effect. So, there is some delay. Adding dispatch main queue and dispatch after doesn't help. Because Pixate code is in my main project, I have to send notification to trigger updateStylesForAllViews because there is no shared application. Any suggestion of how to debug Freestyle iOS? Thanks.

You can use my fork to debug the issue. it uses source code based cocoapods integration. details are here:
https://github.com/Pixate/pixate-freestyle-ios/issues/192#issuecomment-156774990


[Feature request] display "properties": { "system": {} } in Telemetry monitoring.

Telemetry monitoring displays properties
IoTHubMessage_SetProperty
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-c-sdk-ref/iothub-message-h/iothubmessage-setproperty
= az iot hub monitor-events --properties app
but doesn't display properties - system like
IoTHubMessage_SetContentEncodingSystemProperty
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-c-sdk-ref/iothub-message-h/iothubmessage-setcontentencodingsystemproperty
IoTHubMessage_SetContentTypeSystemProperty
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-c-sdk-ref/iothub-message-h/iothubmessage-setcontenttypesystemproperty
= az iot hub monitor-events --properties sys
"show system properties" check box works like
az iot hub monitor-events --properties annon
could you display like below?
az iot hub monitor-events --properties all
az command;

iot explorer:

Hi @tahirai-outlook
I'd like to get some clarification of what the feature request is with you.
Would you like us to add system property (content-encoding and content-type) into properties, and change our rename the system properties section with annotations?
Explorer is using the event hub node sdk where our CLI is not. While analysing their SDK code, we did verified that we are using the terms provided by them, meaning the annotations that you see in CLI is indeed named as system properties, and we are not altering what they are showing to us but directly refect what was provided.


chore: bdd-spring-1575199470 to 0.0.1

chore: Promote bdd-spring-1575199470 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Combined database normalisation

How was the combined database normalisation in the script group_generator.py (starting from 64 line) done?

Hi, I just calculated the mean and std of the images from the combination of the two datasets, which are hard coded in line 64-69. But actually if you are using ImageNet pretrained weights (I would strongly suggest so), you should do ImageNet preprocess (like lines 60, 61 in TensorFlow or the mean and std in Pytorch).


Self-manage cert-manager on management clusters

What would you like to be added:
This request is specific to management clusters. We would like to instruct EKS-Anywhere to either:

customize deployment.apps/cert-manager (i.e. specifically .spec.containers.args[*]).
or skip managing cert-manager altogether past the initial bootstrap.

Like cniConfig.cilium.skipUpgrade allows for a custom CNI.

Why is this needed:
We rely on cert-manager to issue certificates signed by a public Certification Authority for private endpoints, and therefore need to configure cert-manager with --dns01-recursive-nameservers-only to get around the split horizon for DNS01 challenge record verification.
Currently, if following the initial eksctl anywhere create cluster:

We manually remove cert-manager components (but the CRDs, so existing certificates.cert-manager.io objects remain).
Then recreate them through our custom cert-manager deployment in a different namespace.
Subsequent eksctl anywhere upgrade cluster fail with Error: failed to upgrade cluster: waiting for workload cluster capi components to be ready: waiting for cert-manager in namespace cert-manager: executing wait: executing wait: Error from server (NotFound): namespaces "cert-manager" not found

Currently, when attempting 2..

Following initial eksctl anywhere create cluster, all cert-manager components (but the CRDs) were manually removed:

kubectl delete namespace cert-manager
kubectl get clusterroles | grep cert-manager | awk '{print $1}' | xargs -n1 kubectl delete clusterrole
kubectl get clusterrolebindings | grep cert-manager | awk '{print $1}' | xargs -n1 kubectl delete clusterrolebinding
kubectl delete MutatingWebhookConfiguration cert-manager-webhook
kubectl delete ValidatingWebhookConfiguration cert-manager-webhook

And then redeployed through our custom cert-manager deployment (via helm, but that's irrelevant).
Subsequent eksctl anywhere create cluster fail with:

Error: failed to upgrade cluster: waiting for workload cluster capi components to be ready: waiting for cert-manager in namespace cert-manager: executing wait: executing wait: Error from server (NotFound): namespaces "cert-manager" not found

Any update for this issue?
I would like to use --dns01-recursive-nameservers-only in my cluster.


6 carousel block

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #6
Test URLs:

Before: https://main--vg-partsasist--hlxsites.hlx.page/
After: https://6-carousel-block--vg-partsasist--hlxsites.hlx.page/

The current sites' carousel does a 'slide' transition vs. appear. Is there a reason we didn't do a 'slide' here?

The current sites' carousel does a 'slide' transition vs. appear. Is there a reason we didn't do a 'slide' here?

I just wanted to have a functioning carousel for us to check first... I'll get to the adequate transitions now.


Ensure all workflows use Job Summaries for easy job overview

GitHub introduced support for Job Summaries - https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/
Example of a summary of the Code Build & Checks workflow - https://github.com/armadaproject/armada/actions/runs/4342671254
Implement Job Summaries for Lint workflow

Hey team! Please add your planning poker estimate with Zenhub @dejanzele @kannon92 @richscott @Sharpz7 @suprjinx

Hey team! Please add your planning poker estimate with Zenhub @ClifHouck @dejanzele @headphonejames @kannon92 @richscott @Sharpz7 @suprjinx

Hey @richscott, can I work on this issue? Wants to get my hand dirty with github actions if you are busy with some other issues!

Hello @itsaviral2609,
Thanks for taking interest in improving Armada CI.
I'd ask if you can make the following changes:

Scenario 1 - lint job succeeds - output a message saying No lint issues in Golang|TypeScript code depending on is it a golang linter job or ts linter job
Scenario 2 - lint job fails - output a list of lint issues which have the lint error, filename and line number which caused the lint issue

Can you please also create an example PR which introduces a lint issue in either Golang or Typescript to confirm it prints out the lint issues in correct format?

Hi @dejanzele
Didn't wanted to ask help for this but tried all possible ways to make it print in job summary but its failing after I introduced a error in applications.go file (created a unused function which will be detected by go-lint).

A little help in debugging would be appreciated :)


GO/No Go decision on the prototype - is it ready for submission?

Prototype ready for submission


Change chunk directory location issues

I've looked through docs and examples and I don't see a way to change the chunk directory location. I think it should be done when you instantiate FileReceiver, but I've tried many different ways and keep getting errors. Here's what my code looks like:
UploadController.php
$receiver = new FileReceiver(
    "file",
     $request,
     HandlerFactory::classFromRequest($request),
     "/change/directory/location/here"
);

Error
TypeError: Pion\Laravel\ChunkUpload\Save\ParallelSave::__construct(): Argument #3 ($chunkStorage) must be of type Pion\Laravel\ChunkUpload\Storage\ChunkStorage, string given, called in /app/vendor/pion/laravel-chunk-upload/src/Handler/Traits/HandleParallelUploadTrait.php on line 34 in file /app/vendor/pion/laravel-chunk-upload/src/Save/ParallelSave.php on line 45

The error indicates clearly that I should not pass a string, but I'm not sure what to put here instead?
I'd be glad to PR this into the docs once I understand how to do it properly.

Hi @lbz-life ,
the FileReceiver is full injectable so it is not possible do it this way. For this a config were you can change storage.
In filesystems.php make a new entry in disks:
 'mychunksfolder' => [
            'driver' => 'local',
            'root' => storage_path('app'),
            'visibility' => 'public',
        ],

Then in your config (like this file) change the storage.disk option with the name you have chosen

@pionl thank you for the reply. This makes sense and I can now see in the documentation where this is outlined. I was looking at things a little different, so I'm guessing that is why I glossed right over it.

@lbz-life any hints were the docs can be improved?


Add Community Extension InkJS

Edit gdjs authorization for InkJS extension and add Extension file

Demo project : https://gd.games/infokubarcade/ink-demo
The story is written in Ink and read by the extension.
The other content (text appearance, choice appearance, backgrounds etc.) are made with regular GDevelop events.

Thank you for submitting an extension.
A few things before starting the review:

The demo must be a project because it allows reviewers to understand how the extension is used.
The library should not be minified to let reviewers do a quick check for ill intended code.
The library version and a link to the repository should be added in a comment to allow extension maintainers to easily update it.

Hey - we would love to have this in the extension list. Is there any blocker or things we can help on, on the 3 points of the list written by @D8H?
Happy to discuss!

Hey, the only blocker is me not checking my Github account 😐
I'll do this right away so it will be ready for tomorrow morning 👌

Maintenance
Ink source : https://github.com/inkle/ink
InkJS : https://github.com/y-lohse/inkjs
Current support :
Ink 1.1.1
InkJS 2.2.0
Not supported :
Multiple flows (beta on Ink side)

Demo project : https://drive.google.com/drive/folders/1ttw6_2M3QryKNYx0pwtrZmQtJswevG9U?usp=sharing

For now i don't know how to not use the minified version since it's the only accessible file i know.
So let me know what i have to do to build a not minified file and i'll push it tomorrow.

For now i don't know how to not use the minified version since it's the only accessible file i know. So let me know what i have to do to build a not minified file and i'll push it tomorrow.

The library use the Terser plugin of Rollup. I guess you can get a not minified version by removing these lines: terser(),
https://github.com/y-lohse/inkjs/blob/master/rollup.config.js#L2C10-L2C17

Thank you for submitting an extension.
It looks great already. I have a few questions and suggestion:

Your example is great to show that the extension is actually easy to use. As the extension has a lot of features, it will probably frighten users if they can't rely on an example. Do you think it could be submitted too?

You can create a fork of the example repository: https://github.com/GDevelopApp/GDevelop-examples
It will allow you to give a link to open your example directly in GDevelop online editor https://editor.gdevelop.io/?project=https://raw.githubusercontent.com/infokub/GDevelop-examples/my-branch/examples/my-example/my-example.json
This way you won't have to upload the project archive nor push the extension at every back and forth (we can update the extension branch only once right before the merge). You'll only have to push the example changes.

When does a game need several stories?
Having to register variables for the VariableChanged condition to work doesn’t' sound user-friendly. Do you think the condition could automatically register the variable observer if it doesn't exist yet? In this case, the condition could return true as users may want to handle the initial value.
About ObserveAndConnectVariable

Does it work both ways?
What happens after a scene change? As it seems that the extension keeps a variable instance that will no longer exist.
I think it may be better not to keep this action.

ChangeVariableBoolean is missing a function group
"n°" is French for "#" but I guess just the number is better.
Classes don't need to be affected to a local variable. They can be used directly as in this documentation: https://wiki.gdevelop.io/gdevelop5/events/js-code/javascript-in-extensions/#embed-javascript-libraries-in-extensions
GDevelop JS editor understands JSDoc. It will give you better autocompletion.
https://jsdoc.app/about-getting-started
The library should not be defined globally as it could conflict with other extensions. You can remove the library package code and only keep the classes. If you put these classes in the same JS event as your own class, you'll even have autocompletion.

* Your example is great to show that the extension is actually easy to use. As the extension has a lot of features, it will probably frighten users if they can't rely on an example. Do you think it could be submitted too?

I could yes of course. I also know that EchoDangler is creating a template around it already.

* When does a game need several stories?

If we are talking about a classic VN. Never.
But if you are making a Quest System you could require to split that into multiple files (one per place for example) and not use the automatic flow of Ink.
I gave this possibility for not adding constraints for devs. But the counterpart is to write the Story ID everytime.
Maybe having a Default ID when it's blank ? Like Layers ?

* Having to register variables for the `VariableChanged` condition to work doesn’t' sound user-friendly. Do you think the condition could automatically register the variable observer if it doesn't exist yet? In this case, the condition could return true as users may want to handle the initial value.

I see what you mean, It's what you need to do with any other languages. I could make this auto yes. Just to be clear : the initial value is already set inside Ink, that's why there is no "Change" event thrown here.

* About `ObserveAndConnectVariable`

  * Does it work both ways?

It does it one way and a half.
In fact, you can't edit Ink stuff only using the internal "Change Variable" GDevelop obviously.
But if you use the Change Variable of Ink, it will also cycle through all the observers as well, and edit the Variable since you requested it with this Action.

  * What happens after a scene change? As it seems that the extension keeps a variable instance that will no longer exist.

Absolutely not handheld. You are right.

  * I think it may be better not to keep this action.

It's up to GDevelop.

* `ChangeVariableBoolean` is missing a function group
* "n°" is French for "#" but I guess just the number is better.

Noted.

* Classes don't need to be affected to a local variable. They can be used directly as in this documentation: https://wiki.gdevelop.io/gdevelop5/events/js-code/javascript-in-extensions/#embed-javascript-libraries-in-extensions

* GDevelop JS editor understands JSDoc. It will give you better autocompletion.
  https://jsdoc.app/about-getting-started

* The library should not be defined globally as it could conflict with other extensions. You can remove the library package code and only keep the classes. If you put these classes in the same JS event as your own class, you'll even have autocompletion.

I'll look forward this. It will require for me to re-write the entire extension though.
Side notes :

bug in Change Variable Number (return stuff instead of changing it)

The library should not be defined globally as it could conflict with other extensions. You can remove the library package code and only keep the classes. If you put these classes in the same JS event as your own class, you'll even have autocompletion.

I'll look forward this. It will require for me to re-write the entire extension though.

To save time, you can do search and replace into the extension JSON file. But, it seems there is only one occurrence of inkjs. (var story = new inkjs.Story(json);) so it should actually be faster manually.

I wonder if this shows that we should add an easier way to include entire JS files (and .d.ts TS definitions) to extensions.

Please attach a new version of the demo. It will help with the review process.

New demo
Inky_1.1.0.zip


Deep link to Voicemail Tab.

Is it possible to link to the Voicemail tab where users can view their voicemails?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 45541337-ecd7-5cf6-cbe4-3f0d2f39aa79
Version Independent ID: 6b4203f0-2844-06c9-eaa3-9cc03e6f76c0
Content: Create deep links - Teams
Content Source: msteams-platform/concepts/build-and-test/deep-links.md
Product: msteams
GitHub Login: @laujan
Microsoft Alias: lajanuar

@dan-wesley ,
Currently deep link to Voicemail tab is not implemented. You can deep link to App's tab.

@Subhasish-msft you got the wrong dan I think @danswiser

I am really sorry. Thanks for the correct tag.


chore(backend-defaults): Fixup docstring

Hey, I just made a Pull Request!
Fixed docstring to point to correct package
No changeset created as it's only a doc fix
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[X] All your commits have a Signed-off-by line in the message. (more info)

These strings actually do get shipped with the production packages (it's what people see in their code editors for example). So you can make a simple patch level changeset just saying "Minor document string update" or so

Ok, added.


Fixing bower.json

Pretty much the same as https://github.com/joelpurra/skipontab/pull/4

@adam-lynch: my comments on splitting the pull request to two parts (there are two fixes) and providing each with a better title applies here too. You now have push access. Thank you! =)


Biometrics interferes with wallet import

On two separate Android devices, both with version 3.33, importing the wallet using fingerprint on one and facial recognition on the other has failed. I've been required to select "Use Pin" and enter the pattern manually.

Hi @roguetr , yes we had to pull facial recognition unlock support for now as it's not considered a fully secure unlock on some phones, and wouldn't provide the required unlock event that the keystore needed to unlock the private key.
Perhaps we can support it like this: support a software lock of the key if using facial unlock. The PIN/Fingerprint lock can use the full secure enclave locking.

Hi James,
I'd be happy to use pin only but it seems to attempt facial recognition
with no option to disable it (I use pattern for system unlock but have face
data stored), so currently I just go through the process of clicking "use
pin", which prompts for facial recognition and then clicking "use pattern"
and entering the pattern.
This only seems to be an issue for wallet import. I've been able to
successfully click "use pin" and then facial recognition for transactions
though I'm not sure if that's consistent.
So a hard option for pin only would be good to avoid the double handling 🙏
I know this is unrelated but while I've got your attention, do you know if
there are any plans for dark mode and an activity search?
Thanks!
On Mon, 5 Jul 2021, 5:19 pm James Brown, @.***> wrote:

Hi @roguetr https://github.com/roguetr , yes we had to pull facial
recognition unlock support for now as it's not considered a fully secure
unlock on some phones, and wouldn't provide the required unlock event that
the keystore needed to unlock the private key.
Perhaps we can support it like this: support a software lock of the key if
using facial unlock. The PIN/Fingerprint lock can use the full secure
enclave locking.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AlphaWallet/alpha-wallet-android/issues/1903#issuecomment-873869014,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMS54GQOPHPOFZZDMFFJ4K3TWFMJJANCNFSM47NLLYIQ
.

Dark mode request @colourfreak is our UX designer. I'm a fan of app skins too.
Activity Search: I believe it's in iOS, so it should be coming. Good idea anyway, that would be useful.
Yes, the key biometrics handling needs updating - we switched to the newer Android API a while back but it just didn't work correctly. By now hopefully they have ironed out the issues.

Awesome, thanks! Looking forward to future updates. This app has by far has
been the most convenient and useful as a daily driver over any others that
I've ... persisted with :D
On Mon, 5 Jul 2021 at 17:53, James Brown @.***> wrote:

Dark mode request @colourfreak https://github.com/colourfreak is our UX
designer. I'm a fan of app skins too.
Activity Search: I believe it's in iOS, so it should be coming. Good idea
anyway, that would be useful.
Yes, the key biometrics handling needs updating - we switched to the newer
Android API a while back but it just didn't work correctly. By now
hopefully they have ironed out the issues.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AlphaWallet/alpha-wallet-android/issues/1903#issuecomment-873888606,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMS54GQL2JWTLVSFG5CUNYTTWFQHLANCNFSM47NLLYIQ
.

I know this is unrelated but while I've got your attention, do you know if
there are any plans for dark mode and an activity search?

We haven't thought about the dark mode yet. But we can put this in our backlog. But for the activity search is definitely a good suggestion. We already have it in iOS version of the app, the Android part is in progress.
@roguetr How do you usually search for activity? Would you rather search for an address, amount... ?

@colourfreak hmmm ... date or date range comes to mind first as I have had to scroll back a lot to find transactions I'm looking for. Token/coin second. Address would certainly be useful but more when scrutinising contract interactions. Amounts above or below a filtered threshold would also be useful.

@colourfreak this looks like it's a good issue on its own. An Activity sort by date, token name (any interaction with) and possibly token address is something I'd find very useful too. Sort by interaction with token does need extra support as currently we don't store eg the destination address of a token send; we decode this from the transaction input. This would have to be added to the activity database so it can be indexed, or more easily fetched from etherscan API on an ad-hoc basis.

@colourfreak this looks like it's a good issue on its own. An Activity sort by date, token name (any interaction with) and possibly token address is something I'd find very useful too. Sort by interaction with token does need extra support as currently we don't store eg the destination address of a token send; we decode this from the transaction input. This would have to be added to the activity database so it can be indexed, or more easily fetched from etherscan API on an ad-hoc basis.

Yeah. Very nice. I am adding this to my to-do list.

Banking apps should be a reference for us. They have to deal with the same issue. They allow users to search for payments from the past.

Closing as action looks complete


youtube_dl.utils.ExtractorError: Cannot parse data for Facebook video

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2020.09.20
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

PASTE VERBOSE LOG HERE

eric@eric-Latitude-E5510:~/tmp$ youtube-dl --recode-video mkv -k https://www.facebook.com/alice.offley/videos/10164224184305084/ --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--recode-video', 'mkv', '-k', 'https://www.facebook.com/alice.offley/videos/10164224184305084/', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2020.09.20
[debug] Python version 3.8.5 (CPython) - Linux-5.4.0-52-generic-x86_64-with-glibc2.29
[debug] exe versions: ffmpeg 4.2.4, ffprobe 4.2.4, rtmpdump 2.4
[debug] Proxy map: {}
[facebook]<PHONE_NUMBER>4305084: Downloading webpage
[facebook]<PHONE_NUMBER>4305084: Downloading webpage
[facebook]<PHONE_NUMBER>4305084: Downloading webpage
ERROR: Cannot parse data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 797, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 532, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/facebook.py", line 482, in _real_extract
_, info_dict = self._extract_from_url(
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/facebook.py", line 380, in _extract_from_url
raise ExtractorError('Cannot parse data')
youtube_dl.utils.ExtractorError: Cannot parse data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Description

WRITE DESCRIPTION HERE
youtube_dl.utils.ExtractorError: Cannot parse data for Facebook video, url in log above.

this link - https://www.facebook.com/alice.offley/videos/10164224184305084/
says content not available right now.

Video was playing at time of error.  I'll check again.
On 21/10/2020 21:28, october262 wrote:

this link -
https://www.facebook.com/alice.offley/videos/10164224184305084/
says content not available right now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/26958#issuecomment-713858636,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACMCATU2TIFBDY36NQ5LZGTSL477BANCNFSM4S2E57TQ.

For me, video is playable through FB, but error persists.
On 21/10/2020 21:28, october262 wrote:

this link -
https://www.facebook.com/alice.offley/videos/10164224184305084/
says content not available right now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/26958#issuecomment-713858636,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACMCATU2TIFBDY36NQ5LZGTSL477BANCNFSM4S2E57TQ.

still not playable for me. is the video a private video ??
if you can play the video click the 3 dots ...  in the upper right hand
corner of the video and see if there's an option to download/copy the URL of the video.

There's a "Copy link" (Firefox of Ubuntu) which gives:
https://www.facebook.com/510785083/videos/10164224184305084/
it's not private AFAIK, but I am friends with the person who posted it.
I tried youtube_dl with the URL above, still the same error.
On 22/10/2020 00:06, october262 wrote:

still not playable for me. is the video a private video ??
if you can play the video click the 3 dots ... in the upper right hand
corner of the video and see if there's an option to download/copy the
URL of the video.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/26958#issuecomment-713940450,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACMCATW5UQSWLIFWIVT3IDLSL5SRHANCNFSM4S2E57TQ.

try youtube-dl --force-generic-extractor  URL
or youtube-dl --username (your user name)  --password (your password) URL

Wow, interestingly the generic extractor works just fine! Used --cookies to download a private video successfully.

eric@eric-Latitude-E5510:~/tmp$ youtube-dl --recode-video mkv -k
https://www.facebook.com/510785083/videos/10164224184305084/
--force-generic-extractor
[generic]<PHONE_NUMBER>4305084: Requesting header
WARNING: Forcing on generic information extractor.
[generic]<PHONE_NUMBER>4305084: Downloading webpage
[generic]<PHONE_NUMBER>4305084: Extracting information
[redirect] Following redirect to
https://www.facebook.com/510785083/videos/10164224184305084/?_fb_noscript=1
[facebook]<PHONE_NUMBER>4305084: Downloading webpage
[facebook]<PHONE_NUMBER>4305084: Downloading webpage
[facebook]<PHONE_NUMBER>4305084: Downloading webpage
ERROR: Cannot parse data; please report this issue on
https://yt-dl.org/bug . Make sure you are using the latest version;
type  youtube-dl -U  to update. Be sure to call youtube-dl with the
--verbose flag and include its complete output.
On 22/10/2020 01:29, october262 wrote:

try youtube-dl --force-generic-extractor URL
or youtube-dl --username (your user name) --password (your password) URL
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/26958#issuecomment-714055961,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACMCATSRSECBBR7BI5BUSNDSL54GVANCNFSM4S2E57TQ.

Is there a way of specifying the username/password securely? I've tried
that before and had to reset the ID on several devices afterwards....
On 22/10/2020 01:29, october262 wrote:

try youtube-dl --force-generic-extractor URL
or youtube-dl --username (your user name) --password (your password) URL
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/26958#issuecomment-714055961,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACMCATSRSECBBR7BI5BUSNDSL54GVANCNFSM4S2E57TQ.

Thanks - what file do you specify with that option?
On 22/10/2020 08:58, Mattwmaster58 wrote:

Wow, interestingly the generic extractor works just fine! Used
|--cookies| to download a private video successfully.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/26958#issuecomment-714307634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACMCATXSYXPNTOIMTIPH74LSL7QZZANCNFSM4S2E57TQ.

@GoMeister I suspect the generic extractor won't work with --username and --password but haven't tried. I have also run into being forced to change my Facebook password when using the aforementioned options. I found success using --cookies to specify a cookies.txt file that I generated by logging into Facebook in a browser. I also used --add-header to add the UA of the browser I used to login but I'm unsure if that was necessary.
Interestingly, using --username + --password failed not using --force-default-extractor and made it so I had to change my facebook password. But if I used --add-header to specify a browser UA then I didn't have to change my facebook password.

I have another video that isn't working. I tried it with and without credentials and with the --force-generic-extractor and everything failed with the "cannot parse data" error
https://www.facebook.com/andrea.bondi.50/videos/4903472349693254
I tried --force-default-extractor but it says "error: no such option"