A example of using WordLlama for a RAG pipeline

https://github.com/dinhanhx/cpu-ish-rag
I recently implement a RAG pipeline with WordLlama, FAISS, gpt-4o-mini. You can copy my code for your own example as you wanted in your roadmap.

Hello,
Thank you for information.
Do you have a script for FreeBSD without Linux emulation?
Regards,
Siergej Sobolewski
Wysłano z programu Outlook dla systemu Androidhttps://aka.ms/AAb9ysg

From: dinhanhx @.>
Sent: Wednesday, September 25, 2024 10:14:50 AM
To: dleemiller/WordLlama @.>
Cc: Subscribed @.***>
Subject: [dleemiller/WordLlama] A example of using WordLlama for a RAG pipeline (Issue #25)
https://github.com/dinhanhx/cpu-ish-rag
I recently implement a RAG pipeline with WordLlama, FAISS, gpt-4o-mini. You can copy my code for your own example as you wanted in your roadmap.
—
Reply to this email directly, view it on GitHubhttps://github.com/dleemiller/WordLlama/issues/25, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZ54EX6OQIFRNF76YRC2MHTZYJWHVAVCNFSM6AAAAABOZ6MROOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU2DOMRZGU3DINY.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@SSobol77 sorry sir, I think you mistake me with someone else. I don't do anything with FreeBSD

This is cool! Thanks for sharing. I'll add it to the community projects.


Home Screen and controls section need a UX rework

The controls screen is currently pretty shoehorned in, and could be better integrated into the home screen. There are some exciting redesign ideas for the home screen floating around, so this is a good opportunity for refreshing both.
(I've also wanted to include more animations since forever, so this is a great time to do it)

Halfway done - a home screen redesign rolled out with 1.1.4


installation instructions error

I have detected this odd behavior (I have not investigated why yet). For Shapely, we obtain:
Shapely {'type': 'package', 'installation': 'pip install Failed `CDLL(libgeos_c.so.1)`\nFailed `CDLL(libgeos_c.so)`\nTraceback (most recent call last):\n  File "setup.py", line 74, in <module>\n    from shapely._buildcfg import geos_version_string, geos_version, \\\n  File "/home/dgarijo/Documents/GitHub/test_repos/Shapely/shapely/_buildcfg.py", line 166, in <module>\n    lgeos = load_dll(\'geos_c\',\n  File "/home/dgarijo/Documents/GitHub/test_repos/Shapely/shapely/_buildcfg.py", line 159, in load_dll\n    raise OSError(\nOSError: Could not find library geos_c or load any of its variants [\'libgeos_c.so.1\', \'libgeos_c.so\']', 'run': 'Failed `CDLL(libgeos_c.so.1)`\nFailed `CDLL(libgeos_c.so)`\nTraceback (most recent call last):\n  File "setup.py", line 74, in <module>\n    from shapely._buildcfg import geos_version_string, geos_version, \\\n  File "/home/dgarijo/Documents/GitHub/test_repos/Shapely/shapely/_buildcfg.py", line 166, in <module>\n    lgeos = load_dll(\'geos_c\',\n  File "/home/dgarijo/Documents/GitHub/test_repos/Shapely/shapely/_buildcfg.py", line 159, in load_dll\n    raise OSError(\nOSError: Could not find library geos_c or load any of its variants [\'libgeos_c.so.1\', \'libgeos_c.so\'] --help'}

What is this installation error?

Now when there is an error, the installation and run will not appear.


Occassional Updates toggle to populate Hubspot email list

Why is this issue important?
Need to determine plan for how users' selection of "Occasional Updates" will be reflected in Hubspot email list. users who have toggle on should be on email list, and those who turn it off should not be on the list
Current State
We don't currently have an "Occasional Updates" email list, but when we need to email all users of Grant Finder, we have to export all user data and manually review it to pull out Grant Finder users, then upload to Hubspot to send out the email. There is some guesswork involved in determining who grant finder vs. arpa users are, and there is no automated way to update the email list.
Expected State
Ideal state: Occasional Updates toggle automatically updates a Hubspot email list - if the toggle is on, the user is included in the email list. If the toggle is turned off, they are removed.
Actions

[ ] first, looking for whoever takes this ticket to make a recommendation for implementation as we haven't yet defined how this should be implemented

Implementation Plan
TBD
Relevant Code Snippets
No response

@thelmaboamah just curious as you've been working on the notification updates for profile if you've already looked into the questions on this ticket or have thoughts on how to proceed?

@TylerHendrickson thoughts on next steps for this issue?

(cc @ClaireValdivia)
Plans for implementation
Per the "Ideal State":

Occasional Updates toggle automatically updates a Hubspot email list - if the toggle is on, the user is included in the email list. If the toggle is turned off, they are removed.

We want to sync the state of a user's "Occasional Updates" selection with the contact record which corresponds to that user in HubSpot – when a user toggles this option from the "My Profile" view, it results in the HubSpot-tracked state being updated to the toggled selection. In order to achieve this behavior, we need to implement additional server-side logic called by/alongside the setUserEmailSubscriptionPreference() function, which would perform the following actions:

Update the preference tracked in the GOST database (this already exists).
If the call to the function includes an updates to the GRANT_FINDER_UPDATES notification type, then perform a HubSpot API call corresponding to the requested status for the notification type.

If the selected status is for the user to be subscribed, then the API call should be to the "Subscribe a contact" (POST /communication-preferences/v3/subscribe) API endpoint, providing the user's email address and the subscription ID (see below) in the request payload.
If the selected status is for the user to be unsubscribed, then the API call should be to the "Unsubscribe a contact" (POST /communication-preferences/v3/unsubscribe) endpoint,  the user's email address and the subscription ID (see below) in the request payload.
Credentials used for authenticating requests to the HubSpot API will be provided via an environment variable.
HubSpot API documentation for both actions is available here.

If the call to the HubSpot API was successful, then the operation is complete. If the call was unsuccessful, the state of the GOST database should be updated (or rolled back) to maintain a consistent state between our database and HubSpot.

The above implementation steps would achieve a one-way "sync" initiated by the GOST backend; that is, a user's selection on the My Profile page would send a request to the GOST API, which would in turn send a corresponding request to the HubSpot API, subscribing or unsubscribing the user according to the selected client-side action.
Synchronization challenges
One major caveat to note is that the HubSpot documentation notes explicitly that

The subscribe endpoint ... will not allow you to resubscribe contacts who have opted out.

This means that if the user opts out through any mechanism external to the My Profile form (potentially by clicking an unsubscribe link in an email), a HubSpot API that requests to (re-)subscribe the user will fail indefinitely. Furthermore, any external mechanism used to modify the state of the subscription preference will result in the GOST database no longer being able to reflect what is tracked in HubSpot. Therefore, an important implementation detail is to always ensure that the GOST database reflects subscription status in HubSpot, which will help "re-sync" the My Profile page, allowing it to accurately reflects the user's actual subscription status as tracked in HubSpot.
Mitigation
Just to be clear, the reason for exploring either of the below solutions for improved state-management is to limit confusion to users – if a synchronization issue occurs, the result will be that the "My Profile" page will not reflect the reality of the user's subscription status.
There seem to be two potential ways to avoid running into synchronization issues between the GOST database and HubSpot:

Do not use the GOST database to track subscription status for "Occasional Updates" notifications. Instead, subscription status will always be fetched from the HubSpot API.

Advantage: The "My Profile" page (or anywhere else in the app that presents "Occasional Updates" subscription status) will always accurately reflect the state in HubSpot.
Disadvantage: API requests are subject to HubSpot API rate limits. Given that these rate limits are enforced both at the app level (i.e. the GOST integration would be limited to a certain number of requests per 10-second interval) as well as the organization level (i.e. USDR at-large is limited to a certain number of API requests per day), it could become difficult to sustain the API request volume. If we chose to go this route, we would need to ensure that HubSpot API requests were only being issued when necessary – i.e. only when a user is navigated to the "My Profile" page; other rate-limiting schemes may also be necessary to avoid overuse of the HubSpot API.

Use the HubSpot webhooks API to create a two-way sync so that when a user's subscription status changes (regardless of the mechanism that triggered the change), a request would be sent from HubSpot to the GOST API, allowing us to update the database as-necessary.

Advantages:

Avoids overuse of the HubSpot API and potential resulting rate-limiting issues.
Helps ensure that subscrition changes made outside of GOST eventually get reflected back to the Finder app.

Disadvantages:

Properly managing subscription state distributed across different platforms could become difficult – either system (ours or HubSpot's) may experience availability issues that cause subscription state to get out-of-sync anyway.
Based on the HubSpot API documentation for webhooks, it's not 100% clear whether changes to subscription status are supported by the webhook system (this is especially hard to discern given that HubSpot uses "subscription" verbiage for their webhook notifications system – e.g. we're trying to create a webhook subscription that fires when a contact changes an email subscription preference). I believe this particular webhook event would be considered contact.propertyChange, but would need to get access to play around with the HubSpot API in order to be sure.

Next steps
Decisions
The following decisions need to be made in order to finalize implementation details:

UX for when a user unsubscribed via an out-of-app mechanism, like clicking a link (e.g. in an email) or otherwise engaging in an unsubscribe flow directly with HubSpot. In this case, we will be unable to re-subscribe the user. Furthermore, it's not clear how/if we would be able to detect this scenario.

Question: Do we need to be able to detect whether a user is permanently unsubscribed, and does that need to be reflected on the "My Profile" page? If so, how?
Question: (How) should errors resulting from a failed re-subscription attempt be presented to users?

Do any of the mitigations provided above need to be further explored or otherwise considered in-scope for this implementation? If so, implementation details will need to be updated accordingly.

HubSpot Access
In order to have an API token we can use to make requests to the HubSpot API, we need a Private App to be created in HubSpot, which is restricted to super-admin users in our organization (which I am not). At a minimum, this app needs access to the following scopes:

communication_preferences.read in order to retrieve a user's subscription status
communication_preferences.write in order to modify a user's subscription status
Alternatively, communication_preferences.read_write can be substituted for both of the above scopes.

To enable webhook integration, we would also need to create edit webhook subscriptions for our private app, additionally granting access to the crm.objects.contacts.read scope, for the contact.propertyChange webhook subscription type. A specific property should also be specified when setting this up, but as mentioned above, I'm not completely sure which property (if any) of a contact is used to reflect email subscription status.

Unfortunately, just confirmed that we can't remove "unsubscribe" from hubspot emails. @TylerHendrickson thinking about it again, if we are successful in making sure that everyone is defaulted to be subscribed when we roll out the profile updates, I wonder if the in-app toggle is really just an "unsubscribe" button rather than an on/off toggle - and therefore it wouldnt need to match settings managed outside of the app, but would just be another location where they can unsubcribe from the occasional updates. I think this would address the technical issues but let me know if this doesn't make sense to you.
and @caitlinwinner curious for your thoughts here from the UX side (see Ty's comments above with the challenge of not being able to match subscription preferences that users update outside of grant finder - most commonly by clicking unsubscribe in emails). If you feel like changing to "unsubscribe" is a good path forward, thinking that a mockup would be helpful for this one.

I wonder if the in-app toggle is really just an "unsubscribe" button rather than an on/off toggle - and therefore it wouldnt need to match settings managed outside of the app, but would just be another location where they can unsubcribe from the occasional updates. I think this would address the technical issues but let me know if this doesn't make sense to you.

@ClaireValdivia This would be fine as long as we're okay with there being no path to undo this operation – the HubSpot documentation makes it clear that once a user is unsubscribed, they cannot be re-subscribed by the organization. There may be a way for users to do this on their own (i.e. by going to HubSpot directly) but that's just a guess.
If we go this route, implementation details would be as follows (adapted from previous comment):
We want to provide an in-app option for users to unsubscribe from "Occasional Updates" emails sent via HubSpot – when a user chooses this option from the "My Profile" view, it results in a call to the HubSpot API HubSpot to that performs the unsubscribe action. In order to achieve this behavior, we need to implement additional server-side logic called by/alongside the setUserEmailSubscriptionPreference() function, which would perform the following actions:

Update the preference tracked in the GOST database (this already exists).
If the call to the function includes an updates to the GRANT_FINDER_UPDATES notification type with a selected status of ubsubscribed, then issue an API call to the "Unsubscribe a contact" (POST /communication-preferences/v3/unsubscribe) endpoint, providing the user's email address and the subscription ID (see below) in the request payload.

Credentials used for authenticating requests to the HubSpot API will be provided via a $HUBSPOT_ACCESS_TOKEN environment variable.
The subscription ID can likely be hard-coded as it's unlikely to change (and if it were to change, it would hopefully be anticipated). An alternative to hard-coding would be to also supply it as an environment variable, whose value is derived from an SSM parameter that can be updated outside the deployment process. At this time, I'm not convinced it's worth the effort (although am certainly willing to discuss further if a contributor has a different opinion).

Closing out this issue as we will not do it and we will use #2351 instead


Decide how to handle Other types, i.e., Capability::Other, etc.

imap-codec uses some types of the form¹ ...
pub enum Capability {
    Imap4Rev1,
    Auth(AuthMechanism),
    LoginDisabled,
    // ...
    Other(Atom),
}

... to make accessing the common case easy and to allow to access "unusual", i.e., non-standard or not-implemented, variants.
Is there a common pattern we can extract?
¹ https://github.com/duesee/imap-codec/blob/main/imap-types/src/rfc3501/response.rs#L622

It's AuthMechanism::Other(...), Capability::Other(...), CapabilityEnable::Other(...), Mailbox::Other(...), and Code::Other(...). Those work okay and do not generate too much boilerplate. Will close the issue for now.


Add Python checks to CI, fix all style issues

This PR addresses all style issues reported by the black and pylint tools with out-of-the-box configs [1], and enables those same lint checks on CI (travis-ci.org). We also move the Dockerfile into scripts/, and add a new Dockerfile-python-ci, since some of these tools were cumbersome to cram into the main image.
[1] Except for the line length, which we override to 120 colums.

Closing as defunct (presumably, had forgotten this was open).


Fix some incorrect descriptions and fields in broker

Conflict detected. Need rebase.

I updated, I guess the error in auth.json was already removed by you.


generator construction requires HV cable

i can’t remember which generator specifically it was, maybe the superpac? but regardless all of them should probably be checked for upstream cables in their construction

unintended that the pacman and superpacman crates come with an ss14 board

in CM both pacmans and superpacmans should require 1 matter bin, 1 micro-laser, 2 cable coil, 1 capacitor.


Add support more sortable options by custom attribute

Resolve: #10

I don't think we can accept the options as a JSON string, because some of the options can have a closure as a value; So we need a way to receive a javascript object, similar to the x-data attribute of Alpine.js 🤔


[Bug] Clicking on drain block opens controller GUI

if you miss-click the faucet and click the block, the controller GUI opens

im DUMB and posting these issues on the wrong mod. sorry


Blog App - processing data in models

Blog App - processing data in models

[x] Set up associations between models.
[x] Write SQL queries with Active Record.
[x] Custom methods were added for each models
[x] All Methods tested in rails console
[x] Linter has been checked

@OLIPLICHE  thank you for valuable feedback I updated accordingly


[spl-token] send token transaction while using wallet connection

Hi, I  want to send a token from one wallet to another using web3.js and spl-token. To send it I have to create an object named Token, one of the parameters of the constructor of Token() is payer: web3.Signer.
const mintPublicKey = new web3.PublicKey(this.props.nft.data.mint);
const mintToken = new Token(
  this.props.connection,
  mintPublicKey,
  TOKEN_PROGRAM_ID,
  //payer: web3.Signer,
);

I get the information from the user's wallet using @solana/wallet-adapter-wallets. I know that web3.Signer is created from a private key, which cannot be obtained from a wallet for security purpose.
I actually don't know how to deals with wallet to get the transaction done.
Thanks a lot for your help, here is my full code :
import * as web3 from<EMAIL_ADDRESS>import { getPhantomWallet } from "@solana/wallet-adapter-wallets";
import { Token, TOKEN_PROGRAM_ID } from "@solana/spl-token";

async sendNFT() {
  const wallet = getPhantomWallet();
  const adapter = wallet.adapter();

  await adapter.connect();
  if (adapter.connected && adapter.publicKey != null)
  {
    const mintPublicKey = new web3.PublicKey(this.props.nft.data.mint);
    const mintToken = new Token(
      this.props.connection,
      mintPublicKey,
      TOKEN_PROGRAM_ID,
      //payer: web3.Signer
    );

    const fromTokenAccount = await mintToken.getOrCreateAssociatedAccountInfo(
      adapter.publicKey
    );

    const destPublicKey = new web3.PublicKey("example");

    const associatedDestinationTokenAddr = await Token.getAssociatedTokenAddress(
      mintToken.associatedProgramId,
      mintToken.programId,
      mintPublicKey,
      destPublicKey
    );

    const receiverAccount = await this.props.connection.getAccountInfo(associatedDestinationTokenAddr);

    const instructions: web3.TransactionInstruction[] = [];

    if (receiverAccount === null) {

      instructions.push(
        Token.createAssociatedTokenAccountInstruction(
          mintToken.associatedProgramId,
          mintToken.programId,
          mintPublicKey,
          associatedDestinationTokenAddr,
          destPublicKey,
          adapter.publicKey
        )
      )

    }

    instructions.push(
      Token.createTransferInstruction(
        TOKEN_PROGRAM_ID,
        fromTokenAccount.address,
        associatedDestinationTokenAddr,
        adapter.publicKey,
        [],
        1000000
      )
    );

    const transaction = new web3.Transaction().add(...instructions);
    transaction.feePayer = adapter.publicKey;
    transaction.recentBlockhash = (await this.props.connection.getRecentBlockhash()).blockhash;

    const transactionSignature = await this.props.connection.sendRawTransaction(
      transaction.serialize(),
      { skipPreflight: true }
    );

    await this.props.connection.confirmTransaction(transactionSignature);
  }
}

Hi!  We don't use Github for support.  Please join us in #developer-support on https://discord.com/solana instead!


Update docs to reflect support for windows

"Currently, Visual Studio Code can develop C# modules for Linux AMD64 and Linux ARM32v7 devices." under 'Select your target architecture'; VSCode now also supports targeting Windows-amd64

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

ID: 181d5562-f8d7-9c59-85ea-09efbe397f3e
Version Independent ID: dbedd952-a050-286e-c951-4529ec8e87b8
Content: Tutorial develop C# module for Linux - Azure IoT Edge
Content Source: articles/iot-edge/tutorial-csharp-module.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@jackiebecker Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@jackiebecker Thanks for the feedback. The section Solution scope in this tutorial is meant to set expectations that this tutorial is only for developing for Linux devices, and links to the equivalent article for Windows. Were you looking for Windows instructions and accidentally ended up here instead?

My point was these instructions do work for Windows devices, as well! In fact, they are currently the only working instructions for developing a c# IoT edge module for a Windows device, as the other one is broken (likely due to template issues).

@jackiebecker I took a look at your other issue around Visual Studio issues and replied in there. As for this tutorial, the intention isn't to be a comprehensive document about Visual Studio Code development. It's specifically scoped to walk through developing C# modules for Linux devices using Visual Studio Code. Currently, the development experience for Windows devices is more robust on Visual Studio and the development experience for Linux devices is robust on Visual Studio Code, so these tutorial reflect that.
The fact that it helped you create a solution for Windows devices is an added bonus!

Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


.

Challenge Use a CSS Class to Style an Element has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

CatPhotoApp

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

Hi @aquibaliahmed There's something wrong with your code, you should ask first at help room before posting a git hub issue.

Hi,
Thanks for reporting this issue.
Here are some next steps that you should follow before we can help you with your query:

Check these troubleshooting steps first.
Please use the Chat Rooms or try looking through our forum for help with a specific challenge and any coding assistance.

IMPORTANT:
Please NOTE that this tracker is for reporting bugs and enhancements to freeCodeCamp's code base only.
Happy Coding!


handleLaneDragEnd bugged parameter

Describe the bug
In handleLaneDragEnd, parameter laneId is not actually the lane's id but the old position
To Reproduce
This is obvious if you name your lanes with strings 'lane1', 'lane2' and in the handler console.log each parameter. The log of laneId currently displays numbers, which I think are corresponding to the old position.
Possible fix
Rename the current laneId to oldPosition
(turns out i can get the correct laneId from the payload)

@AlexSicoe I have updated docs. Could we close the issue?


errors when running demo

I have installed the leapct, but the errors encounter when I run the demo as below:

Can you help me with this issue?

The install probably did not complete successfully because it cannot find libleap.so which is the LEAP compiled dynamic library.  Please run the following command:
pip install -v .
This print a message of why it did not compile.  Send me this text if you need further help.

Maybe the visual studio Version is not right. I use the VS 2022 to compile the leapct and I will use vs 2019 to re-compile this project.

Ya, that could be it.  The newest versions of VS do not always support CUDA, so that is why we suggest 2019.

Could you pull the latest code and try again?  I made changes to the pip install script, setup.py.  I think the setup routine was not copying the dynamic library for Windows.
Sorry I did not catch this earlier.  I don't use the pip install because I need to make constant changes and thus I did not see that it was not working.

The install probably did not complete successfully because it cannot find libleap.so which is the LEAP compiled dynamic library. Please run the following command: pip install -v .
This print a message of why it did not compile. Send me this text if you need further help.

I‘m encountering the same error as @lonelyatu , and it persists even after installing the latest version (the setup.py version was updated 15 hours ago). When I run ‘pip install -v’, the version returned is ‘Using pip 23.3.2 from /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages/pip (python 3.9)’. Can you help me solve these problems?

I think you forgot to add the "dot".  The command should be:
pip install -v .
Do this and then send me the output.

I think you forgot to add the "dot". The command should be: pip install -v .
Do this and then send me the output.

the outputs are as follow：
pip install -v .
Using pip 23.3.2 from /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages/pip (python 3.9)
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Processing /data4/liqiaoxin/code/LEAP-main
Running command python setup.py egg_info
./etc/build.sh: 13: cmake: not found
/home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages/setuptools/dist.py:472: SetuptoolsDeprecationWarning: Invalid dash-separated options
!!
      ********************************************************************************
      Usage of dash-separated 'description-file' will not be supported in future
      versions. Please use the underscore name 'description_file' instead.

      By 2024-Sep-26, you need to update your project and remove deprecated calls
      or your builds will no longer be supported.

      See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
      ********************************************************************************

!!
opt = self.warn_dash_deprecation(opt, section)
running egg_info
creating /tmp/pip-pip-egg-info-qfon70i9/leapct.egg-info
writing /tmp/pip-pip-egg-info-qfon70i9/leapct.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-pip-egg-info-qfon70i9/leapct.egg-info/dependency_links.txt
writing requirements to /tmp/pip-pip-egg-info-qfon70i9/leapct.egg-info/requires.txt
writing top-level names to /tmp/pip-pip-egg-info-qfon70i9/leapct.egg-info/top_level.txt
writing manifest file '/tmp/pip-pip-egg-info-qfon70i9/leapct.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-pip-egg-info-qfon70i9/leapct.egg-info/SOURCES.txt'
writing manifest file '/tmp/pip-pip-egg-info-qfon70i9/leapct.egg-info/SOURCES.txt'
Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from leapct==0.99) (1.26.2)
Requirement already satisfied: torch in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from leapct==0.99) (2.1.2)
Requirement already satisfied: filelock in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (3.13.1)
Requirement already satisfied: typing-extensions in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (4.9.0)
Requirement already satisfied: sympy in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (1.12)
Requirement already satisfied: networkx in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (3.2.1)
Requirement already satisfied: jinja2 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (3.1.2)
Requirement already satisfied: fsspec in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (2023.12.2)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (12.1.105)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (12.1.105)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (12.1.105)
Requirement already satisfied: nvidia-cudnn-cu12==<IP_ADDRESS> in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cublas-cu12==<IP_ADDRESS> in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cufft-cu12==<IP_ADDRESS> in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-curand-cu12==<IP_ADDRESS> in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cusolver-cu12==<IP_ADDRESS> in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cusparse-cu12==<IP_ADDRESS> in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-nccl-cu12==2.18.1 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (2.18.1)
Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (12.1.105)
Requirement already satisfied: triton==2.1.0 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from torch->leapct==0.99) (2.1.0)
Requirement already satisfied: nvidia-nvjitlink-cu12 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from nvidia-cusolver-cu12==<IP_ADDRESS>->torch->leapct==0.99) (12.3.101)
Requirement already satisfied: MarkupSafe>=2.0 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from jinja2->torch->leapct==0.99) (2.1.3)
Requirement already satisfied: mpmath>=0.19 in /home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages (from sympy->torch->leapct==0.99) (1.3.0)
Building wheels for collected packages: leapct
Running command python setup.py bdist_wheel
./etc/build.sh: 13: cmake: not found
/home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages/setuptools/dist.py:472: SetuptoolsDeprecationWarning: Invalid dash-separated options
!!
      ********************************************************************************
      Usage of dash-separated 'description-file' will not be supported in future
      versions. Please use the underscore name 'description_file' instead.

      By 2024-Sep-26, you need to update your project and remove deprecated calls
      or your builds will no longer be supported.

      See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
      ********************************************************************************

