Make functions like (each) take a function as an arguement instead of a closure

In order to limit the amount of places where special parsing needs to happen, it is probably a good idea to make (each) take a function as an argument and simply pass the value to it. For example code that looks like:
(each array (a) (println a))

would now look like
(each array (func (a) (println a)))

this would also allow for standardized functions to be directly called from each, for example
(each array println)

would be all that is necessary to print every element in an array

Depends #16


The plots have overlapping axis labels, which was ugly. I cleaned them…

… up a bit.

So much better.


read enters an infinite loop for certain Doubles

As the topic says, certain valid floating point numbers (Double as well as Float) will cause read to loop indefinitely. One such number is<PHONE_NUMBER>1 (eleven ones), and another is<PHONE_NUMBER> (ten twos; eleven twos work as expected however). Integral types don't seem to be affected, and reading the numbers to an Integer and then converting them to a Double using fromInteger does not trigger the bug.
The following code exhibits the bug:
import Haste

main = do
  let s = "11111111111"
      d = read s :: Double
  alert $ toJSString d

A related issue: trying to parse a Double >= 2^32 seems to wrap around, e.g. "9999999999" (ten 9s) gives<PHONE_NUMBER>.0, which is (10^10 - 1) mod 2^32.
import Haste
main = writeLog $ show $ (read $ show $ 10^10 - 1 :: Double)
In contrast, ghc prints "9.999999999e9" for the following program:
main = print (read $ show $ 10^10 - 1 :: Double)


Spinning NPC

I dsicovered some spinnning NPCs in Riften. Appears for some secondes in the afternoon.

After 10 hours of gameplay all npcs started spinning and the game becomes very slow. The game was not playable anymore.

I encountered this after playing for 2 minutes. The moment I set foot into the excavation camp (playing the Guild Master) and was approached by Karl the Excavator, everybody started spinning like crazy.


Tweaks around task types

Use Task<TResult> everywhere instead of Task<T>
Fix typo around which type is generic and which isn't

Fixes #844.

Note that custom task types are still expressed as MyTask<T> etc. I think that's okay.

I've rebased manually (as one of my other changes was to one line earlier) and I'll merge this now as "better than it was before"; when @KalleOlaviNiemitalo files new issues (and they're much appreciated btw) we can look at those separately.


Instance ID is no longer required in Bootstrap Write operation.

The client needs to handle this in handle_bootstrap_command() case COAP_PUT.

Fixed by #97


💡[Feature]:  Bone Fracture detection using Deep learning

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Detecting whether there is fracture in the bone surface or not through x-ray based image data using CNN model in deep learning.
propose solution will consist of complete EDA , feature engineering , data analysis , and a Streamlit based GUI application.
(i will also try to figure out other deep learning models like resnet , vgg16 , inception etc)
Use Case
The primary use case for bone fracture detection using deep learning is to automatically and accurately identify fractures in medical imaging such as X-rays, CT scans, or MRIs. This model can assist radiologists and healthcare providers by providing a second opinion and highlighting potential fractures that might be missed during manual examination.
Benefits
Deep learning models enhance the accuracy and speed of fracture detection, reducing the likelihood of misdiagnosis and ensuring prompt treatment for patients. Additionally, these models can alleviate the workload of radiologists, allowing them to focus on more complex cases and improving overall healthcare efficiency.
Add ScreenShots
None
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@TAHIR0110 @Avdhesh-Varshney please assign this issue to me along with gssoc'24 level and label


java.lang.NullPointerException when creating agent with api

Hi!
I tried to create an Agent with the API endpoint agents with a post request, with the data being:
{
  "apiVersion": "v1beta1",
  "kind": "Agent",
  "metadata": {
    "name": "John Doe"
  },
  "spec": {
    "credentials": {
        "username": "1004",
        "secret": "1234"
    },
    "domains": [
        "plasma.lan"
    ]
  }
}

The response is always {"status":400,"message":"java.lang.NullPointerException"}.
Versions is tried:

1.0.5
1.0.3

Hi @psanders
I do not know what rctl is. Other api endpoints I tested worked fine (GET location, GET agents etc).
Here is the curl script I extracted from Postman:
curl --location --request POST 'https://localhost:4567/api/v1beta1/agents?token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiJ9.nq3yvnNcHWKaFtZxaBqvPjWOxdTTwDP52WkuXiyB0W7xPdt_wrvU3H1O9KhU46t1AGN9beD-5soN2OQLEytC4A' \
--header 'Authorization: Basic YWRtaW46Y2hhbmdlaXQ=' \
--header 'Content-Type: application/json' \
--data-raw '{
  "apiVersion": "v1beta1",
  "kind": "Agent",
  "metadata": {
    "name": "John Doe"
  },
  "spec": {
    "credentials": {
        "username": "1004",
        "secret": "1234"
    },
    "domains": [
        "plasma.lan"
    ]
  }
}'

Thanks for the test script. I will try it asap.
Also: rctl is Routr's the command-line tool.

Okay so I tried rctl but it doesn't works for me for some reason. I can login but I can't get any resources because it says it has none. And also I tried to import config yamls on the rctl proxy and it cannot import any saying {"status":400,"message":"Bad request","data":"Bad configuration in at least one resource"} [Remove file](javascript:undefined;). It's strange because when I list the agents for example, on the REST api it sends me back the agents and their refs, and I can also list logged in devices and so on.

Any updates on this? Or something I could help with?

Which data source are you using? Redis or Yaml files?

It looks like Yaml because that is the default. So I guess that means I can only create users etc with files and that is why the NullPointerException arise? I will try with Redis soon and get back to you. But I think if this is the case it would be nice to inform the user that he cannot create new resources with the CLI/API, only if they use Redis data source either in the error message or in the documentation. It makes sense though but still.

You are correct; that's the expected behavior.
You should have received a message indicating that the data source was unsuitable for the "create" action. We need to triage this error.


Stochastis RSI fast/slow values and crossover alerting

As per discord:
It would be ideal to get alerted when the fast k line crosses over the slow WITHIN overbought or oversold conditions. Eg if the stock is oversold (under 20% for example) wait for the fast line to cross over the slow line and then alert - in this case we want to go long.
This will require a change in the current alerting / presentation model
Many thanks

https://github.com/CryptoSignal/crypto-signal/pull/253 lays the groundwork to fix this issue. This will enable the ability to add smoothed lines as another signal on the stochastic indicator.

Stochastic is now fully implemented as described by http://www.onlinetradingconcepts.com/TechnicalAnalysis/Stochastics.html in https://github.com/CryptoSignal/crypto-signal/pull/255

@shads2 is the signal happening at the cross, as shown in the image below?


Add support to release Linux aarch64 wheels

On aarch64, ‘pip install pulsar-client’ gives the following error:
ERROR: Could not find a version that satisfies the requirement pulsar-client (from versions: none)
ERROR: No matching distribution found for pulsar-client

Please let me know your interest in releasing Linux aarch64 wheels. I can help with this.

Team, Please let me know your interest in releasing Linux aarch64 wheels.

@sijie, can you please let me know if the community is open to accept this PR on this topic.

It should be fixed at least for https://pypi.org/project/pulsar-client/#files 3.2.0.


GUVNOR-2556: Right-clicking a cell should select it

See https://issues.jboss.org/browse/GUVNOR-2556
Moved "Context Menu" support into it's own class; re-used the utility class in https://github.com/uberfire/uberfire/pull/422 to identify "selected cells" and wrote some tests.

See https://github.com/uberfire/uberfire/pull/422 too.

+1


Why Option of raw pointer is used?

hi,
When I upgrade windows-rs from 0.39 to 0.48, there are too many errors like this:

Parameters are changed form *const c_void to Option<*const c_void>,  But I didn't get why this is necessary.  AFAIK Option<*const c_void> didn't have niche optimization, because pointer in Option could still be null.  I can't see any benefit of Option<*const c_void> over *const c_void  except bigger type size :(

These parameters were subsequently marked as optional by the win32 metadata project:
[DllImport("ADVAPI32.dll", ExactSpelling = true, PreserveSig = false, SetLastError = true)]
[SupportedOSPlatform("windows5.1.2600")]
public unsafe static extern BOOL CreateProcessAsUserW([Optional][In] HANDLE hToken, [Optional][In][Const] PWSTR lpApplicationName, [Optional][In][Out] PWSTR lpCommandLine, [Optional][In] SECURITY_ATTRIBUTES* lpProcessAttributes, [Optional][In] SECURITY_ATTRIBUTES* lpThreadAttributes, [In] BOOL bInheritHandles, [In] PROCESS_CREATION_FLAGS dwCreationFlags, [Optional][In] void* lpEnvironment, [Optional][In][Const] PWSTR lpCurrentDirectory, [In] STARTUPINFOW* lpStartupInfo, [Out] PROCESS_INFORMATION* lpProcessInformation);

That metadata is then used to generate these Rust bindings. I'm working on a plan to stabilize metadata so this sort of change should be less common, but using Option does make it simpler to call such APIs since you can pass None for many such parameters. If you prefer to use raw bindings then you may want to consider the windows-sys crate:
https://kennykerr.ca/rust-getting-started/windows-or-windows-sys.html

Hi,
thanks for the quick reply, I'm not complaining about the break changes,  just wondering if  Option<*const void> is reasonable enough  for rust api ffi design.
For normal rust ffi,  we either have Option<&T> or *const T.   then user can use this api in rust style(Option<&T>),  or ffi style(*const T)
Option<*const T> seems kind of wired,   it gives the user three options (None/Some(ptr::null())/Some(ptr::nonnull())), but None/Some(ptr::null)  are actually the same, which may somehow confusing user.

