qt-wpe-simple-browser cannot open website

Hi:
When I am trying to port wpewebkit to riscv64 with QT.
I have a trouble on verify the webkit via browser on QEMU.
Here is my confiuration:
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo"
IMAGE_INSTALL_append = " qtbase-plugins qtwayland-plugins"
IMAGE_INSTALL_append = " wpewebkit-qtwpe-qml-plugin qt-wpe-simple-browser"
qtwpe enabled as well.
Threre is no websit displyed after lunch as below
qt-wpe-simple-browser -platform wayland http://www.google.com
There is only "HELLO WPE" in screen.
The debug message as below:
(process:314): GLib-DEBUG: 07:18:10.504: posix_spawn avoided (child_setup specified)
(process:314): GLib-DEBUG: 07:18:10.553: posix_spawn avoided (child_setup specified)
(process:324): GLib-GIO-DEBUG: 07:18:11.073: Failed to initialize portal (GNetworkMonitorPortal) for gio-network-monitor: Not using portals
(process:324): GLib-GIO-DEBUG: 07:18:11.198: Failed to initialize networkmanager (GNetworkMonitorNM) for gio-network-monitor: NetworkManager not running
(process:324): GLib-GIO-DEBUG: 07:18:11.215: _g_io_module_get_default: Found default implementation netlink (GNetworkMonitorNetlink) for ?gio-network-monitor?
I've already enable glib-2.0 and QTwebkit works fine.
Would you please share some information with debugging?
Thanks in advance.

Which QPA are you using? QtWPE works only with EGLFS and Wayland-EGL currently.

Currently I am using QT5.15-RC2.
If I set to wayland-egl, it has the same behavior with same error

If you use Wayland-EGL you need to run the browser in a wayland compositor. Is this case?

If you use Wayland-EGL you need to run the browser in a wayland compositor. Is it the case?

Yes, I leverage weston in my qemu.

QtWPE hasn't been tested with Qt 5.15 yet. Try with 5.14. I don't know how this qemu setup works anyway... do GL apps works there?

QtWPE hasn't been tested with Qt 5.15 yet. Try with 5.14. I don't know how this qemu setup works anyway... do GL apps works there?

Did you have the GL test apps name? I can try it locally.

Hi,
I have the same issue here too on a imx6 based device. My setup is:

QT 5.12.6
WebKit 2.28.2
wpebackend-fdo 1.6.0
libwpe 1.6.0

I've tested cog, and the MiniBrowser from WebKit which are running on Wayland. Those Browsers don't have this issue. I also tested the qt-wpe-simple-browser on a EGLFS and Wayland (with Weston compositor) backend, both tests showing the same result: "no webpage". I debugged the code and saw that the IPC::handleMessage<Messages::WebPageProxy::DecidePolicyForResponse>(decoder, this, &ProvisionalPageProxy::decidePolicyForResponse); ran into an indefinite alloc/dealloc loop.

A few more details: the ResourceResponseBase::ResourceResponseBase() is hanging or looping around.. @parheliamm as workaround you can try to disable bmalloc by DUSE_SYSTEM_MALLOC=ON. This works in my use-case. Currently I don't know what change within bmalloc breaks the qtwebview.

A few more details: the ResourceResponseBase::ResourceResponseBase() is hanging or looping around.. @parheliamm as workaround you can try to disable bmalloc by -DUSE_SYSTEM_MALLOC=ON. This works in my use-case. Currently I don't know what change within bmalloc breaks the qtwebview.

I will try it and feedback to you later.

Another quick test solution could be the Malloc=1 environment variable listed here:
https://trac.webkit.org/wiki/EnvironmentVariables

Still didn't work.
If I use cog as below, there is a segment fault
root@qemuriscv64:/# cog -P fdo https://www.baidu.com
[  269.592672] cog[346]: unhandled signal 11 code 0x1 at 0x0000000000000000 in cog[2ab7502000+4000]
[  269.593521] CPU: 1 PID: 346 Comm: cog Not tainted 5.6.14 #1
[  269.593979] epc:<PHONE_NUMBER>000000 ra : 0000003fc7e56e82 sp : 0000003fffad52a0
[  269.594705]  gp : 0000002ab7507800 tp : 0000003fc5f06150 t0 :<PHONE_NUMBER>000001
[  269.595310]  t1 : 0000003fc800413c t2 :<PHONE_NUMBER>000000 s0 : 0000003fffad5330
[  269.595873]  s1 :<PHONE_NUMBER>000002 a0 :<PHONE_NUMBER>000000 a1 : 0000003fac0052c0
[  269.596416]  a2 :<PHONE_NUMBER>000006 a3 : 0000002ab7508010 a4 : 0000003fac0052c0
[  269.596916]  a5 :<PHONE_NUMBER>000000 a6 :<PHONE_NUMBER>001000 a7 :<PHONE_NUMBER>000000
[  269.597447]  s2 : 0000003fffad52a0 s3 : 0000003fc46e8dd8 s4 :<PHONE_NUMBER>000000
[  269.597890]  s5 : 0000003fcb688888 s6 :<PHONE_NUMBER>000000 s7 : 0000003fffad5350
[  269.598411]  s8 : 0000003fffad5400 s9 : 0000003fffad54e8 s10:<PHONE_NUMBER>000002
[  269.598817]  s11: 0000003fcb688888 t3 : 0000003fc8f2d79a t4 : 0000003fc8f9ba90
[  269.599206]  t5 :<PHONE_NUMBER>000005 t6 : ffffffffffffffff
[  269.599418] status:<PHONE_NUMBER>006020 badaddr:<PHONE_NUMBER>000000 cause:<PHONE_NUMBER>00000c
If I use qt browser, it still a hello wpe in title, the website still cannot displayed.
Chenxi

Hello, (I think) I'm facing a the same issue.
Cog works fine, qt-wpe-simple-browser starts but no webpage is displayed.
I also tried as suggested above with Malloc=1 without any change.
Console output (no errors):
root@system:~# qt-wpe-simple-browser -platform wayland-egl www.google.com
Using Wayland-EGL
QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0
Using the 'xdg-shell' shell integration

root@system:~#

Poky: hardknott branch
Board: Raspberry Pi CM4 32bit
meta-webkit: master (2.32.1)
weston: 9.0.0
Qt: 5.12.10
Any idea?

I added some logging to WPEQtView and WPEQtViewBackend.
The backend seems to be loaded fine (runs to the end of create()).
Also the view runs to the end of createWebView(), however the only signals emitted are:

notifyUrlChangedCallback() - one time, as the url is set
notifyLoadProgressCallback() - one time, after notifyUrlChangedCallback

Then createWebView() ends and nothing more.
This happens with -DUSE_SYSTEM_MALLOC=ON also. Cog (0.10.0) is fine in both cases.

I'm experiencing the exact same result as above.
Running on i.MX8X with

Yocto Hardknott
Qt 5.15.2
wpebackend-fdo
meta-webkit main branch

I can run Cog with no problems, and the performance of that is showing very promising performance compared to Webengine currently used in my Qt application, so I want to try switching over to WPEWebkit.
But when running qt-wpe-simple-browser, all I get is a blank screen with "Hello WPE" in the top bar.
Also previously tried with Yocto Dunfell, Qt 5.14.2, exactly the same result regarding qt-wpe-simple-browser.
I have also tried -DUSE_SYSTEM_MALLOC=ON, which made no improvement.
Are there any more suggestions what I could try?

I'm still interested in a solution.


"Show playlist." displays nothing, but the processing search returns results.

As declared in the title. When I clicked the "Show playlist.", there is nothing displaying. Then, I tried to search some keyword, the return are listed well.
Alfred Version: 4.0.7 [1129]
ieasemusic: 1.3.4
BTW, it seems the searching function supports Pinyin only, and it seems the Chinese characters trigger nothing.

Great app and worflow, anyway!


[EXID] Added custom metadata to b2b-quickstart-add-guest-users-portal (ADO-2129378)

Added "ms.custom: engagement-fy23” metadata to the article.

Learn Build status updates of commit 403873a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/active-directory/external-identities/b2b-quickstart-add-guest-users-portal.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off

#sign-off


FarClip in custom camera

Hi, I am trying to set the far clip in a camera, using the setRay(..., far, near) API but this does not seem to work. The nearClip value works fine, but the farClip appears to be ignored and produces identical results regardless of the value. I am currently using the 1.1.2 release.
Thanks.
Cyrille

You use setRay in your own camera implementation and the SciVis renderer? The parameter order is actually setRay(ray, origin, direction, near, far).

