Possible bug in lifetime checker of rustc 1.62

I found that rustc rejects when I added this commit that changes nothing related to the error.
The code where error resides worked just fine without this commit or on 1.61 or earlier.
@jonhoo Could this be a bug in the rustc?
P.S. It failed on my MacOS M1 but succeeded in the CI... Really strange.
I also experienced clippy reports the lifetime error but cargo does not even without this commit.
I really have no idea what is going on.

From what I can tell, the error is in the lint that checks for valid links in documentation, not a rustc error per se. My guess is that you're running into the backwards-incompatibility from https://github.com/rust-lang/rust/issues/97030 where Rust 1.62.0+ will actually interpret the documentation of private macros whereas earlier versions would not (and thus would not error on bad links there either).

@jonhoo I actually encountered such lifetime error in src/fs/mod.rs, but I cannot reproduce it for now.
I will close this since it cannot be reproduced, but if I encounter it again in the future, I will capture the entire output from cargo and as much information as possible.

@jonhoo I finally was able to reproduce it in bug:
❯ ../check.sh
+++ realpath ../check.sh
++ dirname /Users/nobodyxu/Dev/openssh-sftp-client/check.sh
+ cd /Users/nobodyxu/Dev/openssh-sftp-client
+ for workspace in openssh-sftp-error openssh-sftp-client-lowlevel
+ cd openssh-sftp-error
+ run_check
+ cargo fmt --all -- --check
+ cargo clippy --all --no-deps
   Compiling sftp-test-common v0.1.0 (/Users/nobodyxu/Dev/openssh-sftp-client/sftp-test-common)
    Checking openssh-sftp-error v0.1.0 (/Users/nobodyxu/Dev/openssh-sftp-client/openssh-sftp-error)
    Checking openssh-sftp-client-lowlevel v0.1.0 (/Users/nobodyxu/Dev/openssh-sftp-client/openssh-sftp-cl
ient-lowlevel)
    Checking openssh-sftp-client v0.10.3 (/Users/nobodyxu/Dev/openssh-sftp-client)
error: lifetime may not live long enough
  --> src/fs/mod.rs:73:78
   |
73 |       async fn open_dir_impl(&mut self, path: &Path) -> Result<Dir<'_>, Error> {
   |  ____________________________-________________-________________________________^
   | |                            |                |
   | |                            |                let's call the lifetime of this reference `'1`
   | |                            let's call the lifetime of this reference `'2`
74 | |         let path = self.concat_path_if_needed(path);
75 | |
76 | |         self.write_end
...  |
79 | |             .map(|handle| Dir(OwnedHandle::new(self.write_end.clone(), handle)))
80 | |     }
   | |_____^ associated function was supposed to return data with lifetime `'1` but it is returning data
with lifetime `'2`

error: lifetime may not live long enough
  --> src/fs/mod.rs:73:78
   |
73 |       async fn open_dir_impl(&mut self, path: &Path) -> Result<Dir<'_>, Error> {
   |  ____________________________-________________-________________________________^
   | |                            |                |
   | |                            |                let's call the lifetime of this reference `'1`
   | |                            let's call the lifetime of this reference `'2`
74 | |         let path = self.concat_path_if_needed(path);
75 | |
76 | |         self.write_end
...  |
79 | |             .map(|handle| Dir(OwnedHandle::new(self.write_end.clone(), handle)))
80 | |     }
   | |_____^ associated function was supposed to return data with lifetime `'2` but it is returning data
with lifetime `'1`

error: lifetime may not live long enough
  --> src/fs/mod.rs:76:9
   |
72 |   impl<'s> Fs<'s> {
   |        -- lifetime `'s` defined here
73 |       async fn open_dir_impl(&mut self, path: &Path) -> Result<Dir<'_>, Error> {
   |                                               - let's call the lifetime of this reference `'1`
...
76 | /         self.write_end
77 | |             .send_request(|write_end, id| Ok(write_end.send_opendir_request(id, path)?.wait()))
78 | |             .await
79 | |             .map(|handle| Dir(OwnedHandle::new(self.write_end.clone(), handle)))
   | |________________________________________________________________________________^ associated functi
on was supposed to return data with lifetime `'1` but it is returning data with lifetime `'s`

error: could not compile `openssh-sftp-client` due to 3 previous errors

./run_tests.sh did not give any error.

rustc -vV:
rustc 1.62.0 (a8314ef7d 2022-06-27)
binary: rustc
commit-hash: a8314ef7d0ec7b75c336af2c9857bfaf43002bfc
commit-date: 2022-06-27
host: aarch64-apple-darwin
release: 1.62.0
LLVM version: 14.0.5

uname -a:
Darwin Jiahaos-Air.nifi 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:29 PDT 2022; root:xnu-8020.1
21.3~4/RELEASE_ARM64_T8101 arm64

@jonhoo I was also able to reproduce that on this commit:
   Compiling openssh-sftp-client v0.10.3 (/Users/nobodyxu/Dev/openssh-sftp-client)
error: lifetime may not live long enough
  --> src/fs/mod.rs:75:86
   |
75 |           async fn inner<'s>(this: &mut Fs<'s>, path: &Path) -> Result<Dir<'s>, Error> {
   |  ________________________--___________________________-________________________________^
   | |                        |                            |
   | |                        |                            let's call the lifetime of this reference `'1`
   | |                        lifetime `'s` defined here
76 | |             let path = this.concat_path_if_needed(path);
77 | |
78 | |             this.write_end
...  |
81 | |                 .map(|handle| Dir(OwnedHandle::new(this.write_end.clone(), handle)))
82 | |         }
   | |_________^ function was supposed to return data with lifetime `'s` but it is returning data with lif
etime `'1`

error: lifetime may not live long enough
  --> src/fs/mod.rs:78:13
   |
75 |           async fn inner<'s>(this: &mut Fs<'s>, path: &Path) -> Result<Dir<'s>, Error> {
   |                          --                           - let's call the lifetime of this reference `'1
`
   |                          |
   |                          lifetime `'s` defined here
...
78 | /             this.write_end
79 | |                 .send_request(|write_end, id| Ok(write_end.send_opendir_request(id, path)?.wait()))
80 | |                 .await
81 | |                 .map(|handle| Dir(OwnedHandle::new(this.write_end.clone(), handle)))
   | |____________________________________________________________________________________^ function was s
upposed to return data with lifetime `'1` but it is returning data with lifetime `'s`

error: could not compile `openssh-sftp-client` due to 2 previous errors
warning: build failed, waiting for other jobs to finish...

Hmmm, once I removed target, it seems to be working just fine again.

I encountered it again in commit.
Once I modify src/file/mod.rs, it gives me error in fs/mod.rs again:
error: lifetime may not live long enough
  --> src/fs/mod.rs:75:86
   |
75 |           async fn inner<'s>(this: &mut Fs<'s>, path: &Path) -> Result<Dir<'s>, Error> {
   |  ________________________--________-___________________________________________________^
   | |                        |         |
   | |                        |         let's call the lifetime of this reference `'1`
   | |                        lifetime `'s` defined here
76 | |             let path = this.concat_path_if_needed(path);
77 | |
78 | |             this.write_end
...  |
81 | |                 .map(|handle| Dir(OwnedHandle::new(this.write_end.clone(), handle)))
82 | |         }
   | |_________^ function was supposed to return data with lifetime `'s` but it is returning data with lif
etime `'1`

error: could not compile `openssh-sftp-client` due to previous error
warning: build failed, waiting for other jobs to finish...

@jonhoo And once again, if I remove target/, everything works just fine.

This appears that 1.62 has problem with caching build artifacts in target.
Every time I just need to remove target/ to fix it.

This might just be bugs in MacOS.
I restarted my MacBook yesterday and it hasn't yet happened today.

Closing this since rebooting seemed to fix the issue.


Automated cherry pick of #2412: hotfix: snapshot create optimized

Cherry pick of #2412 on release/2.12.
#2412: hotfix: snapshot create optimized

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@ff61526). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.12   #2433   +/-   ##
==============================================
  Coverage                ?   7.07%
==============================================
  Files                   ?     456
  Lines                   ?   71684
  Branches                ?       0
==============================================
  Hits                    ?    5071
  Misses                  ?   66194
  Partials                ?     419

Flag
Coverage Δ

#aFlag
7.07% <ø> (?)

Continue to review full report at Codecov.

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

/lgtm

/approve


Add a README for the QCheck-STM plugin and amend the main README accordingly

This:

adds a README for the new QCheck-STM plugin
amends the root README with the new plugin and to point to the new README
fixes a couple of typos in the main README I noticed while amending it.

I wonder about the fact that I’ve naturally written “QCheck-STM” but the documentation of the qcheck-stm package seems to more or less consistently use all lowercase. Browsing the documentation of the qcheck-core package didn’t help me arbitrate: I saw occurrences only of the (lowercase) package name and (capitalised) module name but not the middle ground of plain-English talking about the library. Any opinion, @jmid?

Side note: we kept for later the description of the generated module as we intend to improve the plugin shortly. The description will be more interesting when this is done.


[doc] Fix broken links to the info about schemas and Schema Registry

In the latest version of the documentation, I found a broken link to the concepts about Schema Registry. It seems that this markdown file (concepts-schema-registry.md) was removed.


Status refuses to show, even with websocket and token connection

Apologies for another issue. Despite the many updates since, I am unable to have my Discord actually show the listening status. Attached below. I have tried so far:

Reconnecting to RPC/Websocket
Disconnecting and reconnecting with my discord token (multiple times on multiple updates)
Uninstalling and reinstalling simply
Uninstalling, wiping the configs and all from appdata/Roaming, and reinstalling

I absolutely want to use this service! I just wish I could figure out why it refuses to work for me. I hope that this can be solved efficiently, even if there is a cost of making me look like a fool should the solution be simple.

It stopped working for me too

Hi, sorry for the inconvenience but for me it's working nice, I don't know where the problem can be from :/
Try this, hopefully this will help: https://github.com/JustYuuto/deezer-discord-rpc/wiki/Troubleshooting#nothing-appears-on-my-profile

I have tried all of the listed solutions, in addition to what I have already done. I do not get a prompt that tells me my token is invalid, and I refuse to use a token checker unless one is proven to not be part of a network. For the record, it also fails to show when using "Playing" and not "Listening to", despite other rich presence applications working fine, so it may not be a token issue in general, and may be something specifically to do with my computer and application.

Ca ne marche pas pour moi aussi, j'ai essayé les solutions proposées mais rien.

Ah non c'est bon, je pense que ça prend juste un peu de temps à se mettre à jour au niveau de discord