but using Option does make it simpler to call such APIs since you can pass None for many such parameters
ptr::null()  can aslo handle this case well (

At first I thought there was some special reason for this change, now I know that is caused by definition of upstream metadata

Yes, it may make more sense to use Option<std::ptr::NonNull> for these parameters - I'm just not sure whether that would make it a little harder to call such APIs in practice, but I can experiment with that.


add onnx to mge/tm convert

@xxr3376 @dingshaohua960303

 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.王博文 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

需要修下format和 pylint，others LGTM

需要加一下单元测试

可以改下readme和api用法的wiki页面，添加下相关文档， 转换脚本的测试可以加到ci/test_convert_cmd.sh 里测下能不能正常用脚本转换


Feature/update java selenium etc

Update to Java 11
Update Selenium
Update to Junit5
Update maven plugin versions
Use Selenide (Firefox) as driver provider

Build: https://zugprojenkins/view/unstable-monitor/job/supplements-primeui-tester/job/feature%252FupdateJavaSeleniumEtc/


1.8?

Hi, is this project planning on updating to 1.8? Just curious, 'cause looks great.

Bump. This is badly needed.

Any news?

Apparently someone else already ported Mapwriter to 1.8.

Yep, this has already been ported.
See vectron/mapwriter


Supporting sqlalchemy's aliased()

At the moment it doesn't seem to be possible to do a whooshee_search on a query that uses the sqlalchemy command aliased(). It fails while comparing the Whoosheer's model list with the entity list generated by flask-whooshee from the query, even if i put a aliased(ExampleModel) into the Whoosheer's model list.
It would be great to be able to use aliased(), because it allows to use a Model that has multiple relationships with another specific Model in a comfortable manner.

Interesting. I'll try looking into this and see what I can do about that. Thanks for the report!

So I think I managed to handle this, the fix will be part of next release.

Released in https://pypi.python.org/pypi/flask-whooshee/0.4.1 - enjoy!


v0.7.0_38: Options are not localized

SEVERITY: Major
MODULE:

Pop By Age Chart
Mountain Chart
Bubble chart

Platform: iPad Air 2 iOS(8.3) / Safari 8.0
RELEASE: v0.7.0
STEPS TO REPRODUCE:

Navigate URL: http://static.gapminderdev.org/vizabi/release/v0.7.0/preview/bubblechart.html
Bubble chart page will be loaded
Switch to English language
Select colors
Tap first drop down
Note that all the options are not localized to the required language

ACTUAL RESULTS:
All the options under colors are not localized even after switching the language
EXPECTED RESULTS:
All the labels and options should be localized after switching the language
SCREENSHOT:

@k6Labz can you please check the same issue on branch develop? on iPad Air 2 iOS(8.3) / Safari 8.0
http://static.gapminderdev.org/vizabi/develop/preview/bubblechart.html

Retest Result: Passed
Environment: Develop branch - http://static.gapminderdev.org/vizabi/develop/preview/bubblechart.html
Platform: iPad Air 2 iOS(8.3) / Safari 8.0


Fixed typos in some of the Docs

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/ok-to-test

Thanks!


[BUG] Screens re-starts and showing twice if 'force_screen' send

Bug report
BUG
I have set scroll_count: 1 in config and calling services with screen_time: 1 parameter (for minimal time of displaying)  for long texts wich scrolls.
Sometimes (but not always) after text scrolls from start to end, current screen re-lauched and scroll starts again.
I cant get the reason for this behavior, but the length of the text certainly does not matter here, nor do the parameters of the called service.
As always, ive recorded a video. Ive called same service with same parameters 4 times in a row, in the first 3 attempts the screen repeats from the beginning, but the 4th time everything is fine.
We can see re-start of the screen in logs at 19:08:46 and 19:08:53.
Additional information

used Hardware:

Ulanzi TC001

To Reproduce
Steps to reproduce the behavior:  Set scroll_count: 1 and call the service below
Configuration
ehmtxv2:
  id: rgb8x32
  icons2html: true
  matrix_component: ehmtx_display
  time_component: ehmtx_time
  time_format: "%H:%M"
  date_format: "%d•%m"
  weekdays: "ВСПНВТСРЧТПТСБ"
  show_seconds: false
  default_font_id: default_font
  default_font_yoffset: 7
  special_font_id: special_font
  special_font_yoffset: 8
  blend_steps: 16
  scroll_count: 1  #scroll long text one time
  scroll_interval: 32
  rainbow_interval: 32

Screenshots
Video: https://drive.google.com/file/d/1WxI0mMEYrB80Wu9x_nyBdtHB_BT9QX-f/
Logs
[19:08:43][D][EHMTXv2:687]: oldest queue element is: 0/1
[19:08:43][D][EHMTXv2:119]: queue: icon clock: "day#1" for: 10.0 sec
[19:08:43][D][EHMTXv2:894]: on_next_screen trigger
[19:08:45][D][sensor:094]: 'Ulanzi Illuminance': Sending state 208.79446 lx with 0 decimals of accuracy
[19:08:46][D][EHMTXv2:365]: icon: home_assistant found id: 0
[19:08:46][D][EHMTXv2:1540]: free_screen: found by endtime 1
[19:08:46][D][EHMTXv2:833]: calc_scroll_time: mode: 16 text: "Testing strange second scroll with long text" pixels 178 calculated: 7 defined: 1 max_steps: 202
[19:08:46][D][EHMTXv2:1113]: alert screen icon: 0 iconname: home_assistant text: Testing strange second scroll with long text screen_time: 1
[19:08:46][D][EHMTXv2:125]: queue: icon: "home_assistant" for: 7 sec
[19:08:46][D][EHMTXv2:647]: force_screen: found position: 1
[19:08:46][W][EHMTXv2:651]: force_screen: icon home_assistant in mode 16
[19:08:46][D][EHMTXv2:687]: oldest queue element is: 1/2
[19:08:46][D][EHMTXv2:125]: queue: icon: "home_assistant" for: 7 sec
[19:08:46][D][EHMTXv2:894]: on_next_screen trigger
[19:08:53][D][EHMTXv2:687]: oldest queue element is: 1/2
[19:08:53][D][EHMTXv2:125]: queue: icon: "home_assistant" for: 7 sec
[19:08:53][D][EHMTXv2:894]: on_next_screen trigger
[19:08:55][D][sensor:094]: 'Ulanzi Illuminance': Sending state 208.54295 lx with 0 decimals of accuracy
[19:08:59][D][EHMTXv2:748]: remove expired queue element: slot 1: mode: 16 icon_name: home_assistant text: Testing strange second scroll with long text
[19:08:59][D][EHMTXv2:687]: oldest queue element is: 0/1
[19:08:59][D][EHMTXv2:119]: queue: icon clock: "day#1" for: 10.0 sec
[19:08:59][D][EHMTXv2:894]: on_next_screen trigger
[19:09:05][D][sensor:094]: 'Ulanzi Illuminance': Sending state 208.73730 lx with 0 decimals of accuracy
[19:09:09][D][EHMTXv2:687]: oldest queue element is: 0/1
[19:09:09][D][EHMTXv2:119]: queue: icon clock: "day#1" for: 10.0 sec

Services calls
service: esphome.ulanzi_alert_screen
data:
  default_font: true
  icon_name: home_assistant
  screen_time: 1
  r: 255
  g: 255
  b: 255
  text: Testing strange second scroll with long text

Logs for attemp wich not re-started (all ok). Maybe there is some difference:
[19:53:14][D][EHMTXv2:687]: oldest queue element is: 0/1
[19:53:14][D][EHMTXv2:119]: queue: icon clock: "day#1" for: 10.0 sec
[19:53:14][D][EHMTXv2:894]: on_next_screen trigger
[19:53:17][D][EHMTXv2:365]: icon: home_assistant found id: 0
[19:53:17][D][EHMTXv2:1540]: free_screen: found by endtime 1
[19:53:17][D][EHMTXv2:833]: calc_scroll_time: mode: 16 text: "Testing strange second scroll with long text" pixels 178 calculated: 7 defined: 1 max_steps: 202
[19:53:17][D][EHMTXv2:1113]: alert screen icon: 0 iconname: home_assistant text: Testing strange second scroll with long text screen_time: 1
[19:53:17][D][EHMTXv2:125]: queue: icon: "home_assistant" for: 7 sec
[19:53:17][D][EHMTXv2:647]: force_screen: found position: 1
[19:53:17][W][EHMTXv2:651]: force_screen: icon home_assistant in mode 16
[19:53:17][D][EHMTXv2:687]: oldest queue element is: 1/2
[19:53:17][D][EHMTXv2:125]: queue: icon: "home_assistant" for: 7 sec
[19:53:17][D][EHMTXv2:894]: on_next_screen trigger
[19:53:19][D][sensor:094]: 'Ulanzi Illuminance': Sending state 168.37253 lx with 0 decimals of accuracy
[19:53:24][D][EHMTXv2:687]: oldest queue element is: 0/2
[19:53:24][D][EHMTXv2:119]: queue: icon clock: "day#1" for: 10.0 sec
[19:53:24][D][EHMTXv2:894]: on_next_screen trigger

In couple of days of playing with many combinations of screens and services,
I discovered that the problem is in the force_screen service.
I dont see any screen restarts if I don't send a force service after any screen service.
And I cant call Alert screen without force , because its hardcoded, and bug presents here at random percent of attemps.

When you have only one screen in the queue this is normal behavior. The single element is repeated until lifetime ends or  another screen is added, for showing a screen only once there is alarm_screen
[19:56:42][D][EHMTXv2:687]: oldest queue element is: 0/1

When you have only one screen in the queue this is normal behavior. The single element is repeated until lifetime ends or another screen is added, for showing a screen only once there is alarm_screen
[19:56:42][D][EHMTXv2:687]: oldest queue element is: 0/1

I myself am already confused in my description of this bug.
In short:
If my queue is empty, and I call an Alert, which is automatically calculated for 7 seconds, then the Alert in half the cases will be displayed not for 7 seconds but for 14. The text will scroll not twice, but four times.
The alert will reach the end and restart. Because there is a hardcoded force on alert.
Similar behavior with other types of screens if I send a force service immediately after creating the screen.

Tested more times with Alarm screen (wich has hardcored "force" func)
The difference between normal visualisation of screen and of double-time showed screen somewhere here:
If I see in logs oldest queue element is: 0/2 - all will be ok,  forced screen will be deleted by lifetime, showing only once.
But if there in logs oldest queue element is: 1/2 - screen will restart after him screentime ends, and showing twice (x2 scrolls, x2 screentime).
I think, problem somewhere in oldest quere element calculation, which leads to the screen starting over again, despite the fact that it was just displayed (and for some reason not always, in 50% of cases, there is no pattern, sometimes 0/2, sometimes 1/2 and a bug where screen again is next).

Good analyzed, I think in the latest version of 2023.9.1 it's fixed!

Good analyzed, I think in the latest version of 2023.9.1 it's fixed!

Thank you for your attention.
Unfortunately, this adjustment has not helped yet.
The alert screen is still called twice half the time.
[13:37:32][D][EHMTXv2:119]: queue: icon clock: "day#1" for: 10.0 sec
[13:37:32][D][EHMTXv2:1015]: on_next_screen trigger
[13:37:32][D][text_sensor:064]: 'Ulanzi Current Screen': Sending state 'day#1'
[13:37:35][D][EHMTXv2:465]: icon: spotify found id: 29
[13:37:35][D][EHMTXv2:1674]: free_screen: found by endtime 1
[13:37:35][D][EHMTXv2:996]: calc_scroll_time: mode: 16 text: "Song name - Song artist" pixels 94 calculated: 3.8 defined: 0 max_steps: 118
[13:37:35][D][EHMTXv2:1247]: alert screen icon: 29 iconname: spotify text: Song name - Song artist screen_time: 0
[13:37:35][D][EHMTXv2:125]: queue: icon: "spotify" for: 3.8 sec
[13:37:35][D][EHMTXv2:748]: force_screen: found position: 1
[13:37:35][W][EHMTXv2:752]: force_screen: icon spotify in mode 16

[13:37:35][D][EHMTXv2:788]: oldest queue element is: 1/2
[13:37:35][D][EHMTXv2:125]: queue: icon: "spotify" for: 3.8 sec
[13:37:35][D][EHMTXv2:1015]: on_next_screen trigger
[13:37:35][D][text_sensor:064]: 'Ulanzi Current Screen': Sending state 'spotify'

[13:37:39][D][EHMTXv2:788]: oldest queue element is: 1/2
[13:37:39][D][EHMTXv2:125]: queue: icon: "spotify" for: 3.8 sec
[13:37:39][D][EHMTXv2:1015]: on_next_screen trigger
[13:37:39][D][text_sensor:064]: 'Ulanzi Current Screen': Sending state 'spotify'

[13:37:42][D][sensor:094]: 'Ulanzi Illuminance': Sending state 136.59384 lx with 0 decimals of accuracy
[13:37:42][I][EHMTXv2:1725]: set_brightness 39 => 15.29 %
[13:37:43][D][EHMTXv2:849]: remove expired queue element: slot 1: mode: 16 icon_name: spotify text: Song name - Song artist
[13:37:43][D][EHMTXv2:788]: oldest queue element is: 0/1
[13:37:43][D][EHMTXv2:119]: queue: icon clock: "day#1" for: 10.0 sec

Yesterday saw a screen restart at my place, the restart was on the icon_date screen in the queue at that moment there were at least 5 screens, force was not used, the screen was visible, then almost at the end flashed with a blend and was shown again.

Look like fixed ...

https://github.com/lubeda/EspHoMaTriXv2/pull/148  fixed it!
Many thanks!


[Pay today! 2023-04-20] IOU messages cannot be reacted to

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

Action Performed:

Request money from a user
Try to react

Expected Result:
You can react to the message
Actual Result:
You can't react to the message
Workaround:
No
Platforms:

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

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

Version Number:
Reproducible in staging?: yes
Reproducible in production?: yes
If this was caught during regression testing, add the test name, ID and link from TestRail: n/a
Email or phone of affected tester (no customers): n/a
Logs: https://stackoverflow.com/c/expensify/questions/4856 n/a
Notes/Photos/Videos: Any additional supporting documentation n/a
Expensify/Expensify Issue URL: n/a
Issue reported by: @stitesExpensify
Slack conversation: n/a
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d4530d915e523b09
Upwork Job ID:<PHONE_NUMBER>276393984
Last Price Increase: 2023-03-27

Triggered auto assignment to @conorpendergrast (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Requests, and cancels 👍

Web PR is merged for this! We need to wait for it to be deployed and then we can merge the app portion

Cool!

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.2.99-6 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/16667

If no regressions arise, payment will be issued on 2023-04-20. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@Santhosh-Sellavel / @stitesExpensify] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@Santhosh-Sellavel / @stitesExpensify] 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:
[ ] [@Santhosh-Sellavel / @stitesExpensify] A discussion in #expensify-bugs 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:
[ ] [@conorpendergrast] Determine if we should create a regression test for this bug.
[ ] [@Santhosh-Sellavel] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ] [@conorpendergrast] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@stitesExpensify As you mention in the PR, the UI/ UX side of this bug was deliberate, given the backend bug. I think that we can skip the BugZero Checklist, do you agree?

