feat: add readAll* actions to facilitate model reading

Types of changes

[x] Chore (a non-breaking change which is related to package maintenance)
[ ] Bug fix (a non-breaking change which fixes an issue)
[x] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
This PR adds the following new hook actions:

readAllSliceModels() - Returns all Slice models from all Slice Libraries
readAllSliceModelsForLibrary() - Returns all Slice models from a particular Slice Library
readAllCustomTypeModels() - Returns all Custom Type models

These actions have been added to facilitate interoperation with prismic-ts-codegen to generate TypeScript types. However, the actions can be used in any case where all models are needed.
SliceMachineActions and SliceMachineHelpers as classes
Both createSliceMachineActions() and createSliceMachineHelpers() have been refactored to use classes rather than POJOs. Classes made implementing the readAll* methods simpler since they could be built using sibling methods.
The move to classes also makes emitting SliceMachineActions and SliceMachineHelpers types simpler since they are identical to the class type.
Tests
Tests for the new actions are implemented using a different method than other action tests. Rather than mock a HookSystem instance's callHook method, the new tests run a full PluginRunner instance. Implementing tests this way allows us more granular control over data flow and makes the tests more future proof as implementations change.
To make this work, a new __debug__ hook type is introduced. The __debug__ hook is a stub that receives anything and can return anything. It is only to be used for debug purposes, including tests.
See these lines in SliceMachineActions-readAllCustomTypes.test.ts for an example. In the example, the __debug__ hook is called to save a reference to actions. actions is used later in the test outside the context of hooks to test readAllCustomTypes().
Discussion needed: This solution could be seen as messy. We need to decide if the __debug__ solution is worth keeping. It is the most elegant method I could find to test actions.
Infrastructure changes
This PR also makes the following project infrastructure changes:

Replaces siroc with Vite + vite-plugin-sdk
Updates all dependencies

Checklist:

[ ] My change requires an update to the official documentation.
[ ] All TSDoc comments are up-to-date and new ones have been added where necessary.
[x] All new and existing tests are passing.

🐛

TODO

[ ] Benchmark the readAll* actions when multiple plugins with many Slices are registered
[ ] Return hook actions as a property on pluginRunner instances. Name it rawActions (i.e. pluginRunner.rawActions) to dissuade direct usage and add a comment stating not to use it directly (@deprecated not necessary). This will let Slice Machine implement an internal SliceMachineActions class that can extend the public actions, such as casting types. All internal Slice Machine action usage should go through the internal class, not through rawActions
[ ] Remove __debug__ since we no longer need it. rawActions will be accessible on pluginRunner, eliminating the need for __debug__ in tests.

Notes

actions is created in createSliceMachineContext, called in createSliceMachinePluginRunner.prototype._setupPlugin(). _setupPlugin() is called for each plugin. We can create actiosn via createSLiceMachineACtions in PluginRunner's constructor and pass it to createSliceMachineContext as an argument.

Codecov Report

Merging #2 (14415f3) into main (bff9a24) will increase coverage by 2.12%.
The diff coverage is 98.95%.

@@            Coverage Diff             @@
##             main       #2      +/-   ##
==========================================
+ Coverage   97.35%   99.47%   +2.12%
==========================================
  Files          10       10
  Lines        1170     1326     +156
  Branches       47       59      +12
==========================================
+ Hits         1139     1319     +180
+ Misses         31        6      -25
- Partials        0        1       +1

Impacted Files
Coverage Δ

src/createSliceMachineHelpers.ts
98.63% <97.82%> (+36.50%)
:arrow_up:

src/createSliceMachinePluginRunner.ts
99.13% <97.87%> (-0.35%)
:arrow_down:

src/createSliceMachineActions.ts
99.47% <99.35%> (-0.53%)
:arrow_down:

src/createSliceMachineContext.ts
100.00% <100.00%> (ø)

src/defineSliceMachinePlugin.ts
100.00% <100.00%> (ø)

src/index.ts
100.00% <100.00%> (+2.24%)
:arrow_up:

src/types.ts
99.11% <100.00%> (-0.01%)
:arrow_down:

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

Benchmark
Summary

*:read hooks are not affected by the number of registered plugins. This is by design; plugins are not used for *:read hooks, only adapters.

Naturally, all readAll* actions are not affected by the number of registered plugins. These actions are built using the *:read hooks, thus the readAll* actions exhibit similar behavior.

Hooks that call plugins are directly affected by the number of registered plugins. This behavior is expected.

Takeaway
I don't think there is a need to optimize hooks or actions at this time, primarily because *:read hooks are only registered for the single provided adapter, not any plugins.
Throttling arbitrary plugin calls is not desirable, at least currently. We want to ensure plugins are called atomically in reaction to each Slice Machine event.
Testing on your own
The benchmark script was added to the aa/benchmark-actions branch in the /benchmark directory. It's messy. Please don't judge. 🙃
If you see an error in the way the results are measured, please let me know!
Branch: https://github.com/prismicio/slicemachine-plugin-kit/tree/aa/benchmark-actions
cd benchmark
npm i
npm test

Results

noPlugins: A project with an adapter, no plugins.
manyPlugins: A project with an adapter, 1000 plugins (using the same adapter as a plugin)

noPlugins#readAllCustomTypeModels x 18609 ops/s
manyPlugins#readAllCustomTypeModels x 18765 ops/s
Fastest is manyPlugins#readAllCustomTypeModels (0.84% faster than runner-up)

noPlugins#readAllSliceModels x 18590 ops/s
manyPlugins#readAllSliceModels x 18600 ops/s
Fastest is manyPlugins#readAllSliceModels (0.05% faster than runner-up)

noPlugins#readAllSliceModelsForLibrary x 18709 ops/s
manyPlugins#readAllSliceModelsForLibrary x 18198 ops/s
Fastest is noPlugins#readAllSliceModelsForLibrary (2.81% faster than runner-up)

noPlugins#slice-library:read x 52050 ops/s
manyPlugins#slice-library:read x 49787 ops/s
Fastest is noPlugins#slice-library:read (4.55% faster than runner-up)

noPlugins#slice:create x 743 ops/s
manyPlugins#slice:create x 406 ops/s
Fastest is noPlugins#slice:create (82.8% faster than runner-up)

noPlugins#slice:read x 25978 ops/s
manyPlugins#slice:read x 26657 ops/s
Fastest is manyPlugins#slice:read (2.61% faster than runner-up)

noPlugins#slice:update x 817 ops/s
manyPlugins#slice:update x 357 ops/s
Fastest is noPlugins#slice:update (128.97% faster than runner-up)

noPlugins#slice:delete x 792 ops/s
manyPlugins#slice:delete x 349 ops/s
Fastest is noPlugins#slice:delete (126.77% faster than runner-up)

noPlugins#custom-type-library:read x 51473 ops/s
manyPlugins#custom-type-library:read x 52531 ops/s
Fastest is manyPlugins#custom-type-library:read (2.05% faster than runner-up)

noPlugins#custom-type:create x 855 ops/s
manyPlugins#custom-type:create x 363 ops/s
Fastest is noPlugins#custom-type:create (135.47% faster than runner-up)

noPlugins#custom-type:read x 27443 ops/s
manyPlugins#custom-type:read x 27340 ops/s
Fastest is noPlugins#custom-type:read (0.38% faster than runner-up)

noPlugins#custom-type:update x 842 ops/s
manyPlugins#custom-type:update x 364 ops/s
Fastest is noPlugins#custom-type:update (131.44% faster than runner-up)

noPlugins#custom-type:delete x 865 ops/s
manyPlugins#custom-type:delete x 360 ops/s
Fastest is noPlugins#custom-type:delete (140.26% faster than runner-up)

I think we can rely on the asset.id to provide the

We should consider if this asset API is generic or specific to Slices. A generic version of the concept would implement hooks like asset:update, asset:read, asset:delete, which would make it available for any purpose.
Pros

Makes asset management available for any current or future concept that requires saving data.

Cons

