[STORM-1106] Netty should not limit attempts to reconnect

The change itself looks OK, but I would like us to remove the maxConnectionAttemtps member variable.  It is not needed anymore, and it scares me that we will regress again with it there.  Additionally we should look at updating the config.
    /**
     * Netty based messaging: The max # of retries that a peer will perform when a remote is not accessible
     */
    public static final String STORM_MESSAGING_NETTY_MAX_RETRIES = "storm.messaging.netty.max_retries";
    public static final Object STORM_MESSAGING_NETTY_MAX_RETRIES_SCHEMA = ConfigValidation.IntegerValidator;

Describes what the config was doing, but that is fundamentally flawed.  It would be nice to deprecate this and file a follow on JIRA so that we can use a better named/documented config in the backoff calculation

Updated code to mark the configuration as deprecated
Remove private variable.
Created follow-up jira https://issues.apache.org/jira/browse/STORM-1107

+1 pending travis

The Travis build failure on 1.8 seems unrelated.

+1 I would be good to address STORM-1107 before doing a subsequent release.

@kishorvpatil
For confirming that I understood this issue well, I'd like you to elaborate this issue some more.
As far as I understand, when retry count exceeds, Connect.run() throws RuntimeException, but worker doesn't be killed since it is a TimerTask.
So it just closes the connection and wait for reassign for such worker.
If Nimbus reassigns dead worker to another after retry limit exceed, another connection is being made and it would be fine.
But some reason if problematic worker is just not able to connect (for example, STW, and so on) to another workers for longer than connection retrying but not forever, and nimbus doesn't reassign problematic worker, another workers cannot connect to problematic worker forever.
Is my assumption right? Or there's other reason?

Nimbus would not reassign anything because - workers come-up and heartbeat correctly ( as it is independent thread.)
If workerA runs out of attempts to WorkerB ( because workerB was delayed in launching..) The workerA simply hangs..)

This patch simply helps resolve that bottleneck for trying to connect forever.

Also, there is bigger problem with HashedWheelTimer has bigger problems when worker has large number of connections to make and the remote workers are not accepting connections. At least for version of netty we are using there have been reports of it cracking over high CPU usage - i.e. once I saw HashedWheelTimer cause worker hangups. I am in the process of creating a reproducible test and solution for that. But we don't have to hold back 0.10.x release for that.

@kishorvpatil
Thanks for the detail. I didn't think about situation 2. :)
+1

Seems like default value of storm.messaging.netty.max_wait_ms is very small.
I didn't see the details about StormBoundedExponentialBackoffRetry, but if it is running as intended via class comment, we're sleeping between 100 ~ 1000 ms for each retry by default.
But we're pinning max retry count to 29 from ExponentialBackoffRetry.validateMaxRetries() since we use 1 << retryCount to sleep, resulting that we only sleep about max 29 secs, which is too short.

@HeartSaVioR, your understanding about StormBoundedExponentialBackoffRetry is correct, the 29 seconds is decent time - in case where workerB restarts due to any reason - during regular set-up.  But initial startup ( requires supervisor to read assignments/download code/launch workers.) which could mean much more than that.
The StormBoundedExponentialBackoffRetry lets you go beyond max attempts to give you 1sec sleep until you succeed. So, the workerA should keep trying unless nimbus informs workerA that workerB ( is no longer working on that port.)

@kishorvpatil
Yeah, after this PR gets merged. :)
Thinking it once more, since default nimbus.task.timeout.secs is 30, retrying for each 1 secs seems not be short.
Just curious about adjusting max_wait_ms may affect HashedWheelTimer's CPU usage as you stated.


[bug]: InvokeAI install 5.4.3rc1

Is there an existing issue for this problem?

[X] I have searched the existing issues

Operating system
Windows
GPU vendor
Nvidia (CUDA)
GPU model
RX 3060
GPU VRAM
No response
Version number
3.5
Browser
Windows 11
Python dependencies
No response
What happened
Attempting to install invokeai 5.4.3rc1 -- get error message: Error: Unexpected exit code: 1
Command line: | 'C:\Users\SaPanther\invokeai5.4.venv\Scripts\pip.exe' install --require-virtualenv --force-reinstall --use-pep517 'invokeai[onnx-cuda]==5.4.3rc1' --extra-index-url https://download.pytorch.org/whl/cu124
Could not install InvokeAI. Please try downloading the latest version of the installer and install again.
Press any key to continue . . .
What you expected to happen
expected an install
How to reproduce the problem
run install.bat
Additional context
have broken current version so that does not work either
Discord username
none

Invoke requires python 3.10 or 3.11. If you don't already have one of these versions installed, we suggest installing 3.11, as it will be supported for longer.
Happen to me too on windows 10, i had uninstall python python 3.12, and leave only 3.11.9 as unique python install on my system (a bit of workaround for now..).
Go here, install python 3.11.9, and be sure is the only one installed
on your system, you can check on terminal with python --version, then try again launch invokeai installer bat file


Gitea: Misc fixes, allow custom IS for postgresql…

What is this PR About?

Feature: Add optional ImageStream creation for the postgresql image: The default IS's are usually missing in disconnected clusters.
Feature: Add value which enables edge TLS termination on the route (defaults to true).
Fix: Make the imagestream_tag actually override the tag in the created IS for gitea.
Fix: Name of PVC created was wrong, and breaks the deploy, if the release name is not gitea.
Fix: Alter a couple of the commented-out entries in values.yaml to reflect what defaults the code applies.
Fix: Make the message that flags the hostname as a required value consistent in both places where it can be generated.

How do we test this?

Deploy chart with a custom release name.
Verify the route is HTTPS with the cluster's default certificate.
Ensure a new ImageStream is made/used for postgresql when .Values.db.imagestream_from is set to registry.redhat.io/rhel8/postgresql-13:latest and .Values.db.imagestream_name is set to a value such as postgres-custom

cc: @redhat-cop/day-in-the-life

/lgtm
/approve
@InfoSec812 ; since you created the chart, you OK to review?


Slack invite no longer valid