!!
opt = self.warn_dash_deprecation(opt, section)
running bdist_wheel
running build
running build_py
creating build/lib
copying src/leaptorch.py -> build/lib
copying src/leapctype.py -> build/lib
/home/liqiaoxin/anaconda3/envs/pytorch/lib/python3.9/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
      ********************************************************************************
      Please avoid running ``setup.py`` directly.
      Instead, use pypa/build, pypa/installer or other
      standards-based tools.

      See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
      ********************************************************************************

!!
self.initialize_options()
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
copying build/lib/leaptorch.py -> build/bdist.linux-x86_64/wheel
copying build/lib/leapctype.py -> build/bdist.linux-x86_64/wheel
running install_egg_info
running egg_info
writing src/leapct.egg-info/PKG-INFO
writing dependency_links to src/leapct.egg-info/dependency_links.txt
writing requirements to src/leapct.egg-info/requires.txt
writing top-level names to src/leapct.egg-info/top_level.txt
reading manifest file 'src/leapct.egg-info/SOURCES.txt'
writing manifest file 'src/leapct.egg-info/SOURCES.txt'
Copying src/leapct.egg-info to build/bdist.linux-x86_64/wheel/leapct-0.99-py3.9.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/leapct-0.99.dist-info/WHEEL
creating '/tmp/pip-wheel-tbcjr9xr/leapct-0.99-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'leapctype.py'
adding 'leaptorch.py'
adding 'leapct-0.99.dist-info/METADATA'
adding 'leapct-0.99.dist-info/WHEEL'
adding 'leapct-0.99.dist-info/top_level.txt'
adding 'leapct-0.99.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Building wheel for leapct (setup.py) ... done
Created wheel for leapct: filename=leapct-0.99-py3-none-any.whl size=27111 sha256=7f7128bdef8c07cfd40dd288bc13cb39a8f74b93d3df9885383fc4d5e3d75d3d
Stored in directory: /data4/liqiaoxin/.cache/pip/wheels/7d/1d/94/4df1ba5b11c10424179467f3cfcc967f1ccd00c93433c90412
Successfully built leapct
Installing collected packages: leapct
Successfully installed leapct-0.99