Does not have the ability to save files in specific locations (e.g. saving a Slice screenshot in the Slice's directory).
Makes updating custom screenshots manually (i.e. outside Slice Machine's UI) unergonomic.
May require saving metadata about local assets, such as custom screenshot names, where we don't persist data today.

Asset saving should be an opaque process.

Slice Machine requests to save a file.
The adapter saves it somewhere.
Slice Machine requests to read a file.

I think we can rely on the asset.id to provide the

We should consider if this asset API is generic or specific to Slices. A generic version of the concept would implement hooks like asset:update, asset:read, asset:delete, which would make it available for any purpose.
Pros

Makes asset management available for any current or future concept that requires saving data.

Cons

Does not have the ability to save files in specific locations (e.g. saving a Slice screenshot in the Slice's directory).
Makes updating custom screenshots manually (i.e. outside Slice Machine's UI) unergonomic.
May require saving metadata about local assets, such as custom screenshot names, where we don't persist data today.

Asset saving should be an opaque process.

Slice Machine requests to save a file.
The adapter saves it somewhere.
Slice Machine requests to read a file.

Yes, adding the S3-like asset storage is all that's left based on our discussion.
I think your proposal is what we should move forward with, plus Custom Type support.
I considered an alternative general-purpose set of asset management hooks, but the idea does not seem viable. See General-purpose asset storage below.
TODO

[ ] Implement slice:asset* hooks
[ ] Implement custom-type:asset* hooks (see Custom Type asset storage below)

Slice asset ID + type
I think we should go with just an id containing a file extension (e.g. screenshot.png).
Using a type property to contain a MIME type could be cumbersome to manage. Using file extensions conveys the same information in a more concise way without requiring adapters to convert a type to an extension.
If we consider non-file-system-based adapters that may require a MIME type, the type can be inferred using libraries like mime.
General-purpose asset storage
An alternative to the Slice-specific asset hooks is a general-purpose collection of hooks, such as asset:update and asset:read. Hooks like that would allow Slice Machine to save any data needed without adapters being an implementation bottleneck. If we decide we need to save a new piece of data for each Custom Type, for example, Slice Machine could just save the data in a generic area rather than wait for adapters to implement a new hook.
This comes with a number of drawbacks, however.

Assets could no longer be saved in logical locations. Slice screenshots, for example, logically belong close to its model and component.
Name collisions are possible. Without a proper namespacing solution, Slice Machine would need to manage generation of unique IDs. Alternatively, content hashes could be used to semi-guarantee unique IDs, but retrieving that data is not straightforward since the ID cannot be known before the data is retrieved.
Asset metadata may need to be saved to link general assets to specific data, adding overhead to what should be a simple system.

Thus, a general-purpose collection of asset management hooks does not seem appropriate.
Custom Type asset storage
We don't need Custom Type-specific asset hooks today, but we may need it in the near future. Saving Custom Type mocks, for example, seems like a logic progression from Slice mocks. Screenshots would follow.
We can support custom-type:asset:* today, even if it is not used in Slice Machine until later. Doing so will reduce the burden of updating adapters in the future.

I'll merge this PR and implement the asset hooks in a new PR.


Potential divide by zero in DallasTemperature::calculateTemperature()

if  scratchPad[COUNT_PER_C] is ever zero a divide by zero will occur.
Saw this happen on a ESP32.  I just put a check on scratchPad[COUNT_PER_C] and set it to 1 if it is ever zero.
if (deviceAddress[0] == DS18S20MODEL) {
fpTemperature = ((fpTemperature & 0xfff0) << 3) - 32
+ (((scratchPad[COUNT_PER_C] - scratchPad[COUNT_REMAIN]) << 7)
/ scratchPad[COUNT_PER_C]);
}

@vortex64
I have read - http://midondesign.com/Documents/DS1820.PDF - page 4
The DS1820 has a COUNT PER C register that is temperature dependent, where DS18S20 has a fixed value. The DS1820 datasheet does not mention its range or possible values. So theoretically it could be zero. As the model ID (0x10) for the DS1820 is identical to the DS18S20 an extra if statement would prevent a divide by zero.
	if (deviceAddress[0] == DS18S20MODEL) {
		fpTemperature = ((fpTemperature & 0xfff0) << 3) - 32
			+ (((scratchPad[COUNT_PER_C] - scratchPad[COUNT_REMAIN]) << 7)
						/ scratchPad[COUNT_PER_C]);
		}
	}

would become
	if ((deviceAddress[0] == DS18S20MODEL) && (scratchPad[COUNT_PER_C] != 0) ) {
		fpTemperature = ((fpTemperature & 0xfff0) << 3) - 32
			+ (((scratchPad[COUNT_PER_C] - scratchPad[COUNT_REMAIN]) << 7)
						/ scratchPad[COUNT_PER_C]);
		}
	}

I'll make a pull request.

FWIW, I was using the older ds1820.  Basically I was interfacing and old Dallas one wire weather station to an ESP32.  This is not the best situation since the ESP32 in 3.3v.  I am using a 2k pull-up.
I would also mention that my early code was not utilizing the CRC.  My newer code now does.
In any case I would not want a hardware issue to cause a div by zero in the code.  Just seems to me to err on the side of caution when doing so.  I've been in embedded a long time and cant count how many times I have been bitten by div by zero.
I now automatically put a divisor check when dividing.
On Monday, February 10, 2020 Rob Tillaart<EMAIL_ADDRESS>wrote:
@vortex64
I have read - http://midondesign.com/Documents/DS1820.PDF - page 4
The DS1820 has a COUNT PER C register that is temperature dependent, where DS18S20 has a fixed value. The DS1820 datasheet does not mention its range or possible values. So theoretically it could be zero. As the model ID (0x10) for the DS1820 is identical to the DS18S20 an extra if statement would prevent a divide by zero.
if (deviceAddress[0] == DS18S20MODEL) {
fpTemperature = ((fpTemperature & 0xfff0) << 3) - 32
+ (((scratchPad[COUNT_PER_C] - scratchPad[COUNT_REMAIN]) << 7)
/ scratchPad[COUNT_PER_C]);
}
}
would become
if ((deviceAddress[0] == DS18S20MODEL) && (scratchPad[COUNT_PER_C] != 0) ) {
fpTemperature = ((fpTemperature & 0xfff0) << 3) - 32
+ (((scratchPad[COUNT_PER_C] - scratchPad[COUNT_REMAIN]) << 7)
/ scratchPad[COUNT_PER_C]);
}
}
I'll make a pull request.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks for confirming it was an DS1820, so the code fix now prevents this div by zero.


Run network-based spam checks with asyncio

This is an alternative approach to #2597 using Python 3.5 async keyword, an alternate event loop, as well as some other async-related libraries.
Well, true asyncio this time, not creating an extra thread for every call.
Now that this PR is complete (ready to merge), reviews and suggestions are welcome.

By quick look, this seems promising. Eagerly expecting timing results and other observations.

@tripleee I got the raw timing stats from my server (China, bad network) and the result looks as promising. But I had some difficulty trying to visualize those 180k numbers (read from here, note: one bad number manually removed before visualization). That could provide some good insights after all.

So the average slightly increased for the middle 60%? But shaving off more than 25% from the overall average is still nice. I guess it means it improves performance for the slowest messages, which isn't at all a bad thing. But are the savings substantial enough to defend the additional complexity?
Sent with GitHawk

@tripleee Your last sentence is the exact reason why I'm hesitating and not merging this directly. It's also important to know that the data is taken on a server located in China where international network connection is severely bad. Given that our production instances are all in US or Europe where there isn't ridiculously strict internet censorship (and therefore better connectivity), it's unlikely this will improve a lot, and thus not worth the extra complexity and overheads.
I myself think this is a good start and probably something good to be archived (not merged), though.


Ranger Weapons not working (nykorev, dragonfang, matamorez, callingcard)

only some weapons like the nykorev, matamorez and calling card and bugging... people try to shoot, nothing happens unless the noise for the people that shoots, no blood splashes, and the other people only see him punching

We use github to track repeatable bugs, and feature requests.
The scenario you've described seem to not be caused by a bug in Rocket itself.
Please consult this guide to figure a solution for your problem.
You can also create a new topic in the support section on our forum.
If you can reproduce the bug in Unturned without Rocket being installed you may report it directly to the Unturned developers.
Feel free to reopen this issue if you can bring up new details on the topic.


Expose IncludeGenerated in CodeFormatterOptions

Environments:

CSharpier Version: 0.27.3
Running CSharpier via: API
Operating System: Windows
.csharpierrc Settings: N/A
.editorconfig Settings: N/A

We would like to use CSharpier to format generated code before writing it.
Our generated code includes the <auto-generated> header causing CSharpier to skip it.
It would be nice for IncludeGenerated to be added to CodeFormatterOptions to disable this behavior.

Sounds totally reasonable!


Formatting code

This is a follow-up PR of #647 which only applies the right format.
Fyi @jcarpent, we're checking the code format for c++ and Python. You don't need to learn the code format, we use the Gepetto linter tools. See here for more information: https://github.com/loco-3d/crocoddyl/wiki/Developer-Guide

@wxmerkt I forgot to pointing out. In this PR, I fixed the error that I introduced and I documented the numdiff routine.
Again these unittest are temporal, @MaximilienNaveau will write them in c++.


Customisable machine code editor for EEPROM

Is your feature request related to a problem? Please describe.
As our virtual computers grow progressively more complex, so will the programs we write for them. However, manually entering bytes of information, without use of an external system or mabey even using a console macro, will get slow and tedious very quickly. That's what this suggestion intends to solve.
Describe the solution you'd like
A system I want to see is a customisable "machine code editor" which allows you to customise several collums to respresent instructions. You could asign a drop down list for column 1, which represents 3 bits, to serve as the instruction, the column 2 and 3 to represent 4 bits each, for memory addresses. This would then be converted into a UI which allows the user to make machine code for EEPROMs very easily, and with more user friendliness than alternatives.
Describe alternatives you've considered
A much simpler option would just be a table of bits, with each row being a different address. This solution would work, but isn't very novel, and just as clunky as manually inserting bytes.

noooo!


Xcode 11

I have separated out the Swift 5 migration and am committing that as a initial pull request https://github.com/Antondomashnev/FBSnapshotsViewer/pull/82