The slack invite (https://join.slack.com/t/netnewswire/shared_invite/enQtNjM4MDA1MjQzMDkzLTNlNjBhOWVhYzdhYjA4ZWFhMzQ1MTUxYjU0NTE5ZGY0YzYwZWJhNjYwNTNmNTg2NjIwYWY4YzhlYzk5NmU3ZTc) is no longer valid. 😢 Unsure if you all still use this for communication, but if you are, I'd like to join.

Thanks for the heads-up! I had no idea these could expire.
I’ll get a new invitation URL.

I created a new URL. I also created a shorter version that will redirect.
https://ranchero.com/netnewswire/slack

@oliikit If you go to https://ranchero.com/netnewswire/slack you’ll be able to join the Slack.

🥳 woo! thank you!


Add createinstallmedia functionality to create USB Installer (Intel)

:bulb: Description
It would be cool if there was an option to create a USB installer once the macOS download is completed for those versions of OSX and macOS that support createinstallmedia
:adhesive_bandage: Alternatives Solutions + Workarounds
Maybe a "Help" menu entry with a guide on how to create the Installer manually
:information_source: Additional context

OpenCore Legacy Manager offers thhis feature: https://github.com/dortania/OpenCore-Legacy-Patcher

Thank you for this great app!

Thanks for the suggestion - I like it + implementing this shouldn't be too challenging 🤞
I am currently tinkering with the UI, will report back once I have something to show 👍

So far so good:

Incredible!


Fix TLS error in client

Due to recent changes in the Let's Encrypt / ISRG certificate chain, the client was failing to validate the certs of the server.
This hardcodes the ISRG roots for now which fixes it for the time being.
Backend checklist

[ ] Formatted my code by running autoflake -r -i --remove-all-unused-imports src && isort . && black . in app/backend
[ ] Added tests for any new code or added a regression test if fixing a bug
[ ] All tests pass
[ ] Run the backend locally and it works
[ ] Added migrations if there are any database changes, rebased onto develop if necessary for linear migration history

We had the same problem at work with Ubuntu 20.04. But updating ca-certificates package fixed the issue.

It’s very useful for debugging installation issues with the support team (to make sure they’ve the right version installed).

So this PR is just for debugging and not meant to be merged?

Upstream issue: https://github.com/grpc/grpc/issues/27532
As discussed in the meeting, we'll wait for upstream to fix up their root store, then we'll merge this excluding the addition of extra roots (there's a few other useful things here).

@kalvdans: do you mind having another look? I've cleaned this up and removed the cert CA pinning, so now this just cleans up the build a bit.

This pull request is being automatically deployed with Vercel (learn more).

Dead link.


Move contract pages to app router

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
This PR primarily focuses on the removal of several files related to the dashboard and contract-ui components, as well as updates to various components to include txChainID for transaction handling. It also introduces new utility functions and modifies existing pages for better contract handling.
Detailed summary

Deleted multiple files from apps/dashboard/src/contract-ui and apps/dashboard/src/core-ui.
Updated components to include txChainID prop in TransactionButton.
Introduced utility functions for contract handling and metadata fetching.
Enhanced page components to manage contract-related features and metadata.
Implemented checks for various contract features and permissions.

The following files were skipped due to too many changes: apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/explorer/page.tsx, apps/dashboard/src/contract-ui/tabs/tokens/page.tsx, apps/dashboard/src/contract-ui/tabs/overview/components/ContractChecklist.tsx, apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/code/page.tsx, apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/nfts/[tokenId]/page.tsx, apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/page.tsx, apps/dashboard/src/contract-ui/tabs/shared-components/cancel-tab.tsx, apps/dashboard/src/contract-ui/tabs/listings/components/list-form.tsx, apps/dashboard/src/contract-ui/tabs/overview/components/PermissionsTable.tsx, apps/dashboard/src/contract-ui/tabs/overview/components/BuildYourApp.tsx, apps/dashboard/src/contract-ui/tabs/account/page.tsx, apps/dashboard/src/contract-ui/tabs/overview/components/NFTDetails.tsx, apps/dashboard/src/contract-ui/tabs/accounts/components/accounts-table.tsx, apps/dashboard/src/contract-ui/tabs/code/components/code-overview.tsx, apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/settings/page.tsx, apps/dashboard/src/stores/SyncStoreToStorage.tsx, apps/dashboard/src/contract-ui/tabs/nfts/components/table.tsx, apps/dashboard/src/contract-ui/tabs/claim-conditions/components/claim-conditions.tsx, apps/dashboard/src/contract-ui/tabs/events/components/events-feed.tsx, apps/dashboard/src/components/shared/DeprecatedAlert.tsx, apps/dashboard/src/contract-ui/tabs/overview/components/Analytics.tsx, apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_utils/getContractFromParams.ts, apps/dashboard/src/contract-ui/tabs/embed/components/embed-setup.tsx, apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/ConfigureCustomChain.tsx, apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_utils/detectedFeatures/claimConditions.ts, apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/layout.tsx, apps/dashboard/src/contract-ui/tabs/settings/page.tsx<EMAIL_ADDRESS>apps/dashboard/src/components/custom-contract/contract-header/contract-metadata.tsx, apps/dashboard/src/contract-ui/tabs/overview/components/LatestEvents.tsx, apps/dashboard/src/contract-ui/tabs/explorer/page.tsx, apps/dashboard/src/contract-ui/tabs/overview/page.tsx<EMAIL_ADDRESS>apps/dashboard/src/contract-ui/tabs/nfts/components/token-id.tsx<EMAIL_ADDRESS>apps/dashboard/src/components/layout/app-shell/index.tsx<EMAIL_ADDRESS>apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_utils/getContractPageSidebarLinks.ts, apps/dashboard/src/contract-ui/components/primary-dashboard-button.tsx, apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_utils/getContractPageMetadata.ts, apps/dashboard/src/contract-ui/tabs/nfts/page.tsx, apps/dashboard/src/contract-ui/tabs/overview/components/MarketplaceDetails.tsx, apps/dashboard/src/components/contract-components/hooks.ts, apps/dashboard/src/components/configure-networks/ConfigureNetworkForm.tsx, apps/dashboard/src/components/custom-contract/contract-header/metadata-header.tsx<EMAIL_ADDRESS>apps/dashboard/src/components/buttons/MismatchButton.tsx<EMAIL_ADDRESS>

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#4820  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MananTank and the rest of your teammates on  Graphite

TODO - catch all the things that can throw server side - done


MB-1687 rework move task order and mto shipment creation

Description
As a TOO when I click on a move from the /too/customer-moves screen
Then I should see

Customer Details
Entitlements
Orders Information
Customer Requested Shipments

And next to each requested shipment I should see an accept or reject button.
Clicking accept adds the standard service items for the shipment to the MTO
Clicking reject does nothing for now.
Setup
Add any steps or code to run in this section to help others prepare to run your code:
make db_dev_e2e_populate
make server_run client_run

Best way to test this is to find the locally generated service member user and submit their move.
Service Member App

Dev login
Login with<EMAIL_ADDRESS>(milmove)
Complete move app, sign and submit

Office App

Login
Navigate to officelocal:3000/too/customer-moves
Select the move that was just submitted (last one usually)
Check Move Task Order if it has a reference ID
Check Shipment if there's at least one
Try to Approve shipment
There should be base service items added now

Code Review Verification Steps

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
[ ] There are no aXe warnings for UI.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

This is doing a lot of work in the model. Wondering, based on the conversation in this PR, if it would be better to have a move_task_order_creator service and move the generateReferenceID function and the other functions into the service.

This is doing a lot of work in the model. Wondering, based on the conversation in this PR, if it would be better to have a move_task_order_creator service and move the generateReferenceID function and the other functions into the service.

We definitely can do that. Since we move towards more service objects, it seems to me that the pop callbacks won't be used anymore. Except for the validation callback on the model.

Following up on this. Since we don't have a formal onboarding process, putting a service object in the convert.go file will cause a cycle import. We could move the convert file out of the models package but I think we should save that for later until we actually do have a formal process.

This is doing a lot of work in the model. Wondering, based on the conversation in this PR, if it would be better to have a move_task_order_creator service and move the generateReferenceID function and the other functions into the service.

We definitely can do that. Since we move towards more service objects, it seems to me that the pop callbacks won't be used anymore. Except for the validation callback on the model.

Following up on this. Since we don't have a formal onboarding process, putting a service object in the convert.go file will cause a cycle import. We could move the convert file out of the models package but I think we should save that for later until we actually do have a formal process.

Interesting. Thanks for investigating.

@LeDeep I ended up moving the convert.go file to the service directory. It didn't take that long to make the changes. :)


"Port is opening" error on Arduino nano

Hello,
I have been working with Avrgirl and the Arduino Uno without much issues, but when I try with an Arduino Nano, reading from the serial port fails.
I realise this might be somewhat outside of what Avrgirl is meant to be used for.
Basically, I am implementing a Serial Monitor, where I am able to choose which Serial Port to open. This works well for the Uno, but the Nano responds with a nasty "Port is open" exception. After that, however, the Serial communication is read, and everything seems to be working OK.
I've tried to debug, but I am not sure why this is happening on the Nano, and not the Uno.
This is the code I have for opening the serial port (I have tried openImmediately set to true as well):
`if (port) {
var serialPort = new SerialPort(port, {
baudrate: 9600,
openImmediately: false
}); // this is the openImmediately flag [default is true]
                selectedSerialPort = serialPort;
                serialPort.open(function (error) {
                    if (error) {
                        console.log('failed to open: ' + error);
                    } else {
                        console.log('open');
                        serialPort.on('data', function (data) {
                            //console.log('data received: ' + data);
                            serialDataCache = serialDataCache.concat(data);
                        });
                    }
                });
            }`

Of course, I forgot to include the screenshots :)


1.1

Main changes:

Use of docker-java v3
basic support for Docker for Mac beta (with #160 and #166 being notable gotchas)
upgraded support for Docker Compose to support v2 format compose files plus scaling of services

Will merge as I'm pretty comfortable that no major things need to be done. I'd expect to follow up with a point release reasonably soon to address further improvements or any necessary bugfixes.


Maintain the current index on rerendering items

Bug/feature/question
Expo snack - https://snack.expo.io/@setjetters/mature-cashew
I have a map with markers and the carousel displays cards of the marker details (think AirBnB), so as you move the map additional markers as well as carousel cards get loaded in.
Is there any way when the carousel is rerendered from those new cards getting loaded in to maintain the currently active carousel item and not need to find the new index of the currently active item and snap to it? It'd be a much smoother user experience.
Notice in the snack if you load cards, slide over one or two, then load more it needs to rescroll to what should be the same currently active card. It'd be nice if it could maintain that card and render the others around it.
(As well as I'm having a bug that I'm not able to repro in this snack that must be from the complexity of my screen, but it's all around maintaining the currently active card when new data is loaded)

I have the same issue, has anyone found a fix?

Sorry, please allow me to advertise for my open source library! ~
I think this library react-native-reanimated-carousel will solve your problem. It is a high performance and very simple component, complete with React-Native reanimated 2


Persistent login

Find how to bend the cookies to make the login truly persistent on all devices.
This probably did not work robustly:

find and replace same_site='lax' in /lib/python3.10/site-packages/extra_streamlit_components/CookieManager/frontend/build/static/js/main.9f47bc68.chunk.js

Currently, the problem is that the user gets logged out on every refresh

https://discuss.streamlit.io/t/session-state-get-reset-when-the-user-refreshes-the-browser/63340/3

Solved!! 🎉
This piece of code in authenticator.py seems to do the right thing:
if "authenticator" in st.session_state:
        auth = st.session_state["authenticator"]

        if not st.session_state["authentication_status"]:
            # this hack seems to be able to retrieve the cookie and correctly log the user after the page refresh
            auth.cookie_handler.cookie_manager = stx.CookieManager()
            token = auth.cookie_handler.get_cookie()
            print("token", token)
            if token:
                auth.authentication_handler.execute_login(token=token)

        return auth

The login would be actually also persistent if the authenticator is reinitialized every time, but that often seems to lead to multiple page reload. This way, we are able to retrieve the authenticator from the session state most of the times, and on page refresh we reinitialize it together with the cookie manager.
If there are still some problems in the future, we may also try to set same_site=None, secure=True  in the CookieHandler.set_cookie() method of the Streamlit Authenticator package.

It seems that some mobile browsers still have issues, needs further investigation

Ok, solved once again (maybe).
We need to have a sleep() in the set() method of the CookieManager, probably so that JS has enough time to set the cookie before the page reloads:
/lib/python3.10/site-packages/extra_streamlit_components/CookieManager/__init__.py

    def set(
        self,
        cookie: str,
        val: Union[str, int, float, bool],
        key: str = "set",
        path: str = "/",
        expires_at: Optional[datetime.datetime] = None,
        max_age: Optional[float] = None,
        domain: Optional[str] = None,
        secure: Optional[bool] = None,
        same_site: Union[bool, None, Literal["lax", "strict"]] = "strict",
    ):
        if cookie is None or cookie == "":
            return

        if expires_at is None:
            expires_at = datetime.datetime.now() + datetime.timedelta(days=1)

        self._remove_extra_spacing()
        expires = expires_at.isoformat()
        options = {
            "path": path,
            "expires": expires,
            "maxAge": max_age,
            "domain": domain,
            # "secure": secure,
            # "sameSite": same_site,
            "secure": True,
            "sameSite": None,
        }
        # Remove None's
        options = {k: v for k, v in options.items() if (k != "sameSite" and v is not None)}
        self.cookie_manager(
            method="set",
            cookie=cookie,
            value=val,
            options=options,
            key=key,
            default=False,
        )
        # this is super important so that JS is able to set the cookie
        time.sleep(1)
        self.cookies[cookie] = val


Fix File name too long error when STDIN is provided

Because the whole file is passed as an option @path can get enormous and mkdir raises File name too long.
This PR simply removes stdin as a relevant option.

Can you provide some repro scenario so I can get a better idea of the nature of the problem. Looking at your fix I'm assume it manifests only with caching, which seems odd to me.

Just run cat lib/rubocop.rb | rubocop -s test for example. ResultCache makes a temp path with everything it has, including options https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/result_cache.rb#L14 Since :stdin is in those options the file name is huge and mkdir fails.

:+1: Thanks!


[MdGridList] - Grid doesn't display at all on server with RatioTileStyler display strategy

Bug, feature request, or proposal:
On the server the MdGridList component doesn't display when using the RatioTileStyler strategy. It doesn't display because the applied styles are not valid properties name.
Specifically on the setRowStyles and getComputedHeight methods.
These methods define some styles to be applied on the tile, but the properties to be written are camelCase. On the browser this works well, but the server renderer writes theses properties inside the style attribute as they are.
 Ex : style="marginTop: calc(((33.333333333333336% - ( 0px * 0.6666666666666666 )) + 0px) * 0);paddingTop:calc(((33.333333333333336% - ( 0px * 0.6666666666666666 )) * 1) + (0 * 0px));"
marginTop and paddingTop are not valid property names for the browser, therefore it ignore them.
What is the expected behavior?
The css properties should be written kebab-case to be correctly handled by the browser.
What is the current behavior?
What are the steps to reproduce?
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Is there anything else we should know?

Thanks for the heads-up @jimjim2a, I could confirm that the margin and padding weren't being assigned anymore. What's odd is that the old renderer used assign the properties, even though they were invalid. The one just drops the invalid ones altogether.

Awesome ! Thanks @crisbeto


⚠ Syncthing-KA-TM has degraded performance

In 579022f, Syncthing-KA-TM ($URL_SYNCTHING_MERZ_NIMBUS_TM) experienced degraded performance:

HTTP code: 200
Response time: 4358 ms

Resolved: Syncthing-KA-TM performance has improved in a6bc47b after 5 minutes.


Add DoesNotExist on Requirement for AWSNodeTemplate

Fixes #
Description

Add  DoesNotExist on requirements instead of NotIn for default AMI requirements

How was this change tested?

manually tested

Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[ ] No

Release Note

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Closing in favor of #3845


cant run systemcl services

when run a systemd command like:
$sudo systemctl start mariadb.service
output:
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down

https://github.com/yuk7/ArchWSL/wiki/Known-issues#systemdsystemctl

ginie-systemd in AUR has been removed for some reason.

The issue on the genie repo
The PKGBUILDs
And the very dumb reason


"message":"503 - NOT OK","name":"StatusCodeError"

Please assist if you have once came across this error.

Hi @KabeloShongwe , the 503 error - as all 5xx errors - are errors that occur on the server side. Your request has nothing to do with it. If there was something wrong with your request then you would get a 4xx error. Of course there is still a chance that something is wrong with your request but this would mean that your server doesn't send a proper error code back.
If the api docs of your server don't give you the info you need it is best you get in touch with the community of that server.
I hope this helps.

Thank you so much


Bug report

Describe the bug
Localsend is unable to start on Windows 11 due to socket error.
To reproduce

Open LocalSend on Windows 11
Localsend displays an error notification that it's unable to bind to port

Expected behavior
Localsend should start successfully
Screenshots

Desktop (please complete the following information)

OS: Windows 11 Build 22621

Smartphone (please complete the following information)
No response
Additional context
No response

Duplicate of #125


The app doesn't receive message after several hours without sending any message to it while using socket mode

Description
The app works fine when it has been started with socket mode enabled.
But the app doesn't receive any messages after 24 or more hours without sending any message to it.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
Filling out the following details about bugs will help us solve your issue sooner.
Reproducible in:
package version:
<EMAIL_ADDRESS>node version:
v12.16.3
OS version(s):
RHEL 8.4
Steps to reproduce:

Start the app, and everything works fine.
Do not send any message to it for several hours, maybe 24 hours.
Send messages to the app.

Expected result:
The connection should be kept as long as the app is running. And the bot should keep receiving messages.
Actual result:
The bot doesn't receive messages from channel after 24 or more hours without sending any message to it.
Attachments:
Logs:  After several hours the log will repeat like below.
socket-mode:SocketModeClient:0 calling ack events_api
[DEBUG]  socket-mode:SocketModeClient:0 send() in state: connected,ready
[DEBUG]  socket-mode:SocketModeClient:0 sending message on websocket: {"envelope_id":"1e38618a-40d9-4780-93a7-a3c4fe142713","payload":{}}
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"warning","debug_info":{"host":"applink-canary-5467cdc868-2w5t7"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect warning, creating second connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:refreshing-connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticating
[DEBUG]  web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG]  web-api:WebClient:1 will perform http request
[DEBUG]  web-api:WebClient:1 http response received
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticated
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:handshaking
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"hello","num_connections":2,"debug_info":{"host":"applink-d85c5c684-k8lpq","build_number":18,"approximate_connection_time":18060},"connection_info":{"app_id":"A028U9TTUG1"}}
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"refresh_requested","debug_info":{"host":"applink-canary-5467cdc868-2w5t7"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect refresh requested, closing old websocket
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:closing-socket
[DEBUG]  socket-mode:SocketModeClient:0 secondary websocket exists, tear down first and assign second
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"warning","debug_info":{"host":"applink-d85c5c684-k8lpq"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect warning, creating second connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:refreshing-connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticating
[DEBUG]  web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG]  web-api:WebClient:1 will perform http request
[DEBUG]  web-api:WebClient:1 http response received

some code:
        const app = new App({
            token: process.env.SLACK_BOT_TOKEN,
            signingSecret: process.env.SLACK_SIGNING_SECRET,
            socketMode: true,
            appToken: process.env.SLACK_APP_TOKEN,
            logLevel: LogLevel.DEBUG,
        });

       app.message(/.*/, this.processMessage);

@zhikong-sn Thanks for taking the time to report this issue! Although the team is checking if this is easily reproducible, this sounds like a bug of the underlying SocketModeClient.

[DEBUG]  web-api:WebClient:1 http response received

Does your app log end with this line when the situation arose? We are guessing that the reconnection logic might not work well for some reason. If you see something unusual in the log, sharing more details would be greatly appreciated.

@seratch Thanks for your response.
I just copied out all the logs starts from the app starts to disconnect.  Hope it can help.
[DEBUG]  socket-mode:SocketModeClient:0 calling ack events_api
[DEBUG]  socket-mode:SocketModeClient:0 send() in state: connected,ready
[DEBUG]  socket-mode:SocketModeClient:0 sending message on websocket: {"envelope_id":"1e38618a-40d9-4780-93a7-a3c4fe142713","payload":{}}
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"warning","debug_info":{"host":"applink-canary-5467cdc868-2w5t7"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect warning, creating second connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:refreshing-connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticating
[DEBUG]  web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG]  web-api:WebClient:1 will perform http request
[DEBUG]  web-api:WebClient:1 http response received
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticated
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:handshaking
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"hello","num_connections":2,"debug_info":{"host":"applink-d85c5c684-k8lpq","build_number":18,"approximate_connection_time":18060},"connection_info":{"app_id":"A028U9TTUG1"}}
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"refresh_requested","debug_info":{"host":"applink-canary-5467cdc868-2w5t7"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect refresh requested, closing old websocket
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:closing-socket
[DEBUG]  socket-mode:SocketModeClient:0 secondary websocket exists, tear down first and assign second
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"warning","debug_info":{"host":"applink-d85c5c684-k8lpq"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect warning, creating second connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:refreshing-connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticating
[DEBUG]  web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG]  web-api:WebClient:1 will perform http request
[DEBUG]  web-api:WebClient:1 http response received
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticated
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:handshaking
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"hello","num_connections":2,"debug_info":{"host":"applink-canary-5467cdc868-2w5t7","build_number":18,"approximate_connection_time":18060},"connection_info":{"app_id":"A028U9TTUG1"}}
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"refresh_requested","debug_info":{"host":"applink-d85c5c684-k8lpq"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect refresh requested, closing old websocket
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:closing-socket
[DEBUG]  socket-mode:SocketModeClient:0 secondary websocket exists, tear down first and assign second
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: reconnecting
[DEBUG]  socket-mode:SocketModeClient:0 only primary websocket exists, tear it down
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connecting
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connecting:authenticating
[DEBUG]  web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG]  web-api:WebClient:1 will perform http request
[DEBUG]  web-api:WebClient:1 http response received
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connecting:authenticated
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connecting:handshaking
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"hello","num_connections":2,"debug_info":{"host":"applink-d85c5c684-dnqj9","build_number":18,"approximate_connection_time":18060},"connection_info":{"app_id":"A028U9TTUG1"}}
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"warning","debug_info":{"host":"applink-d85c5c684-dnqj9"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect warning, creating second connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:refreshing-connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticating
[DEBUG]  web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG]  web-api:WebClient:1 will perform http request
[DEBUG]  web-api:WebClient:1 http response received
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticated
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:handshaking
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"hello","num_connections":2,"debug_info":{"host":"applink-d85c5c684-k8lpq","build_number":18,"approximate_connection_time":18060},"connection_info":{"app_id":"A028U9TTUG1"}}
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"refresh_requested","debug_info":{"host":"applink-d85c5c684-dnqj9"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect refresh requested, closing old websocket
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:closing-socket
[DEBUG]  socket-mode:SocketModeClient:0 secondary websocket exists, tear down first and assign second
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[INFO]  socket-mode:SocketModeClient:0 A ping wasn't received from the server before the timeout of 30000ms!
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:refreshing-connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticating
[DEBUG]  web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG]  web-api:WebClient:1 will perform http request
[DEBUG]  web-api:WebClient:1 http response received
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticated
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:handshaking
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"hello","num_connections":2,"debug_info":{"host":"applink-canary-5467cdc868-6c8pg","build_number":18,"approximate_connection_time":18060},"connection_info":{"app_id":"A028U9TTUG1"}}
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 secondary websocket exists, tear down first and assign second
[INFO]  socket-mode:SocketModeClient:0 A ping wasn't received from the server before the timeout of 30000ms!
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:refreshing-connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticating
[DEBUG]  web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG]  web-api:WebClient:1 will perform http request
[DEBUG]  web-api:WebClient:1 http response received
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticated
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:handshaking
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"hello","num_connections":2,"debug_info":{"host":"applink-d85c5c684-dnqj9","build_number":18,"approximate_connection_time":18060},"connection_info":{"app_id":"A028U9TTUG1"}}
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 secondary websocket exists, tear down first and assign second
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"warning","debug_info":{"host":"applink-d85c5c684-dnqj9"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect warning, creating second connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:refreshing-connection
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticating
[DEBUG]  web-api:WebClient:1 apiCall('apps.connections.open') start
[DEBUG]  web-api:WebClient:1 will perform http request
[DEBUG]  web-api:WebClient:1 http response received
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:authenticated
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: refreshing-connection:handshaking
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"hello","num_connections":2,"debug_info":{"host":"applink-d85c5c684-fm9mn","build_number":18,"approximate_connection_time":18060},"connection_info":{"app_id":"A028U9TTUG1"}}
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready
[DEBUG]  socket-mode:SocketModeClient:0 received a message on the WebSocket: {"type":"disconnect","reason":"refresh_requested","debug_info":{"host":"applink-d85c5c684-dnqj9"}}
[DEBUG]  socket-mode:SocketModeClient:0 disconnect refresh requested, closing old websocket
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:closing-socket
[DEBUG]  socket-mode:SocketModeClient:0 secondary websocket exists, tear down first and assign second
[DEBUG]  socket-mode:SocketModeClient:0 transitioning to state: connected:ready