OOps, apologies for the mistake in the API, I am using setRay correctly, and with the parameters in the right order setRay(..., near, far). I am indeed using my own camera implementation for custom clipping. And I am also using a custom renderer (https://github.com/BlueBrain/Brayns/blob/master/plugins/engines/ospray/ispc/render/ExtendedOBJRenderer.ispc) but I don't see why this should prevent the 'far' parameters from working. In order to isolate my problem, I will apply my changes to the OSPRay examples and see how it goes. I'll get back to you promptly.

Ok, I run the same test using OSPRay only. I run the ospGlutViewer with a sample obj file, and set the 'far' value in the perspective camera (line 55 of PerspectiveCamera.ispc) with some dummy value matching the size of the mesh, for ex:
setRay(ray, org, normalize(dir), self->super.nearClip, 1.f );
The 'far' value does not seem to have any effect, whatever I set it to.

Confused, but confirmed.
I just double-checked all code, and the values get set corretly - but I
agree that when I repeated exactly this experiment (hardcoding the
distance in PerspectvieCamera_setRay() I do not get any impact. Weird
indeed.
Looking into it right now.
Ingo
On 01/18/2017 02:11 AM, Cyrille Favreau wrote:

Ok, I run the same test using OSPRay only. I run the ospGlutViewer
with a sample obj file, and set the 'far' value in the perspective
camera (line 55 of PerspectiveCamera.ispc) with some dummy value
matching the size of the mesh, for ex:
setRay(ray, org, normalize(dir), self->super.nearClip, 1.f );
The 'far' value does not seem to have any effect, whatever I set it to.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ospray/OSPRay/issues/118#issuecomment-273421953,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABwZtaUsDVNgFNsv_fQ5ir71be1xATnaks5rTddfgaJpZM4Ll85k.

OK, found it - ospray/render/Renderer.ispc, line 114 (in my branch) :
     camera->initRay(camera,screenSample.ray,cameraSample);
     screenSample.ray.t = tMax;

Seems Johannes added that line to allow a depth texture to overwrite
that ray's own t value. Suggest changing that to
ray.t = min(ray.t,tMax).
Johannes - agreed?
Ingo
PS: @cryrille - as a quick-fix you should be able to uncomment this line
until Johannes pushes a real fix.
On 01/18/2017 02:11 AM, Cyrille Favreau wrote:

Ok, I run the same test using OSPRay only. I run the ospGlutViewer
with a sample obj file, and set the 'far' value in the perspective
camera (line 55 of PerspectiveCamera.ispc) with some dummy value
matching the size of the mesh, for ex:
setRay(ray, org, normalize(dir), self->super.nearClip, 1.f );
The 'far' value does not seem to have any effect, whatever I set it to.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ospray/OSPRay/issues/118#issuecomment-273421953,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABwZtaUsDVNgFNsv_fQ5ir71be1xATnaks5rTddfgaJpZM4Ll85k.

Looking much better !! Many thanks for that. Waiting for Johannes' agreement to close the issue then. Thanks again.

Hi guys, any idea when this fix will be merged? Thanks.

The fix is currently in devel, which means that it will make it into our next release. We only merge master when we do a release (it always points to the latest release).

Sounds cool. Thanks for that :-) I'll keep an eye on the next release then.


Progress on map/connectivity separation.

We continue separating maps from  the functionalities in fclaw2d_convenience by replacing fclaw2d_domain_new_conn_map in several applications.
Instead of p4est_connecitivity_new_* followed by fclaw2d_domain_new_conn_map, we now use fclaw2d_domain_new_* followed by  fclaw2d_global_store_domain and fclaw2d_global_store_map. Thereby, we separate map and domain creation and remove calls to p4est-internal functions in the applications.

I've been working on this too -   hopefully, we don't conflict.


account for border-width in medium toolbar

Before:

After:

:+1:

It's visually awkward to put the down arrow between two buttons. I'd suggest moving it to the second permanently.

@cruzanmo Also, do you want a "A1" svg for the button with a font that matches the others?


Search 5 feature/poc link as index

PR for prototyping iresearch based inverted index.

NOT INTENDED TO BE MERGED *

superseded with #14240


When try to check whether user had login to the system when website load State updates infinitely

Describe the issue:
When trying to check whether the user had a login to the system when the website State updates infinitely till we get a response back as far as I understood.
Code sample:
https://github.com/LSFLK/MedicinesforLK/blob/development/admin-portal/src/App.tsx#L26
This happens when we have selected workers as our storage option. This works fine for other two storage options (localstorage, session storage)
How to reproduce:

https://github.com/LSFLK/MedicinesforLK/blob/development/admin-portal/src/App.tsx#L26
Do something similar to the above code while have set the storage option to worker.

Expected behavior:
If the user logged in update the state to have authenticated true and loading false.
If the user is not logged in redirect the user to the login page.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: Latest
OS: Mac

The issue reproduced with create-react-app even without using silent auth check.
https://user-images.githubusercontent.com/32919513/185151655-9df2e5ed-20d2-45f1-908c-29f139b1e875.mp4

Closing this issue based on https://github.com/LSFLK/MedicinesforLK/pull/430


Query in cosmos not returning same results as a local mongodb 3.2.8 server

Hello,
I'm hoping someone can help with this issue. The below query runs fine on a direct mongodb server but on Azure it wont return results and I know there are documents that meet this condition.
db.collection.find({   "$and": [{       "metadata": {         "$elemMatch": {           "name": "location",           "value": {             "$eq": "GREAT_PLACE"           }         }       }     },     {       "metadata": {         "$elemMatch": {           "name": "isRegistered",           "value": {             "$eq": false           }         }       }     }   ] })
Thank you.

I also tried enabled both Aggregation Pipeline and Wire protocol preview features -- no luck.


Change MudChart's InputData type to List<decimal>

Feature request type
Other
Component name
MudChart
Is your feature request related to a problem?
Currently, MudBlazor uses double[] for MudChart's InputData collection & that's wrong for at least one, maybe even two reasons.
Describe the solution you'd like
First of all, InputData's actual value type must be changed to decimal, because double isn't even intended for usage outside of scientific scopes, as stated by Microsoft themselves (emphasis by me):

The Decimal value type is appropriate for financial calculations that require large numbers of significant integral and fractional digits and no round-off errors.
It [the Double value type, N.B.] is intended to represent values that are extremely large (such as distances between planets or galaxies) or extremely small (such as the molecular mass of a substance in kilograms) and that often are imprecise (such as the distance from earth to another solar system).

In other words: its capability of only doing narrowing conversions instead of real ones eliminates any chance for usage in chart value data.
Now, here's the main reason's proof, quoted from MS Docs again:

For example, 1/10, which is represented precisely by .1 as a decimal fraction, is represented by .001100110011 as a binary fraction, with the pattern "0011" repeating to infinity. In this case, the floating-point value provides an imprecise representation of the number that it represents. Performing additional mathematical operations on the original floating-point value often tends to increase its lack of precision.
A mathematical or comparison operation that uses a floating-point number might not yield the same result if a decimal number is used, because the binary floating-point number might not equal the decimal number.
(...)
When accuracy in numeric operations with fractional values is important, you can use the Decimal rather than the Double type.

Besides the above, I'd like to see InputData being of type IEnumerable<decimal> instead of decimal[], because let's face it: most people will assign it with data that originated from a LINQ statement, i. e. data from a database - which isn't only supposed to use decimal as its column type as well.
It also means an IEnumerable<decimal> (or a derived type like (I)List<decimal>) will be assigned to InputData - but being an Array-typed property, it requires an additional call to LINQ's ToArray() extension method.
So, turning
public double[] InputData { get; set; } = Array.Empty<double>();

into
public IEnumerable<decimal> InputData { get; set; } = Enumerable.Empty<decimal>();

would do both, fix the wrongly double value type & save us that (almost useless) transfer of enumeration values into an (explicitly, additionally allocated) Array of the exact same value type.
Have you seen this feature anywhere else?
The "feature" of misused float / double value types: yes. Way too often.
The real feature of using the correct decimal value type, preferably as an IEnumerable<decimal>: partly, because I'm using a workaround to overcome the aforementioned issues within my project.
Describe alternatives you've considered
Continued usage of my workaround - as the name already states, it's not supposed to last, but only to help me out until InputData is fixed.
I'd love to fix this myself for MudBlazor & make it my first contribution to this awesome project.
But prior to all that work, I'd like to get greenlit for it.
Pull Request

[X] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I agree, but I imagine we'd need to find a way to make it backwards compatible. It would be great to find a way to make it work for any datatype, maybe like other libraries and just accept an object that is converted to a decimal internally and just does formatting if the supplied values are int. Could even add parsing for strings.

I'd strongly suggest the opposite: deliberately break the current behavior, but do explicitly point it out in the release notes of the containing version.
Why you ask? - Because it makes (more) developers aware of possible misuse of double / float value types (maybe link to MS's explanation within release notes as well), but at the very same time offers the right fix (usage of decimal value type).
Additionally, using decimal would even allow for your suggestion regarding int as that's an implicit conversion, supported natively by C#. 😉

Hi.
I'm struggling to grasp some points here, your quotes literally say that double is intended to represent values aka they can be used to represent it visually. While charts are meant for data representation (regardless of how unusual it might seem). So, why prioritize precision on a chart?
As your quote suggests, decimals are for financial calculations, such as adding up sums A and B to obtain a total. However, even if you're displaying financial data on a chart, do you truly need decimals to be visible (idk like irrational numbers)? I find it hard to believe that visually, there would be a significant distinction between a double with rounding errors and a high-precision decimal on a chart. Canvas would probably not even able to show that difference (depends on the scale tho).
Moreover, decimal operations tend to be slower, consume more memory, and have a limited range. What if, for instance, I want to illustrate a line chart depicting the distances between objects in the universe and I use as input big numbers?

Hi Artyom!
It's pretty straightforward: it's not about precision, it's about that even MS' docs state that decimal shall be preferred over float & double at almost any time.
That's because both are imprecise (e.g. the 0.1 issue of float the most common example) and even besides that they're both not meant for what typical use cases of MudCharts are - instead, they're meant for things like distances between planets or molecular masses, i.e. values with lots of room for inaccurate fractional digits.
Regarding your remaining comment, IMHO, your thoughts start at the wrong end. It seems you're thinking about reasons why it should be changed to decimal as float should be fine - whereas my POV is that it was already initially designed wrong by choosing float instead of decimal, hence it's more of a bug that needs a fix.
Furthermore, the MS docs's whole point, put simply, is: use float & double for special cases, i.e. scientific use cases, not for common, ordinary usage as that's why we're given the decimal type.
Lastly, with all due respect, neither performance nor precision of decimal is - by far - as worse as you claim. It's actually the opposite for I'd say >90% of every MudBlazor users's scenarios.
So, yes, your last sentence's question, the distance between objects in the universe, is a use case for float (actually, probably double, but nevermind) - but that's about it.
Any other scenario (growth, heights, income, losses, stats in general & pretty much any other common, real world scenario that ever crossed my mind regarding usage of a chart to visually depict number data) would be better off with decimal instead.

Could we use INumber instead? It might eliminate users having to do any casting themselves.

It's pretty straightforward: it's not about precision, it's about that even MS' docs state that decimal shall be preferred over float & double at almost any time.

MS docs doesn't say that that decimal should be preferred at any time, it talks about the 0.1 issue and the accuracy, which is why it's important to use decimal when you care about fractional math, but you didn't explain why should we care about fractional math for the charts considering that decimals (numbers behind the decimal points not the type) for data visualization are considered as bad practice and 15-16 decimal digits precession is surely more than enough in case of statistics / visual representation, so it is about precision at some point. Your bold text also mainly talks about precision.
When you want to make a breaking change, there should be good arguments for it, not just "striving for the best code" & efforts to extract quotations from Microsoft documentation regarding decimal precision and far-fetch them for charts.
I almost haven't seen chart libraries (that do not accept generics) to use decimal, most of them use double as the core type, Radzen is not an exception (tho they do not specialize on charts, but neither us). It fact, many charting libraries are optimized for double data type.
I'm not sure if this is an argument for you. I understood your position in a way that most people miss the mark, but personally, I disagree. I believe that most engineers comprehend the appropriate situations for implementing decimal, double, or float data types.

Lastly, with all due respect, neither performance nor precision of decimal is - by far - as worse as you claim.

What I wanted to say is that float / double is a good trade-off between calculation storage capacity, precision and speed (hardware acceleration), not just performance, which is why excel is using this type as well.

Could we use INumber instead? It might eliminate users having to do any casting themselves.

Yes, that would be the most ideal solution and what I wanted to suggest too, but we need to drop .net6 support first, which I kinda want to do, but I need to discuss it with the MudBlazor members first.

FYI: We are dropping .net6 and it will be T : INumber for the charts in future as breaking change. This is pretty much end of story.

Could we use INumber instead? It might eliminate users having to do any casting themselves.

Definitely! IMHO, the best & most future-proof solution thus far! 👏🏻👍🏻

MS docs doesn't say that decimal should be preferred at any time, it talks about the 0.1 issue and the accuracy, which is why it's important to use decimal when you care about fractional math, but you didn't explain why should we care about fractional math for the charts considering that decimals (numbers behind the decimal points not the type) for data visualization are considered as bad practice and 15-16 decimal digits precession is surely more than enough in case of statistics / visual representation, so it is about precision at some point.

While it's true that it's not explicitly written like that there, it is explicitly written that float & double are for, I quote, numbers that are extremely large.
Additionally, the solely incapability of any float or double to be compared with exactly zero is, IMHO, already enough of a reason to ditch it for any non-scientific chart.
At the very least, any chart commonly visualizes data that came from a database or maybe external system - perhaps even with additional calculation done with those numbers.
But ultimately, the chart shows those numbers & those numbers, in 99% of the time, are supposed be stored neither as float nor double, but as decimal within the database or transferred from/to a(n external) service.
Hence: you're dealing with decimal, but are - currently - then forced to cast it to float or double which in turn not only probably & unnecessarily looses precision, but especially prevents comparison with zero as there is no real "zero" in a float or double.
So, after casting, you've got to call Math.Abs() & compare with float.Epsilon being greater or less than zero - again, unnecessarily imprecisely compared to "looping through" decimal from database/external service & straight usage of decimal.Zero for comparison.

Your bold text also mainly talks about precision. When you want to make a breaking change, there should be good arguments for it, not just "striving for the best code" & efforts to extract quotations from Microsoft documentation regarding decimal precision and far-fetch them for charts. For example, a technical article that explains why decimal should be used for data visualization would be better as an argument towards the change.

Admitted, back then I, in part at least, marked too few/wrong words bold.
If you require, I'll go for some further articles, but IMHO above explanations, plus @rogue6800's suggested usage of INumber which renders the debate quite redundant, should be sufficient to change from float and double to INumber throughout MudBlazor.

(…)
What I wanted to say is that float / double is a good trade-off between calculation storage capacity, precision and speed (because of the hardware acceleration), not only just performance, which is why excel is using this type as well.

I do understand & respect your point to the fullest. However, AFAIK, using decimal is nowadays implemented inside of .NET to use hardware acceleration, too.

Yes, that would be the most ideal solution and what I wanted to suggest too, but we need to drop .net6 support first, which I kinda want to do, but I need to discuss it with the MudBlazor members first.

I'd happily see this issue rephrased accordingly as I'm fine with INumber right away, too. 🤗

FYI: We are dropping .net6 and it will be T : INumber for the charts in future as breaking change. This is pretty much end of story.

@ScarletKuro Are you accepting PRs for that change if anyone here wants to work on it? (after #8441)

@ScarletKuro Are you accepting PRs for that change if anyone here wants to work on it? (after #8441)

I think I will take that on myself.

I think I will take that on myself.

Hrhr.. Taking away my chance to fix my own issue via PR..  - Nah, just kidding! 😉🥳

Btw, if someone wants to address this asap, feel free to actually create a PR.
I have too much on my plate rn.


Don't use parser for Node v22

Testing on top of PR #85, I found that for Node v22, the parser doesn't appear to be required and we can revert back to the faster path of import(srcUrl).then(Object.keys).
We would need the parser to support v18.19 -> v21.
We could reduce the potential bundle size caused by the parser (~100KB) by:

Moving the parser to it's own package (eg. 'import-in-the-middle-parser')
Set package.json#engines to the Node versions where it's required
Make it an optionalDependency of import-in-the-middle
import('import-in-the-middle-parser') in hook.js in a try/catch

When installed with Node versions requiring the parser, the optional dependency will be installed and used.
When installed with Node v22+, the optional dependency will be missing and will not be included in any bundle

Regular Node.js import can handle cyclic dependencies but dynamic import cannot.
Yeah it really is only the openai test that fails and needs the parser.
It's strange that the same test now passes in v22. I can't find anything in the release notes that would suggest this limitation has been removed.

Regular Node.js import can handle cyclic dependencies but dynamic import cannot.

That doesn't seem to be strictly true. Adding const openai = await import('openai') runs fine in regular Node.js. The problem seems to happen if you do that inside the cycle, which I guess because import-in-the-middle is acting as a loader, that counts.

It's strange that the same test now passes in v22.

It's failing but with a 0 exit code :) If you add a console.log after the import it doesn't reach there.

It's failing but with a 0 exit code :) If you add a console.log after the import it doesn't reach there.

Ah that's a shame, I missed that entirely and only noticed the tests all passing 😭

The problem seems to happen if you do that inside the cycle, which I guess because import-in-the-middle is acting as a loader, that counts.

That means we could potentially perform await import('lib') in a worker that isn't using the import-in-the-middle loader to get the exports but I guess the performance would suck. In some quick testing, the parser looks quicker than import() anyway in Node v22. I guess it's only parsing and Node is evaluating on top of that 🤷♂


Windows: Incremental build mistakenly uses cache with large context

I'm trying to build a windows image using a remote windows docker daemon, with a docker client running on a linux system.  It appears that if you have a large build context, something is going wrong with the detection logic and it thinks nothing has changed even when content has changed.
% docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:28:14 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.2-cs2-ws-beta
 API version:  1.25
 Go version:   go1.7.1
 Git commit:   050b611
 Built:        Tue Oct 11 02:35:40 2016
 OS/Arch:      windows/amd64

Steps to reproduce
mkdir /tmp/repro && cd /tmp/repro
# Fill the context up with stuff - what doesn't matter really...
git clone git://github.com/docker/docker.git

cat << EOF > Dockerfile
FROM microsoft/nanoserver
ADD docker/hello.cmd /bin/hello.cmd
ENTRYPOINT ["/bin/hello.cmd"]
EOF

echo "echo 1 hello world" > docker/hello.cmd
docker build -t hello .
docker run --rm hello

echo "echo 2 hello world" > docker/hello.cmd
docker build -t hello .
docker run --rm hello

Expected:

The first docker run should say 1 hello world and the second should say 2 hello world

Observed:

Both report 1 hello world and the docker build output on the second build command shows its still using the cache

I initially tried to repro this with a small build context, and it did not fail, so I believe the context has to be large(ish), although I'm not sure exactly how large it takes to trigger this behavior.

I can reproduce this cc @jhowardmsft

That's a very old client. @friism does yours repro on master and with a Windows client? I can take a look but have at least half a dozen other issues in my backlog. May take a few days to get to it.

Client version doesn't seem to matter - I just tried with a 1.12.2 linux client and it still repro's the issue.

@jhowardmsft reproes with 1.12.2 on windows for me too

Interesting, this doesn't seem to repro for me using WS2016 14393.rs1_release_inmarket.161004-2338 and current master, on a windowsservercore image. @friism, here's my repro steps to compare. All from a cmd prompt (not PS). Client and daemon both on Windows.
C:\temp>dir
 Volume in drive C has no label.
 Volume Serial Number is C821-3418

 Directory of C:\temp

10/25/2016  07:25 PM    <DIR>          .
10/25/2016  07:25 PM    <DIR>          ..
10/25/2016  07:15 PM                66 Dockerfile
10/25/2016  07:16 PM               146 doit.cmd
               2 File(s)            212 bytes
               2 Dir(s)  107,483,742,208 bytes free

C:\temp>type Dockerfile
FROM windowsservercore
ADD hello.cmd c:/
ENTRYPOINT c:\hello.cmd
C:\temp>type doit.cmd
echo echo 1 > hello.cmd
docker build -t hello .
docker run --rm hello

echo echo 2 > hello.cmd
docker build -t hello .
docker run --rm hello
C:\temp>

C:\temp>docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.1
 Git commit:   77f4c30-jhoward-JHOWARD-Z420-Dynamic
 Built:        Wed Oct 26 01:44:01 UTC 2016
 OS/Arch:      windows/amd64

Server:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.1
 Git commit:   77f4c30-jhoward-JHOWARD-Z420-Dynamic
 Built:        Wed Oct 26 01:44:01 UTC 2016
 OS/Arch:      windows/amd64
 Experimental: false

C:\temp>docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 15
Server Version: 1.13.0-dev
Storage Driver: windowsfilter
 Windows:
Logging Driver: json-file
Plugins:
 Volume: local
 Network: l2bridge l2tunnel nat null transparent
Swarm: inactive
Default Isolation: process
Kernel Version: 10.0 14393 (14393.321.amd64fre.rs1_release_inmarket.161004-2338)
Operating System: Windows Server 2016 Datacenter
OSType: windows
Architecture: x86_64
CPUs: 8
Total Memory: 1.345 GiB
Name: WIN-OSEVDRD9K24
ID: YHNN:5DSR:TO7A:YGXA:NMCU:FDGR:WOIL:J5SU:ZHTI:7Z57:TBLH:XPDL
Docker Root Dir: C:\control
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

C:\temp>

Make sure daemon is clear
C:\temp>docker ps -aq

C:\temp>docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
busybox                       latest              45c3d38f2fb6        4 days ago          7.24 GB
docker                        latest              2b1580f7b23e        6 days ago          8.4 GB
microsoft/windowsservercore   10.0.14393.321      01569f895bac        2 weeks ago         7.15 GB
microsoft/windowsservercore   latest              01569f895bac        2 weeks ago         7.15 GB
windowsservercore             latest              01569f895bac        2 weeks ago         7.15 GB
microsoft/nanoserver          10.0.14393.321      22738ff49c6d        2 weeks ago         686 MB
microsoft/nanoserver          latest              22738ff49c6d        2 weeks ago         686 MB
nanoserver                    latest              22738ff49c6d        2 weeks ago         686 MB

C:\temp>

Clone the sources git clone https://github.com/docker/docker c:\temp\docker, then run doit.cmd. First time, no cache as expected, and all working:
C:\temp>doit

C:\temp>echo echo 1  1>hello.cmd

C:\temp>docker build -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM windowsservercore
 ---> 01569f895bac
Step 2/3 : ADD hello.cmd c:/
 ---> 4e5644579fb4
Removing intermediate container e5f8c7ae099c
Step 3/3 : ENTRYPOINT c:\hello.cmd
 ---> Running in 8b713f33ebfa
 ---> 491777f46acd
Removing intermediate container 8b713f33ebfa
Successfully built 491777f46acd

C:\temp>docker run --rm hello

C:\>echo 1
1

C:\temp>echo echo 2  1>hello.cmd

C:\temp>docker build -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM windowsservercore
 ---> 01569f895bac
Step 2/3 : ADD hello.cmd c:/
 ---> 37cc12ea9156
Removing intermediate container c233797c4677
Step 3/3 : ENTRYPOINT c:\hello.cmd
 ---> Running in b8cb29dc55a0
 ---> 85f06759c030
Removing intermediate container b8cb29dc55a0
Successfully built 85f06759c030

C:\temp>docker run --rm hello

C:\>echo 2
2

C:\temp>

Then run doit.cmd a second time, with a 'hot' builder cache and still working the same as expected:
C:\temp>doit

C:\temp>echo echo 1  1>hello.cmd

C:\temp>docker build -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM windowsservercore
 ---> 01569f895bac
Step 2/3 : ADD hello.cmd c:/
 ---> Using cache
 ---> 4e5644579fb4
Step 3/3 : ENTRYPOINT c:\hello.cmd
 ---> Using cache
 ---> 491777f46acd
Successfully built 491777f46acd

C:\temp>docker run --rm hello

C:\>echo 1
1

C:\temp>echo echo 2  1>hello.cmd

C:\temp>docker build -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM windowsservercore
 ---> 01569f895bac
Step 2/3 : ADD hello.cmd c:/
 ---> Using cache
 ---> 37cc12ea9156
Step 3/3 : ENTRYPOINT c:\hello.cmd
 ---> Using cache
 ---> 85f06759c030
Successfully built 85f06759c030

C:\temp>docker run --rm hello

C:\>echo 2
2

C:\temp>

I then cleared the daemon down and repeated the same using the nanoserver image and it still worked. So it sounds like a bug that's been fixed in master unless you can repro on master too? Here's the nanoserver equivalent two runs, first with a cold cache, then with a hot cache.
C:\temp>doit

C:\temp>echo echo 1  1>hello.cmd

C:\temp>docker build -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM nanoserver
 ---> 22738ff49c6d
Step 2/3 : ADD hello.cmd c:/
 ---> 344afc57872c
Removing intermediate container c6479a770425
Step 3/3 : ENTRYPOINT c:\hello.cmd
 ---> Running in 24656c0b8e92
 ---> 3529580c5838
Removing intermediate container 24656c0b8e92
Successfully built 3529580c5838

C:\temp>docker run --rm hello

C:\>echo 1
1

C:\temp>echo echo 2  1>hello.cmd

C:\temp>docker build -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM nanoserver
 ---> 22738ff49c6d
Step 2/3 : ADD hello.cmd c:/
 ---> 65d14f7e2510
Removing intermediate container cb03cf016815
Step 3/3 : ENTRYPOINT c:\hello.cmd
 ---> Running in 3cb35eafd6d2
 ---> 7e8fa5edb113
Removing intermediate container 3cb35eafd6d2
Successfully built 7e8fa5edb113

C:\temp>docker run --rm hello

C:\>echo 2
2

C:\temp>doit

C:\temp>echo echo 1  1>hello.cmd

C:\temp>docker build -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM nanoserver
 ---> 22738ff49c6d
Step 2/3 : ADD hello.cmd c:/
 ---> Using cache
 ---> 344afc57872c
Step 3/3 : ENTRYPOINT c:\hello.cmd
 ---> Using cache
 ---> 3529580c5838
Successfully built 3529580c5838

C:\temp>docker run --rm hello

C:\>echo 1
1

C:\temp>echo echo 2  1>hello.cmd

C:\temp>docker build -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM nanoserver
 ---> 22738ff49c6d
Step 2/3 : ADD hello.cmd c:/
 ---> Using cache
 ---> 65d14f7e2510
Step 3/3 : ENTRYPOINT c:\hello.cmd
 ---> Using cache
 ---> 7e8fa5edb113
Successfully built 7e8fa5edb113

C:\temp>docker run --rm hello

C:\>echo 2
2

C:\temp>

Can reproduce the problem with both 1.12.2-cs2-ws-beta and latest 1.13-dev on Win2016.
C:\Users\vagrant\test27755> "echo hello world 1"  | Out-File -Encoding Ascii docker\hello.cmd
C:\Users\vagrant\test27755> docker build --no-cache -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM microsoft/nanoserver
 ---> e14bc0ecea12
Step 2/3 : ADD docker/hello.cmd /bin/hello.cmd
 ---> aeb38912251e
Removing intermediate container af851401b246
Step 3/3 : ENTRYPOINT /bin/hello.cmd
 ---> Running in d70f7decfe16
 ---> bedb446c7f55
Removing intermediate container d70f7decfe16
Successfully built bedb446c7f55
C:\Users\vagrant\test27755> docker run --rm hello

C:\>echo hello world 1
hello world 1
C:\Users\vagrant\test27755> "echo hello world 2"  | Out-File -Encoding Ascii docker\hello.cmd
C:\Users\vagrant\test27755> docker build -t hello .
Sending build context to Docker daemon 150.4 MB
Step 1/3 : FROM microsoft/nanoserver
 ---> e14bc0ecea12
Step 2/3 : ADD docker/hello.cmd /bin/hello.cmd
 ---> Using cache
 ---> aeb38912251e
Step 3/3 : ENTRYPOINT /bin/hello.cmd
 ---> Using cache
 ---> bedb446c7f55
Successfully built bedb446c7f55
C:\Users\vagrant\test27755> docker run --rm hello

C:\>echo hello world 1
hello world 1
C:\Users\vagrant\test27755> docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   a6dfab0
 Built:        Wed Oct 26 06:10:18 2016
 OS/Arch:      windows/amd64

Server:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   a6dfab0
 Built:        Wed Oct 26 06:10:18 2016
 OS/Arch:      windows/amd64
 Experimental: false

But this is reproducable with only the hello.cmd with any other files as well:
C:\Users\vagrant\test27755\mini> mkdir docker

    Directory: C:\Users\vagrant\test27755\mini

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       10/25/2016  11:55 PM                docker

C:\Users\vagrant\test27755\mini> "echo hello world 1"  | Out-File -Encoding Ascii docker\hello.cmd
C:\Users\vagrant\test27755\mini> docker build --no-cache -t hello .
Sending build context to Docker daemon 3.584 kB
Step 1/3 : FROM microsoft/nanoserver
 ---> e14bc0ecea12
Step 2/3 : ADD docker/hello.cmd /bin/hello.cmd
 ---> 6595c2407e1a
Removing intermediate container c5ed9e8e7e02
Step 3/3 : ENTRYPOINT /bin/hello.cmd
 ---> Running in 139cead7281b
 ---> 7c988e196f24
Removing intermediate container 139cead7281b
Successfully built 7c988e196f24
C:\Users\vagrant\test27755\mini> docker run --rm hello

C:\>echo hello world 1
hello world 1
C:\Users\vagrant\test27755\mini> "echo hello world 2"  | Out-File -Encoding Ascii docker\hello.cmd
C:\Users\vagrant\test27755\mini> docker build -t hello .
Sending build context to Docker daemon 3.584 kB
Step 1/3 : FROM microsoft/nanoserver
 ---> e14bc0ecea12
Step 2/3 : ADD docker/hello.cmd /bin/hello.cmd
 ---> Using cache
 ---> 6595c2407e1a
Step 3/3 : ENTRYPOINT /bin/hello.cmd
 ---> Using cache
 ---> 7c988e196f24
Successfully built 7c988e196f24
C:\Users\vagrant\test27755\mini> docker run --rm hello

C:\>echo hello world 1
hello world 1
C:\Users\vagrant\test27755\mini> dir .\docker\

    Directory: C:\Users\vagrant\test27755\mini\docker

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       10/25/2016  11:56 PM             20 hello.cmd

C:\Users\vagrant\test27755\mini> dir

    Directory: C:\Users\vagrant\test27755\mini

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       10/25/2016  11:56 PM                docker
-a----       10/25/2016  11:38 PM             97 Dockerfile

Ya, can confirm on master too

Ah, yes, I have a repro. The simpler one to debug without the large number of files. Investigating....

Worked it out. Some serious debugging 😓. Is a subtle bug in tarsum, and truly I'm astonished this hasn't been seen before. Will submit a PR shortly.

Thanks! OMG I can remember that I've seen that writing the Dockerfile.windows for docker/docker last year, modifying some code eg. switching branches and then hit the caching problem. Had to modify the Dockerfile a layer before, something like that. But was happy that it worked so good in these early days. Never encountered that problem since then so I forgot filing an issue :-(


Upload Source jar too?

It would be very convenient with source jar.

Good idea! I will consider it for the next release.


deleted logo_big

CLA is valid!

Thank you for submitting this pull request, however I do not see a valid CLA on file for you. Before we can merge this request please visit https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! :smile:

Coverage remained the same at 90.82% when pulling 82058b05d91c56b55fc45a565057be6bf5dfde09 on annawchou:one-logo into e3004edf90dea6a2699ad7a31007144670ad90a1 on yahoo:logo.

Coverage remained the same at 90.82% when pulling 82058b05d91c56b55fc45a565057be6bf5dfde09 on annawchou:one-logo into e3004edf90dea6a2699ad7a31007144670ad90a1 on yahoo:logo.


Limit client features

would be nice if the plugin could limit/change settings of the client like you can do with lunar api, i for example dont want them to use entity radar

Proposed by @KaspianDev on Spigot forums

Xaero's Minimap allows this using chat commands


Typescript error when use wrapper.classes().includes

Version
1.0.0-beta.16
Reproduction link
https://github.com/Yawenina/vue-test-utils-classes
Steps to reproduce
npm install

npm run serve

What is expected?
no error
What is actually happening?
In my test file, I write a test like this:
expect(wrapper.classes().includes('a')).toBe(false);

but when I ran npm run serve, typescript yield an error:
ERROR in vue-test-utils-classes/tests/unit/HelloWorld.spec.ts
10:30 Property 'includes' does not exist on type 'void | string[]'.
  Property 'includes' does not exist on type 'void'.
     8 |       propsData: { msg },
     9 |     });
  > 10 |     expect(wrapper.classes().includes('a')).toBe(false);
       |                              ^
    11 |   });
    12 | });
    13 |
