Tooltips and aria-describedby: Screenreaders don't see them

The Bootstrap tooltips seem to be implemented with blind users in mind, because they have an aria-describedby attribute. Sadly though, that screenreaders will never see this information, as it is only present in the DOM when the tooltipped element is hovered with the mouse, and blind people do not use any mice.

Precision: also on focus the tooltips are displayed, so having a tooltip on a focusable element works for this, but any non-focusable element doesn't.

It's probably implicit in the documentation (and I'll make a note to add a clarification here), but as all examples given at http://getbootstrap.com/javascript/#tooltips show tooltips added to actual form controls/focusable elements, it's the assumption that people will use them purely on those types of elements.

I'm not happy with this approach. Why not having all the tooltips in the DOM all the time and just showing/hiding them visually on hover and on focus? Then screenreaders would see tooltips on non-focusable elements too.

You also mention that one can add tooltips to non-focusable elements by making them focusable via tabindex="0", but this is bad code style, as one shouldn't clutter the focusable elements with elements simply for this reason.

Feel free to propose, as a separate pull request, some wording for the callout that you feel is more appropriate.

There's no problem with the wording, but with the technical approach that leads to the current behaviour.
If the current behaviour wouldn't limit tooltips to focusable elements only, there wouldn't be the need for a callout.
At least, Bootstrap should make sure that tooltips only show on focusable elements, because the way it is now, people happily throw tooltips everywhere and nobody realises that they are not accessible.

I'm not happy with this approach. Why not having all the tooltips in the DOM all the time and just showing/hiding them visually on hover and on focus? Then screenreaders would see tooltips on non-focusable elements too.

And I'm not happy with that approach, for two reasons:

if you're proposing that the tooltip element itself shouldn't be dynamically created/destroyed, but instead placed in the DOM at all times and only made visible/invisible: some sites dynamically alter the tooltip text just before it's being displayed; having it always present will, in those situations, result in inaccurate or broken tooltip text being exposed to AT users
assuming you're thinking about AT announcing the presence of an aria-describedby even on arbitrary elements that aren't focusable, while in reading mode: from a quick test just with JAWS, only Firefox seem to provide a hint that there is description text present - JAWS/IE and JAWS/Chrome happily ignore the aria-describedby while in reading mode, it seems
your proposed approach doesn't solve the problem for keyboard-only users without AT - because accessibility is, of course, not limited to just screenreader users

So, I'm aware that the current approach for tooltips (or rather, how developers are using it randomly on all sorts of elements) isn't ideal. But for now, I'd rather give advice in the docs that adds a few extra elements in the tab order if that means sighted keyboard users can also benefit from the tooltip
More fundamentally, changing the actual functionality of the tooltip code to only work when on a focusable element is a severe break in backwards compatibility, and we're definitely not in a position to do this in Bootstrap version 3 going forward, as an update to Bootstrap would then immediately break all sites that historically have used tooltip (wrongly, I'll grant you) on non-focusable elements. For the time being, the best approach we can have is to strengthen the advice in the documentation. However, the idea of making tooltip only work in the correct situations is something that I'll put on the list for version 4, where we can make more radical behavioural changes to the code - and enforce that tooltip only work on focusable elements.

Thank you for this very good explanation. I agree with your statement.
Hopefully accessibility will become a greater focus in future versions of Bootstrap! :+1:


Password Authentication can fail if password contains special characters

Describe the bug
A users password contained “&” this causes an authentication failure.
Versions
Tested with TSC 0.19
To Reproduce
Create a user on Tableau Server or Cloud containing with a password containing an XML special character like “&” then authenticate with the username and password (not PAT)
Results
What are the results or error messages received?
Auth fails but will succeed if the special characters are encoded appropriately. E.g. &amp or &#38.

@geordielad do you have more details or an example of where this isn't working correctly?
I just did a quick test with:

Tableau Server 2022.1.3
TSC 0.19
password: this&that

import tableauserverclient as TSC

tableau_auth = TSC.TableauAuth("USERNAME", "this&that")
server = TSC.Server("HOST", use_server_version=True)
server.add_http_options({"verify": False})

with server.auth.sign_in(tableau_auth):
    s_info = server.server_info.get()
    print("Logged in to server:")
    print("\tProduct version: {0}".format(s_info.product_version))
    print("\tREST API version: {0}".format(s_info.rest_api_version))
    print("\tBuild number: {0}".format(s_info.build_number))

Result: the login worked just fine. In this case it looks like TSC is doing the proper handling of encoding the password before sending over the wire. However there might be other cases where it's not. Any examples of that would be helpful.

Stephen Price's example password that failed was z0^EF91Mxp&uhEzV
He tested adding & to replace the "&" in the password and it worked as expected "200 OK"
,  & also worked

Ah yes, now I'm caught back up on the original internal Slack thread.
So I've tested with that more complex password as well and it works in my simple TSC login example above, and also works when I use the sample login.py script:
python login.py --server "HOST" --username "zztest" --password "z0^EF91Mxp&uhEzV"

Signing in...
Server: HOST
Site: None
Username: zztest
Logged in successfully
ServerInfoItem: [product version: 2022.1.3, build no.:20221.22.0616.1738, REST API version:3.15]

Maybe the difference is the Tableau Server version or on-prem vs cloud or something.

These passwords should work successfully, we did do some testing for tabcmd for OS-special characters and added this documentation: https://github.com/tableau/tabcmd/pull/228
I don't think you should need to do anything specific when working with tsc, just enter the password in plain text. If there are any examples where the user needs to do something more than that, we should document it.


(Docs) Adding note to manage_internal_file_permissions

For Windows agents, the default is false for versions 4.10.13+, 5.5.6+, and 6.0+

CLA signed by all contributors.

Travis is failing because we require commits to start with a PUP ticket or (docs), etc. Could you squash your commits and push to your topic branch?

Hey Josh, I think I figured it out! :D


in_tail: Remove entries for deleted paths in pos_file at start up

Which issue(s) this PR fixes:
Fixes #3433
What this PR does / why we need it:
As described in #3433, path entries in pos_file for delete files never removed.
This patch removes such entries at start up.
For follow_inode true case, it''s already implemented.
I think it's also needed for follow_inode false case, but I'm not sure why the current implementation is only for follow_inode true case.
Docs Changes:
none
Release Note:
Same with the title

Thanks!


Failed to reopen files once workspace folder moved into another folder

VSCode Version: 1.15.1 64 bits
OS Version: Windows 7 SP1 64 bits

Steps to Reproduce:
0. My workspace files:

 D:\test
 D:\test\.vscode
 D:\test\a.txt
 D:\test\b.txt

and the workspace settings:
{
    "window.restoreWindows": "all"
}

Open D:\test with vscode by right click
Double click files name  a.txt and b.txt in left panel
Close vscode
Move D:\test to D:\NewFolder\test
Enter D:\NewFolder
Open test folder with vscode by right click
a.txt and b.txt files not opened automatically

Reproduces without extensions: Yes

@Tyriar But, it's incompatible with

Workspace settings are useful for sharing project specific settings across a team
in VSCode Official Document

Since settings lost on the same PC after moving to a new folder, and how about sharing settings to another people using another PC in a team?
It's not useful for sharing project specific settings to anyone.

/cc @bpasero

I do not understand the issue, are you asking to have a setting to open these 2 files by default?


iOS project doesn't compile with 5.4.1

The errors are:
No visible @interface for 'AppsFlyerTracker' declares the selector 'setSharingFilterForAllPartners'
No visible @interface for 'AppsFlyerTracker' declares the selector 'performOnAppAttributionWithURL:'
No visible @interface for 'AppsFlyerTracker' declares the selector 'setSharingFilter:'

@denisk20 Can you please cd into ios subfolder in your project and run pod update? This should solve the issue

This worked! Only had to update the AppsFlyerFramework like this
pod update AppsFlyerFramework
Thanks!


Crash after clicking back to main menu

The title says it all. When I crashed with EU2 I got a crash that pointed to it. But after heading back to main menu, I got crashed again, again and again, this time the mod is unknown and I believe that this is on your side, so here's the crash that generates infinitely: https://paste.dimdev.org/osodekaguy.mccrash
A fix would be to restart minecraft, but my players have the same issue.

So after crashing, VanillaFix's back to main menu doesn't work, but restarting Minecraft and playing in the same world/server works?

yes, I press back to main menu and then another crash happens

Without the original crash report I can't fix the problem, do you still have it?
Also, you haven't answered my first question. Are you sure that restarting Minecraft and joining the same world or server fixes the problem?

I'll try to recreate the crash, and yes, joining same world after crash works fine (after game restart)

This happens sometimes, with any crash, this for example
crash-2018-07-01_17.36.50-client.txt
After going to main menu I got
crash-2018-07-01_18.12.30-client.txt
and finally I get the same crash when going back to main menu:
crash-2018-07-01_18.12.31-client.txt


Nginx: the old connection cannot be processed properly after reload

After reload nginx, the old fd closed, the rest of the data could not be sent properly due to Bad file descriptor.
The client's packets will be dropped by the new worker due to invalid initial packet.

The new worker is created first during the reload. If only dependent on the UDP binding process mechanism provided by reuseport the old connection may be hashed to the new worker by the kernel.


Move setCustomUrl/setReferrerUrl into... customizable web_page context?

Something to explore for the 3.0.0 release.
/cc @philpearce

I'm not entirely sure what this might look like. Are we suggesting the autocontext has more properties? If we're suggesting this occurs at tracker initialisation then I worry that it wouldn't work for single page applications and in fact, the function versions we are suggesting we replacing here are probably more future proof and flexibile.

I think this can be closed. It would be superceded by the atomic.events refactor eventually.


Issue with Installation on Python 3.11

Hey, I am encountering difficulties when trying to install the package with Python 3.11.
Troubleshooting Steps Taken:

Installed necessary build tools using pip install build.
Updated pip and setuptools.
Manually downloaded the src and attempted to install locally.

Additional Information:

Operating System: win11
Python Version: 3.11
Pip Version:  23.3.2
Setuptools Version: 69.0.3