The logs don't show anything wrong eh. And the reconnections keep happening and nothing crashes? You are just not seeing any events from the app making it through?

Yes, That's the case.I saw the log said connected: ready. But it doesn't receive any events in that point.
And if I restart the app, everything works again.

I just found out that it works now without changing anything. I'll test it again, if everything works, I'll close the issue. And Thanks for your track.

@zhikong-sn - How'd that testing go? Are we alright to close this issue?

Hi there! I have a really similar issue here.
My slack app uses socket mode and listens to a couple of messages, a sample is like below
const app = new App({
    token: SLACK_BOT_TOKEN,
    signingSecret: SLACK_SIGNING_SECRET,
    socketMode: true,
    appToken: SLACK_APP_TOKEN
});

app.message('goodbye', async ({ message, say, client }) => {
     await<EMAIL_ADDRESS>bye bye`);
 });

I deployed my slack app using socket mode, and in the beginning, it was live and responded to messages quickly. But after one day's idle time, i.e., the app is not getting called by messages, I encounter this error
socket-mode:SocketModeClient:0 A websocket error occurred: Unexpected server response: 408

At the same time after this log shows, my slack app stops responding for quite a long time even though I keep sending the trigger message (for example goodbye as the sample code above). There is just no response or more logs showing up, as if the app is down.
However, after I just keep sending trigger messages to my app for a couple of minutes, the app comes back to life and starts working again.
So now my question is, how could I check socket mode connection status by myself, and once the connection goes down, I want to immediately reconnect it, in order to not let this "calling app but long time no response" situation above happen.
Thanks!

This is happening to us now, using @slack/bolt 3.9.0. At night, when nobody is using the app, we get this notice:
[INFO]  socket-mode:SocketModeClient:0 A ping wasn't received from the server before the timeout of 30000ms!

After that the app is not receiving events anymore.
The app.client.chat.postMessage() function can still send messages. I guess those don't use the socket.


Append hardcoded email when user has no email

Description
This PR should close #694 by appending a predefined email when user hasn't one in its profile.
Even though a more elegant solution would have been nice, this is pretty fast and allows not to change many tests that would otherwise break with the better solution. This solution is to re-evaluate if the migration to the new be takes longer than expected
Motivation
Having no email had the unwanted effect of allowing such a user to see all datasets
Fixes:

fallback to hardcoded email

Tests included/Docs Updated?

[x] Included for each change/fix?
[ ] Passing? (Merge will not be approved unless this is checked)
[ ] Docs updated?
[ ] New packages used/requires npm install?
[ ] Toggle added for new features?

@J-avery32 please check this fast fix. I appreciate it's not the best, but it spared us from fixing all the otherwise failing tests, given that the plan is to move to the new be

I think this should be a quick fix to all the problems I laid out in the original PR. However, not very robust as we are not double checking in all different places of the code for the possible weird behaviors. So a similar bug could be introduced easily without it being obvious or caught by any tests.

I agree. And I think this makes sense for now, only because the plan is to move to the new be in the short term, but if that will   take longer, we should review this change again


Add a Get Mapping service

Add ability to get mapping from elasticsearch.
Usage:
client, err := elastic.NewClient(http.DefaultClient)
if err != nil {
	panic(err)
}

mapping, err := client.GetMapping().Get(index).
	Debug(true).  // print request and response to stdout
	Pretty(true). // pretty print request and response JSON
	Do()
fmt.Printf(os.Stdout, "Got mapping: %s", mapping)

The mapping is just returned as a string - no JSON unmarshalling.

Thanks for your work.
I'm in the middle of a larger refactoring regarding the services (I try to align more to the practices of the official ES clients). I will revisit the GetMapping service after that. Once that refactoring is done, you will get a lot more APIs/services (they can be auto-generated; see the generate-api branch in case you're interested).

Thanks I'll look out for that. Also the tests I wrote fail on 1.3.8 apparently due to a difference in whats returned with you request a mapping.

The mapping API is now in with this commit. However, notice that it's not in master but the client-refactorings branch that'll become master eventually (hopefully by the end of the week, if tests on production are all green). If you want to test, you're welcome :-)


Reset cached variables in load->view()

Variable cache allows "views that are embedded within other views can have access to these variables" - according to the documentation.
But it has a side effect: if you load views in a row, the later loaded ones can access variables from the previous ones. E.g.:
$this->load->view('first-view', ['firstVariable' => 'foo']);
$this->load->view('second-view');
In second-view.php, you can access $firstVariable.
Resetting cache avoids this but keeps the embedding functionality.

See #5373 and please do search for existing issues in the future.


Good takes on disinformation, deepfakes, abuse, etc

https://knightcolumbia.org/content/how-to-prepare-for-the-deluge-of-generative-ai-on-social-media
https://purl.stanford.edu/jv206yg3793

Resolved by #10


Handle very big number

Right now very big version number eg.:
99999999999999999999999.999999999999999999.99999999999999999

can easy broke lib, need to be handled.

Hi,
I start to play with that enhancement on my fork. If you think about direct usage of BigInteger it is not a good idea. That broke API » https://github.com/Koziolek/semver4j/pull/1
I would like to handle this via some „smart shim” on API level but need some more time to do that.

Hello,
thanks for this!
BigInteger max value looks promising.
Change methods contract to String also will break the API
Maybe in the first implementation just need to handle max integers. Version with max number<PHONE_NUMBER> should be enough :) That need to throw unchecked exception (ie. IllegalArgumentException or some custom exception). That allows us to not break an API and easily deliver fixed version of lib.
PS. Remember about using spaces for indentation.

New PR #74 added. Without API changes.


Creating Directory

Hi,
I couldn't figure out how I can create an empty directory
Thanks

resolved by appeding slash to path.

@amosavian I'm going through open issues now, so you'll see me replying to a bunch of them. Sorry to hit you all at once :)
What's the status of this? You closed it, but then reopened it soon thereafter without any comment. Is this still a problem?

Sorry I forgot to close it. I made a PR with a function to create a directory inside zip as I remember to address this issue.

You created #57, but I closed it because I thought you asked me to. Should I reopen it?

If you wish to have that method in main stream. Personally I implemented it via a swift extension in my code.
Btw, That code is not a solution for this issue.

Could you paste it here for me to see? It's probably generally useful to be able to create empty directories in archives.

This is my implementation : https://github.com/abbeycode/UnzipKit/pull/57/files

Yeah, the implementation is straightforward. What's your use case for this?

It would be good to have it, cause sometimes you just need to zip some directory with subdirectories and files "as it is", and without empty directories it will be not like that.
By the way, method mirroring "extractFilesTo" would also be awesome :)

@v-vodyanov Would you mind opening an issue for your extractFilesTo request, with more detail as to what you would like to see?

Sure, here it is - #73

@amosavian was this addressed already (a duplicate of #74)?

Yes I did


Either de-duplicate serialized output, or compress output.

What problem does this solve?
Currently, serialized playback captures are large; there is a lot of the captured data is repeated/similar.
What solution would you like?
Either playback data can be de-duplicated, or capture output should be compressed.

Actually, we misunderstood the problem. We are always printing to file captured input from 0 to current_time.


Optimize git push and API requests

When the number of patches in a stack grows beyond just a few, the time it takes for gerritlab to perform its operations can become very long (30 seconds or more).
This commit attempts to improve the situation by making the following changes:

Use a single git push to push all commits to their respective branches.  This is a major time saver.

Determine whether an MR needs to be updated or created using only the information returned by merge_request.get_all_merge_requests(). Never perform additional MR queries.

This commit removes the old logic that was required to deal with unexpected GitLab auto-merge behavior (FIXME: reference needed).  That problem doesn't seem to happen anymore, which is good because now the code can be much simpler.
There's a lot of debugging/profiling stuff left in this commit that needs to be removed before finalizing.

Ready for re-review.

LGTM!


CUDA: Support CUDA Toolkit conda packages from NVIDIA

NVIDIA now publishes conda packages containing the CUDA toolkit: https://anaconda.org/nvidia
These packages place components in different locations to the Anaconda- and conda-forge-maintained packages. This PR updates Numba's library search logic so that it can find the libraries in these packages. The locations of the components in these packages are (all relative to $CONDA_PREFIX):

NVVM is placed in nvvm/lib64 on Linux and nvvm/bin on Windows
Static CUDA libraries are in lib on Linux, and Lib/x64 on Windows
Dynamic CUDA libraries are in lib on Linux, and bin on Windows
Libdevice is in nvvm/libdevice

I also noticed that locating libcudadevrt was broken when using a non-conda-installed toolkit on Windows - this is also resolved by this PR.
Along with this, I thought it would also be helpful to display the locations searched for libcuda.so (as the location of libcuda.so can be an issue, as in #7104) - this PR shows the search locations and the path used for a successful load, but unfortunately this is sometimes relative, with the actual path determined by the system loader. There is no easy way to check the absolute path of the loaded library, but something more complex to report the exact path could be added in a future PR. A little refactoring was needed in cudadrv.py to separate the path determination from the actual loading, so that the path info could be presented by libs.test().
The logic additions in cuda_paths.py are a little unwieldy and contrived - unfortunately as the file has evolved things have got a little out of control - it's difficult to get this logic both correct and minimal, so I've left it as it is for now rather than trying to further refactor the code here - given that this code does not change much, I'm inclined not to spend too much more time thinking about it.

@esc Could this have a buildfarm run prior to review please? I'm concerned that something might be up (because this has been hard to get right) and I'd rather make sure it works before the review, rather than getting it approved then discovering a fatal flaw in the logic.

Moving from the 0.57 milestone pending future developments in the structure and distribution of the CUDA toolkit packages - once a clear route forward is visible this PR can be updated and moved into an appropriate milestone.

@stuartarchibald Many thanks for the review. The way forward for publishing CUDA toolkit packages on Anaconda.org is now resolved, and CUDA 12.0 packages are available on the NVIDIA channel. I have updated this PR with main and in response to the comments above, so it should be ready for another round of review.
A couple of points on testing - first, it would be good to test with gpuCI, but the driver version in our gpuCI setup doesn't have CUDA 12.0 yet, so that will have to be added in future. Secondly, I've tested this locally with the NVIDIA CUDA 12.0 packages, and tests pass, and the library tests show correct detection:
$ python -c "from numba import cuda; cuda.cudadrv.libs.test()"
Finding driver from candidates: libcuda.so, libcuda.so.1, /usr/lib/libcuda.so, /usr/lib/libcuda.so.1, /usr/lib64/libcuda.so, /usr/lib64/libcuda.so.1...
Using loader <class 'ctypes.CDLL'>
	trying to load driver...	ok, loaded from libcuda.so
Finding nvvm from Conda environment (NVIDIA package)
	located at /home/gmarkall/mambaforge/envs/numba-nvidia-channel/nvvm/lib64/libnvvm.so.4.0.0
	trying to open library...	ok
Finding cudart from Conda environment (NVIDIA package)
	located at /home/gmarkall/mambaforge/envs/numba-nvidia-channel/lib/libcudart.so.12.0.146
	trying to open library...	ok
Finding cudadevrt from Conda environment (NVIDIA package)
	located at /home/gmarkall/mambaforge/envs/numba-nvidia-channel/lib/libcudadevrt.a
Finding libdevice from Conda environment (NVIDIA package)
	trying to open library...	ok

If you want to test locally with the NVIDIA packages, you can install it with:
conda install nvidia::cuda-toolkit=12

Let me know if you run into any issues in testing.

gpuci run tests

Thanks for the updates in 09d6fc1, they look good. I think this patch just needs a manual test and a run through the buildfarm.

@stuartarchibald As discussed OOB I've added the supported CCs to nvvm.py for toolkits 12.0 and 12.1 - these are changes related to this PR since the packages it adds support for are from 12.0 onwards. I also made a note in the docs that MVC is not supported on CUDA 12 (when I made the MVC PR CUDA 12 was not out yet so it stated nothing about it at the time).

@stuartarchibald As discussed OOB I've added the supported CCs to nvvm.py for toolkits 12.0 and 12.1 - these are changes related to this PR since the packages it adds support for are from 12.0 onwards. I also made a note in the docs that MVC is not supported on CUDA 12 (when I made the MVC PR CUDA 12 was not out yet so it stated nothing about it at the time).

Many thanks @gmarkall. I've tested this PR at bd92dd2 manually using CUDA Toolkit 12.1 conda packages from NVIDIA, all the CUDA unit tests pass and numba -s correctly reports the use of NVIDIA packages.

gpuci run tests

@stuartarchibald Many thanks, line-wrap change committed.

Buildfarm ID: numba_smoketest_cuda_yaml_185.

Buildfarm ID: numba_smoketest_cuda_yaml_185.

Passed.


Dynamic variables are no longer working

I got a plugin update about 30 minutes ago and for me the support for dynamic env vars seems to be gone:
Given the following request definition:
# @name AUTH
POST {{host}}/auth/login
Accept: application/json
Content-Type: application/json

{
  "email": "{{email}}",
  "password": "{{password}}"
}

This follow up request was picking up the correct value:
GET {{host}}/restricted/resource
Authorization: Bearer {{AUTH.response.body.$.result.accessToken}}
Accept: application/json

Since the update I get the error that the variable is not defined. This is the case even if I use eg. the header of the response. It looks like the top level 'AUTH' variable is not defined.

Can you elaborate a bit more, because I checked and document vars, .env, system env and http-client.env.json are all working properly on my side.
We had a breaking change, that is that the variables can't be shared with other http files anymore, they are scoped to the buffer (if you want to have them shared between all files in neovim, you can enable the old behaviour here: https://kulala.mwco.app/docs/getting-started/configuration-options#environment_scope)

Ah yes that makes sense. The requests mentioned are in different files. And yes other var sources (env.json) still work fine for me. So did I get this correctly that the request setting the dyn var has to be in the same buffer than the request using it?

Yes, except if you want to enable shared data, then the option is for you: https://kulala.mwco.app/docs/getting-started/configuration-options#environment_scope
We did this on purpose to not leak data into other buffers, but if don't mind, you can enable the "old" behaviour.

So yes with the global config everything works perfectly well. Thank you for the clarification.


Serious problem !!!

I tried to calculate the hash of the block with the available information, and found that the calculation did not match
http://nodeapi.hacash.org/query/block/intro?height=591819
{
"ret": 0,
"hash": "000000000018c7925c3d67f81fd514b79430cd10896a2d8208c72b572f3d1cd5",
"message": "HOPE",
"height": 591819,
"timestamp":<PHONE_NUMBER>,
"prevhash": "0000000000025c1c65571d0db3c040e28d3a3b515746f45e95c9092f3e8cf52d",
"version": 1,
"mrklroot": "1c29dae6df06d03d8e94ffc36a05f86311277c719c9a7cc404af6dec3456b339",
"difficulty":<PHONE_NUMBER>,
"miner": "12FeQ7pgof6y5f7G8TJYeesso9u88MTpA8",
"reward": "8:248",
"transaction": 0,
"nonce":<PHONE_NUMBER>
}
0100000907cb006707dc1b0000000000025c1c65571d0db3c040e28d3a3b515746f45e95c9092f3e8cf52d1c29dae6df06d03d8e94ffc36a05f86311277c719c9a7cc404af6dec3456b33900000000a5b18ab8d4d92c480000
01 blockversion 1
00000907cb height 5
006707dc1b timestamp 5
0000000000025c1c65571d0db3c040e28d3a3b515746f45e95c9092f3e8cf52d prehash 32
1c29dae6df06d03d8e94ffc36a05f86311277c719c9a7cc404af6dec3456b339 mrklroot 32
00000000  tscount 4
a5b18ab8  nonce 4
d4d92c48 difficulty 4
0000 2
sha3:e73b5b48d50c840b23266639245e3fc95673a8dcc9288a50e0e54f8461844557
x16rs:12b3bdb076ecc6a266b4dfd2911b67e9493e93bba8f2eaa71655598c9a5a8bf9
execution source code:
main_x16rs.zip

intToarr(timestamp, tempbytes, 4);
temp=hex_encode(tempbytes, 4);
strcat(stuff_hex,temp );

ERROR: timestamp bytes length is 5.

unsigned int tscount= 0;
-------- change to --------
unsigned int tscount= 1;
Because there is not 0 transactions in the block, but there is a coinbase transaction, so tscount field is always more than or equal to 1.

I think it would be better to modify the "transaction" value to avoid misunderstandings in the next version of the api.


Make InitWalletProvider callable up front, allowing initialization in a splash loading scene

There are some situations where you might want to initialize the SDK in a different scene than where you want to connect the wallet.
An example: Custom Splash/Loading- Screen that does some initialization, perhaps connecting to a backend server.
In the case of WebGL Builds, this wouldn't work, as the Walletprovider is only initialized on Connecting the Wallet, thereby throwing an error on startup.
This PR isolates the initialization code into a public method, and tracks it in  a private variable. The Connect code is refactured to use the same method, maintaining backward compatability but extending functionality.

The initialisation logic has been reworked in 3.0.0 and this shouldn't be an issue anymore.


cmake: add USE_SYSTEM_* options; support find_package(pthreadpool)

Similar to the work done in https://github.com/pytorch/pytorch/pull/37137, this adds the following CMake options:

USE_SYSTEM_LIBS
USE_SYSTEM_GOOGLEBENCHMARK
USE_SYSTEM_GOOGLETEST
USE_SYSTEM_FXDIV

This is particularly useful in the context of Nix, where we can build these libraries once and then re-use them elsewhere to avoid rebuilding vendors dependencies.
Additionally, adds a CMake configuration file to make it possible for CMake-based projects to use find_package to consume this library.

Updated to reflect comment from https://github.com/pytorch/cpuinfo/pull/153#discussion_r1254647992.
@Maratyszcza if you have the time, would you mind reviewing this?

I'd be interested in seeing this merged as well since we need this change for the https://github.com/google/ml-compiler-opt project. @Maratyszcza would it be possible to take a look?


keep beam location history in a stack

We might need to keep track of previous locations lets say we have 3 different locations (0,1,2) and you passed through all 3 using beam to now when you beam back from 2 to 1 the previous location will be 2 but shouldn't it be 0?

I just realized what would ease my mind regarding keeping too many locations unnecessarily: We should have a historyCount attribute that will default to 1 (as is now) and the developer can set this to what feels necessary or, for example, -1 for infinity (because there is no int.infinity as there is double.infinity).

yes, but the history would be saved in a list right? , and we are adding already created objects to a list so still it won't hinder the performance too much I think even if it was infinity number of history, another suggestion would be to save the location information, not the location object itself ex (location path).

Ok, we'll save entire history. I think I worry unnecessarily. Most app usage sessions will be making at most 10-20 location jumps, that should not be a concern.


Add testing suite

This is a draft of a testing suite using pytest. I want this to be reviewed before I add much else, although im not completely sure what needs to be tested specifically anyway.
I will also add a pytest github action if this is good.

hmm. this line should also be resolved

Also, it seems that it fails on windows (might be caused by a path issue? or poetry stuff).
And of course, the branch conflicts.

Also, it seems that it fails on windows (might be caused by a path issue? or poetry stuff).

It used to fail because of that, but now it fails because stdout of the subprocess is empty for some reason

Also, it seems that it fails on windows (might be caused by a path issue? or poetry stuff).

It used to fail because of that, but now it fails because stdout of the subprocess is empty for some reason

I think that all the manual context manager class is unnecessary boilerplate. Would be easier to get rid of that and go the simple way. They're just tests after all, it would be awkward to have to test the tests.

I think that all the manual context manager class is unnecessary boilerplate. Would be easier to get rid of that and go the simple way. They're just tests after all, it would be awkward to have to test the tests.

Tests test themselves. No reason to test any test utils. If there's a simpler way feel free to show how it would work


Implement User Mention Functionality

Issue Description:
Currently, the IntrepidBot lacks the ability to mention specific users in its responses. This functionality is crucial for effective communication within a team or community. By allowing the bot to recognize and respond to user mentions, it will greatly enhance its utility and usability.
Tasks:

Integrate a user mention detection mechanism.
Modify the response generation module to include appropriate user mentions.
Ensure the bot responds accurately to user mentions in various contexts.
Implement a testing suite to verify the functionality.
Expected Outcome:
Upon successful completion of this task, users will be able to mention specific individuals in their interactions with the bot, fostering clearer and more targeted communication.

Additional Information:
This enhancement aligns with the goal of improving user engagement and communication within the IntrepidBot environment.
Please refer to the GitHub repository and relevant documentation for more details on the codebase and existing functionalities.

Nice! I'll consider it!


Problem with path params using subresources

When using sub-resources (http://python-eve.org/features.html#sub-resources) you probably have this kind of url: 'people/<regex("[a-f0-9]{24}"):contact_id>/invoices'
This syntax "conflicts" with the Swagger path params which are defined using brackets {. Then it considers that 24 is a path params, but not contact_id.
I'm not sure what would be the right approach for this problem, maybe rewrite urls to have something like people/{contact_id}/invoices and a swagger path definition like
{
  "name": "contact_id",
  "in": "path",
  "description": "regex("[a-f0-9]{24}")",
  "required": true,
  "type": "string"
}

Yes sounds like a good plan.

Looks like the proper way to handle those would be to use the pattern field to hold the regex instead of description:
{
  "name": "contact_id",
  "in": "path",
  "pattern": "[a-f0-9]{24}",
  "required": true,
  "type": "string"
}

http://stackoverflow.com/a/33711973/316805
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#user-content-parameterPattern
http://json-schema.org/latest/json-schema-validation.html#rfc.section.5.8


Serpent serializer may corrupt data

MoonGen uses Serpent to pass data between it's tasks. The problem is Serpent is unable to serialize some objects. For instance, a queue object (both RX and TX) appears to be broken after deserilization. Also the problem is with MAC address, which is represented by a floating point value in Lua (since Lua does not have 64-bit integers), so the less significant bits may be corrupted after deserialization.
In both issues I used some workaroud in my cloned MoonGen:

queue
MAC address

Queues are passed as parameters in most example scripts and seems to work, can you give an example where it is corrupted?
I've seen problems with MAC addresses, yes. But 48 bits should be serializable and I think I once fixed something related to this, I will check this.

Just revert the mentioned commit https://github.com/QratorLabs/MoonGen/commit/f4565f1a58cd63babdc972322bf110904ae62e39 in my MoonGen clone and run
./build/MoonGen  ./examples/l3-tcp-syn-ack-flood.lua 0   -c

That's about RX queue serialization, so to get an error some traffic must be received at the running machine.
...
[INFO]  Device 0 (7C:FE:90:77:D2:92) is up: 40000 MBit/s
rxCount
[FATAL] Lua error in task rxCount
/home/art/MoonGen/build/../libmoon/lua/driver/mlx5.lua:71: bad argument #2 to 'new' (cannot convert 'nil' to 'int')
Stack Traceback
===============
(2) Lua method 'getThroughput' at file '/home/art/MoonGen/build/../libmoon/lua/driver/mlx5.lua:71'
        Local variables:
         self = [Device: id=0]  {initialized:true, rxQueues:table: 0x414071c8, txQueues:table: 0x41f42dc8 (more...)}
...

It seems that queue object was corrupted, and so it's dev points to nowhere.
Now I'm trying to reproduce this bug with by task within the pristine repository.

Yes, it also breaks in https://github.com/emmericp/MoonGen repository.
Just grab this file https://github.com/QratorLabs/MoonGen/blob/testing-queue-serialization/examples/l3-tcp-syn-ack-flood.lua and run
./build/MoonGen  ./examples/l3-tcp-syn-ack-flood.lua 0   -c

Working as expected for me, fresh server, fresh clone:
   3  git clone https://github.com/emmericp/MoonGen     4  cd MoonGen/     5  ls     6  ./build.sh      7  ./setup-hugetlbfs.sh      8  curl https://raw.githubusercontent.com/QratorLabs/MoonGen/testing-queue-serialization/examples/l3-tcp-syn-ack-flood.lua > test.lua     9  ./build/MoonGen test.lua  0 -c
[INFO]  Device 0 (68:05:CA:32:44:D8) is up: 40000 MBit/s rxCount ^C[Device: id=0] RX: 0.00 Mpps, 0 Mbit/s (0 Mbit/s with framing) [Device: id=0] RX: nan (StdDev 0.00) Mpps, nan (StdDev 0) Mbit/s (nan Mbit/s with framing), total 1 packets with 87 bytes (incl. CRC)

i've fixed the queue thing, it was specific to the mlx driver and the way you were using it
mac serialization seems to work for me, can you provide an example where this fails? i've tested it with this test:
local mg = require "libmoon"

local function test(mac)
        assert(mg.startTask("thread", mac):wait() == mac)
end

function master()
        test(0xFFFFFFFFFFFF)
        test(0)
        test(0x1234567890AB)
end

function thread(mac)
        return mac
end

Thank you for fixing queues, it works.
As for MAC serialization, that's quite old issue, I need some time to restore that circumstance.


Hide loom from dependency graph

The way loom is set up now, loom and its dependencies show up in my dep graph as soon as I depend on crossbeam-utils or crossbeam-epoch. It would be nice to avoid this, for example as done in https://github.com/hawkw/sharded-slab/pull/52/files. (I can do the legwork on this if you like.)

yeah, we plan to do that https://github.com/crossbeam-rs/crossbeam/pull/487#issuecomment-783392692

(also, it will be downloaded but not actually compiled.)

will be fixed by #666


Fixed #241

Fixed #241
CSS-Easy
Change h1 to red in style.css
Changes made:

in tasks/css/easy/style.css , I added the code by referencing the h1 class which was set to red.

I had to use .red to reference the red class instead of h1 , which would make ALL h1 elements red which is not desirable.

Fixed #241
CSS-Easy
Change h1 to red in style.css
Changes made:

in tasks/css/easy/style.css , I added the code by referencing the h1 class which was set to red.

I had to use .red to reference the red class instead of h1 , which would make ALL h1 elements red which is not desirable.

That's very well explained, thanks for contributing!

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


PoolChunkList free PoolChunk and get  usage(1) = minUsage(1) cause PoolChunk waste memory

We use PooledByteBufAllocator.DEFAULT to deal http data allocation.
Expected behavior
The count of PoolChunks in PoolChunkList can be balanced automatically with the data deal pressure.
When http process data in low waterline, less count of PoolChunks costs and consumer less noheap memory.
Actual behavior
When Big data response appears and data loaded into DirectByteBuf.  I found that many PoolChunks appeared in Jvm Heap Dump and every PoolChunk consumed about 16MB.  After Big data response gone away,  the PoolChunk's count didn't reduce. When debuged with idea, i found that some PoolChunk  which needed to be freed was  not released because the usage which is 1 after  calculated  equaled the minUsage(1) of the PoolChunkList.
io.netty.buffer.PoolChunkList#free
if (chunk.usage() < minUsage) {
 remove(chunk);
 return move0(chunk);
}
Netty version
4.1.25
JVM version (e.g. java -version)
jdk1.8.0_291
OS version (e.g. uname -a)
Max OS X

@yuanyetao please upgrade to the latest netty version and check if the problem still exists.


Import in Typescript without esModuleInterop?

Is there a way to do so? Thanks!

Please provide more details about the problem you're facing, including what you've tried so far, what didn't work, some sample code etc.

@nuthinking Were you able to make any progress with this?

I import it with const sharp = require('sharp'); works but I don't get any typing.

allowSyntheticDefaultImports might help.
If you still require help, please provide the complete configuration you're using, perhaps as a standalone repo, that allows someone else to reproduce.

Closing due to inactivity but please feel free to reopen with more details if further help is required.


Build Nix statically to reduce closure size

nix-static.overrideAttrs (_: { preHook = ""; }) builds it, but fails to work for some reason.

Caveat: (and I don't know the full context), but afaik static nix doesn't work with aws / s3.

also not supported (at least by nix repo) on darwin.


Bugfix: describe_event_bus()['Policy'] should be JSON string, not object

boto3.client('events')['Policy'] must be a string as per:
http://boto3.readthedocs.io/en/latest/reference/services/events.html#CloudWatchEvents.Client.describe_event_bus
Adding json.dumps() around the policy value ensures we do not return an unexpected dict
import boto3
from moto import mock_events
real_events = boto3.client('events')
real_bus_policy_json = real_events.describe_event_bus()['Policy']
mock = mock_events()
mock.start()
moto_events = boto3.client('events')
mock_bus_policy_json = moto_events.describe_event_bus()['Policy']
print("Real bus policy returned as %{0}".format(str(type(real_bus_policy_json))))
print("Mock bus policy returned as %{0}".format(str(type(mock_bus_policy_json))))

Coverage decreased (-0.08%) to 92.681% when pulling e85106c708d593a8048b6a30014ef0744b454942 on cpitchford:cpitchford/events_describe_event_bus_policy_json_string into cb364eedc6e4edcfa3c65f152c7d13f1e5fe2ea4 on spulec:master.

Coverage decreased (-0.08%) to 92.681% when pulling e85106c708d593a8048b6a30014ef0744b454942 on cpitchford:cpitchford/events_describe_event_bus_policy_json_string into cb364eedc6e4edcfa3c65f152c7d13f1e5fe2ea4 on spulec:master.

Thanks and welcome to Moto!


Drop use of custom _unused

This conflicts with linux-headers which uses __unused for some padding members
on ppc64le at least.
__foo is reserved anyway.
Use the standard attributes, at the cost of losing support for ancient GCCs.
Closes: #622

having to inline the full attribute macro is unwieldy which is why having local defines is preferable
maybe someday when we require C23+ we can inline things like [[unused]]


Only works for public repositories due to lack of auth accessing GitHub API

dateofcommit=$(curl -s https://api.github.com/repos/green-coding-berlin/eco-ci-activity-checker/commits/main) only works because that repository is public.
For a private repository an auth token is needed

@nealeu Thanks for bringing this up!
@dan-mm Can you backport the fix from our other eco-ci activites to this one?

This ended up being a bit more complicated than just backporting the fix from the eco-ci-energy estimator, as the commits endpoint has different authentication than the workflow endpoints.
I was able to support this however by adding the ability to pass in a personal-access-token to the action for use with private repositories. The readme has been updated with information about this.
While touching this, I also made a few improvements based on what I learnt while working on the eco-ci-energy-estimation action, and now the workflow-id, repo, and branch are optional parameters. The user no longer needs to know their workflow-id, unless they want to check on a different workflow than the action is being called on


Fix fzf-tools.plugin.zsh

Fixes this error
zsh: no matches found: bg:#222222,preview-bg:#333333

as well as the --help option

@happycod3r this bit me on macOS, if it's a good fix, mind merging? Can't use plugin as is with this error.


While adding a feed i get "Late blocking User"

So i try to add a feed. but get the error  Late blocking User [??????#1247] Command: [feed] in [GlobalPermissionService] . what am i doing wrong? or did i mess up something?

Means either the module or the command has been disabled globally. (with gcmd or gmod)


Does not work on windows 11

I'm developing an application for remote access, using Electron for interface and build. This app will be installed on my client's computer which is mostly Windows 7/8/10/11, x64 and x86. To try and cover them all with a single build, I'm trying to compile with windows ia32. However, during the tests I noticed that in Windows 11 the remote control with Robotjs does not work, and does not return any errors. I've tried debugging anyway and I still don't get any errors.
Attempts
I've tried rebuilding Robotjs with:

npm rebuild --runtime=electron --target=1.1.3 --disturl=https://atom.io/download/atom-shell --abi=48
node-gyp build

I've tried using other precompiled forks like:

https://www.npmjs.com/package/@hurdlegroup/robotjs
https://www.npmjs.com/package/@jitsi/robotjs

Expected behavior
Remotely access other computers and control them.
Current Behavior
No mouse movement or keyboard key is pressed. No kind of control.
Your environment

RobotJS version: 0.6.0
Node.js version: 16.20.1
npm version: 8.19.4
Operating System: Windows 10 Pro x86

window OS ？need build 需要编译 node-gyp 工具

安装 python3.11
2.安装visual studio 2022 支持桌面C++的选项√上
cd到 robot目录执行 node-gyp rebuild
多看看 http://robotjs.io/docs/building


GraphqlSampler doesn't support GET requests

Hello!
In my test I send the GraphQL GET-requests. Jmeter GUI supports both types of requests (GET and POST), but in Jmeter-Java-DSL I can send only POST-request as default and I can't send the GET-request. GraphqlSampler().method() is absence. Could you add this option?

Hello, thanks for asking for this feature!
Yesterday we released a new version which includes httpGet() method in the sampler which should allow you to use HTTP Get method.
Please try it and let us know of any potential improvements.
Regards


Support the GitHub Action "debug logging" feature

When re-running an action, checking the "debug logging" box should add --debug to the defang command line.
See https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging

Neat. I didn't realize that was a feature GitHub had.


Partial derivatives

Use derivative operators that transform expressions into their partial derivatives. These derivative operators depend on the defined binary and unary operators.

Basis is there, some more operators need to be added. See #10.


Cannot submit the kata

Hi. I wrote code in c# for this https://www.codewars.com/kata/beginner-series-number-3-sum-of-numbers/train/csharp, when I hit the submit button, the tests are completed and green, but that's all. It doesn't submit my solution, other kata's have the same problem.

Changed the browser from edge to chrome and everything is fine.


Transferring is performed not from the current wallet account, but from the first

What version of Wallet are you using?
0.7.2
What is happening?
Transferring is performed not from the current wallet account, but from the first (сreated when installing the wallet) in this page https://wallet.fuel.network/docs/how-to-use/.
steps to reproduce

How it should behave?

Change account in the wallet.
Transfering assets https://wallet.fuel.network/docs/how-to-use/
Look at screenshot.

What os are you seeing the problem on?
None
What browser?
None
What is your browser version?
No response

@doristeo, thanks for the report. This is expected behavior, if you look at the code sample of Transfer Asserts, it uses the first account on the accounts connected list to submit the transfer.
https://wallet.fuel.network/docs/dev/getting-started/#transfering-assets
const account = accounts[0];
const wallet = await fuel.getWallet(account);


Filter endpoints from Action Server OpenAPI spec

Remove all endpoints from the OpenAPI spec that are not required for the AI use. The endpoints are still there and can be used "when you know what you are doing", but AI applications should not be exposed to these.

Remove /runs and /api/action_packages from OpenAPI spec
Removed base_log.html endpoint at all -  @fabioz I could not find a reference where it is used – maybe there is some undocumented use for it?

How would you feel about making this a toggle? (by default only the part related to AI would be shown and based on a command line argument -- say --full-open-api-spec -- it'd show the full spec, which could be useful for clients that want to automate that)

@fabioz refactored the OpenAPI spec endpoints to be excluded/included based on the --full-openapi-spec flag 👍


Bug: Handling of whitespaces while parsing HTML

Currently we delete all text which is only whitespace. See https://github.com/Lodifice/mfnf-pdf-export/blob/7ac7067fca20f81c0c825bbd5f9dd5f0c72902d3/mfnf/parser.py#L197 for the current implementation. This is necessary because

aaa

bbb

shall be
- type: paragraph
  ...
- type: paragraph
  ...

and not:
- type: paragraph
  ...
- type: text
  data: "\n\n"
- type: paragraph
  ...

However, this is not true for inline elements such as in the example:
aaa
<math>bbb</math>

The current parsing is wrong:
- type: i
  ...
- type: math
  ...

Between  and <math> there shall be a whitespace (collapsed from "\n")
- type: paragraph
  ...
- type: text
  data: " "
- type: paragraph
  ...

This is highly context sensitive. Take the following example

    test

    world

This should be collapsed to

    test

    world

However this is only true for inline elements, between block elements there shall not be any whitespace text. Thus our parser need to be aware about inline and block html elements...


info USD (or any alias of USD) doesn't work until a currency calculation is performed

>>> info USD
  Not found
>>> 1USD

  1 dollar

    = 1 $    [Money]

>>> info USD
  Unit: US dollar (https://en.wikipedia.org/wiki/United_States_dollar)
  Aliases: dollar, dollars, USD, usd, $
  A unit of: Money

  1 dollar = 0.92584 €

I assume that this is related to the lazy loading of currencies. Should currencies be loaded if info triggers a use?

Thank you very much for reporting this. This lazy loading of currencies really causes a lot of issues. We've been recently discussing a general lazy evaluation strategy that would potentially solve this alltogether.

Should currencies be loaded if info triggers a use?

Yes. A similar problem exists with running list. I think we should probably trigger a load of the currency module whenever a command is run (assuming that we are not in no-prelude mode). Basically the same that we do here:
https://github.com/sharkdp/numbat/blob/77decee691bf7fe77eeacdf313bc894edf084468/numbat/src/lib.rs#L809-L833

In theory we don't have to eagerly load the currencies on the first command — if it's info, we can look at the argument and then use the same logic as in Context::interpret_with_settings to decide to load the currencies. Same goes for list and list units (but not list functions). But no need to load currencies for save, help, and especially quit.
Separately, looking at the comment in that function

// TODO: maybe we can somehow load this list of identifiers from units::currencies?

Tackling this seems easy enough with a build script that parses units/currencies.nbt and emits a Rust array to a file, and then const CURRENCY_IDENTIFIERS: &[&str] = include!(...).

Tackling this seems easy enough with a build script that parses units/currencies.nbt and emits a Rust array to a file, and then const CURRENCY_IDENTIFIERS: &[&str] = include!(...).

Yes. Let's maybe wait for the results of the "should Numbat do lazy evaluation by default?" discussion before investing time here though.


Allow argument type: List

Summary
Currenty, ts_precision/ts_metric function only allow np.ndarray as the real/pred argument.
However, the scikit-learn interface allows list type too.
Then, why don't you make it possible to accept list type?
Goal
Accept list type.
Todo

[x] rewrite the class: TimeSeriesPrecision
[x] rewrite the class: TimeSeriesRecall

Deadline
yyyy / mm / dd
Parent issue
If the parent issue exists, post a link here.
References
If there are any reference links, they are described here.
Notes
Other comments.

Done


NuvlaEdge installer: if a NE container has restarted at least once, nuvlaedge-engine-check-health will fail after the timeout

Moved to Backlog because there is no real good solution and in principle containers are recreated (in most cases) during the update so that the restart_count counter is anyway reset.

Done in 2f334f98cfa6db65a7219dfd46ec29796bea1d32


About the pretrained checkpoint for r2d2 local features used on the benchmark

I wonder what the checkpoint file is for feather2d2_dim32_20k as well as the file for r2d2_WASF-N8_20k. Are there any download links for them?

Hi, the checkpoint for feather2d2 is not public. The other one is available in the r2d2 repository https://github.com/naver/r2d2/blob/master/models%2Fr2d2_WASF_N8_big.pt

Thanks!


Changing the content of the center column according to the language chosen in the examples column.

We have started using slate to document a library's API (gstreamer-editing-services, the doc currently lives at http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-editing-services/html/) .
We work with and implement features in a tool called g-ir-doc-tool, which generates documentation from comments and annotations in the source code to an intermediary format (mallard pages), which we then translate to simple markdown, this tool has the ability to output slightly different formats documentation according to the language the documentation is required in. For example, considering a method implemented in C and called ges_my_foo_do_bar, it can output documentation for GES.Foo.do_bar() for the python bindings.
It would be nice if there was a way to include the markdown files in a language-aware manner, for example
we would have a file named GESFoo.c.markdown and another named GESFoo.python.markdown, and these files would be picked according to the selected language tab.

Ah, I see what you mean. Due to the way that Slate is implemented right now, though, it'd be a bit difficult. Right now, the language tabs work by just hiding and showing divs on the page, so having separate markdown files — which Middleman would compile into separate HTML files — wouldn't really work very well. At best, a solution would just merge the two files into one HTML file, but that results in other complications, like what if the non-code content of the two files don't match up?
Due to the complications above, I don't think this will be a feature we'll be able to have. However, if you're still interested in using Slate, I have two ideas:

You could write a program to merge the two markdown files into one.
You could keep them as separate markdown files, call them c.markdown and python.markdown, and then just direct users to view the appropriate file at mycompany.github.io/docs/c.html and mycompany.github.io/docs/python.html

Hey, thanks for the answer, wrt "merging both markdown files into one", I'm not sure I see what you mean? The second solution I had thought about, but ideally I'd like to have really everything in the same place :)

I guess if there's enough similarities between the docs, you could copy over just the code from one to another? If major things are changing on the left of the page, though, you'd probably best use either the second method, or another documentation system, because Slate's languages aren't designed to do that.

OK, thanks for the answer, the main difference is function prototypes, so merging might indeed be an idea, we'll see :)

Cool. :smile: Hope it works out!


Add adpater test framework and sample tests

Add testenv package which allows adapter developers to instantiate Mixer server and client in test proc for easy test and debug.
Add a sample test based on denier

Release note:

This change is

@manlinl: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-presubmit.sh
6c28274a9f3abece8e1d6c92b045143c7f823e0d
link
/test mixer-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@manlinl: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-presubmit.sh
3ccb17d12303e2ec69553ff307acbc78c54f4616
link
/test mixer-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@manlinl: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-presubmit.sh
7e874daa73f9c9935bb34da3cfff89f24c9f7b5b
link
/test mixer-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@manlinl: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
7780d65ba11e49d5ab0f65e3325b40529d82e421
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@manlinl: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
e4d0068d7559698b7e6061767a96dd8c90f59ca8
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@manlinl: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
e4d0068d7559698b7e6061767a96dd8c90f59ca8
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@manlinl: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
f38637ea0f523e38b7b2b37d361a3fa2b860cbbd
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm

@manlinl: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
f38637ea0f523e38b7b2b37d361a3fa2b860cbbd
link
/test mixer-e2e-smoketest

prow/mixer-presubmit.sh
7e2dcf45c966f5767ef4a887f2e3b84b14da7d66
link
/test mixer-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@manlinl: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
f38637ea0f523e38b7b2b37d361a3fa2b860cbbd
link
/test mixer-e2e-smoketest

prow/mixer-presubmit.sh
6cf73e863460265ecea264b3772f1f4c0e1bf59e
link
/test mixer-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@manlinl: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
f38637ea0f523e38b7b2b37d361a3fa2b860cbbd
link
/test mixer-e2e-smoketest

prow/mixer-presubmit.sh
f5c85418497dd361cce6da3b085268d5cb61fd87
link
/test mixer-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@manlinl: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
f38637ea0f523e38b7b2b37d361a3fa2b860cbbd
link
/test mixer-e2e-smoketest

prow/mixer-presubmit.sh
eb6a0fb76cad17ce6aeea0b493c545c352a675e0
link
/test mixer-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@manlinl: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
efb885795191527c86e44cb4f39bdc5580b9eb16
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test mixer-e2e-smoketest

/test mixer-e2e-smoketest

/retest

@manlinl: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/mixer-e2e-smoketest.sh
efb885795191527c86e44cb4f39bdc5580b9eb16
link
/test mixer-e2e-smoketest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Question: BootstrapFewShot - Intermediate Label  Bootstrapping

Hey! When using bootstrapFewShot to optimize a multi-module DSPy program with TypedPredictors, DSPy does not actually bootstrap the intermediate labels correctly - is what I want currently supported?
This is the way it should be:
{
"validity_assessment.validity_assessment.predictor": {
"lm": null,
"traces": [],
"train": [],
"demos": [
{
"input": [
"{"id":0,"company_name":"ELASTIC","product_description":"Embedded Architect 200 (200 Consulting Days)"}",
"{"id":1,"company_name":"ELASTIC","product_description":"Software Engineer"}"
],
"output": [
{
"id": 0,
"valid": true
},
{
"id": 1,
"valid": false
}
]
}
],
"signature_instructions": "..."
},
...
---------------------------------------------------------------------------------------------------------
This is what I get:
{
"validity_assessment.validity_assessment.predictor": {
"lm": null,
"traces": [],
"train": [],
"demos": [
{
"input": [
"{"id":0,"company_name":"ELASTIC","product_description":"Embedded Architect 200 (200 Consulting Days)"}",
"{"id":1,"company_name":"CLOUDERA","product_description":"Cloudera Edge Management: Annual Subscription - Up to 50000 Agents - Business Support. US Citizen US Soil Support Engineers, 50% Premier Plus Support Engineer -up to 20 Days On-site, Designated Support Engineer - up to 50 Days On-site"}"
],
"output": [
{
"id": 0,
"high_level_product_name": "ELASTIC Embedded Architect",
"low_level_product_name": "ELASTIC Embedded Architect 200",
"validity": "VALID"
},
{
"id": 1,
"high_level_product_name": "Cloudera Edge Management",
"low_level_product_name": "Cloudera Edge Management: Annual Subscription",
"validity": "VALID"
}
]
}
],

I don't understand the problem. Is this only with TypedPredictors? What is incorrect about the outcome?


Python Examples

Several sections require additional python examples.
Including (but possibly not limited to):

[ ] Ensembles

Since the rework, ensembles now have Python examples.
Closed by #75


Non-termination of Agda file loading

C-c C-l on current open Agda file never terminates. (I have attempted this on several different files.) C-c C-x C-q  does terminate the intended load. The attached screenshot shows the state of affairs, including Loading ...

Thank you for reporting this! Could you give me an example Agda file that causes non-termination for reproducing this issue!

Hi, I got the same issue, like infinite connection, even when trying to load simple file module Foo where.
Agda <IP_ADDRESS>, installed via stack.

@freedan42x could you please go to Settings > Log and press the "Dump Log" button, and paste the generated log here, thank you!
(the settings button is located at the bottom right of the panel)