Document how to add an XML linker config file to a library

@guardrex Currently we have docs on how to specify an XML linker config file for a Blazor app, but we don't document how to provide one for a library, like a component library. I've put together a sample that shows how to do this: https://github.com/danroth27/ComponentLibWithXmlLinkerConfig. Basically you embed the XML file into the library as an embedded resource with the correct name the linker will pick it up. We should document this pattern. Maybe we should elevate the Configure the Linker doc to be a top level Blazor topic and add it there? Or if you have a better location, that's fine.
Eventually, this content on embedding an XML link config in a library should probably live in the .NET docs - @samsp-msft is working on that. So it would be nice to keep this content mostly generic so that once it move to the .NET docs we can then juts link off to that content.

Is it directly germane to libs? If so, can it go in the Component libary topic?

Yup, this is all about libs. The Component library topic is fine.


aursift -U: doesn't work with new pool location

% aursync aurutils
  -> Using [custom] repository
From https://aur.archlinux.org/aurutils
 = [up to date]      master     -> origin/master
  -> aurutils 0 -> 0.8.4-1
==> ERROR: A package has already been built. (use -f to overwrite)

Related to #20 and expac missing any package that is a symbolic link in Server.

via https://github.com/AladW/aurutils/commit/201e7beeaf7433533661b9795b45c940f91112f0


Lambda runtimes will need to be updated as nodejs14.x is going to be deprecated (Phase1: Nov 15, 2023)

As per the Lambda runtime deprecation schedule below Lambda runtimes will need to be updated.
https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
https://github.com/search?q=repo%3Aaws-solutions%2Fquota-monitor-for-aws nodejs14&type=code
AWS Trusted Advisor is already throwing out warnings on deployed Lambdas.

Thanks, we will update in the next release..

fixed in https://github.com/aws-solutions/quota-monitor-for-aws/releases/tag/v6.2.2


Laravel 9 support

Laravel 9 replaces SwiftMailer with Symfony Mailer.
https://github.com/laravel/framework/pull/38481

Symfony Mailer (default for Laravel 9) support added with #3


refactor(appleavplayer): fix null prt crash in gen stream info

Signed-off-by: pingkai<EMAIL_ADDRESS>

Codecov Report

Merging #381 into develop will decrease coverage by 4.39%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #381      +/-   ##
===========================================
- Coverage    69.31%   64.92%   -4.40%
===========================================
  Files          214      214
  Lines        11719    11719
===========================================
- Hits          8123     7608     -515
- Misses        3596     4111     +515

Impacted Files
Coverage Δ

framework/tests/dataSource/ipList.h
0.00% <0.00%> (-100.00%)
:arrow_down:

framework/tests/demuxer/demuxerUnitTest.cpp
0.00% <0.00%> (-100.00%)
:arrow_down:

mediaPlayer/SuperMediaPlayerDataSourceListener.h
0.00% <0.00%> (-100.00%)
:arrow_down:

framework/tests/dataSource/dataSourceUnitTest.cpp
0.00% <0.00%> (-93.85%)
:arrow_down:

framework/tests/decoder/decoderUnitTest.cpp
0.00% <0.00%> (-93.62%)
:arrow_down:

framework/tests/demuxer/demuxerUtils.cpp
0.00% <0.00%> (-76.00%)
:arrow_down:

framework/data_source/ffmpeg_data_source.cpp
6.38% <0.00%> (-51.07%)
:arrow_down:

framework/demuxer/AVBSF.cpp
25.27% <0.00%> (-42.86%)
:arrow_down:

framework/data_source/curl/CURLShareInstance.cpp
69.44% <0.00%> (-27.78%)
:arrow_down:

framework/data_source/curl/CURLConnection.cpp
52.28% <0.00%> (-12.86%)
:arrow_down:

... and 14 more

Continue to review full report at Codecov.

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


update gitignore

update the gitignore to add .vscode/ so I can use my plugin without annoying anyone too much.

I think it's better to use your global .gitignore file for this. Not everyone uses VS Code 😄.

Yes I agree. I didn't know global gitignores were a thing. I'll look into it :)


Fixed duplicate data declaration

Fixed the duplicate data declaration which introduces a runtime error.
Additionally updated lab to v17 and removed the no longer supported done() calls in tests (see Stackoverflow explanation

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

@idoshamun I don't know what to do about the broken build. It does not seem to result from my changes but is broken in general. Could you please have a look at it?

@sceee build is broken because of the encrypted variables, I have to fix it.
Unfortunately, now I am on a business trip so schedule is tight. Hopefully I can do it later.

Just published your fix in a new version, thank you for the contribution!

You are welcome @idoshamun, thanks for merging!


Vertical scroll bar of panels is not proportional to the size of the content

Problem Description
I noticed that in the Help panel and the IPython Console panel the vertical scrollbar works correctly (From what I understand it uses QWebEngineView).
Small vertical scrollbar

Correctly sized vertical scrollbar

What steps reproduce the problem?

To reproduce the problem, simply move the lower panel size control bar so that the vertical bar appears.

Versions
Spyder version: 5.5.0
Python version: Python 3.12
Qt version: n/a
PyQt version: PyQt5= 5.15.10
Operating System name/version: Windows10 and Ubuntu

`class PyMRWorkspacePluginWidget(PluginMainWidget):
"""PyMR workspace main widget."""
ENABLE_SPINNER = True

def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)

    test = MyTreeView()
    # Layout principal
    lay = QtWidgets.QVBoxLayout(self)
    lay.addWidget(test)`

`def run_test():
# Third party imports
from qtpy.QtWidgets import QVBoxLayout, QTableWidget, QMainWindow, QTreeView
from qtpy.QtCore import QDir
from PyQt5 import QtWidgets
# Local imports
from spyder.utils.qthelpers import qapplication
from spyder.api.widgets.main_widget import PluginMainWidget
from spyder.utils.stylesheet import APP_STYLESHEET

app = qapplication()
main = QMainWindow()

widget = PluginMainWidget('test', main)
widget.get_title = lambda x=None: 'Test title'
widget._setup()

tree_view = QTreeView()
file_system_model = QtWidgets.QFileSystemModel()
file_system_model.setRootPath(QDir.rootPath())  # Defina o diretório raiz conforme necessário
tree_view.setModel(file_system_model)

table_widget = QTableWidget()

# Adicionar ambos os widgets ao layout
layout = QVBoxLayout()
layout.addWidget(tree_view)
layout.addWidget(table_widget)

widget.setLayout(layout)
widget.start_spinner()

dock, location = widget.create_dockwidget(main)
main.addDockWidget(location, dock)

# Configurar a largura mínima da dock para garantir que a QTreeView seja visível
dock.setMinimumWidth(200)
main.setStyleSheet(str(APP_STYLESHEET))
main.show()
app.exec_()

if name == 'main':
run_test()`

`def run_test(): # Third party imports from qtpy.QtWidgets import QVBoxLayout, QTableWidget, QMainWindow, QTreeView from qtpy.QtCore import QDir from PyQt5 import QtWidgets
# Local imports
from spyder.utils.qthelpers import qapplication
from spyder.api.widgets.main_widget import PluginMainWidget
from spyder.utils.stylesheet import APP_STYLESHEET

app = qapplication()
main = QMainWindow()

widget = PluginMainWidget('test', main)
widget.get_title = lambda x=None: 'Test title'
widget._setup()

tree_view = QTreeView()
file_system_model = QtWidgets.QFileSystemModel()
file_system_model.setRootPath(QDir.rootPath())  # Defina o diretório raiz conforme necessário
tree_view.setModel(file_system_model)

table_widget = QTableWidget()

# Adicionar ambos os widgets ao layout
layout = QVBoxLayout()
layout.addWidget(tree_view)
layout.addWidget(table_widget)

widget.setLayout(layout)
widget.start_spinner()

dock, location = widget.create_dockwidget(main)
main.addDockWidget(location, dock)

# Configurar a largura mínima da dock para garantir que a QTreeView seja visível
dock.setMinimumWidth(200)
main.setStyleSheet(str(APP_STYLESHEET))
main.show()
app.exec_()

if name == 'main': run_test()`

Hey @dan123456-eng, thanks for reporting. Did you manage to solve this problem? Or did you close the issue by accident?
If that was the case, then I think perhaps it occurs because the QTreeView widgets you're creating have no parent.

@ccordoba12 Sorry it was an accident.

Ok, please change these lines in your code example above to be
tree_view = QTreeView(parent=widget)

...

table_widget = QTableWidget(parent=widget)

I think should solve your problem.

class PyMRWorkspacePluginWidget(PluginMainWidget):
"""PyMR workspace main widget."""
ENABLE_SPINNER = True

def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)

    test = MyTreeView()
    # Layout principal
    lay = QtWidgets.QVBoxLayout(self)
    lay.addWidget(test)

The vertical scroll bar for the correct code is correct, the code below is not. When used outside of Spyder it works correctly, when used in class PyMRWorkspacePluginWidget(PluginMainWidget): the scroll bar becomes small.

I don't understand your code very well. Why does MyTreeView inherit from PluginMainWidget and not from QWiget? Or even better, from QTreeView directly?
I think it doesn't need to inherit from PluginMainWidget if you plan to use it as part of of a Spyder plugin because in that case you'll have a PluginMainWidget (i.e. PyMRWorkspacePluginWidget) that will include another PluginMainWidget (i.e. MyTreeView) inside it, and that's not how our API is designed to work.

In my code I use either Qtreeview or ProjectExplorerTreeWidget (which consists of ProjectExplorerTreeWidget - FilteredDirView- DirView- DirView(QTreeView, SpyderWidgetMixin)). Up to this point everything is correct. But when I implement my file tree in the class inherited from PluginMainWidget the problem occurs.

Hello @ccordoba12. We found out why the bug occurred. We were using custom styling in our plugins that caused this change in our implementation. Thank you for your help and as soon as I can I will contribute more.

I'm glad you were able to find the cause of this problem and thanks for letting us know about it.


bacalhau get is hanging

After processing some videos - I have about 30Mb of results from my job...
I was running the job with --wait which will try to use the download codepath so it can print stdout when finihsed
The problem is the bacalhau get code is hanging trying to download the CID - even after adding --timeout-secs 100000.  Using the ipfs cli however downloads it right away:
kai@xwing:~/projects/protocol-labs/example-files$ ipfs --api /ip4/<IP_ADDRESS>/tcp/34079 get /ipfs/QmS2r4MNtbE1dFERwEiMnhFY9dpzFQM8WjHQgDTu92LvDw/outputs
Saving file(s) to outputs
 28.13 MiB / 28.13 MiB [==============================================================================================================] 100.00% 0s

is this with devstack? does the local ipfs client need to be educated about devstackiness?

is this with devstack? does the local ipfs client need to be educated about devstackiness?

this is an excellent point thank you!

@binocarlos is this still an issue?


Radar is checking speeds of airplanes/helicopters/etc

Detailed in the following FiveM forum post; https://forum.cfx.re/t/release-wraith-ars-2x-police-radar-and-plate-reader-v1-1-1/1058277/148?u=sadps5m