Thank you!

Hi, i've checked this and it seems to be a problem with an outdated version of pybind, i'm gonna commit the changes and if you can please tell me if the issue is resolved as soon as possible

Fix implemented, you can try now

It works!!! Thank you so much


kronos: cant install sqlite-simple via gui

Resolving dependencies...
Downloading blaze-textual-<IP_ADDRESS>...
Downloading direct-sqlite-2.3.14...
Configuring blaze-textual-<IP_ADDRESS>...
Failed to install blaze-textual-<IP_ADDRESS>
Build log ( /Applications/Kronos-Haskell.app/Contents/Resources/ghc-7.8.3/Contents/cabal/dot-cabal/logs/blaze-textual-<IP_ADDRESS>.log ):
Configuring direct-sqlite-2.3.14...
Failed to install direct-sqlite-2.3.14
Build log ( /Applications/Kronos-Haskell.app/Contents/Resources/ghc-7.8.3/Contents/cabal/dot-cabal/logs/direct-sqlite-2.3.14.log ):
cabal: Error: some packages failed to install:
blaze-textual-<IP_ADDRESS> failed during the configure step. The exception was:
user error
('/Applications/Kronos-Haskell.app/Contents/Resources/ghc-7.8.3/Contents/cabal/../bin/ghc'
exited with an error:
: cannot satisfy -package-id
Cabal-<IP_ADDRESS>-ca8c3db7c6c7170aca45126b5b04810b:
Cabal-<IP_ADDRESS>-ca8c3db7c6c7170aca45126b5b04810b is unusable due to missing or
recursive dependencies:
base-<IP_ADDRESS>-a286b0e00ce442b41516eb1139baa2fb
directory-<IP_ADDRESS>-3ba5f45f22d8b88e28f9a9e30c97cde8
unix-<IP_ADDRESS>-bba06d6b881c852914a8f208836a1951
(use -v for more information)
)
direct-sqlite-2.3.14 failed during the configure step. The exception was:
user error
('/Applications/Kronos-Haskell.app/Contents/Resources/ghc-7.8.3/Contents/cabal/../bin/ghc'
exited with an error:
: cannot satisfy -package-id
Cabal-<IP_ADDRESS>-ca8c3db7c6c7170aca45126b5b04810b:
Cabal-<IP_ADDRESS>-ca8c3db7c6c7170aca45126b5b04810b is unusable due to missing or
recursive dependencies:
base-<IP_ADDRESS>-a286b0e00ce442b41516eb1139baa2fb
directory-<IP_ADDRESS>-3ba5f45f22d8b88e28f9a9e30c97cde8
unix-<IP_ADDRESS>-bba06d6b881c852914a8f208836a1951
(use -v for more information)
)
sqlite-simple-<IP_ADDRESS> depends on direct-sqlite-2.3.14 which failed to install.
Done.

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Interesting. Thanks for the report.  It seems to be an issue with the isolation, somehow, since it works on my setup.
What version of cabal do you have natively? Is it 1.22? Seems strange what's going on.

yeah, a slightly pre RC 1.22

Try the following from a shell which has stuff set up as if you were running an application:
export DYLD_LIBRARY_PATH=/Applications/Kronos-Haskell.app/Contents/Resources/ghc-7.8.3/dylibs; export N=/Applications/Kronos-Haskell.app/Contents/Resources/ghc-7.8.3/Contents; export PATH=$N/bin:$PATH; $N/bin/cabal --config-file=$N/cabal/config install sqlite-simple -j --enable-relocatable -v3

this is effectively the command being run by the application, so if you could run that and dump the log here to investigate that'd be super helpful.

Kronos is unmaintained/deprecated now.


Create Language choose option

In Problems page create one option to choose language and get those answer in that language only

Language choose option is used with buttons which use AJAX call to save data. It calls the URL save-lang1/2/3/4 and then with model Language it updates its value.
Commit - https://github.com/shashank-sharma/mythical-learning/commit/3add812bd45680925eca07ccf489f91d245d4799
Local testing - DONE
Online Testing - DONE


Status Page Custom CSS Help

⚠ Please verify that this question has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Im working on a custom css for my status page. Mainly i want to edit the Colors.
I dont understand what to change, so that the color change hover effect of monitors has a different color.
If you dont know what i mean take a look here:
https://github.com/user-attachments/assets/3f3930b7-5128-41dd-a296-dca2b83cf82c
📝 Error Message(s) or Log
Custom CSS:
.dark {
background-color: #060400;
}
.item:hover {
  background-color: #0d0900;
}

.dark .shadow-box:not(.alert) {
    background-color: #0d0900;
}

🐻 Uptime-Kuma Version
1.23.15
💻 Operating System and Arch
Debian 12
🌐 Browser
Google Chrome
🖥 Deployment Environment

Runtime:
Database:
Filesystem used to store the database on:
number of monitors:

I think you need to be more specific with you classes and play around a bit with Inspector to find what you need
.monitor-list .item:hover {
  background-color: #0d0900;
}

.dark .shadow-box.:not(:has(.alert)) {
  background-color: #0d0900;
}


Unsupported file type

I run tests on M1 with Xcode 12.5.1
Step for xcresulttool:
- name: Pretty report
      uses<EMAIL_ADDRESS>      with:
        path: AllTests.xcresult
      if: success() || failure()

Result of the step gives me unspecified error:

Probably accessing a non-image attachment file.
I think this PR will fix it. I will release it as soon as possible.
https://github.com/kishikawakatsumi/xcresulttool/pull/31

@maxkazakov Released v1.0.4, can you try it again?

Thanks! Now it works on M1
On a unrelated note: I cannot see the report on the left side after xcresulttool finished its job. Is this somehow related with  'truncate text' errors?

If it is truncated, the rest of the report will be uploaded. If the action was not executed in a pull request, please try it in a pull request.
If the problem doesn't resolve, please let me know the repository if it is a public repository.
If it is private, can you share the xcresult bundle for debugging (if possible)?
The xcresult bundle should have been uploaded to artifact.

Is there a way to get a report without making a pull request?
In my project we run unit tests on GA every time someone pushes to repo.
I like the way it's done here:
https://github.com/kishikawakatsumi/xcresulttool-example/runs/3961629069?check_suite_focus=true

Is there a way to get a report without making a pull request?

Probably ye possible.  However, I'm not familiar with the behavior of GitHub Checks, so I'm not sure.
From what I've observed, Checks are created for the commits you specify, but I'm not sure if there is a way to access it explicitly.
The reason I asked you to try with a pull request is to isolate the problem.
If the report is posted in the pull request, then the problem is not in the truncation or in the API call.

Report is generated when job triggered from Pull Request. Also, it works when job starts after push to branch.
The only case it doesn't work: manually run workflow, but this is ok for me.
Thanks for a great tool!
Our project has about 4k tests and unfortunately report does not look really useful, because most of the information is truncated.
The main value I see in this kind of report: to see failed tests and the reason they have failed. It would be great to see this information right after the summary table. I would really appreciate it if you consider adding this info to the beginning of the report. Thank you!

Thanks for confirming. I agree that the information about failed tests is important. I'm planning to have an option to control to choose what shows to the report.

You can hide the passed test results by setting the show-passed-tests option to false.


Extended TDigest support by implementing TDIGEST.MERGE command

Closes #1066
@shacharPash

@shacharPash already merged👌


Release new version because gotrue:0.1.2 is not exporting gotrue_error.dart class

Release new version because gotrue:0.1.2 is not exporting gotrue_error.dart class

This was fixed by commit https://github.com/supabase-community/gotrue-dart/commit/6d936522fb37a5cb0ed4d64e93a006c47a7a483c


enable optional cookie container to be injected into the constructo…

…r to be used instead of the default private instance

I'd like the ability to be able to inject a CookieContainer that contains other cookies to be sent with the HttpRequests (such as SessionIDs).

This is needed

You can already set custom cookie containers -- https://github.com/elcattivo/CloudFlareUtilities/issues/14#issuecomment-289019573.

Thanks for your work @itb2k13 , but as kade said, using a custom cookie container is already possible. I don't think this change would provide any benefit.


EntitySet Concat() does not reindex data

EntitySets store an internal dictionary mapping the indexes that connect entities across relationships. This speeds up computation time by enabling quicker joins, much like what a database  does. To create these indexes, inside of EntitySet.add_relationship, we internally call:
self.index_data(relationship)

However, when we concat two EntitySets like this:
es_updated = es_old.concat(es_new)

We update the internal dataframes of es_old but do not update the indexes. This affects calculate_feature_matrix down the road not just as a performance hit, but also potentially in the actual feature values.
An easy fix is to add the following to EntitySet.concat:
for r in es.relationships:
    es.index_data(r)

adding @rwedge since he worked on EntitySet.concat


add consumer error=streams: EOF

I'm adding TP-Link cameras to go2rtc（not tapo)，i'm sure the rtsp address and credentials are correct, go2rtc can also find it as well.

but streaming is always failing, deug logs here
11:59:44.609 | debug | [webrtc] new consumer src=TP_Link_TL_IPC14CH
-- | -- | --
11:59:44.640 | debug | [mp4] add consumer error=streams: EOF
11:59:44.671 | debug | [webrtc] add consumer error=streams: EOF
11:59:45.017 | debug | [mjpeg] add consumer error=streams: EOF
12:00:26.143 | debug | [webrtc] new consumer src=Hikvision

config
log:
  level: debug

streams:
  TP_Link_TL_IPC14CH:
    - rtsp://admin:cafnu-jytku*******@10.*.10.25:554/stream1

wired, I removed the '-' in my password, and it's ok now.
for example, origin password is "111-222-333", changed to "111222333" solved the problem

Perhaps these characters should be url escaped. I'm not sure.

Perhaps these characters should be url escaped. I'm not sure.

Yes, this issue happen to me too.
I had to only use a-z and numeric chars as user and password. It fail as the OP, with "-" and "_" as part of the password and username.
I could make a PR, but I'm not sure what's the issue, to be honest.
Thank you.


DROOLS-1270 - support fact handle operations for REST APIs on kie server

