Prevent Model Changes

Currently users are able to change the props that spawn when placing down most items (Gates and other systems) some models can crash the game if used in a improper setting, or in case of hiding the wire.
From what I can find there is no way to prevent this from happening.

You could check the tools settings in the CanTool hook.
Although I do agree there should be an easier way to restrict models to the models shown in the tool menu or similar.

The console commands were added so people could use models that weren't in the tool menu, ie maybe they didn't have the model or wanted a custom one to fit their build.
To me the best way to fix this would be to add a console command to turn off the ability to use custom models. Maybe have a whitelist/blacklist or something along the sorts, though I feel like any more would be too complicated.

pretty sure you can do the same with the default gmod tools, so until
that's fixed there would be little point in fixing it in wiremod, since the
people who abuse this will simply use the default tools instead.
On Wed, Jan 13, 2016 at 2:42 AM, bigdogmat<EMAIL_ADDRESS>wrote:

The console commands were added so people could use models that weren't in
the tool menu, ie maybe they didn't have the model or wanted a custom one
to fit their build.
To me the best way to fix this would be to add a console command to turn
off the ability to use custom models. Maybe have a whitelist/blacklist or
something along the sorts, though I feel like any more would be too
complicated.
—
Reply to this email directly or view it on GitHub
https://github.com/wiremod/wire/issues/1080#issuecomment-171125779.

True, but the default tools issue can be mitigated. at the moment there is no way to mitigated it with wire without removal and that is not ideal

True, but the default tools issue can be mitigated

How so?

Most are just disabled, the rest are modified and renamed, We have modded the current tools we even allow to have a whitelist only. we would do it for wire but the codebase is kinda large

I get where you're coming from, though it's you that modified the default tools and so you could do the same with the wire tools, doesn't matter if the codebase is large or not. It shouldn't be the job of wire to confirm to the standard just because one person wants it. At least in my opinion
An idea for a whitelist would fix the issue easily, though I see it as just an improvement that isn't really needed but would be neat to have.
You could try something like what @MStruntze proposed if you're worried about how big the codebase is for wire.

I had mostly suggested this change due to the fact we have caught a many of users abusing the exploit to crash our servers, We have had to disable wiremod and most tools until this can be mitigated.

jrwr just fork wiremod and rebase your fork whenever we update.
Make sure your changes are minimal in order to make those rebases easier.
For instance, instead of removing a function, put "do return end" at the top

It would be much cleaner to handle this in one place in the code. If it's not possible to do it via CanTool hooks, then I'd be happy with adding a CanModel hook, to go alongside CanDrive, CanProperty and CanTool. Could we get away with just adding it to WireLib.MakeWireEnt?

Is there a way to check if the model is a crashy one? Or is having a
massive manually written blacklist/whitelist the only way?
On Fri, Jan 15, 2016 at 12:51 PM, Abigail<EMAIL_ADDRESS>wrote:

It would be much cleaner to handle this in one place in the code. If it's
not possible to do it via CanTool hooks, then I'd be happy with adding a
CanModel hook, to go alongside CanDrive, CanProperty and CanTool. Could
we get away with just adding it to WireLib.MakeWireEnt?
—
Reply to this email directly or view it on GitHub
https://github.com/wiremod/wire/issues/1080#issuecomment-171942258.

I think the factors that cause a model to be crashy are its size and the materials it uses. (Theoretically a very complex model could also cause issues but I don't that's the case with any of the ones people are exploiting.)
There's util.GetModelInfo, but I don't know what info it actually returns. There's also IsUselessModel which can be used as the starting point for a blacklist, but isn't complete.

Instead of implementing a general blacklist/whitelist for wiremod entities, a simple solution wouls be to restrict the individual tool to the models already shown in the model selector in most tools. A similar thing was done with the standard material tool a while ago.

That would break builds people have made using custom models.

Indeed it would, but isn't that up to the server owner to decide?

we can't (expect the server owner to) put all the acceptable models into the GUI.
That's madness

@AbigailBuccaneer Maybe we could automatically whitelist every model already on the map? that way if you need a specific model, you can whitelist it by spawning it through gmod.
In addition to that, we could whitelist the list from the GUI and whatever combination of GetModelInfo flags have been proven safe.

@TomyLobo I'd rather add a dedicated CanModel hook, so prop protection can handle this however it wants to. Then they can come up with cool ideas for whitelisting.

Good plan.


Delete Promotion

Given [some context]
When [certain action is taken]
Then [the outcome of action is observed]

As a Marketing Manager
I need To delete a promotion
So that I can remove promotions that are no longer applicable
Details and Assumptions
-I know how to list a promotion
-Have access to viewing all promotions
Acceptance Criteria
Given I have a place to list a promotion
When I list a promotion
Then I am able to view and manage all promotions


Error sending notification if Action exist

Hi,
If i create a notification without Action, works fine. I would like to try Actions (Documentation not clear for me🤷🏻♂)
If i check Enable Actions, and fill the form as you descirbed in Example.json, i got an error message:
[NotifyEvents] Error: Send message fail with message "Cannot read properties of undefined (reading 'name')”
The config:
"platform": "NotifyEvents",
"action": {
"enabled": true,
"listen": "<IP_ADDRESS>",
"port": 53535,
"host": "my ddns host name",
"path": "/"
},
"channels": [
{
"title": "My.Notify.Events",
"token": "XXXXXXXXXXXXXXX",
"messages": [
{
"name": "Notify test",
"title": "Sleep",
"text": "Go to sleep!",
"priority": "normal",
"level": "info",
"images": [],
"files": [],
"actions": [
{
"name": "Sleep",
"title": "Click Me"
}
]
}
]
}
]
I tried to roll back to prev version.
Node.js:  v16.15.0
Config UI: 4.50.0
Notify.events: 1.3.1
Please help me, what can i do.

Thank you for your message. By an absurd coincidence, the core library was published with incorrect code. We fixed this issue and updated the dependencies. In version 1.3.2 everything should be fine. Thank you.

Hi,
I tested, and works fine!
Thank you!


bpf: minor improvements to XDP punt with XFER_PKT_NO_SVC

Just two small improvements to the XFER_PKT_NO_SVC processing:

move its processing into the from-netdev code block that deals with punted packets,
add a missing XFER_PKT_NO_SVC for non-SVC traffic

/test


[NO MERGE] Test code owners

Description of Issue (if Applicable)
Fixes #your_issue_number_here
What Changes Were Made?
How Was This Tested?
Please provide any screenshots if applicable.
Anything Else We Should Know

It works


Customer Clustering

💥 Proposal
I would like to make a model that could classify the customers into different groups.
the dataset i would like to use is:-https://www.kaggle.com/datasets/dev0914sharma/customer-clustering
@khusheekapoor
I am a GSSOC'23 contributor ,i want to do this issue ,
so kindly please assign me the issue

💥 Proposal
I would like to make a model that could classify the customers into different groups.
the dataset i would like to use is:-https://www.kaggle.com/datasets/dev0914sharma/customer-clustering
@khusheekapoor
I am a GSSOC'23 contributor ,i want to do this issue ,
so kindly please assign me the issue
@khusheekapoor

Proposal
@khusheekapoor ma'am, I am a GSSOC'23 contributor and would like to work on this project.
I would like to create a predictive model that would suggest to the company which group of customers(based on their shopping habits) should most likely be targeted for maximizing profit.
Link to the dataset that I would be using: https://www.kaggle.com/datasets/imakash3011/customer-personality-analysis
Kindly assign me this issue
Looking forward to contributing

@lcs2022026 please tell us which machine learning model you will be using. Thanks :)

@theyashwanthsai
i will use K-means clustering

@lcs2022026 - you can go ahead! We are assigning you 21 days for this project, after which it will be assigned to someone else if not completed. All the best!
Name the file as: algorithm_dataset.ipynb and link it in the readme of the labeled directory as algorithm - dataset.

hi I want to work on this issue


Is not compatible with Nova v4.19

Hello
Version 4.2.2 needs nova-kit/nova-packages-tool: "^1.0.1", with is compatible only with laravel/nova: >=4.15.0 <4.19.0

Fixed in new version of nova-kit/nova-packages-tool


Raspberry pi support for XR

I know its a bit of weird request but considering that godot is most popular foss game engine and raspberry pi is the most stable and popular arm sbc, one could imagine that using some sort of stereoscopic rendering on demand and openXR binding for imu for 3dof tracking one could achieve fully open sourced XR headset.

Yes there is, you have two options:

use the native mobile driver that allows you to set basic settings like k1 and k2 for lens distortion and measurements for the screen and distance to you eyes as well as does a mediocre job at processing accelerator and gyro data for 3DOF head movement:
https://docs.godotengine.org/en/stable/classes/class_mobilevrinterface.html

take the ARVR plugin reference implementation which just does the stereoscopic side by side rendering and leaves it up to you to implement the rest:
https://github.com/BastiaanOlij/ARVRSimple/

Thanks, definitely good spot to start.

My Wolfenstein 3-D remake would be the sort of thing that you'd likely be able to run on such a system because of its simple graphics, except that it needs controllers.

Well for most part my personal favorite gamepad is ps4 , it even has a IMU and simple blob tracking