Yep, I see the issue.  You either don't have CMake installed or your system cannot find it.  Look at around line 5 where it says:
./etc/build.sh: 13: cmake: not found
Note that the list of dependencies are here: https://github.com/LLNL/LEAP/wiki/Installing-and-Using-LEAP

I am so sorry that I have used the updated files and VS2019 to compile the project. But I don't know why the cmake (version 3.28.1) can't find the VS compilers as reported below:

Can you provide another way to compile this package?

Try using the build script.  Like this:
cd LEAP
.\etc\win_build.bat

The same problem occurs.

What version of cmake do you have?  Make sure it is at least version 3.0.

cmake version is 3.28.1

When you install VS, did you check the box that says "Desktop development with C++"?

Yes.

Try running the VS installer again and look for a check box that says something like "Visual C++ tools for CMake".

OK. I will try again.

Good luck.  I hope you figure it out.  In case you cannot, I just released the first version of LEAP and included pre-compiled libraries in the release which you can download.  You can find this here:
https://github.com/LLNL/LEAP/releases

Bad news is I still cannot compile the project. Good news is your released .dll file works perfectly. I'm really very grateful to you!!!


documentation

Some more documentation and examples on how all the charts work together, if they do and say setup scenarios.
I want bedrock clients to use the proxy (I believe there is a plugin for it, but in general the proxies are java only); I need 3 servers, what ports to expose, how my client connects.
I tried this and failed, so wondering how it is done. Finding good information on how it is setup and actually connects is hard with lots of mis information.
How does the rcon server work? When I try to use it I just got a 404 and

RconServer [minecraft-bedrock:19132]: Connection failed

in the logs

Sorry, yes, the charts repo has the bare minimum of reference docs.
For Bedrock, more info is available here https://github.com/itzg/docker-minecraft-bedrock-server including some info about running multiple servers.
I don't know of any proxies that support Bedrock protocol (UDP port 19132) and even running a Java edition server with Bedrock client support won't solve proxy aspect.
Bedrock itself doesn't support RCON and you can't connect to RCON with a browser since it is a custom TCP protocol. The docs above do however talk about how to run commands on the server. Adding Bedrock support to Java server does help with that though, so this might be helpful https://docker-minecraft-server.readthedocs.io/en/latest/misc/examples/#bedrock-compatible-server