Version: typescript 2.9.1

I read the source code and find the type definition of the classes() method is this:
classes(): Array<string> | void

Maybe because the return value could be void so it does not have a includes method.
When I change it to :
classes(): Array<string>

the error disappears and everything works ok.

Actually it never returns void, so the definition file is incorrect. Would you like to make a PR that removes the void? There are two definition files that need to be changed, one in packages/test-utils/ and one in packages/server-test-utils

Sure, I'd love to.

I didn't find classes definition in packages/server-test-utils, so I only changed it in packages/test-utils/.
PR #685solves this issue.

Ah sorry I forgot that we don't have Wrappers in server-test-utils 😅
Thanks for the PR 👍


Refactor/34411 lhn previews refactor

Details

PART OF THE REFACTOR: moved some logic to getLastMessageTextForReport, created a function to get last actor displayName
Fixed Issues

$ https://github.com/Expensify/App/issues/34411
PROPOSAL:
Tests

Archived Rooms

[User A] Create a new workspace (or use an existing one)
[User A] Invite another user to the workspace (User B)
[User A] Delete the workspace or remove User B from the workspace (ideally check both)
Observe the LHN previews for both User A and User B (you can compare it with staging)
Open Search Page - observe the previews. (reference here)

Last Actor Display Name

For all the chat types the last actor name should be displayed (with the colon) verify that it's displayed properly.

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