Water depletes extremely quickly.

it was probably only 5-10 minutes into the game with this, and I end up taking damage from lack of water. Pretty sure it can take maybe 30-40 minutes to completely deplete food on normal?
Also end up dead from it on normal difficulty, should at least bring me down to half a heart or slightly more considering how fast it depletes

Thanks for your advise!
I'll let foods can increase water in the next version and improve the damage system.
I'm sorry for bad game experiment!


Fix config Log examples

Please, resolve the lint problems. I suggest update your branch.

Well then the lint errors are on master? Because my changes don't change any of the files that fail for the linter

Yes @Kiina, you need merge the develop upstream branch inside your Pull Request branch.

I had to revert this PR since I found out this was going to the master branch afterwards. Please only send your PR's to the develop branch. Thanks!


Test/Noop mode

When setting up destructive apps, I would prefer to run it in noop mode first to see what it plans to destroy.

When setting up destructive apps, I would prefer to run it in noop mode first to see what it plans to destroy.

Hi @disconn3ct 👋
Thank you for reaching out.
I'll implement this, expecting it to be ready this Friday.
Keep an eye out for any updates regarding this issue - I'd greatly appreciate it if you could give me feedback once implemented.
Cheers,
^ Thijmen

Hi again @disconn3ct,
Just wanted to let you know that this feature will be pushed back a day, due to the lack of time tomorrow.
I'll keep you posted.
^ Thijmen

Don't rush for me. I can wait.

Hi @disconn3ct 👋🏻
Good news - your feature request has been implemented 🎉
It's currently in the edge branch, I'll do some testing first before giving the 🟢 green light for release.
You could, if you want try it out already, or wait a few days before it's being released (you'll be notified here, once it does).
You can try it out by changing the image:tag to edge and by adding the environment variable DRY_RUN like so:
services:
  radarr:
    image: ghcr.io/thijmengthn/swaparr:edge <-- (( image:tag ))
    container_name: swaparr-radarr
    restart: unless-stopped
    environment:
      - BASEURL=http://<IP_ADDRESS>:7878 # IP or FQDN           (Required)
      - APIKEY=7f3a8..cbc07           # Sonarr API Key       (Required)
      - PLATFORM=radarr               # "radarr" or "sonarr" (Optional) default: radarr
      - MAX_STRIKES=3                 # Positive number      (Optional) default: 3
      - SCAN_INTERVAL=10m             # 1d, 6h, 30m, etc..   (Optional) default: 10m
      - MAX_DOWNLOAD_TIME=2h          # 1d, 6h, 30m, etc..   (Optional) default: 2h
      - IGNORE_ABOVE_SIZE=25GB        # 1TB, 1GB, 1MB, etc.. (Optional) default: 25GB
      - REMOVE_FROM_CLIENT=true       # Boolean              (Optional) default: true
      - DRY_RUN=true                  # Boolean              (Optional) default: false
          ^-- (( new variable ))

Screenshots

Let me know what you think 😄
Cheers,
^ Thijmen


IterableAssert should override isSameAs and isNotSameAs to unroll the actual instance.

Summary
IterableAssert  does not override the methods to unroll the actual instance.
Real life use case or example
@Test
public void testIterator() {
    Iterator<String> iterator = new ArrayList<String>().iterator();
    assertThat(iterator).isSameAs(iterator);
}

leads to:
java.lang.AssertionError:
Expecting:
java.util.ArrayList$Itr@a4300e
and actual:
<[]>
to refer to the same object
at TestIterator.testIterator(TestIterator.java:xx)
Java 8 specific ?
NO
The PR addressing this issue if any must be based on the master if the issue Java 8 specific, use otherwise the 2.x branch.

Good catch, the lazy iterator "ugly" stuff sometimes bites us.

I have created a pull request with a fix and tests.


Issue with Github actions

Thanks to your previous help I got the ogImage working locally, but when I pushed the changes to git, a github action runs and compiles everything and then copies the results over to my server. When this process happened with the ogImage content, it threw an error. Is it related to it not being able to find the template?
[11ty] 1. Having trouble writing to "html/books/index.html" from "./src/books/books.11ty.js" (via EleventyTemplateError)
[11ty] 2. (./src/_includes/books.njk)
[11ty]   Template render error: (/github/workspace/src/_includes/header-books.njk)
[11ty]   EleventyShortcodeError: Error with Nunjucks shortcode `ogImage` (via Template render error)
[11ty] 3. Cannot read properties of undefined (reading 'includes') (via Template render error)
[11ty]
[11ty] Original error stack trace: TypeError: Cannot read properties of undefined (reading 'includes')
[11ty]     at new TemplateRender (/github/workspace/node_modules/@11ty/eleventy/src/TemplateRender.js:29:73)
[11ty]     at compileFile (/github/workspace/node_modules/@11ty/eleventy/src/Plugins/RenderPlugin.js:66:12)
[11ty]     at renderOgImage (/github/workspace/node_modules/eleventy-plugin-og-image/src/renderOgImage.js:24:31)
[11ty]     at Object.ogImage (/github/workspace/node_modules/eleventy-plugin-og-image/.eleventy.js:56:40)
[11ty]     at Object.<anonymous> (/usr/local/lib/node_modules/@11ty/eleventy/src/BenchmarkGroup.js:32:26)
[11ty]     at ShortcodeFunction.run (/usr/local/lib/node_modules/@11ty/eleventy/src/Engines/Nunjucks.js:200:14)
[11ty]     at Template.root [as rootRenderFunc] (eval at _compile (/usr/local/lib/node_modules/@11ty/eleventy/node_modules/nunjucks/src/environment.js:527:18), <anonymous>:12:35)
[11ty]     at Template.render (/usr/local/lib/node_modules/@11ty/eleventy/node_modules/nunjucks/src/environment.js:454:10)
[11ty]     at eval (eval at _compile (/usr/local/lib/node_modules/@11ty/eleventy/node_modules/nunjucks/src/environment.js:527:18), <anonymous>:18:10)
[11ty]     at fn (/usr/local/lib/node_modules/@11ty/eleventy/node_modules/a-sync-waterfall/index.js:26:24)

Hard to tell without seeing more of the project. Is it public on GitHub?

I have made the repo public, thank you so much for your help with this.
https://github.com/phoopee3/blog
In the src/_includes folde are the layouts for the site, there is the books.njk layout which calls the header-books.njk header that has the reference to ogImage in it.  ogImage uses the template file in the same directory, named og-book.og.njk.
Again, this worked successfully locally, but not with the github action build.

Will have a look later today! Did it work locally with the build command or only serve?

That's a great question, I only tried it with serve, I will try it with build locally and see what happens.

Yes, the build locally worked successfully.

I tried moving the template to a different folder, so it's now in src/og-templates instead of _includes, but it's the same error during the build on github actions

I've checked out your project and it also builds successfully on my machine. I think there are multiple problems in your GitHub actions setup and there might be a differnent 11ty version installed on CI than locally. First, please run npm install locally and commit the package-lock.json, I see a lot of changes when installing locally. I would recommend against using the  eleventy action as it hasn't been updated in two years. A simple action would be:
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'
      - run: npm ci
      - run: npm run build

I will try this all and I appreciate your assistance!


Feature request: Modify index.html in flight

Hello,
first of all, I wanted to thank you for making this package. In the past, I spent countless hours wiring Express and Vite together and this is 100x better than what I got.
I have a use case where I need to replace a placeholder set in index.html with user-specific data. This happens after authentication middleware.
To illustrate:
My src/index.html looks like this:
<!DOCTYPE html>

    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + React + TS</title>

I'd like to replace  with dynamically set userId like that:

Is this something that could be added? I would be happy to sponsor this feature.

Figured it out on my own :)

Hi @patryk-smc, sorry for late response. I think it is a great idea and it also solved problem described in #56. If you are still interested you can check out my idea that I've described in that issue, if not I'd be happy to se your solution to the problem.
Thanks for you input, and again, sorry for such a delay in response.


fix: fixed modal box shadow above page content

Ticket: https://openedx.atlassian.net/browse/TNL-8405
Issue: The issue was in the modal component in which the box-shadow was appearing under the child component.  The issue is fixed by passing negative z-index position-relative in the div just above children.

Coverage remained the same at 90.253% when pulling 8d2d6d3bc4868550d447010426a73c9a1870185d on fix/modal-shadow into 6f8f0c0c70cd72c5ea07796f5b780dfffe1eeb30 on master.

I just discovered an issue in testing: It looks like by moving the z-index lower we have made the modal body content non-interactive. I'm not sure if this strategy will work for us...

@awaisdar001 fyi you can see the deploy preview here:

I don't know how these changes are going to affect the UI, can you add before/after pictures? also link the paragon docs?

@awaisdar001
https://deploy-preview-757--paragon-edx.netlify.app/components/stepper/
we have this link in PR deploy from where we can see details I have attached it for you. I am updating description as well.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix some pep8 warning/error

Hi @Ape, not exactly as you can see in new-style-and-classic-classes

Ohh, I missed that. But it works with python 2.7.x too.


multiple aggregate

hi dear
i want to sum  or another calculate more than one item(column)

hi there, is this feature in plan?

This feature would be really nice.