@mariofusco @etirelli could you please have a look
depends on https://github.com/droolsjbpm/drools/pull/905

+1

jenkins retest this


Develop Site Role Management Feature

Implement a role management system for the site that allows for the creation, modification, and assignment of roles and permissions to users.
Objective:
Create a flexible and secure system to manage user roles and permissions, enhancing the site's administration and user management capabilities.
Requirements:

Interface for creating and editing roles.
Ability to assign and modify permissions for each role.
User interface for assigning roles to users.
Ensure changes are reflected across the site immediately.

Merged with #9


import sigstore-js to sigstore org

Summary
import the sigstore-js into pulumi infra and add the config in the yaml
This is just to sync the data, it was applied manually during the import phase.
xref: https://github.com/sigstore/community/pull/81
cc @bdehamer

@cpanato I can see that the codeowners-sigstore-js team was created, but there is no one on it

let me check that

Doh! I see that the entry in the user's file says sigstore-js-codeowners not codeowners-sigstore-js . . . which was a mistake copied from my original PR 🤦♂

yep, that is, i will fix it


To block format

Documentation should include the format of multiple email addresses especially in the (string, string) constructor.  What is the delimiting character?

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

ID: 378befcb-4c9e-2d78-4013-26594ebf53f5
Version Independent ID: 05d64899-1bfc-9f95-9972-9f0f1efdfb2e
Content: MailMessage Constructor (System.Net.Mail)
Content Source: xml/System.Net.Mail/MailMessage.xml
Product: dotnet-api
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

Thanks for your comment, @sean-vogel. Specifying the delimiter is an important detail that seems to be missing from the documentation.
@davidsh, is the delimiter a comma, as the MailAddressCollection.Add method indicates?

@davidsh, is the delimiter a comma, as the MailAddressCollection.Add method indicates?

Yes.  Internally, calling new MailMessage(from, to) translates to this for parsing the value of the 'to' string. The string can contain multiple addresses separated by the delimiter.
https://github.com/dotnet/corefx/blob/52121c8d0376dcb0f69570e793b6d40232ccabf9/src/System.Net.Mail/src/System/Net/Mail/MailPriority.cs#L60-L62


fix: augment vue rather than @vue/runtime-core

In line with https://github.com/vuejs/router/pull/2295 and https://github.com/nuxt/nuxt/pull/28542, this moves to augment vue rather than @vue/runtime core.
This is now officially recommended in the docs and it must be done by all libraries or it will break types for other libraries.

@hunterliu1003 Is there a chance to relase a patch with this change only? As I have checked in my repo, it is responsible for hundreds of errors in vue-tsc, because it is breaking types for $router (vue-router) and $t (i18n). I believe many more people will benefit and probably many did not figure out yet what dependency is breaking vue types in their case.
I hope that makes it easier to understand the impact of merging PR from Daniel. Thank you.

@hunterliu1003 Is there a chance to relase a patch with this change only? As I have checked in my repo, it is responsible for hundreds of errors in vue-tsc, because it is breaking types for $router (vue-router) and $t (i18n). I believe many more people will benefit and probably many did not figure out yet what dependency is breaking vue types in their case.
I hope that makes it easier to understand the impact of merging PR from Daniel. Thank you.

Thanks for the reminder. I will release a patch version as soon as possible. I had a new baby last month and life got very busy.

@hunterliu1003 congratulations! thank you for so fast reply and all the best for your family :)

@xollaborator
Thanks ❤
Released in v4.5.5


ASU-1366 | Add alarm to reservation API, fix project factory data

Codecov Report

Merging #187 (6f91b56) into develop (3c89bef) will decrease coverage by 0.05%.
The diff coverage is 81.81%.

@@             Coverage Diff             @@
##           develop     #187      +/-   ##
===========================================
- Coverage    94.71%   94.66%   -0.06%
===========================================
  Files          100      100
  Lines         3121     3129       +8
  Branches       254      255       +1
===========================================
+ Hits          2956     2962       +6
- Misses         117      118       +1
- Partials        48       49       +1

Impacted Files
Coverage Δ

application_form/api/sales/serializers.py
96.07% <77.77%> (-3.93%)
:arrow_down:

apartment/api/sales/serializers.py
100.00% <100.00%> (ø)

apartment/api/serializers.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3c89bef...6f91b56. Read the comment docs.


Add JobsPrePaymentEvent

Add event to allow plugins to modify payments per player and per job before they're added to the delayed payment batch.
Implements #450

After further testing it seems event.getJob() always returns null


Webpage Mobile Awkwardness

Expected Behavior
The webpage should not have huge text and spaces between each letter. Every page should most likely just be like the desktop version.
Actual Behavior
The font is too big, pictures are too small, and the aspect ratio fits mobile instead of being fixed like other wepages on mobile.
Relevant Information to Reproduce
Go there on your phone.
Category of Issue
Webpage

Slightly fixed with some CSS.

Fixed enough.

Fixed for good.


DynamoDB backend - allow using attribute name other than "value"

While this isn't explicitly documented except in the examples, the DynamoDB backend is hard-coded to use "value" as the attribute name to retrieve. Unfortunately, "value" is a reserved word in DynamoDB.
This is rather bothersome, as it means that we can't query the values used by confd directly using awscli:
aws dynamodb get-item --table-name sometable --key '{"key":{"S":"somekey"}}' --projection-expression "value" --query 'Item.value.S' --output text

An error occurred (ValidationException) when calling the GetItem operation: Invalid ProjectionExpression: Attribute name is a reserved keyword; reserved keyword: value

My use case is that we have configuration stored in DynamoDB... some items we use inside confd to dynamically update and some other items are queried once at boot time (cloud-init) via awscli in shell scripts. To make this work, we need to set two attributes with identical values for every item in DynamoDB: one called "value" for confd, and another called anything other than "value" (we use "content") that can be queried by awscli.
It would be really helpful if we could override the hard-coded "value" to something of our own choosing, i.e. not a DynamoDB reserved word.

@jantman thanks for opening an issue! That's a great suggestion. I think it would be nice to create a new option, something like --dynamodb-attribute-name. I'll look into it once I have a chance.

Thanks so much! I wish I could submit a PR along with this, but I've never worked in Go and I honestly don't think I'll have the time...


Schema Generator always generates diff for vector(N) type

Describe the bug
When using pgvector extension and concrete vector length, mikro-orm always tries to create a column migration like
this.addSql('alter table "embeddings" alter column "embedding_v1" type vector(1024) using ("embedding_v1"::vector(1024));');

^ note that the column is already of vector(1024) type
Reproduction
Given the following entity
@Entity()
export class Embeddings {
	@PrimaryKey()
	id!: string

	@Property({
		name: 'embedding_v1',
		type: 'vector(1024)',
		nullable: true,
	})
	embeddingV1!: unknown | null
}

MikroORM can create the schema properly, but on every next iteration it thinks that the column type is just vector instead of vector(1024) and tries to convert it. I think that's because the schema generator only considers the length for the datetime_precision, character_maximum_length
What driver are you using?
@mikro-orm/postgresql
MikroORM version
6.2.9
Node.js version
20.12.2
Operating system
Ubuntu 24.04
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Slack.
[X] The provided reproduction is a minimal reproducible example of the bug.

  type: 'vector(1024)',

This is wrong, you want columnType: 'vector(1024)', you should never put lengths into the type option (for that it would be type: 'vector', length: 1024). Not sure if that works fine or not, but what you are doing is a wrong way to do this.