Offline tests

QA Steps

Archived Rooms

[User A] Create a new workspace (or use an existing one)
[User A] Invite another user to the workspace (User B)
[User A] Delete the workspace or remove User B from the workspace (ideally check both)
Observe the LHN previews for both User A and User B (you can compare it with staging)
Open Search Page - observe the previews.

Last Actor Display Name

For all the chat types the last actor name should be displayed (with the colon) verify that it's displayed properly.

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

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 the expected offline behavior in the Offline steps 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 tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

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

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[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 is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is 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] I verified that if a function's arguments changed that all usages have also been updated correctly
[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] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes

[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 any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[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 code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[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] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@mountiny thanks! I will fill in the author's checklist shortly. I will also check what's wrong with the reassure tests, but I've noticed that this particular test is failing for other PRs as well

@mountiny could you please take a look on these comments? 🙏🏻
https://github.com/Expensify/App/pull/34872#discussion_r1463002686
https://github.com/Expensify/App/pull/34872#discussion_r1462940070

@koko57 answered

ok, @mountiny so it's ready to review. It also includes the fix @trjExpensify mentioned https://github.com/Expensify/App/issues/34411#issuecomment-1906612339

@koko57 there seems to be some regression with archived workspace chat that had some requests in it

On staging we correctly show that its archived, on the build you can see there is the owes message

@mountiny ah yes, I didn't thought of that case - this logic for archived room was overwriting the last message no matter what the last action was. I will look into it if I can change the conditions (without breaking the other messages) and leave the logic in getLastMessageTextForReport

@mountiny fixed! I'm resolving now the conflicts after TS migration. I have one question: do we really need to check if last action was CLOSED like it was introduced here?

@koko57 good question, there should be no other actions when it was archived. I think its safer to check for it though

ok, now I see this check was added for TS to work

Reviewer Checklist

[ ] 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:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] 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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] 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 is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is 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 any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] 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(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] 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.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