Fix typo in wiki/ssl.md

Type: documentation
The following has been addressed in the PR:
Description: Fixed a typo in wiki/ssl.md

@kingjan1999 thanks 👍  !


Databases Connection

WordPress is not connection db port:13306 or 3306 by default.

There's very less details here, but if you want to use this boilerplate with wordpress, you must configure the following database credentials in your WordPress:
define('DB_NAME', 'database');
define('DB_USER', 'dev');
define('DB_PASSWORD', 'dev');
define('DB_HOST', 'mysql:3306');


add notary mined special block validation support

add notary mined block validation support to allow easy mined block for eligible notary pubkeys according to dPoW protocol

More info: check if NN pubkey valid for the current season

added NN pubkeys and getting season:
see combined branch 5b38f20ac625b7ff1c700d90bad2d3578931531e

see main repo


oscelt is giving incorrect results

The function oscelt determines the set of osculating conic orbital elements that corresponds
to the state (position, velocity) of a body at some epoch. Here are the cspyce inputs and returns:
    Inputs:
      float[6] state = State of body at epoch of elements.
      float    et    = Epoch of elements.
      float    mu    = Gravitational parameter (GM) of primary body.

    Returns:
      float[8] elts  = Equivalent conic elements.

These values agree with their CSPICE counterpart.
Currently this function is failing due to a mismatch of values. Here is the unit test:
import cspyce as cs
import numpy.testing as npt

from gettestkernels import CoreKernels

cs.furnsh(CoreKernels.testMetaKernel)
et = cs.str2et("Dec 25, 2007")
state, ltime = cs.spkezr("Moon", et, "J2000", "LT+S", "EARTH")
mass_earth = cs.bodvrd("EARTH", "GM")
elts = cs.oscelt(state, et, mass_earth[0])
expected = [
    3.65914105273643566761e05,
    4.23931145731340453494e05,
    4.87177926278510253777e-01,
    6.18584206992959551030e00,
    1.88544634402406319218e00,
    1.86769787246217056236e04,
    2.51812865183709204197e08,
    1.00000000000000000000e00,
]
npt.assert_array_almost_equal(list(elts), expected, decimal=4)

The current output values are:
[360975
0.0781035
0.487178
6.18584
1.28679
0.553313
2.51813e+08
398600]

This is a bug in SpiceyPy that I have just reported.
https://github.com/AndrewAnnex/SpiceyPy/issues/468
The values we have are correct.
expected = [
    3.60975119168868346605e+05,
    7.81035176779166367966e-02,
    4.87177926278510309288e-01,
    6.18584206992959551030e+00,
    1.28678805411666807856e+00,
    5.53312778515375192079e-01,
    2.51812865183709204197e+08,
    3.98600435436095925979e+05
 ]


[HELP] cmake error: can't find openssl

I am trying to run
cmake -DCMAKE_TOOLCHAIN_FILE=/opt/android-ndk/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64 .
and I get this error:

CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
OPENSSL_INCLUDE_DIR SSL Crypto)
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.22/Modules/FindOpenSSL.cmake:574 (find_package_handle_standard_args)
Webserver/CMakeLists.txt:6 (find_package)

any ideas on where openssl root folder could be?

The openssl root folder is the folder where you cloned and built the openssl repository.
You have to build openssl ( 3.x.x ) and Protobuf for android.
This repository has a github action workflow which successfully builds this mod incl. dependencies.
This program might allow you to run the workflow locally, however I never tried it myself.
This repository wasn't meant to be public visible and isn't worked on anymore, parts might be later merged into libc-shim

sorry for the late reply, I had exams irl. I downloaded the latest appimage and it works now, I think the issue might be from the package on AUR.


Fix windows build on master

This pull fixes the build on Windows.

I'm going to cancel this. The fix is unwieldly and not well thought out.


insured value in UPS provider

I am passing in a value of 150 for the insuredValue parameter in the packages.Add method. If I use the  shipping calculator at UPS Shipping Calculator there is a $2.70 declared value fee added to the total. The shipment rate I get back after calling the GetRates method is exactly $2.70 less. It appears adding the isurance cost to the total has not been implemented. Is my assumption correct?

UPS now properly handles package insured value. If you are still having issues with it please post a sample package.


Box2DCollisionObject _world_step virtual function for Box2DWorld step dependent logic

Creating a separate issue following discussion in #57

This feature would consist of a virtual function in Box2DCollisionObject named _world_step or _world_stepped (exact naming TBD) that is functionally very similar to RigidBody2D._integrate_forces.
In each step, Box2DCollisionObjects will add the virtual function callback to a queue (if function is implemented) to be processed at the end of Box2DWorld.step. (In a multithreaded implementation: at the start of step, sync the physics thread then flush the queue.)
This is to allow projects to write world-step-dependent scripts that will always be called after every physics step, even with manual stepping.

In documentation (that will one day exist), it should be noted that using AnimationPlayer to control physics motion (and any other physics step dependent Godot features) should be manually tied to this function.
You can set AnimationPlayer.playback_process_mode to manual, then animate with AnimationPlayer.advance(step).

In documentation (that will one day exist), it should be noted that using AnimationPlayer to control physics motion (and any other physics step dependent Godot features) should be manually tied to this function.
You can set AnimationPlayer.playback_process_mode to manual, then animate with AnimationPlayer.advance(step).


Incorrect purchase_date field causing 500 errors for attendee view

The attendee view allows ordering by purchase_date, but that field doesn't exist and hasn't for a while. As a result, it causes inescapable 500 errors for organizers that select this option.

Initial analysis was incorrect. The issue is that purchase_date is an annotated field and only gets added rn if that field is also selected for display.


Unable to install GHC 8.6.3 in Alpine 3.9

Tried to run ghcup in an Alpine 3.9 docker container and it failed with ghc-cabal: not found
To Reproduce
Steps to reproduce the behavior:

docker run -it alpine:3.9 sh
apk add curl xz perl build-base
curl https://raw.githubusercontent.com/haskell/ghcup/master/bootstrap-haskell -sSf | sh

alpine-ghcup-8.6.3.log
System information
$ /root/.ghcup/bin/ghcup debug-info
Script version: 0.0.7

Script variables:
  GHC install location:     /root/.ghcup/ghc
  Binary install location:  /root/.ghcup/bin
  Tarball cache location:   /root/.ghcup/cache
  Downloader:               curl --fail -O <url>
  Script update url:        https://raw.githubusercontent.com/haskell/ghcup/master/ghcup
  GHC download baseurl:     https://downloads.haskell.org/~ghc
  Meta download url         https://raw.githubusercontent.com/haskell/ghcup/master/.download-urls
  Meta download format      1
  Meta version url          https://raw.githubusercontent.com/haskell/ghcup/master/.available-versions
  Meta version format       1

Detected system information:
  Architecture:   x86_64
  Distribution:   Alpine Linux
  Distro alias:   alpine
  Distro version: 3.9.2

Alpine support is not complete. There are no ghc alpine bindists, so the info message is a bit misleading. Run ghcup -v install and you will see it fetches the fedora bindist, which is the default.
https://github.com/haskell/ghcup/blob/master/.download-urls#L57
https://gitlab.haskell.org/ghc/ghc/issues/14502


dependencies: sesshim, bootbnf

where does one get these?
  const {def} = require('../../src/sesshim.js');
  const {bnf} = require('../../src/bootbnf.js');

Sorry for the confusion.
https://github.com/erights/quasiParserGenerator

here's all the relevant files zip'd up.
jessie.zip
also available as https://repl.it/@dckc/jessie-safe-mobile-code


Expand things like (x+y)^2

This would happen if:

the exponent is a positive integer
all cancelling out and most simplifications have already happened
the base of the exponent (e.g. x + y in this example) can't be simplified further

note that issue #36 discusses the opposite of this (x + x) * (x + x) => (x+x)^2 but contrastingly is a simplification we try early on and only happens if the "base" can be simplified further (e.g. x + x can be simplified to 2x)

I think there should be an extra condition that the expansion leads to a "simpler version". It seems this would be quite hard to model because the simplification might happen "10 steps ahead". For example, you might have some expression with a term like (x+y)^5. Expanding it might lead to a bunch of terms cancelling out and be left with something like such as 0. However, it might also lead to a very long expression which is everything but simpler than (x+y)^5. This is tricky :/

On the following website is a file named moses-simp.pdf that contains a paper titled "Algebraic Simplification a Guide for the Perplexed":
https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/simplification/
It describes the various ways simplification is typically used in a CAS, which may be helpful for this discussion.

We should probably also take into consider the context of the expression (x+y)^2.  If it's in an equation like (x+y)^2 = 0 then it makes more sense to square root both sides, e.g.
(x+y)^2 = 0
=> nthRoot((x+y)^2) = nthRoot(0)
=> x+y = 0
=> ...

Having some way to detect and perform steps that apply to equations will help with this situation and others to produce steps that are more like what a human would do.

agreed @kevinbarabash - I think we're gonna have to revamp the way equations work, to be a lot more smart about things. I wonder what the steps towards that are... read some papers? have a meeting on gitter where we brainstorm stuff?

@evykassirer, I think it would be useful to brainstorm about various ways mathsteps might be used in the future before determining how equations should work.

