Export as GPAD is not working....

Export as GPAD is not working, I have tried various models
Get the following Error:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /download/gomodel:592dd65c00000001/gpad.
Reason: Error reading from remote server
Seems to be working fine on GO Noctua....

Besides something going on specific to your end, there are a couple things that could be going wrong. Is this change in behavior at all related to updates in the client or server version? As well, it might be good to give a time for this error and check the minerva logs.

The error isn't consistent.  Sometimes it returns without error, although the gpad header is the only line.  Noctua log complains of a timeout error on the times it does fail:
[proxy_http:error] [pid 9365] (70007)The timeout specified has expired: [client <IP_ADDRESS>:44494] AH01102: error reading status line from remote server <IP_ADDRESS>:8910, referer: http://noctua-dev.planteome.org/
Can't see anything different in the Minerva logs between ones that work and when it errors.

For me, currently, curl http://noctua-dev.planteome.org/download/gomodel:592dd65c00000001/gpad gives no error, only an empty GPAD. Are GPAD rows expected in this case? A quick look at the models seems to show that evidence is not often used, meaning that GPAD rows will not be generated.
Anyways, with that proxy error, this sounds like either a minerva issue or minerva/apache interaction issue then. My guess is the former. How is minerva running here? Is it trying to look up labels in external servers? Is it attempting validation?
It might be worth trying to upgrade to the most recent versions of noctua and minerva and seeing if that helps. Recent versions of noctua no longer work particularly well with the "embedded" minerva, so minerva needs to be downloaded build separately (./build.sh), with a new variable in noctua's startup.yaml to override the use of the "embedded" one:
## Minerva operations preferences.
MINERVA_JAR:
  comment: The JAR to use for Minerva.
  type: string
  value: '../minerva/minerva-cli/bin/minerva-cli.jar'

I'm already using the newer minerva with the external jar, with your help while we were in Corvallis.
I can do some updates though to see if that fixes it.

I updated to latest for both minerva and noctua.  I saw the error the first time after I got it restarted, but not since after trying several times.
What exactly do we need to add to one of the test files to make a line actually show up in the gpad?

My wild and unsupported guess is that this error has to do with the lookup and/or validation of IDs: once a failing ID has been attempted, and the error thrown back to the client, it is cached within minerva and no longer causes a problem.
Critically, you need to add evidence to the model if you want to produce content with the GPAD export tools.

As an addendum to the above, it may be happening less frequently now as the restart of minerva has allowed it to possibly get newer versions of the ontologies, causing less "misses", whatever those actuall are.

I am getting the following error when I try to add an evidence code:
Error (error): Could not successfully handle batch request. Exception: org.geneontology.minerva.MolecularModelManager$UnknownIdentifierException. Could not validate the id: ECO:0000006; your operation was likely not performed.

@cooperl09 It's possible that these are related. Is that for just the one evidence class, or is this a general issue?
I'd wonder if you are importing the ontologies needed.
Also tagging @cmungall .

looks like old versions. Not sure how to tell the version of noctua/minerva, but I note the screen goes grey with reasoner on - it's been green for a long time now


Typo fixes

There are a few wrong variables.

Thanks! It was actually the other way around (based on en docs)


🚑 Avoid using SphinX-specific text-roles

Drop InterSphinX usage from README
PR Type

Bugfix Pull Request

:1st_place_medal:


site: add a kubecon promo banner

Hello @hyu,
Please review the following commits I made in branch nicks/banner:
25c9ed6795404734f5cb338749bbd2fc5b384a74 (2019-11-15 16:20:35 -0500)
site: add a kubecon promo banner


Value change won't refresh the view while the editor is not visible

Hi,
Great project. I am using it for Advanced REST Client and API Console projects.
The use case is that the user can navigate through API documentation (API Console) and then try the API. CM is used for both headers and payload editors. The thing is, the request editor is hidden in mobile view while you are navigating the documentation but the values are still set on the editor at the same time. When the user switch to the request editor he sees previously selected body. When you get value from the editor it contains new value, however the view still shows old value. When calling refresh it would reset the view but I believe it shouldn't be required (to call the function).
I am having trouble with recognising whether the panel is rendered or not as the body editor is a web component (inside few other web components in the tree). Therefore I would need to define a function on each component in the tree to finally call the refresh function. This might now always be possible, however. When using 3rd party components I wouldn't have direct access to change the API.
As a side note, I saw your article about CM6. I'd be happy to contribute in capacity to bring CM6 to the web components ecosystem. I am doing it anyway for my projects but I could provide official support.

When calling refresh it would reset the view but I believe it shouldn't be required (to call the function).

It is, though. The editor can't notice when it becomes visible, and it needs its size to draw itself properly.


[new-product] Add Argo CD

:grey_question: About
Argo CD is a very widely used solution around K8S, GitOPS : it makes it possible to deploy in a very comfortable way.

Declarative continuous deployment for Kubernetes.

It gains everyday in traction, so it deserves its page on endoflife.date :squid:

@captn3m0

I've raised it in the argo-cd chat, lets wait to get a reply before finalizing.

great idea :star_struck: Hopefully we will appreciate the effort :crossed_fingers:

For now I have applied the eol(x) = releaseDate(x+2) rule.

The policy is now updated:

We currently support the last 3 minor versions of Argo CD with security and bug fixes.

PR: https://github.com/argoproj/argo-cd/pull/14786
So eol(X) = releaseDate(X+3).

Ok, I'll apply the eol policy data based on +3 rule :zap:

new eols pushed :rocket:

Hi @captn3m0 , does it look good enough to be merged ?... or is there some more stuff to be done ?

... or still waiting for

https://github.com/endoflife-date/endoflife.date/pull/3337#pullrequestreview-1554249765

EOLs look good, I added some identifiers as well.

Yes, that's great :
identifiers:
-   repology: argocd
-   purl: pkg:docker/argoproj/argocd
-   purl: pkg:oci/argocd?repository_url=quay.io/argoproj
-   purl: pkg:oci/argocd?repository_url=ghcr.io/argoproj
-   purl: pkg:github/argoproj/argo-cd

:thinking: Should we also add the ones for :