An owner's email is displayed instead of "This workspace chat is no longer active.." until you open a report
https://github.com/Expensify/App/assets/9059945/e9121a0b-1129-49ae-ade8-1ccb3460324e
This happens only on DEV, ad-hoc build works fine
@mountiny, could you re-run the workflow to generate a new ad-hoc build please? Looks like this bug might be DEV only

Shouldn't we show (archived) label for iou requests in an archived workspace?

@koko57 could you sync with main before I make another build

https://github.com/Expensify/App/actions/runs/7698510629

@eVoloshchak whats the update here?

@koko57, this behavior is still present in https://34872.pr-testing.expensify.com/
https://github.com/Expensify/App/assets/9059945/863cafb0-f3d3-41c3-9917-28698dce921c
It doesn't work properly on https://new.expensify.com/ either, but instead of an email it displays "This chat room has been archived"
https://github.com/Expensify/App/assets/9059945/1c39aea5-d6bf-4c83-89c2-288d5ca5b268

I believe the difference is that in the ad hoc build we rely on the CLOSED report action only whereas in production it seems to know the report state is closed and does not show the message. I believe we might not be loading the Closed report actions in OpenApp and that has been discussed in the past, we probably will not change anything about it.
I think if the report is the in closed state/status, we should keep the same behaviour you can see in production

@mountiny @eVoloshchak so I will revert these changes and leave the ones that work - getting last act

@mountiny @eVoloshchak maybe if it will happen again I revert the changes for the archived rooms, leaving only the changes for displaying last actor's name and the fix for Workspace preview?

So I think it's better to revert these changes and I'll try to fix it in another PR, with other changes