I'll be adding a timeline and doing a better job organizing over the next few days as part of the wiki effort and that will give us something we can discuss around

I think this should be done within the context of the problem. So in simplifications, it should expand, and in the case of solving an equation, and the variable being solved for is in the root, then we square both sides. Seems like a decent first approach at this problem.


bottom: command not found

Describe the bug
Bottom, the htop alternative does not start after it is installed (I tried rebooting as well).
Steps To Reproduce
Steps to reproduce the behavior:
nix-shell -p bottom
bottom
For me it yields:
bottom: command not found
Expected behavior
Bottom is  run (the beautiful htop alternative)

Ok, closing, it's called bottom in ubuntu, but it seems to be called with btm on Nix (see under "Programs provided")
Apologies.


modified log output

Codecov Report

Merging #403 into master will decrease coverage by -0.08%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #403      +/-   ##
==========================================
- Coverage   43.06%   42.99%   -0.08%
==========================================
  Files          21       21
  Lines       10813    10813
==========================================
- Hits         4657     4649       -8
- Misses       4951     4971      +20
+ Partials     1205     1193      -12

Continue to review full report at Codecov.

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


No tiling on roughness

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
have made several materials  - all with roughness
but tiling applied to roughness wont be exported!
heres my initial Blen Material Setup

Expected behavior
Albedo and Normal are tiled.
In my logic Roughness should also be tiled 10x - but it isnt...
even if i make a separate node for the roughness it wont work

Screenshots
.blend file/ .gltf
roughnesTilingIssue.zip
Version

OS: doesnt matter...
Blender Version 2.80

@Gutz-Pilz You didn't provide the texture images. Can you please packed them into blend file or zip them and upload here? Thanks

@julienduroure my bad
roughnesTilingIssue.zip


Added post for workshop registration

...schedule will follow shortly in another post. Thanks!

Hi Cliff, sorry for not pulling in your PR yet. I changed emails with Joy and suggested to set up a dedicated email address<EMAIL_ADDRESS>which I would then forward to you, Joy and myself, so that people in charge will receive it. Could you update the PR accordingly? I also think that we're so close to the weekend that people won't be receptive to the annoucement anymore. Wouldn't it make more sense to get this out first thing on Monday?

Hi Jo, Thanks for our conversation just now. I've updated the email address and release date for Tuesday. After we reach final consensus on the schedule, I'll add that information to the post too. Thanks!

Hi Cliff, Thanks from my side as well! I just set up the mail address, but that requires Joy and you to confirm that you're willing to receive from there – you should have something in your inbox. Maybe you want to double-check your spam folder, just in case…

Thanks, Jo. I confirmed the email. I also checked with Joy and we are happy with the tentative schedule. As you see, I've added it to the post. If all looks good to you, I think the pull request is ready.

thank you very much!


Rules do not work with named exports

Hello, and thanks for the plugin.
I tried to these rules on my plugin today, but none of them seem to work, meaning that none of the rules are properly triggered.
I think this is because this plugin only looks for code matching export default foo or module.exports = foo.
My plugin does not use these and instead uses named exports. My plugin is a modern ESLint plugin written in TypeScript, and using default exports in TypeScript is considered an anti-pattern.
For example, here is what one of my rules looks like:
import { ESLintUtils } from "@typescript-eslint/utils";

const createRule = ESLintUtils.RuleCreator(
  (ruleName) =>
    `https://github.com/IsaacScript/isaacscript/blob/main/packages/eslint-plugin-isaacscript/docs/rules/${ruleName}.md`,
);

export type Options = [];
export type MessageIds = "noExplicitArray";

export const noExplicitArrayLoops = createRule<Options, MessageIds>({
  name: "no-explicit-array-loops",
  meta: {
    type: "problem",
    docs: {
      description: "Disallows explicit iteration for arrays",
      recommended: "recommended",
      requiresTypeChecking: true,
    },
    schema: [],
    messages: {
      noExplicitArray:
        'Explicit iteration over arrays is disallowed. (Get rid of the "Object.values()".)',
    },
    fixable: "code",
  },
  defaultOptions: [],
  create(context) {
    // Rule logic here.
  },
});

Thus, I propose that the "detect rule" logic of this plugin is updated in some way. If you can advise on what the correct solution is, I can submit a pull request, as I would love to use the rules that this project offers. Thank you.

Thanks for your interest in using and contributing to our plugin!
Here's why we don't support your setup yet:

While we support the ESLintUtils.RuleCreator helper when used directly, we don't yet support it when the function is stored in a variable. I would like to support this, but it would require additional static analysis (maybe our findVariableValue helper) to detect the variable and follow its usage, which can get a bit complicated, and we generally only bother with it for common use cases. PR welcome.
We currently only look for default-exported rules because:

At least in the traditional ESLint / CJS, default exports made it easier to just do 'foo-rule-name': require('foo-rule-name') when exporting the rule objects for ESLint, without having to deal with transforming between rule names and variable names. So my impression is that default exports were pretty universal. In ESM, this benefit isn't as relevant, so perhaps named exports are fair-game / more common now. I see you have a script to generate the import/export index of rules that accommodates named exports, which is cool.
Given the above assumption that almost everyone in the ESLint CJS world used default exports, ignoring named exports helped reduce false positives of detecting something that looked like a rule but wasn't.
So overall, it sounds like supporting named exports is a change we could make. We can always use heuristics like limiting this support to ESM/TypeScript or even to the presence of certain known rule helpers to minimize the chance of false positives.

Here you can see the logic for how we detect rules and test case for the various setups we support:
https://github.com/eslint-community/eslint-plugin-eslint-plugin/blob/c308547450f20a6aa4d80c058fa8568dd10a1f6c/lib/utils.js#L320
https://github.com/eslint-community/eslint-plugin-eslint-plugin/blob/c308547450f20a6aa4d80c058fa8568dd10a1f6c/tests/lib/utils.js#L13

@bmish Thanks for the reply. I took a look at I think this task is a little over my head. Can I request that someone from your core team implements this feature? I think it will be important for the ecosystem going forward, especially as more ESLint plugins switch to ESM & the new config format.

@Zamiell no worries, I'll take care of it.