Both columnType: 'vector(1024)' and type: 'vector', length 1024 also do not work :(

Try enabling verbose logging, you will see what columnType the database is using, it needs to match exactly, maybe you are using some alias.
https://mikro-orm.io/docs/schema-generator#debugging

This is the output of the schema introspection query (removed other tables):
select
  table_schema as schema_name,
  table_name,
  column_name,
  column_default,
  is_nullable,
  udt_name,
  coalesce(datetime_precision, character_maximum_length) length,
  numeric_precision,
  numeric_scale,
  data_type,
  is_identity,
  identity_generation,
  generation_expression,
  (select pg_catalog.col_description(c.oid, cols.ordinal_position::int) from pg_catalog.pg_class c where c.oid = (select ('"' || cols.table_schema || '"."' || cols.table_name || '"')::regclass::oid) and c.relname = cols.table_name) as column_comment
from information_schema.columns cols where (table_schema = 'public' and table_name = 'embeddings') order by ordinal_position

This gives udt_name = 'vector', but since length is returned as null -> schema generator thinks that the database has this column just as vector, not vector(1024)

Opened https://github.com/pgvector/pgvector/issues/611 as I am really not sure how can we extract the length from the information schema, since its a custom type (on db level).


How to handle page not found issue

I want to handle the requests for which routing rules are not set and giving page not found message.
Instead I want to display custom page not found page or redirect to some other page.

Hi @parthkdas
You can try to put this in the beginning of the routes.php file
App::notFound(function(){
    View::display('404.twig');
});

Thnx . Its working


Pushplugin using phonegap build 3.1.0 doesn't show the app title on notificacion (android)

I'm using pushplugin in my app, and until this moment without any problem, but when I updated it to phonegap 3.1.0 (using phonegap build) when a notification if recieved only the message is show (no the app tittle as before). No problem using ios
Anyone with the same problem?
Tested on android 4.2.2 (HTC One)
Using the same code - pgb 3.1.0
Example pictures here
http://community.phonegap.com/nitobi/topics/pushplugin_using_phonegap_build_3_1_0_doesnt_show_the_app_title_on_notificacion_android

Oh man...I wish that I found this hours ago! This fixed all of my problems.


Migrate to .Net 5 removing explicit support for Core and Framework

As a developer and user, I would like to move all projects to .Net 5 so that their is less maintenance and bugs supporting multiple development frameworks.
Discussion Items:
Will need some minor changes for MSBuild, such as WPF projects.
All users of stride will have to use .Net 5 not core or framework
Removing any code related to choosing framework or core

Latest discussion on this were:

We should probably skip .NET Core 3.1 and release .NET 5 directly to avoid the extra framework to support (& associated user project ugprades)
Current idea was to have both .NET Core and .NET Framework only for a single version (4.0 or 4.1), making it easier for users to upgrade (i.e. user can test back and forth the same project without upgrade and without any other engine feature/behavior change). Then the next version (4.1 or 4.2) would drop .NET Framework.
However that's something we could rediscuss.

If possible, could we setup the upgrade such that if someone needs to stay on .NET Core they could still do so by just compiling Stride themselves for another target? In other words, can we isolate breaking changes and possibly use if directives before completely dropping .NET Core reliant code in the next release.

I suppose one thing I didn't think about is that .NET Core 3.1 is an LTS, whereas 5 is not. I don't know what Stride's support policy is, but unless the .NET 6 version comes out a few months after .NET 5 comes out, users may be forced to use an unsupported TFM. Same goes if the .NET 6 version of Stride has breaking changes which may defer an upgrade.

We are in favor of the two steps strategy with fw and 5 support. Otherwise our fork would be hard to manage and makes pull requests harder. A transition period for existing projects is quite important for us, since upgrading will take us a few months of work.

I suppose one thing I didn't think about is that .NET Core 3.1 is an LTS, whereas 5 is not. I don't know what Stride's support policy is, but unless the .NET 6 version comes out a few months after .NET 5 comes out, users may be forced to use an unsupported TFM. Same goes if the .NET 6 version of Stride has breaking changes which may defer an upgrade.

The scheduled release date for .NET 6 is november 2021. So a year after .NET 5. .NET 5 support will end 3 months after the .NET 6 release.

BTW, here is some work I started on .NET 5 a few days ago: https://github.com/xen2/stride/tree/net5
Sadly I will have to put this aside for a few days (until I finish relocation).

Risking saying what you already know but:

Please align with this as far as at all possible, and with how Visual Studio works when multi-targeting: Target Framework Names in .NET 5. I think at least some of the MSBuild Extra's SDK foo is no longer needed and the more Stride is just standard .NET the better imho.
.NET 5 is more compatible with .NET 3.1 than with .NET Framework.
It is most likely almost effortless to not change much and go to .NET 5 and keep supporting both .NET Framework and .NET 3.1.

Almost nothing that is already written will change.
Most improvements and new code can be #if'deffed if at all needed.
Build steps might need work, but some won't be needed with .NET 5 I expect and they can be conditionally included during build, too. Based on TFM.

For most people, imho especially games, staying on an LTS is pointless, because there will be monthly updates anyway, which you have to deploy to be 'in support', but if anyone has compelling reasons to stay on 3.1 or .NET Framework then that shouldn't be hard until the codebase actually diverges.

I do feel that the stride preprocessor defines are overlapping with those being defined in .NET5. Following the work to make Stride compile and work correctly on .NET 5, I suggest removing all preprocessor defines in favour of those defined by .NET 5, looking into aligning those used for older TFM's with those defined in .NET 5 and to prefer runtime checks for the graphics API rather than preprocessor defines.
Finally I think it would be easy to adopt new targets, seeing how they now all use the same SDK and merely require some MSBuild properties to get set, and I would be very interested to see the project reunion type projects (WinUI on Desktop) become a new target that Stride supports. And MAUI, off course, when that will be usable - in favor of Stride's custom UI framework, at the very least to be able to use that, too.

I think I am mostly done with the prototype. Feel free to try it (from https://github.com/xen2/stride/tree/net5).
@ericwj thanks for the feedbacks.
I would also like to be able to get rid of MSBuild.Sdk.Extras and get back to a more standard building process.
It seems the two main blockers for that are:

Switch to .NET 5.0 only (which should happen in 4.1) so that we don't need RuntimeIdentifiers for .NET Standard anymore
This should remove all our complex steps related to RuntimeIdentifiers (we might need to unify some code between platforms before)
Either wait for net6.0-android and net6.0-ios, or wait for https://github.com/dotnet/sdk/issues/491 to be fixed, or embed the small part of MSBuild.Sdk.Extras to deal with that

For Silk.NET, the solution to the MSBuild.Sdk.Extras was NUKE. Because
dotnet build can’t build old-style projects, we just strip them out as part
of the build process unless you a) have desktop MSBuild on your PC and b)
have specified you want to build Android and iOS feature sets. However, I
appreciate that sounds a bit convoluted.
My personal opinion is just to wait until .NET 6. If Xamarin decide to push
back mobile even further to .NET 7 then I guess we can revisit it.
On Wed, 25 Nov 2020 at 08:28, xen2<EMAIL_ADDRESS>wrote:

I think I am mostly done with the prototype. Feel free to try it (from
https://github.com/xen2/stride/tree/net5).
@ericwj https://github.com/ericwj thanks for the feedbacks.
I would also like to be able to get rid of MSBuild.Sdk.Extras and get
back to a more standard building process.
It seems the two main blockers for that are:

Switch to .NET 5.0 only (which should happen in 4.1) so that we
don't need RuntimeIdentifiers for .NET Standard anymore
This should remove all our complex steps related to RuntimeIdentifiers
(we might need to unify some code between platforms before)
Either wait for net6.0-android and net6.0-ios, or wait for
dotnet/sdk#491 https://github.com/dotnet/sdk/issues/491 to be fixed,
or embed the small part of MSBuild.Sdk.Extras to deal with that

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/stride3d/stride/issues/912#issuecomment-733549249,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACVEYI2CQZKZGOLLGGHNSH3SRS53JANCNFSM4TXK56KA
.


Bind search to external URL and return results? (Open Street Map / Nominatim)

Hey there,
Very very neat library, but I'm having a bit of trouble.
What I want to do is:
Set the URL of the input to the following:
'http://nominatim.openstreetmap.org/search?format=json&q' + [Input Text Here].
I'm just wondering how I'd go about doing that?
Here's my HTML:

Test

    <input type="text" class="form-control" id="test-input">

And here's my JS:
$('#test-input').flexdatalist({
    minLength: 3,
    selectionRequired: true,
    searchIn: 'name',
    //url: 'http://nominatim.openstreetmap.org/search?format=json&q='
});

$('#test-input').on('change:flexdatalist', function (event, set, options) {

    console.log(set.value);
    console.log(set.text);

    var url = 'http://nominatim.openstreetmap.org/search?format=json&q=' + $('#test-input').val();

    $('#test-input').url = url;

});

Any suggestions? Thanks so much.

@Abrahamlet,
Thanks for the breify explaination. It actually fixed my issue too. After digging lot of examples this helped 👍 :)


Exploring Future Activity for llm-ls: Interest from Theia IDE Team

Hello llm-ls maintainers,
We at the Theia IDE (with AI support) and Theia AI find your project incredibly interesting. In fact, we've been exploring similar approaches to enhance AI-powered code completion in the Theia IDE, and the work that llm-ls has already done seems like a great fit for what we need. Since Theia IDE is compatible with VS Code extensions, llm-ls integrates seamlessly, and we'd love to recommend a fully open standard solution like yours to our users. We're even considering including the extension by default.
However, I have a bit of a concern regarding the project's current activity. It looks like llm-ls was actively developed in the first half of the year, but recently, I’ve noticed several bug reports and pull requests that seem to be unanswered (specifically also in llm-vscode), and activity appears to have slowed. This is not meant as a critique—priorities and circumstances change, and I totally understand that.
Before we move ahead with a deeper evaluation, we'd appreciate knowing more about the future plans for llm-ls. Do you foresee resuming active development, perhaps supporting newer models in the future? And are you open to responding to bug reports or reviewing contributions?
We’re genuinely excited about what you've built and would love to work alongside you if the project will continue to evolve. That said, we also completely understand if the current maintainers aren’t looking to dedicate as much time to it moving forward. Gaining adopters for a project can be a huge opportunity to improve and expand the solution, but it naturally also comes with additional effort.
Thanks so much for your time, and looking forward to hearing from you.
Best regards,
Jonas
Project Lead, Theia IDE and Theia AI

Hello @JonasHelming, thank you for showing interest in the project. You are correct about the maintenance status of the project, I've been putting it aside for a while.
Would you want to become a maintainer and lead the project? I'd be happy to offer guidance and help review.
There also has been another attempt at this over here: https://github.com/SilasMarvin/lsp-ai, I'd suggest you take a look! Maybe @SilasMarvin can confirm if the project is still maintained?
I'm open to resuming work on llm-ls, but I'd have to have a compelling reason to do so, which I haven't found as of yet and explaining why I dropped maintenance here.

Hi @McPatate ,
Thank you for your openness and transparency about the state of the project; it’s really appreciated!
To be honest, one of the reasons we were exploring this project was to avoid maintaining exactly this part ourselves—adapting the code completion to specific LLMs. That said, if we decide to move forward with something in this area, we’d likely reimplement parts of it in TypeScript, at least for selected models like StarCoder, as Rust isn’t currently part of our core expertise.
Out of curiosity (and without any offense intended), could you share the original motivation behind creating this project? Understanding that would really help us think about any potential reasons for future contributions or collaboration from your side (you kind of open this question :-)
Thanks again for your insights, and I’ll also check out the other project you mentioned!
Best regards,
Jonas

Hello @JonasHelming, thank you for showing interest in the project. You are correct about the maintenance status of the project, I've been putting it aside for a while.
Would you want to become a maintainer and lead the project? I'd be happy to offer guidance and help review.
There also has been another attempt at this over here: https://github.com/SilasMarvin/lsp-ai, I'd suggest you take a look! Maybe @SilasMarvin can confirm if the project is still maintained?
I'm open to resuming work on llm-ls, but I'd have to have a compelling reason to do so, which I haven't found as of yet and explaining why I dropped maintenance here.

Hey @JonasHelming. Thanks for the mention @McPatate. For what its worth, LSP-AI is technically still maintained as I do use it everyday, but I would say it has pretty much ever feature I want to give it right now.
I'm pretty much in the same position as @McPatate I'm open to adding new features for LSP-AI but I can't really find any compelling that I don't already have in.
Best of luck on your project!

I am closing this, as there was no further response. Thanks guys for the information!