Riigghhttttt, nice. Interesting. So often it is assumed 'things are for java' and I am not thinking about that. Good to know.
Another thought, on the bedrock readme you have some instructions on how to backup, but I need to restore. Best way to do that?

Another thought, on the bedrock readme you have some instructions on how to backup, but I need to restore. Best way to do that?

You'll need to contact the maintainer of the Bedrock backup image. I haven't used it myself, so they might already have docs for that.

I wasn't talking about that project, was more referring to this; https://github.com/itzg/minecraft-server-charts/blame/master/charts/minecraft-bedrock/README.md#L67-L82

I'm sorry, wasn't familiar with that section since that seems to be part of the repo content I inherited.
I would do the reverse: prep a new volume, start a temp pod with a shell, kubectl cp into that, and then start the bedrock pod with that volume.


Memory leak in several examples

Platform: Linux
Ruby version:  3.0.2p107
Mittsu OpenGL Renderer 0.4.0
Running several examples like 02_geometries, 05_earth and 07_earth_normal showcases continuous memory increase.

I just discovered something interesting by accident, in the 05_earth example not adding the light_object into the scene but instead using a ambient light:
light2 = Mittsu::AmbientLight.new(0xffffff) ; scene.add(light2)
doesn't result in the same memory leak.

Unfortunately just adding a single obj file to a scene with that ambient light does again result in continuously increasing memory. From the GC.stats it looks like it's allocating more (total objects) than it's freeing.

Some new information after running more tests and looking at Ruby's memory usage: If even a single sphere is added to a basic scene, the memory issue persists (slowly leaking memory)... however, if I after X minutes remove that sphere from the scene (with scene.remove) the memory leak stops.

So I just discovered that even setting the visibility to false of the object at runtime stops the leak, making it again visible continues to leak memory.


modal component documentation is wrong

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
the documentation for modal is wrong
Expected behavior 🤔
the documentation should be right
Steps to reproduce 🕹
go to modal documentation page and observe that its wrong
Context 🔦
no more to say
Your environment 🌎
alias) const Modal: ExtendModalUnstyled<ModalTypeMap<"div", {}>>
import Modal
const Modal: () => EmotionJSX.Element
Modal is a lower-level construct that is leveraged by the following components:
Dialog
Drawer
Menu
Popover
If you are creating a modal dialog, you probably want to use the Dialog component rather than directly using Modal.
This component shares many concepts with react-overlays.
Demos:
Modal
API:

Please provide more details which part and why you think the documentation is wrong.


Language codes with underscores throw a RangeError

From the Shoelace Discord:

