Polybar is often completely invisble

My polybar is often completely invisible, as seen here. I'm not exactly sure what causes it to be completely invisible at times, but to temporarily fix it, I have to restart polybar. My compton config. I'm using the latest version of polybar and compton on Arch and this problem has existed for nearly a month now (I haven't touched the posted compton config for ~1 month). tray-transparent = true is commented out in my polybar config.

Can confirm this. I am also using the latest release (3.0.4) on archlinux with bspwm, but without compton. The problem has been here for quite some time.
I believe that the xwindow module is the source of the problem, it some how crashes the display of the bar when some characters are displayed in a window's title. For example, this link from wikipedia make my bar disappear immediately, although I have noto-fonts installed and firefox displays every character in this page correctly, and I have set polybar to also use the noto fonts. @rieje any chance you are also using the xwindow module? Can you test this?

@Iyu do the process crash?

@jaagr nope

Possible dupe of #393? Can you see if you can reproduce this with the most recent git version?

@skystrife Okay the latest git version does not have this problem, using either thelabel-maxlen option or the :0:30:... way. The characters in the title bar of the wikipedia page still does not show up and the error messages are still being printed to the console, but I guess I can live with that.

Might need to directly specify the font that has that glyph from the Noto Sans collection. In this case I think it's "Noto Sans Devanagari". polybar doesn't do automatic font fallback, so if no font in your font list is found that contains a certain glyph, it just skips it.

From these comments, I just did some quick tests and when I have a Youtube video with a different language like Chinese as the title, the polybar became invisible. Otherwise, it's not invisible. I installed polybar-git from the AUR and it seems to fix it for me as far as transparency goes, but xwindow's title removes all the Chinese characters from the title.

Same happens to me. And the problem must be in xwindow module.
To reproduce the problem I just need to open some music files in mpv, and select the next songs very fast to make the title change fast too.

For users that still experience this issue, could you post the output of polybar -v

Indeed!
Here is mine:
λ  ~ polybar -v
polybar 3.0.4

Features: +alsa +curl +i3 +mpd +network

@Plasticoo thank you, could you post your polybar configuration?

@jaagr Yes indeed!
Here: https://gist.github.com/Plasticoo/ee9c37b4e001be1459dce71031cf43a1

@Plasticoo I'm not able to reproduce the issue. Is the process still running for you when it disappears?

@jaagr Yes it is. The process still runs.

@Plasticoo OK, I'll keep trying to reproduce it then.

@jaagr Maybe you can tell me exactly how you're doing it. I find odd the fact that you cannot reproduce the issue with the directives I gave you.

Installed the same fonts
Copied your config
Copied a random mp3 and changed its tags to look like the examples you supplied
Launched mpv with the copies
Pressed the next/prev keys repeatedly.

@jaagr Sorry for being late.
I went on my Linux machine and I can give you new information.
I tried 3 different scenarios.

Pressing next/prev keys repeatedly in a directory with music whose tags have normal characters. Polybar functioned normally.

Pressing next/prev keys repeatedly in a directory with music whose tags have normal characters, plus a song in there with special characters (japanese). Polybar functioned normally.

Pressing next/prev keys repeatedly in a directory full of music whose tags have all special characters. Polybar disappeared.

So maybe you should try with multiple mp3 files like that. I can actually give you the bandcamp link for the download of an album like that:
https://cvltvre.bandcamp.com/album/virtual-life

@Plasticoo thanks, I'll try that out as soon as I get some time.

@Plasticoo this screencast shows your config on the external monitor (the upper area) while I keep changing songs from the album you linked... still can't get the bar to disappear.
Didn't bother to crop the recording so just ignore the other bloat.

@jaagr Well, is there some way I can do a screencast like yours, so I can show you how exactly it happens?

@Plasticoo the script I'm using can be found here

Well, I must start by apologizing. I tried that album that I sent the link to you. But did not work. Tried another one, and the problem persists, it is most likely a very strange character(?). The one i tried is:
https://cvltvre.bandcamp.com/album/upscale-loft
Also, here is my screencast. (Sorry for the screen, I dunno why it recorded this way).

@Plasticoo I just checked the git log and the issue should actually be fixed, but I just realized that I haven't created a new release tag since it was committed. Let me bump the version so that you can update polybar.

@Plasticoo try updating the package (just created a new tag 4e2e2a7a5e0fe81669031ade0f60e1d379b6516d), sorry for the inconvenience

@jaagr I updated, and I tried all the scenarios mentioned here in this issue and it seems fixed! At least for me, maybe the OP, @rieje, could say something about it too!
Thanks for your availability!

@Plasticoo that's great! Props to @skystrife for fixing it. Please close the issue if it's resolved on your end @rieje.

@jaagr unfortunately, I still have this issue. See screenshot. To be clear, I'm not having the invisible bar anymore, but the xwindow title does not show the correct title.

I installed a Chinese font when I installed Arch because I had blocks with numbers shown instead on Firefox and that fixed it, so I don't think that's an issue. On terminal and other applications there isn't an issue with Chinese characters.

@rieje in my experience you need to explicitly specify that font in the config or it will not work.

@TonCherAmi In the polybar config? I installed the package wqy-microhei on Arch for the font. Then fc-list | grep -i "wqy" returned:
/usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc: WenQuanYi Micro Hei,文泉驛微米黑,文泉驿微米黑:style=Regular
/usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc: WenQuanYi Micro Hei Mono,文泉驛等寬微米黑,文泉驿等宽微米黑:style=Regular

so I think I think I'm supposed to use the setting for the polybar config:
font-0 = WenQuanYi Micro Hei Mono Regular:pixelsize=9;3
But it didn't seem to change anything.

@rieje, try font-0 = WenQuanYi Micro Hei Mono:pixelsize=9;3. I believe Regular is not a part of the font's name.

@TonCherAmi That works! I thought Regular in style=Regular needed to be specified. Thanks a lot.

Hello, I’m bringing this thread back to life as I have about the same issue with Japanese characters, but it’s way more specific: I can reproduce the bug only if I launch music containing Japanese characters in mpd/ncmpcpp in uxterm, going to another window and then coming back. Sometimes the bug appears immediately. I tried doing the same with gnome-terminal, and polybar works fine as well as any other software, so I guess the issue is from uxterm’s output to the xwindow module specificaly. The output indicates it drops the unmatched U+0003 and U+0005 characters, though last time I tried to reproduce the error it only dropped the unmatched character U+0003.
Here is the output of polybar -vv :
polybar 3.0.5-git

Features: +alsa +curl +i3 -mpd +network

X extensions: +randr (+monitors) -render -damage -sync -composite +xkb +xrm

Build type: RelWithDebInfo
Compiler: /usr/bin/clang++
Compiler flags: -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall -Wextra -Werror -O2 -pedantic -pedantic-errors
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

My config file (you have also access to my other dotfiles through this link if you need to)

Hi @Phundrak, please don't post on a thread that has been closed for over half a year. Open a new issue instead, there we'll be able to help you better.
When opening the new issue, please also provide the full polybar log when run with -l info


Unable to resolve domain name

When using Posterr 1.1.0 docker on a Synology DS1817+ NAS, I attempting to set Server IP or Domain Name (plex-comp.local) using the computer domain name but it is unable to be resolved and have to use the IP instead. Is there an environment variable that may be used to resolve my computer's domain name? If you have some different suggestions I could try, that would be appreciated.

Here's some different options: https://www.youtube.com/watch?v=i4xpYLASZ9U
Because this is not a Posterr issue, I will close this issue. Should you have further trouble, please re-open it.

While I appreciate the help with this, the video link posted has nothing to do with the issue I was having. My issue had more to do with DNS not being resolved in the container for a computer on my network. The external computer can be found using an IP but not the domain name host.

I understand this pertains to docker and Im sure it works when Posterr is running natively on a computer. I will leave it closed as I can get by with setting a static IP for the external computer for now.

@irodimus Gotcha. Yes, the containers are running on a separate internal Docker network from your normal computers. You will find this is the case for all containers that need to reference your NAS from within their networks. So whilst you can get to the Posterr web page from your PC using the .local address format, you can't use these as a reference inside any container.
Because these .local names are variable by installation, there is nothing I can do about it.


Question - use with rancher

I wonder if this can be used with rancher and if yes, if there are some step by step instructions how to set it up via GUI?
Thx

Good question. I successfully installed this plugin for Kubernetes, but is there a way to use it within Rancher UI?

Has anyone managed to make this work with Rancher?


Error with Sentry and named exports

If I have two files:
// index.js
require('./sentry')

// sentry.js
const Sentry = require('@sentry/node')
module.exports = { log: console.log }

This package will fail to include @sentry/node in the trace (the entrypoint is index.js).
On the other hand, if I use a default export in sentry.js:
// sentry.js
const Sentry = require('@sentry/node')
module.exports = console.log

it works.

After investigating, my code had a bug and that's why @sentry/node was not traced. Sorry for the false alarm.


Analytics for Issues over time

Referencing https://www.trudeaumetre.ca/analytics
Great idea, fantastic implementation. Would definitely like to implement this for the first 100 days at least.

Thoughts?

This could be useful. It would make it easier to track changes from day to day, as many times I go on the page only to realize I don't know what is new and what was already there.
Just a suggestion, not sure how easy/hard it would be to implement, if possible at all.
by /u/Onlyusemeusername from /r/trumptracker

Perhaps it would make more sense if you'd use percentage on the y-axis and move broken promises to the top so the red area would be growing down from the top.

I fixed the x-axis to the length of the term in my drawing above. This has the benefit that you can see how much time there is left until the end of term. Some of the promises might still be unresolved when the term ends. It might make sense to let the x-axis grow after the term ends to show what promises got fulfilled afterwards.


Nebula Authentication: HTTP Error 400

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2022.06.29 (update instructions) or later (specify commit)
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
Hello, I am attempting to download a video off of Nebula and I seem to be running into an authentication issue. It seems like this issue was brought up and solved a few weeks ago, so I'm guessing I may be doing something wrong on my end. I have tried manually putting in my username and password as shown in the Output below, as well as using the --cookies method. No matter what I try I am unable to get it to authenticate me. I have tried a generic video URL and a channel URL with no luck. Any ideas on what I need to tweak to get this to work would be greatly appreciated.
I am running through jeeaaasustest's docker image in unraid if that matters.
Thanks!
NickLandis
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
# yt-dlp -U
Latest version: 2022.06.29, Current version: 2022.06.29
yt-dlp is up to date (2022.06.29)
# yt-dlp -vu --download-archive "/downloads/archive.txt" -o "/PLEX/Videos/YouTube/%(uploader)s/%(upload_date)s - %(title)s.%(ext)s" --add-metadata --all-subs --embed-subs --embed-thumbnail --merge-output-format mp4 --username "EMAIL" --password "PASSWORD" https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham
[debug] Command-line config: ['-vu', '--download-archive', '/downloads/archive.txt', '-o', '/PLEX/Videos/YouTube/%(uploader)s/%(upload_date)s - %(title)s.%(ext)s', '--add-metadata', '--all-subs', '--embed-subs', '--embed-thumbnail', '--merge-output-format', 'mp4', '--username', 'PRIVATE', '--password', 'PRIVATE', 'https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.06.29 [9d339c4]
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.15.46-Unraid-x86_64-with-glibc2.31 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg N-107262-g4454142782-20220628 (setts), ffprobe N-107262-g4454142782-20220628
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] [generic] Extracting URL: /downloads/archive.txt
ERROR: [generic] '/downloads/archive.txt' is not a valid URL. Set --default-search "ytsearch" (or run  yt-dlp "ytsearch:/downloads/archive.txt" ) to search YouTube
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/common.py", line 640, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/generic.py", line 2792, in _real_extract
    raise ExtractorError(

[Nebula] Logging in to Nebula with supplied credentials
WARNING: [Nebula] Authentication failed or rejected: HTTP Error 400: Bad Request
ERROR: [Nebula] lindsay-ellis-how-tropic-thunder-exposes-the-sham: This video is only available for registered users. Use --cookies, --cookies-from-browser, --username and --password, or --netrc (watchnebula) to provide account credentials
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/common.py", line 638, in extract
    self.initialize()
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/common.py", line 544, in initialize
    self._perform_login(username, password)
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/nebula.py", line 145, in _perform_login
    self._nebula_api_token = self._retrieve_nebula_api_token(username, password)
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/nebula.py", line 64, in _retrieve_nebula_api_token
    return self._perform_nebula_auth(username, password)
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/nebula.py", line 34, in _perform_nebula_auth
    self.raise_login_required()
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/common.py", line 1106, in raise_login_required
    raise ExtractorError(msg, expected=True)

#

Sorry for the delay. Finally got around to testing this, but can't reproduce
❯ yt-dlp -u XXX -p XXX https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham
[Nebula] Logging in to Nebula with supplied credentials
[Nebula] Authorizing to Nebula
[Nebula] Retrieving Zype access token
[Nebula] lindsay-ellis-how-tropic-thunder-exposes-the-sham: Fetching video meta data
WARNING: [Zype] Login with password is not supported for this website. Use --cookies-from-browser or --cookies for the authentication. See  https://github.com/ytdl-org/youtube-dl#how-do-i-pass-cookies-to-youtube-dl  for how to manually pass cookies
[Zype] 612fa64a0d244b00018c1657: Downloading JSON metadata
[Zype] 612fa64a0d244b00018c1657: Downloading m3u8 information
[info] 612fa64a0d244b00018c1657: Downloading 1 format(s): hls-4280
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 121
[download] Destination: How Tropic Thunder Exposes the Sham [612fa64a0d244b00018c1657].mp4
[download]   3.1% of ~816.96MiB at    2.77MiB/s ETA 04:05 (frag 3/121)
ERROR: Interrupted by user

Double check that the creds you passed to yt-dlp are correct

Thank you for working on this. I could not get --cookies to work; however I was able to get the download working once I changed my password. The old password I provided you contained special characters, and the new password did not so I wonder if that could be part of the problem. Perhaps it's a difference in how the docker container I'm using is handling things versus your installation.
For the record here is the output using the old password
# yt-dlp -vu --download-archive "/downloads/archive.txt" -o "/PLEX/Videos/YouTube/%(uploader)s/%(uploader)s - %(upload_date)s - %(title)s.%(ext)s" --add-metadata --all-subs --embed-subs --embed-thumbnail --merge-output-format mp4 --username "[REDACTED]" --password "[REDACTED]" https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham
[debug] Command-line config: ['-vu', '--download-archive', '/downloads/archive.txt', '-o', '/PLEX/Videos/YouTube/%(uploader)s/%(uploader)s - %(upload_date)s - %(title)s.%(ext)s', '--add-metadata', '--all-subs', '--embed-subs', '--embed-thumbnail', '--merge-output-format', 'mp4', '--username', 'PRIVATE', '--password', 'PRIVATE', 'https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.07.18 [135f05e]
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.18.14-Unraid-x86_64-with-glibc2.31 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg N-107417-g940169b8aa-20220717 (setts), ffprobe N-107417-g940169b8aa-20220717
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] [generic] Extracting URL: /downloads/archive.txt
ERROR: [generic] '/downloads/archive.txt' is not a valid URL. Set --default-search "ytsearch" (or run  yt-dlp "ytsearch:/downloads/archive.txt" ) to search YouTube
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/common.py", line 644, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/generic.py", line 2790, in _real_extract
    raise ExtractorError(

[Nebula] Logging in to Nebula with supplied credentials
WARNING: [Nebula] Authentication failed or rejected: HTTP Error 400: Bad Request
ERROR: [Nebula] lindsay-ellis-how-tropic-thunder-exposes-the-sham: This video is only available for registered users. Use --cookies, --cookies-from-browser, --username and --password, or --netrc (watchnebula) to provide account credentials
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/common.py", line 642, in extract
    self.initialize()
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/common.py", line 548, in initialize
    self._perform_login(username, password)
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/nebula.py", line 145, in _perform_login
    self._nebula_api_token = self._retrieve_nebula_api_token(username, password)
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/nebula.py", line 64, in _retrieve_nebula_api_token
    return self._perform_nebula_auth(username, password)
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/nebula.py", line 34, in _perform_nebula_auth
    self.raise_login_required()
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/common.py", line 1108, in raise_login_required
    raise ExtractorError(msg, expected=True)

Here is the output with the new password
# yt-dlp -vu --download-archive "/downloads/archive.txt" -o "/PLEX/Videos/YouTube/%(uploader)s/%(uploader)s - %(upload_date)s - %(title)s.%(ext)s" --add-metadata --all-subs --embed-subs --embed-thumbnail --merge-output-format mp4 --username "[REDACTED]" --password "[REDACTED]" https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham
[debug] Command-line config: ['-vu', '--download-archive', '/downloads/archive.txt', '-o', '/PLEX/Videos/YouTube/%(uploader)s/%(uploader)s - %(upload_date)s - %(title)s.%(ext)s', '--add-metadata', '--all-subs', '--embed-subs', '--embed-thumbnail', '--merge-output-format', 'mp4', '--username', 'PRIVATE', '--password', 'PRIVATE', 'https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.07.18 [135f05e]
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.18.14-Unraid-x86_64-with-glibc2.31 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg N-107417-g940169b8aa-20220717 (setts), ffprobe N-107417-g940169b8aa-20220717
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] [generic] Extracting URL: /downloads/archive.txt
ERROR: [generic] '/downloads/archive.txt' is not a valid URL. Set --default-search "ytsearch" (or run  yt-dlp "ytsearch:/downloads/archive.txt" ) to search YouTube
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/common.py", line 644, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/lib/python3.9/dist-packages/yt_dlp/extractor/generic.py", line 2790, in _real_extract
    raise ExtractorError(

[Nebula] Logging in to Nebula with supplied credentials
[Nebula] Authorizing to Nebula
[Nebula] Retrieving Zype access token
[debug] [Nebula] Extracting URL: https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham
[Nebula] lindsay-ellis-how-tropic-thunder-exposes-the-sham: Fetching video meta data
WARNING: [Zype] Login with password is not supported for this website. Use --cookies-from-browser or --cookies for the authentication. See  https://github.com/ytdl-org/youtube-dl#how-do-i-pass-cookies-to-youtube-dl  for how to manually pass cookies
[debug] [Zype] Extracting URL: https://player.zype.com/embed/612fa64a0d244b00018c1657.html?access_token=lnCK9JahcvZUlF9dK4gEZ3RmTltYTHdWqNPDzuUpGVw
[Zype] 612fa64a0d244b00018c1657: Downloading JSON metadata
[Zype] 612fa64a0d244b00018c1657: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Downloading subtitles: en
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 612fa64a0d244b00018c1657: Downloading 1 format(s): hls-4280
[info] Writing video subtitles to: /PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.en.vtt
[debug] Invoking hlsnative downloader on "https://storage.googleapis.com/zype-subtitles-prod/5c182d06649f0f134a001703/612fa64a0d244b00018c1657/subtitles/en.m3u8"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 120
[download] Destination: /PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.en.vtt
[download] 100% of 27.17KiB in 00:23
[info] Downloading video thumbnail 3 ...
[info] Writing video thumbnail 3 to: /PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.jpeg
[debug] Invoking hlsnative downloader on "https://mf.zype.com/eyJhbGciOiJIUzI1NiJ9.eyJ1cmwiOiJodHRwczovL2d2c20uenlwZS5jb20vNWMxODJkMDY2NDlmMGYxMzRhMDAxNzAzLzYxMmZhNjRhMGQyNDRiMDAwMThjMTY1Ny82MTJmYTY0YTBkMjQ0YjAwMDE4YzE2NTgvNTQ1YmRhYjE2OTcwMmQwNWJjMDEwMDAwLzZjZmRkMzhlLTNjZGUtNDVkMy1hZDA4LTljMmE5YzUxNWYzOS5tM3U4IiwicGFyYW1zIjp7IjZwTEtNUTN5IjoiU3FpM05nOTAiLCJGMzhiMWRGNCI6IjYyZWQzOWQ4YzQxYTIyMDAwMWQwMmFjZiJ9LCJleHAiOjE2NTk3MjQ4MDh9.U57cdEO6PUMO_aWgOiETtLjhyAma3uNjX9HrPbRpodo"
[download] /PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.mp4 has already been downloaded
[download] 100% of 565.39MiB
[EmbedSubtitle] Embedding subtitles in "/PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:/PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.mp4' -i 'file:/PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.en.vtt' -map 0 -dn -ignore_unknown -c copy -c:s mov_text -map -0:s -map 1:0 -metadata:s:s:0 language=eng -movflags +faststart 'file:/PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.temp.mp4'
Deleting original file /PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.en.vtt (pass -k to keep)
[Metadata] Adding metadata to "/PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:/PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.mp4' -map 0 -dn -ignore_unknown -c copy -write_id3v1 1 -metadata 'title=How Tropic Thunder Exposes the Sham' -metadata date=20210901 -metadata 'description=Discuss this video on [Reddit.](https://www.reddit.com/r/watchnebula/comments/pfy9u4/lindsay_ellis_how_tropic_thunder_exposes_the_sham)

This week we apply John G Cawelti’s concept of generic transformation in film to Ben Stiller’s 2008 classic, Tropic Thunder, a movie which marks a change in Hollywood current, but what (if anything) did it actually change?)' -metadata 'synopsis=Discuss this video on [Reddit.](https://www.reddit.com/r/watchnebula/comments/pfy9u4/lindsay_ellis_how_tropic_thunder_exposes_the_sham)

This week we apply John G Cawelti’s concept of generic transformation in film to Ben Stiller’s 2008 classic, Tropic Thunder, a movie which marks a change in Hollywood current, but what (if anything) did it actually change?)' -metadata purl=https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham -metadata comment=https://nebula.app/videos/lindsay-ellis-how-tropic-thunder-exposes-the-sham -metadata 'artist=Lindsay Ellis' -metadata 'show=Lindsay Ellis' -movflags +faststart 'file:/PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.temp.mp4'
[EmbedThumbnail] mutagen: Adding thumbnail to "/PLEX/Videos/YouTube/Lindsay Ellis/Lindsay Ellis - 20210901 - How Tropic Thunder Exposes the Sham.mp4"


docs: import file with command

Thanks - I figured we should mention both sources.

Thanks - I figured we should mention both sources.


pass loglevel used in rebar3 to relx

Resolves https://github.com/rebar/rebar3/issues/1109

The format you used for log levels isn't valid in R15. We have a util function somewhere that addresses it to pass tests.

Goddamn R15.


0.3.0 refactor errors

Renamed error types to conform to https://rust-lang.github.io/api-guidelines/naming.html#names-use-a-consistent-word-order-c-word-order

Looks good! But I think it would make sense to either add a test for error conversions or add the #[tarpaulin(ignore)] macro to the functions as this currently kills our test coverage.

I tried adding tests:
#[test]
    fn test_errors() {
        assert_ne!(Error::InvalidPacketId(8),Error::InvalidPacketId(2));
        assert_eq!(Error::InvalidPacketId(9),Error::InvalidPacketId(9));

        assert_eq!(Error::EmptyPacket(),Error::EmptyPacket());
        assert_ne!(Error::EmptyPacket(), Error::IllegalActionAfterClose());

        assert_eq!(Error::IncompletePacket(), Error::IncompletePacket());

        // Reqwest's error type has a pub(crate) contructor

        assert_eq!(Error::IncompleteWebsocket(WebSocketError::ProtocolError("test")), Error::IncompleteWebsocket(WebSocketError::ProtocolError("test")));
        assert_ne!(Error::IncompleteWebsocket(WebSocketError::ProtocolError("")), Error::IncompleteWebsocket(WebSocketError::NoDataAvailable));

        assert_eq!(Error::InvalidBase64(DecodeError::InvalidLength), Error::InvalidBase64(DecodeError::InvalidLength));
        assert_ne!(Error::InvalidBase64(DecodeError::InvalidLastSymbol(10, 2)), Error::InvalidBase64(DecodeError::InvalidByte(10, 2)));

        assert_eq!(Error::InvalidHandshake("test".to_owned()), Error::InvalidHandshake("test".to_owned()));

        assert_ne!(Error::InvalidHandshake("test".to_owned()), Error::InvalidHandshake("".to_owned()));

        // Parse int errors cannot be constructed without unstable features

        // Cannot create JsonErrors either

        assert_eq!(Error::InvalidPacket(), Error::InvalidPacket());
        assert_eq!(Error::InvalidPoisonedLock(), Error::InvalidPoisonedLock());

        assert_eq!(Error::InvalidUrl("tst".to_owned()), Error::InvalidUrl("tst".to_owned()));

        // Cannot create UTF8 errorss

        // Cannot create websocket URL

        assert_eq!(Error::MissingAck(28), Error::MissingAck(28));

        assert_eq!(Error::MissingUrl(), Error::MissingUrl());
    }
    ``` but some of our nested error types don't implement Eq making testing impossible

Looks good! But I think it would make sense to either add a test for error conversions or add the #[tarpaulin(ignore)] macro to the functions as this currently kills our test coverage.

Isn't trapaulin a different framework? We just want codecov to ignore, right? https://docs.codecov.com/docs/ignoring-paths

Looks good! But I think it would make sense to either add a test for error conversions or add the #[tarpaulin(ignore)] macro to the functions as this currently kills our test coverage.

Isn't trapaulin a different framework? We just want codecov to ignore, right? https://docs.codecov.com/docs/ignoring-paths

Mhh no codecov is only the point where the coverage report is uploaded to. If you look at the workflows/coverage.yml file tarpaulin is used to generate the coverage:
 - name: Run cargo-tarpaulin
        uses<EMAIL_ADDRESS>        with:
          version: "0.18.0-alpha3"
          out-type: Lcov

There is a more in depth documentation about how to use their proc-macro annotations, but generally you tell the generator which functions to skip.

Any preferences on when this should get merged?

Could you please rebase onto refactoring. I forgot to add the CI pipeline for the refactoring branch. But it makes sense to check coverage and ensure that the tests pass for every PR. This is also valid for all other open PRs with code changes. I'm sorry for not checking it until now!

Any preferences on when this should get merged?

Sooner is better, all open PRs are ready to be merged into refactoring as soon as they are approved. If they are not ready, I open them as drafts.


Rename simply folder with code to source

This helps to avoid confusion and makes importing more sane.

@stefansc1 what did you mean by this and would it still be usefull?

Our package is called simply and the code directory is also called simply. On occasion, this resulted in  imports like from simply import simply. Also, it could happen that the wrong simply directory was imported.
I agree with Timo that this is wontfix, as it is convention to name the code directory the same as the package. After installing, this actually makes the code more readable, as you're just importing (code-) simply: from simply import market_wrapper (in contrast to the more ambiguous from source import ...)

but what about "from simpy-src import" or we name the other project simply-toolbox oä (or "from theBEST import") ??? I dont like simply/simply at all!


It would be really nice if you could censor just one char in bad words (f*ck) instead of censoring all world.

bump


Can not start ansible-navigator container in podman on mac os

ISSUE TYPE

Bug Report

SUMMARY
Hi.
I followed the Installing ansible-navigator (macos) instructions. When i try to run playbook with ansible-navigator, I get
Error: preparing container cdff01dfcab0d78e9fbaef67bf4a93cb5e40624ce01ed0adbe06d64fd01e8e27 for attach: lsetxattr /var/folders/rh/x8nmgc4x1rl9tsjy4phwv5hh0000gn/T/ansible-navigator_6v8bx7fr/artifacts: operation not supported Please review the log for errors.
ANSIBLE-NAVIGATOR VERSION
24.6.0

CONFIGURATION
ansible-navigator:
  execution-environment:
    image: quay.io/ansible/awx-ee:latest
    pull:
      policy: missing
    environment-variables:
      set:
        ANSIBLE_CONFIG: ansible.cfg
  mode: stdout
  playbook-artifact:
    enable: false

LOG FILE

STEPS TO REPRODUCE
ansible-navigator run playbook.yml
EXPECTED RESULTS
Playbok should execute
ACTUAL RESULTS
Get error
Error: preparing container cdff01dfcab0d78e9fbaef67bf4a93cb5e40624ce01ed0adbe06d64fd01e8e27 for attach: lsetxattr /var/folders/rh/x8nmgc4x1rl9tsjy4phwv5hh0000gn/T/ansible-navigator_6v8bx7fr/artifacts: operation not supported Please review the log for errors.

Related issue: https://github.com/ansible/ansible-navigator/issues/1259

@dkoci, can you paste the logs from ansible-navigator.log in here ?


Add check to lint open api spec

Added usage of Spectral to validate the openapi specification

Added .spectral.yaml file with validation rules (default: all)
Added github workflow check to lint the results on all PR's with changes to the specification files

#13


Meta-Issue: Improvements to Razor experience in class libraries

Things to consider:

[ ] Add Views and Controllers via Add New Item in a Net Standard library. user feedback

@DamianEdwards @Eilon - I know there was more we wanted to do, what else goes on this list?

cc @sebastienros for anything he might have run into w/ Orchard Core.


$trackedJob must not be accessed before initialization

I am getting below error for laravel 11
[2024-09-08 06:39:49] local.ERROR: Typed property App\Jobs\ProcessClientInvoice::$trackedJob must not be accessed before initialization {"exception":"[object] (Error(code: 0): Typed property App\\Jobs\\ProcessClientInvoice::$trackedJob must not be accessed before initialization at C:\\wamp\\www\\web-app\\vendor\\mateusjunges\\laravel-trackable-jobs\\src\\Concerns\\Trackable.php:36)

I have the same issue, can anybody give us a hand. thanks!

This https://github.com/mateusjunges/trackable-jobs-for-laravel?tab=readme-ov-file#tracking-jobs should fix your issue.


False parsing of ArrayPattern

https://github.com/open-source-labs/reactime/blob/37ae68c5615f44a977fb08137adedf709b472353/src/backend/helpers.ts#L107-L114
The above code breaks for the following case:
const [, setState] = useFoo();

because hook.id.elements[0] is null with the above pattern match. hook.name will crash.

Hi @anilanar,
Thanks for bringing this to our attention, we are looking into it.
Could you possibly link to the repo where you're having this issue?
Thanks!

@rtviner I cannot. If const [, setState] = useFoo(); is not reproducable, feel free to close.

@rtviner I cannot. If const [, setState] = useFoo(); is not reproducable, feel free to close.

This should be easy to fix.  See https://github.com/open-source-labs/reactime/pull/261 for a fix for a similar issue in the same part of the code.

Already found a fix in a prior branch and merged in from a prior contributor see #261 thread


[HOLD for payment 2023-09-06] [$1000] Workspace - Highlight on text is displayed when email is pressed in Bills screen

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

Issue found when executing PR https://github.com/Expensify/App/pull/24244
Action Performed:

Open app in iOS
Go to Settings > Workspaces > Select a Workspace > Bills
Tap on the email shown in the Manage your bills section

Expected Result:
No highlight on text when email is pressed
Actual Result:
Highlight is displayed when email is pressed
Workaround:
Unknown
Platforms:

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

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/455abaaf-662e-436d-afe8-50538a6451da
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01b7076c95fa743b6d
Upwork Job ID:<PHONE_NUMBER>877830144
Last Price Increase: 2023-08-18
Automatic offers:

mollfpr | Reviewer | 26302490

I'm unable to reproduce this at all on iOS (in either an expensifail account, or in a public domain account).

@allroundexperts could you please share what you're seeing in a public domain account?

I don't think that is a bug. There is nothing to select there purposefully as public domain emails do not have a bill intake email address to send in bills (as they don't have a private domain).

Got it, thanks for clarifying that!

Yeah, I cannot reproduce this at all on iOS v1.3.54-11. This is what I see:

You mean long pressing on the bill intake email address? If so, doing that highlights the email (as long as I am long pressing). But does not result in the check mark appearing. Which feels like expected behavior IMO.

Awaiting proposals

Not overdue.

Still awaiting proposals

Ah, thanks! I had missed that one.

@allroundexperts I think we don't need to make it platform-specific since suppressHighlighting is only for iOS.
I just tested the proposal, and it fixed the issue. So let's go with @allroundexperts proposal.
🎀 👀 🎀 C+ reviewed!

Pending @MonilBhavsar's review

Reviewing now

I think it's a regression from https://github.com/Expensify/App/pull/19391. Before that, we used Text with suppressHighlighting in the CopyTextToClipboard component.

Got it, thanks for looking!
It's been a while, so let's fix that here. Agree with not making platform specific

@mollfpr / @allroundexperts mind completing the BZ checklist here so we can prep to issue payment next week?

Bumped

@allroundexperts was assigned to this issue on 2023-08-24, and the PR was merged on 2023-08-25, so this qualifies for a speed bonus. This means we need to issue the following payments:

@allroundexperts - $1,500 ($1000 for PR + $500 speed bonus). Paid via NewDot.
@mollfpr - $1,500 ($1000 for C+ review +$500 speed bonus). Paid via Upwork.
No reporting bonus here.

Sorry for the delay @joekaufmanexpensify

[@mollfpr / @allroundexperts] The PR that introduced the bug has been identified. Link to the PR:

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

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

https://github.com/Expensify/App/pull/19391/files#r1316716014

[@mollfpr / @allroundexperts] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

The regression step should be enough.

[@mollfpr / @allroundexperts] Determine if we should create a regression test for this bug.
[@mollfpr / @allroundexperts] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Login with a expensify.cash email or reverse the condition here.
Go to Settings -> Work spaces -> Select Any workspace -> Bills.
Click on the email in the Manage your bills section
Verify that the click does not highlight the email.
👍 or 👎

This is a pretty minor bug that doesn't impact the user experience, so my 2c is no regression test is needed here.

@mollfpr $1,500 sent and contract ended!

@allroundexperts could you please request $1,500 in NewDot and confirm here once complete?

Great, thanks! Going to close this out for now. If your request isn't paid within the next 7 days, LMK and I will look into it.

Note for the individual paying, that the payment summary message is here.

$1,500 approved for payment via NewDot based on BZ summary.


Update coursier to 2.0.0-RC6-6

Updates io.get-coursier:coursier from 2.0.0-RC6-5 to 2.0.0-RC6-6.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.get-coursier", artifactId = "coursier" } ]

labels: library-update, semver-pre-release

Subsumed by https://github.com/almond-sh/almond/pull/514.


Update style types to also accept styles created by the StyleSheet

Is it a bugfix ?
No

If yes, which issue (fix #number) ?

Is it a new feature ?
No

Include documentation, demo GIF if applicable
https://imgur.com/a/sbuu7pZ

Describe what you've done:
I`ve added new style types
How to test it ?
By using a typescript linter you can pass a stylesheet obj to the Swiper and see if a warning pops up.

Duplicate of #1000


Backport "Only cache base types when gadt state is empty" to LTS

Backports #19562 to the LTS branch.
PR submitted by the release tooling.
[skip ci]

No regressions detected in the community build up to lts-19605.
Reference


[SPARK-25331][SS] Make FileStreamSink ignore partitions of batches that have already been written to file system

What changes were proposed in this pull request?
Reproduce File Sink duplication in driver failure scenario to help understanding the situation.
Propose a new StagingFileCommitProtocol that creates the target files in a staging subdirectory and upon job commit it moves all the files to the target directory. The target file names of a task will be the same in 2 different runs. This way a potential source for duplication (when same content is placed into 2 files with different names) is eliminated.
How was this patch tested?
Created specific unit test for the new protocol: StagingFileCommitProtocolSuite
Ran the test that reproduced the problem: FileStreamSinkUnitSuite
Made FileStreamStressSuite more strict to demand exactly once delivery.
Tested on a 4 machine cluster sending 30000 messages 20 times killing the driver. Each message was delivered exactly once.
Ran tests for sql with sbt.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@rxin could you please look into this change?

@lw-lin , @marmbrus , in the meantime I found that you have been discussing about having deterministic file names in a PR. Could you please tell those cases?
I was just thinking if it is a reasonable expectation from a sink's point of view to receive the same data partitioned the same way if it is actually the same batch?
@gaborgsomogyi, you may also be interested in this change.

I've taken a look at the things and I think the issue solved in the mentioned PR but not yet documented. If somebody would like to use the output directory of a spark application which uses a file sink (with exactly-once), then it must read the metadata first to get the list of valid files.
Considering these this PR can be closed.

So I am considering this as the recommended way to read a file sink's output. If there is a need to include the protocol in this PR as an alternative we can still reopen it.


Incorrect file name length calculation

When I tested, I found that there was a calculation error in the file name of the uploaded file.
Here is the link I tested in jsfiddle
jsfiddle link

<input type="text" id="txt_report_title" name="report_title" maxlength="150" value="20200221_DRAMeXchange--Datacenter Demand Gradually Improves in 4Q19, with Three Giants to Enjoy Continual Growth of 8.8% in Server Memory Revenue.pdf" >

 <input type="file" id="file_report" name="report_title" maxlength="150"  >

$('input#txt_report_title').maxlength();
$('input#file_report').maxlength({
  alwaysShow: true

});

Hi, I don't understand.
20200221_DRAMeXchange--Datacenter Demand Gradually Improves in 4Q19, with Three Giants to Enjoy Continual Growth of 8.8% in Server Memory Revenue.pdf
is 149 characters long.
BS Maxlength counts 149 too.
Did I miss something ?

Hi djibe
Sorry I didn't describe it clearly enough.
I have attached a video file, I hope you understand.
I found that when I upload the file, the length of the file name will be calculated differently, it will be 161, not 149
錄製_2020_02_22_01_58_43_824.zip

OK.
This is due to HTML DOM interaction with file input.
Open your fiddle or make a local file with JQuery.
Select your file.
Open Developer mode F12 > console
Send this code $('#file_report').val();
You get "C:\fakepath\20200221_DRAMeXchange--Datacenter Demand Gradually Improves in 4Q19, with Three Giants to Enjoy Continual Growth of 8.8% in Server Memory Revenue.pdf"
That is 161 characters isn't it ?
So, indeed, plugin needs a correction of calculation for file input.
Thanks for your report !

@djibe
Haha, that's it. I didn't notice that "val ()" will show the full path.
And my user has no relevant webpage knowledge, so I don't know how to explain this situation.
I had to set (maxlength = "300") and skip this question first.
Thank you very much for your explanation.

Hi @nick322 .
This is in fact a "bug" or a feature.
I think you should reopen your issue until someone fixes it.
See you

Please close issue,
fixed in 1.9.0.


chore: release 2.1.2

:robot: I have created a release *beep* *boop*
2.1.2 (2019-06-26)
Bug Fixes

changes to default values in vulnerability.proto (de6dcda)
docs: link to reference docs section on googleapis.dev (#23) (4e8f852)

This PR was generated with Release Please.

Release is at https://github.com/googleapis/nodejs-grafeas/releases/tag/v2.1.2

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Border of row is disappear when scroll down

Describe the bug
When I scroll down in table around 20 rows is looking fine, but after that border of row will be display wrong position and then it disappear.
Your minimal, reproducible example
Code sandbox
Steps to reproduce
I using table example from document
and modify style of <table> with style={{ borderCollapse: "collapse" }}
and style of <tr> in <tbody> by adding borderTop: "1px solid #ff0000"
Expected behavior
Border of each row should be visible and display correctly position
How often does this bug happen?
Every time
Screenshots or Videos
https://github.com/TanStack/virtual/assets/37901109/40926069-52ba-4eac-b246-2bd333523b39
Platform
OS: macOS
Browser: Google chrome Version 119.0.6045.105
tanstack-virtual version
"3.0.0-beta.68"
TypeScript version
No response
Additional context
No response
Terms & Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

I change estimateSize in useVirtualizer from 34 to 35 and border seem to display correct position but it still disappear after row 57

UPDATE : from example at https://github.com/TanStack/virtual/issues/585#issuecomment-1716173260 can solve this problem
By adding calculated height <tr>  before and after section that rendering virtual row

This is interesting, looks like it's connected how borders are handled in table by browser.

I ran into similar issue with the border-collapse: collapse and not sure what's causing it but seems that getBoundingBox returns wrong values somehow.

Facing the same issue. Is there a better example with react-table where rows can have variable height?

@ak274 best is to change positioning strategy, checkout this comment https://github.com/TanStack/virtual/issues/640#issuecomment-1885029911 same as @nrc2539 was suggesting

Had somewhat the same issue, we used a workaround with a box-shadow instead of a border.


AttributeError: 'module' object has no attribute 'cpu_count'

Hi, I am a graduate student currently working on a project related to this. I wanna run this code to get a grasp of how this program works. However, some issues happens
Here is what I got

Is there a possible fix for this? I have looked through all information on google related to this issue but cannot really find a fix
Thanks for reading this post

Did you just trying to run the pix2pix.py file? Did you make any changes to it?


Using most System.IO file classes will crash on iOS devices (not in the simulator)

Godot version:
3.2.2 Mono w/ Mono 6.10 stable
OS/device including version:
Build w/ OSX Catalina, tested on various iPhones w/ iOS 13
Issue description:
App will crash when using most of the System.IO classes, such as File or FileStream. This only happens on real devices. The simulator works fine.
The crash occurs any time the framework needs to call the native Stat method to check if a file exists (and most of the File classes do this on creation to know whether to overwrite, append, or throw depending on modes passed).
SystemNative_Stat2
  at Interop+Sys.Stat (System.ReadOnlySpan`1[T] path, Interop+Sys+FileStatus& output)
  at System.IO.FileSystem.FileExists (System.ReadOnlySpan`1[T] fullPath, System.Int32 fileType, Interop+ErrorInfo& errorInfo)
  at System.IO.FileSystem.DirectoryExists (System.ReadOnlySpan`1[T] fullPath, Interop+ErrorInfo& errorInfo)
  at System.IO.FileSystem.DirectoryExists (System.ReadOnlySpan`1[T] fullPath)
  at System.IO.Directory.Exists (System.String path)
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode)

As with #40633, I am unsure whether this is a problem with the way Godot is using Mono, a symptom of AoT (required for iOS), or a problem with the Mono implementation on iOS. I am starting to think it's related and that's its a linking or packaging problem for native methods on iOS.
It's not clear to me which versions of libmono get packed if your local Mono install doesn't match the pre-compiled export template (in my case 6.10 vs 6.8). I also tried this matching my local Mono version to the template. The issue still occurred.
Steps to reproduce:

Open a file in OpenCreate modes (other modes should also trigger this). e.g. new FileStream(Path.Combine(".test"), FileMode.OpenOrCreate);

Minimal reproduction project:
Test-MonoFileIOS.zip

cc @neikeq

I can't reproduce the crash with newly downloaded Godot and newly exported project.
Same as #40633 I see a text edit with OK! in it.
It does however crash on closing the application in mono_debug_domain_unload, but not on start when FileStream or Random get's called.

Interesting. Which Mono version have you built with?

I didn't install any specific version of Mono.
As I said, I've just downloaded a Godot version with Mono and made a clean export of the project you provided.
Resulted Xcode project seems to have a mono libraries imported as static library and application works just fine on both devices and simulator.

Well, I have a mono that got installed with Xamarin, but it's hardly relevant

Is it not? My understanding is that the Mono assemblies that get bundled with your app (including System and mscorlib) are the ones from your local Mono distribution. The export template only contains the precompiled libmono and associated shared libraries for the native entry points. I'm not sure how it works if your assemblies are not matched with the shared libs in the export template. Perhaps I'm misunderstanding how it works?
The broken SystemNative_Stat2 from this ticket is a decent example. It was renamed from Stat due to a breaking change somwhere around Mono 6.8 if I recall. I have no idea which version is in the export template library. Would this be the expected error if the assemblies are from 6.10 and libmono is older?

As I said, I've just downloaded a Godot version with Mono and made a clean export of the project you provided.

By coincidence, I ended up with a fresh Mac today. I tried a new install with the setup you described (Godot 3.2.2, Mono <IP_ADDRESS>, and latest Xcode). I still get a crash on the device under this scenario (but again, not in the simulator). I am unsure why we are getting different results.

Is it not? My understanding is that the Mono assemblies that get bundled with your app (including System and mscorlib) are the ones from your local Mono distribution.

I think it's not, because resulting Xcode project does not have any additional rules for compilation or asset bundling other than just statically linking five libmono libraries and having some additional code in dummy.cpp. I would expect it to have something in Build Phases if it did bundle something from build machine.
That's why I thinks everything is already bundled in static libraries that come with exported project.
I think it would also crash on startup without even getting to Godot's setup if something wasn't really bundled correctly, since iOS loads dynamic libraries on startup.
Maybe running iOS app with --verbose flag can give more details on why this crash is happening.

I'm also not sure why we are having different results, but maybe you can try using Xcode project that I've exported:
https://www.dropbox.com/s/6zx3yne0z8augmb/test_mono.zip?dl=0

Xcode project does not have any additional rules for compilation or asset bundling other than just statically linking five libmono libraries and having some additional code in dummy.cpp. I would expect it to have something in Build Phases if it did bundle something from build machine. That's why I thinks everything is already bundled in static libraries that come with exported project.

My understanding is that the .Net assemblies are run through AoT and then built into a static library that Xcode then uses in the build (lib-aot-<project>.fat.a).  Xcode doesn't need to do any additional steps beyond including the (already built) library, so I wouldn't expect to see it in the Build Phases. Perhaps @neikeq can clarify this when time permits.

I'm also not sure why we are having different results, but maybe you can try using Xcode project that I've exported:
https://www.dropbox.com/s/6zx3yne0z8augmb/test_mono.zip?dl=0

Perfect. I was going to ask if you would mid putting your project up for me to try.
Thanks for helping investigate this.

I'm also not sure why we are having different results, but maybe you can try using Xcode project that I've exported:
https://www.dropbox.com/s/6zx3yne0z8augmb/test_mono.zip?dl=0

Your project crashes on my device (with the same exception from the ticket). I didn't expect that result, and I am not sure where to go from here.

Ok, I think I've managed to break the project :)
Now I receive this error on app startup:
2020-07-30 20:42:13.945985+0300 Test-MonoIos[16948:7644920] Mono: Initializing module...
Mono: Initializing module...
2020-07-30 20:42:13.947447+0300 Test-MonoIos[16948:7644920] Mono JIT compiler version 6.6.0 ((no/d9001b5a)
Mono JIT compiler version 6.6.0 ((no/d9001b5a)
2020-07-30 20:42:13.953888+0300 Test-MonoIos[16948:7644920] **ERROR**: Mono: Core API hash mismatch.
2020-07-30 20:42:13.953908+0300 Test-MonoIos[16948:7644920]    At: modules/mono/mono_gd/gd_mono.cpp:494:_init_godot_api_hashes() - Mono: Core API hash mismatch.
**ERROR**: Mono: Core API hash mismatch.
   At: modules/mono/mono_gd/gd_mono.cpp:494:_init_godot_api_hashes() - Mono: Core API hash mismatch.
2020-07-30 20:42:13.955062+0300 Test-MonoIos[16948:7644920] Mono: Config attempting to parse: '/private/var/containers/Bundle/Application/98184671-601E-45BE-8EEF-18EA0FCE18D0/Test-MonoIos.app/data_Godot/Mono/etc/mono/config'.
2020-07-30 20:42:13.955115+0300 Test-MonoIos[16948:7644920] Mono: Config attempting to parse: '/private/var/mobile/Containers/Data/Application/5111ADF7-2F64-418B-B9C2-74234A610483/.mono/config'.
2020-07-30 20:42:13.972260+0300 Test-MonoIos[16948:7644920] Mono: Image addref mscorlib[0x282786b80] (asmctx DEFAULT) -> .mono/assemblies/Debug/mscorlib.dll[0x13c8bfe00]: 2
2020-07-30 20:42:13.972321+0300 Test-MonoIos[16948:7644920] Mono: Prepared to set up assembly 'mscorlib' (.mono/assemblies/Debug/mscorlib.dll)
2020-07-30 20:42:13.972345+0300 Test-MonoIos[16948:7644920] Mono: Found statically linked AOT module 'mscorlib'.
2020-07-30 20:42:13.975933+0300 Test-MonoIos[16948:7644920] Mono: Unloading image .mono/assemblies/Debug/mscorlib.dll [0x13c8c4400].
2020-07-30 20:42:13.976082+0300 Test-MonoIos[16948:7644920] Mono: Image addref mscorlib[0x282786c80] (asmctx DEFAULT) -> .mono/assemblies/Debug/mscorlib.dll[0x13c8bfe00]: 4
2020-07-30 20:42:13.976217+0300 Test-MonoIos[16948:7644920] Mono: AOT: image 'mscorlib' found.
2020-07-30 20:42:13.989913+0300 Test-MonoIos[16948:7644920] Mono: Assembly mscorlib[0x282786b80] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 20:42:13.989959+0300 Test-MonoIos[16948:7644920] Mono: Runtime initialized
Mono: Runtime initialized
2020-07-30 20:42:13.989973+0300 Test-MonoIos[16948:7644920] Mono: Loading assembly mscorlib...
Mono: Loading assembly mscorlib...
2020-07-30 20:42:13.989987+0300 Test-MonoIos[16948:7644920] Mono: Assembly mscorlib loaded from path: .mono/assemblies/Debug/mscorlib.dll
Mono: Assembly mscorlib loaded from path: .mono/assemblies/Debug/mscorlib.dll
2020-07-30 20:42:13.990517+0300 Test-MonoIos[16948:7644920] Mono: INITIALIZED
Mono: INITIALIZED
2020-07-30 20:42:13.990530+0300 Test-MonoIos[16948:7644920] Mono: Loading assembly GodotSharp...
Mono: Loading assembly GodotSharp...
2020-07-30 20:42:13.997434+0300 Test-MonoIos[16948:7644920] Mono: Image addref GodotSharp[0x2827b0d00] (asmctx DEFAULT) -> .mono/assemblies/Debug/GodotSharp.dll[0x13c0a7e00]: 2
2020-07-30 20:42:13.997460+0300 Test-MonoIos[16948:7644920] Mono: Prepared to set up assembly 'GodotSharp' (.mono/assemblies/Debug/GodotSharp.dll)
2020-07-30 20:42:13.997469+0300 Test-MonoIos[16948:7644920] Mono: Assembly GodotSharp[0x2827b0d00] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 20:42:13.997478+0300 Test-MonoIos[16948:7644920] Mono: Found statically linked AOT module 'GodotSharp'.
2020-07-30 20:42:14.002316+0300 Test-MonoIos[16948:7644920] Mono: Image addref System[0x2827b0f00] (asmctx DEFAULT) -> .mono/assemblies/Debug/System.dll[0x13c0a8600]: 2
2020-07-30 20:42:14.002341+0300 Test-MonoIos[16948:7644920] Mono: Prepared to set up assembly 'System' (.mono/assemblies/Debug/System.dll)
2020-07-30 20:42:14.002350+0300 Test-MonoIos[16948:7644920] Mono: Assembly System[0x2827b0f00] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 20:42:14.002358+0300 Test-MonoIos[16948:7644920] Mono: Found statically linked AOT module 'System'.
2020-07-30 20:42:14.004929+0300 Test-MonoIos[16948:7644920] Mono: Image addref Mono.Security[0x2827b1100] (asmctx DEFAULT) -> .mono/assemblies/Debug/Mono.Security.dll[0x13c0aaa00]: 2
2020-07-30 20:42:14.004944+0300 Test-MonoIos[16948:7644920] Mono: Prepared to set up assembly 'Mono.Security' (.mono/assemblies/Debug/Mono.Security.dll)
2020-07-30 20:42:14.004953+0300 Test-MonoIos[16948:7644920] Mono: Assembly Mono.Security[0x2827b1100] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 20:42:14.004960+0300 Test-MonoIos[16948:7644920] Mono: Found statically linked AOT module 'Mono.Security'.
2020-07-30 20:42:14.005630+0300 Test-MonoIos[16948:7644920] Mono: AOT: image 'Mono.Security' found.
2020-07-30 20:42:14.006157+0300 Test-MonoIos[16948:7644920] Mono: Image addref System.Core[0x2827b1300] (asmctx DEFAULT) -> .mono/assemblies/Debug/System.Core.dll[0x13c0ab200]: 2
2020-07-30 20:42:14.006169+0300 Test-MonoIos[16948:7644920] Mono: Prepared to set up assembly 'System.Core' (.mono/assemblies/Debug/System.Core.dll)
2020-07-30 20:42:14.006176+0300 Test-MonoIos[16948:7644920] Mono: Assembly System.Core[0x2827b1300] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 20:42:14.006184+0300 Test-MonoIos[16948:7644920] Mono: Found statically linked AOT module 'System.Core'.
2020-07-30 20:42:14.007352+0300 Test-MonoIos[16948:7644920] Mono: AOT: image 'System.Core' found.
2020-07-30 20:42:14.008242+0300 Test-MonoIos[16948:7644920] Mono: Image addref System.Numerics[0x282786f80] (asmctx DEFAULT) -> .mono/assemblies/Debug/System.Numerics.dll[0x13c8eb200]: 2
2020-07-30 20:42:14.008255+0300 Test-MonoIos[16948:7644920] Mono: Prepared to set up assembly 'System.Numerics' (.mono/assemblies/Debug/System.Numerics.dll)
2020-07-30 20:42:14.008263+0300 Test-MonoIos[16948:7644920] Mono: Assembly System.Numerics[0x282786f80] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 20:42:14.008270+0300 Test-MonoIos[16948:7644920] Mono: Found statically linked AOT module 'System.Numerics'.
2020-07-30 20:42:14.008568+0300 Test-MonoIos[16948:7644920] Mono: AOT: image 'System.Numerics' found.
2020-07-30 20:42:14.008586+0300 Test-MonoIos[16948:7644920] Mono: AOT: image 'System' found.
2020-07-30 20:42:14.008626+0300 Test-MonoIos[16948:7644920] Mono: AOT: image 'GodotSharp' found.
2020-07-30 20:42:14.008698+0300 Test-MonoIos[16948:7644920] Mono: Assembly GodotSharp loaded from path: .mono/assemblies/Debug/GodotSharp.dll
Mono: Assembly GodotSharp loaded from path: .mono/assemblies/Debug/GodotSharp.dll
2020-07-30 20:42:14.008734+0300 Test-MonoIos[16948:7644920] Mono: Loading reference 0 of .mono/assemblies/Debug/GodotSharp.dll asmctx DEFAULT, looking for mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
2020-07-30 20:42:14.008744+0300 Test-MonoIos[16948:7644920] Mono: Assembly Ref addref GodotSharp[0x2827b0d00] -> mscorlib[0x282786b80]: 2
2020-07-30 20:42:14.009271+0300 Test-MonoIos[16948:7644920] Mono: Loading reference 2 of .mono/assemblies/Debug/GodotSharp.dll asmctx DEFAULT, looking for System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
2020-07-30 20:42:14.009284+0300 Test-MonoIos[16948:7644920] Mono: Assembly Ref addref GodotSharp[0x2827b0d00] -> System[0x2827b0f00]: 2
2020-07-30 20:42:14.009465+0300 Test-MonoIos[16948:7644920] Mono: Loading reference 0 of .mono/assemblies/Debug/System.dll asmctx DEFAULT, looking for mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
2020-07-30 20:42:14.009476+0300 Test-MonoIos[16948:7644920] Mono: Assembly Ref addref System[0x2827b0f00] -> mscorlib[0x282786b80]: 3
2020-07-30 20:42:14.023530+0300 Test-MonoIos[16948:7644920] Mono: Loading reference 0 of .mono/assemblies/Debug/System.Core.dll asmctx DEFAULT, looking for mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
2020-07-30 20:42:14.023560+0300 Test-MonoIos[16948:7644920] Mono: Assembly Ref addref System.Core[0x2827b1300] -> mscorlib[0x282786b80]: 4
2020-07-30 20:42:14.038957+0300 Test-MonoIos[16948:7644920] Mono: Loading assembly Test-MonoIos...
Mono: Loading assembly Test-MonoIos...
2020-07-30 20:42:14.039233+0300 Test-MonoIos[16948:7644920] Mono: Image addref Test-MonoIos[0x282787180] (asmctx DEFAULT) -> .mono/assemblies/Debug/Test-MonoIos.dll[0x13c927e00]: 2
2020-07-30 20:42:14.039247+0300 Test-MonoIos[16948:7644920] Mono: Prepared to set up assembly 'Test-MonoIos' (.mono/assemblies/Debug/Test-MonoIos.dll)
2020-07-30 20:42:14.039255+0300 Test-MonoIos[16948:7644920] Mono: Assembly Test-MonoIos[0x282787180] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 20:42:14.039264+0300 Test-MonoIos[16948:7644920] Mono: Found statically linked AOT module 'Test-MonoIos'.
2020-07-30 20:42:14.039273+0300 Test-MonoIos[16948:7644920] Failed to load AOT module 'Test-MonoIos' while running in aot-only mode: doesn't match assembly.
2020-07-30 20:42:14.039291+0300 Test-MonoIos[16948:7644920] Failed to load AOT module 'Test-MonoIos' while running in aot-only mode: doesn't match assembly.

@andy-noisyduck try this build. I've enabled all options in Godot under Mono->Export settings menu and made a clean export.
This build now works fine.
Test-MonoFileIOS_edited.zip
https://www.dropbox.com/s/ma9ga96dz2hbnx0/build2.zip?dl=0

@andy-noisyduck try this build. I've enabled all options in Godot under Mono->Export settings menu and made a clean export. This build now works fine.

I get the exception again on my device. I'm going to try and get hold of a different device over the weekend. I want to rule out having an odd device somehow.

Try to enable the options and make a clean export yourself. And don't forget to clean DerivedData, it could also be breaking the build.
And giving the logs would probably help too. :)

Most of the Mono->Export options are actually ignored when building for iOS as AOT is always required. It's only optional for other platforms.
FullAot = platform == OS.Platforms.iOS || (bool)(ProjectSettings.GetSetting("mono/export/aot/full_aot") ?? false)

Out of curiosity, I just tried the build on an AWS Device Farm iPhone, and I also get the exception there (with either your project or mine).
I'll still try and get another physical device over the weekend and I'll grab the logs from it. Not sure how else to narrow this down. It would also be interesting if a 3rd person could build the project and see what results they get.

If you would be able to give a logs from console, that could help too.
After I've changed project settings my logs look like this:

2020-07-30 21:36:21.993503+0300 Test-MonoIos[17012:7664742] **ERROR**: Mono: Core API hash mismatch.
2020-07-30 21:36:21.993539+0300 Test-MonoIos[17012:7664742]    At: modules/mono/mono_gd/gd_mono.cpp:494:_init_godot_api_hashes() - Mono: Core API hash mismatch.
**ERROR**: Mono: Core API hash mismatch.
   At: modules/mono/mono_gd/gd_mono.cpp:494:_init_godot_api_hashes() - Mono: Core API hash mismatch.
2020-07-30 21:36:21.995695+0300 Test-MonoIos[17012:7664742] Mono: Config attempting to parse: '/private/var/containers/Bundle/Application/A49418B7-C0F7-46EE-A6C5-A92885597AC7/Test-MonoIos.app/data_Godot/Mono/etc/mono/config'.
2020-07-30 21:36:21.995746+0300 Test-MonoIos[17012:7664742] Mono: Config attempting to parse: '/private/var/mobile/Containers/Data/Application/1E4ED6E9-FEF8-4C50-A6EE-E7A00856D27F/.mono/config'.
2020-07-30 21:36:22.013873+0300 Test-MonoIos[17012:7664742] Mono: Image addref mscorlib[0x280c4f000] (asmctx DEFAULT) -> .mono/assemblies/Debug/mscorlib.dll[0x10f86fe00]: 2
2020-07-30 21:36:22.014511+0300 Test-MonoIos[17012:7664742] Mono: Prepared to set up assembly 'mscorlib' (.mono/assemblies/Debug/mscorlib.dll)
2020-07-30 21:36:22.015297+0300 Test-MonoIos[17012:7664742] Mono: Found statically linked AOT module 'mscorlib'.
2020-07-30 21:36:22.028016+0300 Test-MonoIos[17012:7664742] Mono: Unloading image .mono/assemblies/Debug/mscorlib.dll [0x10f860e00].
2020-07-30 21:36:22.028192+0300 Test-MonoIos[17012:7664742] Mono: Image addref mscorlib[0x280c46c00] (asmctx DEFAULT) -> .mono/assemblies/Debug/mscorlib.dll[0x10f86fe00]: 4
2020-07-30 21:36:22.028315+0300 Test-MonoIos[17012:7664742] Mono: AOT: image 'mscorlib' found.
2020-07-30 21:36:22.045434+0300 Test-MonoIos[17012:7664742] Mono: Assembly mscorlib[0x280c4f000] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 21:36:22.052848+0300 Test-MonoIos[17012:7664742] Mono: Image addref GodotSharp[0x280c46d00] (asmctx DEFAULT) -> .mono/assemblies/Debug/GodotSharp.dll[0x10f873200]: 2
2020-07-30 21:36:22.052872+0300 Test-MonoIos[17012:7664742] Mono: Prepared to set up assembly 'GodotSharp' (.mono/assemblies/Debug/GodotSharp.dll)
2020-07-30 21:36:22.052881+0300 Test-MonoIos[17012:7664742] Mono: Assembly GodotSharp[0x280c46d00] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 21:36:22.052889+0300 Test-MonoIos[17012:7664742] Mono: Found statically linked AOT module 'GodotSharp'.
2020-07-30 21:36:22.067232+0300 Test-MonoIos[17012:7664742] Mono: Image addref System[0x280c46f00] (asmctx DEFAULT) -> .mono/assemblies/Debug/System.dll[0x10f85fe00]: 2
2020-07-30 21:36:22.067261+0300 Test-MonoIos[17012:7664742] Mono: Prepared to set up assembly 'System' (.mono/assemblies/Debug/System.dll)
2020-07-30 21:36:22.067273+0300 Test-MonoIos[17012:7664742] Mono: Assembly System[0x280c46f00] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 21:36:22.067283+0300 Test-MonoIos[17012:7664742] Mono: Found statically linked AOT module 'System'.
2020-07-30 21:36:22.071895+0300 Test-MonoIos[17012:7664742] Mono: Image addref Mono.Security[0x280c47100] (asmctx DEFAULT) -> .mono/assemblies/Debug/Mono.Security.dll[0x10f860c00]: 2
2020-07-30 21:36:22.071910+0300 Test-MonoIos[17012:7664742] Mono: Prepared to set up assembly 'Mono.Security' (.mono/assemblies/Debug/Mono.Security.dll)
2020-07-30 21:36:22.071920+0300 Test-MonoIos[17012:7664742] Mono: Assembly Mono.Security[0x280c47100] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 21:36:22.071927+0300 Test-MonoIos[17012:7664742] Mono: Found statically linked AOT module 'Mono.Security'.
2020-07-30 21:36:22.073674+0300 Test-MonoIos[17012:7664742] Mono: AOT: image 'Mono.Security' found.
2020-07-30 21:36:22.081181+0300 Test-MonoIos[17012:7664742] Mono: Image addref System.Core[0x280c47300] (asmctx DEFAULT) -> .mono/assemblies/Debug/System.Core.dll[0x10f873a00]: 2
2020-07-30 21:36:22.081390+0300 Test-MonoIos[17012:7664742] Mono: Prepared to set up assembly 'System.Core' (.mono/assemblies/Debug/System.Core.dll)
2020-07-30 21:36:22.081398+0300 Test-MonoIos[17012:7664742] Mono: Assembly System.Core[0x280c47300] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 21:36:22.081406+0300 Test-MonoIos[17012:7664742] Mono: Found statically linked AOT module 'System.Core'.
2020-07-30 21:36:22.085805+0300 Test-MonoIos[17012:7664742] Mono: AOT: image 'System.Core' found.
2020-07-30 21:36:22.086918+0300 Test-MonoIos[17012:7664742] Mono: Image addref System.Numerics[0x280c4f380] (asmctx DEFAULT) -> .mono/assemblies/Debug/System.Numerics.dll[0x10f0df400]: 2
2020-07-30 21:36:22.086932+0300 Test-MonoIos[17012:7664742] Mono: Prepared to set up assembly 'System.Numerics' (.mono/assemblies/Debug/System.Numerics.dll)
2020-07-30 21:36:22.086942+0300 Test-MonoIos[17012:7664742] Mono: Assembly System.Numerics[0x280c4f380] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 21:36:22.086950+0300 Test-MonoIos[17012:7664742] Mono: Found statically linked AOT module 'System.Numerics'.
2020-07-30 21:36:22.087684+0300 Test-MonoIos[17012:7664742] Mono: AOT: image 'System.Numerics' found.
2020-07-30 21:36:22.087702+0300 Test-MonoIos[17012:7664742] Mono: AOT: image 'System' found.
2020-07-30 21:36:22.087769+0300 Test-MonoIos[17012:7664742] Mono: AOT: image 'GodotSharp' found.
2020-07-30 21:36:22.087940+0300 Test-MonoIos[17012:7664742] Mono: Loading reference 0 of .mono/assemblies/Debug/GodotSharp.dll asmctx DEFAULT, looking for mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
2020-07-30 21:36:22.087954+0300 Test-MonoIos[17012:7664742] Mono: Assembly Ref addref GodotSharp[0x280c46d00] -> mscorlib[0x280c4f000]: 2
2020-07-30 21:36:22.088539+0300 Test-MonoIos[17012:7664742] Mono: Loading reference 2 of .mono/assemblies/Debug/GodotSharp.dll asmctx DEFAULT, looking for System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
2020-07-30 21:36:22.088553+0300 Test-MonoIos[17012:7664742] Mono: Assembly Ref addref GodotSharp[0x280c46d00] -> System[0x280c46f00]: 2
2020-07-30 21:36:22.088756+0300 Test-MonoIos[17012:7664742] Mono: Loading reference 0 of .mono/assemblies/Debug/System.dll asmctx DEFAULT, looking for mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
2020-07-30 21:36:22.088770+0300 Test-MonoIos[17012:7664742] Mono: Assembly Ref addref System[0x280c46f00] -> mscorlib[0x280c4f000]: 3
2020-07-30 21:36:22.108672+0300 Test-MonoIos[17012:7664742] Mono: Loading reference 0 of .mono/assemblies/Debug/System.Core.dll asmctx DEFAULT, looking for mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
2020-07-30 21:36:22.108698+0300 Test-MonoIos[17012:7664742] Mono: Assembly Ref addref System.Core[0x280c47300] -> mscorlib[0x280c4f000]: 4
2020-07-30 21:36:22.134585+0300 Test-MonoIos[17012:7664742] Mono: Image addref Test-MonoIos[0x280c4f700] (asmctx DEFAULT) -> .mono/assemblies/Debug/Test-MonoIos.dll[0x10f147c00]: 2
2020-07-30 21:36:22.134607+0300 Test-MonoIos[17012:7664742] Mono: Prepared to set up assembly 'Test-MonoIos' (.mono/assemblies/Debug/Test-MonoIos.dll)
2020-07-30 21:36:22.134616+0300 Test-MonoIos[17012:7664742] Mono: Assembly Test-MonoIos[0x280c4f700] added to domain GodotEngine.RootDomain, ref_count=1
2020-07-30 21:36:22.134625+0300 Test-MonoIos[17012:7664742] Mono: Found statically linked AOT module 'Test-MonoIos'.
2020-07-30 21:36:22.135241+0300 Test-MonoIos[17012:7664742] Mono: AOT: image 'Test-MonoIos' found.
2020-07-30 21:36:22.253087+0300 Test-MonoIos[17012:7664742] Mono: Loading reference 1 of .mono/assemblies/Debug/Test-MonoIos.dll asmctx DEFAULT, looking for GodotSharp, Version=1.0.7482.13981, Culture=neutral, PublicKeyToken=null
2020-07-30 21:36:22.253119+0300 Test-MonoIos[17012:7664742] Mono: Assembly Ref addref Test-MonoIos[0x280c4f700] -> GodotSharp[0x280c46d00]: 2
2020-07-30 21:36:22.255647+0300 Test-MonoIos[17012:7664742] Mono: Loading reference 0 of .mono/assemblies/Debug/Test-MonoIos.dll asmctx DEFAULT, looking for mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
2020-07-30 21:36:22.255663+0300 Test-MonoIos[17012:7664742] Mono: Assembly Ref addref Test-MonoIos[0x280c4f700] -> mscorlib[0x280c4f000]: 5
2020-07-30 21:36:22.272652+0300 Test-MonoIos[17012:7664742] Mono: Loading reference 0 of .mono/assemblies/Debug/Mono.Security.dll asmctx DEFAULT, looking for mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
2020-07-30 21:36:22.272680+0300 Test-MonoIos[17012:7664742] Mono: Assembly Ref addref Mono.Security[0x280c47100] -> mscorlib[0x280c4f000]: 6

This looks similar to #38810, but a part of the exception message seems to be missing in your error message.
I tested today both with 3.2.3 RC3 and a custom build and couldn't reproduce this.
Are you running the app directly from Xcode or do you archive it for deployment?
The error suggests these symbols are being stripped by the linker.
Right now we're using -rdynamic as a workaround until we do this properly by finding all DllImports and passing them to the linker as undefined symbols with -u symbol as described here: https://github.com/godotengine/godot/blob/9adf6d3441d4927bdbab7bcb03cfafe42249ba90/modules/mono/editor/GodotTools/GodotTools/Export/AotBuilder.cs#L364-L369
I don't know if this is the reason it isn't working for some people. You could try adding -u _SystemNative_Stat2 to Other Linker Flags in Xcode and check if that fixes it or if the symbol in the exception is a different one.

Well, I have a mono that got installed with Xamarin, but it's hardly relevant

Is it not? My understanding is that the Mono assemblies that get bundled with your app (including System and mscorlib) are the ones from your local Mono distribution.

No, the official Godot builds bundle their own Mono assemblies in the export templates. The Mono distribution in your system should have no effect on exported games.

I don't know if this is the reason it isn't working for some people. You could try adding -u _SystemNative_Stat2 to Other Linker Flags in Xcode and check if that fixes it or if the symbol in the exception is a different one.

I get the same exception with the extra linker params.

Are you running the app directly from Xcode or do you archive it for deployment?

This is when archiving for deployment. I sign the app for Ad-Hoc then run on the appropriate device.

part of the exception message seems to be missing in your error message.

That is genuinely the exception message. It just says SystemNative_Stat2 without further information. It's not the most helpful of messages.

This week I was finally able to give this a try (I got an M1 last year but couldn't get my builds working until now) and I managed to reproduce the issue.
I can confirm passing -u to the linker correctly makes it not strip the symbol, fixing the issue. However it has to be done this way:

The linker flags are of the form: -Wl,-u,_SystemNative_Stat2
These linker flags have to be added to the Other Linker Flags build setting for the TARGET, not the PROJECT.

So in order to fix the issue what I need to do is:

Use cecil or reflection to collect a list of all DllImports in the compiled assemblies to determine which symbols need to be kept.
Modify the exporter to allow specifying linker flags for the target instead of the project.

If any one wants to test, the fixes can be found in this branch, but they cannot be merged yet until #45480 is added back (it was temporarily reverted) and #45499 is merged. My branch has those two PRs cherry-picked for testing.

I don't know if this is relevant, but I have an iOS app that only crashes in Achived-> Ad Hoc mode, so it will run on my devices, but not pass Apple review. It seems the reason is it's using C#'s native Random . I'm swapping it out for GD.Random, and that fixes the problem.

Fixed by #49248.
@Difference That should be the same issue, so it should be fixed in the next release.


Questions on this tool

Are there ways to automate this "guardrail" tool such that the first words with the strongest "heat" will be forced to pick the answer(s) that that not so service-y? Traversing through the top answers until there are X options that does not dodge the question?
If this can be done, then that means it can also be used to do pro-con analysis where the same model can take stances on either side of an argument and make divergent thinking easier. How can this be automated?

Hi, I am not too sure about your first question, maybe you can explain it more clearly.
But for the second question, you can certain do pro-con analysis with any model by simply instruct them to do so. Like just asking chatGPT to analyze different stances on a problem directly and I think it will do just fine. This tool is mostly intended as an interactive tool for you to interact with the model word by word.

For the first question, a lot of LLMs have guardrails that prevents them from giving a controversial answer, but if there are a way to auto-check each of the possible tokens that can guide it to "tell the truth" then it would be great, like the example given... except it picked the least likely in the dropdown instead of checking each word in the distribution

I guess it is possible to first train a small Sentiment analysis llm (like just bert or something) to detect any kind of "refusing answer" like "Sorry I cannot answer question regard X", then try to pick a new token somewhere whenever that happened. That could be an interesting idea to try.


[libssh] Fix error checking existence of a non file path

"optimized;${LIBSSH_LIBRARIES_RELEASE};debug;${LIBSSH_LIBRARIES_DEBUG}" is never going to be a path for a valid file.
Describe the pull request

What does your PR fix? Fixes issue #

Which triplets are supported/not supported? Have you updated the CI baseline?

Does your PR follow the maintainer guide?

It seems you are working on outdated commit.
In the latest master (libssh 0.9.3) , this patch file is not needed anymore.

Closing this PR since it seems that no progress is being made. Please reopen if work is still being done.


chore: clean up readme

Removing JS and bootstrap specific references in the readmes and docs

:tada: This PR is included in version 0.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Issue Management

I would like to contribute more to ReSwift. I've been watching this library ~2-3 months and I lost myself in the issues in general. Except for 'Needs Discussion' and 'Question', other issues are mostly non-tagged and has no state. So, I was thinking where to start in the beginning?
Here is a start for me. My suggestion is using proper tags for issues. If issue should be implemented, we can use some level tags like 'starter-task', 'moderate-task', 'advanced-task'. If it won't be implemented but we want to keep in mind the proposal, we can say 'no implementation-idea' (or whatever, naming is hard). This style can increase contribution to the library and give people a start point depending on their experience with ReSwift. There can be other styles or more improvement on this. So what do you think, people of ReSwift?

I like improving the focus for contributors using a different set of labels in addition to the existing set.
Thinking about the problem difficulty tiers, "moderate" and "advanced" seem hard to grasp. (CocoaPods uses easy/moderate/hard, I think.) I wonder if it would suffice if we just had difficulty-beginners and "advanced". Because most non-trivial tasks are basically proposals we discuss and not open tasks to implement.

About difficulty layers, your suggestion sounds good to me.
One more thing, new "documentation" label can be used for only documentation update requests/tasks/etc.

Closing this for now as we have some GitHub supported labels now.


Ruggeduino overrides pinmodes at initialisation

This causes pin modes set in the setup() routine in the ruggeduino to be overriden.
https://github.com/srobo/j5/blob/86985e93205036c2bc5f7504a95eee3370f28e3e/j5/backends/hardware/sr/v4/ruggeduino.py#L49-L50

This is intentional behaviour to ensure that the modes in Python match the modes on the Ruggeduino.

This currently silently breaks the code of every student who follows an arduino guide as the recommended code layout is to configure the pinmodes in the setup. This is then overridden by j5.


Is it possible at all to add a pointing device to v4?

First of all as someone who only learned about the existence of "open source split keyboard" like last week and got hooked, I must say I'm so impressed by foostan's work and all the community's been doing.
Now, I'm still doing my research in hope of building my very first Corne. I like that v4 provides a few more keys because I personally don't see a need of OLED on v3, but I'm kind of confused about the limitation of v4 switching to onboard controller.
Since all the existing builds and components I saw seem to rely on those other controllers people used to need to solder themselves, I'm wondering if it's possible at all for one to build a pointing device into a v4? Namely, even if I can find a way to mount for example a touchpoint to the board, can I even connect it to the controller and will it work?
Much appreciated if anyone and help clarify this or provide some resources I can learn more about. Thanks!

You could add a cirque or azoteq trackpad using the OLED interface (communicating over the I2C protocol). I have made an adapter for this purpose: https://github.com/keyboard-magpie/minimal-fpc-i2c-pcb
The OLED interface is still present on the v4 PCBs.

@keyboard-magpie Thanks a lot for sharing. It's good to know.
I did find another tutorial for trackpoint and realized the controller mentioned is the same as v4, so I think it's also possible.
The problem is onboard controller chip seems nearly impossible to connect by hand, so will probably need to adjust the PCB design and build with PCBA, and this is way beyond my league.
Compared to that, looks like trackpad will be fairly easy thanks to your adapter!
Since I'm already used to Mac trackpad, this might even be a better fit for me than trackpoint.
Will do some more research on this. Thanks again!

Hey @wzxu ,
I am more or less interested in the same type of build. Can you also post pictures here if one day you accomplish that?
Thanks


TIE SF Fighter

added missing pilots, fixed quickdraw with remainder info
do you need the flavor text for generics too? wasn't sure. I made sure that every keyword in brackets was properly typed out like similar instances elsewhere in xwd2
source of info used: http://xhud.sirjorj.com/xwing.cgi/pilots2

do you need the flavor text for generics too?

It goes in the text field. We can add it later :)


project SetUp Issues with packages and added routing file

Description
Added Routing File and setUp the project.
Screenshots
No response
Additional information
No response

assigned

Hi @sazamansari , I have a few queries can you please share your discord user Id so that I can clear my queries.


Use the Universal C Runtime

Update Microsoft.ProjectReunion.dll, Microsoft.ProjectReunion.Bootstrap.dll, DynamicDependency DataStore and LifetimeManager to use the Universal CRT (like MRTCore's been doing) and VS' static CRT. This removes the dependency on the VS CRT redistributable at negible cost (see below).
Static analysis before/after using LINK /DUMP /IMPORTS, linker options /MAP /VERBOSE and SizeBench confirms the trivial size delta.
Disk size of x64 Binaries

File
Size Before
Size After
Delta

DynamicDependency.DataStore.exe
58,368
81,408
23,040

DynamicDependency.DataStore.ProxyStub.dll
13,312
24,064
10,752

DynamicDependencyLifetimeManager.exe
41,984
64,000
22,016

DynamicDependencyLifetimeManager.ProxyStub.dll
13,312
24,064
10,752

Microsoft.ProjectReunion.dll
516,096
554,496
38,400

Microsoft.ProjectReunion.Bootstrap.dll
80,896
104,448
23,552

Total
723,968
852,480
128,512

SizeBench delta for Microsoft.ProjectReunion.dll

Name
Size on disk Diff
Size in memory Diff
Size in memory (including section padding) Diff

.text
23552
23637
24576

.rdata
11264
11432
12288

.pdata
1536
1644
0

.data
1024
2816
4096

.reloc
512
532
0

_RDATA
512
244
4096

.detourc
0
0
0

.detourd
0
0
0

.rsrc
0
0
0

SizeBench delta for Microsoft.ProjectReunion.Bootstrap.dll

Name
Size on disk Diff
Size in memory Diff
Size in memory (including section padding) Diff

.text
15872
16176
16384

.rdata
5120
5272
4096

.pdata
1024
996
4096

.data
512
480
0

.reloc
512
256
0

_RDATA
512
252
4096

.didat
0
0
0

.rsrc
0
0
0

The .vcxproj changes are based the implementation in MRM.vcxproj and BaseUnitTests.vcxproj

Add UseUniCrt=true to the 'Globals' PropertyGroup
Added RuntimeLibrary=MultiThreadedDebug (Debug) or MultiThreaded (Release)
Add IgnoreSpecificDefaultLibraries=libucrtd.lib (Debug) or libucrt.lib (Release)
Add AdditionalOptions /defaultlib:ucrtd.lib (Debug) or /defaultlib:ucrt.lib (Release)

Snippets below:
#1 UseUnicrt
  <PropertyGroup Label="Globals">
    <UseUnicrt>true</UseUnicrt>

#2-4 ClCompile and Link options
  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
      <!-- We use MultiThreadedDebug, rather than MultiThreadedDebugDLL, to avoid DLL dependencies on VCRUNTIME140d.dll and MSVCP140d.dll. -->
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
    </ClCompile>
    <Link>
      <!-- Link statically against the runtime and STL, but link dynamically against the CRT by ignoring the static CRT
           lib and instead linking against the Universal CRT DLL import library. This "hybrid" linking mechanism is
           supported according to the CRT maintainer. Dynamic linking against the CRT makes the binaries a bit smaller
           than they would otherwise be if the CRT, runtime, and STL were all statically linked in. -->
      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);libucrtd.lib</IgnoreSpecificDefaultLibraries>
      <AdditionalOptions>%(AdditionalOptions) /defaultlib:ucrtd.lib</AdditionalOptions>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
    <ClCompile>
      <!-- We use MultiThreaded, rather than MultiThreadedDLL, to avoid DLL dependencies on VCRUNTIME140.dll and MSVCP140.dll. -->
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
    </ClCompile>
    <Link>
      <!-- Link statically against the runtime and STL, but link dynamically against the CRT by ignoring the static CRT
           lib and instead linking against the Universal CRT DLL import library. This "hybrid" linking mechanism is
           supported according to the CRT maintainer. Dynamic linking against the CRT makes the binaries a bit smaller
           than they would otherwise be if the CRT, runtime, and STL were all statically linked in. -->
      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries);libucrt.lib</IgnoreSpecificDefaultLibraries>
      <AdditionalOptions>%(AdditionalOptions) /defaultlib:ucrt.lib</AdditionalOptions>
    </Link>
  </ItemDefinitionGroup>

This really should go into a common UniversalCrt.props like other common properties (no reason all projects shouldn't use this) along with stripping unwanted options and/or verifying no inconsistencies but those build infrastructure refinements are left as an exercise for a future PR. First step is to use UCRT for product.

The cost is security, is this really what we want to do?

To other reviewers: If you're like me, you keep falling for this trick. No security issue here, see https://github.com/microsoft/ProjectReunion/issues/573#issuecomment-797277512 for more context. 👍

/azp run

I am in favor of this strategy, and love the analysis above which everyone has been asking for.  As you say, the tax is negligible and a fair trade-off for eliminating CRT redist woes for the end developer.  That said, the competition for this is the VCLibs.UWPDesktop converged framework package and dynamic dependency deployment (yes?).  Should pros/cons of that option be considered and included?

VCLibs.UWPDesktop converged framework package and dynamic dependency deployment (yes?). Should pros/cons of that option be considered and included?

No. They're not really equivalent if you consider process startup and loader dependencies.
VCLibs framework package is cool for packaged processes as they're born with the manifested dependency in their loader search order. Not so for unpackaged apps. For non-C/C++ modules it's no big deal since they have no imports to the CRT so e.g. C# foo.exe can run, use DynDep to load VCLibs.UWPDesktop than use CRT APIs. For C/C++ (and Rust? Others?) modules they'd with any IAT entries for the CRT would have to delayload the CRT. Possible but irksome so the added friction is unappealing.
The small tax for this hybrid approach is a more compelling answer, at least for Project Reunion.

/azp run

I'm copying this, for a few places we were thinking of using static C runtime.
But I'm not satisfied.
I want vcredist to be easier to use and then always dynamically link.
The tax shown is too high, as well as the risk of shared state being duplicated.
The main but not only places in question are MSI custom actions.
It should be really easy to have a multi-dll custom action, and use the loose files next to the custom action in a temporary directory (i.e.  xcopy install). And run vcredist. And reboot at the end, maybe. But really, the reboot thing is dumb. You can move files out of the way that are in use. So do a quick rename, copy back, copy over. With risk of breaking concurrent process launch.
Alternatively, run vcredist early, then reboot, then continue.


Implementing barrel/fisheye correction

https://github.com/aurora95/Keras-FCN/blame/master/utils/SegDataGenerator.py#L486
@aurora95 @ahundt I would like to help with this, since I need it for my project. Any thoughts/resources on how to approach this? with or without calibr image?
EDIT: Found this solution, which seems simple enough to implement
http://www.tannerhelland.com/4743/simple-algorithm-correcting-lens-distortion/

Found this solution, which seems simple enough to implement
http://www.tannerhelland.com/4743/simple-algorithm-correcting-lens-distortion/

https://github.com/hengli/camodocal has good reference code for various lens models


Type parameters should link to the declarations that define them

Type parameters store where they come from, but not the decl ID: rather, the qualified name. For instances this presents a problem since they have no name.
More generally, linking to things by name is bad, and we should instead use IDs.
This should fix #244.

This is complicated by a complex circular dependency.


fix: add guard against NodeStatus (#22)

Cherry picks the guard against node status work into a fresh 3.4.8 release. Let me know if there are other commits we should cherry pick

@isubasinghe - I had to make some slight changes to deal with a conflict. Could you take a look?

@tico24 - when you're feeling better, can you cut a release of v3.4.8-pipekit and ping @mostaphaRoudsari when it's ready?

Thank you, @JPZ13!
@tico24, let me know if there is anything that I can do to help with testing this.


Unfinished Video Picking Up Where Last Left Off

The Issue
When returning to rewatch an unfinished video in the "Downloads & Purchases" folder, the video starts at 00:00 instead of picking up where it last left off.  You can see this feature implemented on YouTube.
Steps to reproduce

Open the "Downloads & Purchases" folder
Click on a video that was not watched to the end.

Expected behavior
The video should pick up where it left off (e.g. starting at 03:55, instead of at 00:00).
Actual behavior
The video starts playing at 00:00.
System Configuration

LBRY Daemon version: 0.14.2
LBRY App version: 0.14.3
LBRY Installation ID: 6brrRDZLjVxYTPHoA9N8Ah5FtmSZ6pwpk94rtFhW5KVD1jiVxa8eKQLKYD8tJ76zTm
Operating system: Mac OS 16.7.0

Mac OS 16.7.0
Mac OS 16.7.0
Mac OS 16.7.0
Mac OS 16.7.0
Anything Else

Screenshots

Maybe this should be fixed first: https://github.com/lbryio/lbry-app/issues/389 ?

done


Reorganize chapters

This implements the structure we've discussed last Friday and described at Google Docs. I'd like to merge it into master, and then create new branches (and issues) for each chapter.

sure, me too :-)


Generate sm2‘key command

I hope to provide sm2 command functions, such as 'genrsa'.

There is a genpkey command

There is a genpkey command

Just EC, not SM2

SM2 keys are encoded as normal EC keys. You can generate an SM2 key like this:
$ openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:sm2 -out sm2key.pem

And it can be viewed like this:
$ openssl ec -in sm2key.pem -noout -text
read EC key
Private-Key: (256 bit)
priv:
    76:4a:a3:1f:3c:0c:e9:7a:43:bc:99:bc:32:af:a1:
    a7:00:d1:16:0e:d6:53:15:08:58:42:63:66:fc:73:
    b1:3d
pub:
    04:a4:49:c8:a7:d2:45:d8:87:2c:34:5a:19:b5:e8:
    6a:1f:15:34:8a:73:d0:6c:7f:f3:49:9b:6a:93:4b:
    0e:0c:13:6e:fb:25:c0:80:5e:3b:70:e6:12:55:ce:
    4f:75:a7:95:86:13:9e:10:dc:73:c4:27:5c:85:aa:
    e1:2c:b3:b5:9c
ASN1 OID: SM2

There are some edge cases which, in theory, can cause problems with this (see #8435). But in practice you're unlikely to run into that as an issue.

SM2 keys are encoded as normal EC keys. You can generate an SM2 key like this:
$ openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:sm2 -out sm2key.pem

And it can be viewed like this:
$ openssl ec -in sm2key.pem -noout -text
read EC key
Private-Key: (256 bit)
priv:
    76:4a:a3:1f:3c:0c:e9:7a:43:bc:99:bc:32:af:a1:
    a7:00:d1:16:0e:d6:53:15:08:58:42:63:66:fc:73:
    b1:3d
pub:
    04:a4:49:c8:a7:d2:45:d8:87:2c:34:5a:19:b5:e8:
    6a:1f:15:34:8a:73:d0:6c:7f:f3:49:9b:6a:93:4b:
    0e:0c:13:6e:fb:25:c0:80:5e:3b:70:e6:12:55:ce:
    4f:75:a7:95:86:13:9e:10:dc:73:c4:27:5c:85:aa:
    e1:2c:b3:b5:9c
ASN1 OID: SM2

There are some edge cases which, in theory, can cause problems with this (see #8435). But in practice you're unlikely to run into that as an issue.

Thank you !But I think using SM2 is more appropriate than using EC.

SM2 keys are encoded as normal EC keys. You can generate an SM2 key like this:
$ openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:sm2 -out sm2key.pem

And it can be viewed like this:
$ openssl ec -in sm2key.pem -noout -text
read EC key
Private-Key: (256 bit)
priv:
    76:4a:a3:1f:3c:0c:e9:7a:43:bc:99:bc:32:af:a1:
    a7:00:d1:16:0e:d6:53:15:08:58:42:63:66:fc:73:
    b1:3d
pub:
    04:a4:49:c8:a7:d2:45:d8:87:2c:34:5a:19:b5:e8:
    6a:1f:15:34:8a:73:d0:6c:7f:f3:49:9b:6a:93:4b:
    0e:0c:13:6e:fb:25:c0:80:5e:3b:70:e6:12:55:ce:
    4f:75:a7:95:86:13:9e:10:dc:73:c4:27:5c:85:aa:
    e1:2c:b3:b5:9c
ASN1 OID: SM2

There are some edge cases which, in theory, can cause problems with this (see #8435). But in practice you're unlikely to run into that as an issue.

Thank you ! But I think using SM2 is more appropriate than using EC.

SM2 keys are defined at a specification level to be encoded as EC keys - so this makes a lot of sense. Currently there is no separate set of functions internally for generating SM2 keys versus normal EC keys. However the solution to #8435 is likely to be a dedicated set of functions for generating SM2 keys independently of EC - so it seems likely that in the long run genpkey will also have a separate SM2 algorithm name. Until that happens though you should use EC.

Closing this, since I think #8435 is the better place to track this issue.


Provide more fine grained vulnerability requests for packages

Consider the Nancy Project: https://ossindex.net/resource/project/8398863527
There are multiple packages. The vulnerabilities are actually related to the main "Nancy" package only, but get reported for all of the dependencies.
Though in this case every package can be upgraded past the "vulnerable" version, the results of Audit.NET are misleading.

Is this still relevant when OSSIndex API 2.0 is used?

You are quite correct, this is no longer applicable.