Will crack on with fixing this tomorrow.

Should be fixed with version 1.1.2


Incorrect information

The article states we only AD free sub but it turns out you need to have AD P1 or P2 to have custom roles which are required to map AD roles to AWS. Please fix this.

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

ID: 8fa5814d-91e2-2f75-77e7-62a8597f340c
Version Independent ID: 458e93d7-a180-4c2f-5077-9b9d124d726a
Content: Tutorial: Azure Active Directory single sign-on (SSO) integration with AWS Single-Account Access
Content Source: articles/active-directory/saas-apps/amazon-web-service-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@omerfar23
Thanks for your feedback! We will investigate and update as appropriate.

@omerfar23 this aligns with the custom roles guidance. https://docs.microsoft.com/en-us/azure/active-directory/roles/custom-create
I made a pull request to update the prerequisites: https://github.com/MicrosoftDocs/azure-docs-pr/pull/189011
CC @jeevansd


No support for SliverAppBar

SliverAppBar is currently not supported

Sorry for late reply, never got this notification.
 Will do when I get a chance, or feel free to make a PR. Should just have to change the return type to StatefulWidget.

@ArcticZeroo Oh yeah, totally. It took me just a few mins. Just wanted to create an issue for it

Got it, thanks! Feel free to make that PR if you've already got it down :) otherwise I can pull it in tomorrow if you don't get a chance.

Fixed in https://github.com/ArcticZeroo/flutter-search-bar/commit/0441e951228257ccbe284dc07ad85664487e0cda


Update README example to use the new APIs

Coverage remained the same at 94.154% when pulling 7ca58a5b280a9aafd1afd0ed2649047c4bab9436 on jamwt:fix_readme into 6d47da2bc4b4cc276c93cab7d0cb17c31647db70 on mlalic:master.

Thanks, I appreciate it!


Kestrel: TLS session resumption / session tickets support

Hi, i confirmed that Kestrel support Session IDs since it uses TLS 1.2 by default. But didn't quite find the necessary data structure in the ASP .Net Core that provides information about:

session id that was set during the TLS handshake
a flag whether the session was reused or not via session resumption https://tools.ietf.org/html/rfc5077

Do you plan to add those properties in future to ITlsHandshakeFeature ?
Also, can't hesitate to ask if TLS session tickets are going to be supported?
Below is the proof that the underlying SSL stack issues Session IDs to the openssl client.
>>> openssl s_client -connect <IP_ADDRESS>:5001

CONNECTED(00000003)
depth=0 CN = localhost
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = localhost
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:/CN=localhost
   i:/CN=localhost
---
Server certificate
-----BEGIN CERTIFICATE-----
//CERT INFO
-----END CERTIFICATE-----
subject=/CN=localhost
issuer=/CN=localhost
---
No client certificate CA names sent
Peer signing digest: SHA256
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 1326 bytes and written 431 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: 2E809E0463B742EB573319AD24D24039BC4E7979354E29BD070A63312D8015A0
    Session-ID-ctx:
    Master-Key: A1CB9288F6B0FDD40CFD8AD1E886EE95572C8046CE9BF9E10A865FCEF8D02E4415851301AC24A1601BE6BCE7DB30E5AB
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time:<PHONE_NUMBER>
    Timeout   : 300 (sec)
    Verify return code: 21 (unable to verify the first certificate)