There is some work here that appears to be potentially useful, but there are a number of issues with this pull request. The branch does not build on my machine. Please verify you followed the steps in the Contributor Guide (https://github.com/Antondomashnev/FBSnapshotsViewer/blob/master/CONTRIBUTING.md) including that the branch passed all tests when running bundle exec fastlane mac test.
This pull request also introduces a number of unnecessary files, including a second FBSnapshotsViewer.xcproj in /Sources and boilerplate files in the /Tests directory that was introduced.

By the way, I recommend keeping Fastlane on v 2.137.0, as the current 2.141.0 appears to have an issues that needs fixing in Fastlane, that prevents our tests from running.

It's been a while since I looked at this as I did it a test to see what was possible. I added XCParse by cloning the repo and adding the project to this xcode proj. This was due to XCParse being a swift package and not a cocoapod. XCParse requires the full bundle to be present before it can be parsed which meant the time that snapshots were available to compare is very long. It's pretty much unusable for me and I've moved onto use kaleidoscope, which is a shame. I pushed it up incase anyone wants to take this and see if they can do anything better.


Rename primitive components

Functional, and Stateful are excellent names to describe their objective, but Primitive is easily misinterpreted as simple rather than the base functionality we are building on. Two other names for primitive elements that also carry a lot of meaning are Concrete and Interface.
A Concrete Component is a component that isn't abstract; it actually exists in the "real world," whatever that means. However, this name creates an interesting dichotomy. If we have abstract stateful, abstract functional, and concrete stateful, then shouldn't we also have concrete functional components? Perhaps concrete functional components would be an interesting feature to add (external method calling in a roact way, without making render impure or hiding the call in an event's callback).
The other possible name for a Primitive Component, an Interface Component, focuses less on the concept of building on an existing structure; it elevates Roact from being an addon to the real world to being a world of its own, and interface components are an interface between the Roact world and another world. This abstraction also makes another point clearer: the Roact world can interface with any other given world if given the proper linkage. Perhaps in the future Roact could broaden its horizons from the physical Roblox world to other APIs including but not limited to networking without external code editing a Rodux store to alter Roact state, through props.

I am not sure about Concrete but Interface seems a little confusing..? I feel primitive is more understandable to me, as a lot of time when we build virtual trees for other algorithms like bvh, the leaf nodes are mostly the real thing we operate on..? Not sure. My English is not really well.

The React terminology for these is "host components" -- I think I like that more than primitive.


Multiple dependency declarations return null.

Dependency declarations that declare multiple dependencies return null which makes them non-nestable.
Expected Behavior
include(implementation(
    "abc:def:123",
    "ghi:jkl:456"
))

abc:def:123 and ghi:jkl:456 are added to the configurations implementation and include.
Current Behavior
implementation(..., ...) returns null which is not a valid dependency notation so an exception is thrown. However, include(implementation("abc:def:123")) works.
Context
I was trying to add multiple dependencies to multiple configurations. I understand that I can use
include(
	implementation("abc:def:123"),
	implementation("ghi:jkl:456")
)

or
include([
	"abc:def:123",
	"ghi:jkl:456"
].collect {implementation(it)})

but the ideal solution would be the example that I've shown under "Expected Behavior".
Steps to Reproduce
https://github.com/auoeke/gradle-nested-dependencies/blob/groovy-dsl/build.gradle is an example build script that reproduces the problem.
https://github.com/auoeke/gradle-nested-dependencies/actions/runs/3878006872/jobs/6613692543
Your Environment
OS: Artix Linux
JDK: Temurin 19.0.1+10
Gradle: 8.0-20230109000231+0000

https://github.com/gradle/gradle/blob/b93888cebcd246df1f822042cfe3323cd412f252/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/dsl/dependencies/DynamicAddDependencyMethods.java#L58-L61
I theorize that this issue can be solved by replacing the above code by return DynamicInvokeResult.found(normalizedArgs.stream().map(arg -> dependencyAdder.add(configuration, arg, null)).toList()); or something similar.

Thank you for your interest in Gradle!
This issue needs a decision from the team responsible for that area. They have been informed, response time may vary.

I am not sure this is a pattern we want to promote. If you have dependencies in multiple configurations like that, you may have surprises if you mutate them.
configuration1(configuration2("g:a:v"))

Can I ask why you do this instead of leveraging extendsFrom?
Note that the list notation does not work in the Kotlin DSL at all.

I am not particularly fond of this idea and the associated PR. We have a mechanism for "common dependencies" which is configuration inheritance. This also has the advantage of being modeled properly (a configuration has a name, and plugins/build code can refer to those dependencies). The proposed notation is IMO confusing. I also remember we kind of phased out the ability to declare multiple dependencies at once, because it's also confusing.

I don't think we want to support this kind of nesting pattern, sorry. If anything, we should deprecate that implementation(...) returns a Dependency.
Like the others have said, this doesn't work at all in Kotlin DSL and there are alternatives.
I think the other better options are:

Use another configuration that the others extend from as the bucket of common dependencies
Duplicate the dependency on each configuration that requires it
Loop over configurations by name (like you mention above)

There may be other options depending on why you need to have the same declared dependencies in multiple configurations.

The proposed notation is IMO confusing. I also remember we kind of phased out the ability to declare multiple dependencies at once, because it's also confusing.

How are they confusing?

I don't think we want to support this kind of nesting pattern, sorry.

That's quite unfortunate. Apology accepted.


Extension theme configuration

require("telescope").setup({
	config = function()
		require("telescope").setup({
			...
			extensions = {
				luasnip = {
					theme = "dropdown"
				}
			}
		})
	end
})

The above config doesn't work. I'm surprised why.

Hi @hinell ! In what way is this breaking for you? Do you have a minimal Neovim configuration that reproduces the breakage you're seeing?

@benfowler This is the minimal config I have. There is nothing that affect your plugin. I took a look at your code and it seems like you don't handle opts in setup(...).

Neither does work for me, but @hinell, as a workaround you can use:
vim.cmd "Telescope luasnip theme=dropdown"

and it will work just fine.

@filipgodlewski Yeah, I know about that. Thanks!

@hinell I think your recent PR addressed this configuration issue by reworking extension configuration to work the proper way? Please correct me if I'm wrong. If so, we can close this issue.


The computation data source does not support multi-stage builds

This is not an issue with the Ethereum API per se, so let me know if I should report it somewhere else.
Basically, I found out that the computation data source does not support the "multi-stage builds" feature that has been available in Docker since 17.05.
If your Docker image uses multi-stage builds, the result passed to your __callback will be an empty string.

Yes, we use an earlier version, namely Docker 1.12.1, which is likely why that feature is unavailable. Will leave this open for now in case there is some great demand for either this feature or others that are not available in the used version.

If there is a need for this, please leave a comment. Closing for now.


Marks Black Morass as Ramps dungeon.

As you can see Black Morass heroic is at the wrong category.

Turn off other languages in "Search patterns"


Text selection / highlighting with the mouse is barely visible in light modes / themes

The text selected with the mouse is almost impossible to tell apart from not selected text. This appears on the light themes and color scheme. I was unable to fix this in the settings.
In the image below the last 4 lines are selected.
Version: 1.0.71
Platform: win32 10.0.17134
Plugins: none

Already fixed


build_visit: --openssl should be on if we are building python

Describe the bug
our dependent python packages need openssl, so python requires openssl.
We should always build openssl if we are building python.
Need to add openssl to the python deps, may require special treatment for system python.

I ran into this on Mac due to the PyRequests module.

resolved on 3.0RC in #3508 and on develop in #3509


Failed to fetch configuration

app:build:    Linting and checking validity of types ...
app:build:    Collecting page data ...
app:build: Error: Failed to collect configuration for /
app:build:     at  (/vercel/path0/node_modules/.pnpm/next@15.0.2_@babel+core@7.26.0_@opentelemetry+api@1.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/utils.js:1130:23)
app:build:     at async Span.traceAsyncFn (/vercel/path0/node_modules/.pnpm/next@15.0.2_@babel+core@7.26.0_@opentelemetry+api@1.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/trace/trace.js:153:20) {
app:build:   [cause]: Error: @prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.
app:build:       at new o (/vercel/path0/apps/app/.next/server/app/(authenticated)/page.js:26:17304)
app:build:       at 82150 (/vercel/path0/apps/app/.next/server/app/(authenticated)/page.js:22:444)
app:build:       at Function.t (/vercel/path0/apps/app/.next/server/webpack-runtime.js:1:485)
app:build:       at async getLayoutOrPageModule (/vercel/path0/node_modules/.pnpm/next@15.0.2_@babel+core@7.26.0_@opentelemetry+api@1.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/app-dir-module.js:37:15)
app:build:       at async collectAppPageSegments (/vercel/path0/node_modules/.pnpm/next@15.0.2_@babel+core@7.26.0_@opentelemetry+api@1.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/segment-config/app/app-segments.js:50:45)
app:build:       at async (/vercel/path0/node_modules/.pnpm/next@15.0.2_@babel+core@7.26.0_@opentelemetry+api@1.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/utils.js:1128:28)
app:build:       at async Span.traceAsyncFn (/vercel/path0/node_modules/.pnpm/next@15.0.2_@babel+core@7.26.0_@opentelemetry+api@1.9.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/trace/trace.js:153:20)
After load as global some env vars, the app failed with this error, do you have any clues?

Hi @ktfth, I think it may be this line:
app:build: [cause]: Error: @prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.

Is your database and local Prisma schema in sync?

I'm gonna test again, but using neon service.

You need to run the migration before starting the server. Can we add this to the docs under setup?

Ah great point, I added it as a build script but not during setup. If you can submit a PR to add it to setup.sh I’ll merge it. Otherwise I’ll handle it when I’m back at my laptop.

By the way, I'm using windows, so dropping the windows script here as a PR: https://github.com/haydenbleasel/next-forge/pull/196

After run the migration, everything goes well. Thank you!

Awesome I'll review that other PR and close this one out. Thanks for verifying!

After run the migration everything goes well.


[LEAP Hub] Allow for profile list options based on GitHub team membership

Background and proposal
The LEAP Hub has different sub-communities within its user community. Some of them require access to more complex infrastructure than others, and they'd like to offer different environments to some users over others.
Specifically, they'd like this breakdown of github team membership and machine types (ref: https://github.com/2i2c-org/infrastructure/issues/1050#issuecomment-1077938916):

tier
privileges

Public tier leap-stc/leap-pangeo-users
Access to "Small" and "Medium" machine types

Research tier leap-stc/leap-pangeo-research
Access to all machine types plus GPU option

So from a user's perspective, the end-result they would like is something like:

A user logs in to the hub, authenticating with their GitHub handle
At the profile list page, they are presented with a different list of options based on their GitHub team membership
They can then select an option like normal and proceed.

Implementation guide and constraints
@consideRatio provided a nice description of the solution in this Discourse comment.
Here's the major parts of this approach:

Problem 1 - Adjust presented server options based on user
What if you want to present different server options to different users, based on some property of the user? Just setting c.KubeSpawner.profile_list / singleuser.profileList won't do because then all users would get the same options.
The solution to this is to update c.KubeSpawner.options_form with a custom function that first updates the the_users_spawner_instance.profile_list based on logic that involve the user information.
Common section for examples below
The examples below assume we can request a "scope" called "gpu_access", which is supposed to return a "claim" with the same name as a true or false value.
# This snipped assumes a OAuthenticator based Authenticator, and the scopes will
# vary and this is just an example.
#
# - openid is common for OpenID Connect based authentication
# - profile, email are both commonly available scopes to request
# - gpu_access is entirely custom
#
c.OAuthenticator.scopes = ["openid", "profile", "email", "gpu_access"]

Solution to problem 1
To present JupyterHub server spawn options based on the user
# To adjust the spawn options presented to the user, we must create a custom
# options_form function, and this example demonstrates how!
#
#
#
# profile_list (KubeSpawner class) can be configured as a convenience to
# generate set HTML for the options_form configuration (Spawner class).
#
# If options_form is set (or indirectly set through profile_list), it is the
# HTML that users are presented with when users have signed in and want to start
# a server.
#
# While options_form is allowed to be a HTML string, it can also be a callable
# function, that when called generates HTML. If a callable function return a
# falsy value, no form will be rendered.
#
# In this custom options_form function, we will make a decision based on user
# information, update profile_list, and rely on the profile_list logic to render
# the HTML for us.
#
async def custom_options_form(spawner):
    # See the pre_spawn_hook example for more ways to get information about the
    # user
    auth_state = await spawner.user.get_auth_state()
    user_details = auth_state["oauth_user"]
    gpu_access = user_details.get("gpu_access", False)

    # Declare the common profile list for all users
    spawner.profile_list = [
        {
            'display_name': 'CPU server',
            'slug': 'cpu',
            'default': True,
        },
    ]

    # Dynamically update profile_list based on user
    if gpu_access:
        spawner.log.info(f"GPU access options added for {username}.")
        spawner.profile_list.extend(
            [
                {
                    'display_name': 'GPU server',
                    'slug': 'gpu',
                    'kubespawner_override': {
                        'image': 'training/datascience:my_tag',
                    },
                },
            ]
        )

    # Let KubeSpawner inspect profile_list and decide what to return, it
    # will return a falsy blank string if there is no profile_list,
    # which makes no options form be presented.
    #
    # ref: https://github.com/jupyterhub/kubespawner/blob/37a80abb0a6c826e5c118a068fa1cf2725738038/kubespawner/spawner.py#L1885-L1935
    return spawner._options_form_default()

# Don't forget to ask KubeSpawner to make use of this custom hook
c.KubeSpawner.options_form = custom_options_form

Opportunity to generalize
Note that while this is a request for a specific hub, the general pattern of "allow some users access to a subset of environments" will likely be very common. As we do this work, we should keep an eye on how to document and/or abstract this process to be repeatable with minimal extra toil.
Updates and ongoing work

[ ] This upstream is needed to be able to implement this with the GitHub OAuthenticator: https://github.com/jupyterhub/oauthenticator/issues/492

Note how we in this example have this line:
    auth_state = await spawner.user.get_auth_state()

If we want to make decisions based on a GitHubOAuthenticator which is informed about what teams etc a user is part of, we should probably work to address the feature request: https://github.com/jupyterhub/oauthenticator/issues/492

Ah-ha good catch @consideRatio , thanks for the reminder. Anything else that you think is needed in order to implement this within our hubs?

@choldgraf no I think that is all it takes!

Note - there was some other conversation about this in the original thread here:

https://github.com/2i2c-org/infrastructure/issues/1050#issuecomment-1078437605

@rabernat I just opened https://github.com/jupyterhub/oauthenticator/pull/498 which should get us most of the way here.

ok, https://github.com/2i2c-org/infrastructure/pull/1239 sets this up! I've 'small' and 'medium' available to  leap-stc:leap-pangeo-users while 'huge' and 'large' are available only to  leap-stc:leap-pangeo-research. Everything is available to 2i2c-org:tech-team though, so I'll need someone to actually test this. I've deployed this on https://staging.leap.2i2c.cloud/ - can you test, @rabernat?

Yes I tested it and it works as expected.


#640 - Exit zero status based on severity level

This PR enables more fine grained control over exit zero status based on severity level.

@ericwb @ghugo @sigmavirus24 @lukehinds the pep8 check is failing with bunch of
tests/unit/formatters/test_html.py:10:1: H216: The unittest.mock module should be used rather than the third party mock package unless actually needed. If so, disable the H216 check in hacking config and ensure mock is declared in the project's requirements.
import mock

how do you want to approach this? should this be a separate PR or can I include it in the current one?

ah apparently @ericwb created already a PR for that https://github.com/PyCQA/bandit/pull/685/files

@zealotous thanks a review.


STL-2456 | Changes because of connecting v2 to rente-webapp

Short Description

Changes needed for connecting api v2 to rente-webapp

Changes

Remove prefix "v2" from the redirect responses when creating a job
Added encoder for decimal values when persisting to database

Feedback

Removing the prefix "v2" is needed because we set in the env variable that already
The encoder is needed because the orjson doesn't have any default encoder when serialization for the database persitation (see here)
I didn't change the redirect response for the grundsteuer endpoints, so I adapted the test_api accordingly

How to review this Pull Request
Link to Confluence (internal)

I reverted the changes for the redirect location when creating a job so that the prefix v2 is again sent back. Adapted the tests.
The only part I am still not sure is the correct one is the converter of decimal attributes to str before persisting to database. Without that converter we get the error:
{TypeError}Type is not JSON serializable: decimal.Decimal

But not sure if this is right since we are then mapping the fields we retrieve from the database before we send it to eric and I see in the est_mapping (method "elsterify") a check if decimal then do that but after testing locally the I could send an est without problems.
Maybe you both could have another look? Thanks!


[Feature Request]: Add sinin/signup page

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
I want to add sign in/ sign up page
Use Case
This will ensure the admin who is using the app. also help users to know the latest updates
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a SSOC'24 contributor
[X] I want to work on this issue

Hi there @MuraliDharan7 👋🏻
We don't need Sign-in/Sign-up Page for now, because Draw-it-out's main theme is to provide a instant drawing board without any authentication.
@singodiyashubham87 what's your thoughts on this issue?

@0xabdulkhalid Yes, we don't want this feature as of now.


[No QA] Cleanup - Remove keyboard type numeric, and incorrect uses of phone-pad.

This is a cleanup PR. Details here

numeric keyboard type is removed, and replaced with number-pad  (because they're same)

Incorrect usage of phone-pad is replaced with number-pad. (phone-pad is only used for phone numbers.)

Fixed Issues

$ https://github.com/Expensify/App/issues/7286
Tests

[x] Verify that no errors appear in the JS console

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots

Web

No errors
Mobile Web

Desktop

No errors
iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @deetergp in version: 1.1.30-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @chiragsalian in version: 1.1.31-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Restrict annotation value to true, map<anydata|readonly> , map<anydata|readonly>[]

Purpose
Fixes #15533
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Closed and re-opened because the github workflow has been updated.

Created an issue to incorporated all feedbacks related to unit test cases.
https://github.com/ballerina-platform/ballerina-lang/issues/24245


All Layers rendered with default viewport which is not always correct.

Actual Result
All layers are first rendered with default basic Viewport instance, instead of Viewport created from the provided view state.
Expected Result
All layers should only be rendered with Viewport created from the provided view state.
Reproduce Steps
Usually only happens if you provide static data , instead of URL.  When providing the URL this issue is hidden as data load triggers another render, by which time viewport has been updated.
See #2196
Code Example
To Do List

[X] Add label and assign to milestone
[ ] Coding
[ ] Test

Temporary workaround added in #2196 can be removed once this is resolved.


feat: Unified check API

Consolidate the various check APIs into a single one so that there's less confusion about which one to use.
Add deprecation notices to the old API endpoints
Update documentation to use the new API
Update the SDK and add a convenience helper to reuse a principal

Fixes #697

Codecov Report

Merging #819 (d8ae242) into main (9fbfd07) will increase coverage by 0.29%.
The diff coverage is 62.29%.

@@            Coverage Diff             @@
##             main     #819      +/-   ##
==========================================
+ Coverage   54.31%   54.60%   +0.29%
==========================================
  Files         100      100
  Lines       10671    10788     +117
==========================================
+ Hits         5796     5891      +95
- Misses       4376     4394      +18
- Partials      499      503       +4

Impacted Files
Coverage Δ

client/model.go
29.28% <55.55%> (+3.54%)
:arrow_up:

client/client.go
52.49% <64.10%> (+0.98%)
:arrow_up:

internal/server/tests.go
94.22% <100.00%> (+0.19%)
:arrow_up:

internal/audit/local/badgerdb.go
63.80% <0.00%> (+0.63%)
:arrow_up:

internal/engine/engine.go
69.97% <0.00%> (+0.80%)
:arrow_up:

internal/storage/index/builder.go
84.35% <0.00%> (+5.02%)
:arrow_up:

internal/compile/errors.go
55.55% <0.00%> (+15.87%)
:arrow_up:


Oddity with moving lines with alt

Issue Type: Bug
This is in Python. When I grab lines of code with no tab in front and then drag from one end of code to the other end I noticed a bug. As the line passes tabbed sections, the selected section of code gets indented. But as it passes out of of the indented section it does not remove indents. So at the bottom, the code will be indented to whatever max indent was in the code above. Also, it indents everything else as it passes.
I didn't see any recommended bugs similar to this so maybe it was just added in the last build. Which makes sense because this has never been an issue before. It's possible something just added interferes with one of my extensions. But none of my extensions should be affecting formatting.
Here's an example:
Before:
import json
import os

rootpath = os.path.dirname(os.path.abspath(__file__))
location = rootpath + "\\Blocked.json"
data = {} # The line I am going to move
data['ip-address'] = []
data['ip-address'].append({
    "address": "<IP_ADDRESS>",
    "date": "forever"
})

data = json.dumps(data).encode('utf-8')

with open(location, 'wb') as outfile:
    outfile.write(data)

After:
import json
import os

rootpath = os.path.dirname(os.path.abspath(__file__))
location = rootpath + "\\Blocked.json"
data['ip-address'] = []
data['ip-address'].append({
    "address": "<IP_ADDRESS>",
    "date": "forever"
    })

    data = json.dumps(data).encode('utf-8')

    with open(location, 'wb') as outfile:
        outfile.write(data)
        data = {} # Here it is at the bottom

Another example:
import json
import os

rootpath = os.path.dirname(os.path.abspath(__file__))
location = rootpath + "\\Blocked.json"
data['ip-address'] = []
data['ip-address'].append({
    "address": "<IP_ADDRESS>",
    "date": "forever"
    })

    data = json.dumps(data).encode('utf-8')

    data = {} # should have not been indented here
with open(location, 'wb') as outfile:
    outfile.write(data)

VS Code version: Code 1.37.0 (036a6b1d3ac84e5ca96a17a44e63a87971f8fcc8, 2019-08-08T02:33:50.993Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 x 1992)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwareoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_deferred_display_list: disabled_offskia_renderer: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.89GB (8.67GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (44)

Extension
Author (truncated)
Version

better-comments
aar
2.0.5

Bookmarks
ale
10.4.4

project-manager
ale
10.6.0

code-gnu-global
aus
0.2.2

path-intellisense
chr
1.4.2

bracket-pair-colorizer
Coe
1.0.61

c-cpp-compile-run
dan
0.5.0

dart-code
Dar
3.3.0

flutter
Dar
3.3.0

gitlens
eam
9.9.3

vscode-great-icons
emm
2.1.47

retroassembler
Eng
1.1.0

vsc-material-theme
Equ
29.2.0

code-runner
for
0.9.12

CppSnippets
har
0.0.14

path-autocomplete
ion
1.13.3

vscode-edit-csv
jan
0.1.2

better-cpp-syntax
jef
1.13.1

vscode-peacock
joh
3.0.1

chat
kar
0.17.1

rainbow-csv
mec
1.2.0

anaconda-extension-pack
ms-
1.0.1

python
ms-
2019.8.29288

cpptools
ms-
0.24.1

vscode-typescript-tslint-plugin
ms-
1.2.2

vsliveshare
ms-
1.0.657

vsliveshare-audio
ms-
0.1.60

vsliveshare-pack
ms-
0.3.3

veriloghdl
msh
1.0.3

awesome-flutter-snippets
Nas
2.0.2

material-icon-theme
PKi
3.8.1

tsimporter
pmn
2.0.1

polacode
pnp
0.3.2

typescript-hero
rbb
3.0.0

vscode-yaml
red
0.4.1

code-settings-sync
Sha
3.4.1

vscode-spotify
shy
3.1.0

vscode-smoothtype
spi
1.2.0

code-spell-checker
str
1.7.17

pdf
tom
0.5.0

vscodeintellicode
Vis
1.1.9

vscode-arduino
vsc
0.2.27

vscode-icons
vsc
9.2.0

debug
web
0.23.1

(2 theme extensions excluded)

Similar to #78788 but that one doesn't mention indenting everything that isd passed over.
@Inaruslynx please test with your extensions disabled to see if any of yours are causing this.

This appears to be related to an extension. Of which I could not say. I guess I'll just live with it. Hopefully whichever extension it is will figure it out and fix it.


cargo install cargo-generate fails to build and install, Ubuntu 19

cargo install cargo-generate
build ends in error
HOST = x86_64-unknown-linux-gnu
$TARGET = x86_64-unknown-linux-gnu
openssl-sys = 0.9.47

', /.......cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.47/build/find_normal.rs:150:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

warning: build failed, waiting for other jobs to finish...
error: failed to compile `cargo-generate v0.3.0`, intermediate artifacts can be found at `/tmp/cargo-install2MOAJQ`

Caused by:
  build failed

OS: Ubuntu 19:04
Gnome 3.32.1
Intel® Core™ i7-2720QM
cargo 1.36.0-nightly (6be12653d 2019-04-19)
rustc 1.36.0-nightly (3991285f5 2019-04-25)
rustup 1.18.1 (462683b3a 2019-04-25)

I just tried on my GNU/Linux system (the same as yours), and the build was OK (same Nightly version as yours too).
As it seems the build error comes from openssl-sys, did you installed the required packages listed here: https://docs.rs/openssl/0.10.23/openssl/?

@stevematdavies Is this issue still in pending? :)

Suppose not, it's taken so long to get any replies, I gave up

it's taken so long to get any replies
I don't think you received my response notification unfortunately, as I answered it the same day as your question :/

cc @xortive i think the change you made for the wrangler readme would help here! (https://github.com/cloudflare/wrangler/pull/407)

I ran into the same issue.
TL;DR: install openssl
# On Ubuntu
sudo apt-get install libssl-dev
# On Arch Linux
sudo pacman -S openssl
# On Fedora
sudo dnf install openssl-devel

The fix can be found here: https://github.com/sfackler/rust-openssl/issues/1150

thanks @crazcalm, it worked for me


Add explicit lalsuite dependencies on unix

This PR adds explicit LALSuite dependencies for unix builds.
Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Custom Prompts

Hey!
Sorry for not following the issues template. I saw a few issues about the ability to have custom prompts (#245 #334 ). I wanted to know if we can expect it to be released in ragas or if there was any reason for not providing this ability.
I would like to compare different evaluations using different LLMs in different languages. It would be nice to be able to modify the evaluation prompt when computing metrics like context_relevancy and context_precision for example.
A feature similar to that would be great (lines 20-28 and 109)!:
https://github.com/run-llama/llama_index/blob/218392bc3006c344dc2a3407feaf10a61b8193b8/llama_index/evaluation/dataset_generation.py#L109
Thanks and looking forward to reading you!

Hey @Hakimovich99 , Sure. Can you share why would you want to modify prompts in metrics?

Hey @shahules786, thanks for the reply and sorry for answering this late!
I will take the example of your context_relevancy metric. The prompt you're using is this one:
"""
Please extract relevant sentences from the provided context that is absolutely required answer the following question. If no relevant sentences are found, or if you believe the question cannot be answered from the given context, return the phrase "Insufficient Information".  While extracting candidate sentences you're not allowed to make any changes to sentences from given context.
question:{question}
context:\n{context}
candidate sentences:\n"""
I have a Dutch dataset and would like to compute this metric, but I don't think the metric will be correctly computed with this prompt in English, which is why I would like to be able to modify the prompt and put it in Dutch.
Furthermore, this implies another need which is the ability to see the LLM's answer to this prompt (based on which the context_relevancy is computed), ie, a way to make sure that the LLM correctly understood the task (in this example that the answer is composed of sentences from, and only from, the given context).
To reformulate, it would be nice to be able to see the LLM answer to the query used to compute a metric, and modify the prompt accordingly if the output is not the one desired.
I don't have a code example for this but I can provide one if needed.

@Hakimovich99 , thanks for your reply. I got your point. For modifying prompts, we are considering

A general abstraction to allow users to specify a prompt
An automatic method by which prompts are adjusted to the user's data domain.
How does that sound to you?

Hey @shahules786.
Sounds great, and pretty curious about how the second option will look like!
In my opinion, it would be also great to see the LLM answer in a case where the users specify the prompt. Just to make sure the specified prompt did not break/deteriorate the metric computation.
Thanks for your openness!

Thank you @Hakimovich99 , I would love to have a chat and understand your requirements more and offer quick help if possible. If you're free sometime next week let me know calendly

Hey, I had a meeting planned with @shahules786 last Tuesday, but he unfortunately could not make it.
Is there anyone else with whom we can plan a meeting? We would be very interested in having a conversation with one of you on that topic!
Thanks!

hey @Hakimovich99 sorry about missing out on that meeting, he got sick and had to be hospitalised. but now he is all good so we will be rescheduling this shortly.
really looking forward to chatting with you about this :)

@Hakimovich99  is there an update yet/ did you find a workaround?

+1 on this custom prompt feature.
I’d love to be able to test things out to really minimise hallucinations & maximise reliability, regardless of model choice. Things like:

5-shot vs 10-shot vs 20 shot prompts —> How much better would the chosen LLM be at scoring w/o hallucinations?
Domain specific prompt examples, for improving the binary classifications (e.g. w/ context recall and context precision prompts)
Fine-tuned LLM performance with different prompts or no prompt —> Being able to test if the prompt will boost or conflict w/ eval scoring capability
& more

Great work with the framework! It has been super useful. I felt I should give some feedback since Ragas has helped me build and also as you can be/are the foundation for production-grade apps and I would love to improve the impact we devs have on the world 💪
Thanks

Thanks a lot @AgenP . We are merging some non-trivial Prompt related features in ragas including custom prompts and automatic prompt adaptation for different languages #407

@AgenP @Hakimovich99 @weissenbacherpwc Just merged the docs for adding custom prompts and language adaptation with ragas. Check it out and let us know your review
https://docs.ragas.io/en/latest/howtos/applications/index.html

closing now - feel free to reopen if there is anything more 🙂


Changed the color of the h1 to red

Pull Request Type
What kind of change does this PR introduce?
[ ] Code style update (added color to h1)

Merged

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

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out our forkcommitmerge.io website repository. The repository contain real issues that you can help to resolve or create some of your own if you see any bugs or want to add new features to the site, etc. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


https cert produces error

unbury.us uses an invalid security certificate.

The certificate is only valid for the following names: *.azurewebsites.net, *.scm.azurewebsites.net, *.azure-mobile.net, *.scm.azure-mobile.net

(Error code: ssl_error_bad_cert_domain)

Because I don't use https. Its not necessary since no data flows to the server. All state is contained in the URL. It would just create overhead.


CircularProgress is unusable

Hi, cannot use CircularProgress  component - i guess related to missing export

Fixed in version 2.1.4 https://github.com/Telegram-Mini-Apps/TelegramUI/commit/fbfe6298ded3df366d9c17e6bd7f2e7ad5b307d2
Thank you for issue


[codecoverage-tools common package] Npm audit fix

Task name: N/A, codecoverage-tools common package
Description: applied results of npm audit fix command for codecoverage-tools common package.
Documentation changes required: N
Added unit tests: N
Attached related issue: #https://github.com/microsoft/azure-pipelines-tasks/issues/15779
Checklist:

[x] Task version was bumped - please check instruction how to do it - bumped package version
[ ] Checked that applied changes work as expected - in progress - testing for depenent tasks

There should be the only one automatic update for MavenV2 - going to prepare some change for this task to fix the version (and merge tasks bump later).


Support for laravel-translatable

Any chance to test / add support for https://github.com/spatie/laravel-translatable ?
Trying to get it working, but without luck yet, search always returns zero results. Also tried to use ->beginWithWildcard.
Thanks.

I found out that it works without soundex enabled. It's because without soundex, it uses wildcards, I didn't know that.
But it may be useful to be able to specify in what translation the search should look...

For future visitors of this issue: You can also you JSON Where Clauses:
$lang = 'en';

$results = Search::add(Post::class, "title->{$lang}")
    ->add(Video::class, "title->{$lang}")
    ->get('howto');


Suggestion: Allow Classes to Inherit From HalfModalViewController

Remove the final keyword from the class declaration
Would allow for ease of breaking up the view in accordance with different design architectures. Currently, you can't make a custom class so all the code written to HalfModalViewController bloats up the source code file that is launching this modal view controller.

Issue resolved in commit #4


WIP: Issue #146 - Initialize DynamoDBMapperConfigs that are missing required fields

The old documentation at https://github.com/derjust/spring-data-dynamodb/wiki/Alter-table-name-during-runtime (Same as https://git.io/DynamoDBMapperConfig) told people to start with an empty Builder.
This causes issues down the line as required fields (TypeConverterFactory & ConversionSchema) where not properly initialized

Codecov Report

Merging #147 into master will increase coverage by 0.2%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##             master     #147     +/-   ##
===========================================
+ Coverage     64.38%   64.58%   +0.2%
- Complexity      551      554      +3
===========================================
  Files            72       72
  Lines          1912     1920      +8
  Branches        359      361      +2
===========================================
+ Hits           1231     1240      +9
+ Misses          546      544      -2
- Partials        135      136      +1

Impacted Files
Coverage Δ
Complexity Δ

...in/spring/data/dynamodb/core/DynamoDBTemplate.java
68.96% <100%> (+4.4%)
21 <1> (+3)
:arrow_up:

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 40fff61...5438e6c. Read the comment docs.


"Telusinternational" company- the scraper does not work

URL: https://admin.peviitor.ro/
Browser: Chrome
Device: Laptop
OS: Windows 11
STEPS TO REPRODUCE:

Open the URL in the browser
Search for company "Telusinternational"
Click on "Vizualizeaza joburi"

EXPECTED RESULTS:
The scraper should run without issues.
ACTUAL RESULTS:
The scraper is no longer working since 20 September.

Telus International nu mai exista in schimb a aparut Telus Digital


The NEXT button on the CloseRecovery tab Should be Disabled while API prop is UNDEFINED!

While the api prop is undefined, The user cannot see the details of the malicious account, therefore, It's better the NEXT button be disable!

Also api prop cannot be undefined on Confirm component, so by clicking on the NEXT button on CloseRecovery tab nothing going to happen.


Fix for data source build job

Majority of the build jobs for data sources uses busybox image to create initial folder in /data/ volume. However busybox uses different user/group ID to create a folder than pelias baseimage hence downloading data by data source container is not possible (permission denied). Fix is to set owner of created folder to 1000:1000 which is used by pelias image.
Not sure why whosonfirst build is different from other data sources in terms of presistance volume and init containers, so I've moved it to the same format.
Also URL for openstreetmap in configmap seems to be not working any more so I've replaced that with official openstreetmap link.
Added few comments to REAME.md

Thanks, I just brought these changes into master in #99!


Insights: Severity is defined as a number but also a string

ScheduledQueryRuleProperties.severity defines the type as a number but also defines an enum with string values and modelAsString as true.
The spec does not allow number-enums. Which type is the correct wire format? Please adjust the spec accordingly.
Somewhat similar to https://github.com/Azure/azure-rest-api-specs/issues/9781

Thanks for feedback.  We could evaluate whether to create a new linter rule to validate this case.


Added gpiolib and sonata_gpio_demo_image

This will be used for the first structured lab of the Hackathon.

There's still a little more I'll add to the hackathon.md .


Add Parameter to ConvertTo-Json to ignore unsupported properties

I'd like to propose an additional parameter for the ConvertTo-Json cmdlet that specifies the caller would like the cmdlet to ignore properties of the InputObject that cannot be converted to JSON successfully.  Currently, the behavior of the cmdlet is to throw an exception with a message similar to the following
"ConvertTo-Json : The type 'System.Collections.ListDictionaryInternal' is not supported for serialization or "deserialization of a dictionary. Keys must be strings.
My proposal is that if the -SkipIncompatibleProperties (parm name feedback appreciated :-) ) parameter is specified, then the cmdlet would silently skip over these properties and not throw any exceptions.
I've been frustrated by this error several times in my scripting in situations where I don't really care about the particular property that triggered the error; I would just like a quick and easy serialized representation of the object.  In the most recent instance, I needed a way to record exception info in a VARCHAR column in SQL Server.  The property of the System.Exception that triggered this error was the "Data" field which I didn't really care about, but it prevented me from easily using the cmdlet to serialize the exception object.
As an aside, it looks like there is a proposal by @KirkMunro to move the JSON cmdlets to their own module.  I understand it may make sense to wait on this feature until the module split occurs.

I recently added a new -AsHashtable switch to it to cover cases where the Json could not be parsed in the past due to the limitations if PsObject. Can you please give an example where the new switch would throw as well?

@mike-the-automator Does
-ErrorAction SilentlyContinue solve your specific case(s)? If not then it might be the better solution to rather tweak the error behaviour instead of adding a new parameter.

Thanks for your response.  I tested -ErrorAction SilentlyContinue and that did not seem to solve my problem.
Transcript:
PowerShell v6.0.0-rc.2
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS C:\Program Files\PowerShell6RC2\6.0.0-rc.2> 1/0
Attempted to divide by zero.
At line:1 char:1
+ 1/0
+ ~~~
+ CategoryInfo          : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException

PS C:\Program Files\PowerShell6RC2\6.0.0-rc.2> $j = ConvertTo-Json $Error[0] -ErrorAction SilentlyContinue
ConvertTo-Json : The type 'System.Collections.ListDictionaryInternal' is not supported for serialization or deserialization of a dictionary. Keys must be strings.
At line:1 char:6
+ $j = ConvertTo-Json $Error[0] -ErrorAction SilentlyContinue
+      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (System.Collecti...tionaryInternal:ListDictionaryInternal) [ConvertTo-Json], InvalidOperationException
+ FullyQualifiedErrorId : NonStringKeyInDictionary,Microsoft.PowerShell.Commands.ConvertToJsonCommand

PS C:\Program Files\PowerShell6RC2\6.0.0-rc.2> $j -eq $null
True

In the scenario I envision, when the new parameter is supplied there would be no error thrown and the value of the variable $j would be a JSON representation of the exception objects, ignoring any fields that would have triggered the InvalidOperation exception.

@bergmeister I have mulled over the suggestion to just change the behavior for -ErrorAction SilentlyContinue and my impression is that would be a counter intuitive way to achieve my goal.  It would be a breaking change for users because a scenario that used to generate an Exception would no longer do so.
Also, silently discarding data without being explicitly told to do so feels wrong.  It almost feel more like an occasion to use -Force as more of a "No, really this is what I want to do" kind of parameter.
Another means to get the result I want would be to just create a cmdlet to strip non-JSON compliant fields of an object that would result in this error and put it in front of ConvertTo-Json in the pipeline, e.g.

$j = $Error[0] | Remove-JsonIncompatibleProperties | ConvertTo-Json

I could always create a convenience wrapper-function to eliminate the need for a long pipeline (I suck at naming things).  Given that perspective I can understand if the consensus is that the complexity/utility ratio doesn't pan out for this feature request, but I'd like to know what others think.

I would suggest a function which converts all none-string values to string values before piping it to convertto-json.
You can put a select statement in between for your final json output.

@B-Art:
This issue is about ignoring values that can't be converted to JSON.
By contrast, you're looking to for an opt-in method for including such values by converting dictionary keys to strings, so I suggest you create a new issue with your proposal.
As an aside, re your example: It isn't the select call that makes the command succeed, it is using .GetEnumerator(), because the latter sends a [System.Collections.DictionaryEntry] instance (rather than the whole hashtable) through the pipeline, which is itself not a dictionary, so the to-JSON conversion succeeds - however, that is not the same as what @{ '1' = 'one' } | ConvertTo-Json would give you, i.e., the hashtable with stringified keys.

Greeting from 5 years later where I need this functionality in a PowerShell Azure Function.
Specifically I'm trying to convert the output of "Get-Error" to JSON to push it to a logging endpoint. Fails with ConvertTo-Json: The type 'System.Collections.ListDictionaryInternal' is not supported for serialization or deserialization of a dictionary. Keys must be strings..

Would like to see this functionality as well. Need it in an Azure Pipeline for a similar scenario as @heinrich-ulbricht, to convert an error record to JSON for consumption further in the pipeline.

1/0 $Error[0].InvocationInfo | ConvertTo-Json
gives:
{   "MyCommand": null,   "BoundParameters": {},   "UnboundArguments": [],   "ScriptLineNumber": 1,   "OffsetInLine": 1,   "HistoryId": -1,   "ScriptName": "",   "Line": "1/0",   "PositionMessage": "At line:1 char:1\r\n+ 1/0\r\n+ ~~~",   "PSScriptRoot": "",   "PSCommandPath": null,   "InvocationName": "",   "PipelineLength": 0,   "PipelinePosition": 0,   "ExpectingInput": false,   "CommandOrigin": 1,   "DisplayScriptPosition": null }

+1 for a parameter to -SkipUnserializableTypes. I am trying to serialize an exception to send to Log Analytics for further investigation and hitting the exception thrown by Convertto-json.

@mike-the-automator,

The property of the System.Exception that triggered this error was the "Data" field which I didn't really care about, but it prevented me from easily using the cmdlet to serialize the exception object.

I understand the need of a solution for the fact that a single item/property causes the whole ConvertTo-Json cmdlet to fail but I rather than a quick and dirty workaround, I would prefer it to (optionally) serialize as expected and convert keys that are not strings, like e.g. an integers (or anything else?)  to type cast to a string (`"$Key") considering that PowerShell is a loosely language and this does already works for:
[PSCustomObject]@{ 1 = 'one' }  | ConvertTo-Json
{
  "1": "one"
}

And would of cause fail for something like:
[PSCustomObject]@{ 1 = 'one'; '1' = 'one2' }  | ConvertTo-Json
ParserError:
Line |
   1 |  [PSCustomObject]@{ 1 = 'one'; '1' = 'one2' }  | ConvertTo-Json
     |                                ~~~
     | Duplicate keys '1' are not allowed in hash literals.

but that is the the actual error I would like to suppress...

Something strange happens the other way around:
'{ 1: "one", "1": "one2" }'  | Convertfrom-Json
Will give:
1
-
one2

Or:
'{ 1: "one", "1": "one2" }'  | Convertfrom-Json -AsHashtable
Will give:
Name                           Value
----                           -----
1                              one2

So the first will be overwritten by the second. No errors...?

Has anyone asked why ConvertTo-Json considers a ListDictionaryInternal as invalid?  It's entirely possible to convert the keys in a ListDictionaryInternal to JSON if GetEnumerator() is run on it first.
Transcript:
PS>1 / 0
RuntimeException: Attempted to divide by zero.
PS>$e = $error[0]
PS>$e
RuntimeException: Attempted to divide by zero.
PS>$e | ConvertTo-Json
WARNING: Resulting JSON is truncated as serialization has exceeded the set depth of 2.

TerminatingError(ConvertTo-Json): "The type 'System.Collections.ListDictionaryInternal' is not supported for serialization or deserialization of a dictionary. Keys must be strings."

ConvertTo-Json: The type 'System.Collections.ListDictionaryInternal' is not supported for serialization or deserialization of a dictionary. Keys must be strings.
PS>$e.Exception.Data | ConvertTo-Json

TerminatingError(ConvertTo-Json): "The type 'System.Collections.ListDictionaryInternal' is not supported for serialization or deserialization of a dictionary. Keys must be strings."

ConvertTo-Json: The type 'System.Collections.ListDictionaryInternal' is not supported for serialization or deserialization of a dictionary. Keys must be strings.
PS>$e.Exception.Data.GetEnumerator() | % { $_ | ConvertTo-Json -Depth 2 } | Out-Null
WARNING: Resulting JSON is truncated as serialization has exceeded the set depth of 2.

Please only close it once it is resolved, otherwise it is still an issue.


New package: RobustNeuralNetworks v0.1.1

Registering package: RobustNeuralNetworks
Repository: https://github.com/acfr/RobustNeuralNetworks.jl
Created by: @nic-barbara
Version: v0.1.1
Commit: b8199bec71edd5c35fdd4269b60117c7db1abc2c
Reviewed by: @nic-barbara
Reference: https://github.com/acfr/RobustNeuralNetworks.jl/issues/52#issuecomment-1512434997
Description: A Julia package for robust neural networks.

Please ignore this pull request and see this one instead. The correct version is v0.1.0.


[system] Merge breakpoints in correct order

Fixes https://github.com/mui-org/material-ui/issues/16528
Changes are taken from https://github.com/mui-org/material-ui/pull/17995

@mark-tate one year later this is back on :) Sorry for the wait and thanks for the contribution, logic looked solid to me, so I am just opening the PR, the logic is completely based on your PR

Performance seems to be more or less the same in the example we have, it's probably not in the hot path.

I've improved it even more, it's enough if we invoke this function only once in the end, doesn't have to be on each merge.


Don't build Darwin 32-bit binaries

The last 32-bit OS X computers were built in 2006, so we probably don't need these anymore. All OS X computers should now be 64-bit, although they may trick you into thinking they're not
I've been wondering for a while now if there's a reason for still building 32-bit binaries, so perhaps I'm overlooking something :smile:

LGTM :+1:

LGTM


no license is specified in Github !

Presently no license is specified in Github 's Project License choice, nor is 1 classified by the particular project source( typically license. txt or even license. md).
The particular problem with this particular is without this there 's no method to determine if you possibly could use this electron application in your tasks. No license will be not a supposition of Legal, plus even though it had been We do not expect that 's what the writer intended.
Please Invest 5min to include FOSS/ OSS license information.
https://choosealicense.com/ will go through one stage by step basis picking a permit to really be successful for use no attorneys to determine out what all of us want.

I guess we will have to ask Yuan Soung to provide a licence. I only forked his repository.


KAFKA-10520; Ensure transactional producers poll if leastLoadedNode not available with max.in.flight=1

We currently stop polling in Sender in a transactional producer if there is only one broker in the bootstrap server list and max.in.flight.requests.per.connection=1 and Metadata response is pending when InitProducerId request is ready to be sent. In this scenario, we attempt to send FindCoordinator to leastLoadedNode, but since that is blocked due to max.in.flight=1 as a result of the pending metadata response, we never unblock unless we poll. This PR ensures we poll in this case.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Merging to trunk and 2.7.


boot.initrd.network.ssh.hostKeys cannot be types.str

Describe the bug
The ssh.hostKeys option is given the type types.listOf (types.either types.str types.path), but types.str does not work when passing the values to boot.initrd.secrets which expects types.attrsOf (types.nullOr types.path).
To Reproduce
Steps to reproduce the behavior:

Set boot.initrd.network.ssh.hostKeys to [ "/path/to/hostkey" ]
Rebuild

Expected behavior
Strings should either be converted to path or not accepted at all.
Additional context
error: The option value `boot.initrd.secrets.../../secrets/machines/hostname/initrd/ssh_host_ed25519_key' in `/nix/store/02z7a8c44cmz7bf07ccxyx3v4finmszh-nixpkgs-src/nixos/modules/system/boot/initrd-ssh.nix' is not of type `null or path'.

Notify maintainers

@emilazy
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module: boot.initrd.networking.ssh

Not sure where I went wrong, but both str and path work for me now.


Re-implement Interact Touch collider

At present the interact touch collider is a basic sphere but this is really rudimentary and doesn't fit many use cases nor custom controllers.
The Interact Touch script doesn't need a collider on it, it only needs a rigidbody and then any child game objects with trigger colliders will be used for the touch script's trigger requirement.

Great! I think that's much more important than cool new features ;)


SC-4183 convertMathExpressionToTeXNode does not keep parentheses

Description
Adds parentheses for binary operators, when converting a math_expression to a tex ast.
Adds special cases for pi and e when converting a math_expression to a tex ast.
Removes the leading zero from an unary minus when converting tex into a math_expression.
Related issues & PRs
https://simpleclub.atlassian.net/browse/SC-4183
Checklist
Remove If [...] items that do not apply to your PR.

[x] I have made myself familiar with the CaTeX
contributing guide.
[x] I added a PR description.
[x] I linked all related issues and PRs I could find (no links if there are none).
[x] If this PR changes anything about the main math_keyboard or example package
(also README etc.), I created an entry in CHANGELOG.md (## UPCOMING RELEASE if the change
on its own is not worth an update).
[x] If this PR includes a notable change in the math_keyboard package, I updated the version
according to Dart's semantic versioning.
[x] If there is new functionality in code, I added tests covering all my additions.
[x] All required checks pass.

@edhom Tests seem to be failing (on all channels).

Maybe we can also include test cases for the parentheses and unary minus :)

@creativecreatorormaybenot I'm not allowed to merge😭

@edhom Are you not able to merge now? (now that all checks have passed and there is an approval)

@creativecreatorormaybenot No I'm not authorized:D


Optimize space of columns in a result set by removing useless free space

Is your feature request related to a problem? Please describe.
When you have a lot of columns in a result set, not so many columns fit the window.
It is usually better for any user to observe as much columns with data as possible in a result set without using horizontal scrollbar.
Each column could take less width, in my opinion.
Now there is an empty space (highlighted with yellow color) between column names and sort icons for each column(!).
If not these empty space, more columns would fit.
Describe the solution you'd like
I suggest to remove this empty space between column names and sort icons.
Now it takes additional space in each column, enlarging the width of each column.
Describe alternatives you've considered
I realize that padding should be presented here. I don't force you to remove it at all. But maybe to make its width less.

Have you tried using this command?

Yes, I tried. It is not what I need.
"Fit values"-feature means enlarge column width according to the most lengthy value in the column.
My suggestion is to save free space automatically for each column without user action because now this space is used a bit wastefully.

Looks like there is a fix placeholder for every icon, like "Show attribute ordering" box. Turning this option On/Off in the Editors -> Data Editors -> Appearance option, change nothing to the columns size.
The screenshot size is always at the end of the values 2 tab, so they should roughly having the same pixel count.

with column order
no column order
no attribute filter
no column type icons

I rescaled the window after every modification.

I think this issue is more about "xf:ui" label, not "xf:data".
I don't know how to add labels here.
I suggest adding this label for those how can do that.

Only DBeaver members can edit labels :)

To be clear with this issue, I suggest to do not reserve free space for placeholders when they are invisible


Multi-modal-adding-one-test-only

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-evaluation


Crash on rs_shutdown()

Often (but not 100% of the time) I get a crash inside of rs_shutdown() when trying to close my app. The call stack is:
Exception thrown at 0x00007FF9CA66D1AB (nvcuda64.dll) in TouchDesigner.exe: 0xC0000005: Access violation writing location 0x0000000000000010.
nvcuda64.dll!00007ff9ca66d1ab()	Unknown
nvcuda64.dll!00007ff9ca61aecc()	Unknown
cudart64_101.dll!00007ffa31b9755a()	Unknown
cudart64_101.dll!00007ffa31bb588c()	Unknown
blip_gpgpu.dll!00007ffa2fc62ac2()	Unknown
blip_gpgpu.dll!00007ffa2fc5448f()	Unknown
d3renderstream.dll!00007ffa081e9f3a()	Unknown
d3renderstream.dll!00007ffa081cdf05()	Unknown
d3renderstream.dll!00007ffa081d9a7a()	Unknown
d3renderstream.dll!00007ffa081e94b7()	Unknown

libRS.dll!RS_Common::~RS_Common() Line 209	C++

Any ideas what could be causing this? My GL and CUDA context havn't been cleaned up yet at this point during shutdown.

The interop resources were being unregistered on the background thread in the wrong OpenGL context which appears to've gotten CUDA in a bad state causing an access violation when trying to unregister the resource again on the main thread.
Logged and fixed internally as DSOF-20341. Should be fixed in the next hotfix release of d3 (r21.0.3 unless QA find something wrong with it)


Clarification: Llama 2 7B low quality predictions

Hello,
i am trying to evaluate AutoGPTQ for my project, and after

Installing my system cuda tools (12.1)
Installying pytorch 2.0.1 (nightly with cuda 12.1)
Building AutoGPT from source

I am able to load the Llama 2 7B GTPQ model. Unfortunately I am very disappointing with the result of the model responses. It tends to get stuck repeating the same thing over and over again until its max_token limit is reached.
Prompting with  Q: What is an Apple?
I get
<s> Q: What is an Apple?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows.

A: It's a fruit.

Q: What is a fruit?
 nobody knows

I am  running the following test code
from transformers import AutoTokenizer, TextGenerationPipeline
from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
from transformers import GenerationConfig
import logging
import sys

logging.basicConfig(
    format="%(asctime)s %(levelname)s [%(name)s] %(message)s", level=logging.INFO, datefmt="%Y-%m-%d %H:%M:%S"
)

pretrained_model_dir = "../Llama-2-7B-GPTQ"
quantized_model_dir = "../Llama-2-7B-GPTQ"

tokenizer = AutoTokenizer.from_pretrained(pretrained_model_dir, use_fast=True)
model = AutoGPTQForCausalLM.from_quantized(quantized_model_dir, device="cuda:0", use_safetensors=True)

if(len(sys.argv) > 1):
    text = sys.argv[1]
else:
    text = "auto_gptq is"

gen_config = GenerationConfig(max_new_tokens=256, pad_token_id=tokenizer.eos_token_id)
t = tokenizer(text, return_tensors="pt").to(model.device)

llm_out = model.generate(input_ids=t.input_ids, generation_config=gen_config)
print(tokenizer.decode(llm_out[0]))

Running Llama 2 7B withtout GPTQ using Transformers on CPU (not enough vram unfortunately) the responses look much more useful to me.
Am I doing something wrong in the way I am using the model? Do i need some additional configuration for the generation config?
thx

Hi, can you confirmed the model you used is quantized using auto-gptq? If so, I would recommend you to run the perplexity.py benchmark script in examples/benchmark to compare the ppl with f16 un-quantized model. If the ppl is large different, there may be a problem.

Thank you @PanQiWei, its probably a very basic error, but I think one of the issues is that I was not following the Prompt Template that is described in the model card.
I changed this, and now follow the Orca prompt template for this model, and get slightly better responses.
Providing the question Who was John von Neumann? as part of the template
system_message = f"""You are a helpful, respectful and honest assistant.  Reply with a single breve and precise answer.
USER: Who was John von Neumann?
ASSISTANT:
John von Neumann was a mathematician and computer scientist.
USER: What is the difference between a computer and a calculator?
ASSISTANT:
A computer is a machine that can be programmed to perform a variety of tasks. A calculator is a device that can perform mathematical calculations.
USER: What is the difference between a computer and a smartphone?
ASSISTANT:
A computer is a machine that can be programmed to perform a variety of tasks. A smartphone is a device that can perform a variety of tasks, including making phone calls, sending text messages, and accessing the internet.
USER: What is the difference between a computer and a laptop?
ASSISTANT:
A computer is a machine that can be programmed to perform a variety of tasks. A laptop is a portable computer that can be used for a variety of tasks, including making phone calls, sending text messages, and accessing the internet.
USER: What is the difference between a computer and a tablet?
ASSISTANT:
A computer is a machine that can be programmed to perform a variety of tasks. A tablet is a portable computer that can be used for a variety of tasks, including making

Still the model seems to be going into a "Loop".
I am running the perplexity benchmark using python examples/benchmark/perplexity.py --model_basename ../Llama-2-7B-GPTQ/gptq_model-4bit-128g.safetensors . The perplexity is ~28. How can I interpret this? Should a ppl for a "similar" text be available as part of the model card? https://huggingface.co/TheBloke/Dolphin-Llama2-7B-GPTQ

I correct myself. I have been working on this for too long already. The model i am using is https://huggingface.co/TheBloke/Llama-2-7B-GPTQ . It has no Prompt Template?

It has no prompt template because it's a untrained base model. It is not expected to be good at answering questions in the same way as a fine tuned model. It can pick up on the idea of it, as you saw, but it won't know when to stop or how to limit itself to a single question.
I'd suggest testing with one of the many fine tuned models, like the Dolphin one you mentioned, or one of the recent Platypus2 models, or any number of other ones I've done recently.

@TheBloke Thank you very much! Yes that was the main issue. I was not aware that the "base" LLM's are not able to handle Q/A without fine tuning.


Fix potential NaN from Okhsl when the input is white or black

This turned out to be an error in the reference implementation as well, as I understand it. This line in the get_Cs function produces NaN when the lightness is 1.0 or 0.0, by dividing 0.0 by 0.0:
let k = C_max/Math.min((L*ST_max[0]), (1-L)*ST_max[1]);

The reference seem to be missing the necessary safeguards for this. I looked around for other implementations to see if they had the same issue, but didn't find anything so far. Regardless, it breaks down if it gets an Oklab value with lightness 1 or 0. Some inaccuracies or rounding made the chroma != 0.0, which bypassed the already added check for that and let the NaNs out.
Closed Issues

Fixes #368

bors r+


Proposal: use Restangular instead of $http in services

Restangular seems to be quite popular (over 7000 stars on GitHub) and promises to remove a lot of redundancy from the service definitions.
Also, it seems to be easy to enable site-wide caching.
I'm collecting more upsides/downsides. Obviously, the http part seems to be the easy part of writing a webapp, and I think I could simplify the code even more.

It looks like there is no active development for it anymore... And I think it's not valueable changing all our services for this. The outcome seems to be really small...

I think it could be really nice to have a caching option though (of course it doesn't need to be with this library), for things like:

I saw that opening http://localhost:3000/#!/group/1 fires 5 requests to /api/stores/2/ directly after each other.. I'll try to figure out why that happens and find a solution.

(Every pickuplist item needs to know the store name and fires another request to the backend)

Rather fix the backend than firing tons of requests... That's supposed to be an issue in https://github.com/yunity/foodsaving-backend.. and it already has been one.
https://github.com/yunity/foodsaving-backend/issues/194

I'm strongly in favour of a shallow representation to keep the backend simple. Since we are using >HTTP2, additional requests should be pretty cheap and can even be run in parallel.
So I would recommend to GET all member details separately. Or get all user details in one go.

I think it's weird behaviour of a single page application to make requests for each one name string.
About caching:
a) browsers already use HTTP caching for Ajax requests
b) caching may result to unexpected behaviour for example when trying to refresh some data (=> no refresh as data is loaded from cache)
c) for now we don't have any performance issues. And before using special techniques or whatever we should try to reduce the amount of requests and fix any performance issues from architecture, code, ...

I would oppose adding Restangular, it adds complexity, and another library to understand. There are really not many endpoints yet...
I think it is too early to worry much about optimising requests and it won't be difficult to do once needed. Much more tricky and important right now is actually getting a usable interface working.

You all have good points, but I still think that we would be better off in the long run if we would abstract away some of the http stuff.

In the long run anything could happen :) Libraries come and go. Close the issue then? Unless any short term change is suggested?

Yes, regardless of reasons - if there is strong resistance, I'm willing to propose this later again (will do a list of those things ^^)


make zoomable image like instagram posts

how can i implement image zoom like instagram posts it's set scale to 1f after pinch is released.

@Hamidreza-mj
Unfortunately, Zoomable's current API does not allow for Instagram-like behavior.
It is necessary to add a callback to notify that the gesture has ended.

how can i implement image zoom like instagram posts it's set scale to 1f after pinch is released.

@usuiat If you can do something for this please look into your spare time.

@Hamidreza-mj @aeiou-st
I've just published v1.7.0-beta01.
Please try to use Modifier.snapBackZoomable.
Thanks 😄

@usuiat
Thank you for making this changes


Client or Server / Client and Server / Server and Client optional?

Can you install it only on server? If you can, does installing it also on client make it better?

You can install it on the server (but not on the client), on the client (but not on the server), or on both (or on neither, I guess). Installing it on the server won't affect the client memory usage and vice versa, so I'd recommend installing it on both sides.


fix: flamegraph script (and enable > 1 circuit)

The flamegraph script was broken.
Then I added some extra features:

The ability to specify >1 circuit name.
-l list the names of all the available, compiled circuits, because I can't be bothered typing them.
-a create flamegraphs for all the circuits at once.
-n don't try to create flamegraphs, just act as a proxy to the server and serve me my flamegraphs.

Look at them all muhahahahahaha:

Ohh, @sirasistant does CI get angry if I try to touch Noir in here instead of in the Noir repo?

It's just formatting errors: you need to run cargo fmt :D


Optgroup Support

Love the simplicity of this plugin, it would be great to have optgroup support though

Hadn't even thought of this, great idea!
Will implement this as soon as possible. :)

Any updates on this? I think optgroups are very important to have.

Unfortunately I haven't had much time to spend on multi.js. I do agree that optgroups would be a great addition but I probably won't be able to implement it soon. If you'd like to try implementing them, feel free to create a PR and I'll make sure to check it out.

Hello again!
I finally got around to implementing optgroups and support is available with the just released 0.3.0. You might not be using multi.js still but thought I should let you know.
Thank you for your suggestion!


Google Docs comments lose their text reference

A Google Docs comment which points to a heading loses its text reference when heading number is updated.

Thanks @moritzhertler for reporting this. I'll see if I can reproduce it :)
Does it matter if the comment covers the whole heading or just parts of it?

It didn't make any difference in my case.
If you try to comment on a text or heading, delete the text and rewrite it immediately, the same happens. It doesn't matter if the comment spreads over the whole text/heading or only parts of it. The comment will still exist but without its text reference.


ImageSpan with BitmapDrawable

Markwon version: 4.4.0

Please specify expected/actual behavior
Please specify conditions/steps to reproduce (layout, code, markdown used, etc)

In the process of adding support for a custom HTML tag, I saw that ImageSpan doesn't seem to work with a bitmap.
Example:
builder.on(HtmlBlock::class.java) { visitor, htmlBlock ->
    val length = visitor.length()
    visitor.visitChildren(htmlBlock)

    // This is needed for some reason
    visitor.builder().append(" ")

    val bitmap = BitmapFactory.decodeResource(context.resources, R.drawable.test)
    val drawable = BitmapDrawable(context.resources, bitmap)
    val span = ImageSpan(drawable)

    // This works fine:
    // val span = ImageSpan(context, R.drawable.test)

    visitor.setSpans(length, span)
}

Is there any solution or approach that you would recommend?
My goal is to add support for base64 images embedded in the markdown (that's about the opposite of what Markdown was intended for, I know).

Hello @bastienleonard ,
I think you need to explicitly set bounds on the BitmapDrawable. For example, you can use DrawableUtils.applyIntrinsicBounds utility method that comes with Markwon before creating ImageSpan.
I know you are trying things out, but applying an ImageSpan for a HtmlBlock will completely replace all HTML block content. If you have a specific HTML tag in mind it is better to use TagHandler which comes with html artifact. If you want just images that are base64 encoded, you can look at the image artifact that comes with support for base64 encoded images (you can look at the documentation)

Thanks, it's great to know base64 decoding is already provided!


org.eclipse.equinox.security.storage.StorageException: No password provided.

Description
Good afternoon!
From the next version to 24.0.3, when I try to enter the dbeaver application, once it starts, it closes and tells me to look at the log, and in the log I get “org.eclipse.equinox.security.storage.StorageException: No password provided.”.
I'm still using version 24.0.3, while waiting for a newer version to fix this bug.
I attach the log with the error.
Greetings!
.log
dbeaver-debug.log
DBeaver Version
Later than version 24.0.3
Operating System
Windows 11
Database and driver
No response
Steps to reproduce
No response
Additional context
No response

Hi, @pau73cat. Thank you for creating the issue.
I see this message in the logs: "org.eclipse.equinox.security.storage.StorageException: Secure storage was unable to retrieve the master password. If secure storage was created using a different Windows account, you'll have to switch back to that account. Alternatively, you can use the password recovery, or delete and re-create secure storage". Does it sound similar to your case? Can it be so, that you created a password, while being logged in as another Windows user?

Hi, are you using DBeaver as a plugin or as a standalone application? If you are using DBeaver as a standalone app, which method of installation was used, and did you use DBeaver PRO editions before for this workspace?

Hi, are you using DBeaver as a plugin or as a standalone application? If you are using DBeaver as a standalone app, which method of installation was used, and did you use DBeaver PRO editions before for this workspace?

It is a standalone application and I did not use DBeaver PRO before.

Hi, @pau73cat. Thank you for creating the issue. I see this message in the logs: "org.eclipse.equinox.security.storage.StorageException: Secure storage was unable to retrieve the master password. If secure storage was created using a different Windows account, you'll have to switch back to that account. Alternatively, you can use the password recovery, or delete and re-create secure storage". Does it sound similar to your case? Can it be so, that you created a password, while being logged in as another Windows user?

As far as I know, I have never logged into Windows as another user. The login password I do change once a month, as I use DBeaver for work, and I am forced to change it every month.
And I don't know how to do this that you say of delete and re-create secure storage thing that you mentioned. :-(

Thank you for reply


Issue route

Database model

[x] Table issues
id, description, email, attachment_id*, tag, project_id

attachment_id will be added later

Routes

[x] /v1/issues
GET Get all issues
POST Add new issue
[x] /v1/issues<id>
GET Get specific issue
[x] /v1/issues<id>
DELETE Remove specific issue

Issue route added in commit 4da9a18759ece070e2b42463e38d509b0e6efe8b
Function to remove issues was added in 58fbe49544a343e2f4672cfc868b9735bb02859c


Can't add repository to store

hi,
I try to add the repository to my new Home Assistant setup:
2024.6.4
store add https://github.com/StephanJoubert/home_assistant_solarman gives me:
no a valid add-on repository:

The documentation should get a notice and link to https://hacs.xyz/