@mountiny thanks for the hint! I was able to change the condition a little bit, so now we've got the same behaviour as in the production (We can think of fixing it later).
https://github.com/Expensify/App/assets/28020445/2211e773-4372-4a06-8f6f-21355fa5e2bf

@eVoloshchak Can you please proceed with the checklist? Thanks!

🚀 Cherry-picked to staging by https://github.com/francoisl in version: 1.4.33-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.34-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
cancelled 🔪

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.34-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.4.34-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


bug in dfsspmdm related to memory allocation

I'm having an issue with the latest version of libxsmm when using dfsspmdm on Intel Xeon Platinum 8175M CPU. This is the error I got initially;
double free or corruption (!prev)
Aborted (core dumped)
with a debug build this is what I get;
python: ./src/libxsmm_main.c:400: __real_free: Assertion `free != libxsmm_malloc_fn.free.ptr' failed.
Thread 1 "python" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

I compiled libxsmm with GCC 10 and options STATIC=0 BLAS=0.
I think I've found the commit responsible from this. https://github.com/hfp/libxsmm/commit/5aca53b776c31cde525e2fd700d88c9c7e975cf2
At any point earlier than this everything works fine. Also, I don't get this error when using an Intel Core i7-4820K CPU,

Thank you for your report and bisecting the root cause!
I will look into this asap and report here.

This happens when following the recipe for PyFR+LIBXSMM?
I am currently looking for a (simple) reproducer...

Yes, this happens when I use PyFR with LIBXSMM. You can maybe try inc_cylinder example in PyFR v1.12.2. You don't need to change anything in the ini file, just do step 1 and step 3 from here. I just tried this with Intel(R) Xeon(R) Platinum 8259CL CPU and it fails with the newest LIBXSMM but works fine with an earlier version.

Yes, this happens when I use PyFR with LIBXSMM. You can maybe try inc_cylinder example in PyFR v1.12.2. You don't need to change anything in the ini file, just do step 1 and step 3 from here. I just tried this with Intel(R) Xeon(R) Platinum 8259CL CPU and it fails with the newest LIBXSMM but works fine with an earlier version.

Thank you! This worked for me. For the record, I did the following (beyond installing PyFR):
cd PyFR/examples/inc_cylinder_2d
gunzip inc_cylinder_2d.msh
pyfr import inc_cylinder_2d.msh inc_cylinder_2d.pyfrm
pyfr partition 1 inc_cylinder_2d.pyfrm .
pyfr run -b openmp inc_cylinder_2d.pyfrm inc_cylinder_2d.ini

For debugging the problem, the following command was used:
gdb --args python3 ~/.local/bin/pyfr run -b openmp inc_cylinder_2d.pyfrm inc_cylinder_2d.ini

( The LD_LIBRARY_PATH may point to LIBXSMM's lib directory. )

I have applied a number of improvements for the fsspmdm code/driver incl. some (minor) fixes (the most "severe" was somewhat incorrectly calling libxsmm_?mmdispatch casting LIBXSMM_GEMM_PREFETCH_NONE to const int*). However, I noticed still issues even with replaced/debug memory allocations. The libxsmm_?fsspmdm_create corrupted memory related to running the benchmarks inside of this function. In particular, the benchmark of k_sparse2 seemed to corrupt memory. The change a0852d8782c19adf918d4078044ef4f203d12e1c adjusted the kernel-width, which apparently fixed the problem. Another drawback of the previous implementation was about relying on libxsmm_cpuid rather than libxsmm_get_target_archid. The adjusted kernel-width may also fixed issue on systems without AVX-512. I have to test the latter, however, AVX2 systems previously produced an error only visible with LIBXSMM_VERBOSE (some high number).

The adjusted kernel-width may also fixed issue on systems without AVX-512. I have to test the latter, however, AVX2 systems previously produced an error only visible with LIBXSMM_VERBOSE (some high number).

Running LIBXSMM_VERBOSE=1 pyfr run -b openmp inc_cylinder_2d.pyfrm inc_cylinder_2d.ini on a system without AVX-512 still produces an error like:
LIBXSMM ERROR (libxsmm_generator_spgemm_csr_asparse_reg): invalid N blocking in microkernel (error #90016)!

I just tried with the latest master and the problem is gone. Thanks.

I've noticed a severe performance issue with the latest version. Could it be related to the changes here?

I've noticed a severe performance issue with the latest version. Could it be related to the changes here?

There was one subtle change that came with a fix like:
k_dense = libxsmm_dmmdispatch(N_dense, M, K, &ldb, &K, &ldc, &one, &beta, &flags, &prefetch);

which was previously:
k_dense = libxsmm_dmmdispatch(N_dense, M, K, &ldb, &K, &ldc, &one, &beta, &flags, (const int*)LIBXSMM_GEMM_PREFETCH_NONE);

The original code for sure emerged from some misinterpretation of the interface and was not intentional. However, the effect was that the value behind LIBXSMM_GEMM_PREFETCH_NONE (0), was reinterpreted as a pointer (NULL). The latter meaning is "auto-prefetch" instead of "no prefetch".
I will change the current (fixed) code to perform auto-prefetch like before for the dense kernel.

Commit d7a077273a6dec5210b1bcddbde8920350284867 (re-)enables auto-prefetch for the dense kernel. Can you retry the new/current master revision?

I tried the current master but the performance is still bad, there is no improvement. And I should say that the test case I'm running is using the sparse matrix multiplication, not the dense. The matrices has got less then 31 unique values.

Can you let me know the test case your are running?

It is a Taylor-Green Vortex case with all hexahedral mesh. You can find the mesh file and the ini file in the link below
https://drive.google.com/drive/folders/1T4xZBiu0SMbuHq0D_5kKHQgcWqVadk-T?usp=sharing
I tried to recreate the issue with the examples provided in PyFR but becasue all the examples are 2D the difference in runtime is not big enough. With the test case I shared here runtime is around %50 more compared to an earlier libxsmm version.

Thank you for your help! Sorry for the confusion and the delay. The problem is finally solved and it is related to recently  introduced double-wide sparse kernels (14b6cea61376653b2712e3eefa72b13c5e76e421). In fact, even before, the code was maybe relying on random data like over-reading the stack. In essence this issue has nothing to do with memory allocation but memory corruption.
A follow-up investigation or feature request is perhaps needed since some tabulated/hard-coded data (permutation tables) are practically small in particular for the double-precision case like libxsmm_dfsspmdm (libxsmm_sfsspmdm seems to be fine). The outcome of the fix is that LIBXSMM is less likely to pickup a certain problem (fall-back into whatever PyFR implements in such case).
Note, the number of served/generated LIBXSMM-kernels can be shown with LIBXSMM_VERBOSE=1 (or higher), which produces console output at the end of program execution/termination showing the number/kind of generated/served kernels.

I think the problem is still there. I did a test with https://github.com/hfp/libxsmm/commit/14b6cea61376653b2712e3eefa72b13c5e76e421 as well and actually there is no performance issue at that stage.

I think the problem is still there. I did a test with 14b6cea as well and actually there is no performance issue at that stage.

You mean the performance problem?  The memory corruption is resolved I think.
Indeed, 14b6cea61376653b2712e3eefa72b13c5e76e421 reads from uninitialized data like treating some array of tabulated (permutation table) values as A-matrix. In double-precision, this table only contains 64 elements, and MN_sparse1 or even MN_sparse2 can exceed 64 elements. As explained, the table for DP is (too) small now that proper conditions are in place. This can lead to LIBXSMM not used for certain/larger kernels which in turn can cause a performance penalty.
@alheinecke Can you take a look?

I think the problem is still there. I did a test with 14b6cea as well and actually there is no performance issue at that stage.

You mean the performance problem? The memory corruption is resolved I think.

Yes, I mean the performance problem.

can you please share the assembly for the fast case (before all the changes many seem to be cosmetic but changing the logic on VLEN etc) and current master. It might be that some different code is generate and hence the performance is different. From this thread is not clear if this is AVX512 or AVX2 performance....

I said A-matrix above, but still did it wrong like MxN instead MxK. I will fix asap. Nevertheless, what's said about the permute-array is still true - SP-table is 256 entries, but DP-table only 64 elements. This limit must apply to incoming MxK.

I said A-matrix above, but still did it wrong like MxN instead of MxK. I will it fix asap. Nevertheless, what's said about the permute-array is still true - SP-table is 256 entries, but DP-table is only 64 elements (limit must apply to incoming MxK).

The sizes of the SP and DP permutation tables are not related to the matrix dimensions.  These tables are used in the sparse kernel generation when we run out of registers to hold the unique values of A.  Here, we put each unique value into its own vector lane (16 or 8 unique values per register).  The broadcasting is then done using the permutation tables (which are ideally stored in registers).  The single precision table is four times larger as we have two times as many possible values per register and these values need to be broadcast to two times as many vector lanes.

Commit 17dc1712f016222add18533e8fd0ada737775691 brings back the crashes... It still holds true that the wide sparse kernel (k_sparse2) somehow causes memory corruption.

Edit: I guess I should also point out that the code also abuses the first argument of the JIT'ed function to pass a pointer to these tables (only used when they can not fit into registers). Just the easiest means of getting a pointer into the kernel.

Thank you! I will remove the conditions. Still, running k_sparse2 in libxsmm_?fsspmdm_create seems to cause memory corruption.

Edit: I guess I should also point out that the code also abuses the first argument of the JIT'ed function to pass a pointer to these tables (only used when they can not fit into registers). Just the easiest means of getting a pointer into the kernel.

Thank you! I will remove the conditions. Still, running k_sparse2 in libxsmm_?fsspmdm_create seems to cause memory corruption.

Do you know what instruction in the generated kernel is going out of bounds?  This should make it relatively simple to track down the issue.  And in what 'branch' (constants broadcast in registers, constants packed in registers w/permutes in registers, constants packed in registers with permutes from memory)?  The latter is the only one which accesses 'A' (https://github.com/hfp/libxsmm/blob/master/src/generator_spgemm_csr_asparse_reg.c#L398).

@FreddieWitherden I am foreign to the fsspmdm-code and have no insight so far. I just adopted the case because of potentially "related to memory allocation". It does not seem to be related to memory allocation but memory corruption. I disabled generating the k_sparse2-kernel, which seems to fix the crashes.

Let me close this issue. The crashes are resolved at no performance impact when compared to the previous release (1.16.1). However, we lost the contribution of the double-wide sparse kernel which seems to be related to memory corruption and the problem needs its own issue and investigation.


Allow page publishers to be used as dependencies for links

and possibly create multiple pages with one publish section

@jiwalker-usgs , this is a friendly reminder that we planned for this to be complete before monday at 10am.


Feature request: Converting quotation marks to a  element

Just like when markdown language converts `foo` to foo, I propose to convert "foo" to <q>foo</q>.

I think there should be a setting.
The HTML spec says:

Content inside a q element must be quoted from another source, whose address, if it has one, may
be cited in the cite attribute. The source may be fictional, as when quoting characters in a novel or
screenplay.
The text
This is a "post"?

isn't a quote, so the q tag is not appropriate for this use.
There should be something like
$this->setQuotes2Q(true);


[#133670581] Remove Richard's key from the list of merge keys.

What
Richard has left the team...
How to review
Verify that the key removed from the list is Richard's key.
Who can review
Anyone but myself.

LGTM


fix(deps): update all

This PR contains the following updates:

Package
Update
Change

gitpython
patch
==3.1.37 -> ==3.1.40

kubernetes/kubernetes
patch
v1.28.2 -> v1.28.3

Release Notes

gitpython-developers/GitPython (gitpython)
v3.1.40: - fix downstream CI
Compare Source
What's Changed

Add missing info in Submodule.remove docstring by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1714
Have init script clone submodules unconditionally by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1715

Full Changelog: https://github.com/gitpython-developers/GitPython/compare/3.1.38...3.1.40
v3.1.38
Compare Source
What's Changed

Add missing assert keywords by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1678
Make clear every test's status in every CI run by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1679
Fix new link to license in readme by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1680
Drop unneeded flake8 suppressions by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1681
Update instructions and test helpers for git-daemon by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1684
Fix Git.execute shell use and reporting bugs by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1687
No longer allow CI to select a prerelease for 3.12 by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1689
Clarify Git.execute and Popen arguments by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1688
Ask git where its daemon is and use that by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1697
Fix bugs affecting exception wrapping in rmtree callback by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1700
Fix dynamically-set all variable by @DeflateAwning in https://github.com/gitpython-developers/GitPython/pull/1659
Fix small #1662 regression due to #1659 by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1701
Drop obsolete info on yanking from security policy by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1703
Have Dependabot offer submodule updates by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1702
Bump git/ext/gitdb from 49c3178 to 8ec2390 by @dependabot in https://github.com/gitpython-developers/GitPython/pull/1704
Bump git/ext/gitdb from 8ec2390 to 6a22706 by @dependabot in https://github.com/gitpython-developers/GitPython/pull/1705
Update readme for milestone-less releasing by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1707
Run Cygwin CI workflow commands in login shells by @EliahKagan in https://github.com/gitpython-developers/GitPython/pull/1709

New Contributors

@DeflateAwning made their first contribution in https://github.com/gitpython-developers/GitPython/pull/1659

Full Changelog: https://github.com/gitpython-developers/GitPython/compare/3.1.37...3.1.38

kubernetes/kubernetes (kubernetes/kubernetes)
v1.28.3: Kubernetes v1.28.3
Compare Source
See<EMAIL_ADDRESS>Additional binary downloads are linked in the CHANGELOG.
See the CHANGELOG for more details.

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: scripts/update-source/requirements.txt
Command failed: export CUSTOM_DIRECTORY=/tmp && export PATH=$PATH:/tmp && make dependency-install-darwin-linux

======================================================
tfsec is joining the Trivy family

tfsec will continue to remain available
for the time being, although our engineering
attention will be directed at Trivy going forward.

You can read more here:
https://github.com/aquasecurity/tfsec/discussions/1994
======================================================
curl: (22) The requested URL returned error: 404
make: *** [Makefile:65: dependency-install-darwin-linux] Error 22

File name: module-assets/ci/install-deps.sh
Command failed: export CUSTOM_DIRECTORY=/tmp && export PATH=$PATH:/tmp && make dependency-install-darwin-linux

======================================================
tfsec is joining the Trivy family

tfsec will continue to remain available
for the time being, although our engineering
attention will be directed at Trivy going forward.

You can read more here:
https://github.com/aquasecurity/tfsec/discussions/1994
======================================================
curl: (22) The requested URL returned error: 404
make: *** [Makefile:65: dependency-install-darwin-linux] Error 22


Enable simplified-init in VSCode Azd Extension

Simplified-init is not enabled as part of VSCode Azd Extension. We need to enable simplified-init for the Aspire integration.
@davidfowl @ellismg @spboyer @bradygaster

Not knowing what this entails yet, simplified init presents an interactive wizard in the CLI. Are we thinking to leverage any of #2763 or continue the current VS Code integration pattern?

@bwateratmsft Suppose we were able to get past the "current directory" prompt, what would VSCode show for "confirming the detected services"?

Also need provision/deploy to change UX flow to accept 'select services to expose'

With Add ability to express exposed services in app host #2099 being handled in the app-model/manifest itself for Preview 5. Hoping that we don't have to special handle it in Azd, VSCode and also VS.
@davidfowl @ellismg @bwateratmsft @brennanconroy

Re-opening this one from VSCode perspective.

What's left to do is to check in and ship some of the changes I have that make init more programmatically accessible, as well as add an API for getAzdLoginStatus().


ng-model for input text box not working

i have input type="text " inside collapsible-item. it doens  bind to ng-model .
outside  collapsible-item the text box is working perfectly .

This directive has its own child scope, that's why the parent scope will not work inside the collapsible-item.
Checkout this article about different types of scopes that you can pass with directives. http://www.undefinednull.com/2014/02/11/mastering-the-scope-of-a-directive-in-angularjs/


use ciou training

Dear sir
could pls help me,
I add Diou and Ciou in losses.py, and Diou works well, the total loss decrease with epoch increase,
BUT Ciou, the total loss decease at beginning epochs, then increase, especially the conf_loss
attach file is losses.py and training log,
my code downloaded at 2021/10/2
thanks, BR
code and log.zip
8

my code downloaded at 2021/10/28

@aidemHJC using yolov5 version of mosaic augmentation could increase the training stability

@scsolaris do you mean that using ciou with my code and yolov5 version of mosaic augmentation the same time can increase the training stability?

@scsolaris do you mean that using ciou with my code and yolov5 version of mosaic augmentation the same time can increase the training stability?

@aidemHJC yes. yolov5 version of mosaic augmentation filters out some low quality boxes.

@scsolaris do you mean that using ciou with my code and yolov5 version of mosaic augmentation the same time can increase the training stability?

@aidemHJC yes. yolov5 version of mosaic augmentation filters out some low quality boxes.

interesting! do you have open source code?

@vaerdu the old version of yolox use the yolov5 version of mosaic augmentation. please refer to #765

@scsolaris
thanks for your reply


cannot add EFCore.Relational build 20093 to .NET 4.5.1 class library

On VS 2015 Update 1 getting this:
Added package 'Microsoft.Extensions.Options.1.0.0-rc2-20093' to folder 'C:\Code\EF7SQLCE\packages'
Install failed. Rolling back...
Package 'Microsoft.Extensions.Options.1.0.0-rc2-20093 : Microsoft.Extensions.DependencyInjection.Abstractions [1.0.0-rc2-20093, ), Microsoft.Extensions.Primitives [1.0.0-rc2-20093, )' does not exist in project 'EntityFramework.SqlServerCompact40'
Removed package 'Microsoft.Extensions.Caching.Abstractions.1.0.0-rc2-20093 : Microsoft.Extensions.Primitives [1.0.0-rc2-20093, )' from 'packages.config'

Ugg. :frowning: Yet another issue just like aspnet/Logging#376 @Eilon Can we add a rule to our package verification thingy for this?

Nice turnaround time there, @bricelam :smile:

@bricelam it's fairly easy to add rules to it. Source code is here if you want to take a crack at it: https://github.com/aspnet/DnxTools/tree/dev/src/NuGetPackageVerifier
Question is: do you feel like this is likely to break again in the future? If so, we should add the rule. But if this is likely a one-time thing that we'll clear up and likely never see again, the value of course might not be high enough.

@Eilon Sadly, this has already happended before...

@ErikEJ indeed, I'm just wondering if this is a one-time cleanup or if it's something that'll keep reappearing. Adding tests has its own cost that has to be balanced. (Everything is slower, tests can be flakey or have their own bugs, etc.)

Do you feel like this is likely to break again in the future?

Yes, it happens at least once a release.


Take TSLint import blacklist into account in IntelliSense

Search Terms
TSLint import blacklist IntelliSense
Suggestion
When suggesting imports, results in blacklisted imports should not show up, or at least further down the results.
Use Cases
Making sure that blacklisted imports won't get into the code because of auto importing.
Examples

In this project the upper import should never be used, and instead the one below should be used always. Blacklisting that import gives us a warning but it would be more convenient to not let the IntelliSense show that import at all.
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

I know it will be deprecated but as far as I know it will be moved under ESLint


If this is not the case, it is likely that you removed a mod that contained an entity in which your friend was morphed to.


 I had tmuxinator working a couple of days ago. Now I attempted to create a second project by running new and I got this error:
$ tmuxinator new test
(erubis:4:in `generate_project_file': undefined method `[]' for nil:NilClass (NoMethodError)
	from /usr/local/lib/ruby/gems/2.4.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `eval'
	from /usr/local/lib/ruby/gems/2.4.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `result'
	from /usr/local/lib/ruby/gems/2.4.0/gems/tmuxinator-0.9.0/lib/tmuxinator/cli.rb:93:in `generate_project_file'
	from /usr/local/lib/ruby/gems/2.4.0/gems/tmuxinator-0.9.0/lib/tmuxinator/cli.rb:86:in `find_project_file'
	from /usr/local/lib/ruby/gems/2.4.0/gems/tmuxinator-0.9.0/lib/tmuxinator/cli.rb:72:in `new'
	from /usr/local/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
	from /usr/local/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
	from /usr/local/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
	from /usr/local/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
	from /usr/local/lib/ruby/gems/2.4.0/gems/tmuxinator-0.9.0/bin/tmuxinator:15:in `<top (required)>'
	from /usr/local/bin/tmuxinator:23:in `load'
	from /usr/local/bin/tmuxinator:23:in `<main>'