Hey! Sorry for the delayed response.

we’d likely reimplement parts of it in TypeScript [..]  as Rust isn’t currently part of our core expertise

Understandable! In that case it might not be the best fit for your project.

Out of curiosity (and without any offense intended), could you share the original motivation behind creating this project? Understanding that would really help us think about any potential reasons for future contributions or collaboration from your side (you kind of open this question :-)

The idea of having a language server was to have a common backend so that extension development is/was easier. We have three extensions using llm-ls as a backend:

https://github.com/huggingface/llm.nvim
https://github.com/huggingface/llm-intellij
https://github.com/huggingface/llm-vscode

Given most IDEs support the LSP and development in extensions is not necessarily comfortable (e.g. http calls in lua from neovim), it made sense to have a Rust (or any other language for that matter) backend.

Thank you for your answer! "Out of curiosity (and without any offense intended), could you share the original motivation behind creating this project?" => this was actually not a technical question. Technically, the architecture makes perfect sense to me!
The question was more directed at the motivation to initiate this project, because you mentioned you would need a compelling reason to continue. So I wanted to understand the background why the project was initiated. Of course I am fine if you do not want to share these details.


Add Mapped CEO to help in managing astra & zitadel

Here you go -> https://github.com/pulumiverse/infra/pull/118


where to get ID's from