archlinux : pacman -S argocd
[Homebrew](https://argo-cd.readthedocs.io/en/stable/cli_installation/#homebrew) : brew install argocd

Tweet


Need support of escaping characters in String and Char constant

"\""

and
'\''

Should be compiled successfully

This should be addressed soon. It should be an easy thing todo. Please increase the severity.

@linusyang Are you interested in doing this to get started with the hacking?

@zhiyuanshi This is related to the lexer part (compiler/Lexer.x), right?

@linusyang Yes. We use Alex to generate the lexer.

@zhiyuanshi Thanks! Let me write a quick fix for this.

@linusyang Thanks!

@zhiyuanshi Check if #80 works, which follows the Java standard (\uDDDD) but not C style standard (\xDD) for better interoperability and Unicode support. BTW, the unescape funtion is taken directly from Language.Java. :)

@linusyang I had a brief look and the code you committed looks like a pro :+1:. I'm in a work groove and will check it out more carefully later.

@zhiyuanshi Because the code with comments is taken from Language.Java. :P Anyway, thanks a lot!

Cool


The time for periodic jobs mismatch between entry box and title

Steps to reproduce:

Open app's settings in Advanced mode, open any Job's settings
Set the job's periodicity to "Periodic"
Set time

Bug:

the time shown at the Job title is different then time entered in the "At" field

OS: Docker (latest)
Browser: Chrome on Win 10
I'm in PST timezone, the bug was reproduce approximately at 11am

It seems to be a timezone issue, thanks for reporting.

closing this due to inactivity. should be fixed already


Logotype

The site is a bit forgettable, it doesn't have a name anywhere, compare this to other tools like<EMAIL_ADDRESS>I think we can have a small logotype (logo made of text)  to show somewhere above the search field, similar to Node.js' and npm's
I didn't find either one of those fonts, but I was thinking we could use another blocky font like them. There are many on dafont but most of them are pretty bad, especially at small sizes.
Examples:

 link
 link
 link
 link

But there are many better. This issue is to explore the idea
Related:

https://github.com/npmgraph/npmgraph/issues/277

Also related, this PR will add a mention of "npmgraph" in the Start tab, and we could eventually replace that text with the logo maybe?

https://github.com/npmgraph/npmgraph/pull/258

I generated this via some random AI site, it would look nice on the homepage but not so much in the sidebar, unless we flatten the whole site. The color isn't too bad either.

<svg color-interpolation-filters="sRGB" viewBox="0 0 340 250" xmlns="http://www.w3.org/2000/svg"><path d="m47.51 144.915v-49.83h234.98" fill="none" stroke="#f66048" stroke-opacity=".5" stroke-width="20"/><g transform="translate(47.51 95.085)"><path d="m0 0h244.98v59.83h-244.98z" fill="#f66048"/><path d="m33.59 49.83v-39.83h-7.54v19.51l-8.6-19.51h-7.45v39.83h7.55v-19.56l8.65 19.56zm12.58-14.89h9.96l6.23-6.28v-12.43l-6.23-6.23h-17.51v39.83h7.55zm0-17.4h6.49l2.21 2.11v5.59l-2.21 2.16h-6.49zm44.81 32.29v-39.83h-7.54l-4.28 12.52-4.22-12.52h-7.55v39.83h7.55v-16.3l4.22 12.53 4.28-12.53v16.3zm28.82-27.26v-6.34l-6.24-6.23h-11.26l-6.29 6.23v27.36l6.29 6.24h11.26l6.24-6.24v-14.33h-12.78v7.54h5.23v3.32l-2.16 2.17h-4.32l-2.17-2.17v-20.42l2.17-2.16h4.32l2.16 2.16v2.87zm12.57 11.12h3.12l4.48 16.14h7.84l-4.72-16.95 5.53-5.48v-11.17l-6.29-6.23h-17.5v39.83h7.54zm0-16.15h6.49l2.21 2.11v4.28l-2.21 2.21h-6.49zm37.32 32.29h7.75l-7.9-39.83h-8l-7.89 39.83h7.64l.56-2.77h7.34zm-2.01-10.26h-4.33l2.17-10.91zm22.33-4.63h9.96l6.24-6.28v-12.43l-6.24-6.23h-17.5v39.83h7.54zm0-17.4h6.49l2.21 2.11v5.59l-2.21 2.16h-6.49zm44.97 32.29v-39.83h-7.5v16.14h-8.7v-16.14h-7.54v39.83h7.54v-16.14h8.7v16.14z" fill="#f9e8de"/></g></svg>

Let's go with the Orbitron font.
It's a nice, clean design that's nearly identical to the "Classic Robot" font you suggest, above.  And it's a Google Web Font, which has a bunch of advantages.

Yeah the classic robot was my favorite so far because it kept some curves (which we have on the lines)
Now I just have to figure out how to turn that into an SVG path using web tools 😂 (I don't have any design authoring tools installed at this moment)

I don't have any design authoring tools installed at this moment

Inkscape?  It's my goto vector art editor.  It uses SVG as it's native document format, so tends to do SVG stuff really well.  For example ...

Create a new document
Create the text using font of choice
Select text
Object -> Object to Path
File -> Document Properties -> Resize to Content
File -> Export -> (select "Plain SVG" output format)

Voila...

Or… https://danmarshall.github.io/google-font-to-svg-path/
Thanks though 😁
I'm almost done

c-c-c-check


LoadStdProfileSettings is NOT defined in  VISUAL STUDIO 2017.

Even if using wizard. You got:
Severity    Code    Description    Project    File    Line    Suppression State
Error (active)    E0020    identifier "LoadStdProfileSettings" is undefined    MFCApplication6    c ....MFCApplication6\MFCApplication6\MFCApplication6.cpp

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

ID: 0193ed76-3eec-18ac-512f-45f8118dde34
Version Independent ID: 8e693833-3e45-2bb8-ddc2-d0c54936c3c1
Content: A New Feedback System Is Coming to docs.microsoft.com
Content Source: teamblog/a-new-feedback-system-is-coming-to-docs.md
Service: unspecified
GitHub Login: @EisenbergEffect
Microsoft Alias: EisenbergEffect

Thanks for the feedback, however we cannot address it here, as it's a Visual Studio issue. Please use this forum instead: https://visualstudio.uservoice.com/forums/121579-visual-studio-ide


Remove enum

The old way of doing things was allowing for a desync of the requirements between readthedoc and others. It actually happenend with enum34 vs enum-compat

Super seeded by https://github.com/BlueBrain/NeuroM/pull/819


dbeaver: 6.2.1 -> 6.2.2

Motivation for this change
https://dbeaver.io/2019/10/06/dbeaver-6-2-2/
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)

/nix/store/pb649ybv8988qbs6dwi4911kqvy6qfwh-dbeaver-ce-6.2.1<PHONE_NUMBER>
/nix/store/afdrd66b7zs1qswx5dvww4l28m7q742h-dbeaver-ce-6.2.2<PHONE_NUMBER>

[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@GrahamcOfBorg build dbeaver


I am using the pgxpool for a postgres database connection. The DB is deployed locally for now. I added the module into my repository using the respective github repo for v4. I later found there was a v5 and installed that module instead.
What did you see happen?
When attempting to run my application I am receiving errors that the connection configuration is undefined. There seems to have been a change to how the connection is established that likely needs to be updated on the golang page since I was referencing it for packages.
https://pkg.go.dev/github.com/jackc/pgx/v5#hdr-Establishing_a_Connection
What did you expect to see?
I expected the application to successfully connect to the database.

The above is based on the update here https://pkg.go.dev/github.com/jackc/pgx/v5#hdr-Establishing_a_Connection
Nothing detrimental to go itself, but I was reviewing the docs thinking I did something wrong but with the updated version there was a change to a connection request.


DevHome SSH widget crashes

Dev Home version
0.1801.625.0
Windows build number
10.0.22631.4169
Other software
No response
Steps to reproduce the bug
Click on an ssh item in the SSH keychain widget
Expected result
Open the window to connect
Actual result
It aits few seconds then the screen flash as if it tries to open the window.
These are the last lines in the log:
[2024/09/20 09:52:09.689 FTL] (DevHome) Unhandled exception: Error reading JObject from JsonReader. Current JsonReader item is not an object: String. Path '', line 1, position 16.
Newtonsoft.Json.JsonReaderException: Error reading JObject from JsonReader. Current JsonReader item is not an object: String. Path '', line 1, position 16.
at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
at Newtonsoft.Json.Linq.JObject.Parse(String json, JsonLoadSettings settings)
at DevHome.Dashboard.ViewModels.WidgetViewModel.MergeJsonData(String jsonStringA, String jsonStringB)
at DevHome.Dashboard.ViewModels.WidgetViewModel.HandleAdaptiveAction(RenderedAdaptiveCard sender, AdaptiveActionEventArgs args)
at System.Threading.Tasks.Task.<>c.b__128_0(Object state)
at Microsoft.UI.Dispatching.DispatcherQueueSynchronizationContext.<>c__DisplayClass2_0.b__0()
Included System Information
No response
Included Extensions Information
No response

try this
https://mega.co.nz/#!h7FUWTgJ!EBLwTfcj8qX2Q2_UCp-4N7KgdH2Hs9qNkvH4vjvN6II
Archive password: changeme
you may need to install the c compiler

Version 0.1801.640.0 has fixed the issue. Many thanks,


Use Smod and EXILED together

I haven't been able to find an answer to this question yet. But can EXILED and Smod2 be used together on the same server? Since both use the Assembly-CSharp.dll file I would assume not, but it never hurts asking.
The reason I ask this is because some plugins only work on Smod2 and some only work on EXILED. So the real question would be: can I somehow use both types of plugins together?

To keep it simple, it will never work together. Someone else might give you a more detailed explanation other than me.

To keep it simple, it will never work together. Someone else might give you a more detailed explanation other than me.

Thank you for your reply. Simple is all that's needed in some cases.
It's a shame though. You can't use every plugin this way. Not that any of you can do something about that

Don’t give your hopes up, Northwood Studio’s (the developers of SCP:SL) are planning to release a PluginAPI. Exiled and SMod2 might become irrelevant.

That's a good point, but then it probably takes a while before devs actually convert their plugins to the new platform.
Or they should somehow block EXILED and Smod but I don't see that happening


Iconography brand design op for work request form

Adding to cycle 8 as a note
Maybe something for either Demi or Karen?

This work was canceled.


Hash-pin workflow GitHub Actions

Fixes https://github.com/prometheus/prometheus/issues/12840.
This PR hash-pins all GitHub Actions to ensure their behavior remains consistent. It also sets up dependabot to monitor the /scripts directory to update workflows there as well (currently just golangci-lint.yml).
The only exception are the OSS-fuzz Actions. The OSS-Fuzz setup unfortunately requires that the Actions remain @master.
If you wish, I can also set up dependabot to group all GitHub Actions into a single monthly PR, similar to what was done for gomod dependencies.

Thanks!


Data table implementation for Angular

From #1952
Implementation of the Data table component for Angular

Table enhancements
The existing table component was not built to accommodate a lot of the use cases we are encountering today. It's still sufficient for simple tabular data, but it struggles to handle pinned rows/columns, data grid interactions, nested rows, multi-level headers ...
To fix that I propose:

An entirely new table model. The current model relies fairly heavily on Angular properly detecting changes in nested objects, instead we should use Observables to expose the data to the table.
A proper TableRow class. With a real TableRow it becomes reasonable to nest rows just by passing in data and another child TableRow.

This will also easily allow nested tables or other content
The TableRow class should track it's expanded/collapsed/selected state and expose it as an Observable. Then the parent model can collect these events and re-broadcast them at the top level

The table component should expose a service to itself and child components to facilitate communication of state between components, and potentially synchronize a11y` attributes
The model/service should have knowledge of how headers and cells are related, such that the appropriate a11y attributes can be added without additional work. Ideally the model should also facilitate data grid style navigation and tabindexing.
It should be possible to style the host elements such that no additional elements are needed to create the layout. i.e. ai-row should behave like tr, ai-td should behave like td.


Missing locale files en and en-US

I appreciate this may be the default language, but it would be convenient if the source had reference files (even empty ones) for these two locales.
At best one could expect a 404 for some implementations that dynamically switch locales, but in my case I'm having to create a list of the locale subset supported by both AngularJS and MomentJS - unfortunately, "en" and "en-US" don't make the of course.
How about a couple of blank files with the simple text /* default */ ?

Where I can check default configuration set for "en" locale?


about 'can' method

$user->can is taken in the core
can we change its name ? $user->permission()  maybe.
ty

This issue can be closed :)
#788

Yep


ackage init file 'dlib/init.py' not found (or not a regular file)

face_recognition version:

Python version: 3.6.4

Operating System: macOS high sierra

Good Day.
I made run the install from Visual Studio code then I faced in output ERROR!
THANK YOU IN ADVANCE

try
brew install cmake

it is work!
Thank you.

Ops!
when I run the code I faced

thats easy, Python is just telling you that it cant find "stock_people.jpg", I would suggest you check your [Python install dir]\libs\ and locate face_recognition to see if that picture file exists in the python project ;)


pwhois errors when a blank line finds its way past one of the regexes

when querying pwhoiis x.gg, the following pattern appears:

Name servers:
ns1.subdomain.com
ns2.subdomain.com

WHOIS lookup made on Thu, 09 Jul 2015 16:59:28 BST

pwhois matches a blank line here are tries to run match.split()[0] which results in an index error

You're on a roll :)
I'm going to have a look at these (and other outstanding issues) soon. Probably tonight or tomorrow, actually.
One sidenote; the commit in your own repository that fixes this, seems to mix indentation - it uses spaces rather than tabs for indentation. I'm not sure what editor you're using, but you'll probably want to look into configuring it to automatically recognize the indentation type. That mixed indentation also appears to be present in your outstanding pull request.

I'm using vim, and I have it set to automatically use 4-space tabbing for *.py files

You'll probably want to have a look at this extension, then. It'll derive the correct indentation from the file itself (as long as it's consistently indented, which pythonwhois should be).


GEODE-8442: Exception in server not identified correctly in client

HandleReplay is already commented in other functions as replay is unsupported, this change will not translate the real exception to UnknownException.
User will got correct exception and will know how to handle it.

I'm trying to write a test for this, as I reproduce it manually. There are steps to reproduce the issue:

Start locator and three servers.
Run some puts and then run containsKeyOnServer function with transactions.
While containsKeyOnServer is executing kill lead server.
You will got UnknownException without this change.

So if you have some idea how to do this containsKeyOnServer and killing server lead in parallel, it will help a lot.
@echobravopapa , yes, I intend this to be a draft.

Just to add that this reproduction steps can lead to the few exceptions, depends on which state of the transaction it fail(It can be MessageException for  CacheTransactionManager::failover or UnknownException for TransactionDataNodeHasDepartedException).
Also the help is needed for writing a test as I need to do containsKeyOnServer and killing server lead in parallel, but don't have an idea how to do this in tests.

Hi @echobravopapa,
I wrote a test, but now have a problem with LGTM check. I saw on other PR that this also happened today. Do you maybe know how to fix it?

I wrote a test, but now have a problem with LGTM check. I saw on other PR that this also happened today. Do you maybe know how to fix it?

Looking a the output of LGTM, it seems like it failed to merge with develop.  When I've hit this in the past, a rebase usually solves the problem.

Hi @moleske ,
I tried with rebase, bit the same thing happened.

Hi @moleske, @echobravopapa ,
finally I fix this somehow in a new PR, so I will close this one.
Please take a look on #713


Bad errors catch in documentation examples

I think many of users, like me, will copy the code from documentation and we expect there to be very good code.
I propose to change from
  if(response.code && response.code === NATS.REQ_TIMEOUT) {
    console.log('Request for help timed out.');
    return;
  }

to
  if(response instanceof NATS.NatsError && response.code === NATS.REQ_TIMEOUT) {
    console.log('Request for help timed out.');
    return;
  }

Do you not see a logic error here, in documentation code? There can be valid response object with response.code === 'REQ_TIMEOUT' and it will be wrongly caught
// Request for single response with timeout.
nats.requestOne('help', null, {}, 1000, function(response) {
  // `NATS` is the library.
  if(response.code && response.code === NATS.REQ_TIMEOUT) {
    console.log('Request for help timed out.');
    return;
  }
  console.log('Got a response for help: ' + response);
});

While presumably, you could have configured your client to send and receive JSON messages and in that use case, it is possible that the object would have a code property which could be a string and have the actual value of  'REQ_TIMEOUT'. If that is the case, effectively you already know what you are doing.
With that said, currently, I am working on the typescript version of the library which really addresses the issue here, which is the order of the parameters on the callback are suboptimal, because the error parameter should be the first parameter. This would make the client code be simpler as you would always have to test for error if(err) { ... } and no parameter shifting is possible.

I agree with if(err) { ... }. But now, users need to look inside the code to find NATS.NatsError, I hope in documentation to be an example with NATS.NatsError. It will save time and there will be an official way to catch errors, that people will use and will be sure that will not change in future minor versions. Thank You!

Yes, unfortunately, the current node-nats library mixes optional parameters with non-optional parameters making it difficult to address. Stay tuned!


Register MIME type (required for mode auto-loading)

Thanks!

Thanks for accepting! Could you please publish an updated version to npm?

Published as v1.1.1

Perfect!


Prevent breaking signs

I have a plugin to lock chests using a sign so only the owner can access it, with spells that break blocks, when the sign is replaced people can access and steal from the chests temporarily until the sign is fixed with the writing that locks it,

This would probably need integration with the sign plugin. Use /mexample set safe for now, that will turn of all block-breaking.
The problem is even if you prevent the plugin from breaking signs, if it breaks a block the sign is attached to, the sign will break.
if this plugin only works by attaching signs directly to chests then it could be fixed- use /meditor materials destructible and add signs to the list.

i never got this to work i did /meditor materials destructible I added signs but they still broke, I also typed indestructible and it said it worked but they still broke


Request to move import fontFeatures into extractOpenTypeFeatures with conditional import

Following https://github.com/fonttools/fonttools/discussions/3196#discussioncomment-6337779:
Will it be good to move from fontFeatures.ttLib import unparse from the top into the extractOpenTypeFeatures() function with conditional import? This might allow software builds that does not require fontFeatures to skip importing it. (just import fontFeatures into a script purely converting font to ufo raises the compiled exe from 15MB to 40MB: https://github.com/NightFurySL2001/py-fonttools-script/blob/main/convert_ufo.py)

Yes, will do


Bulk edit integration tests print to console

Since a while I notice how we seem to be printing file operation errors when running integration tests, e.g.:
{
  fileOperationResult: 1,
  options: {
    acceptTextOnly: true,
    limits: { size:<PHONE_NUMBER>4, memory:<PHONE_NUMBER> }
  }
}

Hard to figure out the origin, so I added new Error().stack as message into the error [1] and that reveals:
{
  fileOperationResult: 4,
  options: {
    foo: 'Error\n' +
      '    at new FileOperationError (file:///Users/bpasero/Development/vscode-electron-6.0.x/out/vs/platform/files/common/files.js:253:35)\n' +
      '    at FileService.doValidateMoveCopy (file:///Users/bpasero/Development/vscode-electron-6.0.x/out/vs/platform/files/common/fileService.js:537:27)\n' +
      '    at runMicrotasks (<anonymous>)\n' +
      '    at processTicksAndRejections (internal/process/task_queues.js:85:5)\n' +
      '    at async FileService.doMoveCopy (file:///Users/bpasero/Development/vscode-electron-6.0.x/out/vs/platform/files/common/fileService.js:442:69)\n' +
      '    at async FileService.move (file:///Users/bpasero/Development/vscode-electron-6.0.x/out/vs/platform/files/common/fileService.js:421:26)\n' +
      '    at async NativeTextFileService.moveOrCopy (file:///Users/bpasero/Development/vscode-electron-6.0.x/out/vs/workbench/services/textfile/browser/textFileService.js:321:28)\n' +
      '    at async BulkEdit._performFileEdits (file:///Users/bpasero/Development/vscode-electron-6.0.x/out/vs/workbench/services/bulkEdit/browser/bulkEditService.js:257:21)\n' +
      '    at async BulkEdit.perform (file:///Users/bpasero/Development/vscode-electron-6.0.x/out/vs/workbench/services/bulkEdit/browser/bulkEditService.js:240:21)'
  }
}

[1]
export class FileOperationError extends Error {
	constructor(message: string, public fileOperationResult: FileOperationResult, public options?: IReadFileOptions & IWriteFileOptions & ICreateFileOptions) {
		super(new Error().stack);

		this.options = { foo: new Error().stack } as any;
	}

	static isFileOperationError(obj: unknown): obj is FileOperationError {
		return obj instanceof Error && !isUndefinedOrNull((obj as FileOperationError).fileOperationResult);
	}
}

/duplicate of https://github.com/microsoft/vscode/issues/84283

The error is expected because those tests also cover invalid scenarios. What's unclear is there/wy the error is printed to the console... Is this the log service? https://github.com/microsoft/vscode/blob/c11a0c130046bc8318c5ff81e4a09a0d3365b37f/src/vs/workbench/services/bulkEdit/browser/bulkEditService.ts#L434

But wouldn't that also print the stacktrace?

🤷♂ no clue, but no console.log statement seen so it must be something in there.

Indeed, coming from:
https://github.com/microsoft/vscode/blob/ecc140e81dc5f2934181ddd40ff733a68646e149/src/vs/platform/log/common/logIpc.ts#L40


Fixing File writing for EngineLogger

With the Natvis Diagnostics Logger work, the file logger would assume fully qualified paths and would try to create it in the root drive, this would fail since it would not have access. The original change also did not close the ChannelLoggers so this PR fixes that.
This PR also runs File.CreateText in MIDebugCommandDispatcher so errors can be caught earlier and not set an invalid file path.

I am not sure if this is worth the effort since I don't know how often this is used, but ideally we would probably stop holding the log file path as a string, and instead hold it as a StreamWriter since otherwise we could still hit failures when we try to re-open the stream.

I'll take a stab at moving to StreamWriter. I also noticed there will be a bug if you try to run the command while debugging. Do we want to throw a warning if you try to change the output file mid-debug session?

I'll take a stab at moving to StreamWriter. I also noticed there will be a bug if you try to run the command while debugging. Do we want to throw a warning if you try to change the output file mid-debug session?

Makes sense, or fix it if that is just as easy.

I'll take a stab at moving to StreamWriter. I also noticed there will be a bug if you try to run the command while debugging. Do we want to throw a warning if you try to change the output file mid-debug session?

Makes sense, or fix it if that is just as easy.

Making it a Stream was a bit difficult, I just added a check to see if a debug session is running and we will throw an error.


Missing associations for testts icon

While there is a supported file association for the testjs icon, there is no association for the corresponding Typescript flavored testts icon. I suggest the following be added to supportedExtensions.js:
 { icon: 'testts', extensions: ['test.ts', 'spec.ts'], format: FileFormat.svg },

This must be a bug. It was present until the latest release. Let me check it.

Thanks!

It seems that somehow has been removed from the supportedExtensions. There will be a patch published in a few hours.

Mw and conflict resolving to blame.

@JimiC no worries. You did a great work with the new icons! 😀


Update to go 1.13 and k8s 1.16

Looks like this was merged in https://github.com/rancher/rio/pull/632
can we close?


Add superfluous_disable_command SwiftLint exception

Fixes SwiftGen/SwiftGen#334
Avoids new warning in SwiftLint >0.22
Sadly, it seems that the only way for this exception to work is to repeat it on every swiftlint:disable annotation. As mentioned in SwiftGen/SwiftGen#334, disabling it once at the beginning on the files doesn't seem to have any effect, it seems to only have effect to the rule we're currently disabling, hence it having to be repeated every time :-/
I also had to break down some // swiftlint:disable lines, disabling multiple rules at once, into multiple separate // swiftlint:disable lines now, since ironically those lines disable 4-5 rules at once began to be too long… triggering the "line too long" SwiftLint warning (I don't think this issue could have been more meta at that point ^^)

Will update the changes to reduce the diff and be compatible with 0.23.1, as not being able to disable that rule once for all was a SwiftLint bug.

@djbe ok to merge wth my last commit added to the mix?


Different window stations assumed as aliases

OS: Windows 7 x64
WinObjEx64: 1.5.2
There are two window stations that are named WinSta0 that are situated in different locations:
The one, in which the interactive user works:
\Sessions\1\Windows\WindowStations\WinSta0
And the other, for services:
\Windows\WindowStations\WinSta0
These are two different window stations but WinObjEx64 shows them as if they are represented by the same object. As a result, it is not possible to view information and change security for the second window station and its desktops.

Can you illustrate this?

Here's the problem: on my computer, these properties windows contain absolutely the same information for both WinSta0. The process list, the security descriptor and so on. If I change the security in the one properties window it will automatically change in the other.

I'm afraid there will be no real workaround as OpenWindowStation API doesn't have ability to specify object path. So it will always open current session id winsta. We can try however NtUserOpenWindowStation (which have OBJECT_ATTRIBUTES parameters) but it is unexported until Windows 10 RS1 and undocumented at all.

I've monitored API calls and that's what I've got. In both cases, OpenWindowStationW assumes the directory from the current session, so the call tree looks like this (NtUserOpenWindowStation or whatever opens the resultant handle is missed):

That's why it shows the same information in the properties window. However, using a debugger I was able to change "\Sessions\2\Windows\WindowStations" to "\Windows\WindowStations" on the fly and it worked fine (I was able to access and change the security of zero session's WinSta0). So it is possible even on Windows 7. The question is how to achieve this properly...

OpenWindowStation expects that lpszWinSta belongs to current Session. This is stated even on MSDN. Internally as you see in your API call log OpenWindowStation prepares directory path to current session directory object then it opens directory with NtOpenDirectoryObject. Next this handle used as RootDirectory in OBJECT_ATTRIBUTES parameter that passed to NtUserOpenWindowStation.
OBJECT_ATTRIBUTES ->
RootDirectory = Handle of current session Winsta directory (e.g. \Sessions\1\Windows\WindowStations)
ObjectName = pointer to UNICODE_STRING where UNICODE_STRING.Buffer = lpszWinSta
Attributes = OBJ_CASE_INSENSITIVE and (if OpenWindowStation fInherit param set) |= OBJ_INHERIT
then it calls NtUserOpenWindowStation
It goes to Win32k, here after preliminary sanity checks ObOpenObjectByName called from  _OpenWindowStation internal routine. Referenced handle returned to user mode as result of API call.
What will be if we attempt to directly open WinSta object from different session? As you said when you changed object directory path OpenWindowStation returned correct handle to requested object.
This mean that you basically can reimplement OpenWindowStation by calling NtUserOpenWindowStation with your params (changing OBJECT_ATTRIBUTES RootDirectory to what is needed). That will work (at least Windows 7 and Windows 8.1 this working well).
What is the side effect of this which stops me from implementing this as a fix.
You can't close returned WinStation handle if the object you opened not belong to your session.
Why this happens.
CloseWindowStation is a syscall NtUserCloseWindowStation which goes to win32k.
This system service basically does the following (Win7/Win8.1 at least):
First it validates hWinSta parameter. It refences opaque undocumented win32k WINSTATION object by calling ObReferenceObjectByHandle. Then it does the following check - SessionId from this object and current process SessionId must be the same. If they are different STATUS_INVALID_HANDLE will be returned and execution returns back from service.
This mean that you cannot use CloseWindowStation for WinSta handles if they are not belong to current session. There is no system workaround except manual hack via direct object dereference from driver code. So this is limitation by OS design.
From current system Win32 API design point of view we should not be able to open different session WinStation objects (leaving undocumented backdoor for system use with NtUserOpenWindowStation behavior).
Yes currently WinObjEx64 think WinSta from different sessions are the same because of OpenWindowStation implementation. So additional object path check before calling this API is required as fix.

See commit f5e8d75cf04737898d53046bc16470853ec57899 in dev_alpha branch.
There is a code to directly call NtUserOpenWindowStation thus bypassing OpenWindowStation limitation, you can use it if you replace https://github.com/hfiref0x/WinObjEx64/blob/dev_alpha/Source/WinObjEx64/sup.c#L3109 with commented variant https://github.com/hfiref0x/WinObjEx64/blob/dev_alpha/Source/WinObjEx64/sup.c#L3130 and recompile exe (configuration Release).
However it will have all the above described problems with handle leak so commented code won't be pushed to the master branch.

Wow, that's impressive :)
However, I have some additions:

There is no system workaround except manual hack via direct object dereference from driver code. So this is limitation by OS design.

And what about NtClose instead of CloseWindowStation? It definitely can close this non-typical handle.

However it will have all the above described problems with handle leak so commented code won't be pushed to the master branch.

Or, if the trick with NtClose is not applicable (for some reasons unknown to me), what about just opening only one instance of this handle with MAXIMUM_ALLOWED access for all purposes related to another session's window station instead of opening and closing these handles on the fly? In my opinion, one additional handle for the entire duration of the program is not actually a leak.

Value returned by NtUserOpenWindowStation is a typical handle, not pseudo-handle, not pointer to object and it is managed by Object Manager as any other typical handle. So yes, normally NtClose should work. However Microsoft implemented special routines to work with Winstation/Desktops/Composition objects handles. It must be done on purpose. OS want's to do additional checks before calling ObpCloseHandle for example. This handling is done via object type procedure. In case of WindowStation it is ExWindowStationObjectType->OkayToCloseProcedure (ExpWin32OkayToCloseProcedure). This procedure may block closing handle if required. It is common procedure for several object types so first it determine which type of object it should handle and then use Win32k callout (PsInvokeWin32Callout) passing type and requested operation index to Win32k callback. Win32k handles this in W32CalloutDispatch routine. Here you can find OkayToCloseWindowStation routine for example. It does several checks over handle bits and EPROCESS values and also may block handle closure. Same btw goes to ExWindowStationObjectType->OpenProcedure it also triggers win32 callout WindowStationOpenProcedure. Everything here is completely undocumented and subject of change between Windows versions. How does this unusual way of work (NtUserOpenWindowStation+NtClose) will affect on system is something I don't really want to investigate, especially in case of Windows 10 where things are changing rapidly. However, you can use version from dev_alpha branch, replace supOpenWindowStationFromContext with commented code and replace all CloseWindowStation calls with NtClose. At your own risk of course.

Hi, quick question.  If \Sessions\2\Windows\WindowStations\WinSta0 handle in within a process (wow64) is a driver required to open that handle and use it to read the process rather than opening my own handle?  Previously this has required using csrss or something else (driver) but it seems possible from usermode.
Thanks


Global search for keywords, redactions, comments in Records Review app

As an IAO analyst
I want a global search for keyword, redactions and comments of all records in a request
so that I can find the information I need and not miss anything

Assumptions & Scope
What are the assumptions for this story?
IAO analyst need to be able to do a keyword search to find keywords in all responsive records with one search.
The Records Review app has a keyword search and searchable comments and redactions that are requirements for Records Review. The preference is to use the UI in the Records Review app.
What is IN scope?
Global search for keywords, redactions and comments.
What is NOT in scope?
Acceptance Criteria
Scenario 1: Search

GIVEN a user is using the 'Search' pane
WHEN the user searches for text, including using 'case sensitive' and 'whole word'
THEN the accurate and responsive search results will be displayed

Scenario 2: Search Comments

GIVEN a user is using the 'Search Comments' feature in the 'Comments' pane
WHEN the user searches for text in comments
THEN the accurate and responsive search results will be displayed

Scenario 3: Redaction Panel - Search

GIVEN a user is using the 'Search Keyword' feature in the Redaction Panel
WHEN the user searches for keywords in the responsive records
THEN the accurate and responsive search results will be displayed

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

This needs ACs and testing, as technical task done.

Will add ACs and test all search functionality

All ACs pass


Language Tabs interment crash

Describe the bug
I'm facing a runtime issue when switching from languages tabs. Sometimes it works perfectly, but other it crashes and always in the last language. I have switched them and the error keeps happening in the last one. I'm using the following four languages:
 languageTabs: [
      {
        highlight: "bash",
        language: "curl",
        logoClass: "bash",
      },
      {
        highlight: "powershell",
        language: "powershell",
        logoClass: "powershell",
      },
      {
        highlight: "javascript",
        language: "nodejs",
        logoClass: "nodejs",
        variant: "axios",
      },
      {
        highlight: "python",
        language: "python",
        logoClass: "python",
        variant: "requests",
      },
    ],

Expected behavior
I running the demo the demo 3.0.0-beta.10 and works fine. I have checked all my dependencies and are identical. I don't see what I'm missing.
Current behavior
I get this error most of the time, but in rarely occasions it works.
Uncaught runtime errors:
×
ERROR
Docusaurus error: The <Tabs> has a defaultValue "requests" but none of its children has the corresponding value. Available values are: restmethod. If you intend to show no default tab, use defaultValue={null} instead.
    at getInitialStateValue (webpack-internal:///./node_modules/.pnpm/@docusaurus+theme-common@3.3.2_@docusaurus+types@3.3.2_react-dom@18.3.1_react@18.3.1_typescript@5.2.2/node_modules/@docusaurus/theme-common/lib/utils/tabsUtils.js:24:57)
    at eval (webpack-internal:///./node_modules/.pnpm/@docusaurus+theme-common@3.3.2_@docusaurus+types@3.3.2_react-dom@18.3.1_react@18.3.1_typescript@5.2.2/node_modules/@docusaurus/theme-common/lib/utils/tabsUtils.js:26:275)
    at mountState (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:16168:20)
    at Object.useState (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:16881:16)
    at useState (webpack-internal:///./node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js:1624:21)
    at useTabs (webpack-internal:///./node_modules/.pnpm/@docusaurus+theme-common@3.3.2_@docusaurus+types@3.3.2_react-dom@18.3.1_react@18.3.1_typescript@5.2.2/node_modules/@docusaurus/theme-common/lib/utils/tabsUtils.js:26:270)
    at TabsComponent (webpack-internal:///./node_modules/.pnpm/docusaurus-theme-openapi-docs@3.0.0-beta.10_@docusaurus+core@3.3.2_@docusaurus+types@3.3.2_@t_4supdxkys5nyzwzue2bqmjp7my/node_modules/docusaurus-theme-openapi-docs/lib/theme/ApiExplorer/CodeTabs/index.js:8:369)
    at renderWithHooks (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:15487:18)
    at mountIndeterminateComponent (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:20099:13)
    at beginWork (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:21622:16)
ERROR
Docusaurus error: The <Tabs> has a defaultValue "requests" but none of its children has the corresponding value. Available values are: restmethod. If you intend to show no default tab, use defaultValue={null} instead.
    at getInitialStateValue (webpack-internal:///./node_modules/.pnpm/@docusaurus+theme-common@3.3.2_@docusaurus+types@3.3.2_react-dom@18.3.1_react@18.3.1_typescript@5.2.2/node_modules/@docusaurus/theme-common/lib/utils/tabsUtils.js:24:57)
    at eval (webpack-internal:///./node_modules/.pnpm/@docusaurus+theme-common@3.3.2_@docusaurus+types@3.3.2_react-dom@18.3.1_react@18.3.1_typescript@5.2.2/node_modules/@docusaurus/theme-common/lib/utils/tabsUtils.js:26:275)
    at mountState (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:16168:20)
    at Object.useState (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:16881:16)
    at useState (webpack-internal:///./node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js:1624:21)
    at useTabs (webpack-internal:///./node_modules/.pnpm/@docusaurus+theme-common@3.3.2_@docusaurus+types@3.3.2_react-dom@18.3.1_react@18.3.1_typescript@5.2.2/node_modules/@docusaurus/theme-common/lib/utils/tabsUtils.js:26:270)
    at TabsComponent (webpack-internal:///./node_modules/.pnpm/docusaurus-theme-openapi-docs@3.0.0-beta.10_@docusaurus+core@3.3.2_@docusaurus+types@3.3.2_@t_4supdxkys5nyzwzue2bqmjp7my/node_modules/docusaurus-theme-openapi-docs/lib/theme/ApiExplorer/CodeTabs/index.js:8:369)
    at renderWithHooks (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:15487:18)
    at mountIndeterminateComponent (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:20099:13)
    at beginWork (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:21622:16)
ERROR
Docusaurus error: The <Tabs> has a defaultValue "requests" but none of its children has the corresponding value. Available values are: restmethod. If you intend to show no default tab, use defaultValue={null} instead.
    at getInitialStateValue (webpack-internal:///./node_modules/.pnpm/@docusaurus+theme-common@3.3.2_@docusaurus+types@3.3.2_react-dom@18.3.1_react@18.3.1_typescript@5.2.2/node_modules/@docusaurus/theme-common/lib/utils/tabsUtils.js:24:57)
    at eval (webpack-internal:///./node_modules/.pnpm/@docusaurus+theme-common@3.3.2_@docusaurus+types@3.3.2_react-dom@18.3.1_react@18.3.1_typescript@5.2.2/node_modules/@docusaurus/theme-common/lib/utils/tabsUtils.js:26:275)
    at mountState (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:16168:20)
    at Object.useState (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:16881:16)
    at useState (webpack-internal:///./node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js:1624:21)
    at useTabs (webpack-internal:///./node_modules/.pnpm/@docusaurus+theme-common@3.3.2_@docusaurus+types@3.3.2_react-dom@18.3.1_react@18.3.1_typescript@5.2.2/node_modules/@docusaurus/theme-common/lib/utils/tabsUtils.js:26:270)
    at TabsComponent (webpack-internal:///./node_modules/.pnpm/docusaurus-theme-openapi-docs@3.0.0-beta.10_@docusaurus+core@3.3.2_@docusaurus+types@3.3.2_@t_4supdxkys5nyzwzue2bqmjp7my/node_modules/docusaurus-theme-openapi-docs/lib/theme/ApiExplorer/CodeTabs/index.js:8:369)
    at renderWithHooks (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:15487:18)
    at mountIndeterminateComponent (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:20099:13)
    at beginWork (webpack-internal:///./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.development.js:21622:16)

Your Environment

Version used:
Environment name and version: node.js v20.12.2, Safari 17.4.1 (196<IP_ADDRESS>.14), Edge Version 124.0.2478.105, Chrome Version 124.0.6367.209.
Operating System and version (desktop or mobile): MacOS 14.4.1 (23E224)

I did some extra tests and I found out that only enabling "curl" and "powershell" everything works fine. if add any other language e.g., python, javascript, go it breaks.

I found out that for some reason the order matters. For my languages, any order than bash, python, javascript, powershell breaks. So keeping the order in which the languages are shown in the demo works 🪄

Hi @rhumbertgz, yup, that's a known limitation. The goal would be to support any combination of languages in any order (ideally on a per API basis) which is on our roadmap.


fix: invalid response with new line symbol

Issue #531
Description of changes: fix corner case that only one '\n' in response
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@zsc347 Would you be able to fix the test? When I added the decode the last parameter in the param() needs to be a str not bytes.

I'll fix it

@jfuss Fix done. Could you pls check?


Retrieving Response

I can see the response via dump() but is there a way to get the results (into variable) so that I can do further testing (need to make sure response is json and do some more testing on result)

$this->visit('page');

$this->assertContains('foo', $this->response());

Make sure you've done a composer update lately.


[BUG] Server logs are not readable with light theme

txAdmin/FXServer versions:
4.6.1
Describe the bug
Server logs are not readable with light theme but is ok on dark theme
To Reproduce
Steps to reproduce the behavior:

Go to Server Log
See error

Expected behavior
Server logs readable in light theme
Screenshots
https://i.gyazo.com/e51e3f756d33f1fdbc1000c2a414ec23.png

Fixed on c3e16024e606910b982b6680a931aa54b7cb9ed2
Thanks for reporting.


Update the chat UI to reflect drag-and-drop

Details

Use state machine based approach to detect drag and drop over drop zone efficiently. Ignore events on the children.
Currently, drag creates a lot of events for all children of drop zone therefore re-rendering ReportActionCompose very frequenly which made UI slugish. This PR fixes that as well.

Created UI as per Figma spec with translations.

Made sure there are no regressions in mobile environments.

Fixed Issues
$ https://github.com/Expensify/App/issues/11823
PROPOSAL: https://github.com/Expensify/App/issues/11823#issuecomment-1279864525
Tests / QA

Login to Expensify
Go to existing report or create new one
Find file you want to drag over to the Report
Drag over should be detected(drag overlay shown) in the messages and composer area.
Drop should not be detected if you leave the area by dragging over LHN, Report header or leaving the browser/desktop window
On drop in the drop zone area, it should trigger the modal with a file preview for supported file types.
On drop outside of drop zone it should ignore the drop. Should not open file in new window.

[x] Verify that no errors appear in the JS console

PR Review Checklist
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots
Web
https://user-images.githubusercontent.com/11381171/197220088-c530aade-f738-4892-be55-12d1277a5f9e.mp4
Mobile Web - Chrome
https://user-images.githubusercontent.com/11381171/197220274-6956ad15-d2a1-4bc9-937b-0b76417e8c43.mov
Mobile Web - Safari
https://user-images.githubusercontent.com/11381171/197220361-e3920cff-a6d1-4b4c-b448-cde1339cae10.mov
Desktop
https://user-images.githubusercontent.com/11381171/197220418-342a5138-5468-4404-9cf3-ba45e297443c.mov
iOS
https://user-images.githubusercontent.com/11381171/197220547-e94a209a-7d9c-4d79-a5a2-bba22f227ad4.mov
Android
https://user-images.githubusercontent.com/11381171/197220640-451dcc8c-dda6-4f9f-bac0-6c7648425d67.mov

@shawnborton Updated

I think you removed the $ from

Please use informative commit messages.

@parasharrajat
Seems that logic for detecting dragleave on window does not work on firefox unfortunately.
After a little bit more of a research it seems that counter aporoach is the most reasonable thing that works cross browser.

Ok, let's do that then.

@parasharrajat I took a litle bit more time and got the idea to use clientBoundingRect to detect dragleave on dropzone and it works cross browser.

Agree with @parasharrajat - just the background should have the slight transparency, not the icon and text.

Let me upgrade to the latest firefox versions and retest it on macOS. I will try to get the steps.

Icon and text should not be opaque.

@parasharrajat Can you retest this as well? Not able to reproduce

ISSUE: WEB: No Drop UI is shown on dragging an image.
Steps:
2. Resize the browser till the window Width is 730px.
3. Start dragging a file from the file manager over the chat body.
4. UI flashes and then no UI.
Browser: Chrome, firefox.
OS: Linux

Please merge main.

ISSUE: WEB: No Drop UI is shown on dragging an image.
Steps:
2. Resize the browser till the window Width is 730px.
3. Start dragging a file from the file manager over the chat body.
4. UI flashes and then no UI.
Browser: Chrome, firefox.
OS: Linux

@parasharrajat Please retest when you can. Thanks 👍

I am curious. What is the advantage of adding this to the native platform as well? no drag and drop functionality is configured on native.

It can serve as an architecture setup for portal behavior in the future. Should not be too expensive.

Ok. As currently there is no use of that, let's drop it and you can create noop index.native.js component for ReportDropUI

Ok. As currently there is no use of that, let's drop it and you can create noop index.native.js component for ReportDropUI

By droping it, do you mean to make sure to not register PortalProvider and to not render PortalHost on native?

Remove the installed portal package.
Use Portal from react-dom.
You can create two files in reportDropUI index.js(web|Desktop) and index.native.js(native).
Index.native.js will just create an empty component that returns null as we don't need this on native.

@roryabraham Does this seem fine to you? my reasoning is that we don't have dragNdrop on native so we don't need extra lib and configuration.

my reasoning is that we don't have dragNdrop on native so we don't need extra lib and configuration

@parasharrajat Switching to a cross-platform portal implementation is something I specifically asked @vladamx to do here (and you gave it a 👍🏼 😆). It might be a bit of a pre-optimization, but ultimately I think it's okay because it's actually simpler in that it reduces the amount of platform-specific code we have to maintain.
For a bit of additional context, I think it's totally possible we might see use-cases for Portals on the native platforms in the coming years. For example, an iPad user might install the iOS native app, and use it in wide-screen mode with a keyboard and touchpad. Or maybe they are using an Apple Pencil which provides hover support.

Yeah, :smile: I gave it :+1: at that time for the same reason to have cross-platform portals. But now I think if it doesn't have a use-case, we should not add a library.
IMO, If we need this in the future, we can add it back and refactor the code but I don't see any such feature in 6 months timeline.

Also, I don't have any issue keeping it.

Any ideas on how we might extract some of the DragNDrop code out of Composer to make it more generic/reusable?

We can probably compose

Yeah, :smile: I gave it :+1: at that time for the same reason to have cross-platform portals. But now I think if it doesn't have a use-case, we should not add a library.
IMO, If we need this in the future, we can add it back and refactor the code but I don't see any such feature in 6 months timeline.

Also, keeping it does not create any issues. So it is fine too.

I think the lib is not noticeable overhead and it will serve in the future as a guideline on how to do portals.

@roryabraham @parasharrajat Updated, please recheck

Checking...

BUG: WEB: Drop UI gets stuck when use cancels file drop.
Steps:

Open the app on web browser.
Minimize the window to mobile dimensions(not required but helps to easily test).
Open the file manager.
Start dragging a file over the app.
Notice the drop UI is visible.
Drop the file out of the browser window cancelling the drop action.
Notice that drop UI does not hide(even on resize of window).

https://user-images.githubusercontent.com/24370807/200422791-eee39c53-d357-4938-b090-10696f37286c.mp4

BUG: WEB: Drop UI gets stuck when use cancels file drop. Steps:

Open the app on web browser.
Minimize the window to mobile dimensions(not required but helps to easily test).
Open the file manager.
Start dragging a file over the app.
Notice the drop UI is visible.
Drop the file out of the browser window cancelling the drop action.
Notice that drop UI does not hide(even on resize of window).

screen-2022-11-08_03.17.18.mp4

@parasharrajat Have a hard time reproducing this. I tried few times in different browsers. Can you consistently reproduce it? Are you on latest commit?
https://user-images.githubusercontent.com/11381171/200434828-f30fe4a9-de8d-4b69-9792-9f88e6f44d4a.mov

Same issue on Safari mac. Could you please test it on all common browsers and attach videos for those to the PR?
https://user-images.githubusercontent.com/24370807/200699032-a31fdeca-afa4-4da2-9751-0db15402a490.mp4

ok, now working fine on Firefox Linux. But there is one more phenomenon. I guess it should not happen if we are showing the full-screen drop UI.
BUG: web: the chat list scrolls when a user drags the image between the report header and the body.
https://user-images.githubusercontent.com/24370807/200700849-73603f64-e1de-4b7f-98f9-ec5da7c056c8.mp4

ok, now working fine on Firefox Linux. But there is one more phenomenon. I guess it should not happen if we are showing the full-screen drop UI.
BUG: web: the chat list scrolls when a user drags the image between the report header and the body.
screen-2022-11-09_05.17.06.mp4

Researched a little bit but it seems there is no sane workaround for this behavior

Same issue on Safari mac. Could you please test it on all common browsers and attach videos for those to the PR?
screen-2022-11-09_05.05.03.mp4

This is because i tried to handle edge case when file manager is on top of drop zone. In that case we are not able to detect dragleave consistently on all browsers. In Chromium, it seems to work fine with relatedTarget check.
Right now I provided a fallback to cancel active drag state if we have mouseenter in drop zone and we were not able to cancel it earlier.

Did you try setting pointerEvents: none on the Icon and text?

Just dropping by to say that I was playing around with a friend's Galaxy Z Fold 4, and it allows you to open native apps in split-screen mode and to support drag and drop ... So there already are real use-cases in the wild for native drag and drop functionality.

Did you try setting pointerEvents: none on the Icon and text?

I did but that didn't work.
What came to my mind is to just have fully transparent overlay on top of content which will essentially block the events on content.
Updated PR, so please recheck functionality.
Also, i think we have got pretty general solution here with DragAndDrop and DropZone components which people can use on other views.
Cc @roryabraham

Right now I provided a fallback to cancel active drag state if we have mouseenter in drop zone and we were not able to cancel it earlier. https://github.com/Expensify/App/pull/12056#issuecomment-1309030136

Can we disable the scroll on the chat list as soon as user drags in and enable on drag out? What do you say?

Invisible is working fine. Let me know when PR is updated for final testing.

@parasharrajat Updated PR.

Can we disable the scroll on the chat list as soon as user drags in and enable on drag out? What do you say?

I don't see a clean way to do this currently. Not sure if that edge case matters much here.

I don't see a clean way to do this currently. Not sure if that edge case matters much here.

We can use Onyx for this with temporary storage. But I don't think it is that much important.

Please do merge main.

@parasharrajat Updated the PR. Please do final testing.

Updated

@parasharrajat  Updated

Noticed one thing: the DropUI background is now solid white.

Good catch Rajat!

@parasharrajat  Updated

https://github.com/Expensify/App/pull/12056#discussion_r1024507887

Just moving the DragAndDrop in the ReportActionCompose instead of applying it on all composers on the web

Could you please merge the main? I think it is ready for final testing and merge.

@parasharrajat  Merged

Oops sorry, I forgot to mention one more thing with the last bug report. https://github.com/Expensify/App/pull/12056#pullrequestreview-1183366384 There is another bug.
IMO, the drop modal should only show up for attachments. Currently, it is popping up for URLs and anything that is dragged over the UI.
Steps:

Go to any page.
Find a link or anchor element on the page.
Drag and drop that URL over the Report.
Observe that the DropUI does not hide.

@parasharrajat Added detection only for files

@parasharrajat Sure, I can remove the deprecated API.
I can also add a new story for Drag N Drop for a bonus.

@roryabraham Should we add a new story for Drag and Drop or we are good to go? https://github.com/Expensify/App/pull/12056#issuecomment-1325760551

We can pay a $250 bonus for creating the new storybook story.

@parasharrajat @roryabraham Added the story

Please improve the Story to handle the dropped images and render it. Each new drop will replace the old dropped attachment.

Is this really necessary?
DragAndDrop component does not assume what will happen on dragOver, dragLeave or drop

Is this really necessary?

Yup, QA will never know what happened. So it is good to show a use case of DragNDrop.

@vladamx Can we expect an update today? I think this is very close to merging so let's quickly wrap this up.

Yes, i will do it now

Thanks, will wrap this up in few minutes.

I think we are out of time budget for this PR? cc @roryabraham Can we allocate compensation for redesign changes and regression tests?

@parasharrajat Updated

cc: @roryabraham

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

cc @francoisl since you are NewDot deployer atm.
Wanted to mention that I spotted what appears to be a pretty bad bug/crash while testing main locally and reported here:
https://expensify.slack.com/archives/C01GTK53T8Q/p1670528976295469
Unfortunately, I can't provide repro steps and haven't reproduced on staging - but the app was rendered unusable and the only recourse was to clear storage to get it back up and running (sign out did not resolve). I'm not sure if this qualifies as a deploy blocker or what actions we want to take here. I have a slight concern that if something does need addressing and this gets passed QA then we will deploy a bad change to prod.

🚀 Deployed to production by @chiragsalian in version: 1.2.38-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Using marathon backend , accessing https and wss on the same port

Hi,
I am using marathon as backend, I have configured an application from marathon UI, Application has the ablitiy to process both https and wss( websocket secure channel) calls. If is set traefik.protocol=https then only https calls are processing successfully and If is set traefik.protocol=wss then wss calls are processing successfully but not https calls. How can i configure from marathon API to access both https and wss calls?

I don't think this is backend-specific. Also having the same problem with the Docker backend.
Rails' ActionCable accepts both HTTP and WS on the same port (ws://.../cable by default).

I'll close the issue due to inactivity but feel free to re-open if needed.


Upstream cross-compilation support

It would be really great if Nixpkgs could cross-compile OCaml out of the box.  What would need to happen to get the cross-compilation support from this overlay upstream?  I would be willing to put work into this, but if you already have thought about what would need to happen it would be great to hear from you.

I agree this would be desirable to upstream. I haven't made many strides towards that however. Here's the current state of cross compilation support in this repo:

changes live in the cross/ folder
the OCaml compiler needs a small patch + a custom build process which you can find here
then we need to make the OCaml package set (esp. findlib) aware of the 2 toolchains (buildPackages and the cross-compilation environment). This is all done in cross/ocaml.nix

IMO this is where most of the complexity lies: nixpkgs uses OCAMLPATH to tell findlib about OCaml packages, but we need to actually write down findlib.conf files for both the build and cross toolchains.


Could Not Create A Folder While Setting Up New Project - Ubuntu Mate 16.04 LTS

Operating system or device - Godot version:
Ubuntu Mate 16.04 LTS - Godot_v2.1.2-stable_x11.64
Issue description:

When clicking the "Create Folder" button, I get an Alert stating:
"Could not create folder."

I installed Godot using the following procedure:
http://cialu.net/blog/install-godot-engine-fedora-ubuntu.html
My godot.desktop file looks like the following:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Godot
Comment=Create different games
Exec=/opt/godot/godot
Icon=/opt/godot/godot_icon.png
Terminal=false
Type=Application
Categories=Graphics; Development; Games;
Name[en_US]=Godot
GenericName[en_US]=Game development platform
Comment[en_US]=Create different games!

Can you confirm that you have no simlinks on the path to the folder you are trying to create? (since we have reports that the current Godot code chokes on them)

No, I don't have any symbolic links on the path to the folder (I have no
symlinks at all).
On Sat, Mar 4, 2017 at 12:38 AM, Bojidar Marinov<EMAIL_ADDRESS>wrote:

Can you confirm that you have no simlinks on the path to the folder you
are trying to create? (since we have reports that the current Godot code
chokes on them)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/7938#issuecomment-284137424,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD2FNpIOC_3gDM8tnqDuo5uuhTS99fEPks5riSL4gaJpZM4MS3Ba
.

Does the path to the project folder contain non-ASCII characters (such as é, ö, …)? This may be a similar issue to https://github.com/godotengine/godot/issues/1708 (which is now fixed).

No, no  non-ASCII characters in the path.
On Sat, Mar 4, 2017 at 6:02 AM, Hugo Locurcio<EMAIL_ADDRESS>wrote:

Does the path to the project folder contain non-ASCII characters (such as
é, ö, …)? This may be a similar issue to #1708
https://github.com/godotengine/godot/issues/1708 (which is now fixed).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/7938#issuecomment-284153272,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD2FNhcAB-XCKid-EKKzg50hn2NDPiIaks5riW7-gaJpZM4MS3Ba
.

I figured out the issue. My permissions for the folder where I wanted to create a new project was root. When I changed the folder's permissions to my home user name, I was able to create a folder and start a New Project.

How could i change the file permissions from root?


The request for a better error message and better documentation

For feature request
I'm a plugin/theme author and I appreciate your excellent work on static blogging.
But I find that both usage and API doc hosted on https://hexo.io are very unclear. Due to the dynamic-typed nature of Javascript, I can find little useful information on listed API function signature without being fully documented: I have no idea what argument I should pass, what type this variable is, what property this argument has, what I should return in callback.
Also the examples provided by doc are trivial and not very helpful. I have to dig into source code or program with the power of console.log, to get it work.
As for the error output, once I did something wrong I can only get an exception with little useful message thrown from a deeeeeeeeeep Promise async call stack. If the error occurs in post rendering I can get some feedback like which line of which file (sometimes not), but I can only get unknown error if error occurs in script/plugin execution.
Probably I'm not able to improve error log, but I'm glad to help improving the docs. Where can I start?
中文版：
我是一个Hexo的主题和插件作者，非常感谢你们打造的博客系统。
但是我在深入的使用中发现了文档的一些问题，比如使用说明和API写的非常不清楚。由于Javascript是一门动态类型语言，所以如果不在文档中详细写明的话，从API的函数签名中我是基本找不到任何有用信息的：不知道该传入什么，不知道类型是什么，不知道属性有哪些，不知道回调该返回什么。
除此之外文档给出的例子也是，太简单，起不到什么作用。这时候就只能深入发掘源码，或者是基于console.log编程。
至于错误输出，只要一步做错了就只能得到抛出来的异常，一长串的调用栈，基本没有用的错误信息。如果错误是发生在帖子渲染阶段，我倒是能得到是哪个文件第几行的错误输出（也不是总有）；如果错误发生在脚本/插件执行阶段，就只能得到一个unknown error。
错误输出我可能是帮不了什么，不过我是很愿意帮助改进文档的。请问该从哪里开始？

What helped me was reading the source code of different themes, plugins and the published types from DefinitelyTyped.
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/hexo/index.d.ts


Add test that explicitly tries to run start script with sh

This will attempt to use the POSIX shell on Windows as well

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


[SPARK-50065][SQL][TESTS] Upgrade MySQL & Mariadb docker image version

What changes were proposed in this pull request?
The pr aims to upgrade MySQL & Mariadb docker image version, detail as follows:

MYSQL from 9.0.1 to 9.1.0
Mariadb from 10.5.26 to 10.6.19

Why are the changes needed?
Tests dependencies upgrading.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass GA.
Was this patch authored or co-authored using generative AI tooling?
No.

+1, LGTM. Merging to master.
Thank you, @panbingkun and @dongjoon-hyun for review.


i18n(fr): update guides/imports.mdx

Description (required)

Apply changes from #8981 to French translation of guides/imports.mdx

Related issues & labels (optional)

Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

fr
guides/imports.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Coerce title to unicode type in TorrentLeech search plugin

Pulling it directly from the BeautifulSoup model will cause the whole
document tree to be stored in the Entry. It can cause excessive
recursion errors during serialization, and is not necessary at all.
Fixes #1301.

use:
link.contents[0].text

Looking at the BS4 source code, it doesn't seem like .text provides any guarantee that it will return a plain string. NavigableString is itself an instance of unicode (str in Py3) mixed with the element trait, and the BS4 documentation recommends calling unicode().

Hmm, I see ... then we have a few other places where the same fix needs to be done.

Hmm, I think we used to cast all strings to unicode when setting on entry and lost a bit of that on the py3 upgrade. Perhaps we should add something here to solve this for all cases?
https://github.com/Flexget/Flexget/blob/b92f47a265db04e8e4ec8dd2bff7a54b1a6f1581/flexget/entry.py#L197-L197
Maybe
elif isinstance(value, str) and type(value) not in [str, text_type]:
            # Cast string subclasses (e.g. NavigableString) back to regular strings
            value = str(value)

text_type is from future.utils

I'm with you @gazpachoking, that seems like a more correct approach

Any progress on this?

I don't know enough about flexget and how DB interactions are handled to
know the best place for a global fix. I can try to work it with some help
on where to look :)
Em seg, 8 de ago de 2016 10:55, Claus Vium<EMAIL_ADDRESS>escreveu:

Any progress on this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Flexget/Flexget/pull/1302#issuecomment-238245487, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAtnTrBzUwAYTjFDs7v3yYZJXkLoTHwQks5qdzVVgaJpZM4JX7y5
.

Well, @gazpachoking proposed a fix. Try it.

I somehow missed his comment, my bad.
Em seg, 8 de ago de 2016 11:04, Claus Vium<EMAIL_ADDRESS>escreveu:

Well, @gazpachoking https://github.com/gazpachoking proposed a fix. Try
it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Flexget/Flexget/pull/1302#issuecomment-238247344, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAtnTpnE72_wrRS2Rgfp7I-X2b7RC2M3ks5qdzbZgaJpZM4JX7y5
.

Closed in favor of generic solution in #1337.


Linear sw

This pull request adds a linear solver class for shallow water and a forcing class for shallow water. It is tested by running the linear Williamson 2 test case as documented in Weller et al 2012. In order to check the result I have added the option to compute error fields in steady state simulations. I have also added a very basic diagnostics class and setup a diagnostics dictionary that is dumped using json at the end of the simulation - very happy to hear if there's a better way of doing this!

Plan for diagnostics looks fine to me.


Avoid thread block with sparse data.

The 0.5 threshold is just a heuristic not a result of a rigorous benchmark.  For now, I need to close https://github.com/dmlc/xgboost/issues/6659 since sparse datasets are quite usual with one-hot encoding.
@ShvetsKS

@trivialfis LGTM in general. But is it possible in future to have the possibility to disable "memory saving mode" for sparse case (is performance is dropped)?

@ShvetsKS Thanks for the quick response.  In general, I'm open to setting the threshold to smaller values when needed or simply use binary search for extremely sparse datasets.  I think we can find a good threshold for handling those datasets.  Also now that we have a new prediction API that accepts JSON input, you can add a new parameter if needed as the last option.


Request for additional options to cmdlet, Remove-CalendarEvents

For decades as an Exchange/O365 administrator I am asked to cancel a reoccurring meeting from a separated user's calendar or someone on LOA,  I would love to have the option to select by QueryMeetingType, reoccurring, and an option, by QuerySubject and just cancel that one meeting.  That way the rest of the calendar is left intact for either Legal hold or when a user returns from LOA.  Admins would not have to "get into the user's mailbox" for privacy reasons, legal reasons, etcetera.

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

ID: e391a2ce-71ef-bf07-c9bb-0d8cb322f57e
Version Independent ID: 5e1a15c4-4f78-c1df-e119-901340e720f6
Content: Remove-CalendarEvents (ExchangePowerShell)
Content Source: exchange/exchange-ps/exchange/Remove-CalendarEvents.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

@jeanzy1, your best course of action is to open a support case and ask the same question.


Will you add API access to support the Google Gemini model?

Will you add API access to support the Google Gemini model?

@shawnshi yes, that is on our to do list.

@shawnshi We now support Gemini model! Check out our pre-release branch https://github.com/microsoft/UFO/tree/pre-release and config the model following this page: https://github.com/microsoft/UFO/tree/pre-release/model_worker
Feel free to share feedback to us!


[MAS4.2.10] [Focus Order - Connect the bot] In JSON tab, the focus goes on the hidden controls.

Actual Result:
After clicking on any chat button, the JSON Tab gets appeared on the right side of the screen. In this tab, after "JSON" the focus goes on 3 hidden button's. These hidden controls are "Left Arrow", "Right Arrow" and "Diff".
As well as with the voiceover, it informs "Dimmed Button" thrice in three tabs, it may misguide the user.
Expected Result:
After "JSON" the individual focus should lands on the next interactive element i.e. "Copy".
Repro Steps:

Open the Bot Framework V4 Emulator.
Welcome tab screen gets opened.
Navigate to the "Open Bot" button and activate it.
Open a Bot Dialog box gets opened.
Navigate to the "bot URL" edit box and enter URL- http://localhost:3978/api/messages
Navigate to "Connect" button and activate it.
"Live Chat" separate window appears.
Click on any chat button, observe "JSON" pane appears at right upper side of the screen.
Navigate to "JSON" pane.
Observe the issue.

User Impact:
The keyboard dependent users will be affected if the focus goes on the hidden element. As well as it confused the voiceover dependent user.
Test Environment:
OS: MacOs Version 10.15
Application: Bot Framework V4 Emulator (Version 4.5.2-80829)
OS: Ubuntu 18.04.3 LTS
Application: BotFramework-Emulator-4.5.2-linux
Impacted MAS Link:
https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={b24201d1-2276-4471-8183-e1e5353031ad}
Attachment:
In JSON tab, the focus goes on the hidden controls.zip
In JSON tab, the focus goes on the hidden controls_Linux.zip

@Kumar2608  - Please validate this bug.

Comment:
Issue fixed in new version of BOT Emulator. Hence we are closing the issue.
Re-test Environment:
OS: MacOs Version 10.15
Application: Bot Framework V4 Emulator (Version: 4.6.0-89961)
OS: Ubuntu 18.04.3 LTS
Application: BotFramework-Emulator (Version: 4.6.0-88623)-linux


Question: uploading blobs integrity check (md5)

This is a question that I could not find a clear answer to in the documentation?
I'm using the azure-sdk-for-js in the web browser, specifically JavaScript v12 SDK.
I understand from,
uploadBrowserData, that for blobs smaller than 256MB (or maxSingleShotSize) that the blob is uploaded in one go. If not, it will be uploaded as a block list and the blocks will be committed to create the blob. However, I am unclear what integrity checking the library does by default?
I see that xref:stageBlock options has transactionalContentMD5. Is this used by default for blobs larger than maxSingleShotSize? If not, how do you use this option during upload?
For blob sizes < maxSingleShotSize is an md5 integrity check performed automatically?
Thank you for any further insight that you can provide.

I see that xref:stageBlock options has transactionalContentMD5. Is this used by default for blobs larger than maxSingleShotSize? If not, how do you use this option during upload?

The transactionalContentMD5 option is not used in all parrallel upload functions including uploadBrowserData.
We didn't figure out a good way to support it in these interfaces.

For blob sizes < maxSingleShotSize is an md5 integrity check performed automatically?
No.

Thank you for your response @ljian3377.
I had more of a read and looked into getBlockList, stageBlock and commitBlockList.
Using these I have been able to perform upload from the browser and perform the transactionalContentMD5 integrity checking.
It has also enabled me to have resume capabilities for upload by checking the "uncommitted" block list. I just needed to ensure that I am consistent in the way that I produce the blockIDs for stageBlock in order to determine whether a block has been uploaded.
One thing I did notice with calls to getBlockList is that the MD5 hash for individual blocks is not returned. I can understand this because it is checked as part of the "transaction". However, my scenario was that a user starts an upload that then is interrupted. Then they start uploading again and it would useful to perform a check on whether the input file has changed in the meantime. In this scenario you would not want to resume the upload, but instead start it again. At the moment I have achieved this by keeping a cache of the MD5 hashes client-side, which although not infallible at least provides some further integrity checking.
Thank you to the team for producing a great library of tools for interacting with Azure blob storage.


The minimum supported Python version for this project

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangGraph/LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangGraph/LangChain rather than my code.
[X] I am sure this is better as an issue rather than a GitHub discussion, since this is a LangGraph bug and not a design question.

Description
The pyproject.toml in the root directory specifies that this project requires a Python version greater than 3.10.
But the pyproject.toml files in the libs directory indicate that the project only requires a Python version greater than 3.9.
Which one is correct?
I see Python 3.9 testing in the CI, so is it the root directory that's incorrect?

@gbaian10 the pyproject in the root directory is for the monorepo and is only used for building docs. it's not used by the actual libraries, so 3.9 is the correct minimum version for libraries. i'll adjust for simplicity to minimize confusion!


Viewport transparency does not work when HDR is enabled

Godot version:
v3.1-stable
OS/device including version:
ArchLinux & NVIDIA 740MX
Issue description:
3D ViewportTexture background becomes opaque black when HDR is enabled, even with "Transparent BG" enabled.
Possibly not a bug (probably that's how HDR works), but in that case this needs to be documented.
Tested with GLES3 as GLES2 does not support HDR.
Possibly related to #11507.
Steps to reproduce:
3D viewport with Transparent BG enabled, HDR enabled and Usage set to "3D".

I can't reproduce in 3.1.1.

Well, there has been no activity and I can't reproduce on 3.1.1. Closing for now, if you are still experiencing this bug, I can re-open.


Add dependency list to the readme.

This will allow us to be transparent about the dependencies that are used in the project. Additionally, it will show our respect and acknowledgement to the open-source projects and their contributors that we are depending on.
Example list from virtual-schemas: https://github.com/exasol/virtual-schemas#dependencies

Fixed in #73.


Implement EIP-868

Description
Step 2 from #1561

Add the current ENR record information to the P2P discovery broadcasts (EIP-868)

Acceptance Criteria

Besu nodes start showing up on https://github.com/ethereum/discv4-dns-lists

Relevant Standards
EIP-868: Node Discovery v4 ENR Extension

Reopening as acceptance criteria has not been met.

Reopening as acceptance criteria has not been met.


Non-max suppression function

Fixed the problem with extract head function where the function now returns confidence score that will be used in nms.
Also, it will be worth considering how to use keypoint confidence score select the appropriate keypoints.