@aladdin-add did you ever get around to this?
i use named exports in the various plugins i maintain, and have done for a long time now. so this plugin isn't of much use to me
if you don't have time, i can do the PR i'm sure. just let me know (although i'll probably go do it now anyway unless you already have one open)


Formats for arrays

Across various use cases for arrays, we find that in some situations the order is sensitive (for example, when the array functions as a vector, tuple, series, etc.), while in other situations the array functions as a set and is not order sensitive. The three formats proposed here are intended to cover all variants of array use cases.
Proposed formats
The base type for these formats is array.
set
A collection of unique, unordered items. The position of an item in the array is not significant.
Order need not be preserved in serialization, deserialization, compression, and transmission.
This format implies uniqueItems: true and is incompatible with uniqueItems: false.
multiset
A collection of unordered items allowing for duplicates. The position of an item in the array is not significant.
Order need not be preserved in serialization, deserialization, compression, and transmission.
This format implies uniqueItems: false and is incompatible with uniqueItems: true.
sequence
An ordered collection of items. The order is defined by each item's index in the array, and not by comparing the items' values.
Order must be preserved in serialization, deserialization, compression, and transmission.
This format is compatible with any value for uniqueItems.
Alternative names for this format were considered, but were deemed less suitable:

list: too vague and overloaded
series: in mathematics, a series is order insensitive
tuple, vector: these imply a fixed length

Notes
These formats do not alter the definition of item uniqueness, which comes from the JSON Schema definition of instance equality. Note that uniqueItems does not consider semantic equivalence. For example, date-time equivalency is not considered here:
ExampleTimes:
  type: array
  uniqueItems: true
  items:
    type: string
    format: date-time
  example:
    - '1996-12-19T16:39:57-08:00'
    - '1996-12-20T00:39:57Z'

The set and multiset formats are incompatible with conflicting uniqueItems values, as described above. Existing formats have similar incompatibilities. For example, string-based formats like date and email are incompatible with conflicting pattern values.
The multiset format is included for completeness. The data type it represents does not appear to be commonly used.
The sequence and set formats represent data types that are very common in real-world API use. For example, the Terraform types include:

list (or tuple): a sequence of values, like ["us-west-1a", "us-west-1c"]. Identify
elements in a list with consecutive whole numbers, starting with zero.
set: a collection of unique values that do not have any secondary identifiers or ordering.

Having the proposed formats enables Terraform providers to correctly make use of the above Terraform types.
Examples
set
Album:
  properties:
    name:
      type: string
    genres:
      type: array
      format: set
      items:
        type: string
      example: [jazz, rock]  # equivalent to [rock, jazz]

multiset
Survey:
  properties:
    question:
      type: string
      example: How often do you exercise?
    collected_responses:
      type: array
      format: multiset
      items:
        type: string
      example:
      - "Daily"
      - "Once or twice a week"
      - "Daily"
      - "Every month"
      example2:  # equivalent to the above example
      - "Daily"
      - "Daily"
      - "Every month"
      - "Once or twice a week"

sequence
NetworkConfiguration:
  properties:
    dns_servers:
      type: array
      uniqueItems: true
      format: sequence  # Order is significant. The first server will be queried first.
                        # The next server will be used only when the first server fails.
      items:
        type: string
        format: ipv4
      example:
      - <IP_ADDRESS>
      - <IP_ADDRESS>

Is the expectation that by adding these to the OpenAPI specification, all tools must implement all of them? That's quite a big impact and the benefits beyond what we already have in arrays isn't clear to me (yet).
I'd be interested to see examples of tools that already support this type of thing and how that's working out before we tried to make it official.

@lornajane Per https://spec.openapis.org/registry/format/, tools are not required to implement formats in the registry.

Would be a nice way to solve that long lasting issue : https://github.com/OAI/OpenAPI-Specification/issues/883
🤞

@HenryGessau your proposed sequence format is already covered by the prefixItems keyword available in OpenAPI 3.1.
Example from here:
# 2-element tuple; the 1st element is a number, the 2nd element is a string

type: array
prefixItems:

  # The 1st item
  - type: integer
    description: Description of the 1st item

  # The 2nd item
  - type: string
    description: Description of the 2nd item

  # Define the 3rd etc. items if needed
  # ...

# The total number of items in this tuple - in case it needs to be limited
minItems: 2
maxItems: 2
additionalItems: false   # can be omitted if `maxItems` is specified

🤔isn't more a requirement toward JsonSchema rather than OAS ?

@LasneF it has previously been on the TDC agenda to determine whether we should close JSON Schema-related requests (I am in favor of doing so), but we have never managed to make an actual decision on it.
It is actually part of our issue tracking the need to document issue closure criteria:

#3518


Clarify Copyright License

Hiiiii! <3
It appears this repository does not have any information on the source code and colors copyright or have any copies of copyright licenses. Soo, can I ask to have them available here?
The package.json file does contain the license MIT to be set, but given it's the default license set by NPM, I'm not sure if it's valid..

Hey! Thanks for bringing this to my attention. The rest of my stuff is under the MIT license, so I just took a license file from there. Thanks!

Aaa thank youu!!
I'm making my own theme based on Natsuki Light theme, so thank you soo much! <3


Calico-node pods being recreated every few seconds

Hello,
Thank you very much for Microk8s. It is an awesome project that I have been enjoying for several years now. However I am recently facing the following issue
Summary
I am experiencing a strange behavior with Calico v 3.25.1 running on a 4 node Microk8s v1.30 cluster. The calico-node pods of each node keep being terminated and recreated after at most 30 seconds
NAME                                       READY   STATUS     RESTARTS        AGE
calico-kube-controllers-749f88db4d-rctkf   1/1     Running    0               4h28m
calico-node-2fxmj                          0/1     Init:0/2   0               3s
calico-node-8p84q                          0/1     Init:0/2   0               2s
calico-node-bl6hq                          0/1     Init:1/2   0               3s
calico-node-g2gsx                          0/1     Running    0               7s

The nodes report network unavailability:
  Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----                 ------  -----------------                 ------------------                ------                       -------
  NetworkUnavailable   True    Thu, 30 May 2024 13:36:08 +0900   Thu, 30 May 2024 13:36:08 +0900   CalicoIsDown                 Calico is shutting down on this node
  MemoryPressure       False   Thu, 30 May 2024 13:33:10 +0900   Thu, 30 May 2024 02:36:59 +0900   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure         False   Thu, 30 May 2024 13:33:10 +0900   Thu, 30 May 2024 02:36:59 +0900   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure          False   Thu, 30 May 2024 13:33:10 +0900   Thu, 30 May 2024 02:36:59 +0900   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready                True    Thu, 30 May 2024 13:33:10 +0900   Thu, 30 May 2024 02:36:59 +0900   KubeletReady                 kubelet is posting ready status

Looking at the logs of the calico-node pods, for the short time they are running, does not reveal any immediately clear problem
What Should Happen Instead?
calico-node pods should be running continuously
Reproduction Steps
I had no such issues when using Microk8s v1.24. From there, my changes to the cluster include:

Incremental update Microk8s v1.24 to v1.30
Installing Longhorn v1.61
Adding <IP_ADDRESS>/16,<IP_ADDRESS>/24,*.svc,*.cluster.local to the NO_PROXY environment variable for Longhorn to work
Enabled hugepages on each node

Environment

Microk8s v1.30 (i.e. Kuberntes v1.30) with DNS addon enabled
4 node cluster composed of physical machines with Ubuntu 22.04
Calico version: 3.25.1

The cluster runs on-premise, behind a corporate proxy. Environment variables are set accordingly in /etc/environment of each node, as per recommended here
HTTP_PROXY=http://<IP_ADDRESS>:8118
HTTPS_PROXY=http://<IP_ADDRESS>:8118
NO_PROXY=localhost,<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>,november,haspc,20khaa520,24khaa344,<IP_ADDRESS>/16,<IP_ADDRESS>/24,*.svc,*.cluster.local

Similarily, containerd environment variables are set in /var/snap/microk8s/current/args/containerd-env:
HTTPS_PROXY=http://<IP_ADDRESS>:8118
NO_PROXY=<IP_ADDRESS>/16,<IP_ADDRESS>/24,<IP_ADDRESS>/12,<IP_ADDRESS>,localhost

Probably unrelated, but Longhorn v1.6.1 is installed in the cluster using Helm.
I've got a similar cluster, composed of AWS EC2s that dot not require proxy settings and have no problems there.
Introspection Report
inspection-report-20240530_151748.tar.gz
Note: Inspection outputs the following error, as per https://github.com/canonical/microk8s/issues/4361:
cp: cannot stat '/var/snap/microk8s/6876/var/kubernetes/backend/localnode.yaml': No such file or directory
Can you suggest a fix?
What I tried so far, unsuccessfully:

restarting the calico-node daemonset
restarting the calico-kube-controller deployment
restarting the nodes
updating calico as described here
Having each node leave and re-join the cluster fixed the problem for about a week but I am now experiencing the issue again

Are you interested in contributing with a fix?
I'm afraid I lack the technical knowledge to do so

I brought one node for maintenance today for maintenance today and the calico-node pods started running properly.
Bringing the node back up immediately triggered the recreation cycle mentioned in this issue.
I have no idea what makes this node special for the time being and also don't know if this would happen if any other node was taken down.

I found a deployment whose pod had been stuck pending state for a couple months.
Deleting it immediately solved the problems with calico-node pods.
As I didn't imagine those issues to be linked, I didn't check why the aforementioned pod was in pending state and am now unable to recreate the issue.
For anyone experiencing the same issue, check your pods and deal with any that is in pending state

I had a similar problem (calico pods restarting again and again) and solved the issue with the same fix : deleting all pods in the "pending" state.
Thank you for the hint @maximemoreillon !


Reference region cleanup

Resolves #1285 and #1286. The first two commits need to be squashed together.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/1637/
Test PASSed.

Ping @heuermh @jpdna for review.

Thanks for the comments @heuermh. I've rebased and pushed two commits addressing your comments. When this looks good to you, I'll squash commits 2–4 down into a single commit for merge.

Squashed down.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/1667/
Test PASSed.

Thank you, @fnothaft

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/1668/
Test PASSed.


frog-protocols: 0.01-unstable-2024-09-25 -> 0.01

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for frog-protocols is: Wayland protocols but much more iterative
meta.homepage for frog-protocols is: https://github.com/misyltoad/frog-protocols
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.01 with grep in /nix/store/z9lis1ai03cbwhqwx0qmm93iiqdmf088-frog-protocols-0.01
found 0.01 in filename of file in /nix/store/z9lis1ai03cbwhqwx0qmm93iiqdmf088-frog-protocols-0.01

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

frog-protocols

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/z9lis1ai03cbwhqwx0qmm93iiqdmf088-frog-protocols-0.01 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A frog-protocols https://github.com/r-ryantm/nixpkgs/archive/c9df161bde80fd451f65fc5c0b7ada77683a3290.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c9df161bde80fd451f65fc5c0b7ada77683a3290#frog-protocols

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/z9lis1ai03cbwhqwx0qmm93iiqdmf088-frog-protocols-0.01
ls -la /nix/store/z9lis1ai03cbwhqwx0qmm93iiqdmf088-frog-protocols-0.01/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

frog-protocols

Maintainer pings
cc @getchoo @Scrumplex for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Seems like upstream retroactively changed the tag for 0.1 :O

The source here still doesn't point to it, though. It actually seems the revision we're currently used was pulled from the history. See https://github.com/misyltoad/frog-protocols/commits/17be81da707722b4f907c5287def442351b219b0 and https://github.com/misyltoad/frog-protocols/commits/main

Superseded by https://github.com/NixOS/nixpkgs/pull/360609


Add an option to log remotely

Allow users to log these errors on their servers by sending the stacktrace via post request to desired URL.

This is now added.


editor: fix glyph margin links not working

The constructor was missing decorations, so _openingService was always undefined and links did not open.
Fixes #214786
cc @aiday-mar

Thanks for the fix!


Add auto-install system and pip packages

Proposed Changes
Porting the original functionality from the AppDaemon's docker image.
This change will consists of the following functionalities:

Auto-installing the system packages from the system_packages.txt, provided by the app.
Auto-installing the python packages from requirements.txt, provided by the app.
The above functionality will make app installation more straight-forward and unattended (no need to modify config, just checkout or copy files)
Creating the cache for ystem packages and pip packages in /share/appdaemon so AppDaemon addon will start faster and can start without internet connection.

There seem to be a bunch of unrelated changes in this PR.

../Frenck

Thank you for reviewing the PR. Actually, I've tried to cope with UTF-8 BOM with those commits.  Should've I squash them?
Though it seems github added package.json and config.yaml (not sure why, I've explicitly reverted them).
The only changes are :
mkdir -p /share/appdaemon/apk.cache
ln -s /share/appdaemon/apk.cache /etc/apk/cache
find /config/appdaemon -name system_packages.txt -type f -not -empty -exec cat {} \; -exec echo -n " " \; | tr -d '\xEF\xBB\xBF' | sed ':a;N;$!ba;s/\n/ /g' | xargs -n 1 -r -t apk add
mkdir -p /share/appdaemon/pip.cache
find /config/appdaemon -name requirements.txt -type f -not -empty -exec pip3 --cache-dir /share/appdaemon/pip.cache install --upgrade -r {} \;

It replicates this functionality : https://appdaemon.readthedocs.io/en/latest/DOCKER_TUTORIAL.html#runtime-dependencies
The short background :
I created bunch of AD plugins and going to create more. Some of them needs specific packages. Although they can be added through the HASS Plugin settings, this is not true CI/CD and pythonic way because it involves lot of manual operations and unable to automate through terraform or another automation systems like ansible, chief and so forth.
By using above functionality, there is no need to click through the settings during the install at all. The only step is to copy the AD plugin and that's all.

By using above functionality, there is no need to click through the settings during the install at all. The only step is to copy the AD plugin and that's all.

I guess this means you didn't read my previous answer.
Nevertheless, thanks for being willing to contribute.
../Frenck


Add state class so entities can qualify for long term statistics

Cool, thanks for the contribution! Can you please open an associated issue for this and describe the change, then link it to this PR?

Fixes #94


How do handle large reads (larger than MAX MTU)?

How would I go on about handling reading values that are larger than the maximum MTU from a characteristic? My characteristic just returns a value of "0" if I write a large string into it.

Please provide the following information:

Peripheral (server) device
Central (client) device
The length of string
Can you read the value of characteristic using android or iOS?

Peripheral: ESP32 S3
Central: Samsung Galaxy S8
3900 bytes
No.

My current WIP solution writes MTU - 3 bytes onto read‘s value inside the on_read callback, therefore sending the data in chunks.

My current WIP solution writes MTU - 3 bytes onto read‘s value inside the on_read callback, therefore sending the data in chunks.
Could you paste the code?

I checked the specifications, the maximum length of characteristic appears to be 512 bytes.
(3.2.9 of the specification)
I have checked communication from esp32 to esp32.
It was possible to read 800 bytes larger than the specification.
But when I increased the size to 1600 bytes, the connection was broken during the read.

Thanks.
You are dividing the data with a length of mtu() - 3.
But you don't need to consider the mtu size in on_write and on_read because the combination and division are handled on the nimble side.
※ If the data size exceeds mtu() - 3, on_write is called only once, but on_read is called multiple times.

Can you explain a bit further how this works? You say combination and division are handles on the nimble side, but how do I get the entire data in on_read and on_write?

A follow up question: Would it be possible to support GATT long writes (Prepare Write and Write Execute Events) and long reads (read Blob event). Do I even need this if I want to write and read large data? I would be willing to open a PR for this and I'm hoping you could give me a few pointers on where to start.

Through some research, I have learned that the bluetooth specification sets a maximum characteristic length of 512 bytes. So this is what my original Goal is and was with the code above. Reading and writing characteristics that are longer than that.

I found an answer at stack overflow.
https://stackoverflow.com/questions/41351913/best-approach-for-transfering-large-data-chunks-over-ble


Slots props are undefined while using both props destructuring and useSlots()

Version
3.2.13
Reproduction link
codesandbox.io
Steps to reproduce
Parent.vue
<template>
  <Demo v-slot="{ item }">

{{ item }}

  </Demo>
</template>

Child.vue
<template>
  <slot :item="111" />
</template>

What is expected?
Prop "item" should be usable (displays "111")
What is actually happening?
Props are undefined. Error Cannot destructure property 'item' of 'undefined' as it is undefined.

I have DataTable component where columns are defined in slot as DataTableColumn component for easy usage, like that:
<DataTable
  :data="someData"
  v-slot="slotProps"
>
  <DataTableColumn name="id">
    {{ slotProps.item.id }}
  </DataTableColumn>
  <DataTableColumn name="email">
    {{ slotProps.item.email }} {{ slotProps.item.something }} etc
  </DataTableColumn>
</DataTable>

I'm getting columns list thanks  to useSlots().default()
if (slots.default) {
  columns.value = slots.default()
    .filter((node) => node.props)
    .flatMap((node) => node.props)
}

current item (row) is passed as slot props to parent

  <slot :item="item" />

and it works great, I was using similar approach multiple times, also in vue 2.
Problem is that for some reason I cannot use object destructuring on slot props, like that:
<DataTable
  :data="someData"
  v-slot="{ item }"
>
  <DataTableColumn name="id">
    {{ item.id }}
  </DataTableColumn>
  <DataTableColumn name="email">
    {{ item.email }} {{ item.something }} etc
  </DataTableColumn>
</DataTable>

In console I'm getting
TypeError: Cannot destructure property 'item' of 'undefined' as it is undefined.
It's caused only by using default() in code. Why it is undefined while firing default(), even in onMounted()?
So why is default() working alone, and { item } is working alone, but not both combined? For me it's bug, but maybe I'm wrong and someone will clarify this.

You need to pass the relevant information to the slot, in this case item:
useSlots().default({ item })

You need to pass the relevant information to the slot, in this case item:
useSlots().default({ item })

default({}) is working just fine, thanks!


d3plus  radar graph ticks doesn't show

Hello! I have tried to create a radar type graph with d3plus version 2.0 but the ticks on the axes do not appear.
I appreciate your help @davelandry @alexandersimoes
this is a test graph:
https://jsfiddle.net/haucvzLb/1/

@davelandry @alexandersimoes

This is an example of how I would like the values on the axes:

is there any new over this?

@drvillamizar @vlasvlasvlas love this idea, could be a really nice enhancement. It was never the intended behavior to show ticks like this (on one of the vertical axes), so it will require a little bit of internal logic change to get it working as desired.


Define a plugin packaging and installation strategy

Define and implement how a separate plugin can/should be delivered to a installation of the aqueduct.
Take into account:

Probably, installation is a docker container.
Uploading via UI will require to create additional frontend screen.
Uploading via pyaqueduct is simpler.

I believe that installation probably doesn't need frontend, at least for now. On the whole I'm happy to differentiate "admin tasks" such as import/export, installing/removing plugins, etc. as taking place without the frontend. Anything that touches most users should probably have a frontend though - so a list of available plugins somewhere in the frontend settings might be good (even if removal/addition not supported from there, we could add a text note that shows how to remove/add).


Added support for single channel inputs for CoreAudio

Don't merge yet :)

Yeah, I just want to confirm, because think it's doing it, the part of the code responsible for copying the microphone input to the buffer, even if there's only one channel of audio coming through, it needs to make sure that it is always converted to two channels, since that's what the stream expects.

Just updated it, I don't have a single mic device but code should be good.

@marcelofg55 Unfortunately I can't test this, but it still doesn't look like it's correctly handling single channel audio. Go look at my code in the WASAPI driver to see how it's set up. It has special case handling for single channel audio where it converts it into stereo audio, which is what the AudioStreamMicrophone is trying to parse.

Did you check the last update I made?
		for (int i = 0; i < inNumberFrames * ad->capture_channels; i++) {
			int32_t sample = ad->input_buf[i] << 16;
			ad->_input_write_sample(sample);

			if (ad->capture_channels == 1) {
				// In case input device is single channel convert it to Stereo
				ad->_input_write_sample(sample);
			}
		}

In case its only one channel it will write the right channel with the same data.

@marcelofg55 Oh sorry, I didn't see that, my bad. Do you want me to merge now then?

Yes please, I'm going to work on the PulseAudio now.


[KED-2839] Remove section numbering from docs

Description

Every time we want to insert a new section to the docs that causes a re-numbering, it will make the PR with doc changes huge and potentially break lots of links from external sources referencing our docs.
We should remove this numbering to avoid maintaining a large list of redirects.
https://jira.quantumblack.com/browse/KED-2839
Development notes

Checklist

[x] Read the contributing guidelines
[x] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[ ] Added a description of this change in the RELEASE.md file
[ ] Added tests to cover my changes

Also curious, @lorenabalan should be adding lots of redirects to the RTD configuration for this?

This is heroic work! ⭐
I'm a bit confused by why we need to have all those links added to linkcheck_ignore though.? So long as we're using relative links to .md rather than absolute links to the .html page then I think the link checker should work ok? And it looked to me like as well as removing the numbers you were also changing the links in that way (which I think is a great thing to do).

I made all the links in our docs relative paths but everything outside of docs such as README.md, RELEASE.md and a few others use the full URL to the .html pages.

I made all the links in our docs relative paths but everything outside of docs such as README.md, RELEASE.md and a few others use the full URL to the .html pages.

Hmm, linkcheck should only be checking in docs. I'd expect there to be a few links to .html pages still there (mainly from docstrings) but it seems like a very long list. Not a biggy, just wondering.
I think you missed a few absolute paths that should also be made relative 🙂
contribution/documentation_contributor_guidelines.md:This is the style guide we have used to create [documentation about Kedro](https://kedro.readthedocs.io/en/stable/).
contribution/documentation_contributor_guidelines.md:Learn how to [update the project pipeline](https://kedro.readthedocs.io/en/stable/tutorial/create_pipelines.html#update-the-project-pipeline)
contribution/documentation_contributor_guidelines.md:Learn how to update the [project pipeline](https://kedro.readthedocs.io/en/stable/tutorial/create_pipelines.html#update-the-project-pipeline)
contribution/documentation_contributor_guidelines.md:To learn how to update the project pipeline, see [here](https://kedro.readthedocs.io/en/stable/tutorial/create_pipelines.html#update-the-project-pipeline)
deployment/aws_sagemaker.md:Now you need to tell Kedro to use the [`TemplatedConfigLoader`](https://kedro.readthedocs.io/en/stable/kedro.config.TemplatedConfigLoader.html) instead of the default `ConfigLoader` class to read the project configuration. It is very easy to do via `settings.py` file - open `src/kedro_tutorial/settings.py` file and set the `CONFIG_LOADER_CLASS` constant:

Also curious, @lorenabalan should we be adding lots of redirects to the RTD configuration for this?

Unfortunately yes. 😭  And there's no way (that I could find at least) to do it bulk, although there is an open issue on readthedocs.


Add blockpage and middlebox fingerprints for DE

Blockpage and middlebox fingerprints for Germany.
Example measurements:
https://explorer.ooni.io/measurement/20180312T143953Z_AS3320_Kumlzdy0NSKyLoB0bt9PHKXp4OKItFMuYqMCw4ouQJapQFVUNR?input=http:%2F%2Fwww.hackhull.com
https://explorer.ooni.io/measurement/20170506T130315Z_AS47610_cpNzdaQAx60UxJxEdXh54qBxxEKLexnoPdNam8KDJ181yCbZir?input=http:%2F%2Fspys.ru
tag: Cisco-WSA/5.0.0, Cisco-WSA/10.1.1-230

Another one.
Example measurement:
https://explorer.ooni.io/measurement/20190113T190405Z_AS60068_P7XDllvakD4djyFssTl9xVyVJI5bxSVl6mCxsGFsPLd94ohP8U?input=http:%2F%2Foccupystreams.org
tag: blocked.netalerts.io

Thanks! Added to #289


Link to some authoritative references at the top of the README

https://wiki.whatwg.org/wiki/MetaExtensions is one.

PRs are open now!


Relax stub include version checking.

Remove upper bound on version check for latest inc files.
Attn: @sanjoy

@nluehr Can you please check @sanjoy's comments and keep us posted. Thanks!

@nluehr Can you please fix build failures ? Thanks!

Build failures appear to be un-related to this PR. Rebased to a later point on master branch and builds seem to be OK.


Warning: Failed prop type: minWidth larger than item width/maxWidth

I'm using "react-grid-layout": "^1.2.2", and I get a console warning
Warning: Failed prop type: minWidth larger than item width/maxWidth
in GridItem (created by ReactGridLayout)
in ReactGridLayout (created by ResponsiveReactGridLayout)
in ResponsiveReactGridLayout (created by WidthProvider)
in WidthProvider (at App.js:97)
in div (at App.js:87)
in Router (created by BrowserRouter)
in BrowserRouter (at App.js:86)
in div (at SignalRConnector.js:46)
in Unknown (at App.js:85)
in Provider (at App.js:84)
in App (at src/index.js:13)
in StrictMode (at src/index.js:11)
index.js:1
Warning: Failed prop type: minHeight larger than item height/maxHeight
in GridItem (created by ReactGridLayout)
in ReactGridLayout (created by ResponsiveReactGridLayout)
in ResponsiveReactGridLayout (created by WidthProvider)
in WidthProvider (at App.js:97)
in div (at App.js:87)
in Router (created by BrowserRouter)
in BrowserRouter (at App.js:86)
in div (at SignalRConnector.js:46)
in Unknown (at App.js:85)
in Provider (at App.js:84)
in App (at src/index.js:13)
in StrictMode (at src/index.js:11)

Please open up a discussion instead, this looks like user error.


python312Packages.stookwijzer: 1.5.0 -> 1.5.1

Diff: https://github.com/fwestenberg/stookwijzer/compare/refs/tags/v1.5.0...v1.5.1
Changelog: https://github.com/fwestenberg/stookwijzer/releases/tag/v1.5.1

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 359463

x86_64-linux

:white_check_mark: 5 packages built:

home-assistant-component-tests.stookwijzer
python311Packages.stookwijzer
python311Packages.stookwijzer.dist
python312Packages.stookwijzer
python312Packages.stookwijzer.dist


[Im2col] Add option to unroll decomposed im2col loops

This adds an option to the DecomposeIm2colPass to unroll the resulting loop nest of the decomposition, and sets it to true by default. This is an easier form to handle in most lowerings of the op. In particular, it is easier to generate better barrier placement on GPU lowerings, and unrolling the loops results in better overall barrier placement with the current pipeline.

I think this unrolling should happen later (after Vectorization or bufferization) because dropping the loop structure on tensors is always a little iffy IMO. Have you looked into options like that at all?

The main reason I unrolled during decomposition is because that is when we know the loops came from an im2col op. Vectorization relies on the decomposition, so it would need to unroll before vectorization (or otherwise annotate the loops to be unrolled later, which I don't like). I also noticed better barrier placement after bufferization, so it seems to be better right now to do this before bufferization (but not saying it needs to happen before bufferization, maybe there are better ways to achieve the same barrier placement).


:exec need return sql.Result

Hi,
Can we make :exec return not only the error but also the sql.Result please? Because we want to retrieve LastInsertId() or RowsAffected()
So below generate code
const createAuthor = `-- name: CreateAuthor :exec
insert into authors(name) values (?)
`
func (q *Queries) CreateAuthor(ctx context.Context, name string) error {
	_, err := q.db.ExecContext(ctx, createAuthor, name)
	return err
}

can be
const createAuthor = `-- name: CreateAuthor :exec
insert into authors(name) values (?)
`
func (q *Queries) CreateAuthor(ctx context.Context, name string) (sql.Result, error) {
	return q.db.ExecContext(ctx, createAuthor, name)
}

Because we want to retrieve LastInsertId() or RowsAffected()

You can use :execrows to get the rows affected. I understand that having the Result is especially helpful for MySQL, which doesn't support RETURNING.
There are two ways this can be implemented. A configuration option or a new command type. The configuration option would be emit_result_for_exec, but that honestly feels a bit heavy handed. Since we already have :exec and :execrows, probably better just to create a third one.
Do you have any opinions on the name of that option? I'm thinking :execresult or just :result

Hi Kyleconroy,
Thanks for your comments. Yes I prefer a new command type, which should be easier to implement. IMO just :result will be good enough.

I think :execresult is better as it's more obvious and consistent.


MQTT/Paho Library issue on Docker

Please close. I sorted out my issue.
Nice project!!

For anyone attempting to do something novel with this, please be aware of issues related - https://github.com/eclipse/mosquitto/issues/2040#issuecomment-904332771


Error: Request failed, status 429

Error: Request failed, status 429
app.js:1 new e
app://obsidian.md/app.js:1:1626805
app.js:1 Wz
app://obsidian.md/app.js:1:1626997
app.js:1
app://obsidian.md/app.js:1:1627674
app.js:1
app://obsidian.md/app.js:1:235800
app.js:1 Object.next
app://obsidian.md/app.js:1:235905
app.js:1 a
app://obsidian.md/app.js:1:234644

I am also running into this issue. I expect that maybe the API might've changed on OpenAI's side and maybe that's contributing to the issue?

Just installed plugin for the first time and getting same problem.

I had no issues with it three hours ago, but now it is giving an error. Restarting the system and reinstalling the plugin have not worked.

Same here too. Tried different API keys and it doesn't work. It used to work with 3.5 but then I tried with 4 and started to get these errors. I switched back to 3.5 and still getting these.

Bump

Also hitting this issue as tauren describes above. Worked with trial, upgraded to Pro, no longer works. Tried new API key, reinstalling plugin, reinstalling obsidian and plugin. Still hitting 429 error.

On version 0.2.21 and the requests fail with status code 429.
editorCallback @ plugin:obsidian-textgenerator-plugin:47847
e.mobileOnly.$w.isMobile.e.checkCallback @ app.js:1
uR @ app.js:1
t.onChooseItem @ app.js:1
t.onChooseSuggestion @ app.js:1
t.selectSuggestion @ app.js:1
e.useSelectedItem @ app.js:1
(anonymous) @ app.js:1
e.handleKey @ app.js:1
e.onKeyEvent @ app.js:1
plugin:obsidian-textgenerator-plugin:47759 Error: Request failed, status 429
    at new t (app.js:1:717762)
    at Jw (app.js:1:717954)
    at app.js:1:718631
    at app.js:1:235836
    at Object.next (app.js:1:235941)
    at a (app.js:1:234680)
eval @ plugin:obsidian-textgenerator-plugin:47759
eval @ plugin:obsidian-textgenerator-plugin:66```

I would like to suggest that you check the most recent version of the plugin, which is v0.3.1, as it features improved error messages that are more expressive. This update could enhance the overall performance and user experience of the plugin, and may provide helpful insights in the event of any issues that arise.

Thank you for the update.
This is the new error text associated with this issue:

Error: You exceeded your current quota, please check your plan and billing det ails.

Looks like an errant space is included in the word "details".
I will update as I learn more from OpenAI, but my best assessment is this is an issue at their end propagating purchase information from the stripe integrated app at chat.openai.com to the app at platform.openai.com

One more piece of information that others may find useful and you may want to put in your FAQ. Paying for ChatGPT is not the same as setting up billing for OpenAI API, they are separate signups/billing. Many folks might be under the impression that having signed up for ChatGPT it should be possible to generate API keys from an expired trial account and have it work. It does not.


MacOS menubar window position resets each launch

Description
Steps to Reproduce the Problem

npm start
click the icon

Expected Behaviour
Pop up window to stay at the same desktop.
Actual Behaviour
Pop up window shift to different desktop each click.
Specifications

Menubar version: 9.0.4
Platform: Big Sur
Electron version: 12.0.10

I found out that it's because I clicked the icon when I was on the coding window. Like this:

If I switch to normal desktop, it won't happen. If you have the same problem, try to switch it to normal desktop.
It works for me.


alignRowHeights per BrickSection

The alignRowHeights property is now set per BrickSection instead of on the whole BrickLayout
Fixes #41

Current coverage is 93.48% (diff: 100%)

No coverage report found for master at a9aee25.

Powered by Codecov. Last update a9aee25...0642f8d


Diffusion integrator for 2D problem on 3D mesh

I am solving a diffusion equation on a surface. Since the source term and diffusion coefficient are eventually
evaluated using another simulation done in 3D and the surface is not necessarily on the X-Y plane, I am using
a mesh file which has SpaceDimension=3, and testing with div c grad phi = 1. Everything seems to work fine whichever
way I orient the surface, and the result agrees with the case using a mesh file with SpaceDimension=2... until
the coefficient c becomes a Matrix. With a matrix, even if it is diagonal, the result is incorrect.
Looking at the code section around https://github.com/mfem/mfem/blob/master/fem/bilininteg.cpp#L712, for nd=2
spaceDim=3, invdfdx becomes 2x3. So, it seems I am supposed to give 2x3 matrix? If so how do I define it if I
have 3x3 matrix? Also, since dshape is nd x 2 and dshapedxt is nd x 3, I am not sure how this line in L732 works.
AddMultABt(dshape, dshapedxt, elmat);
If I change  invdfdx to 3x3, and  receive a result of Mult in L731 in a new DenseMatrix with the same size as
dshapedxt, it seems fix the problem.
Please let me know what you think. Thank you.

Hi, @sshiraiwa ,
I think you are correct.  This integrator was probably not tested with a MatrixCoefficient on an embedded surface. In fact we may not have unit tests involving embedded surfaces. We should certainly add such tests.
Would you like to add a PR to address this or shall I?
Thanks for catching this and we're sorry for the trouble.
Best wishes,
Mark

Hi @mlstowell, thank you for confirming this. Let me clean up what I have and make a PR.
I saw a similar issue in mixed version. Let me address both.

Hi @mlstowell, I made a PR. May I ask to add a test, since I am not familiar with that part of machinery. Thank you.

I'd be happy to look into adding a suitable unit test. Thanks, @sshiraiwa!

Discussion continued in #2125.


Added eslint custom rule to encourage address literals to be lowercase

I’ve been having issues because of the casing of addresses. Am I the only one? 😅
When we get an Address anywhere in our mappings, if we call toHexString() it returns the address all in lowercase (not checksumed). We usually do address comparison using their string values instead of Address.equals or Address.notEqual.
This creates scenarios where SomeEntity.id = SOME_CONSTANT_ADDRESS, which if we happen to compare event.address.toHexString() == SomeEntity.id it won’t match. This might lead to duplicate entities (one with the lowercase ID and one with the checksumed ID), events going unhandled if some entity is missing (Market.load(event.address.toHexString() when ID is checksumed), and so on. There are a couple ways of preventing this:

Enforce all our hardcoded constants to always be lowercase
Enforce all address comparisons to be done with Address.equals instead of toHexString() == …

I’ve created a simple eslint rule to check for the first option (easier to implement). Also, the second option might still lead to errors if we do something like:
if (event.address.equals(Address.fromString(SOME_CONSTANT)) {
  // do something
  Entity.load(SOME_CONSTANT);
}
...
// And then somewhere else
Entity.load(event.address.toHexString();

Things against
Having the linter enforce addresses to be lowercase will probably cause issues in already existing subgraphs if we change a constant and graft. Because if some entity ID is checksumed and we change all the code logic to now deal with lowercase addresses there will be a mismatch there. It should be safe to enforce on new subgraphs, and subgraphs we index from scratch. It might be reasonable to only enable this rule for currently non-existing files somehow. Let me know your thoughts on this.

I have ran into this, I usually opt to compare Address types to prevent this

I ran into this mysel. Very helpful improvement.
In terms of potential impact to grafting of existing subgraphs, is there a way we can know beforehand whether grafting works after changing an address constant?

@jaimehgb can you do a test file to see if it works properly?

Works :D


Bump MSRV to Rust version 1.56.1

Rust version 1.56.0 introduced edition 2021. Shortly afterwards, on October 21 2021 Rust version 1.56.1 was released.
Debian stable is currently shipping rustc 1.63.0. Our stated MSRV policy is: In Debian stable and at least 2 years old. Therefore our MSRV policy is met by Rust version 1.56.1 and we can strat to bump our MSRV org wide. Start by bumping the rust-bitcoin and hashes MSRV to Rust 1.56.1
Start by bumping the rust-bitcoin and hashes MSRV to Rust 1.56.1, includes:

Update docs.
Update CI and remove pinning.
Update the build files and remove now stale cfg attributes rust_v_1_x for values less than the new MSRV.
Use new IntoIterator for arrays so we no longer need to allocate a vector to iterate.

Links:

https://blog.rust-lang.org/2021/11/01/Rust-1.56.1.html
https://blog.rust-lang.org/2021/10/21/Rust-1.56.0.html
https://packages.debian.org/stable/rust/rustc

Implemented suggestions and squashed it all into a single patch, re-wrote git log and PR description to match new patch.

Oh, sorry man was working while you reviewed. I added a patch to update to edition 2021.

Oh, I just notice you didn't set rust-version in Cargo.toml. Was it on purpose?

Not on purpose, just an omission on my part. Will add

cc @TheBlueMatt @stevenroose I'll give you two a week to comment or veto this, or else I'll merge it on Wednesday Nov 22.

@TheBlueMatt yep, for sure. We're in no particular rush.

Well it won't be released right now anyway so it shouldn't matter? Or is that user using our master branch?

Thanks man! Rebased.

Might as well do it now then, since we don't have a major release planned til April.

Rebased, no other changes.


I want to move a conversation from ollama terminal to oterm. Text is not visible but AI has knowagle of it when editing database.

I opened the database putting tokenised input in, The input before tokenisation was <start_of_turn>user text<end_of_turn><start_of_turn>model ... <end_of_turn> and so forth. tokeniser added  at the beginning before turning it into numbers. Total lenght 22k tokens. What am I doing wrong? I don't speek tokeneese fluently.

Hey, context is not tokenized input, rather an embedding of the entire conversation.
I am not sure how one would go about obtaining that from an entire conversation....
You can wait til https://github.com/ggozad/oterm/pull/95 eventually makes it into oterm which will make this easy.
I am afraid I can't really help beyond this, so going to close.


Simplify until/since and fix subtle until dispose bug

See this comment for an example of the bug.  It's a subtle interaction between run and until.
This PR fixes the bug.
Naively fixing the bug introduced a race between disposables.  SettableDisposable is the standard way to break disposable races in a controlled way, and it worked well here.
Looking at since and until with fresh eyes, it also seemed they could be simplified.  So, I did.  I also made Timeline slightly more aggressive in freeing its internal data structures when it knows it has an empty time slot.
Todo

[x] Add a unit test to prevent regression.  This is tricky to test, since it's in a part of the code that is hard to observe from the outside.

Added a test that times out on master, like the original bug report, and passes after the fix.  I think this is ready for a review.


Update/Corrections to Character Sheet

Changes / Comments
Fixed Module Bugs
Fixed Labels/Spelling
Changed Character Tab Layout
Added Age, Difficulty, and Manna Training Values
Added Half-Breed Difficulty Adjust button
Added Adjustable TTT values
Added Turn to Turn GG tracker
Corrected Author UserID
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.