It looks like (correct me if I'm wrong) the RPC client is only being built when the window is ready, and if discord isn't available when its built, all attempts to send updates to discord will fail, and using the reconnect RPC tray button doesn't work either.
If you start discord first, and then deezer-discord-npc afterward, it works OK.

It looks like (correct me if I'm wrong) the RPC client is only being built when the window is ready, and if discord isn't available when its built, all attempts to send updates to discord will fail, and using the reconnect RPC tray button doesn't work either.
If you start discord first, and then deezer-discord-npc afterward, it works OK.

Yes, that's what it sounds like, but personally I launch discord and deezer rpc automatically when I start my computer and I've never had the problem again.

It looks like (correct me if I'm wrong) the RPC client is only being built when the window is ready, and if discord isn't available when its built, all attempts to send updates to discord will fail, and using the reconnect RPC tray button doesn't work either.

If you start discord first, and then deezer-discord-npc afterward, it works OK.

I've always started discord before deezer, and deezer rpc doesn't auto-launch. I've also tried it a multitude of times when closing and reopening Deezer Discord RPC. RPC programs other than this work fine (WACUP's Discord integration, games like Ultrakill, etc.). This issue continues to persist, even despite an OS SSD wipe (happened a few months ago unfortunately), so I can only presume this is some sort of conflict or something failing in the background of the program.

It looks like (correct me if I'm wrong) the RPC client is only being built when the window is ready, and if discord isn't available when its built, all attempts to send updates to discord will fail, and using the reconnect RPC tray button doesn't work either.

If you start discord first, and then deezer-discord-npc afterward, it works OK.

I've always started discord before deezer, and deezer rpc doesn't auto-launch. I've also tried it a multitude of times when closing and reopening Deezer Discord RPC. RPC programs other than this work fine (WACUP's Discord integration, games like Ultrakill, etc.). This issue continues to persist, even despite an OS SSD wipe (happened a few months ago unfortunately), so I can only presume this is some sort of conflict or something failing in the background of the program.

Yes, in fact here are the things I noticed:
For me discord and deezer-rpc launch at the same time, and here's what can happen:

The music is displayed directly when I press the play button.
Or
The 1st music is not displayed, but when I switch to the 1st it works, and everything works.

If it doesn't work or there's a bug :

1st solution: Pause for a long time (1 minute) and click on play again, which will display the music again (you need to "only show music rpc when playing").
2nd solution: Close the application completely, either using the task manager or the arrow at the bottom right of the screen. Wait a little, about 30 seconds, then relaunch and you're done.
Note: For both methods, there's no need to relaunch discord.

If it doesn't work or there's a bug :

1st solution: Pause for a long time (1 minute) and click on play again, which will display the music again (you need to "only show music rpc when playing").
2nd solution: Close the application completely, either using the task manager or the arrow at the bottom right of the screen. Wait a little, about 30 seconds, then relaunch and you're done.
Note: For both methods, there's no need to relaunch discord.

Neither of these have worked for me, and I have attempted them a significant amount of times. However, I have only recently downloaded 1.2.5, so I will do many of the steps again in order to see whether it is working or not with the new updates.

Neither of these have worked for me, and I have attempted them a significant amount of times. However, I have only recently downloaded 1.2.5, so I will do many of the steps again in order to see whether it is working or not with the new updates.

EDIT: After quick testing, it appears my issue still persists. However, one thing I have now noticed is that my Deezer-Discord-RPC always mentions that my computer is offline, despite being able to browse and play music perfectly fine. My standard Deezer installation does not do this. Perhaps this is related to why mine doesn't work?

@QueenOfRodents do you have a firewall that blocks Deezer discord rpc from accessing discord? Or something like that?

I allowed both Deezer and the Deezer Discord RPC programs through firewall with a rule in order to see whether it was Windows Firewall. However, nothing has changed since, unfortunately. I still receive the strange "computer is offline" message.

I attempted another fresh reinstall to no avail since it had been some time since I had last attempted. Uninstalled, removed all files from app data, reinstalled, etc.
What makes it strange as well is that I've continued to test more Discord RPC integrated plugins and programs. WACUP's plugin continues to work, YT-Music works fine as well, PreMiD, and so on. The program clearly works for most other users, so it has to be something incredibly specific on my end to be causing it on my machine, and to be causing it with this program only.
Is there perhaps any debug/logging ability in order to see where the RPC is blocked/if it even starts up? I have checked my anti-malware and anti-virus software in case anything was falsely flagged. Despite not seeing anything pop up even on the reinstall, it may be an element of something on my computer/network not allowing me to use it at all.
I apologize for my extremely strange case being so troublesome, even throughout updates. I have no idea what it could possibly be at this point. Thank you in advance, even if this strange issue does not end up resolved.

I attempted another fresh reinstall to no avail since it had been some time since I had last attempted. Uninstalled, removed all files from app data, reinstalled, etc.
What makes it strange as well is that I've continued to test more Discord RPC integrated plugins and programs. WACUP's plugin continues to work, YT-Music works fine as well, PreMiD, and so on. The program clearly works for most other users, so it has to be something incredibly specific on my end to be causing it on my machine, and to be causing it with this program only.
Is there perhaps any debug/logging ability in order to see where the RPC is blocked/if it even starts up? I have checked my anti-malware and anti-virus software in case anything was falsely flagged. Despite not seeing anything pop up even on the reinstall, it may be an element of something on my computer/network not allowing me to use it at all.
I apologize for my extremely strange case being so troublesome, even throughout updates. I have no idea what it could possibly be at this point. Thank you in advance, even if this strange issue does not end up resolved.

What anti-virus do you use?
PS: For the offline computer error it's insignificant because I have it too but the rpc works.

What anti-virus do you use?

Malwarebytes, if it's of concern.

Hi, does someone still have the problem?

As of 1.2.8, I unfortunately still have this issue. Despite everything, I still have no status, listening mode or not. I apologize greatly for being troublesome for as long as it is, and I'm genuinely unsure of what the issue could be at this point. If there is anything I can do to figure out why this has been occurring as long as it has, I would love to work with you to get to the point we can finally resolve it.

As of 1.2.8, I unfortunately still have this issue. Despite everything, I still have no status, listening mode or not. I apologize greatly for being troublesome for as long as it is, and I'm genuinely unsure of what the issue could be at this point. If there is anything I can do to figure out why this has been occurring as long as it has, I would love to work with you to get to the point we can finally resolve it.

No idea if you use a VPN, but I had a similar issue and it was resolved by putting Discord and both Deezer apps though Split Tunnelling (NordVPN) then restarting the apps and reconnecting to the VPN.

No idea if you use a VPN, but I had a similar issue and it was resolved by putting Discord and both Deezer apps though Split Tunnelling (NordVPN) then restarting the apps and reconnecting to the VPN.

This did not fix the issue, but I appreciate the attempt regardless! If you're wondering why it did take me so long to test it, I simply had lost track of time, haha.


Webhook Notification not working

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

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

🛡 Security Policy

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

Description
The webhook isn't working properly. It's working when I click test.
👟 Reproduction steps
Just Create a new webhook notification.
👀 Expected behavior
It should send a request to the webhook.
😓 Actual Behavior
It's not sending requests to Webhook when my services are down or up.
🐻 Uptime-Kuma Version
1.23.1
💻 Operating System and Arch
Ubuntu (Docker)
🌐 Browser
Chrome
🐋 Docker Version
No response
🟩 NodeJS Version
No response
📝 Relevant log output
No response

I cannot reproduce this issue.
Testing:

DOWN:

Here's the Docker Version:
root@ubuntu-s-1vcpu-2gb-70gb-intel-blr1-01:~# docker --version
Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1

Node Version:
root@ubuntu-s-1vcpu-2gb-70gb-intel-blr1-01:~# docker exec -it a9642b6c359b /bin/bash
root@a9642b6c359b:/app# node -v
v16.20.2

Docker log:
root@ubuntu-s-1vcpu-2gb-70gb-intel-blr1-01:~# docker logs -f --tail 10 a9642
2023-09-16T20:55:50+06:00 [MONITOR] WARN: Monitor #3 'Portainer': Failing: Request failed with status code 530 | Interval: 20 seconds | Type: http | Down Count: 0 | Resend Interval: 0
2023-09-16T20:55:50+06:00 [MONITOR] WARN: Monitor #4 'Yacht': Failing: Request failed with status code 530 | Interval: 20 seconds | Type: http | Down Count: 0 | Resend Interval: 0
2023-09-16T20:55:50+06:00 [MONITOR] WARN: Monitor #6 'Netdata (Main)': Failing: Request failed with status code 530 | Interval: 20 seconds | Type: http | Down Count: 0 | Resend Interval: 0
2023-09-16T20:55:56+06:00 [MONITOR] WARN: Monitor #7 'Netdata (Backup)': Failing: Request failed with status code 530 | Interval: 60 seconds | Type: http | Down Count: 0 | Resend Interval: 0
2023-09-16T20:56:08+06:00 [MONITOR] WARN: Monitor #1 'Gitea': Failing: Request failed with status code 530 | Interval: 20 seconds | Type: http | Down Count: 0 | Resend Interval: 0
2023-09-16T20:56:08+06:00 [MONITOR] WARN: Monitor #2 'phpMyAdmin': Failing: Request failed with status code 530 | Interval: 20 seconds | Type: http | Down Count: 0 | Resend Interval: 0
2023-09-16T20:56:10+06:00 [MONITOR] WARN: Monitor #5 'CasaOS': Failing: Request failed with status code 530 | Interval: 20 seconds | Type: http | Down Count: 0 | Resend Interval: 0
2023-09-16T20:56:10+06:00 [MONITOR] WARN: Monitor #3 'Portainer': Failing: Request failed with status code 530 | Interval: 20 seconds | Type: http | Down Count: 0 | Resend Interval: 0
2023-09-16T20:56:10+06:00 [MONITOR] WARN: Monitor #4 'Yacht': Failing: Request failed with status code 530 | Interval: 20 seconds | Type: http | Down Count: 0 | Resend Interval: 0
2023-09-16T20:56:11+06:00 [MONITOR] WARN: Monitor #6 'Netdata (Main)': Failing: Request failed with status code 530 | Interval: 20 seconds | Type: http | Down Count: 0 | Resend Interval: 0

Wait, it's sending requests to "webhook.site". But It's not sending request to my own endpoint. But in testing it working. Than what the problem.

I figured out the problem It was a bug in the API which I was using. Thanks for staying with me!!

Currently, I could not replicate this issue. Can you provide us a Minimal, Reproducible Example? What is in the log, and what is your docker/node version?
Testing:
DOWN:

what app is that your using to see the raw webhook ID?

The screenshots I showed are from https://webhook.site

The screenshots I showed are from https://webhook.site

Thank you!! By any chance, do you know of a great self hosted webhook repo that is visual as well?

what do you mean by "webhook repo"?

what do you mean by "webhook repo"?

I am looking for a self hosted web hook service that I can use where it would extract the raw data from the service such  as Kuma and then I can use variables to extract the data and use it for a something. I tried webhookd but it does not show the sent data. So far node red is is good where I can use a http in and use /webhook and the debug node shows the data

Why not webhook.site? If you just want to intercept traffic, that is what I would use.
Have a look at https://github.com/webhooksite/webhook.site
Yes, some of the features are paid, but the pricing is quite fair. Something has to pay the servers/... at the end of the day.
If you want to send traffic, try postman or its derivatives instead.


tRPC v11 support

Guessing this should be merged into a next branch, but this brings support for trpc @next (v11).
Details of this PR are in https://github.com/kdy1/trpc-openapi/pull/2. This was built on top of the work done by @kdy1, as referenced in #434

awesome! how to make it works with next 14?
I've made this handler:
import {createContext} from '@/utils/trpc/server';
import {createOpenApiNextHandler} from 'trpc-openapi';
import {appRouter} from "@/app/api/v1/trpc-router";

const handler = (request: Request, res: Response) => {
    return createOpenApiNextHandler({
        router: appRouter,
        createContext: createContext as any,
    })(request as any, res as any);
};

export {
    handler as DELETE,
    handler as GET,
    handler as OPTIONS,
    handler as PATCH,
    handler as POST,
    handler as PUT
};

but when i call an endpoint i have this:
 TypeError: Cannot read properties of undefined (reading 'trpc')
    at eval (webpack-internal:///(rsc)/./node_modules/trpc-openapi/dist/adapters/next.js:12:30)
    at handler (webpack-internal:///(rsc)/./app/api/v1/rest/[trpc]/route.ts:20:7)


Refactor Icon component and add new icons

Pull Request Recap:
Changes Made:

Refactored the gds-icon component to import individual icons for improved modularity.
Implemented a command to generate all icons from the SVG versions for both types (regular and solid).

Features Added:

Icons can now be resized using the width and height properties.
Color inheritance from currentColor on the path and stroke for consistent coloring across icons.
All icons are copied for importing as SVG files.
Direct fetching of icons is enabled from the Figma API or by copying them into the assets directory.

Updates Made:

Ensured all components using gds-icon were updated to reflect the changes.
Implemented tests to validate the functionality.

These changes enhance the reusability and maintainability of the gds-icon component by allowing individual icon imports, custom sizing, color consistency, and streamlined icon generation and usage. The addition of tests ensures the reliability of the updated component.

@splashdust & @vsjolander the Icon is now ready please check it out and let me know if you have feedback otherwise we could merge this any time now ✌


specの追加

Changes Unknown when pulling c2f57f0d55f0c01781a8e526e1caf76486081589 on add-spec into ** on master**.

Changes Unknown when pulling 47dcaa317a2dec9d93a20413bdc102bdb463038a on add-spec into ** on master**.

Changes Unknown when pulling b7ae757032f0715dcfe58ed9d96bc2715bd2db6a on add-spec into ** on master**.

Changes Unknown when pulling 30ed34f0c9b28811e04ca1a71fd669a3603c37c1 on add-spec into ** on master**.


Search feature for images and labels in the project section.

Is your feature request related to a problem? Please describe.
As while training the data-set at times there can be many images and if we want to find a particular image it becomes time consuming.
Describe the solution you'd like
There should be a search option for image search in every project
Additional context
would love to work on it!

@Tushar19varshney shall I go ahead and work on it?

@Tushar19varshney suggestion earlier I was thinking of implementing a single search bar to implement search for both images and labels but then I thought a user would search only when they are on the respective tabs so now I am thinking of adding dynamic search bars for respective tabs only. Am I going in the right direction?

@Tushar19varshney any suggestions?

@Tushar19varshney any suggestions on how to proceed with the search for labels and images. separate or the same search bar?

Is this issue available ? I would like to work on it.


ref(app): centralise all application configuration handling in App model to be used by run, deploy and scale

Reduces duplication and discrepancy between each app mode, as has been seen in the past and can even be seen up till this change
As a side effect that will give run pods healthchecking - that can be undone if e2e is having any issues

Current coverage is 86.97% (diff: 97.91%)

Merging #1061 into master will decrease coverage by 0.06%

@@             master      #1061   diff @@
==========================================
  Files            42         42
  Lines          3619       3592    -27
  Methods           0          0
  Messages          0          0
  Branches        612        607     -5
==========================================
- Hits           3150       3124    -26
  Misses          309        309
+ Partials        160        159     -1

Powered by Codecov. Last update 8d287b9...93f3791


reminder: update copyright year to 2023

I just updated from 2021 to 2022 but soon we should update it again.

Fixed by #9


Drag and Drop Example does not allow me be create my own node in the sidebar itself.

While exploring https://reactflow.dev/examples/drag-and-drop/
event of type DragEvent<HTMLDivElement> allows to set data with strings only with event.dataTransfer.setData('application/reactflow', nodeType);
nodeType must a string.
I want to add the node data in onDragStart fn itself. The library should be able to transfer the node in the flowInstance.

This is not an issue with React Flow. The examples are just very simple. I am not sure what you want to do here. You can stringify your data or better get the data from somewhere else in the moment you add it to the React Flow pane.

@piyushchauhan where you able to add custom node data to onDragStart? If so can you share how you did it.


Automatic Crowd Pummeler weapon haste active is applied twice

Describe the bug
On the paladin simulator, it appears that ACP active is applied automatically by default and cannot be fully disabled. Explicitly activating ACP in the APL rotation appears to apply the weapon haste effect twice (2 x 50% haste).
To Reproduce
Steps to reproduce the behavior:

Equip ACP
Add "Cast Automatic Crowd Pummeler" to top of APL. Ensure no other actives that modify weapon speed are used.
Set simulation time to 30 seconds (duration of ACP active)
Simulate with ACP active on and compare the results table with simulations in which the ACP active is explicitly off/removed from APL.
Under the Casts tab of the results, attacks are about 44 CPM with ACP disabled (~1.36 weapon speed) and 61 CPM (~1 weapon speed) with ACP enabled.

Expected behavior
Weapon speed should be approximately 1.33 only when ACP is enabled. We shouldn't see ~1.0 speed.
Sim Links and Screenshots
Link to MWE settings.
Desktop (please complete the following information):

OS: OSX
Browser Firefox
Version 124.0

This might be due to wild strikes. Closing for now.


cloudlogoffline: init at 1.1.4

Description of changes

Adds cloudlogoffline, a companion app to Cloudlog (pkgs.cloudlog)
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

Please add a desktop item so stuff like rofi, fuzzel, etc.. pick this up since it's a desktop application.

Turns out I accidentally nuked that when I did the last change from another computer and forgot to pull the branch. I redid it better than before though!
Is there a way to test desktop entries in packages without adding them to systemPackages?

Is there a way to test desktop entries in packages without adding them to systemPackages?

nope sadly not aware of anything.
This should be good to go once you rebase and drop your maintainer commit since it just landed in master because I merged your other pr.

@ofborg build cloudlogoffline

Result of nixpkgs-review pr 270713 run on x86_64-linux 1

1 package built:

cloudlogoffline


Problem with my honor pad 9

I have an Honor Pad 9 and I can't stream it to my PC. I activated USB debugging and enabled photo/video file transfer. I installed the latest version of scrpcy and my tablet version and android 14 or magicOS 8.
Can anyone help me solve this problem?

What is the full output in the scrcpy console?

Sorry i resolved the problem
Il sab 13 lug 2024, 19:52 Romain Vimont @.***> ha
scritto:

What is the full output in the scrcpy console?
—
Reply to this email directly, view it on GitHub
https://github.com/Genymobile/scrcpy/issues/5088#issuecomment-2227012142,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCVSPYISARFXHQ7PCYZ66RTZMFSMVAVCNFSM6AAAAABK2L6HWOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRXGAYTEMJUGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

thanks
Il sab 13 lug 2024, 19:53 matteo gasperini @.***>
ha scritto:

Sorry i resolved the problem
Il sab 13 lug 2024, 19:52 Romain Vimont @.***> ha
scritto:

What is the full output in the scrcpy console?
—
Reply to this email directly, view it on GitHub
https://github.com/Genymobile/scrcpy/issues/5088#issuecomment-2227012142,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCVSPYISARFXHQ7PCYZ66RTZMFSMVAVCNFSM6AAAAABK2L6HWOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRXGAYTEMJUGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add CSS style to messages from same user (from @xPaw)

Essentially, this PR adds the equal-from class to subsequent messages from the same user. For example:

This lets themes use special formatting of these messages. For instance:

Almost all the code for this came from @xPaw in #659, I just did some minor updates so it'd load and work correctly on my box. I haven't yet played with loading history, but I'll take a squiz at that and see what I can find.
edit: This is my first dive into node stuff, so feel free to rip apart any changes I've made :P

19231cd7b486fee58ff0501cb18fb8dd22214d73 adds the equal-from class appropriately when loading history

Maybe as a default we would fade out these nicks to show to users that we have such a feature?

I imagine you could probably fade them out without an issue in the CSS yeah, just CSS animate the height/width/opacity and all, let the theme change it from one to the other?

opacity: .7;
}```

would probably do the trick, with optional `opacity:1` on hover.

Maybe as a default we would fade out these nicks to show to users that we have such a feature?

This risks to be confusing for new users, like thinking messages are not being sent (offline support) yet or something. These will need to be documented at some point, and that's my next contribution once I'm done catching up with PR reviews.

@DanielOaks, ping? Could you rebase on master and fix conflicts please? Thanks 😃

Woops, merged instead of rebased, @xPaw 😅 (I'm thinking you probably did that on purpose to not affect the history, but we'll still have to clean this up at some point).
@DanielOaks, do you mind addressing my comments if you can? Thanks!

@astorije "This risks to be confusing for new users, like thinking messages are not being sent (offline support) yet or something." I do see your point, however, this is a feature in IRCCloud and it will make the client a lot better on small screens with less nicks and more text.
I hope @DanielOaks have time to continue on this PR, or let someone else take over. Thank you in advance :)

I do see your point, however, this is a feature in IRCCloud and it will make the client a lot better on small screens with less nicks and more text.

Sorry if I was unclear, I didn't mean that entire feature/capability would be confusing, I meant fading out messages would be.

@DanielOaks, do you want to pick this up and fix conflicts? I know this PR is a decade old, so I'd understand if you'd rather have someone from @thelounge/maintainers to take it from here.

Hey @DanielOaks! We are going to close this PR for now, feel free to reopen (or ask to reopen it if you can't) if you are planning to pick up the work on this.
Unfortunately, it looks like none of the @thelounge/maintainers has the time to take over this for now, but any help from the community will be welcome!

@DanielOaks Can you please continue on this PR? It would be very nice to have this feature in TheLounge, especially on small screens where nick and time takes a lot of space. Thank you so much in advance!

Ah, I'm very sorry for not responding @astorije! I don't really use Lounge these days so I can't promise anything, but I'll keep it on my radar for if I pickup other work again (if anyone else wants to pick it up, please feel free to go ahead!) Sorry for the trouble @christer88 😛

@christer88, would you like to give it a shot?


Update Remote Model request & spin up process

Updated Python OpenAI chat & embedding classes to update the base_url and api_key when making calls to the remote client server models
Updated AbstractPythonModelEngine to pass params to the embedding calls
Updated model spin up process in AbstractRemoteModelEngine and RemoteClientServerZK java classes
Refactored OpenAI embedding class

Title
Update Remote Model request & spin up process

User description

Updated Python OpenAI chat & embedding classes to update the base_url and api_key when making calls to the remote client server models
Updated AbstractPythonModelEngine to pass params to the embedding calls
Updated model spin up process in AbstractRemoteModelEngine and RemoteClientServerZK java classes
Refactored OpenAI embedding class

PR Type
Enhancement, Bug fix

Description

Enhanced model state management in RemoteClientServerZK.java with improved logging, retry mechanisms, and error handling.
Refactored embedding logic in AbstractPythonModelEngine and OpenAiEmbedder to support additional parameters and dynamic base URL configuration.
Improved deployment and state management logic in AbstractRemoteModelEngine with better concurrency handling and simplified HTTP request handling.
Added support for dynamic base URL configuration in OpenAI chat and embedding clients.
Updated metadata timestamp in the security OWL file.

Changes walkthrough 📝
Relevant filesEnhancement

RemoteClientServerZK.javaEnhanced model state management and logging in ZooKeeper integration.

src/prerna/cluster/util/RemoteClientServerZK.java
Enhanced logging for model state transitions and data processing.  Added retry mechanism for fetching node data in case of initial failure.  Improved error handling and introduced new helper methods for model state checks.  Refactored code for better readability and maintainability.

+163/-120

AbstractPythonModelEngine.javaEnhanced parameter handling for embedding calls.

src/prerna/engine/impl/model/AbstractPythonModelEngine.java
Added support for passing additional parameters to embedding calls.  Improved flexibility in embedding call construction.

+13/-0

AbstractRemoteModelEngine.javaRefactored deployment and state management for remote models.

src/prerna/engine/impl/model/AbstractRemoteModelEngine.java
Refactored deployment initiation logic with improved concurrency handling.  Added support for dynamic base URL configuration for remote models.  Enhanced error handling and logging for deployment and model state checks.  Simplified HTTP request handling for model deployment.

+96/-87

openai_embedder.pyRefactored OpenAI embedder for batch processing and dynamic configuration.

py/genai_client/embedders/openai_embedder.py
Refactored embedding logic for better batch processing and token management.  Added support for dynamic base URL configuration for remote embedding calls.  Improved modularity by introducing helper methods for batch creation and processing.

+57/-93

openai_chat_completion_client.pyEnhanced OpenAI chat client with dynamic base URL support.

py/genai_client/text_generation/openai_clients/openai_chat_completion_client.py
Added support for dynamic base URL configuration for remote chat completion models.  Improved handling of structured output parameters.

+5/-0

Miscellaneous

security_OWL.OWLUpdated metadata timestamp in security OWL file.

db/security/security_OWL.OWL

Updated timestamp metadata in the OWL file.

+2/-2

💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

PR Reviewer Guide 🔍
Here are some key observations to aid the review process:

⏱ Estimated effort to review: 4 🔵🔵🔵🔵⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review
Error HandlingThe new loadInitialState method and other methods like getNodeDataWithRetry and getModelClusterIp have added error handling, but some cases may still lack sufficient fallback mechanisms or retries. Ensure all edge cases are covered.
Deployment TimeoutThe initiateAndWaitForDeployment method introduces a timeout mechanism for deployment. Ensure that the timeout values and retry logic are appropriate for all use cases and environments.
Batch Processing LogicThe _process_multiple_batches method introduces new logic for batching. Verify that the batching logic handles edge cases, such as very large inputs or token count mismatches.
Dynamic Base URLThe inference_call method dynamically updates the base_url and api_key. Ensure that this change does not introduce unintended side effects or conflicts with other parts of the system.

PR Code Suggestions ✨

CategorySuggestion                                                                                ScoreGeneral

Add proper handling for thread interruptions during retry delays

Ensure that the retry mechanism in getNodeDataWithRetry handles interruptions properly by catching InterruptedException and restoring the thread's interrupted status.
src/prerna/cluster/util/RemoteClientServerZK.java [286]
-Thread.sleep(delayMs);
+try {
+    Thread.sleep(delayMs);
+} catch (InterruptedException ie) {
+    Thread.currentThread().interrupt();
+    throw new RuntimeException("Thread interrupted during retry delay", ie);
+}

Suggestion importance[1-10]: 9
Why: Properly handling thread interruptions is critical for ensuring that the retry mechanism does not leave the application in an inconsistent state. This suggestion is accurate, relevant, and improves the robustness of the code.
9

Handle potential issues when canceling the deployment future to ensure resource consistency

Ensure that the deploymentFuture.cancel(true) call in initiateAndWaitForDeployment does not leave resources in an inconsistent state by verifying the cancellation result or handling potential exceptions.
src/prerna/engine/impl/model/AbstractRemoteModelEngine.java [155]
-deploymentFuture.cancel(true);
+try {
+    if (!deploymentFuture.cancel(true)) {
+        classLogger.warn("Failed to cancel deployment future for model {}", this.engineId);
+    }
+} catch (Exception e) {
+    classLogger.error("Error while canceling deployment future for model {}", this.engineId, e);
+}

Suggestion importance[1-10]: 7
Why: Adding error handling for the cancellation of the deployment future ensures that resources are not left in an inconsistent state. While not critical, it improves the robustness and maintainability of the code.
7
Possible issue

Add validation for required JSON keys to prevent runtime exceptions

Validate the JSON structure in loadInitialState to ensure required keys like ip and model_name exist before accessing them to prevent runtime exceptions.
src/prerna/cluster/util/RemoteClientServerZK.java [153-154]
+if (!jsonData.has("ip") || !jsonData.has("model_name")) {
+    classLogger.error("Missing required keys in JSON data for model {}", modelId);
+    continue;
+}
 String clusterIp = jsonData.getString("ip");
 String modelName = jsonData.getString("model_name");

Suggestion importance[1-10]: 8
Why: Validating the presence of required keys in the JSON object prevents potential runtime exceptions, improving the reliability and error handling of the code. This is a practical and impactful enhancement.
8

Validate the base_url to ensure it is a valid URL before setting it in the client

Add a check to ensure that self.client.base_url is a valid URL when overridden in embeddings_call to prevent invalid configurations.
py/genai_client/embedders/openai_embedder.py [27]
-self.client.base_url = kwargs["base_url"]
+base_url = kwargs["base_url"]
+if not base_url.startswith("http://") and not base_url.startswith("https://"):
+    raise ValueError(f"Invalid base_url provided: {base_url}")
+self.client.base_url = base_url

Suggestion importance[1-10]: 8
Why: Validating the base_url ensures that the client is configured correctly, preventing potential runtime errors due to invalid URLs. This is a practical and valuable improvement to the code's reliability.
8

Changelog updates: 🔄
2024-12-19
Changed

Enhanced remote model spin-up process and improved handling of model states in the deployment workflow.
Updated embedding and chat classes to dynamically configure base URL and API key for remote client server models.
Refactored embedding logic for better batch processing and token handling.
Improved logging and error handling for model deployment and health checks.

to commit the new content to the CHANGELOG.md file, please type:
'/update_changelog --pr_update_changelog.push_changelog_changes=true'


Create LICENSE

I see that the README currently lists "GPLv2 or later," but can we convert this to MIT? Assuming all contributions are owned or created by Pantheon, it should be a simple change.

This PR does not include the change to remove the mention of the GPL from the README.


Upgrade Chart.js to version 3.

Problems with showing labels on mouseover:
https://github.com/chartjs/Chart.js/issues/6475

done.


AMBARI-25410. Add autocomplete for all repos url for login and password

What changes were proposed in this pull request?
hen user put his credentials for first or any links we need automatically to add them in every link field.
If he will edit these credentials in any of existing fields - it should be updated everywhere
We need to do this in ambari wizard and ambari-admin
How was this patch tested?
manually
Please review Ambari Contributing Guide before opening a pull request.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5522/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5523/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5529/
Test FAILed.
Test FAILured.

Failed on ambari-server. But changes were done in ambari-web and ambari-admin


⚠ Processors has degraded performance

In 57d6f1b, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 49 ms

Resolved: Processors performance has improved in 13fa37c.


Fixed issue which started in version 1.6.0

Fix: DELETE request validator removed from input_filter keyword and need to manually specify before usage.
Added test calling testReturnsNothingOnDeleteRequestIfContentIsInValidAndValidationSetViaInputFilterKeyword
test/ContentValidationListenerTest.php code standards styling fixes
@weierophinney  Please review this as soon as you can, as current release breaking most of existing codes, because in old version DELETE request is without body and needed manually specify (like GET) , after new version changes DELETE removed from $methodsWithoutBodies  and it automatically called in standard input_filter keyword and in DELETE request calling all validators which under input_filter keyword.
This changes keep old code not breaking mechanism and also keep 1.6.0 changes.
Also I provided test for my changes.

Coverage increased (+0.5%) to 78.922% when pulling 230ae412f8e28eb3354769e9383d59e059bc26d8 on developer-devPHP:hot_fix_delete_request_validator_breaking_in_version_1_6_0 into 9e3bc4768cef3f7340f16c97164bebb9d10c9d90 on zfcampus:master.

@webimpress all your notes fixed, please check again, when you have a time.
Thanks.

@webimpress I did all changes, but got error from travis. As I understand, error related with environment creation and not test output. Do you have a permission to rerun or do I need to do some action to final run all tests in github, to make sure that all tests passes?

@weierophinney if not have any other notes from your side too, could you please merge this changes and make new release version?
If you see any problem or just small notes, please write comment and I will fix it ASAP.
Thanks.

@developer-devPHP Sorry - was on vacation! Reviewing now, and hopefully we can get a release out ASAP.

Thanks, @developer-devPHP!


[New PURL] Crystallographic Defect Ontology

## Basic details
What is your resource prefix?
CDO
Where is the resource located on the Web (i.e. the URL)?
https://raw.githubusercontent.com/Materials-Data-Science-and-Informatics/dislocation-ontology/master/crystallographic-defect-ontology.owl
Do you want to enable content negotiation?
Yes
Advanced details
To enable Content Negotiation, please fill in the following table if you have more than one version  (or more generally, representations of a resource) of your resource. A resource type can be

Resource type:

 RDF/XML
 TTL
 OWL
 N-triples
 N3
 HTML

Resource type
URL

1.      RDF/XML
https://raw.githubusercontent.com/Materials-Data-Science-and-Informatics/dislocation-ontology/master/crystallographic-defect-ontology.owl

2.

...

Your PID (https://purls.helmholtz-metadaten.de/cdo)  is now ready


Bump abacus | Remove debug mode from scripts

Coverage remained the same at 91.741% when pulling cd85b5dd7b1cbb1b2fa41673c684ebdc006cd3d7 on SAP:bump_abacus into d08367af26c0cd8402e72e6854e21ac802fcef60 on cloudfoundry-incubator:master.


Create uteg

@ekontiki89 could you please check that the website is available? unfortunately i can't open uteg.edu
Also please add .txt extension to the committed website.

@ekontiki89 It looks like you wish to add and entry for Centro Universitario UTEG Héroes Ferrocarrileros 1325, Col. La Aurora, C.P. 44460 Guadalajara, Jalisco, México. Its website is http://www.uteg.edu.mx/. Please make sure its e-mail domain is uteg.edu indeed. If it is not, please close this pull request and create a new one, under lib/domains/mx/edu with the name uteg.txt and the name of the university in the .txt file. I am looking forward to having the clarification from you.
Thank you!

I'm closing the request due to being obsolete. @ekontiki89 please reply to reopen.

@zweizwei Sorry I can not respond in time, but in this pull me wrong, in fact already agregre college https://github.com/JetBrains/swot/blob/master/lib/domains/mx/edu/uteg.txt


Update viewer screenshot in docs and make more prominent on napari.org

Description
I've been slightly frustrated recently with the fact that the viewer itself is so... not prominent? on napari.org. Even when you get there the screenshot is out of date, the UI has improved quite a lot! This PR updates the screenshot to an updated version of the same image and adds a copy to near the top of the index page.
Notes:

I haven't LFS'd anything but it looks like the existing file is LFS'd... I don't know what the current state of this is and there is no guidance in the contributing guidelines about how to deal with images
the screenshot we use on the readme currently differs from the screenshot we use on napari.org c.f. #3823. I have chosen to stay consistent with the existing site but can easily switch to the cells3d image if that's preferred (I don't prefer it personally).

cc @melissawm @neuromusic @DragaDoncila @kne42 as docs people and @napari/core-devs as this is prominent on napari.org
before - old screenshot halfway down the homepage:

after - new screenshot, near the top of the homepage:

There are two copies of the same image in the readme. This is your intention or did you forget to remove it? Two copies of the same image in readme do not look great to me.

Yep, I didn't want to remove the example and I didn't want to add another image so that's what I went with - we could easily go for another though! Do you agree that the viewer should be more prominent though?

I like the idea of showing a screenshot above the "fold" so users don't have to scroll to see it. Pushing the installation section a bit down doesn't seem problematic (also as there is a list of sections on the right which hopefully maintains visibility).
It would be great to show a screenshot where a multidimensional image is being viewed in napari rather than a 2D image, maybe something like the 'Cells' sample image. I've attached a screenshot without a shadow below; I can attach one with a shadow if we prefer!

Thank you for the input @kandarpksk ! Lots of valid points - I don't love the angle of the cells in that screenshot so will make another and add that to the PR

Thanks @alisterburt! Yeah, I was merely trying to illustrate the 3D viewing capabilities (rather than show a flat view) but I have no idea what's a good angle :)

Solidly agree that a nice screenshot of the viewer needs to be the first, most prominent thing you see. Thanks for doing this!
Separately, it was my impression that the larger executable docs effort should help fix these issues (by auto-generating all screenshots, so the UI of the viewer is always up to date). Is there a technical reason that's not what's happening here? cc @neuromusic since he's more up to date with the overall docs effort

@GenevieveBuckley I'll defer to @melissawm on if/how we can get an rendered screenshot on the landing page

glad we have some consensus! Barring an update from @melissawm I will move forward with what @jni suggested, thanks for the input all! Will be great to have this in for 0.4.17 😍

@kandarpksk this is not shown in the GUI - the provenance of a layer is stored in a Source object which could be used to make this happen if we decide to go that way. I'm not aware of any discussion of this but know that some plugins (e.g. AICSImageIO) name layers with this and other metadata which seems reasonable

@jni this should be ready to go now

To get the screenshot autogenerated, and this page executed as a notebook, this snippet must be added to the preamble:
jupytext:
  text_representation:
    extension: .md
    format_name: myst
    format_version: 0.13
    jupytext_version: 1.10.3
kernelspec:
  display_name: Python 3
  language: python
  name: python3

See, for example, https://raw.githubusercontent.com/napari/napari/main/docs/tutorials/fundamentals/viewer.md


Allow to skip python installation

In some cases, the project uses multiple requirements.txt file (for example, for build and testing) or even a different build system such as Poetry. In those cases, some import checks will fail because the steps are using a different python installation.
The proposal is to add a new parameter, such as require-python-installation (true as default), to skip all the installations and rely on the previous steps in the user's workflow.

Thanks for the suggestion. While I'd like to implement it I'm a bit short on time right now and don't know when it will change. So if you'd like to make a PR that would be very welcome :blush: If not I'll try to do this myself just don't know when.

Hi, I added a PR, please review.


Merge data labeled by eForce Prague Formula Driverless

Hi Marek, very sorry for the long delay. Will look into it tonight and keep you posted.

Looks good to go, thank you for the contribution.


Error "InvalidPDFException"

Hello, I have this error. Can you help me with?

Hi, as far as I remember this kind of errors are usually related to wrong or more advanced pdf documents. This may happen if you use some extra fonts, symbols or specific language fonts. However to be sure and to help you somehow, you would like to have some pdf sample that causes this error. If your pdf is private try to prepare other document with such error and share it somehow to me. I will try to debug this plugin code, find out what is going on and release some fixes in code if needed. You can also try on your own some any localization library, usually l10n helps.

Hey, thanks for the fast reply... my .pdf is kinda private, yes, but I also tried with the example1.pdf from demo folder... and the result is the same :(

Well... this is strange if so. The examples included in demo should load fine. I will check env soon, rebuild everything and look into it. Maybe there are some dependencies problem, new version of the lib that is no backward compatible or something like that. Stay tunned, let you know soon.

thank you in advance

Hi again, I have tested this issue in the clean node (empty directory). I was able to open index.html without any problems:
npm install simple-react-pdf
cd ./node_modules/simple-react-pdf/demo
firefox index.html

and also rebuild demo and open index.html again like this:
cd ./node_modules/simple-react-pdf/demo
npm run build
firefox index.html

also I was able to rebuild simple-react-pdf module again for demo and demo itself like this:
cd ./node_modules/simple-react-pdf/demo/node_modules/simple-react-pdf
npm run build
cd ..
cd ..
npm run transform
firefox index.html

So this looks like there is some work in dependent libraries if the build error occur sometimes. So what You can do is:

try use built version of simple-react-pdf module (without rebuilding it)
try to wait until they fix errors in dependent libraries
try to use more stable (earlier) version of dependent libraries

However looks like the build work fine now. So everything should be fine without any changes.
Also there might be You environment issue. Try to correct some path or env variables.

Feel free to reopen or open new issue related to the module code. Thanks.


Make it possible to pass a path to a file with the connection string

Problem
There is only one way to pass connection string to prisma file - via env() command. It forces you to use .env file in docker or store connection string in your compose.yml file which is insecure.
Suggested solution
Add file() command to prisma file:
datasource db {
  provider = "postgresql"
  url      = file("/run/secrets/database_url")
}

it will allow using docker secrets in full strength.
Alternatives
Stroring env file in your docker container. It is dangerous.

I seek the same solution regarding this docker secrets file compatibility.
Is there any update on this?

Agreed, this would be amazing, since we don't story this in the env and prefer to use secrets.

Is there any update?

Recently discovered a solution to this issue
@micgre0 @humphd @eden-lane
you will need to create a bash script for this
you can read this article: Link
Let me walk you through

let's start by creating our secret for db_url

echo -n “postgresql://postgres:postgres@localhost:5432/main" | docker secret create db_url -

Then we create our bash script in our project directory

#!/bin/sh

# Function to read a secret and export it as an environment variable
read_secret() {
  local secret_name=$1
  local env_var_name=$2
  local secret_path="/run/secrets/${secret_name}"

  if [ -f "${secret_path}" ]; then
    export ${env_var_name}=$(cat "${secret_path}")
  else
    echo "Secret file ${secret_path} not found"
    exit 1
  fi
}

# Read secrets and export them as environment variables

# Read the database URL from the secret file
read_secret "db_url" "DATABASE_URL"

# Start the application
npm run start

next will create out dockerbuild file

FROM node:alpine

WORKDIR /usr/src/app

# Copy package.json and package-lock.json to the working directory
COPY package*.json ./

# Install dependencies
RUN npm install

# Copy the rest of the application code
COPY . .

# Install TypeScript globally if you need to compile TypeScript files
RUN npm install -g typescript

# Compile TypeScript files (if any)
RUN tsc || true

# Generate Prisma client and build the application
RUN npx prisma generate && npm run build

# Copy the entry script and ensure it is executable
COPY entry.sh /usr/src/app/entry.sh
RUN chmod +x /usr/src/app/entry.sh

# Start the application using the entry script
CMD ["/usr/src/app/entry.sh"]

you can go through the article for the rest of the setup and the docker-compose.yml file
Article


Fabo/1884 bring back e2e tests

Enables #1884
Description:

Thank you! 🚀

For contributor:

[ ] Added entries in CHANGELOG.md with issue # and GitHub username
[ ] Reviewed Files changed in the github PR explorer
[ ] Attach screenshots of the UI components on the PR description (if applicable)
[ ] Scope of work approved for big PRs

For reviewer:

[ ] Manually tested the changes on the UI

Things still need to be done:

Prevent side-effects between runs
Provide test with rich account credentials

locally working
@sabau on circleci it can't find the gaia binaries, could you help out?

i would feel better if @sabau reviewed this too

likewise :)


oracle version

Is it essential/better to use <IP_ADDRESS>.4 ? Or I can go ok with any newver driver?

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

ID: 382f269e-2072-ec03-7c88-335cbd5df919
Version Independent ID: 46a896f9-4707-adc3-72cd-5444a5d0f802
Content: Connect to an Oracle database - Power BI
Content Source: powerbi-docs/desktop-connect-oracle-database.md
Service: powerbi
Sub-service: powerbi-desktop
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Hi, @dkozhukhar -- thanks for your question! I've assigned this to the author. In the meantime, I suggest asking the Power BI community, https://community.powerbi.com/.

Hey, I also wonder about Oracle version. Currently I'm unable to use DirectQuery in PBI Desktop (ResportServer vJan2019) when connecting to Oracle DB. My Oracle client version is <IP_ADDRESS>.0 (more recent than the recommended one)

To get <IP_ADDRESS>.0 to work, you should be able to first install <IP_ADDRESS>.4, select machine-wide configuration during setup, then upgrade to 12.2 after. starting in 12.2, Oracle removed the Machine-wide configuration which is what Power BI desktop and PBIRS depend on to see that Oracle client is installed.
https://docs.oracle.com/cd/E85694_01/ODPNT/InstallConfig.htm#ODPNT-GUID-08AB93CF-3E3F-4CA6-9D46-588844E40345
Starting with release 12.2, ODAC installs default to non-machine-wide configuration for a new Oracle home installation. For existing Oracle homes, ODAC re-installs the default to the same configuration setting chosen for that Oracle home from the previous installation. In non-ODAC installations, such as the standard Oracle Database or Client installation, only non-machine-wide installation is available.
If you want to go to a higher version, such as 18.3. get it here https://www.oracle.com/technetwork/topics/dotnet/downloads/odacdeploy-4242173.html
Then you need to do a manual "Machine-wide" configuration because of what is documented here: https://www.oracle.com/technetwork/topics/dotnet/downloads/install183-5191071.html
Machine-Wide Configuration
Machine-wide configuration is no longer supported beginning with ODAC 18c. Administrators can still place ODP.NET in the GAC and add the configuration section handler and DbProviderFactory information to machine.config manually if they wish to override ODP.NET settings for individual applications.
Manually install 18.3 so it can be recognized by 64 bit PBI desktop and PBIRS  with these commands (changing paths to match the path of your oracle client installation
Power BI Reportserver and Report Builder Commands(they use Managed ODP.net)
Register ODP.net Managed Client to GAC
C:\app\client\user\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\app\client\user\product\18.0.0\client_1\odp.net\managed\common\Oracle.ManagedDataAccess.dll
Add ODP.net Managed Client entries to machine.config
C:\app\client\user\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:<IP_ADDRESS>
Add ODP.net Managed Client x86 entries to machine.config. Made my SSRS Report Builder start to work as its 32 bit
C:\app\client\user\product\18.0.0\client_1\odp.net\managed\x86\OraProvCfg.exe /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:<IP_ADDRESS>
Power BI Desktop Uses Unmanaged ODP.net:
Register ODP.net Unmanaged Client to GAC
C:\app\client\user\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\app\client\user\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll
Add ODP.net Unmanaged Client entries to machine.config
C:\app\client\user\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odp /frameworkversion:v4.0.30319 /productversion:<IP_ADDRESS>

Thank you for a very elaborate answer!

Thanks Markymark, that solved my issues with Power BI Desktop 64-bit.
You wouldn't happen to have the commands to use for Power BI Desktop / Excel 32-bit as well would you? I have both the 32 and 64-bit ODAC components installed, and I can get the data using both 32 and 64-bit apps. Just trying to resolve this last dialog about the driver not being in stalled when using a PowerQuery app under 32-bit.

Thanks @markymark1985, that solved my issues with Power BI Desktop 64-bit.
You wouldn't happen to have the commands to use for Power BI Desktop / Excel 32-bit as well would you? I have both the 32 and 64-bit ODAC components installed, and I can get the data using both 32 and 64-bit apps. Just trying to resolve this last dialog about the driver not being in stalled when using a PowerQuery app under 32-bit.

The 32 bit driver can be found here (option ODAC OUI) and after installation the following commands need to be executed:
Assuming files were installed to c:\oracle32
For  Report Builder v3  which uses Managed ODP.net:
Register ODP.net Managed Client to GAC
C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\oracle32\product\18.0.0\client_1\odp.net\managed\common\Oracle.ManagedDataAccess.dll
Add ODP.net Managed Client entries to machine.config
C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odpm /frameworkversion:v4.0.30319 /productversion:<IP_ADDRESS>
Power BI Desktop 32 bit which uses Unmanaged ODP.net:
Register ODP.net Unmanaged Client to GAC
C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:gac /providerpath:C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\Oracle.DataAccess.dll
Add ODP.net Unmanaged Client entries to machine.config
C:\oracle32\product\18.0.0\client_1\odp.net\bin\4\OraProvCfg.exe /action:config /force /product:odp /frameworkversion:v4.0.30319 /productversion:<IP_ADDRESS>

The 32 bit driver can be found here (option ODAC OUI)

looks like there should be a link and its gone )

Updated. https://www.oracle.com/technetwork/topics/dotnet/downloads/odacdev-4242174.html

Perfect. Worked and I have both 64 and 32-bit connections going at once.

Great conversation! Thanks for providing the learning and support in this thread.

What are the requirements for Power BI Gateway?
I get the error even after manually registering Oracle.ManagedDataAccess.dll in the GAC.


Simple dockerfile

I started working on a full dockerization of the project, but goreleaser was throwing some strange errors like
11.69 go: github.com/blackstork-io/fabric imports
11.69   github.com/blackstork-io/fabric/cmd: no matching versions for query "latest"

And I thought that since we already have the built artifacts - why not just reuse them? Here's a simple dockerfile that just downloads the latest release from github. Is this enough, or should it build the binary from scratch?

Why not to just use goreleaser? It copies already built binary to the image:
https://goreleaser.com/customization/docker/

Also, we should probably build image that supports multiple platforms and archs.

Why not to just use goreleaser?

Ah! Didn't think about it 😅. Will do)

Ok, I've set up the workflow with Goreleacer.
Unfortunately, it's a bit ugly: we first must build and push each platform-specific version (I named them something like latest-amd64v1) before combining them via manifest into a single tag like "{{ .Version }}" or "latest".
It's possible to do this without these extra versions, but I can't find a way to extract the hashes out of the "dockers" build step to use them instead of tags in "docker_manifests".
I make multiplatform builds only for linux/386, linux/amd64 and linux/arm64


Always switch to correct loclist after running :LspShowDiags

Fixes #300

I think this PR should be merged


hslib: Function to extract the haskell build inputs of a package.

This works by extracting out some logic from generic-builder.nix to
make it possible to get at the relevant information by overriding
mkDerivation for the haskell package.

Reverted in 65138e8a411. Please give a chance to review before merging changes to the Haskell generic builder.

@peti this was open for 5 days and had a positive review from another significant contributor with no comments from you. Was there any problem with this?

Note that this doesn't change behavior at all.


How to publish a package that depends on the package that exists in "hexpm:private_org"

If I'm asking the wrong question in this issue, I'd appreciate it if you could point me to the right place.
I'm trying to use private_org in hexpm using rebar3 hex.
However, when I try to publish a private_org package with it specified as a deps package in rebar.confg, it tells me that this package does not exist in hexpm and I cannot publish it.
After following the source code, I found out that this is a message returned from the hexpm side.
https://github.com/hexpm/hexpm/blob/main/lib/hexpm/repository/requirement.ex#L29
How can I publish a package that depends on a package in hexpm:private_org to hexpm:private_org?
rebar.config
{deps, [
   {other_private_pkg_name, "1.0.0"}
]}.

{hex, [{repos, [#{name => <<"hexpm:private_org">>},
                #{name => <<"hexpm">>}]}]}.

publish command error
$ rebar3 hex publish -r hexpm:private_org

Publishing private_pkg_name 1.0.0 to hexpm:private_org

===> Failed to publish package: Validation error(s)
	Requirements could not be computed
other_private_pkg_name
--------------------
package does not exist in repository "hexpm"

This likely doesn't work and is a bug.
But to be clear, compiling works? So it is able to fetch that private package (and I take it, publish that package as well?) and breaks only for publishing a package depending on a private package?
I'll have to look into where we do this check it is doing that results in it saying it can't find the package.

I'd agree it's a bug of sorts. Currently, there is a way to declare a dependency in rebar.config as belonging to a private repo, thus when we send up the requirement without specifying a repo for the dep (global name space), and why you end up with that error.
That's an assumption without digging through hex code. @wojtekmach  is that assumption correct? Or should hexpm be searching for the dep in the users private's org regardless?

So the error is coming from hexpm?
Question I have then is if deps can depend on deps from other private orgs?
If not, then I'd agree it sounds like something hexpm could be doing since it simply has to be in the same org you are publishing to.
If they can span multiple orgs then we need to be the ones ensuring we are publishing the package with a dependency on the exact same package (meaning specifying the org) that was being used locally.

Question I have then is if deps can depend on deps from other private orgs?

They can.

If they can span multiple orgs then we need to be the ones ensuring we are publishing the package with a dependency on the exact same package (meaning specifying the org) that was being used locally.

Yeah, and I think that'll have to result in a patch to rebar3 in that case. Correct me if I'm wrong though. Basically, rebar3 will have to be patched to ignore and extra field.

Question I have then is if deps can depend on deps from other private orgs?

Ahh, wait, I misread... I don't believe deps can depends on deps from other private orgs, but I'm not 100% sure.  They can definitely depend on other deps from within the same private org for sure though.
I suppose that part is not clear... @voluntas is other_private_pkg_name in hexpm:private_org

Not sure what you mean by ignoring an extra field.

Not sure what you mean by ignoring an extra field.

It's been a minute since I've hacked on rebar3 in this area, but if we say support :
{other_private_pkg_name, "1.0.0", {repo, "hexpm:some_private_org"}}

Would we have to patch rebar3 for that? Or would rebar3 just ignore it?

@tsloughter @starbelly
Thank you so much for the answers and the discussion.
Oh, I'm very sorry. I meant that other_private_pkg_name is a different package than private_pkg_name in the same private_org.
The problem was that pkg_a, which is in the same private_org, cannot be published because it depends on pkg_b.

{other_private_pkg_name, "1.0.0", {repo, "hexpm:some_private_org"}}

This configuration is very much what I want, and I would be very happy if you could introduce this one.

We went a different way with how deps are fetched in rebar3, so
{other_private_pkg_name, "1.0.0", {repo, "hexpm:some_private_org"}}

isn't an option.
We don't want to tie packages to specific repos, it would make use of mirrors and other repos harder.
This plugin will need to check where a dep came from -- by checking the local registry -- before publishing, and use that info to tell hex what it wants to know.

@tsloughter Gotcha. I'll look into this post v7.

@tsloughter There's a problem with not being able to specify what repository a dep should come from specifically. You may have the package foo on hexpm but you may have a private version in your org repo hexpm:my_org. Without being able to specify this within dep config we might fetch the wrong one.
Are we sure we can not add {other_private_pkg_name, "1.0.0", {repo, "hexpm:some_private_org"}} support?

Can orgs have names of public packages in them?
And its only an issue for initial setup since the lock file will have the checksum.
Assuming hex.pm allows an org to have a package with the same name as a public package it could be confusing to a user who is initially setting up a project and for some reason wants the public package but has their private org listed first in their repos... First would want to know if that is actually allowed and then can go from there on if it is such a likely concern that we need to change anything.

Yeah, it's allowed. At one company we actually had a valid case for this. There was a dependency that had a PR open for it, but we weren't sure when it would be merged, mean while everyone was fetching the dep from git, which wasn't ideal, so we published the patched version to our org and fetched it that way vs git.

But in that case it would already work. The issue is if you have a private version but want the public version.

Ahh, you are right. I just tested this. There's still an edge case, but this doesn't have to be solved today either. The case would be when you want the public but not the private, yet you need to have the org repo in your config.


Code First: One-to-one FK discovery of shadow prop

Given:
modelBuilder.Entity<Address2>().Property<int>("PersonId");

modelBuilder
	.Entity<Person2>(
		e => e.OneToOne(p => p.Address, a => a.Resident));

We should discover PersonId as the FK.

Fixed in 1eccfa87a8a00e967693e8793ac3ce4267d47d32


~/.fzf/install didn't finish installing in fish shell

I had to do this in my config.fish to get it working:
set PATH $PATH ~/.fzf/bin

Isn't the path added to $fish_user_paths?

Yes, it is.

Hmm, then why setting PATH is required? I never had to do that.
https://github.com/fish-shell/fish-shell/issues/527

Ah, figured it out. I was resetting PATH in ~/.config.fish instead of building on it. I don't remember why I needed to do that in the past, but I don't think I need to anymore so problem solved.

Okay, thanks for quick response.

You too!


Add Make.win32 -fcommon,  define u64int, sync libsec, libmp, libauthsrv with Plan 9, define usize, add chacha20

Thanks. I'm looking at it.

I removed #pragmas at start of  header files, maybe it's a good idea to leave them there despite the warnings. Proper solution I think would be to #ifdef them: https://github.com/9fans/drawterm/blob/main/include/authsrv.h but that would mean patching on Plan 9 side also.

Oh, I see there are more changes in this repo vs Plan 9 versions(not that many) I just copied the libs.

Overall, it looks good. Thank your for working on this.
Could you rename libsec: sync with Plan9 to libsec: sync with Plan 9?

Ok, changed commited message, left #pragmas in place and added -Wno-unknown-pragmas to Make.win32.

I think it's probably better to add #ifdef PLAN9 around pragma, like it was done for the other header files (include/draw.h and so on).

I took the flag from here https://github.com/golang/go/blob/ceb95ea6aef52c1fb472d3539c6ef68670778b5b/src/cmd/dist/build.c#L482, not sure if it applies to Plan 9, and I think it's preferable to have identical copies in drawterm and Plan 9. If I were to add #ifdefs, I'd probably add them to the Plan 9 versions also to keep them precisely in sync. That's why I opted for  -Wno-unknown-pragmas.

plan9port removes them completely https://github.com/9fans/plan9port/blob/master/include/mp.h#L137

Shall we go with consistency then?

Although, not all them were #ifdef-ed, some just had their #pragmas removed https://github.com/9fans/drawterm/blob/main/include/libsec.h,  https://github.com/9fans/drawterm/blob/main/include/mp.h.

If you prefer #ifdefs, 9legacy solution would probably be create some patches to ifdef them in Plan 9 too I think. To keep them perfectly in sync, wih no changes to the Plan 9 versions,  -Wno-unknown-pragmas would probably be the solution.

Or just live with the warnings.

The pragma are meant to be interpreted by the Plan 9 C compiler only. I'm not very comfortable keeping them, risking to be handled by the GCC preprocessor, which could lead to side effects.
Either deleting them or #ifdef sounds good to me.

The pragma are meant to be interpreted by the Plan 9 C compiler only. I'm not very comfortable keeping them, risking to be handled by the GCC preprocessor, which could lead to side effects.
Either deleting them or #ifdef sounds good to me.

Ok, I'll probably #ifdef them then.

Ok, #ifdef-ed, not sure if this is ok https://github.com/9fans/drawterm/pull/16/commits/0f4e314e5b7bd8d1327d758eded16ca578a5d761#diff-e9399bd85711a4c93d1a01968311639e3355a8b3dce252f026d44cd7650ae913R130, if ok, I think you can merge.

Hmm... this might require merging https://github.com/9fans/drawterm/commit/93a43be0ea85aca12826c9d53aec0ad2a0278198

I don't understand which (if any of the patches) to libmp, libsec, libauthsrv from this repo have been merged in Plan 9 libs, if not, we'll have to merge them.

Hmm... this might require merging 93a43be

I see block files are done in assembly, I added the C versions https://github.com/9fans/drawterm/pull/16/commits/15a79f4db957e04ddb129723d0bc7767da6f13c5#diff-ede5614f90d7b8d84cda78003b911a92e627073420f71965b843c0c4bbab4921R50 for sha2block64 and sha2block128.

https://github.com/9fans/drawterm/commit/1c8b4992284fe1cbccb54cd213f274c00c3ac6d1#diff-60bc2862e39ce285a55d63a7f349f7eb7e5724d0f1bc0baa0cc18a28e0ff5936 this affects libmp (not merged).

https://github.com/9fans/drawterm/commit/6fb85848001386a1acf2bc47605b797ce21c48a7 looks merged.

https://github.com/9fans/drawterm/commit/1125f094ce2a6854ef568b8c62602ce07c6a2935#diff-ba43ca4048f51025813c140fdcc7f53f77817dd416f1aa445900c524e5090b86L1 affects libmp, not merged.

https://github.com/9fans/drawterm/commit/9320b94c17a5009a7b50918d38842e268749f752#diff-7cbc4f84d9558c6a8a3236a3e94b85584d7d80805284758fb4ad0abe11836844L61 looks meged

I don't understand which (if any of the patches) to libmp, libsec, libauthsrv from this repo have been merged in Plan 9 libs, if not, we'll have to merge them.

Merging is always complicated because you have to compare two pieces of code that evolved independently.

I don't understand which (if any of the patches) to libmp, libsec, libauthsrv from this repo have been merged in Plan 9 libs, if not, we'll have to merge them.

Merging is always complicated because you have to compare two pieces of code that evolved independently.

I assume they started from the same sources, and I assume the idea was for them to be sync-ed, if so, they don't seem to have a lot of changes between them. Please take a look at libsec, libmp and libauthsrv commit history in this repo, there's not a lof of changes. Doesn't seem hard to merge. Changes are minor.

1125f09#diff-ba43ca4048f51025813c140fdcc7f53f77817dd416f1aa445900c524e5090b86L1 affects libmp, not merged.

For that kind of changes, you have to re-apply the changes Russ did on your libmp: sync with Plan 9 commit to be sure there are no regression.

1125f09#diff-ba43ca4048f51025813c140fdcc7f53f77817dd416f1aa445900c524e5090b86L1 affects libmp, not merged.

For that kind of changes, you have to re-apply the changes Russ did on your libmp: sync with Plan 9 commit to be sure there are no regression.

Yup, exactly! Doesn't seem hard! :)

Ok ,merged, patches for 9legacy if interested.
libmp-gcc-warnings-drawterm.diff
diff --git a/libmp/strtomp.c b/libmp/strtomp.c
index 9c64c33..26e3751 100644
--- a/libmp/strtomp.c
+++ b/libmp/strtomp.c
@@ -32,13 +32,13 @@ init(void)
 	memset(tab.t10, INVAL, sizeof(tab.t10));

 	for(p = set64; *p; p++)
-		tab.t64[*p] = p-set64;
+		tab.t64[(uchar)*p] = p-set64;
 	for(p = set32; *p; p++)
-		tab.t32[*p] = p-set32;
+		tab.t32[(uchar)*p] = p-set32;
 	for(p = set16; *p; p++)
-		tab.t16[*p] = (p-set16)%16;
+		tab.t16[(uchar)*p] = (p-set16)%16;
 	for(p = set10; *p; p++)
-		tab.t10[*p] = (p-set10);
+		tab.t10[(uchar)*p] = (p-set10);

 	tab.inited = 1;
 }

libmp-sun-fixes-drawterm.diff
diff --git a/libmp/dat.h b/libmp/dat.h
index 7c834ac..8542909 100644
--- a/libmp/dat.h
+++ b/libmp/dat.h
@@ -1,4 +1,4 @@
-#define	mpdighi  (mpdigit)(1<<(Dbits-1))
+#define	mpdighi  (mpdigit)(1U<<(Dbits-1))
 #define DIGITS(x) ((Dbits - 1 + (x))/Dbits)

 // for converting between int's and mpint's

Now, I really don't want to write sha2block64 and sha2block128 in assembler now. :D

Ok, #ifdef-ed, not sure if this is ok 0f4e314#diff-e9399bd85711a4c93d1a01968311639e3355a8b3dce252f026d44cd7650ae913R130, if ok, I think you can merge.

Please review this also, if I didn't miss anthing when merging repo changes (I don't think so), it's fine to merge now.

Thanks. I'll will do a final review.

Perhaps you might consider merging to a separate branch for now until everything is complete?

I'm ready to merge into main. Let me know if it's good for you.

Ok to merge!

I think this also closes #12


Provide message for / by zero exception deterministically

Fixes #553

Should we add a DivisionByZeroException or a helper to throw with the same message? Or perhaps that is overkill since there aren't that many usages.

@electrum  This is in a few places, but i don't think we will be adding many more such.


Registered Select element not working

Hello,
I'm trying to use a <select> element to change the language but the page ends up using the "en" values of the .json file even when I declared "es" in the defaultLanguage. Also, when I change the select option, language  doesn't change.
This is the code of the element:
<select id="langs">
  <option value="es">español</option>
  <option value="en">english</option>
</select>

And this is the code I'm using to create the instance:
// Create an xhr instance
var xhr = new XMLHttpRequest();

// Define translator, create a default instance
var translator = new MultiLanguage("es", select = document.getElementById("langs").value);

// Define target file and HTTP method to use.
xhr.open("GET", "./js/translation.json");

xhr.onreadystatechange=(e)=>{
  if(xhr.readyState === 4 && xhr.status === 200)  {
    // Get response text and parse it into JSON.
    var jsonResponse = JSON.parse(xhr.responseText);
    translator.addSheet(jsonResponse);
  }
}

xhr.send()

If I don't use the .value in the selector I get a Empty string passed to getElementById() warning and an Uncaught TypeError: this.externalJSON.concat is not a function error.  Any help?

Hi,
Can you try to change the constructor of the translator to:
// Define and construct translator
var translator = new MultiLanguage("es", [] , document.getElementById("langs"));

And see if this works? Thanks.

Yes, now it does change the language!. It still selects English translation by default tho. I tried adding a selected attribute to the "es" option but still no luck.

Hi,
It will remember the language that the user selected on the last visit, and override the "default language" in your code. The value is stored in the LocalStorage of your browser. To clear this, simply go to
"Inspect Element" -> "Application" -> "Storage" -> "Local Storage"
Delete the KV pair with key "preferred-language"
And refresh the page, the default language should be "es."
Please let me know if this resolves your problem :)

The reason why the register select element doesn't work is that you may not skip a parameter of the construct like in Python.
Here is an example:
`
//Consider you have a class in Javascript:
class MyClass
{
//Default value is like below.
constructor(a=0,b=1,c=1)
{
this.a = a;
this.b = b;
this.c = c;
}
}
(()=>{
//Construct an object for this class:
//In Python you can skip parameter "b" like this, but not in Javascript.
//although you wrote c=3, 3 is still being assigned to b.
var obj = new MyClass(3,c=3);
console.log("a="+obj.a);
console.log("b="+obj.b);
console.log("c="+obj.c);
//Output: a=3 b=3 c=1
})();
`
On my end, I did not check the datatype being passed onto the externalJSON attribute, so that's why when you use document.getElementById("langs").value it's giving that error because it passes a string instead of an Array. A string does not have method .concat(Array) (but has an method .concat(string) ), consequently giving an error of concat method not found.
Same thing for the case without ".value", a DOM being passed to an attribute that is supposted to be an array.

Got it. I cleared LocalStorage and checked in a incognito window and it's working now. Thank you very much :)

That's great! You are welcome 👍


How to integrate PHP emails using Mailtrap

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Proposed title of article
How to integrate PHP emails using Mailtrap
Introduction paragraph (2-3 paragraphs):
Sending email messages are very common for a web application, for example, sending welcome email when a user create an account on your website, sending newsletters to your registered users, or getting user feedback or comment through website's contact form, and so on.
You can use the PHP built-in mail() function for creating and sending email messages to one or more recipients dynamically from your PHP application either in a plain-text form or formatted HTML.
In this tutorial, I will show how to send these emails and show them on the mailtrap.
Key takeaways:
1.Sending Plain Text Emails
2.Sending HTML Formatted Emails
3.PHP built-in mail function ()
4.Simple Transmission Protocol (SMTP)
5.PHP mailing packages
References:
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

already have an issue pending..will reopen at a later date.

to help avoid a backlog queue we are only accepting one article topic/pr approved at a time 👍 can be reopened once the first PR is merged.

Hello @hectorkambow, kindly reopen this, I'm ready to write it..


workbench.editor.enablePreview false not working

Hello,
I have been using Visual Studio for a few months now. In the beginning everything was working fine and in particular any file selected from the Explorer would be open in a new tab in the editor. One day all of a sudden, I don't know if I did something wrong honestly, this function of opening files in new tabs stopped working: whenever I select a new file (even though the previous file has been modified) this takes the place of the previous file I was looking at and so it does not open another tab for this new file.
I looked for some solutions and apparently this function is regulated by the variable workbench.editor.enablePreview. When this is set to false, multiple files should be open on different tabs. I tried to modify this option and restart VisualStudio but nothing changes.
Could you please help me to find a solution?
Thanks a lot!

If yes, please post your version and platform information (see Help\About) and give simple steps to reproduce the issue from a new VS Code window.

/gifPlease

Sorry for not uploading a video before. Here we are: when I click on a different file from the Explorer I would like VS to open a new tab, whereas now the new file substitutes the previously opened file.

@degennar looking at that video, it does not seem like you have preview editors enabled. Another thing that can cause the editor to get replaced is a very small workbench.editor.limit.value value (e.g. 1). Do you have anything like that configured?

@degennar looking at that video, it does not seem like you have preview editors enabled. Another thing that can cause the editor to get replaced is a very small workbench.editor.limit.value value (e.g. 1). Do you have anything like that configured?

I just checked workbench.editor.limit.value and the value is set to 10. About your first point below you can find a video where I try with all the EditorPreview-related variables switched on and off respectively. As you can see the only difference is in the Open Editor section where the opened files are not listed when variables are enabled, but yet the files are never opened in new tabs.

Yes and nothing changed unfortunately.

Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: https://code.visualstudio.com/insiders/

Dear @bpasero, I installed this version that you suggested and after deactivating the Enable Preview option everything works as expected, that is new files are actually opened in new tabs.

Awesome, then we probably fixed it. I suggest you stick to that insiders version, it is safe to use!

All right, thanks a lot @bpasero !


Translator is ignoring date/time precision specified as part of an interval operator phrase

The translator is ignoring the date/time precision specified as part of an interval operator phrase:
define Interval1: Interval[@2012-01-01T09:00:00.0, @2012-01-01T10:30:00.0]
define Interval2: Interval[@2012-01-01T11:00:00.0, @2012-01-01T18:00:00.0]
define Within: Interval1 ends 1 hour or less before minute of start of Interval2

This should translate to:
define Within: minutes between end of Interval1 and start of Interval2 in Interval(0, 1 * 60]

NOTE: The "* 60" here represents the translator actually performing date/time arithmetic, and should probably be performed with an operation rather than embedding a literal like that. Something like HoursToMinutes(1).

This issue has been corrected in the v12 branch and is available in the 1.2.2-SNAPSHOT. The fix is part of a larger change to the interpretation of timing phrases.


add High School of Mathematics "Acad. Kiril Popov"

the school official website URL: https://omg-bg.com/
the school street address, including city and country: https://goo.gl/maps/H4NAtziVnfKw7twV7

Thanks in advance.

@Martizong Please provide us with a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.
You can provide us with any of the following:

A copy of instruction (a hard-copy or electronic one) given to you by the school that tells you to use an email address in this email domain
An URL of a page at the official school website that says that students use this email domain
A reference to a recognized journal where an article was published by someone from the school, with explicit affiliation to the school, and e-mail address from the email domain
A WHOIS data that link the email domain to the school somehow
A copy of official letter from the school representative saying that the school provides e-mail addresses in this domain to the students
Anything else that can prove this fact in similar way, i.e. can be verified independently.

Hi @philipto
Thanks for the quick response.
We were instructed in class that our e-mails must be built the following way:
<EMAIL_ADDRESS>ex. mine is<EMAIL_ADDRESS>and use them in http://mail.omg-bg.com/
We were not provided with any hard-copy (letter) or electronic instructions or referances.

@Martizong Could you please ask your teacher to make such a note, typed, printed, or hand-written, and sign it with the teacher's name? Literally,
I, <FisrtName LastName>, a teacher of High School of Mathematics "Acad. Kiril Popov",
confirm that students of our school are required to use the school's email addresses
having a pattern<EMAIL_ADDRESS>
<Date, Signature>

Then you can upload this note as a comment to your pull request at https://github.com/JetBrains/swot/pull/12882 using your browser.

@Martizong You might miss my previous comment. Please react.

@philipto Apologies, I did see your previous comment and I'm in the process of getting in contact with my teacher whenever she's free.

Hi @philipto this is my teachers response.

@Martizong Thank you for your patience while there was a delay with processing your request.
Pull request merged. Thank you!


Port forwarding not working

Type: Bug
When I try to start a port forwarding on port 3000, it fails and tells me <<Unable to forward localhost:3000. [forwarding] exited with code 1>>. This does not tell me anything.
 Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.
If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.
Happy coding!

I have the similar problem.
I connect to a remote VM in Azure. I start a Tensorboard session on this VM like this:
Repro steps:

On VM in Azure with Python and Tensorboard installed.
Start a tensorboard session

tensorboard --logdir .
TensorFlow installation not found - running with reduced feature set.
/anaconda/envs/diffusion_env/lib/python3.11/site-packages/tensorboard_data_server/bin/server: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /anaconda/envs/diffusion_env/lib/python3.11/site-packages/tensorboard_data_server/bin/server)
/anaconda/envs/diffusion_env/lib/python3.11/site-packages/tensorboard_data_server/bin/server: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /anaconda/envs/diffusion_env/lib/python3.11/site-packages/tensorboard_data_server/bin/server)
/anaconda/envs/diffusion_env/lib/python3.11/site-packages/tensorboard_data_server/bin/server: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /anaconda/envs/diffusion_env/lib/python3.11/site-packages/tensorboard_data_server/bin/server)
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.14.0 at http://localhost:6006/ (Press CTRL+C to quit)

When I CTRL-click on in the given IP address  it stays stuck loading and never displays anything. (This is on 1.82)
When reverting back to VS Code 1.81 it works correctly and shows my tensorboard logs.

It now suddenly decided to work.

@joverwey which remote extension are you using?

This extension is automatically installed when using Azure ML from the browser. It may be that there is an incompatibility with the latest VS Code and the backend that this installs on the compute instances.


Extract the schedule header to a partial

merge conflicts

@caseyhelbling rebased

Coverage remained the same at 92.523% when pulling 045c0cb2f3e24e995b5fb31ceb920ae0c23b1843 on jcoyne:header into b32d12c296506ceb6a9fb5ffbe39d02122f15d8e on minnestar:master.