i want to add some more visualization, but i dont know where to get the ID's from. are they some kind of generated?
"_id": "97187230-7720-11e7-aecc-2b619a5de560",
"_type": "visualization",
"_source": {
"title": "BTC Price",
for example

figured out myself


When test, the printed log does not show the full text of the metrics, when named in Chinese

First check

[X] I'm sure this is a bug.
[X] I've added a descriptive title to this bug.
[X] I've provided clear instructions on how to reproduce the bug.
[X] I've added a code sample.
[X] I've provided any other important info that is required.

Bug description
Hi,
I am dealing with a very messy segmentation problem, which requires me to log the per-category accuracy and iou at test time. I used self.log(category, metrics) to do this job at "on_test_epoch_end". However, the log does not show the full metrics text, and shorten rest of it to "..." instead, when the metric name is in Chinese. I know that in the file pytorch_lightning.loops.dataloader.evaluation_loop, by line 340, it setting the max_length based on the longest string. However, my longest Chinese metric is 22 words long, and I checked that "max_length" is 25, but the printed metrics still hides part of the name.

How to reproduce the bug
def on_test_epoch_end(self):
    self.log("车道线-虚减速让行线_清晰_树荫遮挡_acc", 0.0121)

Error messages and logs

# Error messages and logs here please

Important info

#- Lightning Component (e.g. Trainer, LightningModule, LightningApp, LightningWork, LightningFlow): LightningModule
#- PyTorch Lightning Version (e.g., 1.5.0): 1.7.6
#- PyTorch Version (e.g., 1.10): 1.12.1
#- Python version (e.g., 3.9): 3.9
#- OS (e.g., Linux): Ubuntu 20.04 in English
#- CUDA/cuDNN version: 11.6
#- GPU models and configuration: 3060Ti
#- How you installed Lightning(`conda`, `pip`, source): pip
#- Running environment of LightningApp (e.g. local, cloud): local

More info
No response

I have a solution, that is:
matrics_encoded = [metric.encode("gbk") for metric in metrics_strs] max_length = int(min(max(len(max(matrics_encoded, key=len)), len(max(headers, key=len)), 25), term_size / 2))

@123mutourener Thanks for giving this a try. I'm not familiar with the best practices around handling these differences in languages, but it looks like your solution improves on the existing implementation. The columns are unfortunately still broken, but at least it shows the full name of the metric:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃              Test metric              ┃             DataLoader 0             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│               test_loss               │          -2.555753707885742          │
│ 车道线-虚减速让行线_清晰_树荫遮挡_acc │         0.01209999993443489          │
└───────────────────────────────────────┴──────────────────────────────────────┘

Would you like to send a PR with your suggestion?

Hi @awaelchli , yes I will submit a PR. In my case, the table looks fine. I run the code in Linux terminal.


HHH-12795 FlushMode Manual as annotation on a namedquery is not used

https://hibernate.atlassian.net//browse/HHH-12795
I ran the tests I added against 5.1, and they passed, so this definitely restores behavioral compatibility with 5.1.
It seems AddNamedQueryTest (which expects a different behavior from my own tests) was added during the development of 5.2 and has wrong expectations regarding the flush mode in newly instantiated named queries.
The last commit is not absolutely necessary, but may be a nice bonus if you think it's not too dangerous.

@yrodiere looks good to me.
As for the last commit, I think it's better if we only apply it on master and not for 5.3.

I think the fix in https://github.com/hibernate/hibernate-orm/pull/2422/commits/defe8c6e2c467310de1816da6d200dd1c7c21b63 is fine.
I'm not sure about removing the duplicate code in https://github.com/hibernate/hibernate-orm/pull/2422/commits/d1f85bad23820b561f8010beb2db1b5946baa8d5. I don't have time to check all the possibilities. Please don't backport this to 5.3. I'm not sure what to say about master. In general, we're more aggressive about pushing things like this when we're working on a new minor release, assuming that there is enough time to fix it later if it breaks things.

Pushed the first 2 commits to 5.3 and all the commits to master.


Fix typo (this -> self) in Feed constructor

Emit update-error from Feed instead of loop function on update callback when eagerUpdate and sparse are enabled.
Fixes #253.

Thanks!


Pen test fixes: Disallow non HTTPS traffic

BUG
Pen test issue id
PT603_1
Description
Cobalt Pen Test Results

Fixed in https://github.com/DoSomething/gambit/pull/376


[HOLD for payment 2024-12-16] [$250] [Performance] Use initializer callbacks for useState

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

What performance issue do we need to solve?
e.g. memory consumption, storage read/write times, React native bridge concerns, inefficient React component rendering, etc.
Inefficient React component re-rendering and useState usage.
What is the impact of this on end-users?
List specific user experiences that will be improved by solving this problem e.g. app boot time, time to for some interaction to complete, etc.
This optimization reduces the render time.
List any benchmarks that show the severity of the issue
Please also provide exact steps taken to collect metrics above if any so we can independently verify the results.
Proposed solution (if any)
Please list out the steps you think we should take to solve this issue.
Pass an initializer callback to the useState hook instead of immediately calling functions. This ensures the callback is only executed once during the initial render. There is an issue (https://github.com/Expensify/App/issues/53162) that they only fixed for BottomTabBar (https://github.com/callstack-internal/expensify-issues/issues/165).
As a part of the improvement, we need to integrate an Eslint rule (https://github.com/Expensify/eslint-config-expensify/pull/138) to confirm if we will do it properly.
List any benchmarks after implementing the changes to show impacts of the proposed solution (if any)
Note: These should be the same as the benchmarks collected before any changes.
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Version Number: 9.0.68-3
Reproducible in staging?: yes
Reproducible in production?: yes
Email or phone of affected tester (no customers): N/A
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL: N/A
Issue reported by: @rezkiy37
Slack conversation: N/A
View all open jobs on Upwork
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021863577701857268791
Upwork Job ID:<PHONE_NUMBER>857268791
Last Price Increase: 2024-12-02

Issue OwnerCurrent Issue Owner: @CortneyOfstad

I am preparing one more PR (https://github.com/Expensify/App/pull/53568).

@alitoshmatov can you complete the checklist when you have a moment? No rush as we have some time before Dec. 16 👍

BugZero Checklist:

[ ] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[ ] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[ ] 2a. Reported on production (eg. bug slipped through the normal regression and PR testing process on staging)
[ ] 2b. Reported on staging (eg. found during regression or PR testing)
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[ ] 3d. QA
[ ] 3z. Other:

[ ] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment:

[ ] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:

[ ] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

Regression Test Proposal Template

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal
Precondition:

Test:

Do we agree 👍 or 👎

Payment Summary
@alitoshmatov — to be paid $250 via NewDot
@rezkiy37 — contracted position
Regression Test
Checklist indicated no test needed here

$250 approved for @alitoshmatov


unexpected bug on paralellization of patterns

What version of regex are you using?
Upgrading the dependency from regex = "1.8" to
[dependencies.regex]
version = "1.9"
features = ["perf"]

with rayon = "1.7" and compiled with rustc 1.71.1 (eb26296b5 2023-08-03)
Describe the bug at a high level.
Used parallelization on searches in battle tested way with the combo rayon -> 1.7 and regex -> 1.8, but after upgrading, the same code generates unexpected bug.
The paralellization is made by chunks of patterns, meaning that built regex are not shared across threads neither cloned, with something like:
...
.patterns
            .par_chunks(regexset_chunk_size)
            .enumerate()
            .map(|(pattern_chunk_index, patterns)| {
                let pattern_start_index: usize = pattern_chunk_index * regexset_chunk_size;
                // BUILD
                let (regex_built, partial_invalid_regex_index) =
                    build::BuiltRegex::build_new(self.regex_config, pattern_start_index, patterns);
                let partial_found_regex = perform_regex_find(
                    &regex_built,
                    &self.preprocessed_texts,
                    &self.text_n_char,
                    0,
                );
                (partial_found_regex, partial_invalid_regex_index)
            })
            .reduce(
                || {
                    let zero_invalid_indexes: BTreeMap<usize, (String, RegexCompilingError)> =
                        BTreeMap::new();
                    (MatchesByTextPattern::new(), zero_invalid_indexes)
                },
                |(mut accum_matches, mut accum_invalid), (new_matches, new_invalid)| {
                    accum_matches.add(new_matches);
                    accum_invalid.extend(new_invalid);
                    (accum_matches, accum_invalid)
                },
...

where BuiltRegex is a struct that has regex::RegexSet compiled (built in each chunk of patterns <-> thread), and  a vec of regex::Regex .
Log:
**thread '<unnamed>' panicked at 'invalid 'from' id: LazyStateID(134217600)', /builds/g6313/pytextrust/.cargo/registry/src/index.crates.io-6f17d22bba15001f/regex-automata-0.3.8/src/hybrid/dfa.rs:2563:9**
stack backtrace:
   0:     0x7f53e4e192e1 - std::backtrace_rs::backtrace::libunwind::trace::h782cc21a5acaf6cb
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f53e4e192e1 - std::backtrace_rs::backtrace::trace_unsynchronized::hc579eb24ab204515
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f53e4e192e1 - std::sys_common::backtrace::_print_fmt::h7223525cfdbacda2
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f53e4e192e1 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbd7d55b7108d2ab8
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f53e4e3a4df - core::fmt::rt::Argument::fmt::hb4f4a02b9bd9dd49
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/fmt/rt.rs:138:9
   5:     0x7f53e4e3a4df - core::fmt::write::h6d54cd7c9e155ec5
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/fmt/mod.rs:1094:21
   6:     0x7f53e4e17071 - std::io::Write::write_fmt::h6a453a71c692f63b
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/io/mod.rs:1713:15
   7:     0x7f53e4e190f5 - std::sys_common::backtrace::_print::h1cbaa8b42678f928
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f53e4e190f5 - std::sys_common::backtrace::print::h4ddf81241a51b337
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f53e4e1a597 - std::panicking::default_hook::{{closure}}::hff91f1f484ade5cd
  10:     0x7f53e4e1a384 - std::panicking::default_hook::h21f14afd59f7aef9
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:288:9
  11:     0x7f53e4e1aa4c - std::panicking::rust_panic_with_hook::h45f66047b14c555c
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:705:13
  12:     0x7f53e4e1a947 - std::panicking::begin_panic_handler::{{closure}}::h49d1a88ef0908eb4
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:597:13
  13:     0x7f53e4e19716 - std::sys_common::backtrace::__rust_end_short_backtrace::hccebf9e57f8cc425
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:151:18
  14:     0x7f53e4e1a692 - rust_begin_unwind
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:593:5
  15:     0x7f53e4c59d93 - core::panicking::panic_fmt::h54ec9d0e3180a83d
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:67:14
  16:     0x7f53e4d36a79 - regex_automata::hybrid::dfa::Lazy::set_transition::h40d9f99cde8aad3b
  17:     0x7f53e4c53a1b - regex_automata::hybrid::dfa::Lazy::cache_next_state::hee43c6cf1eebd065
  18:     0x7f53e4d4f1b0 - regex_automata::hybrid::search::find_overlapping_fwd::hab272e92ae9fe7db
  19:     0x7f53e4d32ef9 - regex_automata::meta::wrappers::HybridEngine::try_which_overlapping_matches::h021040f0c7f16ca3
  20:     0x7f53e4d2b2eb - <regex_automata::meta::strategy::ReverseAnchored as regex_automata::meta::strategy::Strategy>::which_overlapping_matches::h16ff42eddbd22ab3
  21:     0x7f53e4c6b39d - regex::regexset::string::RegexSet::matches_at::h8c4b9f5760adeede
  22:     0x7f53e4c6dca4 - pytextrust::pkg::apply::perform_regex_find::h387779a4b727fd29
  23:     0x7f53e4c6904d - core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut::h8a1a242980b7d931
  24:     0x7f53e4cb4103 - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold::hf12286d40c59ba5a
  25:     0x7f53e4c9c726 - rayon::iter::plumbing::bridge_producer_consumer::helper::h4f120d10ea2efc9b
  26:     0x7f53e4cd0021 - rayon_core::job::StackJob<L,F,R>::run_inline::h29d9ac8b4cd69e32
  27:     0x7f53e4cd0c95 - rayon_core::join::join_context::{{closure}}::hb5a83b3e0724fddb
  28:     0x7f53e4cd1477 - rayon_core::registry::in_worker::h15b4b94eed70e110
  29:     0x7f53e4c9c0f3 - rayon::iter::plumbing::bridge_producer_consumer::helper::h4f120d10ea2efc9b
  30:     0x7f53e4cd0a02 - rayon_core::join::join_context::{{closure}}::hb5a83b3e0724fddb
  31:     0x7f53e4cd1477 - rayon_core::registry::in_worker::h15b4b94eed70e110
  32:     0x7f53e4c9c0f3 - rayon::iter::plumbing::bridge_producer_consumer::helper::h4f120d10ea2efc9b
  33:     0x7f53e4cd0a02 - rayon_core::join::join_context::{{closure}}::hb5a83b3e0724fddb
  34:     0x7f53e4cd1477 - rayon_core::registry::in_worker::h15b4b94eed70e110
  35:     0x7f53e4c9c0f3 - rayon::iter::plumbing::bridge_producer_consumer::helper::h4f120d10ea2efc9b
  36:     0x7f53e4cd0a02 - rayon_core::join::join_context::{{closure}}::hb5a83b3e0724fddb
  37:     0x7f53e4cd1477 - rayon_core::registry::in_worker::h15b4b94eed70e110
  38:     0x7f53e4c9c0f3 - rayon::iter::plumbing::bridge_producer_consumer::helper::h4f120d10ea2efc9b
  39:     0x7f53e4cd0a02 - rayon_core::join::join_context::{{closure}}::hb5a83b3e0724fddb
  40:     0x7f53e4cd1477 - rayon_core::registry::in_worker::h15b4b94eed70e110
  41:     0x7f53e4c9c0f3 - rayon::iter::plumbing::bridge_producer_consumer::helper::h4f120d10ea2efc9b
  42:     0x7f53e4cd63b4 - <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute::hdb767f879f7dcf76
  43:     0x7f53e4c508f3 - rayon_core::registry::WorkerThread::wait_until_cold::h7efda915f27a9dea
  44:     0x7f53e4cf3a38 - rayon_core::registry::ThreadBuilder::run::hcbd44bc14931b20d
  45:     0x7f53e4cf59ea - std::sys_common::backtrace::__rust_begin_short_backtrace::hf0a4cb93a436a68b
  46:     0x7f53e4cf852f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h027bf9b01eb64595
  47:     0x7f53e4e1d115 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he3e5dbdfabe0b668
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/alloc/src/boxed.rs:1985:9
  48:     0x7f53e4e1d115 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h246f7c7964633611
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/alloc/src/boxed.rs:1985:9
  49:     0x7f53e4e1d115 - std::sys::unix::thread::Thread::new::thread_start::hadf9e3501ff0df23
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys/unix/thread.rs:108:17
  50:     0x7f554b09b044 - start_thread
                               at ./nptl/pthread_create.c:442:8
  51:     0x7f554b11b5fc - __GI___clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  52:                0x0 - <unknown>

What are the steps to reproduce the behavior?
It is very hard to generate reproducible steps.
What is the expected behavior?
It was usually working fine before  change of minor from v1.8  to v1.9 on regex crate with default features.
On the Cargo.lock, i can see changes:

from memchr 2.5.0 to 2.6.3
from regex 1.8.1 to 1.9.5 with regex-automata 0.3.8 (being the last one not a dependency on previous version v1.8 as it is not in the cargo lock).

I need a reproduction please.

It was usually working fine before change of minor from v1.8 to v1.9

It was usually working fine with regex 1.8? Or was always working correctly?

It was usually working fine with regex 1.8? Or was always working correctly?
It is working battle tested through really too many batch heavy processes on the dependency v1.8 in a flawless  manner.
I will try to create something similar, I guess it will take me time to reach a reproducible piece of code. It is by the way being called trhough pyo3 with allow_threads, maybe something is hitting after the change with this.
I will  update here as soon as possible with an example breaking this parallelism.
Kind regards

Okay, if there wasn't a single panic then it "always worked," not "usually worked."

And yes, a reproduction would be extremely helpful here.

trying to reproduce it but only appears on one exact combo of patterns, if I subset them into distinct groups it does not appear. In fact it works perfectly in any other combination of groups of patterns of the same set (this gives me headache because I was supposing to have a rotten apple there).
It does not look like an OOM problem, it is far from OOM and it is not an 143 exit.
Trying to generate the example, I do not have any clue about how to reproduce it without giving exact data (what I can not do).
Could you give me any clue about what is this panic about?
thread '<unnamed>' panicked at 'invalid 'from' id: LazyStateID(134217600)', /io/.project_cargo/registry/src/index.crates.io-6f17d22bba15001f/regex-automata-0.3.8/src/hybrid/dfa.rs:2563:9

The assert breaking is this one https://docs.rs/regex-automata/0.3.8/src/regex_automata/hybrid/dfa.rs.html#2563
Any clue would be very nice to try to build something that breaks it in a generalist manner.
Thanks in advance.

I don't know what's causing it sadly and I don't know how to contextualize that assert in a way that relates to the public API. If I could do that, I probably wouldn't need a reproduction.

is here maybe a bad practice or usage of the regex crate inside the rayon parallel scheme in such a way it is prone to throw this panic ? https://gist.github.com/Guillermogsjc/74874a806e5d1006ec7075ddffd5f25a#file-load_test-rs

Nope. The panic is definitively a bug. Regex find routines should never panic under any circumstances (except for perhaps exhausting heap memory, but I don't think that's relevant here).

I tried looking into this to see if I could figure out how you're getting the panic, and I can't see it. My best guess is that there is some kind of bug in handling the lazy DFA's cache resets.
I think the bottom line here is that I'm going to need a repro. If you could get me that, that would be wonderful and I'd be most appreciative. To be clear, a repro means that you can provide me a set of commands and inputs that I can run on my own machine and observe the same thing you're observing. So a repro means you'd provide me with a transcript of actions that I can take and see the problem for myself.

Hi @BurntSushi , yes I know that we need a deterministic input+code combination to be able to dig into this bug.
I have been trying several times with distinct shareable inputs against same flow, but so far did not break it.
Will continue searching for this shareable inputs that reach same state, but as you well know, it is like searching a needle in a haystack, because do not have a remote clue about the caracterization of the patterns that cause this.
To be on track, this is about the patterns not about the haystack right? Or has to do with the combination?

It is almost certainly a combination of both patterns and haystack.

hi @BurntSushi ,
have been for a while trying to encrypt both patterns and haystack in a way that everything works similar and it breaks as breaks with original data, to provide  reproduction of the bug.
So far did not  get a reliable encrypting that honors patterns match over haystack in a sufficient way (with only obfuscation I get it but as I encrypt, the subword patterns stop matching and everything changes and does not break).
The thing is that after upgrading rayon and regex crate, with the exact combination that I had issues... its is gone!
rayon: 1.7.0 into 1.8.0
regex: 1.9.5 into 1.10.2
regex-automata: 0.3.8 into 0.4.3
also removing those unneeded Arc over &str haystack vectors before feeding rayon.par_chunks.
So if is ok for you, this issue would be better closed.

Definitely sounds suspicious, but without a solid repro I agree with closing this. Feel free to re-open this if you rediscover the bug.

Hi @BurntSushi,
I have ran into this issue today when increasing the dfa_size_limit.
I've created a repro here: https://github.com/LuaKT/regex_crash_repro
I'll try to dig into it some more tomorrow.
Thanks!


Flutter web deployment on Oracle weblogic server

is there any way to deploy  Flutter web application on Oracle Weblogic server??

The Github issue tracker is for bugs and features requests for the Flutter SDK. Help and support questions like these are better suited for Q&A sites like StackOverflow or on one of the flutter community sites at https://flutter.dev/community .


Watson or Watsonx

I tried to create an API with Watsonx and it asks for a credit card. Is there a way to create an API without having to give sensitive data to IBM?

Most ways of using the Machine Learning for Kids website do not require an API key for Watson Assistant.
Most significantly, Watson Assistant API keys can only be used for projects that recognise text
Watson Assistant API keys are not related to:

projects that recognise numbers
projects that recognise sounds
projects that recognise images
projects that predict numbers
projects that use pretrained models

For projects that recognise text, there are multiple ways to be able to create a project that don't require you to create your own Watson Assistant API key.
This is described in more detail at https://groups.google.com/g/mlforkids/c/bS9nooCdiyw
If you choose an option that does require an Watson Assistant API key, this repo isn't the best place to get support. Mostly because I don't closely follow the processes they have, and they change over time. Questions about Watson Assistant are really best directed to the IBM Cloud team that supports the service at https://www.ibm.com/products/watsonx-assistant
I would observe, however, that looking quickly at the site now, "No credit card required" is the first message on their sign up page, so my guess is that it is probably possible to sign up without a credit card. But I really can't comment any further on it, sorry.

Thank you for taking the time to explain this in detail. I really appreciate the information about using Watson Assistant API keys and the distinction between different types of projects. It's very helpful to know that there are options available for text recognition projects that don't require a personal API key, and that for other cases it's best to reach out directly to the IBM Cloud support team.
I'll check out the link you provided and consider the options available for my project. Thanks again for your help and guidance.


API: InitOptions extra fields

export interface InitOptions {
  cwd: string
  name?: string   // Extra?
  main?: string    // Extra?
  version?: string  // Extra?
  upgrade?: boolean
}

Saw name used in getProjectName(), but don't know why the caller would supply it.
Didn't see main and version is used.
Also, should getProjectName() in a different file?

Also, should getProjectName() in a different file?

No, it's pretty init specific - we can move it if it sees reuse.

Didn't see main and version is used.

I assume you're talking about the core API interface here? It's just possible we could init with those fields, but I haven't bothered to expose it on the CLI.

main and version are not used in init.ts. What would they mean in init() context?

https://github.com/typings/core/blob/master/src/init.ts - version is, I appear to have not used files. They just populate the initial object.

I see. Missed the const { main, version } = options line. Still getting used to destructuring syntax.
Sorry for the noise! :sushi:


Python module imp removed in 3.12

Hi
The add-on relies on python module imp, which was removed in python 3.12 apparently. This prevents the bandcamp module from loading on a fully up to date Arch Linux install.
A temporary workaround was to install the python-zombie-imp package , which allowed your add-on to finally load.
Could the dependency on imp be converted to a module that is still in play in 3.12?
Thanks!

I think I hit this as well. But installing https://aur.archlinux.org/packages/python-zombie-imp didn't really fix it.

But maybe I hit a different issue: I can enter the plugin, just not accessing any menu item.

I don't see any reliance on the imp module in the code, and an up to date Fedora install with python 3.12 has no such issue. I'll investigate further in case a change is needed. Thanks for your report!


Filter duplicates in implied siblings

If there are multiple paths that show two notes are implied siblings, that sibling shows up multiple times in the Breadcrumbs matrix. This happens for instance when multiple authors write multiple papers together. This clutters up the matrix. Ideally, one would only see a single appearence.

Thanks Emile. I see where the issue is in the code, just need to think of a good way to fix it

@HEmile does this still happen? I think I addressed it

Pretty sure you did yeah. Can't remember noticing it for a while!


Enable docker run with multiple ports

Currently only the first port of the existing container will be used when restarting the container. Enable restarting with all ports used in original

closed by #10


add UpdateLiffView for liff.yml

In LiffView, view.url and view.type are required properties. However, in the LIFF app update API, these properties are not mandatory.
ref: https://developers.line.biz/en/reference/liff-server/#update-liff-app
I have defined a new UpdateLiffView to solve this issue.

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


Added TopBanner for all pages

Added TopBanner for all pages

@ShwetKhatri2001 @paulcretu Sorry for the late reply, actually I was sick for some days. I would surely make the requested changes.

No worries, whenever you have time, it's no rush. Hope you're feeling better

No worries, whenever you have time, it's no rush. Hope you're feeling better
Yes, now I'm totally fine and I have made the changes. Please let me know if there is something wrong or need to be updated.


Name of Exchange asset not showing when !include-ing in editor

<!— This repo is for feedback on Anypoint Code Builder during open Beta, please limit your issues to those associated with Anypoint Code Builder. Please let us know if you encounter any issues both creating or launching the web IDEs along with issues implementing your use cases.
This is not a mechanism for receiving support under any agreement or SLA. If you require immediate assistance, please use official support channels. -->
Describe the bug
When including an imported asset from Exchange, you only see an identifier, not the name of the asset
To Reproduce
Steps to reproduce the behavior:

type !include
press ctrl space
select Exchange Modules
press ctrl space
you only see an identifier (see screen shot)

Expected behavior
See a list of named imported Exchange assets
Impact
Select from

Poor Usability

Frequency
Select from

Always

Screenshots/Recordings
If applicable, add screenshots or recordings to help explain your problem.  They really help!

Please complete the following information:

Anypoint Code Builder web IDE URL https://trout-tm1vszvmb.builder.code.com/
Browser [e.g. chrome, safari] Chrome
Version [e.g. 29] (can be found on Anypoint Code Builder Central page) ?

Additional context
Add any other context about the problem here.

Hello @weesvisje. Currently this is a default behaviour on the API Editor. The path to the dependency is built with the GAV, because that is how is stored in the exchange_modules folder. The !include should point to the exact path where the dependency is stored. We can't do much here it is working as expected.

Closing this issue as it is working as expected. Please open a new issue if you have further questions

Closing this issue as it is working as expected. Please open a new issue if you have further questions


Change TaggedLogger to use a class implementation

See discussion in #716. This is an attempt at turning this into a separate class rather than modifying the underlying logger. Hopefully this will fix some of the issues we've been seeing.
@dasch

Nice, thanks!


关于自定义API域名不生效的咨询

Describe the bug:
你好
我使用API2D提供的API地址：https://oa.api2d.net，发现验证失败，弹出如下信息。
麻烦看看是哪边的问题，谢谢。

Steps to reproduce:

Expected behavior:

Additional context:
我在翻译类的应用使用API2D提供的信息，正常使用

收到，我看看

@cuimo4183 看问题，应该是这个 api 服务没有提供获取 model 的 api，导致调用错误。
插件在验证 token/api 是否有效时，是通过获取 model 的方式来校验的，本意是为了节省 token。似乎在你的场景不适用，我会在这两天修改下校验方式，到时候会发一个版本给你试用，看看是否有效。

@cuimo4183 看问题，应该是这个 api 服务没有提供获取 model 的 api，导致调用错误。
插件在验证 token/api 是否有效时，是通过获取 model 的方式来校验的，本意是为了节省 token。似乎在你的场景不适用，我会在这两天修改下校验方式，到时候会发一个版本给你试用，看看是否有效。

感谢大佬回复
API2D的API文档参考：https://api2d-doc.apifox.cn/
看接口文档，是在请求中携带model参数的

已经在 3.0.4 版本修复，插件市场审核中，预计 1～2 天可以更新。

已经在 3.0.4 版本修复，插件市场审核中，预计 1～2 天可以更新。

你好，我今天已升级至3.0.4确认可以兼容API2D，谢谢
另外：试用到期后如果需要购买，这个购买信息是绑定idea账号的吗。因为是用的教育账号，可能不会长时间稳定，是否有别的购买/激活方式

@cuimo4183 目前这个插件有非常多的免费政策支持，其中包括学生/教师账号免费。如果你所使用的账号验证了学生/教师资格，那么是可以免费使用的。
插件必须绑定账号才能使用，这是 JB 市场的规则之一。如果你的教育账户到期，并且你的另外的账户不符合免费政策，那么就需要登录该账号并且购买 License。License 会和账号绑定。
下面是 AICommit 当前所支持的免费/优惠政策，对学生/教师、开源开发者有好～
Discounted and Complimentary Licenses (2024-04-30)
For students and teachers Free
Students and academic staff members are eligible to use all JetBrains tools free, upon verification of their university/college domain email or ISIC card.
Learn more...
For classroom assistance Free
Universities, colleges, schools, and non-commercial educational organizations are eligible for free licensing to install all JetBrains tools in classrooms and computer labs for educational purposes.
Learn more...
For former student license holders 40% Off
Student license holders can get a 40% Graduation discount, which can be used towards the purchase of a new personal subscription for any single JetBrains product or for the All Products pack. The same 40% Graduation discount is offered to students of coding bootcamps and training courses who have used free coupon codes during their training.
Learn more...
For Developer Recognition Program Free
Active Microsoft Most Valuable Professionals, ASPInsiders, Java Champions, Docker Captains, and Google Developers Experts are eligible to receive a free subscription to JetBrains All Products Pack upon verification of their profile.
Learn more...
For Open Source projects Free
Non-commercial open source projects can qualify for free licenses to all JetBrains tools if they meet the support program requirements.
Learn more...
For universities and educational organizations 50% Off
Universities and accredited educational institutions can take advantage of our 50% discount on commercial subscriptions for development of internal projects and applications. Please contact sales to request a quote.
Learn more...
For startups 50% Off
Private software development companies which have been in business for less than 5 years may qualify for a 50% discount for up to 10 commercial licenses on any JetBrains products.
Learn more...
For non-profit organizations 50% Off
Registered non-profit organizations can apply for a special discount ranging from 25% to 50% off commercial pricing, depending on their business model. Please contact sales to request a quote.
Learn more...


Override methods in the ProtoShelled trait to secure (in)direct access to sensitive Models

IMPORTANT: a "reverse" access can happen if someone establishes a relational connection by a foreign key from a direct-access-okay model to a sensitive model. This needs to be addressed
$x = new Customers();
$x = $x->first(); // retrieves a customer
$x = $x->hasOne(CustomersRaw::class, 'id', 'id'); // associates to a raw data entry by id
$x->get(); // retrieves the raw data

In the best case scenario, we need to implement proto_key check for all methods for a model that may provide direct (or even indirect access) to sensitive information.
Methods Completed:

query
all
with
where
find
first
firstorfail
latest
oldest

WIP

This has been complete to a satisfactory degree given the current direction of the ProtoShell service design. No further development is needed at this point in time due to the unlikelihood of unauthorized access into ProtoShell service source code.


feature: Use positional arguments to documents inputs

I played around a little more, and I think this makes the inputs more discoverable from --help.
btw. do you do sometimes merge pull requests as rebase?

Thanks, I'm not very familiar with argparse, that it a good solution.
I'm not merging by rebasing (not my intention at least), why asking?

I am just wondering if it's worth the merge commits in the git log, but no problem ...
Have a nice weekend, christmas and happy new year ... its getting late :)

I am also not very familiar with argparse, but I think its one of the better libs on code.dlang.org + the maintainer is very responsive. I also like to see how it behaves in real world example. Thats why I introduced it in my pull requests ... It still is a question if you want such a dependency in your project, though.


Enhancements in CUDA Support

This PR introduces several updates to improve CUDA support which is derived from #461
Added specifications for a new option to provide users with more flexibility.

Incorporated support for newer CUDA and CuDNN versions.
Implemented libcudnn8-dev installation support
Implemented nvcc installation support
Implemented CUDA toolkit installation support.

These enhancements aim to make the developer experience smoother for those working on CUDA projects.

@microsoft-github-policy-service agree

@samruddhikhandale
Thanks for your thorough review and detailed comments. I fixed some issues you mentioned. Please check them.


Update Message to v1 API

Not Ready

Current coverage is 91.60% (diff: 68.96%)

No coverage report found for master at ff1018d.

Powered by Codecov. Last update ff1018d...4944793

Looks good to me, left just a couple comments. My only other comment is that, given how almost every property is applied, it would make more sense to write <Message type='warning' /> over <Message warning />, as well as conceivably improve prop validation, so take that for what it's worth.

Looks good to me, left just a couple comments. My only other comment is that, given how almost every property is applied, it would make more sense to write  over , as well as conceivably improve prop validation, so take that for what it's worth.

Agreed.  We originally did not add a state or type prop as the first few components we handled were capable of multiple SUI "types" like:
<Dropdown multiple search selection />
<Button inverted basic icon />

Also "states"
<Dropdown disabled loading />
<Button disabled loading />

Looking back, there are some props that we can be reasonably sure that they will be forever mutually exclusive (i.e. warning + info).  These probably should be pulled into a single prop key.  I'm not exactly sure what a good key name would be however since type, state, and variation are defined in the SUI glossary to have a particular meaning in the framework.  Here's how the Message classes are broken down:
Types: list, icon, dismisable
States: hidden, visible
Variations: floating, compact, attached, warning, info, positive, success, negative, error, color, size
In order to better validate the props, we'd need to consider the color as well.  Since, you cannot have a red positive or green error message.  I think to really validate and restrict the component to proper use we'd have to put all these props values into the color prop:
<Message color='red' />
<Message color='error' />
<Message color='negative' />

<Message color='green' />
<Message color='success' />
<Message color='positive' />

Thoughts?

In adherence to Semantic, your color proposal makes sense. In reality, it would take some adjusting to treat success not as a variation or a type, but a color. The benefit of your idea, however, is that it ultimately becomes more intuitive over time; there'd be no need to remember if something is a variation, type, or color.
Still, I'm leaning more toward keeping type/variation separate from color, just because color is such a distinct and targeted property (after all, warning is not in fact a color). I honestly don't know where to draw the line, because you could apply that same argument to separating type and variation, but, personally, I find that distinction less meaningful for the end user than the API developer. Meaning, color makes a lot of sense to a user: "oh, ok, I put the actual name of a color here". On the other hand, the distinction, as a user, between variation and type doesn't carry as much weight. Kinda feels like a "why should I care?" type of thing.
As far as state, that still makes sense as standalone props, since it generally resembles common attributes on vanilla HTML (<input type="text" disabled />).
Just for kicks, here's how I'd approach writing a <Message /> component if not given any direction besides what props to apply.
<Message type='success' floating hidden />

Cool, I think we should implement something like this. Here are some more considerations before doing so.  What about positive/negative which are closely related to success/error?  Using type:
<Message type='positive' />
<Button type='negative' />

Semantic UI calls primary/secondary, success/positive, error/negative "emphasis" in the docs.  So it could look something like this:
<Message emphasis='positive' />
<Button emphasis='negative' />

The type prop would then break down with the Segment which has SUI "raised", "stacked", "piled", and "vertical" types.  If the "type" prop is extended to "positive/negative/primary/secondary" then the other mutually exclusive types will need to be bool or have a different key.
<Segment stacked type='secondary' />
// vs
<Segment type='stacked' emphasis='tertiary' />

I think type also breaks down for the Progress component, where active/success/warning/error/disabled are all states:
<Progress type='error' />
// vs
<Progress error />

All said, rather than trying to make all props mean the same thing for all components, there is also the possibility that it is more intuitive to have props mean different things on different components. Example:
<Message type='(success|info|warning|error)' />
<Progress state='(success|info|warning|error)' />
<Button emphasis='(primary|secondary|positive|negative)' />
<Segment emphasis='(secondary|tertiary)' />

Lastly, the other serious consideration is parity with the core framework.  I wonder if it will just add more confusion to have the SUI docs showing types, states, variations only to have SUI-React map these values to different names.  Especially given that the SUI docs are linked from our docs for every component.
The flip side here being, the SUI components only use className.  All other groupings are strictly for doc site headings.  Our use is quite different, we are defining components, not necessarily doc site headings.

We had some further offline discussion on success/info/warning/error.  Gonna merge as bools for now.  We'll continue to think this through as we approach v1.


[PDI-14492] Copy Table Wizard_UI Issue

This fixes the issue: [PDI-14492] Copy Table Wizard_UI Issue.
The page.createControl( shell ) will be called in Wizard.createPageControls(Composite), so should not be called in Spoon.copyTableWizard().

Hello, This is an automated comment from our build system. Since this pull request originated from a user  not in the Pentaho organization, we will not proceed  with automatic validation of the pull request.  However, rest assured that it will be reviewed manually as soon  as we get the chance. Thanks for your contribution!

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -f ui/pom.xml clean install && mvn -B -f ui/pom.xml site

Cleanup Commands
mvn -B -f ui/pom.xml build-helper:remove-project-artifact

Changed files
  ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java

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

Instruction Change:  + .00%

org.pentaho.di.ui.spoon.Spoon

Instruction Change:  + .00%
Line Change:  + .00%


Query: new UI doesn't honor --web.external-prefix or --web.route-prefix

Thanos docker image version: thanosio/thanos:v0.14.0
What happened:
Running Thanos Auery behind Nginx, with --web.external-prefix=query and --web.route-prefix="/", so that Query is accessible at http://external.com/query. When you switch to "New UI" (http://external.com/query/new) in your browser:

the resulting page is blank;
all the buttons like "Graph" in the top navigation bar show links with --web.external-prefix snipped like "http://external.com/new/graph";
switch back to "Classic UI" directs me to "http://external.com/graph".

In addition, hitting URLs like "http://external.com/query/new/graph" returns blank pages.
What you expected to happen:
When you switch to "New UI" (http://external.com/query/new) in your browser:

the resulting page is not blank;
all the buttons like "Graph" in the top navigation bar show links with --web.external-prefix like "http://external.com/query/new/graph";
switch back to "Classic UI" directs me to "http://external.com/query/graph".

In addition, hitting URLs like "http://external.com/query/new/graph" doesn't return blank pages.
How to reproduce it (as minimally and precisely as possible):

Run Thanos Query with --web.external-prefix=query and --web.route-prefix="/" on host internal.com
Configure Nginx for Query on host external.com with the following:

  location  /query/ {
    proxy_pass http://internal.com:10902/;
  }

Open up your browser, go to http://external.com/query and try switching to "New UI".

This has been fixed in #2800 but hasn't made it to the release yet.

@prmsrswt ah, thanks for this. Only searched through the issues, but not the pull requests.
Looking forward to 0.15.0!

I can confirm it's working in 0.15.0.


catch error

fix #173867

yeah I thought abt that, but wasn't sure it was worth the extra call when this will almost never happen IE someone creates a terminal and immediately tries to focus the accessible buffer

The error was showing up though, so either this isn't the entry point to the error kr Ben was quickly hitting shift+tab?

the reports of this happening were 3 weeks ago, prior to this commit https://github.com/microsoft/vscode/commit/855ba20c38ae1e39d6e3ea3b2a16b53502592203
where we moved the creation of the buffer to after open, which was the fix