---
GET / HTTP/1.1\r\n
Host: <IP_ADDRESS>:5001\r\n
User-Agent: curl/7.54.0\r\n
Accept: */*\r\n\r\n

HTTP/1.1 200 OK
Connection: keep-alive
Date: Thu, 18 Apr 2019 07:55:00 GMT
Server: Kestrel
Content-Length: 0

As session resumption breaks perfect forward secrecy unless we're very careful with caching, it's unlikely. This also goes for 0-RTT.

Note also limited by the APIs available on SslStream. Any feature request would have to start with dotnet/CoreFx.

Closing as we don't have plans to do this right now as @blowdart indicated.


No support for different screen orientations

Hello,
in the current version of CocosSharp it is impossible to support landscape and portrait mode. Is this behaviour intended? This feature is really neccessary, especially if you develop board games.
Additional info:
The setter of CCDrawManager.SupportedDisplayOrientations is never called.
The supported display orientations are only set on the construction of CCDrawManager with the value of CCApplication.PlatformSupportedOrientations()
Related issue: https://github.com/mono/CocosSharp/issues/25

Hi,
PlatformSupportedOrientations will fetch the allowed orientations that have been set externally by the user. So for instance, on iOS, you would set your desired orientations within the Info.plist and these will then be set when initialising the CCDrawManager.

Closing for now as I'm unable to replicate this issue.


Command to analyse the connection between titles and polygons

Codecov Report

Merging #13 into master will decrease coverage by 9.72%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #13      +/-   ##
==========================================
- Coverage   30.96%   21.23%   -9.73%
==========================================
  Files          12       13       +1
  Lines         155      226      +71
==========================================
  Hits           48       48
- Misses        107      178      +71

Impacted Files
Coverage Δ

...ability/lr/management/commands/analyse_polygons.py
0% <0%> (ø)

Continue to review full report at Codecov.

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


Allow build script to detect more recent Windows 10 SDK versions

PR Summary
PowerShell native windows binaries can be compiled using recent Window 10 SDK versions (for example 10.0.17134.0), but build script build.psm1 does not detect them installed. This PR allow build script to detect them.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[x] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

This is only needed for native code?  @adityapatwardhan   should this be moved to the PowerShell-Native repo?

Yes the changes should be made in the https://github.com/PowerShell/PowerShell-native. Please open a PR over there. Thanks!

@adityapatwardhan I already merged #7218. Just want you to know in case any changes to native build script should happen in the other repo.

@adityapatwardhan I think it's probably better to keep the native-build script up-to-date in the powershell repo until we completely remove it.

What is the cut-off date?

@iSazonov I don't know a hard cut-off day, but I guess we want to get it done before GA.

I will submit a PR in the powershell-native repo for this change and merge and then merge this PR, so that both side are in sync regarding this change.

@PetSerAl Thank you for submitting this PR. The current code is PowerShell/PowerShell-Native repo already has this fix. Closing this PR.


[Umbrella] Add Hive Backend Engine Support

Code of Conduct

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

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the proposal
Add Hive Backend Engine Support
Support a lightweight hive engine which has some advantages over hiveserver2

separate engine/process to the Kyuubi-multi-tenancy framework for better stability, without having a heavy server
more engines introduced in Kyuubi, Hive may be aged but still widely used
also good for us to do some cross verifications for spark/flink etc with a stable hive.

Implementing a hive engine is very easy, we

At the engine-side, use our owner FE for RPCs and BE for scheduling operations, the operations can be easily delegated to hive ones
At the server-side, we add a new type,  a progress launcher, and schedule them like others

Task list

Engine Runtime

[x] #2011
[x] #2014
[x] #2015
[x] #2016
[x] #2017
[x] #2018
[x] #2019
[x] #2033
[x] #2034
[x] #2021
[x] #2020
[x] #2032
[x] #2297
[x] #2330
[x] #2360

Server Integration

[x] #2022
[x] #2023
[x] #2024
[x] #2025
[ ] #2026
[ ] #2027
[x] #2604

Documentation

#2326

Others

[x] #2028
[x] #2029
[x] #2035
[ ] Help testing with different environments
[x] #2351
[x] #2426
[x] #2490
[x] #2558

Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

@yaooqinn, I have interest to support Hive backend engine. Could you please firstly assign the engine Runtime module tickets to me?

@SteNicholas, thanks for interesting in this feature. You need to leave a comment there, so I can find you in the dropbox of assignees. Or you just simply leave 'I am working on this' and start work.

@yaooqinn, could this issue be closed and create another issue for improvement?


About Changelog File

Are there any changelog file or changelog.md that we can see in every release version ?

@GulajavaMinistudio sorry I have not been maintaining a changelog, although I really should going forward.  Is there any specific version you're curious about?

Maybe changelog since 0.4.0 and newer version. Since we dont know what's is breaking changes between these versions

@GulajavaMinistudio FYI there have not been any breaking changes in a while, just bugfixes.

We have started doing releases:
https://github.com/googlesamples/easypermissions/releases
And we'll continue this going forward.


Add AccessEnforcementOpts fast paths.

Add AccessEnforcementOpts fast paths.

During identifyAccess, determine if there are either any
identical accesses or an accesses that aren't already marked
no_nested_storage. If there are neither, then skip the subsequent
data flow analysis.

In the new StorageSet, indicate whether identical storage was
seen elsewhere in the function. During dataflow, only add an access
to the out-of-scope access set if was marked as having identical
storage with another access.

During data flow, don't track in scope conflicts for
instructions already marked [no_nested_conflict].
0d9ebae

@swift-ci test

@swift-ci test source compatibility

Build failed
Swift Test OS X Platform
Git Sha - c8697a03d73b355cb6d428ae1fad168d82261e68

@swift-ci test

Build failed
Swift Test Linux Platform
Git Sha - c8697a03d73b355cb6d428ae1fad168d82261e68

Build failed
Swift Test OS X Platform
Git Sha - c8697a03d73b355cb6d428ae1fad168d82261e68


Use cabal-install-<IP_ADDRESS>-rc4 on POSIX systems

What do we get from using different versions of cabal on different platforms?

Build time dropped from 40m to 5m on Ubuntu.  MacOS build times are still long because caching is disabled there.  I will make a separate PR to re-enable it.

bors merge


Simran talk

Added code and description for my talk

Looks really great and nicely done!  I've updated the yaml header for rendering better, commented out install packages for those using docker and changed the red/green of a plot to red/blue.  Thanks! :)


fix(fake-commit): deploy previous pr

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


The color in Cinematic Bars Event are broken.

Describe your problem here.
Hello. I was working on a mod and I had to use the Cinematic Bars Event in a song. When I tested it out it came out white and 0.5 alpha. I check the code on the event and it says that the color is black and there is nothing that changes the alpha.

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
I tried to change it with a picture of a black asset, but didn't work.

use hxcpp 4.2.1 or update to the latest git version

using hxcpp 4.2.1 fixed it. Thanks

np


[ACM-4026] updated policies dashboards

Jira issue: https://issues.redhat.com/browse/ACM-4026

/cc @clyang82


Support video and audio media items

We currently download these media items but have no way of playing them.
Todo:

[x] Thumbnails for video
[x] Thumbnail for audio (have assets now)
[x] Playback video
[x] Playback audio

Have you found any good example feeds that include this kind of content? I guess maybe some good podcast feeds?

Yeah there are nasa podcast feeds: https://www.nasa.gov/content/nasa-rss-feeds
Here's one with smaller video files: http://mediapub.it.ox.ac.uk/feeds/129192/video.xml

Here's the NASA podcasts feed
http://www.nasa.gov/rss/dyn/NASAcast_vodcast.rss
David Oliver, Program Manager
David M. Oliver |<EMAIL_ADDRESS>| http://olivercoady.com |
http://dmo.tel | Ostel: oliv | +1<PHONE_NUMBER>
On Thu, Jul 23, 2015 at 12:00 PM, Chris Ballinger<EMAIL_ADDRESS>wrote:

Have you found any good example feeds that include this kind of content? I
guess maybe some good podcast feeds?
—
Reply to this email directly or view it on GitHub
https://github.com/guardianproject/securereader_ios/issues/29#issuecomment-124151406
.


[SYSTEMML-1677] Add a new 2D cross_entropy_layer

A 2D cross_entropy_layer would accept a tensor of shape (N,C,H,W), where the C axis contains scores for D classes, and output the average loss.

Thanks, will review tomorrow.

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1664/

@dusenberrymw Sure, will work on the unit test now.

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1675/

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1676/

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1686/

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1690/

Refer to this link for build results (access rights to CI server needed):
https://sparktc.ibmcloud.com/jenkins/job/SystemML-PullRequestBuilder/1708/


Support for base href and configuration via public_server_url

Description:
There is an issue with the BBOX application when hosted in a subpath (e.g., /bbox). The base href parameter is missing in the generated HTML, causing links to point incorrectly. For instance, links point to https://mydomain/collections instead of https://mydomain/bbox/collections.
Proposal:
Integrate a base href parameter in the HTML files of the BBOX application to ensure the correct subpath is set.
Make the base href value configurable either through Docker Compose or the bbox.toml configuration file, for example, by using the already existing public_server_url parameter.
This change would resolve issues with broken links when using the application in a subpath.
Are there other approaches to solve this problem?

Implemented in #86


[BAC-2552] Add SignableTransfer to dydx-v3-python client

Adapted from dydxprotocol/starkex-lib/src/signable/transfer.ts which is used in the Typescript v3-client

Added a python client function create_transfer
Tested this function through script that connects to staging: https://github.com/dydxprotocol/scripts/pull/102

Added a create_transfer python client function.
Tested through a script that connects to staging: https://github.com/dydxprotocol/dydx-v3-python/pull/135


[GPT3] Add the yaml files of distributed pretrain for GPT3 13B model

[GPT3] Add the yaml files of distributed pretrain for GPT3 13B model

https://arxiv.org/pdf/2005.14165.pdf


Feature request: allow className to the DevTool component

Instead of writing whole devtool panel as same as existing <Panel/> component, I'd  happy to apply my own className or style to the existing <div /> inside the Panel (e.g. applying opacity)
Would it be PR welcomed feature?

Yep, feel free to submit PR


kapp delete change should precondition on uid when waiting for resource to be gone

Describe the problem/challenge you have
currently kapp when waiting for resource to be fully deleted off cluster, ignores that resource might have changed its uid. when uid changes it implies that resource has been deleted, and replaced by a different resource with a same name.
Describe the solution you'd like
we should probably check on uid difference and see that if resource uid changed, then consider it as deleted. there is a nuance in this change though, we should probably continue waiting for the resource to be gone if uid changed, but resource still matches criteria for being within the app (currently happens today).
Anything else you would like to add:
this came up during following steps:

with kapp-controller 0.20.0-rc.1
add pkg repo to a default ns
add pkg repo to global packaging ns
delete pkg repo from a default ns (this hangs for default wait timeout) because deleted package was replaced by package that is derived from global ns

Vote on this request
This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.
👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"
We are also happy to receive and review Pull Requests if you want to help working on this issue.

This seems like a reasonable change or at least something to explore further. I'm going to move this to carvel accepted so that we can further discuss if/when to prioritize this.

release v0.40.0


Using multi gpu when trying to fine tune the model

Hello,
I'm trying to fine-tune 'unslothai/tinyllama-bnb-4bit' model.
Now I'm using a Trainer class from transformers library.
I have 2 x RTX3090 gpu, but i only use 1 gpu.
Can u give me a solution?

@BBaekdabang Currently Unsloth works only on 1 GPU - Multi GPU support will be for a future release.


toJson is not mapping let properties

I have the following class:
extension Question : Mappable {

    convenience init?(_ map: Map) {

        let id:Int = map["id"].valueOrFail()
        let contents:String = map["contents"].valueOrFail()
        var alternatives:[Alternative]?
        alternatives <- map["alternatives"]

        if !map.isValid && alternatives != nil {
            return nil
        }
        self.init(id:id, contents: contents, alternatives: alternatives!)

    }

    func mapping(map: Map) {
        self.source <- map["source"]
        self.subgroup <- map["subgroup"]
        self.image_url <- map["image_url"]
        self.tags <- map["tags"]
        self.user_alternative_id <- map["user_alternative_id"]
    }

}

Everything works fine, but when I try to deserialize my object to Json using object.toJSON() it only produce the properties in the mapping function and miss the ones declared in the constructor

ToJSON functionality is dependent on your mappings being within the mapping function. For this reason, immutable mappings (which must be defined in the init function) will not be mapped in ToJSON calls.
This is one of the reasons that immutable mappings are not officially supported by ObjectMapper at this time.

As workaround I used this, in case anyone need to serialize let properties:
func mapping(map: Map)  {
        // force map
        var id: = self.id
        id <- map["id"]

        self.source <- map["source"]
        self.subgroup <- map["subgroup"]
        self.image_url <- map["image_url"]
        self.tags <- map["tags"]
        self.user_alternative_id <- map["user_alternative_id"]
    }


YAML alias not working

When I try to use an alias (as specified in the docs) I get this error:
CRITICAL The package definition YAML file is invalid - Additional properties are not allowed ('myalias' was unexpected)

Made a pr to fix it https://github.com/malaval/aws-orga-deployer/pull/3

Thanks, I merged it.


Add SQLite mixed-type data handling capabilities

Description
This change seeks to address #38 through dynamic handling of mixed-type SQLite column data when exceptions of this kind are encountered with DuckDB SQLite queries.
When mixed type exceptions are encountered, the design intent here strives to keep as much data as possible while assuming one or many values of mismatching type within the SQLite table being queried. SQLite3 SQL case statements are formed to convert mismatched storage class values to NULL's for every column in the table being queried. These SQLite NULL's are interpreted by sqlite3 as Python None's, which are then interpreted as pyarrow.null()'s for export to Parquet.
For SQLite data sources where mixed typing exceptions are not encountered, the default capabilities through DuckDB function as usual.
What is the nature of your change?

[x] Bug fix (fixes an issue).
[ ] Enhancement (adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).
[ ] This change requires a documentation update.

Checklist
Please ensure that all boxes are checked before indicating that a pull request is ready for review.

[x] I have read the CONTRIBUTING.md guidelines.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] New and existing unit tests pass locally with my changes.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] I have deleted all non-relevant text in this pull request template.

@falquaddoomi @d33bs - is this ready to merge? Will it solve #38 (@jenna-tomkinson and @MattsonCam are currently blocked by it for the JUMP single cell analysis)

Update, @d33bs - just saw your comment in https://github.com/cytomining/CytoTable/issues/38#issuecomment-1625615593


FastAPI async endpoint: which s3fs client should I use? Needed example

If I wrap the s3fs client inside a DAO class in order to create an interface to add features with the remote fs, which s3fs client should I use?
For instance, assuming I create an async client, because I wish to use either example_one or example_two "coroutines/methods" in FastAPI async endpoints, which example should I use?
class S3Manager:
    def __init__(self, bucket_name: str = None):
        self.bucket_name = bucket_name
        self.s3_fs = s3fs.S3FileSystem(
            anon=False,
            asynchronous=True,
        )

    async def example_one(self):
        session = await self.s3_fs.set_session()
        work = await self.s3_fs._glob(...)
        await session.close()
        return work

    def example_two(self):
        return s3_fs.glob(...)

Since FastAPI handles its own loop to manage async coroutines, I believe the best approach would be to create the async client, leveraging the same FastAPI loop somehow: e.g. delegating the management to it. But:

the async client and example seems cumbersome: it seems like the s3fs library wishes to user to exploit the sync interface/client which itself uses the async support behind.
is there a performance gap by using the sync blocking client by calling its methods in a async coroutine (fastapi)?
how should I setup a complete example using FastAPI own loop?

FastAPI handles its own loop to manage async coroutines, I believe the best approach would be to create the async client

This is fair. It is slightly more complicated, but will allow you not to block fastAPI's event loop waiting for sync, which I htink is the main benefit you're after.
Note that if you use async mode, you should create your filesystem within a coroutine, not init (unless it is itself called from within a coroutine).

it seems like the s3fs library wishes to user to exploit the sync interface/client which itself uses the async support

I would say that async mode is more "expert" functionality. But if you are doing async programming with fastAPI already, then you qualify :)

s there a performance gap by using the sync blocking client

You will block at every call to s3fs. That might be a problem in some situations, it depends on your use case.
    async def example_one(self):
        session = await self.s3_fs.set_session()
        work = await self.s3_fs._glob(...)
        await session.close()
        return work

I think this should work fine without the explicit session calls, except you might get a warning when your process finally exits.
My suggestion is, that you should have a method which sets up and caches the filesystem object
    async def _fs():
        if self.s3_fs is None:
             self.s3_fs = S3FileSystem(asynchronous=True)
             await self.s3_fs.set_session() # store this, if you want to make a cleanup method
        return self.s3_fs

I created this simple DAO class in order to interface the s3 fs coroutines and its cached fs. What do you think?
Also the documention says to manage the sessions, but I am not sure why is that necessary. Anyway, does that context manager do the job? Should I use the sessions for within each awaited coroutine or for each async defined couritine (for instance a coroutine which await 2 inner coroutines)?
import s3fs
from contextlib import asynccontextmanager
from src.utils.logger import get_logger

logger = get_logger(__name__)

@asynccontextmanager
async def session_manager(fs: s3fs.S3FileSystem):
    """ Context manager for async AWS S3 boto sessions"""
    session = await fs.set_session()
    try:
        yield session
    finally:
        await session.close()

class S3FileSystem:
    """Class to handle the s3 resource once created a default session"""

    def __init__(self, bucket_name: str = None):
        self.bucket_name = bucket_name
        self.fs = s3fs.S3FileSystem(
            anon=False,
            asynchronous=True,
        )

    async def async_list_objects(self, prefix: str = None, **kwargs):
        if not prefix:
            prefix = ""
        async with session_manager(self.fs):
            objects = await self.fs._ls(path=f"{self.bucket_name}/{prefix}", **kwargs)
        return objects

No, I would not create and destroy a session on every call, you will find this expensive. I think the (async) method I suggested which stores the filesystem just once is better.

Also the documention says to manage the sessions, but I am not sure why is that necessary.

The code has evolved over time to make this less necessary. It's still useful for you to have control over when the session is made and closed, but the default behaviour may well be fine.

@martindurant Do you mind proving a complete self-contained example on how you could define such a class in order to use its async coroutines in another asyn courines (i.e. FastAPI async endpoints) by means of managing the boto3 sessions/client sessions w.r.t. aiobotocore latest versions (i.e. what does the library suggest to exploit)?
Thank you. I am a bit busy these days so I will come back as soon as possible...


Move each plugin to a separate directory

The plugins are currently all under src:
https://github.com/osrf/buoy_sim/tree/main/buoy_gazebo/src
If they were in separate directories, it would be easier to know which files belong to which plugin.
For the implementation, it may be interesting to create a CMake function that can be called within each directory. See an example for how ign-gui defines a function here that's then used by each plugin here.

While at it, we may want to remove Proto from ProtoElectroHydraulicPTO, which I understand originally meant "prototype".


Rust calls Dart

For example, in this code snippet:
pub async fn rust_function(dart_callback: impl Fn(String) -> DartFnFuture<String>) {
  dart_callback("Tom".to_owned()).await; // Will get `Hello, Tom!`
 }

I want to define the content of this code as a type and store it in a struct (possibly unsafe, it would be best to add safety checks).
thanks!

I want to define the content of this code as a type and store it in a struct

Not sure what does this mean, could you please elaborate it a little bit more?

use std::sync::{Arc, Mutex};
use futures::future::FutureExt;
use std::pin::Pin;
use std::task::{Context, Poll};
use std::future::Future;
use async_trait::async_trait;

pub struct FfiEvent {
    msg_cb: Arc<Mutex<dyn FnMut(Vec<u8>, String, String) -> DartFnFuture<bool> + Send>>,
    msg_err_cb: Arc<Mutex<dyn FnMut(String, u32, String) -> DartFnFuture<bool> + Send>>,
    unauthorized_cb: Arc<Mutex<dyn FnMut() -> DartFnFuture<bool> + Send>>,
}

impl FfiEvent {
    pub fn new(
        msg_cb: impl FnMut(Vec<u8>, String, String) -> DartFnFuture<bool> + 'static + Send,
        msg_err_cb: impl FnMut(String, u32, String) -> DartFnFuture<bool> + 'static + Send,
        unauthorized_cb: impl FnMut() -> DartFnFuture<bool> + 'static + Send,
    ) -> Self {
        Self {
            msg_cb: Arc::new(Mutex::new(Box::new(msg_cb))),
            msg_err_cb: Arc::new(Mutex::new(Box::new(msg_err_cb))),
            unauthorized_cb: Arc::new(Mutex::new(Box::new(unauthorized_cb))),
        }
    }
}

#[async_trait]
impl Event for FfiEvent {
    async fn message_event(
        &self,
        from: String,
        message: Vec<u8>,
        message_id: String,
    ) -> bool {
        let mut cb = self.msg_cb.lock().unwrap();
        cb(message, from, message_id).await
    }
}
#[async_trait]
trait Event:Send {
  async  fn message_event(&self, from: String, message: Vec<u8>, message_id: String) ->bool;
}

That code looks OK - is there any problem of that?

future cannot be sent between threads safely
within {async block@bridge/rust/src/store/event.rs:56:15: 60:6}, the trait std::marker::Send is not implemented for MutexGuard<'_, dyn Fn(Vec<u8>, String, String) -> Pin<Box<dyn Future<Output = bool> + Send>> + Send>
required for the cast from Pin<Box<{async block@bridge/rust/src/store/event.rs:56:15: 60:6}>> to Pin<Box<dyn std::future::Future<Output = bool> + std::marker::Send>>rustcClick for full compiler diagnostic
event.rs(58, 51): future is not Send as this value is used across an await

error: future cannot be sent between threads safely
--> bridge/rust/src/store/event.rs:56:15
|
56 |       ) -> bool {
|  __________^
57 | |         let cb = self.msg_cb.lock().unwrap();
58 | |         let resut = cb(message, from, message_id).await;
59 | |         resut
60 | |     }
| |^ future created by async block is not Send

My goal is to implement the Event interface. The code I just modified a lot still has compile time exceptions. Do you have a good example of this?

        let mut cb = self.msg_cb.lock().unwrap();
        cb(message, from, message_id).await

Looks like this one makes Rust unhappy. what if you use tokio's Mutex, instead of std sync Mutex?
Btw it would be great to paste full error logs as well.

I am very grateful for your immediate response.
It's indeed a rust issue, but I don't know how to fix the error.
use std::sync::{Arc, Mutex, RwLock};

use async_trait::async_trait;
use flutter_rust_bridge::DartFnFuture;
use libchatio::models::request::Event;

// #[derive(Clone)]
pub struct FfiEvent {
    msg_cb: Arc<
        Mutex<
            Box<
                dyn Fn(Vec<u8>, String, String) -> DartFnFuture<bool>
                    + Send
                    + 'static,
            >,
        >,
    >,
}

impl FfiEvent {
    pub fn new(
        msg_cb: impl Fn(Vec<u8>, String, String) -> DartFnFuture<bool>
            + 'static
            + Send,
    ) -> Self {
        Self {
            msg_cb: Arc::new(Mutex::new(Box::new(msg_cb))),
        }
    }
}

#[async_trait]
impl Event for FfiEvent {
    async fn message_event(
        &self,
        from: String,
        message: Vec<u8>,
        message_id: String,
    ) -> bool {
        let cb = self.msg_cb.lock().unwrap();
        let fut = cb(message, from, message_id);
        let result = fut.await;

        result
    }

    async fn message_error_event(
        &self,
        from_name: String,
        from_device_id: u32,
        message_id: String,
    ) -> bool {
        log::info!(
            "message_error_event, from:{}, message_id:{:?}",
            from_name,
            message_id
        );
        false
    }
    async fn unauthorized_event(&self) -> bool {
        log::info!("unauthorized_event");
        false
    }
}

#[async_trait]
pub trait Event: Send {
    async fn message_event(
        &self,
        from: String,
        message: Vec<u8>,
        message_id: String,
    ) -> bool;

    async fn message_error_event(
        &self,
        from: String,
        from_device_id: u32,
        message_id: String,
    ) -> bool;

    async fn unauthorized_event(&self) -> bool;
}

log
error: future cannot be sent between threads safely
  --> bridge/rust/src/store/event.rs:41:15
   |
41 |       ) -> bool {
   |  _______________^
42 | |         let cb = self.msg_cb.lock().unwrap();
43 | |         let fut = cb(message, from, message_id);
44 | |         let result = fut.await;
45 | |         result
46 | |     }
   | |_____^ future created by async block is not `Send`
   |
   = help: within `{async block@bridge/rust/src/store/event.rs:41:15: 46:6}`, the trait `std::marker::Send` is not implemented for `MutexGuard<'_, Box<dyn Fn(Vec<u8>, String, String) -> Pin<Box<dyn Future<Output = bool> + Send>> + Send>>`
note: future is not `Send` as this value is used across an await
  --> bridge/rust/src/store/event.rs:44:26
   |
42 |         let cb = self.msg_cb.lock().unwrap();
   |             -- has type `std::sync::MutexGuard<'_, Box<dyn Fn(Vec<u8>, std::string::String, std::string::String) -> Pin<Box<dyn std::future::Future<Output = bool> + std::marker::Send>> + std::marker::Send>>` which is not `Send`
43 |         let fut = cb(message, from, message_id);
44 |         let result = fut.await;
   |                          ^^^^^ await occurs here, with `cb` maybe used later
   = note: required for the cast from `Pin<Box<{async block@bridge/rust/src/store/event.rs:41:15: 46:6}>>` to `Pin<Box<dyn std::future::Future<Output = bool> + std::marker::Send>>`

As mentioned earlier:

what if you use tokio's Mutex, instead of std sync Mutex?

i.e. use std::sync::{Arc, Mutex, RwLock}; change this one

It seems that I still need to learn more about Rust.

It's OK - everyone has been a beginner :)


Add Response.introspectionData

I think you mentioned if the SDK encounters a new field, it'll fail. It'd be great to figure out a plan for this.

I just added FAIL_ON_UNKNOWN_PROPERTIES: false


Support REST API opt in queries

Child of https://github.com/frontity/wp-plugin/issues/46

:tada: This issue has been resolved in version 0.10.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


chore: reduce indentation rule to 2 spaces

SUMMARY:
For consideration/discussion. In my limited experience react uses a fair of amount of nesting of components/context wrappers, etc. With 4 space indent, this can get out of hand rather quickly. It also seems 2 space indent is almost industry standard (ant component library, mui library, as exaples)
GITHUB ISSUE (Open Source Contributors)
JIRA TASK (Eightfold Employees Only):
CHANGE TYPE:

[ ] Bugfix Pull Request
[ ] Feature Pull Request

TEST COVERAGE:

[ ] Tests for this change already exist
[ ] I have added unittests for this change

TEST PLAN:

Abandoning this until main-next is merged into main


Fix: continuous index in test suit last_membership_in_log

Signed-off-by: MrCroxx<EMAIL_ADDRESS>A small fix for #282 . Make test log indices continuous to prevent from causing log gaps.
Checklist

[x] Updated guide with pertinent info (may not always apply).
[x] Squash down commits to one or two logical commits which clearly describe the work you've done. If you don't, then Dodd will :).

This change is

Simply modifying the index like this will break the assumptions of "log > applied", maybe filling the gap with blank entry is acceptable?


Any updates on RMI for string data?

Hi! Your implementation of the RMI model is great and helpfu. I am wondering whether you have implementated the model for string type data since the last commit?

Hi @AlisonLiii
I have not implemented this yet. Can you tell me what use case do you have, to understand and if I can help to find the answer ?


Option to nuke user data

A "delete my account" and "empty my account" thing.

Dunno how relevant it is to you, and chances of it being a practical issue are tiny, but make sure you're GDPR-compliant.


"pages" system

Create a system where admin users have the ability to write full pages with bbcode, such as documentation pages.  The pages would show up at /board/page/ or something.

This has been started, examples:
https://punkweb.us/board/page/docs-index/
https://punkweb.us/board/page/supported-bbcodes/

I'll branch off additions to the current system into new issues, closing this thread.


⚠ Bofrost.at has degraded performance

In 1d85276, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 934 ms

Resolved: Bofrost.at performance has improved in 799e070.


New version: Mozilla.Firefox.DeveloperEdition.th version 132.0 (132.0b4)

Created by 🥟 Dumplings.
Microsoft Reviewers: Open in CodeFlow

Verify by proxy: https://github.com/microsoft/winget-pkgs/pull/179431#issuecomment-2400690391


2.0.54 push to NuGet failed

Expected Behavior
Version 2.0.54 with the last PR successfully pushed to NuGet
Actual Behavior
Error publishing package. NuGet server returned 403: The specified API key is invalid, has expired, or does not have permission to access the specified package.
Steps to Reproduce the Problem

https://ci.appveyor.com/project/yahehe/nancy-swagger/builds/22660562

Specifications

Version: 2.0.53
Project: Nancy.Swagger

@yahehe, can you check this out?

Sorry, lost track of this and I can never remember my login for Nuget. Running a build now, we'll see if it works this time

Publishing is working again @jnallard , thanks for reporting this @Liklainy, sorry for the slow turnaround.
The latest published version is 2.2.56-alpha


Uncaught TypeError: Cannot read property 'apply' of undefined

www-widgetapi.js:48 Uncaught TypeError: Cannot read property 'apply' of undefined

Gets logged every refresh and play, even worse is sometimes the events don't bind. Meaning the playerReady and playerStateChanged don't ever get called. I am unable to see a pattern, but exactly the same code refreshed seems to sometimes result in these events not getting bound. Happens like 10% of the time.
the tags are set up like this:
<ng-youtube-embed
    video="videoID"
    videoid="videoMainStreamer"
    enablejsapi="true"
    onready="playerReady"
    onstatechange="playerStateChanged">
</ng-youtube-embed>

The JS is this:
    $scope.videoID = 'VJawYtS_MlE';

    $scope.playerReady = function(event) {
        console.log(event);
    };

    $scope.playerStateChanged = function(event) {
        console.log(event);
    };

Seems to be a issue of the widgetapi, however this error is avoidable if this module would set up the onYouTubePlayerAPIReady callback in a different way.
Even worse is the events not getting bound sometimes.

I think the problem lies mostly in onYouTubeIframeAPIReady not being called in certain circumstances, I would advise you to implement something like this in your module. To forcefully call the function after the iframe has been loaded.
var onLoadEvent = '';

if (!window.onNgYtIframeLoad){
    window.onNgYtIframeLoad = function(){
        window.onYouTubeIframeAPIReady();
    }
}

if(window.onNgYtIframeLoad){
    onLoadEvent = 'onLoad="onNgYtIframeLoad()"';
}

var iFrame = '<iframe id=" --etc--  '+ onLoadEvent +'></iframe>';

The pull request from atulingale009 includes very good improvements you should take a look at.

Hi @Shrekie, I did try to test out the PR but I was facing a few errors -

Were you able to make it work by any chance?

PR #23 worked for me, and solved my issue with the API not working for subsequent videos that show up on the page when using ng-if. I haven't run into any new issues yet.

The PR has been merged. Feel free to try the new version out.


NextjsSite: setting defaultFunctionProps timeout causes undefined function name

Hello,
When I try to change lambda timeout it throw this cloud formation error and my stack is stuck in the UPDATE_ROLLBACK_FAILED state.
Cloud formation error:
Received response status [FAILED] from custom resource. Message returned: Missing required key 'FunctionName' in params

Error in cloud watch:
INFO	[provider-framework] MissingRequiredParameter: Missing required key 'FunctionName' in params
    at ParamValidator.fail (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:50:37)
    at ParamValidator.validateStructure (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:61:14)
    at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:88:21)
    at ParamValidator.validate (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:34:10)
    at Request.VALIDATE_PARAMETERS (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:132:42)
    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at callNextListener (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
    at /var/runtime/node_modules/aws-sdk/lib/event_listeners.js:86:9
    at finish (/var/runtime/node_modules/aws-sdk/lib/config.js:386:7)
    at /var/runtime/node_modules/aws-sdk/lib/config.js:404:9 {
  code: 'MissingRequiredParameter',
  time: 2021-12-23T23:03:29.829Z
}

Config to repro:
const site = new NextjsSite(this, 'NextSite', {
      path: 'apps/next',
      defaultFunctionProps: {
        timeout: 20,
      },
});

My stack is way more complex but this error happens when I try to set timeout
Versions:
"aws-sdk": "^2.817.0",
"@serverless-stack/cli": "0.54.4",
"@serverless-stack/resources": "0.54.4",
"@serverless-stack/static-site-env": "0.54.4",

Thanks

@nicolas-lescop Did you ever get a solution for this issue? We have the same problem

This is fixed in v1.6.7.

@nicolas-lescop sorry about the delay in getting to this one 🙏


Update issue templates

:tada: This PR is included in version 3.1.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Dev/control system revamp

Update development to dev/control-system-revamp branch.

Signed with Djeezus seal of approval!


Architecture diagram needs updating

Architecture diagram should be updated to show latest deployment configurations (MS SQL, Azure Search etc.).

In terms of timing, I think we will want this complete before our webinar on May 1st

Hi Hosung.
My name is Matt Dawson and I am the frontend designer here at Catalyst AU.
Andrew Boag has informed me you need changes to the diagram? Can you get me up to speed and what you are wanting exactly? Cheers

Hi Hosung.
I will try and update the diagram as per instructions though it always a hard to get exact unless a wireframe is shown. I will get an updated version based on your description shortly.
Cheers

Thanks Matt. Yes it's not easy to get exact, and we'd like at least to reflect the correct architecture and the recent updates. We'd need the diagram to be in PPT for future updates, so let us know if there's any issue with that ask. Thanks!

Let me know if i am on the right track.

Diagram updated


raw search sample fixed

#215

Codecov Report

Merging #217 (114f207) into master (6558df4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #217   +/-   ##
=========================================
  Coverage     95.80%   95.80%
  Complexity      184      184
=========================================
  Files            34       34
  Lines           524      524
=========================================
  Hits            502      502
  Misses           22       22

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@matchish I found the broken tests. Tests are not strong at this part. We need to improve. I changed the tests according to the readme.


[RUMBLE] Downloads playlist, then stops.

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Norway
Provide a description that is worded well enough to be understood
Downloading files in playlists or portions of playlists appears to be broken. yt-dlp simply exits following the retrieval of the playlist.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
$ yt-dlp -vU -S res:360 --dateafter 20240901 --datebefore 20240905 https://rumble.com/c/RedVoiceMedia
[debug] Command-line config: ['-vU', '-S', 'res:360', '--dateafter', '20240901', '--datebefore', '20240905', 'https://rumble.com/c/RedVoiceMedia']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [4d9231208] (pip)
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-5.15.0-119-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, requests-2.32.3, secretstorage-3.3.1, sqlite3-3.37.2, urllib3-2.1.0, websockets-12.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1830 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)
[RumbleChannel] Extracting URL: https://rumble.com/c/RedVoiceMedia
[download] Downloading playlist: RedVoiceMedia
[RumbleChannel] RedVoiceMedia: Downloading page 1
[RumbleChannel] RedVoiceMedia: Downloading page 2
[RumbleChannel] RedVoiceMedia: Downloading page 3
[RumbleChannel] RedVoiceMedia: Downloading page 4
[RumbleChannel] RedVoiceMedia: Downloading page 5
[RumbleChannel] RedVoiceMedia: Downloading page 6
[RumbleChannel] RedVoiceMedia: Downloading page 7

[lines deleted]

[RumbleChannel] RedVoiceMedia: Downloading page 696
[RumbleChannel] RedVoiceMedia: Downloading page 697
[RumbleChannel] RedVoiceMedia: Downloading page 698
[RumbleChannel] RedVoiceMedia: Downloading page 699
[RumbleChannel] RedVoiceMedia: Downloading page 700
[RumbleChannel] RedVoiceMedia: Downloading page 701
[RumbleChannel] RedVoiceMedia: Downloading page 702
[RumbleChannel] Playlist RedVoiceMedia: Downloading 0 items
[download] Finished downloading playlist: RedVoiceMedia
halvor@halvor-NBLK-WAX9X:~$

Duplicate of #10833


cockroach mode

WIP https://github.com/FortressFinance/issues/issues/286

Pushed the last commit with github.dev and I can't run any command with it. Will fix the prettier issue at home.


Operations order is not deterministic

STR:

load operations list
click "sync now"

Expected:
Order of operations is the same between the first and the second time.
Observed:
It isn't.

Is that why sometimes the operations are unordered ?

No it's a different bug. I need support for debugging this: in the next version, there'll be an "export" feature, so that you can export an entire kresus instance (without the bank password). Would you be ok with sending me a sample of your operations with the unordered ones, when this feature gets released, please?

Yes I would :). This app is really awesome (my bank ING has something like this with categories and so on but the charts are really lame comparing to Kresus) !
Do you want me to file a new bug for this then ?

Thank you! Yes, feel free to open a new bug to keep track of this :)


How to build this as a wasm extension

I see that there are wasm_mvp, wasm_threads and wasm_eh targets being built in CI however I get a number of errors trying to build locally
Are there instructions on how to build and test a wasm extension locally?
make [wasm_eh|wasm_threads]
...
CMake Error at /opt/homebrew/Cellar/cmake/3.29.6/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
  system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
  OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.29.6/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /opt/homebrew/Cellar/cmake/3.29.6/share/cmake/Modules/FindOpenSSL.cmake:686 (find_package_handle_standard_args)
  <DIR>/CMakeLists.txt:9 (find_package)
...

make wasm_mvp
mkdir -p build/wasm_mvp
emcmake cmake  -DDUCKDB_EXTENSION_CONFIGS='<DIR>/extension_config.cmake' -DWASM_LOADABLE_EXTENSIONS=1 -DBUILD_EXTENSIONS_ONLY=1 -DSKIP_EXTENSIONS="parquet;json"  -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=<HOME>/Documents/github.com/emscripten-core/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -Bbuild/wasm_mvp -DCMAKE_CXX_FLAGS="" -S "./duckdb/" -DDUCKDB_EXPLICIT_PLATFORM=wasm_mvp -DDUCKDB_CUSTOM_PLATFORM=wasm_mvp
configure: cmake -DDUCKDB_EXTENSION_CONFIGS=<DIR>/extension_config.cmake -DWASM_LOADABLE_EXTENSIONS=1 -DBUILD_EXTENSIONS_ONLY=1 -DSKIP_EXTENSIONS=parquet;json -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=<HOME>/Documents/github.com/emscripten-core/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -Bbuild/wasm_mvp -DCMAKE_CXX_FLAGS= -S ./duckdb/ -DDUCKDB_EXPLICIT_PLATFORM=wasm_mvp -DDUCKDB_CUSTOM_PLATFORM=wasm_mvp -DCMAKE_TOOLCHAIN_FILE=<HOME>/Documents/github.com/emscripten-core/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=<HOME>/Documents/github.com/emscripten-core/emsdk/node/18.20.3_64bit/bin/node
-- Running vcpkg install
Detecting compiler hash for triplet arm64-osx...
Compiler found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
The following packages will be removed:
openssl is compatible with built-in CMake targets:

  find_package(OpenSSL REQUIRED)
  target_link_libraries(main PRIVATE OpenSSL::SSL)
  target_link_libraries(main PRIVATE OpenSSL::Crypto)

-- Running vcpkg install - done
CMake Error at /opt/homebrew/Cellar/cmake/3.29.6/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.29.6/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /opt/homebrew/Cellar/cmake/3.29.6/share/cmake/Modules/FindThreads.cmake:226 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  <DIR>/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package)
  CMakeLists.txt:25 (find_package)

-- Configuring incomplete, errors occurred!
emcmake: error: 'cmake -DDUCKDB_EXTENSION_CONFIGS=<DIR>/extension_config.cmake -DWASM_LOADABLE_EXTENSIONS=1 -DBUILD_EXTENSIONS_ONLY=1 -DSKIP_EXTENSIONS=parquet;json -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=<HOME>/Documents/github.com/emscripten-core/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -Bbuild/wasm_mvp -DCMAKE_CXX_FLAGS= -S ./duckdb/ -DDUCKDB_EXPLICIT_PLATFORM=wasm_mvp -DDUCKDB_CUSTOM_PLATFORM=wasm_mvp -DCMAKE_TOOLCHAIN_FILE=<HOME>/Documents/github.com/emscripten-core/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=<HOME>/Documents/github.com/emscripten-core/emsdk/node/18.20.3_64bit/bin/node' failed (returned 1)
make: *** [wasm_mvp] Error 1

Thanks, this does makes sense, I will need to come back on writing this properly, expecially on the testing part.
Part of the problem is that extension-template depends on VCPKG being properly set-up.
An easier to start point can be something like vss, you can try:
git clone https://github.com/duckdb/duckdb_vss
cd duckdb_vss
git submodule init
git submodule update
make wasm_eh

And see where this goes. I would expect this should work if you have emscripten on a recent enough version.

Yes, this built correctly for me, with no errors. It seems like my system is set up correctly

For testing I'm tying something like this, but I cant quite seem to get it working:
const duckdb = require("@duckdb/duckdb-wasm");
const path = require("path");
const Worker = require("web-worker");
const DUCKDB_DIST = path.dirname(require.resolve("@duckdb/duckdb-wasm"));

(async () => {
  try {
    const DUCKDB_CONFIG = await duckdb.selectBundle({
      mvp: {
        mainModule: path.resolve(DUCKDB_DIST, "./duckdb-mvp.wasm"),
        mainWorker: path.resolve(DUCKDB_DIST, "./duckdb-node-mvp.worker.cjs"),
      },
      eh: {
        mainModule: path.resolve(DUCKDB_DIST, "./duckdb-eh.wasm"),
        mainWorker: path.resolve(DUCKDB_DIST, "./duckdb-node-eh.worker.cjs"),
      },
    });

    const logger = new duckdb.ConsoleLogger();
    const worker = new Worker(DUCKDB_CONFIG.mainWorker);
    const db = new duckdb.AsyncDuckDB(logger, worker);
    await db.instantiate(DUCKDB_CONFIG.mainModule, DUCKDB_CONFIG.pthreadWorker);

    const conn = await db.connect();

    await conn.query(
      `
      INSTALL './build/wasm_mvp/extension/quack/quack.duckdb_extension';
      INSTALL './build/wasm_eh/extension/quack/quack.duckdb_extension';
      `
    );
    console.log("installed");
    await conn.query("LOAD 'quack'; ");
    console.log("loaded");
    const result = await conn.query(`select quack('Jane') as result;`);

    await conn.close();
    await db.terminate();
    await worker.terminate();
    console.log(
      "result:",
      result.toArray().map((row) => row.toJSON())
    );
  } catch (e) {
    console.error(e);
  }
})();

The above code will just hang at LOAD 'quack';
When I do should I be setting my custom_extension_repository if so to what? should I be setting allow_unsigned_extensions: true if so how?

Hi @carlopi, I tabled this for a while, but do you have an example or doc on how to do the above?


MAINT: svd -> svdvals in nuclear norm implementation

The next release of numpy should have built-in nuclear norm https://github.com/numpy/numpy/pull/5396.


data loaders jump link clarification

a lot of people are having a hard time finding this - I think this update might help.

Thanks @jesparent I agree these are a little buried and this boosts the signal.


jdk14 on windows issue

Build jdk14 on windows got the issue:
https://github.com/sophia-guo/build-jdk-openj9/runs/715421996?check_suite_focus=true
[builder] PREPROCESS WAS SUCCESSFUL
Building target 'all' in configuration 'windows-x86_64-server-release'
make[3]: *** No rule to make target '/cygdrive/d/a/build-jdk-openj9/build-jdk-openj9/openj9-openjdk-jdk14/build/windows-x86_64-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS.vardeps', needed by '/cygdrive/d/a/build-jdk-openj9/build-jdk-openj9/openj9-openjdk-jdk14/build/windows-x86_64-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS_batch'.  Stop.
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [make/Main.gmk:70: buildtools-langtools] Error 2
make[2]: *** Waiting for unfinished jobs....

Details on discussion https://openj9.slack.com/archives/C8312LCV9/p1590702464216800
This issue should be fixed by the patch promoted from the master to openj9 branch in extension repo

The patch is https://github.com/ibmruntimes/openj9-openjdk-jdk14/commit/e7d7365f7e5bfcced9cad3f8cdf753263f35597a#diff-76c32230f78c5a6e5d014f5720a84a16

Hit again by Krishna Nandivada https://openj9.slack.com/archives/C8312LCV9/p1592996262317000

No issue on 15, close it.
https://github.com/sophia-guo/runaqaTest/runs/1419354102?check_suite_focus=true


cmake: fix charm4py build

Error introduced in #2531.
Note that even after this change, charm4py still does not build, both with the cmake and old build:
$ ./buildold charm4py netlrts-darwin-x86_64 -j8 --suffix=old
[...]
cd ../lib ; ../bin/charmc   -standalone -whole-archive -c++stl -shared -o libcharm.so libck.a libconv-core.a libconv-util.a libmemory-default.a libconv-machine.a libthreads-default.a libconv-partition.a libtmgr.a libhwloc_embedded.a libldb-rand.a libconv-ldb.a libmoduleTreeLB.a
duplicate symbol '_registerTreeLevel()' in:
    libck.a(TreeLB.o)
    libmoduleTreeLB.a(TreeLB.o)
duplicate symbol 'CkIndex_TreeLB::_callmarshall_reportLbTime_marshall8(char*, void*)' in:
    libck.a(TreeLB.o)
    libmoduleTreeLB.a(TreeLB.o)
[...]

This branch built successfully for me using ./build charm4py netlrts-linux-x86_64 on my machine.

This branch built successfully for me using ./build charm4py netlrts-linux-x86_64 on my machine.

Yes, since I removed moduleTreeLB from the link command as a test. Is this fix is correct? Also,  I have not ported this fix to the old build system, which still fails to build charm4py.

This branch built successfully for me using ./build charm4py netlrts-linux-x86_64 on my machine.

Yes, since I removed moduleTreeLB from the link command as a test (de5ff34). Is this fix is correct? Also, I have not ported this fix to the old build system, which still fails to build charm4py.
Edit:
If this fix is correct, why is there still a libmoduleTreeLB if TreeLB is already in libck? Wouldn't that always cause linking issues?

I'm not sure, I don't think there's any reason for it to be in libck other than maybe the charm4py LB registration code.

Removing TreeLB from libck also leads to linking errors:
../../../bin/charmc  -language charm++ -o hello hello.o
Undefined symbols for architecture x86_64:
  "_registerTreeLevel()", referenced from:
      _initCharm(int, char**) in libck.a(init.C.o)
  "TreeLB::configure(nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>&)", referenced from:
      LBManager::configureTreeLB(nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>&) in libck.a(LBManager.C.o)
ld: symbol(s) not found for architecture x86_64

Ready for review.


Add Luarocks functionality to XMake

Is your feature request related to a problem? Please describe.
I would like to see XMake take on the LuaRocks functionality. I'd like to try and take it on myself, though it's low priority at the moment. I'm mostly asking for your input.  Perhaps even if you could write item 1 below, that would allow me to look at the rest? I'm not suggesting you take it on unless you're really keen, but I would be willing to financially contribute.
Describe the solution you'd like
I see it happening in four steps:

Allow xmake to read and build rockspec files
Allow xmake to search the luarocks repository and download rocks
Allow xmake to read and manage luarocks config files
Allow xmake to manage (create, manage, update) rocktrees.

Describe alternatives you've considered
N/A
Additional context

I'm still new to xmake, so "bare with me". Luarocks may be a little different than xmake because it can be used to set up a global tree, user tree or project tree of binaries for use with scripts. But xmake has the tools for downloading, building and installing packages, but doesn't necessarily maintain a list of installed items (that's a guess)? A rockspec file is a subset of a xmake file. A rocktree file used to manage installed modules is really an install manifest; like an xmake.lua file is in reverse.

Luarocks is written to be portable between 5.1 and 5.x (I believe the default install is still 5.1), so there may be a possibility of just running luarocks as a Plugin (though I know little about plugins yet).  I've gone through the LuaRocks code a few times.

Alternatively, the LuaRocks functionality is quite generic and perhaps could be easily massaged into xmake (as noted above)? I found the LuaRocks functionality of rock trees to be similar to npm in functionality.

Or maybe it's just a matter of a pre-built task in xmake that writes/installs to a known location and updates a rocktree file?

The "All In One" executable I use on Windows are built in linux and are binaries combined with the lua scripts. Luarocks uses a bunch of lua modules FROM the luarocks repository, so it may be a large part of the code is portable to xmake. Who knows?

One of the things that drives feature suggestion is a problem that I have with Luarocks when using llvm-mingw (e.g. clang/lld): Luarocks assumes mingw is gcc/mingw and links directly to the DLL, which doesn't work in llvm. I'm not saying Hisham at LuaRocks won't fix it, but it's been a problem for a while, which lead me to think of this solution. I will be re-posting about the issue at LuaRocks repo soon (not tonight, it's too late).

Thanks Ruki, I look forward to the conversation. It's low priority. Cheers!

Do you mean to use xmake instead of luarocks' built-in build system to build all the binary libraries used by lua packages? Make all lua packages adapt to more toolchains, such as llvm-mingw?
If so, you can use the xrepo command provided by the dev/master version of xmake.
see https://github.com/xmake-io/xrepo/
This command can be used to find and install packages maintained by third-party package management tools, such as conan/vcpkg/homebrew/pacman.
Although xrepo does not support luarocks yet, but I will consider to add support for it. E.g
xrepo install -p mingw -a arm64 luarocks::xxx
xrepo fetch -p mingw -a arm64 luarocks::xxx

Yes, that's almost exactly what I was thinking. I had probably seen that in your help files and it subliminally triggered the idea. :-)
Let me know what I can do to help.
Is there some way I can distribute my compiler/lua toolchain with xmake? Currently I'm using Windows msi installers. I have no desire to use windows store at the moment. I can use my MSI on chocolatey.

Is there some way I can distribute my compiler/lua toolchain with xmake? Currently I'm using Windows msi installers. I have no desire to use windows store at the moment. I can use my MSI on chocolatey.

At present, xmake does not support generate installation packages, but you can customize on_package/xmake package to call other packaging tools, such as executing nsis to generate win installation packages, or use makeself to generate runfile self-installation scripts
Or customize on_install, and then execute xmake install in the source code to directly install the compiled binary and toolchain files.

Yes, that's almost exactly what I was thinking. I had probably seen that in your help files and it subliminally triggered the idea. :-)

Let me know what I can do to help.

I can consider in the next version, let xmake package manager and xrepo command support it, but you may need to wait some time, the current version 2.3.9 I do not plan to add new new features, because it will be released soon.

Is there some way I can distribute my compiler/lua toolchain with xmake? Currently I'm using Windows msi installers. I have no desire to use windows store at the moment. I can use my MSI on chocolatey.

At present, xmake does not support generate installation packages, but you can customize on_package/xmake package to call other packaging tools, such as executing nsis to generate win installation packages, or use makeself to generate runfile self-installation scripts
Or customize on_install, and then execute xmake install in the source code to directly install the compiled binary and toolchain files.

Thanks for the suggestions. I'm currently cross compiling on FreeBSD (as you know) and my WIX scripts are all entangled with Visual Studio. I will need to find a better solution to installers. Your xmake project is very exciting to me and I had (wild, fitful) dreams of using xmake as a package manager.

Thanks for the suggestions. I'm currently cross compiling on FreeBSD (as you know) and my WIX scripts are all entangled with Visual Studio. I will need to find a better solution to installers

You can try nsis. The windows installer of xmake is made by using nsi scripts. In addition, it provides makensis command line to make windows installation packages and it is open source. It seems that it can also be used on linux.
https://mohanjith.net/blog/2007/08/makensis-on-linux.html

Your xmake project is very exciting to me and I had (wild, fitful) dreams of using xmake as a binary package manager on Windows. :-)

At present, the focus of xmake is to build c/c++ and depend on package management. There are still many things to do, such as distributed compilation.
In the future, when I have free time, I may consider studying binary packaging and distribution. But currently this is not the focus of xmake.

While I mentioned a binary package manager, that's more of a tangent. Here is some more thoughts on the Luarocks integration idea.
Luarocks does not handle pre-requisites and this falls over flat on Windows (I thank @siffiejoe for reminding me of this drawback). Ignoring the configuration warning, the following is an example where I am trying to use a pcre module:
C:\Windows\system32> luarocks install lrexlib-pcre
Warning: Lua 5.3 interpreter not found at C:\Program Files (x86)\WinLua\LuaRocks

Modules may not install with the correct configurations. You may want to configure the path prefix to your build of Lua 5.3 using

   luarocks config --local lua_dir <your-lua-prefix>

Installing https://luarocks.org/lrexlib-pcre-2.9.1-1.src.rock

Error: Could not find header file for PCRE
  No file pcre.h in C:/Program Files (x86)/WinLua/WLC/i686-w64-mingw32/include
  No file pcre.h in c:/mingw/include
  No file pcre.h in c:/windows/system32/include
You may have to install PCRE in your system and/or pass PCRE_DIR or PCRE_INCDIR to the luarocks command.
Example: luarocks install lrexlib-pcre PCRE_DIR=/usr/local

The pre-requisite problem originally made me thing of integrating xmake into luarocks (the opposite of this feature request). If one is using Lua and LuaRocks primarily to support a desktop scripting environment, calling xmake from luarocks makes "more sense". A custom call to an xmake script could be added to run a package command and install components in a directory known to luarocks, possibly even as an adendem to the rocktree.
HOWEVER, If one approaches the problem from an application perspective (e.g. an executable for distribution), then the problem is different. The developer would likely want the executable binaries to exist within the application directory structure with the scripts in a known location. Luarocks sort of supports this through project rock trees but again, it feels like the focus is desktop scripting (maybe I'm incorrect?). XMake is superior here because packages can be installed anywhere one wishes. XMake could be configured to work with a luarocks config script and place components where needed.
My final thought is some form of segue until then. I am wondering about creating an xmake script to build a bunch of packages and install them in a library directory.
Thoughts, comments? @siffiejoe?
Regards,

@RussellHaley I have added one patch to support it. see https://github.com/luarocks/luarocks/pull/1265
I tested it on macos/linux and macos/mingw, it works fine for me. but I cannot test it on windows. you can try it.
About using xmake instead of luarocks/builtin build type, this patch can also support it.
build = {
    type = "builtin",
    modules = {
        ["ltui"] = {
            sources = "src/core/lcurses/lcurses.c",
            libraries = {"curses"}
        }
    }

But currently I don't have a good way to completely hook and replace the luarocks/builtin build type, I can only modify it by hard-coding rockspec.build.type = "xmake" to test it.
# use xmake instead of `builtin` build type
# How to do it?

$ luarocks install ltui
$ luarocks install LuaSocket

@RussellHaley I have added one patch to support it. see https://github.com/luarocks/luarocks/pull/1265
I tested it on macos/linux and macos/mingw, it works fine for me. but I cannot test it on windows. you can try it.
About using xmake instead of luarocks/builtin build type, this patch can also support it.
build = {
    type = "builtin",
    modules = {
        ["ltui"] = {
            sources = "src/core/lcurses/lcurses.c",
            libraries = {"curses"}
        }
    }

But currently I don't have a good way to completely hook and replace the luarocks/builtin build type, I can only modify it by hard-coding rockspec.build.type = "xmake" to test it.
# use xmake instead of `builtin` build type
# How to do it?

$ luarocks install ltui
$ luarocks install LuaSocket

I think this issue has nothing to do with xmake v2.5.1, which does not require modification of xmake's code. So I removed it from v2.5.1 Milestone, but I will continue to pay attention to this issue.

I think this issue has nothing to do with xmake v2.5.1, which does not require modification of xmake's code. So I removed it from v2.5.1 Milestone, but I will continue to pay attention to this issue.

Hi Ruki,
Absolutely, please push this out. I have no ability to absorb this for a week or so. Thank you for the suggestions you have made. I will review them asap and will try and provide some feedback. Your the best Ruki!

Hi Ruki,
Absolutely, please push this out. I have no ability to absorb this for a week or so. Thank you for the suggestions you have made. I will review them asap and will try and provide some feedback. Your the best Ruki!

New solution: https://github.com/xmake-io/luarocks-build-xmake

New solution: https://github.com/xmake-io/luarocks-build-xmake

I have forked and installed it with a standard LuaRocks installation.
osboxes@osboxes ~/g/luarocks-build-xmake (master)> pwd
/home/osboxes/git/luarocks-build-xmake
osboxes@osboxes ~/g/luarocks-build-xmake (master)> sudo luarocks make rockspecs/luarocks-build-xmake-1.0-20.rockspec

luarocks-build-xmake 1.0-20 depends on lua >= 5.1 (5.3-1 provided by VM)
luarocks-build-xmake 1.0-20 is now installed in /usr/local (license: Apache-2.0)

osboxes@osboxes ~/g/luarocks-build-xmake (master)>

I'll go do some testing with some simple C only scenarios in Windows.

I have forked and installed it with a standard LuaRocks installation.
osboxes@osboxes ~/g/luarocks-build-xmake (master)> pwd
/home/osboxes/git/luarocks-build-xmake
osboxes@osboxes ~/g/luarocks-build-xmake (master)> sudo luarocks make rockspecs/luarocks-build-xmake-1.0-20.rockspec

luarocks-build-xmake 1.0-20 depends on lua >= 5.1 (5.3-1 provided by VM)
luarocks-build-xmake 1.0-20 is now installed in /usr/local (license: Apache-2.0)

osboxes@osboxes ~/g/luarocks-build-xmake (master)>

I'll go do some testing with some simple C only scenarios in Windows.

It should work now for all platforms on ci, but automatic installation of xmake is not yet supported. https://github.com/xmake-io/luarocks-build-xmake/actions

It should work now for all platforms on ci, but automatic installation of xmake is not yet supported. https://github.com/xmake-io/luarocks-build-xmake/actions

The Lua source files specified in the module were not copied

I works for me on ci.
https://github.com/xmake-io/luarocks-build-xmake/blob/73a3455c309cae28d5e8fc31038bac451ad03316/rockspecs/example2-1.0-1.rockspec#L18-L22
https://github.com/xmake-io/luarocks-build-xmake/blob/73a3455c309cae28d5e8fc31038bac451ad03316/.github/workflows/linux.yml#L34

I tried with sudo to install in the system rocktree, but xmake is not in the root users path so sudo failed:

I have improved to find xmake to fix this problem.

The Lua source files specified in the module were not copied

I works for me on ci.
https://github.com/xmake-io/luarocks-build-xmake/blob/73a3455c309cae28d5e8fc31038bac451ad03316/rockspecs/example2-1.0-1.rockspec#L18-L22
https://github.com/xmake-io/luarocks-build-xmake/blob/73a3455c309cae28d5e8fc31038bac451ad03316/.github/workflows/linux.yml#L34

I tried with sudo to install in the system rocktree, but xmake is not in the root users path so sudo failed:

I have improved to find xmake to fix this problem.

I have fully implemented luarocks-build-xmake, and support automatic download and installation of xmake if it is missing.
Example1 (with xmake.lua)
We can build c/c++ modules if the project contain xmake.lua
├── src
│   ├── test.c
│   └── test.h
└── xmake.lua

xmake.lua
We need to use add_rules("luarocks.module") to add build rules for luarocks modules.
add_rules("mode.debug", "mode.release")

target("example1.hello")
    add_rules("luarocks.module")
    add_files("src/test.c")

rockspec
package = "example1"
version = "1.0-1"
source = {
    url = "git://github.com/xmake-io/luarocks-build-xmake",
    tag = "example1"
}
dependencies = {
    "lua >= 5.1",
    "luarocks-build-xmake"
}
build = {
    type = "xmake",
    copy_directories = {}
}

Example2 (without xmake.lua)
We can use xmake as builtin build type to build c/c++ modules if the project does not contain xmake.lua
├── src
    ├── test.c
    └── test.h

rockspec
package = "example2"
version = "1.0-1"
source = {
    url = "git://github.com/xmake-io/luarocks-build-xmake",
    tag = "example2"
}
dependencies = {
    "lua >= 5.1",
    "luarocks-build-xmake"
}
build = {
    type = "xmake",
    modules = {
        ["example2.hello"] = {
            sources = "src/test.c"
        }
    },
    copy_directories = {}
}

Set special xmake version
dependencies = {
    "lua >= 5.1",
    "luarocks-build-xmake"
}
build = {
    type = "xmake",
    variables = {
        xmake = {
            version = "2.5.1"
        }
    },
    copy_directories = {}
}

Set xmake compilation configuration
dependencies = {
    "lua >= 5.1",
    "luarocks-build-xmake"
}
build = {
    type = "xmake",
    variables = {
        xmake = {
            plat = "mingw",
            arch = "x86_64",
            mode = "debug",
            cflags = "-DTEST1",
            cc = "gcc",
            ld = "gcc",
            ldflags = "...",
            mingw = "mingw sdk path",
            vs = "2019",
            vs_runtime = "MT",
            vs_toolset = "",
            vs_sdkver = "",
        }
    },
    copy_directories = {}
}

I have fully implemented luarocks-build-xmake, and support automatic download and installation of xmake if it is missing.
Example1 (with xmake.lua)
We can build c/c++ modules if the project contain xmake.lua
├── src
│   ├── test.c
│   └── test.h
└── xmake.lua

xmake.lua
We need to use add_rules("luarocks.module") to add build rules for luarocks modules.
add_rules("mode.debug", "mode.release")

target("example1.hello")
    add_rules("luarocks.module")
    add_files("src/test.c")

rockspec
package = "example1"
version = "1.0-1"
source = {
    url = "git://github.com/xmake-io/luarocks-build-xmake",
    tag = "example1"
}
dependencies = {
    "lua >= 5.1",
    "luarocks-build-xmake"
}
build = {
    type = "xmake",
    copy_directories = {}
}

Example2 (without xmake.lua)
We can use xmake as builtin build type to build c/c++ modules if the project does not contain xmake.lua
├── src
    ├── test.c
    └── test.h

rockspec
package = "example2"
version = "1.0-1"
source = {
    url = "git://github.com/xmake-io/luarocks-build-xmake",
    tag = "example2"
}
dependencies = {
    "lua >= 5.1",
    "luarocks-build-xmake"
}
build = {
    type = "xmake",
    modules = {
        ["example2.hello"] = {
            sources = "src/test.c"
        }
    },
    copy_directories = {}
}

Set special xmake version
dependencies = {
    "lua >= 5.1",
    "luarocks-build-xmake"
}
build = {
    type = "xmake",
    variables = {
        xmake = {
            version = "2.5.1"
        }
    },
    copy_directories = {}
}

Set xmake compilation configuration
dependencies = {
    "lua >= 5.1",
    "luarocks-build-xmake"
}
build = {
    type = "xmake",
    variables = {
        xmake = {
            plat = "mingw",
            arch = "x86_64",
            mode = "debug",
            cflags = "-DTEST1",
            cc = "gcc",
            ld = "gcc",
            ldflags = "...",
            mingw = "mingw sdk path",
            vs = "2019",
            vs_runtime = "MT",
            vs_toolset = "",
            vs_sdkver = "",
        }
    },
    copy_directories = {}
}

Amazing, I look forward to testing.  I postulate that the compilation configuration can be set through the luarocks config file in the "variables" block:
C:\Users\russh> cat 'C:\Program Files (x86)\WinLua\LuaRocks\config-5.3.lua'
rocks_trees = {
    {
        name = 'user',
        root = home .. [[\\luarocks]]
    },
    {
        name = 'system',
        root = 'C:\\Program Files (x86)\\WinLua\\Lua\\5.3'
    }
}
variables = {
        LUA_DIR = "C:\\Program Files (x86)\\WinLua\\Lua\\5.3\\bin",
        LUA_LIBDIR = "C:\\Program Files (x86)\\WinLua\\Lua\\5.3\\bin",
        LUA_INCDIR = "C:\\Program Files (x86)\\WinLua\\Lua\\5.3\\include",
        LUALIB = "lua53.lib",
        CC = "wlc32.exe",
        LD = "wlc32.exe"
}
external_deps_dirs = {
        "C:\\Program Files (x86)\\WinLua\\WLC\\i686-w64-mingw32/"
}
external_deps_patterns = {
        bin = {
                        "?.exe",
                        "?.bat"
                },
        lib = {
                        "?.lib",
                        "lib?.lib",
                        "lib?.a",
                        "lib?.dll.a",
                        "?.dll.a"
                },
        include = {
                        "?.h"
                }
}
external_lib_extension = 'lib'
local_by_default = true
verbose = false-- set to 'true' to enable verbose output

Amazing, I look forward to testing.  I postulate that the compilation configuration can be set through the luarocks config file in the "variables" block:
C:\Users\russh> cat 'C:\Program Files (x86)\WinLua\LuaRocks\config-5.3.lua'
rocks_trees = {
    {
        name = 'user',
        root = home .. [[\\luarocks]]
    },
    {
        name = 'system',
        root = 'C:\\Program Files (x86)\\WinLua\\Lua\\5.3'
    }
}
variables = {
        LUA_DIR = "C:\\Program Files (x86)\\WinLua\\Lua\\5.3\\bin",
        LUA_LIBDIR = "C:\\Program Files (x86)\\WinLua\\Lua\\5.3\\bin",
        LUA_INCDIR = "C:\\Program Files (x86)\\WinLua\\Lua\\5.3\\include",
        LUALIB = "lua53.lib",
        CC = "wlc32.exe",
        LD = "wlc32.exe"
}
external_deps_dirs = {
        "C:\\Program Files (x86)\\WinLua\\WLC\\i686-w64-mingw32/"
}
external_deps_patterns = {
        bin = {
                        "?.exe",
                        "?.bat"
                },
        lib = {
                        "?.lib",
                        "lib?.lib",
                        "lib?.a",
                        "lib?.dll.a",
                        "?.dll.a"
                },
        include = {
                        "?.h"
                }
}
external_lib_extension = 'lib'
local_by_default = true
verbose = false-- set to 'true' to enable verbose output

variables = {
LUA_DIR = "C:\Program Files (x86)\WinLua\Lua\5.3\bin",
LUA_LIBDIR = "C:\Program Files (x86)\WinLua\Lua\5.3\bin",
LUA_INCDIR = "C:\Program Files (x86)\WinLua\Lua\5.3\include",
LUALIB = "lua53.lib",

It should work for lualib configs.
https://github.com/xmake-io/luarocks-build-xmake/blob/8b18f1f62ba26944f117ed549ddaeea210fbdd6e/src/xmake.lua#L550-L552

variables = {
LUA_DIR = "C:\Program Files (x86)\WinLua\Lua\5.3\bin",
LUA_LIBDIR = "C:\Program Files (x86)\WinLua\Lua\5.3\bin",
LUA_INCDIR = "C:\Program Files (x86)\WinLua\Lua\5.3\include",
LUALIB = "lua53.lib",

It should work for lualib configs.
https://github.com/xmake-io/luarocks-build-xmake/blob/8b18f1f62ba26944f117ed549ddaeea210fbdd6e/src/xmake.lua#L550-L552

I am going to close it, we can continue to discuss related topics in luarocks-build-xmake/issues.


gpg-connect-agent: might be able to execute its arguments, how to ignore

I have a script, that calls gpg-connect-agent that I want to package for nix using resholve. As far as I know, the input used here is not executed. Is there a way to tell resholve, that its okay to just resolve the reference to gpg-connect-agent?

There is.
The ideal outcome of these is to improve resholve and/or binlore to fix it for everyone, but when you need a short-term workaround, you can add execer lore. Let me know if that isn't clear and I can dig up a full example.
I don't expect you to go down the ideal path here, but I still need to ~document it--so I'll follow this up with another comment in the hope that I can get your thoughts on whether it makes sense.

Thank you very much.
As a workaround, your tip works nicely and I will have a look on your comment how to do it the right way :)

I'll have to iterate towards "how to"; it's a little more fundamental for now. I'll definitely need help scaling it out, but I'm leery of investing a lot of potential dev time writing guides sufficient for others to do it from before they're obviously needed.
To start, I'm curious if this flowchart makes sense:
flowchart TD
    Z[binlore searches executables for use of known exec calls] --> A[resholve complains when  it finds a potential execer] --> B{Is any package executable common in scripts?}
    B --->|Yes| C[we should address in binlore or resholve]
    B -->|No| D[callers will need to supply long-tail lore]
    C --> E{Do package doc/source indicate user-supplied executable args?}
    E -->|No| F[binlore: override package's lore to mark safe executables as 'cannot']
    E --->|Yes| G[resholve: add command-specific syntax rules to identify executable args]

I'm not sure what you mean with "long-tail lore" otherwise the flow-chart is totally understandable

good catch :)
changed from "long-tail lore" to "lore for less-common packages"

Here are my thoughts on gpg-connect-agent following your flowchart:

gpg-connect-agent could be used in at least some scripts, so it might be an candidate to handle in binlore/resholve
It has some user-supplied executable arguments, so it should be handled in resholve

Source: https://www.gnupg.org/documentation/manuals/gnupg/Invoking-gpg_002dconnect_002dagent.html#Invoking-gpg_002dconnect_002dagent
Options that I found, that execute user-supplied arguments:
-E
--exec

    Take the rest of the command line as a program and it’s arguments and execute it as an Assuan server.

--agent-program file

    Specify the agent program to be started if none is running. The default value is determined by running gpgconf with the option --list-dirs. Note that the pipe symbol (|) is used for a regression test suite hack and may thus not be used in the file name.

--dirmngr-program file

    Specify the directory manager (keyserver client) program to be started if none is running. This has only an effect if used together with the option --dirmngr.
--keyboxd-program file

    Specify the keybox daemon program to be started if none is running. This has only an effect if used together with the option --keyboxd.


bug: commands and cursor are invisible in arch theme

Description
When the theme is set to arch the commands and cursor are invisible.
How to Reproduce

Go to my-terminal-portfolio.vercel.app/
Run command theme
Run command theme set arch
The cursor will be vanished and any command typed after that will be invisible.

Screen Recording
https://github.com/thtauhid/terminal-portfolio/assets/116940083/c0df2457-415c-4b17-bd42-1d45d7524533
I would like to work on this issue!

Hi @MahendraDani
I am unable to reproduce the same bug.
Can you try the same on https://my-terminal-portfolio.vercel.app/thtauhid ?

Hi @MahendraDani I am unable to reproduce the same bug.
Can you try the same on https://my-terminal-portfolio.vercel.app/thtauhid ?

@thtauhid
Yes the bug still exists!
When you run theme set arch the background color changes to arch theme colors but the cursor is not visible.

Description
When the theme is set to arch the commands and cursor are invisible.
How to Reproduce

Go to my-terminal-portfolio.vercel.app/
Run command theme
Run command theme set arch
The cursor will be vanished and any command typed after that will be invisible.

Screen Recording
f9937b9a-4b33-46cc-9d6a-7daeac91a2e3.mp4
I would like to work on this issue!

@thtauhid
If you see at 0:17 the theme is set to arch but the cursor is not appearing on the screen

@MahendraDani I am still unable to reproduce the same thing on my device.
@codexsusan @LinhNguyenLe2109 can you check on your devices?

@MahendraDani I am still unable to reproduce the same thing on my device.
@codexsusan @LinhNguyenLe2109 can you check on your devices?

@thtauhid
Please watch the screen recording I have shared.
The issue is that when theme is set to arch the cursor is not visible on the screen

@MahendraDani I am still unable to reproduce the same thing on my device.
@codexsusan @LinhNguyenLe2109 can you check on your devices?

@thtauhid Please watch the screen recording I have shared. The issue is that when theme is set to arch the cursor is not visible on the screen

I have seen the screen recording. I am not able to reproduce the same. That's why I need feedback from someone else before I can mark it as a bug.
Please wait for some time till we receive the feedback.
Thank you

Alright!


the formula letter $v$ should be replaced by $v_f$

Description
According to the description of the formula below, it can be seen that.
(Optional:) Please add any files, screenshots, or other information here.
No response
(Required) What is this issue most closely related to? Select one.
Formula
Internal issue ID
d9faf5b0-5026-4804-b0f8-541dcad63f02
Paper URL
https://arxiv.org/html/2403.04115v2
Browser
Chrome/<IP_ADDRESS>
Device Type
Desktop

Please contact the author for corrections to the text.
This repository only tracks the quality of the experimental HTML format.