I think that we can skip the BugZero Checklist, do you agree?

Yep!

Also, $1000 for @Santhosh-Sellavel for C+, correct?

Correct!

Thanks!

Removing the hold, paying today

The hire buttons aren't there for this job, so I'm trying to work out why to make sure I can pay this

Bonus is not applicable for internal PRS

Haha, ok yes thanks @Santhosh-Sellavel. Paid now!
The End Contract flow is not working, so I guess that's a problem for Tomorrow Conor


julia: 1.0.0 -> 1.0.1

Motivation for this change
updating julia to next version,
disabled tests as they fail regardless of update
Things done

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

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

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

@GrahamcOfBorg build julia

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: julia
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-darwin (full log)
Attempted: julia
Partial log (click to expand)
copying path '/nix/store/j51sisi1p4vdh15irrz3420mh69xs8z3-fftw-double-3.3.8' from 'https://cache.nixos.org'...
copying path '/nix/store/gvjsashnn5k3hcs951siclj6ayv5rx1p-fftw-single-3.3.8' from 'https://cache.nixos.org'...
copying path '/nix/store/6qakplf69vkv9zzfi06c00iqz0jky4cb-gmp-6.1.2' from 'https://cache.nixos.org'...
copying path '/nix/store/byybrsvlglbirfqhv6smwxxbydlqxzby-llvm-3.9.1-lib' from 'https://cache.nixos.org'...
copying path '/nix/store/nggdvvhnmjcvbq8jvpxcrjp9365ya72v-openlibm-0.6.0' from 'https://cache.nixos.org'...
copying path '/nix/store/bg4fzy60bj96k1ffy9wfb3zc4pz7kdc4-openspecfun-0.5.3' from 'https://cache.nixos.org'...
copying path '/nix/store/hc6n1ak3cvn62nx0xqbvd5mgxy9z56kj-suitesparse-4.4.4' from 'https://cache.nixos.org'...
copying path '/nix/store/x26d5qc5ykyj0j7ya7nfy4rjimk53177-llvm-3.9.1' from 'https://cache.nixos.org'...
copying path '/nix/store/4gplsgr81q13sdl0gvljk9i1856hfizs-julia-0.6.4' from 'https://cache.nixos.org'...
/nix/store/4gplsgr81q13sdl0gvljk9i1856hfizs-julia-0.6.4