Versions
$ ruby -v
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16]

$ gem -v
2.6.13

Update
When I run tmuxinator open default or tmuxinator default (my default project) it works, specifically new is the command that doesn't

@chris-fa can you post the contents of your default.yml and sample.yml if they exist?

Closing this for now. If anyone is still having this issue, please re-open.


Not able to add sounds

Not able to add sounds to Botnak even though they are .wav files.

Further debugging showed that the FileChooser for sounds is missing a period in its extension comparing. This will be fixed in the next version.


busybox lzop problem

The lzop command in busybox doesn't support --stdout flag. Instead it uses -c
It could be possible to check the supported flags?

Is there a flag choice that works on all platforms?  "-c" is documented on my Ubuntu machine, for example.

@fdr  from the ubuntu man page --stdout or --to-stdout are alias to -c
OPTIONS
       -c, --stdout, --to-stdout
           Write output on standard output. If there are several input files, the output consists of a sequence of independently (de)compressed members. To obtain better compression, concatenate all input files before compressing them.

perhaps submit a patch if -c is the only flag held in common on all known implementations.  Please add a comment as the rationale for the choice is obscure.

@fdr done https://github.com/wal-e/wal-e/pull/171

Alright, it's been merged.

@fdr thanks.


Arrow and segment not aligned