Hi everybody, I came across a problem today where I have somebody using something I built with shoelace, and they're getting a "rangeError incorrect locale information" translation error. When I looked at the page it was loading on, the language was set to nl_NL. If I manually set the language to nl-NL it works, or if I use the translate in Chrome it works, but it looks like it's not reading the underscore in the locale as being interchangeable with a hyphen.  It's an app that's getting embedded on his page, so I can't control what language is being used. Can we get shoelace to read underscores in language codes, or is there a way to ignore the language and fall back to english if it can't interpret the language correctly (not just if it can't find the right translations)?

Per LDML, it looks like both the underscore and the hyphen are acceptable:

The identifiers can vary in case and in the separator characters. The "-" and "_" separators are treated as equivalent, although "-" is preferred.

The value of the lang attribute "must be a valid BCP 47 language tag, or the empty string" according to the HTML spec. The use of _ in Unicode locale identifiers is not BCP 47-compatible. So lang="nl_NL" would be invalid.


Update tag link

Fix proposal for this issue #82 .

Thanks for the PR @fmigot!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Parcel with g6: Unexpected token, expected ","

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link

Steps to reproduce
Install parcel-bundler (yarn global add parcel-bundler for example), then do yarn build on the example repository. It will fail.

Environment
Info

g6
4.0.0

System
-

Browser
-

I cannot add g6 to a project where I use parcel. Is it a problem of parcel or g6?
🚨  /home/madeorsk/[...]/js/app/node_modules/@antv/g6/dist/g6.min.js:29:1503348: Unexpected token, expected "," (29:1503348)

I'm not sure if it will help, but just update to v4.0.2 pls

Same with v4.0.2
/home/madeorsk/[...]/node_modules/@antv/g6/dist/g6.min.js:30:1575799: Unexpected token, expected "," (30:1575799)

However, it was working on 3.0.0. Something changed since and it is not working anymore.


chore: make asar a development dependency

To ensure any potential version incompatibility by simply installing the
latest version of the packages in the CI services.
See: https://github.com/resin-io/etcher/pull/1326
Signed-off-by: Juan Cruz Viotti<EMAIL_ADDRESS>

I think we're trying to prevent version incompatibility, rather than ensure it?? ;-D
(and I'd put "caused" between "incompatibility" and "by")

I think we're trying to prevent version incompatibility, rather than ensure it?? ;-D

lol, hopefully that's not what the commit addresses :P
I'll fix it while merging, so I don't have to push again.


[WIP] SimStore: New storage subsystem (part 1)

For a while, I've been trying to rework our storage. This is because of several problems with the netcdfplus package:

It doesn't seem to play nicely with dask, which I intend to use for parallelization
It is heavily tied to netCDF, and kept breaking because netCDF changed their internals frequently.
It doesn't have very good performance on loading data.
@jhprinz is no longer actively developing it, so it is becoming hard to maintain.

This PR gives the first work toward SimStore, a new storage subsystem. For now, I'm developing this in the experimental subpackage, because the API may change. This will replace netcdfplus in OPS 2.0. The last release before OPS 2.0 will include tools to facilitate transition from netcdfplus to SimStore, although I don't guarantee that all data will be transferable.
Some advantages of the new approach:

Faster and more efficient storage, and easier debugging. Instead of recursive algorithms, I use iterative algorithms that group everything to be written to/loaded from a given table into a minimal number of calls to disk. I also distinguish between storage of data objects (of which there are many, but which are of predictable format) and storage of simulation objects (which are few in number, but of a wider variety). I use faster algorithms to store data objects, and more generic (but slower) algorithms to store simulation objects.
More flexible with regards to backends. For now, the new storage uses SQL as a backend, but changing that is as easy as creating a new backend model (and I intend to do that by adding a pytables-based hdf5 backend in the future.) The backend is completely independent from the rest of the storage subsystem. In netcdfplus, storage inherits from netcdf4. That makes changing the backend much more difficult.
Easier to add new types for JSON-based storage. The new storage uses a registration-based system for adding JSON types, whereas netcdfplus would require actually editing the core netcdfplus code. Now, a user can add another type (e.g., simtk.unit.Quantity) without having to edit the core code.

In addition, as I go forward, I'm planning to implement it in a way that is designed to work with dask, and I'm also planning to focus on analysis performance.
This is a major undertaking, so in addition to this huge PR, there will be a number of PRs following to complete the storage.

[x] Ability to store/reload arbitrary simulation objects
[x] Ability to store/reload all data objects from a toy simulation
[x] Custom tables for ensembles, volumes, etc.
[x] SQL backend support
[x] General framework for extensible JSON support; support for numpy arrays
[x] Support for automatic registration of new snapshot types
[x] Lazy proxy objects

Coming up in future PRs:

New base class for CVs (which will give better analysis performance and will enable parallelization)
Support for OpenMM (static/kinetic containers; simtk.unit.Quantity)
Generic "tagged" objects
Complete unit tests

This will be the first package released in the experimental subpackage. The policy for the experimental subpackage is that any unit tests must run and pass, but they aren't counted toward overall coverage requirements. In addition, things in experimental and beta are not tested on Python 2. Unit tests have to be complete (nearly 100% coverage) before we move this into the beta subpackage.
As I've been developing this, I've used a number of notebooks as additional tests (mainly to ensure that I don't break things that had been working.) Those notebooks are now online in their own repo: https://github.com/dwhswenson/ops-storage-notebooks
I'm planning on putting better examples in that repo soon so that users have the necessary information to start playing with this.

@sroet : Thanks for the reminders!

I didn't check, but did you fix the issue where UUIDs were not into an index?

I had not, but I think the changes in 1613b34 should fix (specifically, sql_backen.py:127). Still need to give it a stress test to be sure.

@sroet : If you have a chance, could you take a quick glance at the notebooks in dwhswenson/ops-storage-notebooks/examples and let me know if they match your usage? (If there's anything I may have left out?)
If there are any problems with them, easiest to raise an issue on that repo (rather than mixing usage discussion into this PR)

So there a couple problems I mentioned in an email long ago (04 Jan 2020) and I don't know if you want to solve this via dwhswenson/ops-storage-notebooks/examples  or in the actual code:

Negative slicing does not work (storage.steps[-1]), this needs to be storage.steps[len(storage.steps)-1]
When restarting the simulation object does not get initialized with the right storage (it is set to None) and save_fequency (set to 1), so it won't safe after restarting and is really slow for toy systems if storage is set.

backend = storage.sql_backend.SQLStorageBackend('test.sql', mode='a')
s = storage.ops_storage.OPSStorage.from_backend(backend=backend)
calc = s.pathsimulators[0]
print(calc.storage) # This will print "None"
print(calc.save_frequency) # This will print 1 no matter how you stored it
calc.storage = s # This line is needed to actually store the rest of the simulation when restarting
calc.save_frequency = 50 # This is needed for speed in toy models

I can move this to the other repo if you want to solve these issues on the user side.

So there a couple problems I mentioned in an email long ago (04 Jan 2020) and I don't know if you want to solve this via dwhswenson/ops-storage-notebooks/examples or in the actual code:

Thanks; and these are definitely things to discuss here. (Although I think you're mixing US vs rest-of-world date order -- still long ago, but I'm pretty sure that was 1 Apr, not 4 Jan.)

1. Negative slicing does not work (storage.steps[-1]), this needs to be storage.steps[len(storage.steps)-1]

Yes, this needs to be fixed. Will do in this PR.

2. When restarting the simulation object does not get initialized with the right storage (it is set to None) and save_fequency (set to 1), so it won't safe after restarting and is really slow for toy systems if storage is set.

These are actually two separate issues:

Storage isn't storable. I think I fixed that in a commit in another branch that builds on this (at least, that's what the commit message says it does: de565ab7e90e5921c3537a4c01bee4152d5d3ac7). I'll see if that can be cherry-picked into here without introducing problems. Note that this isn't trivial -- in particular, I don't think we really want to treat the mode attribute seriously; at least, not for mode='w', which would erase the existing file. Kind of a rm -rf ~/. My guess is that the user expectation would be for the storage to be mode='a'. (Note: for SQL-based storage, there's actually no 'a'/'r' distinction, because you don't actually open a file pointer. The 'w' distinction is logic that I wrote to wipe the existing data; it doesn't come from the filesystem.)

Mutable properties (e.g., save_frequency) are not stored. I'm pretty sure this is the same with netcdfplus. We consider these things mutable, and they get default values when the object is recreated. That's true of anything that isn't returned by to_dict -- obviously, we can't store it if to_dict doesn't mention it! Long-term plan is to allow mutable options to be stored as well. The API I would use for this is pretty straightforward, and also backward compatible: Instead of returning one dict, to_dict can (optionally) return 2. The first one is the immutable attributes; the second is the mutable attributes. Similarly, from_dict has an optional second argument. Getting it to work with the storage subsystem is another issue, and will be beyond the scope of this PR.
My general leaning would be to always save all copies of mutable attributes, and when you reload you get the last one that was saved for the given object. This is about reproducibility. There are also a number of simulation cases where this makes sense, too (I think @hejung's S-range work could be more easily implemented by allowing a single volume-like object to have a mutable property that is saved at each step. I'm also working around mutability in my implementation of AMS in #806). The argument against this approach would be that frequent mutation and saving would bulk up file size. But I think it will be rare to save and resave objects outside the context of a simulation, where reproducibility matters.

Negative slicing: Should be done now, although I haven't properly tested it.
Making Storage storable: It's a little tricky to cherry-pick that into this branch, because it seems to use a few aspects that were developed for the storable function branch, which will be the follow-up to this PR (that's where I do the new CVs). I've cherry-picked it into storable_functions, so it'll be a part of that PR.

. (Although I think you're mixing US vs rest-of-world date order -- still long ago, but I'm pretty sure that was 1 Apr, not 4 Jan.)
Ah yeah, somehow outlook is using US dates...

Negative slicing: Should be done now, although I haven't properly tested it.

I can confirm it works for the example I gave

Making Storage storable: It's a little tricky to cherry-pick that into this branch, because it seems to use a few aspects that were developed for the storable function branch, which will be the follow-up to this PR (that's where I do the new CVs). I've cherry-picked it into storable_functions, so it'll be a part of that PR.

That is fine by me :+1: (assuming that PR will go into the same release as this PR)

But I think it will be rare to save and resave objects outside the context of a simulation, where reproducibility matters.

I totally agree with that.
I think that covered all the issues I found while stress testing this for running the test system 100_000 steps, except that that there is some optimization I do when loading a lot of steps, but I will make that an issue in the examples repo. (It is essentially resetting the uuid cache every 1000 steps)

I'm about to do a bit of renaming here. Essentially, I want the experimental subpackage to somewhat mimic what the openpathsampling package will look like in 2.0, so that all you need to do to go from experimental to 2.0 is remove the experimental from the imports, even for things not in the root openpathsampling namespace.
Of the user-facing things, I believe this would just mean the following changes:

experimental.storage.sql_backend.SQLStorageBackend => experimental.simstore.SQLStorageBackend
experimental.storage.ops_storage.OPSStorage => experimental.storage.Storage  (will be in root namespace in OPS 2.0, but experimental only holds subpackages)
experimental.storage.monkey_patches.monkey_patch_all available at experimental.storage.monkey_patch_all (etc for other monkey patches; also, the existing imports will still work, but a simpler one will be available.)

@sroet : Mainly, I want to warn you this change is coming. If there's a reason it would be a huge hassle, I can hold off for a bit. After that change, I think I'll mark this ready for review.

Mainly, I want to warn you this change is coming. If there's a reason it would be a huge hassle, I can hold off for a bit. After that change, I think I'll mark this ready for review.

Don't worry about it.  I think should be proficient enough with git to lock to a specific commit hash if it would be a hassle ;)

I've completed the renaming/shifting imports as proposed in https://github.com/openpathsampling/openpathsampling/pull/928#issuecomment-698280723.
As far as I'm concerned, this is now ready for review. It's not expected to be the complete implementation of the new storage, but a lot of first steps. It's already a large enough PR that it'll be hard for anyone to thoroughly review it, so I want this merged in so that subsequent steps can come in smaller doses.
That said, I'll leave this up for at least 10 days, just in case someone is brave (foolish) enough to want to give it a full review, and to provide sufficient time for other feedback. I will not merge this before Monday, 5 October, 2020.

From me this is a +1,
I have not looked at the code, but:

I have used this code (specifically https://github.com/dwhswenson/openpathsampling/commit/f80eb2687ebf73085cb57eb7e2802375c66b3364 ) to run multiple 100_000 step toy system calculation with custom objects.
I have used  https://github.com/openpathsampling/openpathsampling/pull/928/commits/c3fbbe0ed9b24af86a3e9db4923066f1432ebc11 to analyze these simulations with reasonable speeds (for me it loads at about 22 steps/s, `1.25 hours for 100_000 steps while I never got the old (netcdf) storage to even open.)
To get to the above point I had to manually create an sql index which was the reason for this comment, which was not to painful if required (takes about 15 min)

The two things that I have not checked and am a bit worried about:

I have not run a simulation with any code after  https://github.com/dwhswenson/openpathsampling/commit/f80eb2687ebf73085cb57eb7e2802375c66b3364 , so I don't now if the "UUID is not an SQLIndex" is actually fixed.

I don't know if there is performance degradation when running long simulations because the storage cache is not cleared while running these simulations, but I do expect there to be (It used to scale as O(N), but might now be O(log(N)), with N being the number of objects in the cache).

Know issues that will be left for future PRs (@dwhswenson  please correct me here if I am promising things that you will not do :wink:  ) :

PathSimulator objects don't get initialized with the storage they are loaded from
Mutable attributes are not saved (whole different issue)
While indexing now works for both positive and negative indices (for example storage.steps[-1]), it can't be sliced yet (for example storage.steps[:5000])

Know issues that will be left for future PRs

These are correct. The first one, storable storage, is already addressed in #929. Proper slicing of tables will probably come after #929, in a separate PR (keeping things smaller and easier to review). Storing mutable data is a larger problem, and may not happen until after 2.0 (but can be done in a way that is backward-compatible, so that's fine.)
Also, since this is in the experimental subpackage (where SemVer does apply), let me take a moment to state a few ways to future-proof for anyone using this. I'll focus on creating/using the Storage object, since that's the main thing users will care about (i.e., only devs will care about adding new JSONCodecs or about how storage and backend communicate).

The examples currently show an approach of creating the backend directly with (SQLStorageBackend(filename, mode)) and then creating the storage with Storage.from_backend. This will probably remain the same. If you want to be even more future-proofed, starting with #929 I think the approach of create SQLAlchemy engine => SQLBackend.from_engine => Storage.from_backend will be guaranteed. (In the future, there will by a single-step Storage(filename, mode) initialization.)
Saving objects, either singly or as a list, with storage.save() is guaranteed
Accessing true tables by single element (e.g., storage.steps[0]) or by iteration (e.g., for step in storage.steps) is guaranteed
Accessing pseudo-tables (views on the simulation objects table) by number (e.g., storage.cvs[0]), by name (e.g., storage.cvs['cv_x']) or by iteration (e.g., for cv in storage.cvs) is guaranteed. Note that not all pseudo-tables have been added yet; if you find one missing, let me know.

I think these are the main ways people tend to interact with the storage. If there are other ways, please ask about them!

alright I ran another simulation with 100_000 on commit https://github.com/openpathsampling/openpathsampling/pull/928/commits/fbe2b05d6d60753260510ca7d0fa58bd76807294

I have not run a simulation with any code after dwhswenson@f80eb26 , so I don't now if the "UUID is not an SQLIndex" is actually fixed.

This has not been fixed and can lead to detrimental analysis performance as mentioned in this comment
Non-indexed sql loads with 29.17s/it while the indexed one: 17.69it/s (notice the swap of it and s on those scales)

I don't know if there is performance degradation when running long simulations because the storage cache is not cleared while running these simulations, but I do expect there to be (It used to scale as O(N), but might now be O(log(N)), with N being the number of objects in the cache).

The performance is still degrading somewhat, from on average 0.19 s/step at  the start to on average 1.02 seconds per step at 100_000.

Ok I completed a new run with a2706cc:
Completed at 100_000 with and average speed of 0.45 s/step
The final average speed of this version (0.45 s/step) is already more than 2x the average speed of before  1.02 s/step.
Working on Monte Carlo cycle number 10000
Running for 29 minutes 36 seconds -  0.18 seconds per step
--
Working on Monte Carlo cycle number 20000
Running for 1 hour 9 minutes 40 seconds -  0.21 seconds per step
--
Working on Monte Carlo cycle number 30000
Running for 2 hours 3 minutes 14 seconds -  0.25 seconds per step
--
Working on Monte Carlo cycle number 40000
Running for 3 hours 3 minutes 21 seconds -  0.28 seconds per step
--
Working on Monte Carlo cycle number 50000
Running for 4 hours 16 minutes 47 seconds -  0.31 seconds per step
--
Working on Monte Carlo cycle number 60000
Running for 5 hours 37 minutes 18 seconds -  0.34 seconds per step
--
Working on Monte Carlo cycle number 70000
Running for 7 hours 5 minutes 29 seconds -  0.36 seconds per step
--
Working on Monte Carlo cycle number 80000
Running for 8 hours 39 minutes 29 seconds -  0.39 seconds per step
--
Working on Monte Carlo cycle number 90000
Running for 10 hours 41 minutes 45 seconds -  0.43 seconds per step
--
Working on Monte Carlo cycle number 100000
Running for 12 hours 33 minutes 34 seconds -  0.45 seconds per step

It is actually still growing linearly (on average), but at such a slow rate I think it is acceptable.
The if we look at the average time of the last 10_000  the speeds are (with slightly different rounding than above):

steps (x10000)
average
average last 10_000
diff last 10_000

1
0.18
0.18
-

2
0.21
0.24
0.06

3
0.25
0.33
0.09

4
0.28
0.37
0.04

5
0.31
0.43
0.06

6
0.34
0.49
0.06

7
0.37
0.55
0.06

8
0.40
0.61
0.06

9
0.43
0.67
0.06

10
0.46
0.73
0.06

This seems to indicate that the average time to add a step grows by 0.06 s for every 10_000 steps added. Given that this should still be sub-second for up to 130_000 steps , I am totally fine by this

Analysis runs as fast as you would expect with an indexed sql (36.38 it/s)

Appending seems to be as fast as before with an indexed sql (and in line with the last 10_000 speeds mentioned above)

Working on Monte Carlo cycle number 103100
Running for 38 minutes 24 seconds -  0.74 seconds per step
Estimated time remaining: 23 minutes 33 seconds

This solves all the issues for me.

Thanks @sroet : I added an index on the UUIDs table, so this confirms my approach for that works and that the index persists.
It may be worth indexing other tables as well, especially snapshots and (in #929) saved CV results.
IIRC your trajectories are also rather long, right? Order of 1000 snapshots? Your analysis speed is probably limited by needing to load all snapshots (from accepted trajectories, at least) -- once I finish #929, that will no longer be necessary (if you run the simulation with the stuff in #929).
With this performance issue dealt with, I'll go ahead and merge this in, and future performance improvements can be in other PRs.

IIRC your trajectories are also rather long, right? Order of 1000 snapshots? Your analysis speed is probably limited by needing to load all snapshots (from accepted trajectories, at least) -- once I finish #929, that will no longer be necessary (if you run the simulation with the stuff in #929).

Normally between 100-1000 frames per trajectory.


GetSearchHintsAsync seems to ignore the IncludeItemTypes array in SearchQuery

I've already opened this issue in the Emby repository, but probably this is the best  place.
As for the title: I'm building a search query via the C# client that looks like this:
SearchQuery searchQuery = new SearchQuery();
searchQuery.UserId = client.CurrentUserId;
searchQuery.IncludeArtists = false;
searchQuery.IncludeGenres = false;
searchQuery.IncludePeople = false;
searchQuery.IncludeStudios = false;
searchQuery.IncludeMedia = true;
searchQuery.SearchTerm = "Iron";
searchQuery.IncludeItemTypes = new string[] { "MusicAlbum" };
searchQuery.Limit = 24;

var res = await client.GetSearchHintsAsync(searchQuery);

But in the SearchHints results I don't only have music albums with the search term "Iron", but also songs.
I'm trying different configurations of the query, also with the ExcludeItemTypes, but I always get items of all types...

Done, still getting mixed album/audio media type...

...no news on this?

Hi, can you use the Chrome debugger to compare to the web app to see what is missing? thanks.

Already tried, the web interface builds the query in this way:
http://<IP_ADDRESS>:8096/emby/Search/Hints?searchTerm=Iron&IncludePeople=false&IncludeMedia=true&IncludeGenres=false&IncludeStudios=false&IncludeArtists=false&IncludeItemTypes=MusicAlbum&UserId=8c5b133ef4f1452d8d847cbac19ba08e&Limit=24&ParentId=7e64e319657a9516ec78490da03edccb
the parsed querystring parameters are these:
searchTerm: Iron
IncludePeople: false
IncludeMedia: true
IncludeGenres: false
IncludeStudios: false
IncludeArtists: false
IncludeItemTypes: MusicAlbum
UserId: 8c5b133ef4f1452d8d847cbac19ba08e
Limit: 24
ParentId: 7e64e319657a9516ec78490da03edccb
The only noticeable difference is the ParentId, but event with my results are mixed: I receive both Audio and MusicAlbum items (also one Episode).


Does the env or the robots has pre-defined low level actions such as move_forward, turn_right, turn_left?

I see nearly every example in navigation are all using the env.action_space.sample() to generate actions. But what if I just need the specific actions?
Hope I can find help!

Hi @Yonggie, we do have some experimental primitive actions implemented. If you go to the og-develop branch, you will see a test_robot_load_drive test case in tests/test_robot_states_flatcache.py. In there, you will see examples of how you can use the starter action primitives for simple navigation and manipulation. Let me know if you run into any problems!


Begintoberfest

WHERE DO I CLAIM MY T-SHIRT?!?!?!?

Thanks Begin!
Unfortunately, due to poor marketing, we have a surplus of shirts. If you hand over your name, address, pets name, date of birth and other crucial identification information we can be sure to send you the entire surplus.
But I'll need someone to pay for all this shipping. That's where you come in.


Fixes issue #23

The response objects make the test look a little messy. Does it make any sense to add a factory for different responses? I also noticed a user fixture. Is it worth adding a factory?

LGTM!


Pass config as environment variables

Would there be much to do to allow passing the config as environment variables? This would make deployments over docker significantly easier.

That was originally my idea, but after seeing how complex the configuration is, I understand how difficult it would be. You can consider my request withdrawn :)


Improved widget-4

Closes #961 . Improved widget-4. Added hover effect. Made it responsive.
Attached screenshots:

Awesome work


CI_Employee Status list is not populating

Describe the bug
A clear and concise description of what the bug is.
To Reproduce

Steps to reproduce the behavior:
sign into the crisis communication
select "status"
-fill out the "out of office" or "wfh"

Expected behavior
Whenever I submit "Out of Office" or "WFH" I expect the CI_Employee Status list to populate with data. it is not
Screenshots
If applicable, add screenshots to help explain your problem.

Interface(please complete the following information):
Edge and Chrome

as suggested, I was able to unhide the Latitude, Longiture, and Presence Status but the data is still not populating correctly

@JohnCarter8481 can you please update the Crisis Communication canvas app with the most recent version available on GitHub? We deployed a fix yesterday that might fix your issue with writing to the table, which was a formula error in the app.
Please confirm when you have tried this.

@JohnCarter8481,
Sorry for the issue, the calendar had some issues that we have fixed. We had a fix shortly thereafter and the latest version has the correct function as well. Please confirm on your side.

Has the issue with the powerbi connection to the status list error "The column 'Id' of the table wasn't found" been resolved. I pulled code yesterday.

I'm also having the issue reported above that after selecting WFH or OOO and selecting a date, nothing happens and no records are been added to the list.

Has the issue with the powerbi connection to the status list error "The column 'Id' of the table wasn't found" been resolved. I pulled code yesterday.

I'm also having the issue reported above that after selecting WFH or OOO and selecting a date, nothing happens and no records are been added to the list.

I am having the same issues

As mentioned on Issue #112, please make sure you've signed into your Microsoft account and not viewing the report as anonymous.
And it is best to populate the list before viewing it in the report.
Link: https://github.com/microsoft/powerapps-tools/issues/112


Is there a way to customize where the triangle pointer is positioned?

Ex:
For tooltips that show up at place='top', can I move the the triangle pointer to the bottom left of the tooltip and still have the triangle point to the appropriate item that triggered the tooltip?
For tooltips that show top or bottom, maybe there could be an attribute to position the triangle left, middle or right.
For tooltips that show left or right, maybe there could be an attribute to top, middle, bottom

No, there is no way to do that right now. I would be happy to look at a PR with that feature, though!

I needed this and a proper PR requires more time, but meanwhile I tweaked placement in my (S)CSS. Something like:
$tooltip-offset: 167px;
.my-tooltip {
    width: 403px;
    height: 212px;
    padding: 12px 10px;
    margin-top: 26px;
    margin-left: $popover-offset;
}

.__react_component_tooltip.place-bottom {
    $tip-offset: -$tooltip-offset - 8px;
    &::before {
        margin-left: $tip-offset;
    }

    &::after {
        margin-left: $tip-offset + 2px;
    }
}


text: Set 0 letter spacing throughout zulipTypography

Screenshots coming soon.
After this, there's still more to do for #548:

letter spacing of 1% (i.e., 0.01 times fontSize) in buttons
perhaps audit for UI code that's meant to follow Figma already,
but where we failed to set a non-zero letter spacing that was
specified in Figma

Fixes: #545
Fixes-partly: #548

Before
After

Thanks! This looks good; merging.
From the commit message:
It's worth mentioning that letter spacing is one of the parameters
that are carefully chosen for the 15 TextThemes that make up the
default Typography in Material 3:

  {display,headline,title,label,body} × {small,medium,large}

So this might be considered a regression...if the Material spec were
our primary or only source of truth for text styles. But it isn't:
we have a designer (Vlad), and this change brings us closer to his
specified design. See #545 and #548.

Yeah. I also navigated around the app a bit and looked at various screens, and there wasn't a lot of text that was affected that wasn't similar in character to what's in your screenshots above of the message list. Stream names in the streams screen; the miscellaneous text at top of HomeScreen (which we should probably cut anyway — it's from literally when I was demonstrating to myself that registerQueue was working, before there was even a message list); things like that.
In particular the titles in app bars seem unaffected, like in your screenshots.
FTR, here's the Material default font styles that we're overriding:
https://m3.material.io/styles/typography/type-scale-tokens#a734c6ed-634c-4abb-adb2-35daf0aed06a
Bit annoying to click through and find (it's not a nice presentation like a table), but the information is there, called "font tracking".
After this, there's still more to do for #548:

- letter spacing of 1% (i.e., 0.01 times `fontSize`) in buttons
- perhaps audit for UI code that's meant to follow Figma already,
  but where we failed to set a non-zero letter spacing that was
  specified in Figma

I don't know a reasonable way to do that audit, unfortunately. If we could get an export of everything in such a way that we could search through for "letter-spacing" and scan for matches that are in UI we've already implemented from Figma, then it'd be pretty manageable — but I definitely don't want to try clicking through opening a bunch of nodes across the Figma design to look for letter spacing. So I take #548 as being about the buttons, and the places where a letter-spacing isn't specified, and if there are any other discrepancies then we can just file and fix those as and when we notice them.
(I'll adjust this last part of the commit message accordingly before merge.)


Request: Change presets with "amp control" relays.

My effects switching system has 4 "amp control relays". Each relay could connect to a different GPIO, with a total of 16 combinations that could be used to select 16 different presets. That would be a killer feature.

Its not for me to say really but I feel the project is going in all directions.
pk-666: How many people do you think would benefit from the feature that you are suggesting ?

Its not for me to say really but I feel the project is going in all directions. pk-666: How many people do you think would benefit from the feature that you are suggesting ?

I think there are far more people using switching systems with "amp control relays" than chocolate midi controllers. Even systems with a single "amp control relay" could use it to toggle between a clean and a distorted preset, exactly like most of real amps. The Tonex One works extremely well with other effect pedals and the obvious solution to integrate them are the switching systems, and almost all of them have "amp control relays".

How would the relays be controlled? Via Midi?

How would the relays be controlled? Via Midi?

I have a Boss ES-5 Switching System. It has 5 footswitches,  send/return loops for the analog pedals and "amp control" relay jacks. I can set the state of the relays for each preset assigned to the footswitches. The device has MIDI capabilities, but I don't use them.

I don't know about amp control relay, never saw them - what is the brand/model of your device?  My ignorance.
Note that switching between two presets is standard on the ToneX One with the footswitch and the ES-5 has midi capabilities that could be used to control the Tone_X One with the project as it is I think.

I don't know about amp control relay, never saw them - what is the brand/model of your device? My ignorance. Note that switching between two presets is standard on the ToneX One with the footswitch and the ES-5 has midi capabilities that could be used to control the Tone_X One with the project as it is I think.

Yes, I can use the ToneX One footswitch to toggle between 2 presets, but the whole point of using a switching system is pressing a single footswitch on the controller and switch all the pedals and amp channels (or ToneX presets) at the same time.
Every multichannel amp has a jack where you plug the original footswitch to select the channel and almost every pedal switching system can be connected to that jack and act as it was the actual amp's footswitch. Both the amp's footswitch and the switching system work the same way, closing the contact on the amp's jack, grounding the circuit that changes the channel. The same thing could be done on the GPIOs of the ESP32 board.
You are right, I can order the recommended 5 pin midi board and use midi commands, but I can't find it in my country, it costs $60 to be delivered from the US, another point of faillure would be added and programming midi is more difficult.
Finally, reading the GPIOs states is the most basic thing that can be done on an ESP32 board. I'm not a programmer, but I can't imagine how that could be difficult to implement. It is as simple as reading some GPIOs states and changing the ToneX preset based on the combination of those states.

It's certainly easy to read GPIO inputs. I just don't quite understand what the requirements are yet.
Right now I have 2 GPIO allocated for using basic dual footswitches, that do next/previous preset.
So the suggestion is to allocate 2 more inputs, and then perhaps have a mode set in the config that uses these 4 inputs to directly select 1 of 16 presets? eg  0001 for preset 1, 0010 for preset 2 etc?

So the suggestion is to allocate 2 more inputs, and then perhaps have a mode set in the config that uses these 4 inputs to directly select 1 of 16 presets? eg 0001 for preset 1, 0010 for preset 2 etc?

It's exactly what I am suggesting!

OK, got it.
There have also been requests to have 4 switch inputs, but to handle them like the M-Vave Chocolate does, where switch 1 +2 or 3+4 does a bank selection.
I can probably do both of these changes together, and in web config have a selection between dual input (next/previous), quad input (mvave style) and quad input (binary)


Upgrade to qiskit_sphinx_theme 1.12

The 1.12 theme release is focused on stability, including CSS fixes. See https://github.com/Qiskit/qiskit_sphinx_theme/releases/tag/1.12.0rc1 for the changelog.
It allows us to de-duplicate versionutils.py, since translations support is now provided by qiskit_sphinx_theme.
This PR also:

Adds missing pyproject.toml to tell Python how to build the package. This is highly recommended to include.
Enables -j auto with Sphinx to have parallelism. This should result in a faster docs build.
Adds tox -e docs-clean

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
146 unchanged lines in 7 files lost coverage.
Overall coverage decreased (-2.8%) to 64.412%

Files with Coverage Reduction
New Missed Lines
%

qiskit_ibm_runtime/qpy/binary_io/schedules.py
1
15.21%

qiskit_ibm_runtime/qpy/binary_io/value.py
2
63.47%

qiskit_ibm_runtime/utils/utils.py
3
53.72%

qiskit_ibm_runtime/accounts/account.py
4
88.37%

qiskit_ibm_runtime/qiskit_runtime_service.py
14
77.45%

qiskit_ibm_runtime/accounts/storage.py
39
25.0%

qiskit_ibm_runtime/accounts/management.py
83
28.69%

Totals

Change from base Build<PHONE_NUMBER>:
-2.8%

Covered Lines:
3285

Relevant Lines:
5100

💛  - Coveralls


Revert "Don't use old grpcio-tools"

Reverts IRL2/nanover-protocol#252
Seems to cause issues that aren't caught by the tests

https://github.com/IRL2/nanover-protocol/issues/261


Fixed typo in index.rst

removed .md from "usage/06_reasoning_details.md"

@Demirrr can you please approve this


I built it successfully, and it was successful before. Now I changed the server and built it again. This problem occurred. Is it because jellyfin was upgraded to version 10.10?

I built it successfully, and it was successful before. Now I changed the server and built it again. This problem occurred. Is it because jellyfin was upgraded to version 10.10?
我搭建成功了，之前也成功过，现在换了服务器，重新搭建，出现了这个问题，是因为jellyfin升级到10.10版本的原因吗？
INFO:     Uvicorn running on http://<IP_ADDRESS>:9000 (Press CTRL+C to quit)

DEBUG:root:Jellyfin event detected is: None

DEBUG:root:itemid is: None

INFO:     <IP_ADDRESS>:48854 - "POST /jellyfin HTTP/1.1" 200 OK

DEBUG:root:Jellyfin event detected is: None

DEBUG:root:itemid is: None

INFO:     <IP_ADDRESS>:49412 - "POST /jellyfin HTTP/1.1" 200 OK

My Jellyfin is 10.10.3 and works without issue.  What are your settings?

==========

== CUDA ==

==========

CUDA Version 12.3.2

Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.

By pulling and using the container, you accept the terms and conditions of this license:

https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.

WARNING: The NVIDIA Driver was not detected.  GPU functionality will not be available.

   Use the NVIDIA Container Toolkit to start this container with GPU support; see

   https://docs.nvidia.com/datacenter/cloud-native/ .

subgen.env file not found. Please run prompt_and_save_env_variables() first.

Downloading subgen.py from GitHub branch main...

File downloaded successfully to subgen.py

File downloaded successfully to language_code.py

Launching subgen.py

INFO:root:Subgen v2024.12.10

INFO:root:Starting Subgen with listening webhooks!

INFO:root:Transcriptions are limited to running 2 at a time

INFO:root:Running 3 threads per transcription

INFO:root:Using cpu to encode

INFO:root:Using faster-whisper

INFO:     Started server process [29]

INFO:     Waiting for application startup.

INFO:     Application startup complete.

INFO:     Uvicorn running on http://<IP_ADDRESS>:9000 (Press CTRL+C to quit)

DEBUG:root:Jellyfin event detected is: None

DEBUG:root:itemid is: None

INFO:     <IP_ADDRESS>:39340 - "POST /jellyfin HTTP/1.1" 200 OK

DEBUG:root:Jellyfin event detected is: None

DEBUG:root:itemid is: None

INFO:     <IP_ADDRESS>:37472 - "POST /jellyfin HTTP/1.1" 200 OK

DEBUG:root:Jellyfin event detected is: None

DEBUG:root:itemid is: None

INFO:     <IP_ADDRESS>:38062 - "POST /jellyfin HTTP/1.1" 200 OK

DEBUG:root:Jellyfin event detected is: None

DEBUG:root:itemid is: None

INFO:     <IP_ADDRESS>:38652 - "POST /jellyfin HTTP/1.1" 200 OK

==========

== CUDA ==

==========

CUDA Version 12.3.2

Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.

By pulling and using the container, you accept the terms and conditions of this license:

https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.

WARNING: The NVIDIA Driver was not detected.  GPU functionality will not be available.

   Use the NVIDIA Container Toolkit to start this container with GPU support; see

   https://docs.nvidia.com/datacenter/cloud-native/ .

subgen.env file not found. Please run prompt_and_save_env_variables() first.

Downloading subgen.py from GitHub branch main...

File downloaded successfully to subgen.py

File downloaded successfully to language_code.py

Launching subgen.py

INFO:root:Subgen v2024.12.10

INFO:root:Starting Subgen with listening webhooks!

INFO:root:Transcriptions are limited to running 2 at a time

INFO:root:Running 3 threads per transcription

INFO:root:Using cpu to encode

INFO:root:Using faster-whisper

INFO:     Started server process [29]

INFO:     Waiting for application startup.

INFO:     Application startup complete.

INFO:     Uvicorn running on http://<IP_ADDRESS>:9000 (Press CTRL+C to quit)

INFO:     <IP_ADDRESS>:41626 - "POST /jellyfin HTTP/1.1" 422 Unprocessable Entity

INFO:     <IP_ADDRESS>:41668 - "POST /jellyfin HTTP/1.1" 422 Unprocessable Entity

DEBUG:root:Jellyfin event detected is: None

DEBUG:root:itemid is: None

INFO:     <IP_ADDRESS>:41800 - "POST /jellyfin HTTP/1.1" 200 OK

Your jellyfin webhook is configured wrong.  Needs the application type and send all properties.

Done! Oh my gosh, I've been searching for hours and haven't found this problem. I think you should mention it in the README.

you must checkSend All Properties (ignores template)

Thank you for your reply. Your project is great. Thank you.

It is in the readme, in the picture you posted.  Next, check Item Added, Playback Start, and Send All Properties. Last, "Add Request Header" and add the Key: Content-Type Value: application/json

Well, it should be the fault of machine translation，LOL

DEBUG:root:Path of file: /video/硬链接/电视剧/外语剧集/黑袍纠察队 (2019)/Season 1/黑袍纠察队 - S01E02 - 杀死透明人.mp4

WARNING:root:/video/硬链接/电视剧/外语剧集/黑袍纠察队 (2019)/Season 1/黑袍纠察队 - S01E02 - 杀死透明人.mp4 is neither a file nor a directory. Are your volumes correct?

INFO:root:Metadata refresh queued successfully.

INFO:root:Metadata for item 23a60dffe979b9ce01db35adfd7810c8 refreshed successfully.

INFO:     <IP_ADDRESS>:44684 - "POST /jellyfin HTTP/1.1" 200 OK

The log can identify jellyfin, but is there still something wrong with this prompt?


CI Tests against nightly rust are failing

Describe the bug
The  checks started failing here:
https://github.com/apache/arrow-rs/runs/4286145388?check_suite_focus=true

failures:

---- src/array/mod.rs - array (line 49) stdout ----
error[E0259]: the name `arrow` is defined multiple times
 --> src/array/mod.rs:50:1
  |
2 | extern crate arrow;
  | ------------------- previous import of the extern crate `arrow` here
3 |
4 | extern crate r#arrow;
  | ^^^^^^^^^^^^^^^^^^^^^ `arrow` reimported here
  |
  = note: `arrow` must be defined only once in the type namespace of this module

error: aborting due to previous error

For more information about this error, try `rustc --explain E0259`.
Couldn't compile the test.
---- src/datatypes/schema.rs - datatypes::schema::Schema::new (line 55) stdout ----
error[E0259]: the name `arrow` is defined multiple times
 --> src/datatypes/schema.rs:55:1
  |
2 | extern crate arrow;
  | ------------------- previous import of the extern crate `arrow` here
3 | extern crate r#arrow;
  | ^^^^^^^^^^^^^^^^^^^^^ `arrow` reimported here
  |
  = note: `arrow` must be defined only once in the type namespace of this module

error: aborting due to previous error

For more information about this error, try `rustc --explain E0259`.
Couldn't compile the test.
---- src/datatypes/schema.rs - datatypes::schema::Schema::new_with_metadata (line 72) stdout ----
error[E0259]: the name `arrow` is defined multiple times
 --> src/datatypes/schema.rs:72:1
  |
2 | extern crate arrow;
  | ------------------- previous import of the extern crate `arrow` here
3 | extern crate r#arrow;
  | ^^^^^^^^^^^^^^^^^^^^^ `arrow` reimported here
  |
  = note: `arrow` must be defined only once in the type namespace of this module

error: aborting due to previous error

For more information about this error, try `rustc --explain E0259`.
Couldn't compile the test.

failures:
    src/array/mod.rs - array (line 49)
    src/datatypes/schema.rs - datatypes::schema::Schema::new (line 55)
    src/datatypes/schema.rs - datatypes::schema::Schema::new_with_metadata (line 72)

test result: FAILED. 128 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 135.22s

error: test failed, to rerun pass '--doc'
Error: Process completed with exit code 101.

To Reproduce
Run CI on nightly
Expected behavior
Tests should pass

Can reproduce (on linux only):
rustup update
cd arrow
cargo +nightly test  --features "simd"

I am not sure what is going on re the windows failures...


Vary: Accept header when responding webp for cdn

curl -I http://localhost:8000/...jpg -H 'Accept: image/webp'
Content-Type: image/webp
Vary: Accept
curl -I http://localhost:8000/...jpg
content-type: image/jpeg
Can be solved via nginx
location / {
    if ($http_accept ~* webp) {
        add_header Vary Accept;
    }
    proxy_pass http://localhost:8000;
}

But I want to without nginx

I communicated with different CDNs. It turns out that the title should be given when the option "auto webp" is enabled
location / {
     add_header Vary Accept; // if auto webp is enabled on imagor
     proxy_pass http://localhost:8000;
}

You may test the docker build at master branch:
https://github.com/cshum/imagor/pkgs/container/imagor/70043557?tag=master
ghcr.io/cshum/imagor@sha256:aa43979a1bea938c1691469359c1b1b9e1869222085d1195914ce1acb3f30bd7

You may test the docker build at master branch: https://github.com/cshum/imagor/pkgs/container/imagor/70043557?tag=master
ghcr.io/cshum/imagor@sha256:aa43979a1bea938c1691469359c1b1b9e1869222085d1195914ce1acb3f30bd7

Thanks! It works =)


Request: Use an existing cache policy

Hi!
Was wondering if there were any plans to include an option to provide the arn for an existing cache policy for tf-next to use? Something similar to how origin request policies are configured. (Use default if ID is not provided)
Reason being is we have an account where we used tf-next to deploy multiple applications with the same cache policy settings and we are approaching the AWS quota hard limit for Cloudfront cache policies. If we can have all our tf-next deployments use a single cache policy, that'd free up a lot of space for other policies.
If you have no plans, I'd be happy to help contribute and see if I can add this functionality in!

Hey, thanks for the suggestion!
Yeah, would be open to a PR that adds this functionality.


Suggestion: Use Promise rather than callbacks

It appears that JavaScript Promises have been available in Node since v4.0.0.  This issue is a feature request to provide a JavaScript Promises based interface to the functions rather than a callback interface.

I totally agree, I'd love to upgrade it to use promises and async/await.  However, I don't have a HMC5883l to test this on.  This library was written when the only version of Node.js that could be used on the BeagleBone (with Bonescript) was v0.12.x.  Hence the callbacks.
PR's are welcome though :).


Assume Role Error

{"Error":{"Code":"AccessDenied","Message":"Roles may not be assumed by root accounts.","Type":"Sender"},"RequestId":"ed7

please guides us above error

I can help only with the code of the library.
You should follow the steps of the developer onboarding here
https://github.com/amzn/selling-partner-api-docs/blob/main/guides/en-US/developer-guide/SellingPartnerApiDeveloperGuide.md

thank you slavilov we have done that issue


Remove 'make_row', expose a 'Row::new' method instead.

Which issue does this PR close?
Closes https://github.com/apache/arrow-rs/issues/6761
Closes https://github.com/apache/arrow-rs/pull/6762
Rationale for this change
parquet::record::make_row was the only method to create Row instances and was private. With a class method ::new, there is a new way of creating Row instances that is publicly exposed.
What changes are included in this PR?

Remove parquet::record::make_row
Add a parquet::record::Row::new method.

BTW using the Row API is likely to be quite slow to do processing with parquet. If you care about performance I would recommend looking at the other APIs that are available

If you care about performance I would recommend looking at the other APIs that are available such as the arrow reader

Yes, I implemented the data manipulation functionality that I need also already for whole RecordBatches & Arrays, but for a specific use case I also want to modify single rows. I'm aware that this is very much less efficient than it could be.
Thank you for your quick replies and collaboration!

That this CI action fails is not my fault, right?

That this CI action fails is not my fault, right?

Looks unrelated to me

Since you did a release only a few days ago, one can't expect a new release for another month, right?


feat(ArtistAbout): fix styling in some links and read more on bio

Description
This PR adjusts some inconsistency around each section "View All" and adds ... to the Read More truncated text.

@artsy/diamond-devs
PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 2abcf4ade3b3cee38b1019da39ea7887d9ccb4e6


cmd/deps: drop --installed requirement for --formula/--cask

It appears the requirement was originally imposed in #9414 because only the --installed logic checked for --formula or --cask. But with the addition of named_args, that check is done automatically.
Fixes #13592.

Review period will end on 2022-09-01 at 18:25:51 UTC.

Review period skipped due to critical label.


/auth/enable_cookies XSS attack?

Overview
/auth/enable_cookies appears to render arbitrary javascript - XSS
Consuming repo
We have the shopify koa app mounted at: (real URL available in private email to<EMAIL_ADDRESS>https://example.com/shopify
If you click this, you will get a "hello world" prompt.
https://example.com/shopify/auth/enable_cookies?shop='"</title></style></textarea></noscript></script>--><dtfy><script>alert('hello world')</script>
Labels

[ ] Add the Type: Bug label to this issue.

Area

[ ] Add any relevant Area: <area> labels to this issue

Scope

Is this issue related to a specific package?

[ ] Tag it with the Package: <package_name> label.

Checklist

[ ] Please delete the labels section before submitting your issue
[ ] I have described this issue in a way that is actionable (if possible)

FYI @seamusabshere we have a bug bounty program over at https://hackerone.com/shopify and there are rules for participation!
I am thinking of two rules in particular:

Rules for reporting must be followed.
Do not disclose any issues publicly before they have been resolved.


Update npm install documentation

The documentation suggests installing via npm as a dev dependency.
npm install --save-dev shoelace-css

It should not be a dev dependency, that is usually for build tools, unit tests, etc. You should have used --save instead.
As of npm5, that can actually even be omitted. npm install will --save by default.

Good call, thanks.

Whoops, I need to add a contributing doc. This was the generated HTML, not the markdown source. I'll update it since I'm already working on it :)
In the future, docs updates should be made in source/docs and then built with node build.js --build.
Thanks again!

Yeah, please do add a CONTRIBUTING.md.

Wasn't expecting this to blow up so quickly in a week 😆