@GrahamcOfBorg build julia_10

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: julia_10
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Failure on x86_64-linux (full log)
Attempted: julia
Partial log (click to expand)
   [6] collect(::Base.Generator{Array{Symbol,1},Base.Distributed.##153#154}) at ./array.jl:470
   [7] collect(::Base.Generator{Array{Symbol,1},Base.Distributed.##153#154}) at ./array.jl:471
  while loading /build/source/test/linalg/arnoldi.jl, in expression starting on line 130
ERROR: LoadError: Test run finished with errors
while loading /build/source/test/runtests.jl, in expression starting on line 29
make[1]: *** [Makefile:18: all] Error 1
make[1]: Leaving directory '/build/source/test'
make: *** [Makefile:603: testall] Error 2
builder for '/nix/store/49jhy1d3dnfi354i8bln1gg4nf5cciiw-julia-0.6.4.drv' failed with exit code 2
error: build of '/nix/store/49jhy1d3dnfi354i8bln1gg4nf5cciiw-julia-0.6.4.drv' failed

it seems the build failure is a known issue with Julia i.e. https://github.com/JuliaLang/julia/issues/29221

By the way, you'll probably be interested in https://github.com/JuliaLang/julia/issues/29592.

As it currently stands, there needs to be a lot of manual tweaking to get Julia work on Nixos. For instance, lots of .jl packages depend on Arpack.jl which in turned depend on libarpack. The .so bundled upstream doesn't work on nixos, so one needs to copy the libarpack.so's from nix store manually into the package's directory.

As it currently stands, there needs to be a lot of manual tweaking to get Julia work on Nixos. For instance, lots of .jl packages depend on Arpack.jl which in turned depend on libarpack. The .so bundled upstream doesn't work on nixos, so one needs to copy the libarpack.so's from nix store manually into the package's directory.

That's due to using an LP64 rather than an ILP64 BLAS. To fix that, you need to pass USE_BLAS64=1 Unfortunately, OpenBLAS packages are generally LP64, so you either need to build a custom OpenBLAS for Julia, or add an ILP64 package. This is what Fedora does for a few years. If you do that, also adding the 64_ suffix is a good idea to avoid conflicts between symbols if both libraries are loaded at the same time (then you can build Julia with OPENBLAS_SYMBOLSUFFIX=64_).

openblasCompat provides the LP64 version of openblas. However, arpack is build against openblas with an ILP64 interface. Could that be a problem here?

@markuskowa
It seems there are two std test suits that currently don't pass which breaks the build, Sockets and Distributed. Failure in Distributed looks related to Sockets. If the breaking tests at Sockets are reordered such that they're first in the test file; all the tests seem to pass. I think the failing test all have something to do with DNS. I'm not sure why they don't fail upstream!

with DNS. I'm not sure why they don't fail upstream!

Different sandboxing, maybe.

Julia disables the socket tests in their CI config, which doesn't use make test. In my distro package for Arch Linux I blindly assumed that that meant the tests weren't ever expected to work at all, so I disabled them too...

Do I understand correctly that the commits in this PR are currently only about correctly switching off the failing tests and not version bump?

the version bump, it appears to be already cherry picked, at commit 46372e5819a13669c60c6cca1aff5d83dfcc4421.


bower package

Hi,
Any chance of a bower package?
I try to do everything via bower and don't want to have to maintain Composer aswell...

Bower is about frontend packages. I don't see any reason to use it for PHP packages.

I agree with @stof.


Update company name to reflect current branding

OPS Build status updates of commit f0e95b7:
:clock10: Preparing: average preparing time is 51 sec(s)

OPS Build status updates of commit f0e95b7:
:clock10: Incremental building: average incremental building time is 18 sec(s)

OPS Build status updates of commit f0e95b7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

rd/oren-novotny.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Your changes is live now. Please review it from RD website:
https://rd.microsoft.com/en-us/oren-novotny


Support collecting data from chunk belonging to multiple runtimes

I have a chunk that looks like this on the stats.json file:
{
  ....
  "names": [
    "src-SimpleComponent"
  ],
  "runtime": [
    "client",
    "remote" // <---- this is my app name
  ],
  "files": [
    "static/js/238.chunk.js"
  ],
  "id": 238,
},

Because this chunk belongs to 2 runtimes, it's not necessarily the one on the first position of the array of runtime. Because the code assumes that here, this chunk doesn't show up in the output federation-stats.json.
Happy to submit a PR to replace with includes:
@@ -41,7 +41,7 @@ class FederationStatsPlugin {
             const exposedAs = exposedFiles.get(module.name.replace(EXTENSION_REGEX, ""))
             const chunks = module.chunks
               .map((chunkId) => stats.chunks.find((chunk) => chunk.id === chunkId))
-              .filter((chunk) => chunk.runtime[0] === appName)
+              .filter((chunk) => chunk.runtime.includes(appName))
               .reduce(chunksReducer, [])
             return {
               module: exposedAs,

@brunomperes thank you!
I fixed it


Better theme options

The Light/Dark theme has been added, but not exposed in Inputs.
We should have the options Light, Dark or System.

Add the theme parameter in Inputs.
Create Theme enum in inputs.py and expose in __init__.py
Update documentation, with screenshots.

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."


shinyTree does not work with reactivevalue

if the list object has been created dynamically, we cannot get the selection contents using get_selected()
ui=shinyUI(
pageWithSidebar(
# Application title
headerPanel("shinyTree with 'selected' input"),
sidebarPanel(
  actionButton("loadlist", "Load list")
),
mainPanel(
  "Currently Selected:",
  verbatimTextOutput("selTxt"),
  hr(),
  shinyTree("tree")
)

))
server=shinyServer(function(input, output, session) {
MY <- reactiveValues(value= NULL)
observeEvent(input$loadlist,{
MY$value <-list(
root1 = structure("123"),
root2 = list(
SubListA = list(leaf1 = "", leaf2 = "", leaf3=""),
SubListB = list(leafA = "", leafB = "")
)
)
})
log <- c(paste0(Sys.time(), ": Interact with the tree to see the logs here..."))
output$tree <- renderTree({
if(is.null(MY$value)) return()
MY$value
})
output$selTxt <- renderText({
tree <- input$tree
if (is.null(tree)){
"None"
} else{
unlist(get_selected(tree))
}
})
})

Try the fork I just created today (see example 11-tree-update): https://github.com/schaffman5/shinyTree.

@schaffman5, amazing work. your example works well.
One thing though, is that you encoded your data by hand as a JSON string. However we are generating data dynamically as an R list. I have tried to convert my list to JSON string using jsonlite::toJSON() but shinyTree seems to not recognize that. Do you have a solution for this problem? We are nearly there, just need this one last touch.
library(shiny)
library(shinyTree)
library(jsonlite)
ui=shinyUI(
pageWithSidebar(
# Application title
headerPanel("shinyTree with 'selected' input"),
sidebarPanel(
  actionButton("loadlist", "Load list")
),
mainPanel(
  "Currently Selected:",
  verbatimTextOutput("selTxt"),
  hr(),
  shinyTree("tree")
)

))
server=shinyServer(function(input, output, session) {
MY <- reactiveValues(value= NULL)
observeEvent(input$loadlist,{
MY$value <-jsonlite::toJSON(list(
root1 = structure("123"),
root2 = list(
SubListA = list(leaf1 = "", leaf2 = "", leaf3=""),
SubListB = list(leafA = "", leafB = "")
)
))
updateTree(session,"tree",MY$value)
})
Tree is initialized without nodes
output$tree <- renderEmptyTree()
output$selTxt <- renderText({
tree <- input$tree
if (is.null(tree)){
"None"
} else{
unlist(get_selected(tree))
}
})
})
shiny::shinyApp(ui=ui, server = server)
`

Yes, jsTree (the underlying javascript library) seems to be quite sensitive to malformed JSON.  See the JSON tree specs here: https://www.jstree.com/docs/json/ and make sure your json encoding approach produces exactly what is expected (either the standard or alternative JSON formats should work).

OK, I understand. I am sure I can work that out. Thanks a million for your kindly help.
@schaffman5' I guess you provided a wonderful input to shinyTree that was missing before. But for a best integration into shinyTree, if I understand correctly, @trestletech's renderTree() accepts an R list as input but your updateTree() requires a JSON script. For the sake of consistence, would not it be best if the inputs are harmonized so that the users know what to input? I guess an R list is the way to go.
@schaffman5 and @trestletech, I would be curious to know your opinion about that. And of course, would be very interested in seeing @schaffman5's contribution in shinyTree.

I agree it would provide consistency to accept an R list and wouldn't be hard to add.  The inconsistency is really that the original implementation accepts only a nested tree data model and initializes the tree as HTML tags, whereas the emptyTree/updateTree method make use of a jsTree API call that accepts tree data in either the standard nested JSON format or the alternative JSON formats.
I personally think the alternative format is much cleaner and readable, especially when pulling data from a database (which is how I'm using it myself and in my last comment above).  I'd suggest abandoning the HTML tag initialization approach in favor of the API call unless there is a performance hit for really large trees or some other reason.  This would allow both JSON formats to be accepted and specified in an R wrapper function.  The initialization then becomes a one-liner in the jsTree init function (data:[]).  Curious what @trestletech thinks since he did a great job with the original library.

Well explained. Let's hear what  @trestletech has to say about it :)

Hi  @trestletech. Any comments about which way to go to make shinyTree updatable within a shiny session? Do you have interest in incorporating @schaffman5  's work anytime soon?

Given no comments or progress on this, perhaps @trestletech might be willing to hand over to the community, or we could do shinyTree2.  I have a current use case, and really this is the only viable option in the jquery universe for checkbox tree select.
I updated to jsTree 3.3.5 and everything works that I tested.

#21 closes this issue.


Bug: enum34 conditional requirement for poetry

Description
We have migrated to poetry for our python 3.6+ development.  It picks up the enum34 conditional include as a dependency unless the format of setup.py is changed.
System settings

Operating System: aws linux
Terminal in use: bash
Python version: 3.6+
halo = "^0.0.28" is bringing in py-spinners

Error
Traceback (most recent call last):
File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.7/site-packages/pip/main.py", line 16,
in
from pip._internal import main as _main  # isort:skip # noqa
File "/usr/local/lib/python3.7/site-packages/pip/_internal/init.py",
line 4, in
import locale
File "/usr/local/lib/python3.7/locale.py", line 16, in
import re
File "/usr/local/lib/python3.7/re.py", line 143, in
class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'

Marking this as solved


Implement functionality to fetch screen scrolling offsets.

Resolved: https://github.com/neetVeritas/pyselenium-js/pull/34


Fix: Resolve particle flickering issue during window resize

Fix: Resolve particle flickering issue during window resize
Problem
Particles flicker rapidly when resizing the window or during slow scroll interactions. This issue occurs when the component is brought into view, and the window is resized, causing unexpected behavior in the particle animation.
Additionally
When the window is resized, the refresh parameter has an impact on particle positioning. If the window becomes smaller, particles accumulate outside the visible area. If the window becomes larger, gaps or missing particles are visible, which disrupts the intended effect.
Solution:

Condition in useEffect:

Added a condition to ensure that the refresh value is truthy before triggering the particle refresh. If refresh is truthy, resizing the window causes the particles to refresh. By passing false to the refresh parameter, we avoid this behavior.

Performance Improvements:

Implemented useCallback and useMemo to optimize performance slightly (approximately a 0.00065ms improvement). These hooks prevent unnecessary re-renders during window resizing and scrolling.

Code Refactoring:

Removed redundant code (such as initCanva) and moved it inside the useEffect hook to comply with the DRY.

Testing:

Tested with various window resize scenarios. The particle flickering issue no longer occurs after applying these changes.

Fixes #339.

@notREKASH could you quickly provide a video showing what this is actually solving?


#1288: Update destruction warning to reflect that we now remove the a…

Thank you so much for contributing code to Kalabox!
We will get to your PR as soon as we can but in the meantime you might want to
check to make sure you have done the following. The more boxes you can check
the easier it will be for us to merge in your changes with confidence

[ ] My code passes relevant CI status checks
[ ] My code includes a test (see here)
[x] My code includes an update to CHANGELOG.md (see here)
[x] My code includes documentation updates if relevant.
[ ] I have pinged @rileysaurus when I think my code is ready for prime time.

If you are unclear about any of the above please add comments below so we can
improve our process.
…pp directory on a destroy

@rileysaurus, going to say this "includes a test" since the existing tests should cover whether this breaks anything.


fix: make driver version easy to print

before
➜  POD_NAME=csi-node JUICEFS_MOUNT_NAMESPACE=asa ./bin/juicefs-csi-driver --version
I0313 10:44:05.279016  895493 main.go:98] Run CSI node
{
  "driverVersion": "v0.23.5-1-g8683789-dirty",
  "gitCommit": "8683789e04933959963662fee0f02a8b35c37fa1",
  "buildDate": "2024-03-13T02:36:09Z",
  "goVersion": "go1.22.1",
  "compiler": "gc",
  "platform": "linux/amd64"
}

after
➜  ./bin/juicefs-csi-driver --version
{
  "driverVersion": "v0.23.5-1-g8683789-dirty",
  "gitCommit": "8683789e04933959963662fee0f02a8b35c37fa1",
  "buildDate": "2024-03-13T02:36:09Z",
  "goVersion": "go1.22.1",
  "compiler": "gc",
  "platform": "linux/amd64"
}

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 28.87%. Comparing base (8683789) to head (7ef92e7).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #894   +/-   ##
=======================================
  Coverage   28.87%   28.87%
=======================================
  Files          47       47
  Lines        5887     5887
=======================================
  Hits         1700     1700
  Misses       4023     4023
  Partials      164      164

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

in the "before" clause, what happens if you omit POD_NAME=csi-node JUICEFS_MOUNT_NAMESPACE=asa?

in the "before" clause, what happens if you omit POD_NAME=csi-node JUICEFS_MOUNT_NAMESPACE=asa?

Nothing will be output.
➜  ./bin/juicefs-csi-driver --version
➜


openfhe-python on windows

@reneroliveira There is only Linux install in the repo. Can’t we use openfhe-python wrapper on windows?What should I do to use openfhe-python as windows user?

Sure, you can use the wrapper on Windows too. The recommend way is following the OpenFHE C++  installation instructions for Windows, and then replicate the commands for the python wrapper in the MSYS2 terminal. We are testing and validating this process and soon we'll add detailed description in the readme.
Any problem or comment, feel free to reach out!

@reneroliveira Actually, I installed openfhe and openfhe-python libraries in colab, but I cannot import. What would be the reason? I'm adding the Colab link in case you want to take a look:
https://drive.google.com/file/d/1Ho58YXPXKwSMiJITVHn4WpiraUYb0kQR/view?usp=sharing

I suspect the problem is the library installation path. I don't know how colab works, but if you have more than one python installations, you have to take care and make sure you're installing in the right path
Try running !which python (or maybe !which python3) in a colab cell to see the path.
When installing OpenFHE-python you can specify the python binary path in the cake step, this procedure is documented in Readme.

In colab, after installing "openfhe-development" run  sudo ldconfig . Running sudo ldconfig refreshes the system's cache of dynamic linkers and their associated libraries, ensuring that any changes or new installations are recognized by the system. It's a crucial step after installing or updating libraries to make sure that programs can find and link to the appropriate shared libraries during runtime.

^ Sounds like this issue has been resolved. If so, please close it :) Thank you!

@zubeydeulukok can this issue be closed?

Stale issue and the topic changed to Colab. If it's still an issue please open a new issue with updated errors and information


why FusedBitLinear.forward() use F.linear() with float16 inputs?

import os
os.environ["TOKENIZERS_PARALLELISM"] = "false"
import mmfreelm
from transformers import AutoModelForCausalLM, AutoTokenizer
name = '/mnt/workspace/MMfreeLM-370M'
tokenizer = AutoTokenizer.from_pretrained(name)
model = AutoModelForCausalLM.from_pretrained(name).cuda().half()
input_prompt = "In a shocking finding, scientist discovered a herd of unicorns living in a remote, "
input_ids = tokenizer(input_prompt, return_tensors="pt").input_ids.cuda()
outputs = model.generate(input_ids, max_length=32,  do_sample=True, top_p=0.4, temperature=0.6)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True)[0])

"The FusedBitLinear.forward() function calls the LayerNormLinearQuantFn.forward() function. Why are both x and w in the F.linear() function float16? Shouldn't x be int8 and w be within the set {-1, 0, 1}?"

Hi, this is due to the consideration of speed. We found that the bf16 will get the fastest speed when we try to doing such operations, so we keep this. If you take a look about its inner values, you will find the activation is INT8 and weight is ternary. This operation is so-called fake quantization, using high precision data type but it actually has tailed to the low precision.

As you mentioned you will find the activation is INT8 and weight is ternary ，both inputs to F.linear() are quantized float16 types.
However, F.linear() still involves multiplication operations, which is not entirely consistent with the concept of being matmul-free.Is it possible to implement the functionality of F.linear() using only add/sub and other operators in a GPU environment?

Yes, for training, using matmul is the most efficient approach, and matmul-free can be seen as a special case of matmul. Therefore, we still use F.linear here. To the best of my knowledge, it is a little bit hard to leverage matmul-free operations in a GPU environment.


fix: button overflow

Dropdown have a rounded borders, and buttons inside will overflow
Before

After

Thanks for contributing! However, this is will already be solved by https://github.com/filamentphp/filament/pull/3853.


Closing a prompt modal does not return focus to window

The Problem
Closing a prompt modal does not return focus to the window.
To Reproduce
Prompt modal close behavior can be tested in various browsers with the follow code snippet:
window.addEventListener("focus", console.log);
window.prompt("Input does not matter");

Expected behavior
The prompt modal should return focus to window immediately after close, and an Event { type: "focus" } should be emitted.
Environment

OS: Windows 10
Version: v1.0.0-prerelease.3

Thanks for filing, I'll hit it this week

Fixed!


Fixes #2558. MenuBar positions wrong in some situations.

Fixes #2558 - Allows managing driver frame offset for smaller tops. @tig I think you'll prefer this PR instead of #2561.
Pull Request checklist:

[x] I've named my PR in the form of "Fixes #issue. Terse description."
[x] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[x] My code follows the Terminal.Gui library design guidelines
[x] I ran dotnet test before commit
[ ] I have made corresponding changes to the API documentation (using /// style comments)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any poor grammar or misspellings
[x] I conducted basic QA to assure all features are working

@BDisp I've started reviewing this, and as I've read the code I've just gotten myself confused.
I need to step back from all of the details and make sure I fully understand how we want menus to work.
Let's riff on it here in the comments, please... Please correct anything I state below if I'm incorrect!
What is "MenuBar"?

A "MenuBar" is a View that shows a set of menu items horizontally aligned next to each other in a single row.
A MenuBar contains MenuBarItems (menuBar.Menus).
In v1, it is possible to have MenuBar.SuperView == null.

I believe this is ONLY used in the case of ContextMenu. I also believe this is poor design and should be fixed in v2: "MenuBar is just a view like any other view. We don't allow any normal views to not be Added to a superview EXCEPT Application.Top.
In these MenuBar.SuperView == null cases:

Application.Top is assumed to be the SuperView
Application.Current.Focused is used to return focus to the previously focused View after the menu closes.

A MenuBar has a default position of (0, 0) with a dimension of (Dim.Fill(), 1). Visible is true by default.
Calling MenuBar.Activate or MenuBar.OpenMenu causes the first contained MenuBarItem to be shown.

Where should MenuBar render?

Never outside of SuperView.Bounds - Other view's can't do this, so why should menubar be special?

Can a MenuBar be drawn vertically?

No (at least not yet).

What's a MenuBarItem?

A MenuBarItem is a subclass of MenuItem.
A MenuBarItem is NOT a View. It is a class that contains a list of MenuItem instances (menuBarItem.Children).
A MenuBar's Children are displayed Vertically - Three scenarios:

When the MenuBarItem is contained by a MenuBar and is activated and drops down below the MenuBar

When the MenuBarItem is contained by a MenuBar created by ContextMenu. When ContextMenu.Show is called, the ContextMenu.MenuBar is instantiated and menuBar.OpenMenu is called dropping the menu down at a specific location, see below. Note, in this case, the MenuBar itself is never rendered!

When a MenuBarItem, contained by a drop-down MenuBar (from #1 or #2 above) is activated, it will drop down alongside the MenuBarItem

Note: the UseSubMenusSingleFrame property tweaks the above behavior to constrain all of the contained MenuBarItems are drawn within a rectangle defined by either the largest MenuItem or the parent of the MenuBar (I'm not sure this is right; this feature appears broken in current builds).

Where should MenuBarItem render?

Never outside of Parent.SuperView.Bounds

What's ContextMenu and how does it work?

This class is a View that is a helper for showing MenuBarItems in a "context menu" scenario. It uses MenuBar internally in a fairly hacky way.
One way to view ContextMenu is it is a "Hidden MenuBar that supports only a single MenuBarItem".
ContextMenu.MenuBar is public and besides keep the MenuBar in sync with open/close events it is ONLY used in Unit Tests.
ContextMenu.Host is documented as "The host View which position will be used, Otherwise if it's null the container will be used."

It is ONLY used to determine the POSITION of the the embedded MenuBar

MenuBar.isContextMenuClosing is poor OO design; it is an internal linkage between MenuBar and ContextMenu.
UseSubMenusSingleFrame duplicates the same property in MenuBar.
IsShow ("Gets whether the ContextMenu is showing or not.") is a static meaning only a single context menu can be shown at a time (which makes sense).
Key is documented as "specifies the keyboard key that will activate the context menu with the keyboard." but this is actually not accurate. All it does is specifies the key that will DEACTIVATE the context menu. Callers need to set up a Command or something else to know when to call contextMenu.Show().

What is private class Menu : View?

PRIVATE class that does the work of showing a MenuBarItem as a drop-down or pop-up. Remember, MenuBarItem is NOT a View. So this class basically wraps the data in a MenuBarItem in a View.
When MenuBar.OpenMenu is called, instances of Menu are created for each MenuBarItem in the menu hierarchy, dynamically. When MenuBar.CloseMenu is called all of these instances are cleaned up.
Contains a copy of the list of MenuBarItems of it's 'host'.
Whenever a Menu is opened (Menu.OpenMenu) it is added to Application.Top as a subview.
IOW, Menu is a View whose SuperView is Application.Top (Application.Top.Add (openMenu);)

THIS IS A DESIGN FLAW that I think is the root cause of this issue (#2558).
Instead, the SuperView of a Menu should be the hosting MenuBar's SuperView
Menu should be a MODAL (menu.Modal = true) View.

PROPOSAL:

Change private class Menu : View as follows:

Make it a modal (Modal = true); create it with Applicaiton.Run (openMenu)
Get rid of Menu.Run per above
Use computed layout for positioning and sizing instead of MakeFrame (have caller set X, Y, Height, Width)

Introduce a new base class for menus named MenuBase, derived from View. Have it contain

MenuBar

.Menus
.<keyboard handling members> (including default Commands).
.<style members> (e.g. UseSubMenusSingleFrame)
.OnEnter/OnLeave
.MenuOpening/Opened/Closing etc... events
.OpenMenu()/CloseMenu()
Enforce that SuperView != null
Move IsShow to MenuBase and change it to be of public static MenuBase ActiveMenu. If 'nullthen it's the same asIsShow == true. It should get set to thisin.OpenMenu()and tonullin.CloseMenu(); the logic should ensure that one MenuBarBase` is closed before another one is open.

Refactor MenuBar to derive from MenuBase and :

.OnDraw (horizontal rendering)
When activated set ActiveMenu = this.

Refactor ContextMenu to derive from MenuBase and :

.Visible = false at construction
Get rid of .Host. All views MUST have a SuperView. Use SuperView for positioning and sizing.
Get rid of Position - .X and .Y already provide the location!
.Show() should be an override of MenuBase.OpenMenu(). It should:

Set .Visible = true
Set .X and .Y to coordinates that

Fix ContextMenu.Key documentation to be more clear.

In short, I think we need to refactor the entire Menu class hierarchy to work well in a world where

We have the concept of Modal views that don't have to be of type Toplevel
We have Bounds != Frame

By doing this, I believe the complexity of all of this will be reduced.
I could be wrong. But I think it's worth taking a serious look at.
Are you willing to do so, @BDisp?

@BDisp I've started reviewing this, and as I've read the code I've just gotten myself confused.
I need to step back from all of the details and make sure I fully understand how we want menus to work.
Let's riff on it here in the comments, please... Please correct anything I state below if I'm incorrect!
What is "MenuBar"?
* A "MenuBar" is a `View` that shows a set of menu items horizontally aligned next to each other in a single row.

* A MenuBar _contains_ `MenuBarItems` (`menuBar.Menus`).

* In v1, it is possible to have `MenuBar.SuperView == null`.

  * I believe this is ONLY used in the case of `ContextMenu`. I also believe this is poor design and should be fixed in v2: "MenuBar is just a view like any other view. We don't allow any normal views to not be `Add`ed to a superview EXCEPT `Application.Top`.
  * In these `MenuBar.SuperView == null` cases:

Actually we only can create Menus with a MenuBar because the Menu class is private. In the case of the ContextMenu we only needed to use the Menus and not the MenuBar itself and that the reason why it isn't added to the Application.SuperView.

    * `Application.Top` is assumed to be the SuperView

I already fixed that in this PR. Is the Application.Current that must be assumed as SuperView, but could happen to be the same as Application.Top. If the Application.Current is smaller than the console driver size (Cols and Rows) then we need to use the offset size to draw correctly in the right position and this PR is a suggestion fix for this.

    * `Application.Current.Focused` is used to return focus to the previously focused View after the menu closes.

* A `MenuBar` has a default position of `(0, 0)` with a dimension of `(Dim.Fill(), 1)`. `Visible` is `true` by default.

* Calling `MenuBar.Activate` or `MenuBar.OpenMenu` causes the first contained `MenuBarItem` to be shown.

Where should MenuBar render?
* Never outside of `SuperView.Bounds` - Other view's can't do this, so why should menubar be special?

I think you are confusing the MenuBar with the Menu. A visible MenuBar is never rendered outside a SuperView.Bounds but a Menu in my opinion can, because if you are opening a Menu on a smaller superview it must be showed, no matter if it fit or not in the SuperView.Bounds, like a drop-down list of a ComboBox must also could do.

Can a MenuBar be drawn vertically?
* No (at least not yet).

Of course it can, but not actually yet. Is a design and layout matter.

What's a MenuBarItem?
* A MenuBarItem is a subclass of `MenuItem`.

* A MenuBarItem is NOT a `View`. It is a class that contains a list of `MenuItem` instances (`menuBarItem.Children`).

* A MenuBar's `Children` are displayed Vertically - Three scenarios:

  * 1. When the MenuBarItem is contained by a MenuBar and is activated and drops down below the MenuBar
  * 2. When the MenuBarItem is contained by a MenuBar created by `ContextMenu`. When `ContextMenu.Show` is called, the `ContextMenu.MenuBar` is instantiated and `menuBar.OpenMenu` is called dropping the menu down at a specific location, see below. Note, in this case, the `MenuBar` itself is never rendered!

ContextMenu.MenuBar is instantiated with the parent/host of the menu, providing the specific location. The MenuBar doesn't need to be rendered. It only is used to show the Menu.

  * 3. When a MenuBarItem, contained by a drop-down MenuBar (from [There is a problem with the high-intensity colors, they are not showing up #1](https://github.com/gui-cs/Terminal.Gui/issues/1) or [Add resizing support to the core #2](https://github.com/gui-cs/Terminal.Gui/issues/2) above) is activated, it will drop down alongside the MenuBarItem
  * Note: the `UseSubMenusSingleFrame` property tweaks the above behavior to constrain all of the contained `MenuBarItem`s are drawn within a rectangle defined by either the largest MenuItem or the parent of the MenuBar (I'm not sure this is right; this feature appears broken in current builds).

It was broken in the v2, but I already fixed. See the unit tests https://github.com/gui-cs/Terminal.Gui/blob/f280ded14521268942abc5f0c9b832226d2ff099/UnitTests/Views/MenuTests.cs#L914-L920, which is working well.

Where should MenuBarItem render?
* Never outside of `Parent.SuperView.Bounds`

I don't agree because of the reasons I already explained above. Only the MenuBar shouldn't never be render outside the Parent.SuperView.Bounds, but the Menu can be render outside the Parent.SuperView.Bounds to allow be showed on smaller toplevel.

What's ContextMenu and how does it work?
* This class is a `View` that is a helper for showing `MenuBarItems` in a "context menu" scenario. It uses `MenuBar` internally in a fairly hacky way.

* One way to view `ContextMenu` is it is a "Hidden MenuBar that supports only a single MenuBarItem".

But also supports a MenuItem that has sub-menus.

* `ContextMenu.MenuBar` is `public` and besides keep the `MenuBar` in sync with open/close events it is ONLY used in Unit Tests.

But also can be used on a view, if needed.

* `ContextMenu.Host` is documented as "The host View which position will be used, Otherwise if it's null the container will be used."

It can be null if you right click on any location of a toplevel to open the ContextMenu in the current mouse position.

  * It is ONLY used to determine the POSITION of the the embedded `MenuBar`

* `MenuBar.isContextMenuClosing` is poor OO design; it is an internal linkage between `MenuBar` and `ContextMenu`.

Where is that code? I can't find it. I think you are mean about MenuBar.isContextMenuLoading and it's really a linkage.

* UseSubMenusSingleFrame duplicates the same property in `MenuBar`.

The reason for that is a user can prefer use this property as true on a MenuBar and as false on a ContextMenu or vice-versa.

* `IsShow` ("Gets whether the ContextMenu is showing or not.") is a `static` meaning only a single context menu can be shown at a time (which makes sense).

That right :-)

* `Key` is documented as "specifies the keyboard key that will activate the context menu with the keyboard." but this is actually not accurate. All it does is specifies the key that will DEACTIVATE the context menu. Callers need to set up a `Command` or something else to know when to call `contextMenu.Show()`.

The reason for this property is to avoid each view having different key to activate the ContextMenu. Otherwise would be very difficult to decorate all the keys for all views. This normally is initialized on the constructor of the view who need it by using AddKeyBinding (ContextMenu.Key, Command.Accept);

What is private class Menu : View?
* PRIVATE class that does the work of showing a `MenuBarItem` as a drop-down or pop-up. Remember, `MenuBarItem` is NOT a `View`. So this class basically wraps the data in a `MenuBarItem` in a `View`.

Like each item of a ListView isn't a View. It's only a design matter. We can manipulate and show the way as we like.

* When `MenuBar.OpenMenu` is called, instances of `Menu` are created for each `MenuBarItem` in the menu hierarchy, dynamically. When `MenuBar.CloseMenu` is called all of these instances are cleaned up.

* Contains a copy of the list of `MenuBarItems` of it's 'host'.

* Whenever a `Menu` is opened (`Menu.OpenMenu`) it is added to `Application.Top` as a subview.

* IOW, `Menu` is a `View` whose `SuperView` is `Application.Top` (`Application.Top.Add (openMenu);`)

I already fixed this in this PR. A Menu should always be added to the Application.Current, because it may be not the Application.Top.

  * THIS IS A DESIGN FLAW that I think is the root cause of this issue ([MenuBar positions wrong in some situations #2558](https://github.com/gui-cs/Terminal.Gui/issues/2558)).
  * Instead, the `SuperView` of a `Menu` should be the hosting `MenuBar`'s `SuperView`

That is only true if the MenuBar superview and the Menu are in the same SuperView. But there is other cases where you can have a MenuBar on a superview that isn't the same as the Menu superview. Is the case where you can have a MenuBar on a SubView and the Menu should be added to the Application.Current. The reason for this is for the cases where the superview of the MenuBar haven't enough space to accommodate the Menu. But the root top is the same of course.

  * `Menu` should be a MODAL (`menu.Modal = true`) View.

I think I also agree.

PROPOSAL:
* Change `private class Menu : View` as follows:

  * Make it a modal (`Modal = true`); create it with `Applicaiton.Run (openMenu)`
  * Get rid of `Menu.Run` per above
  * Use computed layout for positioning and sizing instead of `MakeFrame` (have caller set X, Y, Height, Width)

It's fine If they are both on the same superview, otherwise I'm not sure if the layout will work.

* Introduce a new base class for menus named `MenuBase`, derived from `View`. Have it contain

  * `MenuBar`

    * `.Menus`
    * `.<keyboard handling members>` (including default `Command`s).
    * `.<style members>` (e.g. `UseSubMenusSingleFrame`)
    * `.OnEnter/OnLeave`
    * `.MenuOpening/Opened/Closing` etc... events
    * `.OpenMenu()/CloseMenu()`
    * Enforce that `SuperView != null`

But we need the  SuperView == null for ContextMenu. How to distinguish them?

    * Move `IsShow` to `MenuBase` and change it to be of `public static MenuBase ActiveMenu`. If 'null`then it's the same as`IsShow == true`. It should get set to `this`in`.OpenMenu()`and to`null`in`.CloseMenu()`; the logic should ensure that one `MenuBarBase` is closed before another one is open.

* Refactor `MenuBar` to derive from `MenuBase` and :

  * `.OnDraw` (horizontal rendering)
  * When activated set `ActiveMenu = this`.

* Refactor `ContextMenu` to derive from `MenuBase` and :

  * `.Visible = false` at construction

I think the Visible will not working here because we need to recreate it to show it. Imagine that on a resize or on a layout change the ContextMenu position should be adjusted. Another disadvantage is if there are a lot of view with ContextMenu the app will be supercharged with many ContextMenu already created without needed.

  * Get rid of `.Host`. All views MUST have a `SuperView`. Use `SuperView` for positioning and sizing.

If you are meaning that the Menu should be a subview of the MenuBar that will not work because it doesn't fit.

  * Get rid of `Position` - `.X` and `.Y` already provide the location!

The Position property here is used by the containers to set the start position of the ContextMenu and can be ignored if the it needed to fit on the available space.

  * `.Show()` should be an override of `MenuBase.OpenMenu()`. It should:

    * Set `.Visible = true`
    * Set `.X` and `.Y` to coordinates that
  * Fix `ContextMenu.Key` documentation to be more clear.

It's not a good idea to create them and hiding. They must be created dynamically as needed.

In short, I think we need to refactor the entire Menu class hierarchy to work well in a world where
* We have the concept of Modal views that don't have to be of type Toplevel

* We have Bounds != Frame

By doing this, I believe the complexity of all of this will be reduced.
I could be wrong. But I think it's worth taking a serious look at.
Are you willing to do so, @BDisp?

It's not very easy but I can try it.

Menu is always aligned on resizing now.

BTW, all the refactoring stuff above doesn't seem very high priority relative to other v2 stuff.
If you want to dive into  something big, I'd suggest these:

#92
#2482
#457

BTW, all the refactoring stuff above doesn't seem very high priority relative to other v2 stuff.

The refactoring for the Menu changes you mentioned, I agree isn't a very high priority, but this PR has changes that will help manipulate views in the future.

If you want to dive into something big, I'd suggest these:
* [Remove dependency on ustring #92](https://github.com/gui-cs/Terminal.Gui/issues/92)

* [Refactor `Redraw` - Non-virtual with the right set of virtual `OnXXX` methods #2482](https://github.com/gui-cs/Terminal.Gui/issues/2482)

* [Colors: Update Color System (TrueColor, Blink, Underline, etc...) for v2 (Master Issue) #457](https://github.com/gui-cs/Terminal.Gui/issues/457)

Thanks for remember me this.
By the way, do you want I close the #2561? I think I prefer the approach of this PR.

Can you help me understand all of this please?

They are really irrelevant. The correct solution of this are in the Menu and ContextMenu.


Update index.html in Bus route Project

Home page Styling

Close #3503

Checklist:

[✅] I have mentioned the issue number in my Pull Request.
[✅] I have commented my code, particularly in hard-to-understand areas
[✅] I have created a helpful and easy to understand README.md

Before

# After

@MohitGupta121  @TusharKesarwani  @pranjay-poddar  Kinldy, review this PR and merge the file.

@MohitGupta121  @TusharKesarwani Kindly, review please


diffusion_conn not recognising present connectivities

I tried to run kBET on integrated dataset with precomputed neighbours, but I got the following error (showing only the relevant rows):
    830
    831     if 'connectivities' not in adata.uns['neighbors']:
--> 832         raise ValueError('`connectivities` not in `adata.uns["neighbors"]`. '
    833                          'Please pass an object with connectivities computed!')
    834

ValueError: `connectivities` not in `adata.uns["neighbors"]`. Please pass an object with connectivities computed!

The connectives should be present in my object:
latent.uns['neighbors']['connectivities'] #As connectivities are used in diffusion_conn, as far as I know
<ipython-input-90-bc0279bb94ff>:1: FutureWarning: This location for 'connectivities' is deprecated. It has been moved to .obsp[connectivities], and will not be accesible here in a future version of anndata.
<73487x73487 sparse matrix of type '<class 'numpy.float32'>'
	with 1585578 stored elements in Compressed Sparse Row format>

latent.uns['neighbors']
OverloadedDict, wrapping:
	{'connectivities_key': 'connectivities', 'distances_key': 'distances', 'params': {'method': 'umap', 'metric': 'euclidean', 'n_neighbors': 15, 'n_pcs': 0}}
With overloaded keys:
	['connectivities', 'distances'].

Version: scIB==0.1.1

I assume you are using scanpy>1.5 which scIB is not compatible with yet. The only difference is that the neighbors object is now stored in adata.obsp['neighbors'] rather than in adata.uns['neighbors']. We haven't gotten round to adapting the code for that yet though. So I would use scIB on scanpy 1.4.6 for the moment.


Add kkumail.com

Add Khon Kaen University, Website - ku.ac.th

@Jirayu4R7 I am sorry, the domain kkumail.com is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Revert "HAWKULAR-1038 : Fix for platform CPU stacked chart"

This reverts commit d00892faecb50c3404ce582d6da37e0881ef9513.

@ammendonca would you mind to review? Thanks!

LGTM!

Merged #861


Blocking request handler

In some situation the order of request/response handling is
important. However, in current implementation the order can be
broken: request/response come from same connection can be handled
in random order because request handler is called in a new thread.
This patch provides an option to call the handler in the same
context, to ensure the ordering.

@hzhou8 Thanks. I have renamed the method after merge: af51b162708f80f57d8c2dde8da22d71687e3d22


'Clone existing secret'

Should let you choose from the list of existing secrets and insert a copy of it. Useful for quickly configuring Codespaces.

No need for this anymore, because now you can just type '@KeeShepherd(my-secret-name)' in a file and then do the 'Resolve Managed Secrets' command.


[bug]Network issues in the China region

In mainland China, for some reason, the government blocks users from accessing GitHub in the normal way from time to time, which can cause some features of the launcher to fail (such as updates)
获取版本发行说明时出错. System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. ---> System.IO.IOException: Received an unexpected EOF or 0 bytes from the transport stream. at System.Net.Security.SslStream.ReceiveBlobAsyncTIOAdapter at System.Net.Security.SslStream.ForceAuthenticationAsyncTIOAdapter at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter1 OffsetStart, Nullable1 OffsetStart, Nullable`1 OffsetEnd, CancellationToken ThreadToken) in C:\myGit\CollapseLauncher\Hi3Helper.Http\Http.cs:line 119 at CollapseLauncher.Pages.UpdatePage.GetReleaseNote() in C:\myGit\CollapseLauncher\CollapseLauncher\XAMLs\MainApp\Pages\UpdatePage.xaml.cs:line 55

Although this is a minor issue, if possible, I would like to be able to use mirror sites when GitHub.com and related domains are detected as inaccessible, for example, to access the icon.ico in CollapseLauncher you can use https://cdn.staticaly.com/gh/neon-nyan/ Collapse/main/CollapseLauncher/icon.ico
Or add a proxy option to the settings page
But in general, the problem can be fixed without any particular urgency because we have adapted to it, or without fixing it if it is difficult (but access is faster after the fix)

I see, thank you for letting me know about this!
I'm going to keeping this in-mind and implement this to be used as a mirror in the future.

@neon-nyan Pinging you since the only sensible way to change this would be to add a fallbackurl for the Updater calls in the project. I'm currently implementing some changes on my branch but unsure how to test them. Let me know what you think, this isn't really a priority but should be an easy fix because there are only 4 calls for Updater in the project. Commit 6f1383ea99c0d6d3bc5dfa963a3614fc0c0cdd57 on my repo adds the bool flag.
Another way to solve this would be to just take a CDN available globally (like Staticaly, Cloudflare, etc.) and change the URLs to that. For now I've just implemented a bool flag to toggle between RepoURL & FallbackRepoURL.

@Cryotechnic I'll be trying your commit and hope I could give you a feedback about it tonight.

I'm very sorry for my very late update on this.
I've just checked the code and I think we can make a PR for this as the first phase of the implementation.

Sounds good, I'll open the PR after re-verifying the code on my end and we can keep iterating on it should the need arise.

This feature has now been implemented and should hopefully be released to the public in the next major version. Thanks for the idea!

Hi, thank you very much for adding the CDN server, but I found out, can you select the CDN server before loading the game list?
Because if you don't you're still going to get an error and keep showing loads

[Schm] [13:04:05.545]  You're running v<IP_ADDRESS> Preview under Windows 11 (build: 22623.0) as misaka10843
[Schm] [13:04:05.856]  Locale file: en.json loaded as English by neon-nyan, CryoTechnic
[Schm] [13:04:05.862]  Locale file: id-ID.json loaded as Bahasa Indonesia by neon-nyan
[Schm] [13:04:05.868]  Locale file: pt-pt.json loaded as Português (Portugal) by gablm
[Schm] [13:04:05.874]  Locale file: zh-cn.json loaded as 简体中文 by misaka10843
s.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|281_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellation(CancellationToken cancellationToken)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageHandlerStage.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageHandlerStage.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.SocketsHttpHandler.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.Send(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
   at Hi3Helper.Http.Http.InitializeSingleSession(Nullable`1 OffsetStart, Nullable`1 OffsetEnd, Boolean IsFileMode, Stream _Stream, Boolean IgnoreOutStreamLength) in C:\myGit\CollapseLauncher\Hi3Helper.Http\Class\Session\SessionManager.cs:line 41
   at Hi3Helper.Http.Http.<>c__DisplayClass56_0.<Download>b__0() in C:\myGit\CollapseLauncher\Hi3Helper.Http\Http.cs:line 131
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
   at Hi3Helper.Http.Http.Download(String URL, Stream Outstream, Nullable`1 OffsetStart, Nullable`1 OffsetEnd, CancellationToken ThreadToken, Boolean IgnoreOutStreamLength) in C:\myGit\CollapseLauncher\Hi3Helper.Http\Http.cs:line 130
   at CollapseLauncher.LauncherUpdateWatcher.StartCheckUpdate() in C:\myGit\CollapseLauncher\CollapseLauncher\Classes\EventsManagement\EventsHandler.cs:line 49

Hi @misaka10843,
A good news for you.
The implementation of the CDN selector has been completed and it will be coming in the next preview release and also in the next stable release thanks to the initial implementation for hit (PR: #71 by @Cryotechnic) and also in this recent commit: https://github.com/neon-nyan/Collapse/commit/719c21e2f810d0acf1a8cad23e2a147f94337a16

Hi @misaka10843,
A good news for you. The implementation of the CDN selector has been completed and it will be coming in the next preview release and also in the next stable release thanks to the initial implementation in this PR: #71 by @Cryotechnic and also in this recent commit: 719c21e

Ok, thank you and Cryotechnic so much!


Added TCP Port setting for SSH.

Also change temp file name from /tmp/randomvalue to /tmp/vscodetemp-randomvalue so they can be cleaned up easily. Perhaps home directory makes sense at some point but at least they can clean their temp dirs easier with this naming.

Updates pushed

Accidently put it onto another branch.


escaping String based IDs

If the id of a row is a string, like UUID, then the query that's generated is not valid. It needs quotations around the id.

I noticed it escapes the column if the uuid is a primary key while it fails if it isn't ( like in many_to_many relation tables)

https://github.com/web-pal/DBGlass/issues/46

Does closing this issue and writing #46 mean that you've resolved this issue? Or that you'd rather people just wait for the new version to be released than keep issues open?

@timwis Unfortunately we have very few resources and we can't support previous version, in the end it was just beta and we have drawn conclusions for new version.


How can I read component internal state

Hi,
I wonder what's the desired pattern to read the internal state of the primitives. It's possible to style components conditionally because of the state is exposed to DOM through data-attributes.
That's cool, but what is the pattern for following scenario:
Preconditions

Build radio cards
Option can have different look for "checked" and "unchecked" state.
eg:

// not a real example but it represents the idea
options = [{ selectedLabel: 'Select me', unselectedLabel: 'I am not selected' }]

I would look for something to be able to do:
const isSelected = // how to get this value?
return <>{isSelected ? option.selectedLabel : option.unselectedLabel}</>

So far I couldn't find a better approach than a hack component:
const RenderProps = forwardRef(({ children, ...props }, ref) => {
  return children({ ...props, ref });
});

// usage
<RadixRadioGroup.Item value={value} asChild>
  <RenderProps>
    {({ 'aria-checked': isSelected }) => (
      <>{isSelected ? option.selectedLabel : option.unselectedLabel}</>
    )}
  </RenderProps>
<RadixRadioGroup.Item/>

However this is obvious hack - surly I am not getting something from the library philosophy.

you can use the parent's data attribute to style the child. as I usually use tailwind I would use the group modifier

You can't "read" the internal state of the components, but you can create your own controlled components and use that state as the source of truth. In the case of radio group items, you'd also need to pass down the current value from root to the items via React context.
For example, see the Segmented Control component in Radix Themes which is built on top of the Toggle Group primitive. Instead of "reading" the primitive state, it bases its state on the value props and passes them down to the primitive.
https://github.com/radix-ui/themes/blob/616a66fb37d8d92e8ee5b02abf798ab405ae247e/packages/radix-ui-themes/src/components/segmented-control.tsx


Localization

I want to change localization and I followed your instructions: installed moment.js and in app.module.ts wrote  the following:
@NgModule({
  ...
  providers: [{ provide: LOCALE_ID, useValue: "ru-RU" }]
})

In my calendar.ts  I wrote the following:
options: CalendarComponentOptions = {
    weekStart: 0,
    weekdays: ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],
    monthPickerFormat: ['ЯНВ', 'ФЕВ', 'МАР', 'АПР', 'МАЙ', 'ИЮН', 'ИЮЛ', 'АВГ', 'СЕН', 'ОКТ', 'НОЯ', 'ДЕК'],
    monthFormat: 'MMM YYYY ',
  };

And in my calendar.html I have the following:
<ion-calendar [(ngModel)]="date"
              (onChange)="onChange($event)"
              [type]="type"
              [format]="'YYYY-MM-DD'"
              [options]="options">
</ion-calendar>

The result is that I get right months names only in the monthPicker. But a month title above the calendar stays in English all the time even after I pick another month.
Please, help me to fix this so that month title would be in right localization.

ru-RU not in the list https://github.com/angular/angular/tree/master/packages/common/locales


Develop wordFrequencyHandler.js

Sub tasks:

Retrieve chosen word from input field in index.html on button click
Pass word to google books ngram api
Create wrapper for returned data
Write wrapper to index.html

Note:
Use the following api endpoint, replacing [SEARCHED_WORD] with word provided by end-user
https://books.google.com/ngrams/json?content=[SEARCHED_WORD]&year_start=1800&year_end=2020&corpus=26&smoothing=3

Due to CORS policy issue, this feature has been abandoned


Syntax examples: Don't use (<|) as an user defined operator since it's builtin

Syntax.elm: Use different example for defining own infix operators
Hitherto <| is used as an user defined operator. But this is a builtin operator that can't be overwritten.
So I propose to use ? as an infix variant of Maybe.withDefault.
Code for the function is taken from @evancz at https://groups.google.com/d/msg/elm-discuss/kgiM9j3Xrbw/EA9KSSqNkBYJ

I wanted to show how it is defined in the core libraries. Do you think it's confusing as is?
I think it'd be better to go with definition of ? based on Maybe.withDefault to make it super explicit.

The example can be read as a custom defined infix operator. So yes, I find it confusing to see a builtin operator defined / redefined.
I agree on your suggestion to use Maybe.withDefault in the new example operator ?. I changed the PR to that.


opae.io: Fix error system exit exception value

The attribute, os.EX_NOTFOUND, is not valid in pyhton. Change to a non-zero constant.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 64.508%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
15809

Relevant Lines:
24507

💛  - Coveralls

Thanks @anandaravuri! Could you clarify the commit message to say that EX_NOTFOUND is not available on Linux? It is valid Python, but not available on all platforms.

[Ananda]
opae.io init -d 0000:38:00.1 root:root
Binding to vfio-pci will fail because IOMMU is disabled.
AttributeError: module 'os' has no attribute 'EX_NOTFOUND'
At:
/usr/lib/python3/dist-packages/opae/io/utils.py(150): vfio_init
(84): execute
(31): call
(481): main
(484):
Replaced os.EX_NOTFOUND to 1 , opae.io exits with error code 1


e2e tests occasionally flake with out of disk space

For whatever reason, we're occasionally running out of disk space in our e2e tests, on a node with 700GB+ free before we start the e2e test. See https://github.com/instructlab/sdg/actions/runs/12261506100/job/34208780366 for an example here.

This is something @courtneypacheco has been looking into

For reference, this is why we run out of space:
https://github.com/instructlab/instructlab/issues/2417#issuecomment-2515050289
tl;dr - it has to do with tmpfs defaults not allowing /tmp to consume more than 50% of the total physical memory we allocate via EBS. The easiest solutions would either be to change the default save data location for the data, or increase the disk space.


Support Batch Statements of Cloud Spanner

Which version and edition of Flyway are you using?
9.7.0 Community Edition
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Gradle plugin and command-line
Which database are you using? (Type & version)
Cloud Spanner

Do you support batch statements of Cloud Spanner[1]?
We would like to use those to create a batch of DDL statements, but flyway shows the following error when using START BATCH DDL and RUN BATCH statements:
SQL State  : null
Error Code : 3
Message    : INVALID_ARGUMENT: Invalid column type to get as string: ARRAY
Location   : (location to my file)
Line       : xxx
Statement  :RUN BATCH

        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.handleException(DefaultSqlScriptExecutor.java:275)
        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:222)
        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.execute(DefaultSqlScriptExecutor.java:126)
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.executeOnce(SqlMigrationExecutor.java:68)
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.lambda$execute$0(SqlMigrationExecutor.java:57)
        at org.flywaydb.core.internal.database.DefaultExecutionStrategy.execute(DefaultExecutionStrategy.java:27)
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.execute(SqlMigrationExecutor.java:56)
        at org.flywaydb.core.internal.command.DbMigrate.doMigrateGroup(DbMigrate.java:376)
        ... 131 more
Caused by: com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory$JdbcSqlExceptionImpl: INVALID_ARGUMENT: Invalid column type to get as string: ARRAY
        at com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory.of(JdbcSqlExceptionFactory.java:247)
        at com.google.cloud.spanner.jdbc.JdbcResultSet.createInvalidToGetAs(JdbcResultSet.java:122)
        at com.google.cloud.spanner.jdbc.JdbcResultSet.getString(JdbcResultSet.java:163)
        at org.flywaydb.core.internal.jdbc.JdbcTemplate.extractResults(JdbcTemplate.java:263)
        at org.flywaydb.core.internal.jdbc.JdbcTemplate.executeStatement(JdbcTemplate.java:202)
        at org.flywaydb.core.internal.sqlscript.ParsedSqlStatement.execute(ParsedSqlStatement.java:95)
        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:210)
        ... 137 more

The SQL statement that causes the error above looks like below:
START BATCH DDL;

(Some CREATE TABLE and CREATE INDEX statements here)

RUN BATCH;

Any comments are appreciated.
[1] https://cloud.google.com/spanner/docs/jdbc-session-mgmt-commands#start_batch_ddl

I've tried executing a batch statement like the one you mentioned but I wasn't able to reproduce the error, it just executed fine. Based on the error message: INVALID_ARGUMENT, it might be a problem with one of the statements within the batch. You might need to provide us with the full SQL script to allow us to reproduce the error.

I have tested the new version, 9.8.1 which fixes this issue, but unfortunately it did not work properly.
With 9.8.1, flywayMigration command ends successfully, but the tables declared between START BATCH DDL and RUN BATCH are not created on Cloud Spanner database.
flywayInfo command says its state is Success, though the table are not created.
+-----------+------------+-------------+------+---------------------+---------+----------+
| Category  | Version    | Description | Type | Installed On        | State   | Undoable |
+-----------+------------+-------------+------+---------------------+---------+----------+
| Versioned | 00.000.001 | CreateTable | SQL  | 2022-11-16 14:16:41 | Success | No       |
+-----------+------------+-------------+------+---------------------+---------+----------+

I have same issue (above comment) with version 9.21.1.

I have same issue (https://github.com/flyway/flyway/issues/3563#issuecomment-1316381617) with version 10.11.1(Flyway Community Edition).


Store tokens in the database

Moved from https://github.com/osiam/auth-server/issues/61:
@tkrille:
Currently, access tokens are stored in an in-memory token store provided by Spring Security OAuth. This has some fundamental flaws, for example:

Restarting OSIAM revokes all access tokens
OSIAM cannot be scaled on the x-axis of the scale cube
We leak state between the individual integration tests which leads to the unpleasant fact that they are not isolated against each other

Especially the last point has given me a hard time yesterday, when I tried to update the ITs for the removal of the old, method-based scopes.
So, I propose that we put the tokens into the database.
@dacrome:
+1. With Spring OAuth it's easy to switch the store for managing tokens.

We should rather use cryptographic tokens (JWT).

Hi,
and speaking of JWT, do you have plans to support openid connect [which also builds on oauth2]?

Hello @abdelgadir,
we most definitely plan to build openid connect support, we do have it in the back log. However it is not going to be in the upcoming 3.0 release and we can't really promise a time frame.

@wallner
Great !
and thank you for this amazing software

We will use JWT instead of persisting tokens in the database.


db-synthesizer does not use ExperimentalHardForksEnabled option

Summary
In #4341 TestEnableDevelopmentHardForkEras has been renamed to ExperimentalHardForksEnabled for cardano-node, but the configuration parser for db-synthesizer hasn't seen this change. As a result, calling db-synthesizer with a configuration file where the option is renamed results in behavior that is different from calling cardano-node with the same config. This unintuitive difference can lead to problems (see e.g. #1071) and time-consuming investigations.
Completion criteria
db-synthesizer displays the expected behavior when  ExperimentalHardForksEnabled is enabled.
The ideal path to this solution is to separate out the parts of cardano-node and ouroboros-consensus that read node configuration in favor of a shared component. This will prevent any future divergence.
If investigation shows that such a separation would require an unreasonable restrucuring of the current code, it will suffice to update the parsers in ouroboros-consensus to match cardano-node.

FTR: With #1173 merged, db-synthesizer will "understand" Conway by default.


Typings not seen from subfolder when having own tsconfig.json

TypeScript Version:  2.0.0 beta
Folders
root
    app.ts
    tsconfig.json
    tests
       tsconfig.json
       test.ts

use TS 2.0. Instruct VS Code to us TS 2.0 with "typescript.tsdk": "./node_modules/typescript/lib"
In root install node typings using npm install @types/node
following content for tsconfig.json in tests

{
    "compilerOptions": {
        "module": "commonjs",
        "inlineSourceMap": true,
        "inlineSources": true,
    }
}

in tests.ts add

import * as fs from 'fs'

Observer: the import is an error. The compile can't find the node typings
Why is this the case. Should the compiler look for a node_modules folder up the tree for typings. Add
a property types with [ "node" ] fixes the issue.

If the subdirectory contains a project which is built or loaded with a different set of options this is actually helpful behavior.

Looks like same problem as here: https://github.com/Microsoft/TypeScript/issues/9208#issuecomment-226682568

This should be working as intended with latest.


django: Adds pypyPackages.django_1_7

Adds the latest stable release of Django (1.7.5) to pypyPackages as django_1_7.
Does not change the pypyPackages.django from django_1_6 to django_1_7 as I don't know whether that would break something (this is my first PR to nixpkgs).
Tested by running in nixpkgs root dir:
$ nix-build -A pypyPackages.django_1_7
/nix/store/rx1w6kzh4b1p1m4dkdcal01sxklcvpvf-pypy2.5-Django-1.7.5

That's wierd, no error in the log but the build was terminated anyway.
The log length has exceeded the limit of 4 Megabytes (this usually means that test suite is raising the same exception over and over).

The build has been terminated.

1.7.6 was just released

@iElectric Oh, I totally missed that. I can make a new PR with 1.7.6 instead!


Where is Discriminator weights

=> checkpoint './ckpt/save_path/Distriminator/model_best.pth.tar' does not exit

The discriminator weight in random init and trained with the student together.


When completing constructor suggestion, insert parameter list with trailing comma

When selecting a constructor from the suggested completions, if the constructor has required named parameters, they are inserted inline.
This makes formatting annoying and makes the completion somewhat useless, since filling parameters by pressing the tab key is canceled when moving the cursor at the end to insert the trailing comma to obtain proper formatting.
I would like an options to change the completion from:
ElevatedButton(onTap: null, child: null)

To
ElevatedButton(
  onTap: null,
  child: null,
)

As it stands right now, my workaround is to ensure to select the class completion, not the constructor completion, and then manually insert the parenthesis and parameters.

Originally filed in Dart-Code/Dart-Code#3747.

test


Possible confusion with the Disks view, in 'Chronology of Systematic Testing' figure

The first time I have seen the pyramid disk view, it took me some time to figure out that the disk pyramid was not a risk pyramid but that the height is the time!
Changing the value per default to "Linear" could help figuring out the dimensions more quickly!

Done. The size of the disk is actually the covering range, which became bigger & bigger. If this is not trivial then yeah, should be better to swap them.