How Do I fix this?

@konsbn - That is extremely weird. I'm not sure I've ever seen distortion like that.
(By the way, I see that your OK_ICON is the medium.com logo - I fixed this in master recently. It looks like some of the codepoints changed in the awesome fonts)

Can you check out the HEAD of master?
Can you show us how your terminal's font is configured / selected? Screenshot is fine. I also use gnome-terminal, by the way.

I think this is a font or terminal emulator problem.
Did you compile a font by yourself? Maybe there did go something wrong..
Or another cause could be different font sizes for non-ascii font and normal text. In iTerm2 there is a setting for that:

Maybe your terminal emulator has a similar setting..

Hey @konsbn - Any updates, here?

Just checking in on this!

Closing due to inactivity.

@bhilburn I am having the same problem. Just installed powerlevel9k today itself. I'll be happy to provide any information you need.

@Moulick Which font do you use? And wich POWERLEVEL9K_MODE?

@dritter I actually solved it. the problem was that I had selected a different font in my profile preferences in gnome-terminal. the POWERLEVEL9K_MODE was 'awesome-fontconfig'. Btw another question. What should I use as the family in 10-symbols.conf file ?
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<!--
When a glyph is missing in the current font freetype2 will look into
other installed fonts to see if it's going to find it, but which fonts?
and in which order?

The configuration below aim to declare an ordered list of fonts
to be looked into when a glyph is not found in a specic font

<alias>
  <family>FONT_WITH_A_POSSIBLY_MISSING_GLYPH</family>
  <prefer>
    <family>FIRST_FONT_TO_LOOK_INTO</family>
    <family>SECOND_FONT_TO_LOOK_INTO</family>
    <family>...</family>
  </prefer>
</alias>
-->

<fontconfig>
  <alias>
    <family>DejaVuSansMono Book</family>
    <prefer>
      <family>Pomodoro</family>
      <family>FontAwesome</family>
      <family>Octicons</family>
      <family>Icomoon</family>
    </prefer>
  </alias>
</fontconfig>

What should I place in DejaVuSansMono Book's place. anything I place there doesn't seem to make any difference.


Create README.md

Better community engagement / allows students to easily see values for CAN IDs, Bling Slots, and PS4 Controller Symbols.

We will likely fill out sections for CAN IDs (etc) once mechanisms are built, and we decide what number they will occupy on the competition robot.


Fix typo in docs

Previous docs said to include bootstrap-tour.min.js twice instead of bootstrap.min.js and bootstrap-tour.min.js

Was a mistake on my behalf.. no mistake was previously there


Dragging nodes in IE10

Hi,
when dragging nodes with the mouse in IE10 I get the Error
SVG4601: SVG Path data has incorrect format and could not be completely parsed
The problem and its solution is described here https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY.
So function 'translateCoordinates' in flowchart_directive.js should look like this:
this.translateCoordinates = function(x, y, evt) {
	var svg_elem =  $element.get(0);
	var matrix = svg_elem.getScreenCTM();
	var point = svg_elem.createSVGPoint();
	//point.x = x - evt.view.scrollX;
	//point.y = y - evt.view.scrollY;
	point.x = x - evt.view.pageXOffset;
	point.y = y - evt.view.pageYOffset;
	return point.matrixTransform(matrix.inverse());
};

Please feel free to contribute the solution and submit a pull requests.


Streaming operation unsupported

Per https://github.com/antmicro/yosys-systemverilog/issues/968
Not really sure about the relationship of this repo to that one

Fixed. The test https://github.com/jeras/UHDM-integration-tests/commit/87d736de151f3dd13ec360cfd1a793dba3cd2c56 (linked in https://github.com/antmicro/yosys-systemverilog/issues/968) currently passes formal verification.


Feature Request: Displaying Multiple Sources

Is there any way to display multiple sources at the same time?  For example, displaying a tree whose root node has two children: FileExplorer and Buffers.  The children of FileExplorer are the files in the current directory.  The children of Buffers are the open buffers.  Furthermore, taking actions on the FileExplorer nodes would give you file actions, taking actions on the Buffer nodes would give you buffer actions.
Basically, I think it'd be nice to emulate the "side drawers" in VSCode (or other IDEs) where you have different sections (e.g. file explorer, file outline, etc) all living in the same window split.

There is no way to do this. I'm not inclined to make all the changes needed to accomplish this because I wouldn't have interest in using it this way. I prefer to switch between sources rather than try to display all at once.
I think a better solution would be the idea to create grouped windows where separate trees can be docked together, as suggested in #360. The good news is that I think Nui has added some functionality for layouts which would likely make such work easier. I still wouldn't use that feature though, so I don't think I'll be the one to add that. I would certainly work with someone who wants to submit a PR to add these features.
I could also see someone creating a general purpose plugin that docks any arbitrary set of windows. In a perfect world, I think this would be the ideal solution.

Yeah I can see how this would be a lot to implement.  I do not think it's such an ill-fitting use case though.  I suggested this to use with custom sources that all pertain to file types (e.g. FileExplorer + bookmark source + project source).  And I suggested it in the same tree because it has the upshot of automatically collapsing/expanding sections, instead of having to deal with collapsing splits.  But I understand it is messier to have to implement node-type specific actions.  I'm still trying to figure out how to add custom sources so I'm not in a position to submit a PR myself.

It's not that it's not a good idea that a lot of people would like, it just doesn't fit with how it was architected and it's not a project I would undertake because I wouldn't personally utilize it.
It's certainly possible to do though. I'm not sure if it's easier to add in the ability to show multiple sources or to create a new source that is a combo of others. Maybe a little of both is the way to go actually, a new source that is designed to combine other sources in a generic way. This is actually interesting now that I think about it...


feat/total cases chart

feat(mixins): add d3 base chart mixin to be used by other d3 chart components
feat(mixins): update mixins index to export d3BaseChart mixin
feat(comp/charts): add WeeksToCompletion line chart
feat(comp/charts): add simple initial load transition to WeeksToCompletion
feat(comp/charts): add TotalCases bubble chart

Please merge this PR after merging #1244 as this branch is created from feat/weeks-to-completion-chart


Added capabilities of checking a single bucket

--check-single ${BUCKET_NAME} will not allow you to check the permissions on a single bucket.

Great idea, thanks for the PR