Benchmarking of PULP FPU against Whisper ISS

To whom it may concern,
We are from Microelectronics Research Lab (MERL), based in Pakistan working on developing RISC-V based ASICs and SoCs.
Currently we were working on developing an Indigenously design RISC-V based Floating Point Unit (AI-FPU). Initially we were using PULP FPU as a benchmark for the verification of our designed AI-FPU.
However, during the verification process we encountered few cases where the PULP FPU was not 100% compatible with Whisper ISS. A glimpse of those errors is shown in the figure attach.

Thank you,
Regards:
Engr Hamza Shabbir
Research Associate
MERL

That's amazing, thanks @HamzaShabbir517
The OpenHW Group team is already working in fixing the divider, but this document will definitively be very useful for them
@lucabertaccini @MikeOpenHWGroup @pascalgouedo @JeanRochCoulon @jquevremont

Thanks for this @HamzaShabbir517!  As @davideschiavone indicated, the OpenHW Group has started a complete verification cycle of the CV32E40Pv2+CVFPU.  This effort is being led by @pascalgouedo.  In addition @lucabertaccini will be updating the DIV logic in the CVFPU.
This work has just begun, and we have encountered multiple issues (which will be captured as issues in this repository very soon).  Your input will be very useful to this effort.   As we get closer to completion of this verification effort, may we ask you to re-run your tests again?

@davideschiavone thanks for the quick response.
@MikeOpenHWGroup Sure please let me know as we have developed a Verification Environment in which we can generate Random Floating Point Numbers and we can also give millions of inputs to the design and compare the result against the ISS.
A glimpse is shown below.

Regards:
Hamza Shabbir
Research Associate
MERL

Hi there,
Since FNMADD and FNMSUB both produce false results with an inverted sign bit in your screenshots, can it be that the two ops are swapped in their encoding?
Cheers

@stmach Yes that's the issue the opcodes have been swapped


Display the S3 bucket name

When executing the amplify status command, the CLI returns some resource name that cannot be directly linked to the real storage in AWS such as the S3 bucket name
it would be useful to have a way to retrieve that information when we need to attach that resource name to other services.

@pchevallier there is no command for this at the moment but you can get this information from the amplify-meta.json file.


quick-file-edit showing double icons in chrome

Description

screen-capture.webm

for some reason this feature is causing the extension to show double icons when they're files inside of a github repo. I tested it only in chrome, and a video replicating it is linked above, below the image.
this issue started to happen after a few days, and today after being annoyed about it I searched what it was and using the Identify feature button of the extension, it reported it to me and showed that it was a recent feature added two days ago.
I hope this helps. ty!
How to replicate the issue + URL
enabling quick-file-edit feature should replicate the problem.
Extension version
23.5.6
Browser(s) used
Chrome

Duplicate of https://github.com/refined-github/refined-github/issues/6598


Provide docs on derivative items.

Metrics like net_packets_sent and net_packets_recv look like a skateboard ramp. Figuring out how to graph this w/o docs is about as likely as winning the Lottery. Here is a query that actually appears works which I only obtained through Googling:
SELECT non_negative_derivative(first(value), 1s) FROM "net_packets_sent" WHERE "host" = 'server01' AND $timeFilter GROUP BY time($interval), "host" fill(none)

:+1: I agree 100%, was actually planning on this being the topic of a blog post and doc page

Thank you @mabushey! I had the derivative query close but the scale seemed off. Using your query made Grafana do exactly what I needed for counter based data from Telegraf.
Looking forward to seeing the proper query syntax for InfluxDB in the docs and Grafana supporting it in the editor.

:+1:
This would indeed be very helpful.
I imagine bandwidth usage is a pretty common thing to display.

closing this out because we will be able to support this sort of thing when we implement #380, and TBH there's no way I'm going to have time to get to this, as well as it probably being a bit out-of-scope from a telegraf perspective.


Microphone not shared detection

Hey all,
Lately, we have been having increased support requests advising that agents aren't able to accept phone calls.
After digging into their agent logs, it appears we are getting a lot of microphone_not_shared softphone errors.
These are ranging from an hour since the previous call to straight after the previous call.
Due to the above, I suspect there might be some browser resource-saving processes going on.
Micro access returns to normal when the page is reloaded.
Is there a way to detect when microphone access is lost and then automatically reinitialize it without having to refresh the page for the agent?
Look forward to seeing what solutions others have come up with.
Thanks

We are also seeing this. Do you use connect-rtc as well ?

No we're not. We are using the AC web app.
At the moment, it appears to be relating to the browser trying to save system resources and killing off the rtc access.
We've noticed our busier queues don't appear to have these issues and it is only the areas that may only take a dozen or so calls a day.

I am seeing this issue too in one of my companies instances. Not sure if it is related, but the browser ends up in a crashing state while this is going on.


makes generated imports look more normal

The rationale for this change is that we should take the opportunity, when it arises, to make generated code look natural and typical (if possible).  While this isn't a logical change, it's hopefully worthwhile in the pursuit of making the generated outputs feel more normal.
Here's an example:
- import {Message, proto3} from "@bufbuild/protobuf";
+ import { Message, proto3 } from "@bufbuild/protobuf";

Note that this falls in line with Prettier's default as well.  In fact, that's how I found it. I was generating code and trying to aim for a final output that matched prettier's default formatting and this was the only thing that I wasn't able to make match as a downstream consumer of protobuf-es.

closing in favor of https://github.com/bufbuild/protobuf-es/pull/298 so I can switch from the remote to here


How to sent direct message

Hi,
Which service can i use for sent direct message ?
I create thread with DirectRepository. But how can i sent direct message?

Use ig.entity.directThread(id). There you can use for example broadcastText(text) to send text-messages.

I'm getting an error on ig.direct.createGroupThread :/
POST /api/v1/direct_v2/create_group_thread/ - 400 Bad Request; feedback_required

@paulpetone There are already issues related to feedback_required.


Update documentation regarding Marionette Regions and Layouts

The docs refer to the older version of Marionette with the older references and so someone who is not fully aware of Marionette would follow the examples to have it not work at all.
The references in question are:
var Layout = Backbone.Marionette.Layout.extend({
  template: _.template($('#template').html()),
  regions: {
    modals: {
      selector:   '.your-modals-container',
      regionType: Backbone.Marionette.Modals
    }
  }
});

It should be changed to:
var Layout = Backbone.Marionette.LayoutView.extend({
  template: _.template($('#template').html()),
  regions: {
    modals: {
      selector:   '.your-modals-container',
      regionClass: Backbone.Marionette.Modals
    }
  }
});

With "Layout" becoming "LayoutView" and "regionType" becoming "regionClass"

Can I ask why this was closed?


Enchantment misinterpretation

    @Override     public int getMinPower(int level) {         return 10 + 20 * (level - 1);     }
So according to what's in the source code, the formula is 10+20(Level-1) instead of 10(Level) %

Combo also has a mis-interpretation on its description.
    @Override
    public int getMinPower(int level) {
        return 5 + (level - 1) * 8;
    }

The result should be Each hit will apply the mark effect for 5 + (level -1) * 8 seconds

Well, according to what's I'm seeing. Idk of any other backend code that further edits the results

the get min power level method determines the minimum power level required by the enchanting table for the enchantment to appear. The code for the actual deflection is handled in the living entity mixin
if(source.isProjectile()) {
int deflectLevel = EnchantmentHelper.getLevel(CombatEnchants.DEFLECT, this.getEquippedStack(EquipmentSlot.CHEST));
if (deflectLevel != 0 && this.random.nextInt(100) < deflectLevel * 10) {
if(this.world instanceof ServerWorld)
{
((ServerWorld) this.world).spawnParticles(ParticleTypes.POOF, this.getX(), this.getBodyY(0.5D), this.getZ(), 5, 0.3, 0.5, 0.3, 0.0D);
}
cir.cancel();
}
}


Feature request  / 功能建议
如题，请问只能在sft或者dpo模型上进行微调吗？

base模型会在后续随所有中间checkpoint一起开源，需要一定时间准备，敬请期待～
The base model will be open-sourced in the future along with all intermediate checkpoints. It requires some time to prepare, so please look forward to it～

We have opensourced the intermediate checkpoints! check here


Java solver that's a contender for finding N=17

I knew a trick from my futile attempt to solve the challenge in Matt Parker's net folding video. (i.e. 'Can the Same Net Fold into Two Shapes?')
With that trick, I was able to find f(13) = 138457022 in less than 90 minutes. What's nice is that it doesn't have a big memory footprint and it could be distributed between multiple CPUs if needed. As of July 15th, I think the program can solve f(17) in about 8^4 * 90 minutes = 256 days... so maybe under a year? Currently, I'm planning on making it go slightly faster, and then documenting it, and then parallelizing it.
Here's the code:
https://github.com/hidny/MikeTsCubeCode/blob/main/src/NumPolyShapeSolve/DFSPolyCubeCounter.java

How do you store the already found polycubes to check if a polycubes is new ?
In my implementation (https://gitlab.com/dzamlo/polycubes), this is the issue, it consumes too much ram and is killed for n=14.
Regarding the speed, on my laptop with 16 threads, I can compute N=13 in less than 19 minutes, but my implementation is already multithreaded.
I also, f(13) = 138462649 not 138457022. See https://oeis.org/A000162 for value up to N=14.

Hi dzamlo,
The key is that I don't store the already found polycubes.
For every polycube I find, I have a function that does a 'race' to figure out if the cube and rotation we're using as a starting point for the polycube results in the 'first' time the polycube would be explored. That may sound impossible, but if you only develop the polycubes in a specific order (like in the order of a deterministic breath-first search), and not randomly,
there's 'only' 24*N different competitors every time you run the 'race'. (24 is the # symmetries and N is the number of cubes that could act as a starting point.)
The space usage is small ( O(n^3) ) (or lower if I really wanted it be), but the time taken is still exponential.
The time it takes is something like O( A * n * log(n) )
where 'A' is the number of answer which seem to increase exponentially, and n is the number of cubes.
I think I could do some simple changes to squeeze out a bit more performance. I'll make those changes and I'll make more formal documentation as soon as I have time.
Also, thanks for pointing out the error. I think the algorithm is correct and I just copied the number of solutions from the last heartbeat message... :(
I'll rerun to make sure it's the case. I'm sorry about that.

Thanks for reaching out by the way. And if were keeping score, N=13 took me around 28 minutes with the latest optimizations, but I just used a single CPU. Later on, I'll get my algo to be distributed to multiple machines, and get a speed boost that scales with the number of machines.

Well done for your work! I think you will flat out beat my implementation when you implement parallel processing.

I ported your implementation to rust: https://gitlab.com/dzamlo/polycubes2
It is slightly faster than your implementation (1m24 vs 2m55 for n=12 on my machine)
There is still some not very idiomatic code I need to fix.

I'm impressed! That was fast and the code looks great! Thank you for doing that! I noticed a few changes that I liked. For example, you were sane had the coordinates be x, y, and z, and used vectors instead of only using arrays. I hope that the activity of porting it over taught you what it does and why it does it.
There's two things I wanted to point out though:

The reason getNeighbourIndex(Coord3D point, boolean cubesUsed[][][]) looks like this:
`32 * (cubesUsed[point.a + nudgeBasedOnRotation[0][0]][point.b + nudgeBasedOnRotation[1][0]][point.c + nudgeBasedOnRotation[2][0]] ? 1 : 0)

16 * (cubesUsed[point.a + nudgeBasedOnRotation[0][1]][point.b + nudgeBasedOnRotation[1][1]][point.c + nudgeBasedOnRotation[2][1]] ? 1 : 0)...`
is because I was trying to tell the compiler that it should NOT do branching here. I was told that branching is an expensive operation and the getNeighbourIndex() function gets called a lot of times. Maybe you could try to ask Rust to do arithmetic instead of branching there? (I'm not 100% sure if it will make a difference) You motivated me to try making cubesUsed[][][] a multidimensional int array and check if that's faster.

I'm not quite done with the code yet. I'm currently planning on making something that will allow a program to start from any polycube shape at depth 4 (or some small depth d). That way, I could potentially have multiple programs running at the same time, and search different areas of the search space at the same time. But even if I don't add the depth 4 start code, your code seems to be fast enough to find N=17 in under a month... so we're getting there.

For you point 1., I tried multiple ways of rewriting it, it way that should avoid branching, but didn't see a diff in performance. After profiling, I didn't see this function as a hot spot.

Good to know. Sorry to bother you about that.

Apparently, there's more discussions in the open cubes repo. I didn't know that until now.

I was aware either, will check it out


Update version information

Summary by Sourcery
Chores:

Update the application version number from <IP_ADDRESS> to 0.9.5100.

Unittests failed because I  added too many parallel open pull request and that will crash the tests if they are already running for another pr.


Introduce intermediate superclass for both Dataframe and Series.

I've run into this enough times that I think it'll be valuable to have. (Pandas has such a class as well.)

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @TheNeuralBit


[BUG] LateInitializationError: Field 'cameras' has not been initialized

Describe the bug

 Fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: LateInitializationError: Field 'cameras' has not been initialized.. Error thrown .
       at CameraPickerState.didChangeAppLifecycleState(camera_picker_state.dart)
       at WidgetsBinding.handleAppLifecycleStateChanged(binding.dart:945)
       at List.forEach(dart:core)
       at ServicesBinding._handleLifecycleMessage(binding.dart:284)
       at BasicMessageChannel.setMessageHandler.<fn>(platform_channel.dart:235)
       at _DefaultBinaryMessenger.setMessageHandler.<fn>(binding.dart:581)

How to reproduce

Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
Error occurred.

Expected behavior

Screenshots (If contains)

Version information

Device: [Galaxy S23 Ultra]
OS: [Android 14]
Package Version: [4.3.1]
Flutter Version: [3.22.2]

Additional context

I am still looking for a way to reproduce. Will update.


Feature/pattern documentation2

Cherry-picked commit from feature/pattern_documentation

Extended documentation format to support GSN elements
HTML generator extended for OR
Multiplicity + Pattern Explanation

added reference to documentation

LGTM


minor updates to due to horizon theme

While testing for upcoming codejam on Nov 20th at Manila, Philippines, encountered few minor changes required in the BPA screenshots and texts since there were updates during TechEd due to Horizon theme.
Contribution repo PR: https://github.com/sap-tutorials/sap-build-process-automation-Contribution/pull/1679

@chaitanya-priya-puvvada @celineaudinsap Please approve and merge the PR.
CC: @thecodester


expandAllGroups do not work in row grouping

I'm submitting a ...  (check one with "x")
[x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
table.groupHeader.expandAllGroups() collapse all groups
Expected behavior
should exand all groups.
Reproduction of the problem
Here is the example. Just the same as your example of row grouping but adding button for expand and collapse.
https://lautarobock.github.io/ngx-datatable-bug-expand-all-groups/
What is the motivation / use case for changing the behavior?
I need this feature working
Please tell us about your environment:
Angular CLI: 1.6.0
Node: 6.11.3
OS: win32 x64
Angular: 5.2.9
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.6.0
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.4.6
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.0
@schematics/angular: 0.1.17
typescript: 2.4.2
webpack: 3.10.0

Table version: 0.8.x
"@swimlane/ngx-datatable": "^11.2.0",

Angular version: 2.0.x
"@angular/core": "^5.0.0"

Browser: [all]

Language: [all]

i'm seeing the same. collapseAllGroups() and expandAllGroups() both collapse the groups. Angular 5.2.9, ngx-datatable 11.2.0.

any news?

Hi, is there any ways to get the row is expanded or collapsed in row grouping?

A side note: Please make sure that groupRowsBy is not an object! It has to be an id, a name or something stringable & use trackByProp "id", "name" or whatever else you choose ...


ARM support?

I'm trying to run umami on a Raspberry Pi 4 (arm64, running in 32-bit mode).
The problem is that prisma doesn't provide precompiled arm binaries, which causes a fatal 404 error when prisma tries to download the binaries during umami build.
I've now compiled the needed binaries myself, however I can't get prisma to use them. I'm thinking that the necessary fix for that (https://github.com/prisma/prisma/issues/1329) is not yet included in the prisma version used in umami.
I've tried manually upgrading prisma to the latest version, but now I get errors about a missing prismal.yml file.
So my question is, could the prisma dependency be updated to a more recent version, i.e. one that will detect the environment variables and skip the binary download?

It's already using the latest released version. You can always upgrade to whatever pre-release version yourself by updating the package.json.

Alright.
Any advice on properly passing the envvars to prisma?

You'll have to ask the prisma devs. I don't know enough about it.

Got it. Already in contact with them :)

I figured it out. Yay :D

I figured it out. Yay :D

@Chaphasilor Would you be able to explain how you did it in this issue? It would be nice to have as a reference if anyone else is looking to do the same. If there's enough demand, we could also look at shipping ARM docker images.

@hugomd sure thing!
I already thought about doing this yesterday, but I simply was too exhausted.
Give me a few minutes to write down everything!

Okay for anyone who wants to try this as well:

Clone umami to your Pi. Install all dependencies and try to run npm run build.
You should get an error where Prisma tries to download precompiled ARM binaries, which aren't available yet.
Get the binaries for ARM. You can either download them from here or build them yourself. Keep in mind that building them yourself will take around 45 minutes on a Raspberry Pi 4 (4GB)
Set up the correct environment variables to tell Prisma about your custom binaries.
Insinde your umami folder, in ./prisma/.env, paste the following:PRISMA_QUERY_ENGINE_BINARY=<path to custom query engine binary>
PRISMA_INTROSPECTION_ENGINE_BINARY=<path to custom introspection engine binary>
PRISMA_MIGRATION_ENGINE_BINARY=<path to custom migration engine binary>
PRISMA_FMT_BINARY=<path to custom prisma fmt binary>

Now try running npm run build inside your umami folder again. You should receive a new error, about the platform arm-openssl-1.1.x being unknown. (If not, Prisma might have fixed this on their end)
Clone @fabianmoronzirfas's fork (outside of the umami folder).
cd into the folder and run git checkout origin/feature-raspberry-pi. I tried to do it without the origin part, but it didn't work for some reason.
Now check if the following is true:

src/packages/get-platform/src/platforms.ts contains arm-openssl-1.1.x in the first two exports
src/packages/engine-core/src/NodeEngine.ts contains arm-openssl-1.1.x inside the knownPlatforms array
If this is not the case, modify the two files accordingly.

Execute the first 4 commands in https://github.com/fabianmoronzirfas/prisma/blob/feature-raspberry-pi/CONTRIBUTING.md
If all commands executed without errors (warings about missing precompiled ARM binaries are fine), check if the two file from 6. are still modified. If for whatever reason they are not, modify them once again and run pnpm run setup again.
Now go back into the umami folder, and into package.json.
In the scripts section, replace prisma with the following: <absolute path to your clone prisma fork>/src/packages/cli/build/index.js.
The following scripts should be affected: build-db-schema, build-db-client, build-mysql-schema, build-mysql-client, build-postgresql-schema, build-postgresql-client.
Now try running npm run build again. It should hopefully work now!

I hope this helps anyone in my position :)

@Chaphasilor Hi, thanks for your writeup, however i can' tfind the builds for ARM64 on your gitlab link. I also tried to build with cargo build --release but it throw an error after a while. Would you know where to find builds ? Thanks a lot.

@Write hey, so I didn't actually use the prebuilt's I linked (found them only afterwards) but built the source myself.
Maybe you could share the error you're getting and we'll fix it that way?

@Chaphasilor
Here is the error after cargo build --release. Please note that i correctly installed all prerequistes including direnv and typing direnv allow

Thanks for the help

@Write I haven't encoundered that error, and it seems to be a recent change. Try reverting to an older version of the repo, should work just fine!

@Chaphasilor I didn't realised AARCH64 actually meant ARM64, successfully download introspection-engine, migration-engine and query-engine buils from gitlab, but it still miss fmt binary ?

@Write I'm not even sure you need that one...
But as I ssid, revert to an older commit (from around the time I posted my guide) and try again.
If this doesn't work I could try uploading you my binary :)

Yeah i'll try multiple things and report back here, thanks for the help should be enough now ;)

@Chaphasilor So the first 3 steps where enough, i didn't have issue with open-ssl.
I effectively took prisma source from ~20 days ago git checkout -b older 3012365f2e4e603dd75e4003ef67b77ade44b8ef
And then I successfully built prisma && umami !
Thanks a lot.

i didn't have issue with open-ssl.

nice, seems like they finally fixed this

I effectively took prisma source from ~20 days ago git checkout -b older 3012365f2e4e603dd75e4003ef67b77ade44b8ef

I'm guessing you mean the prisma-engine source, not the prisma source? The prisma source is already included with umami and was causing the problems with open-ssl :)
Anyway, glad that it worked out for you! :D

i didn't have issue with open-ssl.

nice, seems like they finally fixed this

I effectively took prisma source from ~20 days ago git checkout -b older 3012365f2e4e603dd75e4003ef67b77ade44b8ef

I'm guessing you mean the prisma-engine source, not the prisma source? The prisma source is already included with umami and was causing the problems with open-ssl :)
Anyway, glad that it worked out for you! :D

Yes prisma engine from your link sorry ! 😬

hey @Iqwertz,
I'm sorry but I haven't updated umami on my Pi in a while, so I can't give you a recent/supported version...
However, afaik Prisma has made improvements when it comes to ARM support (especially due to the release of the M1 Macs), so maybe you don't even have to compile anything?
Have you tried installing umami on your Pi?
If yes, what errors are you getting? :)

Thanks for your reply! I was able to compile the binaries! However I now have other errors;
When I try to run npm run build I get an error about open ssl (as you predicted) But now when I follow your steps and try to run prisma with  "pnpm run build" the build fails with
 ERROR  Command failed with exit code 2. Error: Error running pnpm run build in packages/debug:Error: Command failed with exit code 1: pnpm run build     at makeError (/home/pi/prisma/src/node_modules/.pnpm/execa@4.0.1/node_modules/execa/lib/error.js:59:11)     at handlePromise (/home/pi/prisma/src/node_modules/.pnpm/execa@4.0.1/node_modules/execa/index.js:114:26)     at processTicksAndRejections (internal/process/task_queues.js:93:5)     at run (/home/pi/prisma/src/scripts/setup.ts:92:5)     at /home/pi/prisma/src/scripts/setup.ts:41:7     at /home/pi/prisma/src/node_modules/.pnpm/p-map@4.0.0/node_modules/p-map/index.js:57:22     at run (/home/pi/prisma/src/scripts/setup.ts:97:11)     at processTicksAndRejections (internal/process/task_queues.js:93:5)     at /home/pi/prisma/src/scripts/setup.ts:41:7     at /home/pi/prisma/src/node_modules/.pnpm/p-map@4.0.0/node_modules/p-map/index.js:57:22
Here are some of the errors

Any Idea what the problem is?

To be honest I have no idea what the problem is. I believe the errors in the screenshot you shared are not a problem, they seem to be warnings and no break anything.
Have you followed the guide completely? And which version of the prisma-engine source code are you using?
From the previous replies it looks like newer versions might already support open-ssl, so it could be that your sources are not correct...

Okay I fixed the error apparently you have to uninstall mocha with the command " sudo npm uninstall @types/mocha.
"! But now I have this error (when running sudo npm run build) which seams more umami / prisma related:
`Database type detected: postgresql
Copied /home/pi/umami/prisma/schema.postgresql.prisma to /home/pi/umami/prisma/schema.prisma

<EMAIL_ADDRESS>build-db-client /home/pi/umami
dotenv /home/pi/prisma/src/packages/cli/build/index.js generate

Environment variables loaded from ./prisma/.env
Warning Precompiled binaries are not available for arm.
Warning Precompiled binaries are not available for arm.
Error: Schema parsing
error: Found argument '--enable-raw-queries' which wasn't expected, or isn't valid in this context
USAGE:
prisma-fmt
For more information try --help
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build-db-client: dotenv /home/pi/prisma/src/packages/cli/build/index.js generate
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build-db-client script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build-db script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-03-11T18_07_49_977Z-debug.log`

Hmm, iirc prisma-fmt wasn't required for umami back then, or didn't have to be built by me. Not sure though...
I really have no idea how to fix this, sorry ://

Okay! Thanks for youre help anyways! I will continue to dig threw the errors....

Hi,
I'm trying to achieve the same thing on a Rpi 3 b+.
I found a guy trying to make prisma builds here: https://github.com/ImBIOS/prisma-armv7-builds
He raised an issue here: https://github.com/prisma/prisma-engines/issues/3881
I hope we will achieve to find a solution.
Otherwise, somebody know another alternative to umami that work on a pi easily without docker?
Thanks

Hello, I thought there would be no Umami Support for Linux ARM (Raspberry Pi), but surprisingly I found an image
ghcr.io/umami-software/umami:postgresql-v2.10.2@sha256:fd5136fda6644903b9fc7a388776ea1f3f8c77f36fdf6abc9dbec155348a37c4
By default it would not pull the arm image but the amd one, maybe we can fix that.
Anyways here is the Link where I found it: https://github.com/umami-software/umami/pkgs/container/umami


Refresh reference/bindings/ website pages.

This updates the "API bindings" category of the website, focusing on:

Which languages have API bindings, and which features those bindings support
Explaining API concepts with diagrams (docstrings -> reference pages would be cool too: https://github.com/openxla/iree/issues/5477)
Showing how to depend on IREE to use those APIs (the mechanics of using shared libraries and C/C++ sources)

NOTE: This is not fully finished yet, but I think it's ready to checkpoint and publish as-is

Current section
https://openxla.github.io/iree/reference/bindings/

Preview of this PR
https://scotttodd.github.io/iree/reference/bindings/

I'm also removing the (empty) bindings/tensorflow-lite/ page. I'm not aware of anyone using those bindings, and the source should have enough comments for a motivated user to find their way :crossed_fingers: (closes https://github.com/openxla/iree/issues/5462).

Ping? I'll likely have a follow-up for this that adds more concrete examples and links to the latest template repos, but I'd like feedback on the overall structure, accuracy of the diagrams, and other details in this first pass.


imageView.kf_load("http://your_image_url.png") shortcut

Thanks for this excellent library!
What do you think of adding a shortcut to kf_setImageWithURL make sense? I was thinking something like imageView.kf_load("http://your_image_url.png") or imageView.kf_setImage("http://your_image_url.png").
These add nothing new, functionality wise, just a nicer syntax.

It's a good shorthand and I'd like to see it in Kingfisher.
Would you mind to add it and send me a p-r? I'd prefer "kf_setImageWithURLString" as the API name for Swift 2.2, which would be verbose and more suitable for current API guide.
And I could later give it a more Swifty name in Swift 3.0.

In Swift 3, we made Resource a protocol and to be the only acceptable thing for any extension method. Now you can implement this easily by making String adopt to Resource protocol.
I guess we could make it default in a later update.

After some reconsideration, it's better to leave it to users of framework.


Improve Element example in README

This improves the Element example in README by adding pointers for get_child()
and get_attribute().

thx :)

@Florob ping

pong.
Sorry, not ignoring you I was just preoccupied with FrOSCon. Thank you for the patch.
I'm not quite happy with this though. Blindly unwraping Options is an anti-pattern IMHO, and I try to avoid it, even in documentation. If you'd instead use Option::and_then() and Option::expect(), to get to the href, or make href and Option<&str>, I'll gladly merge this.


Incorrect cookie date handling (expires dates) - maybe?

Boots.com website returns cookies with expires values that look like this:
Thu, 26-Jun-14 18:59:59 GMT
Thu, 01-Dec-94 16:00:00 GMT

Notice the years are 2 digits only. But when they are parsed with tough-cookie like so:
var tough = require('tough-cookie');

console.log(tough.parseDate('Thu, 26-Jun-14 18:59:59 GMT'));
console.log(tough.parseDate('Thu, 01-Dec-94 16:00:00 GMT'));

...the output I get is:
Mon Jun 26 142000 19:59:59 GMT+0100 (BST)
Invalid Date

Note the year 142000. For an example page on Boots.com that returns lots of cookies check out the login page at https://www.boots.com/webapp/wcs/stores/servlet/LogonForm?storeId=10052&langId=-1&catalogId=11051&URL=http%3A%2F%2Fwww.boots.com%2F
Now, an actual browser, such as Chrome, will parse these dates correctly. So who's in the right here, Chrome or tough-cookie? Are 2 digit years valid dates in the cookie spec? Is tough-cookie just being too strict?
I came across this problem when scraping the Boots.com website with 'request' and raised a bug there https://github.com/mikeal/request/issues/948 . But since request uses tough-cookie they suggested raising the issue here.

@stash any progress on this?

Fixed in #30. Released with<EMAIL_ADDRESS>


Azure API Bug

Hello, I encountered some difficulties while using it, so I would like to ask for your advice.
Describe the bug
export OPENAI_KEY= 'My Azure API'
Then
pentestgpt-connection --baseURL https://{MY-resource-name}.openai.azure.com/openai/deployments/{MY-deployment-id}/completions?api-version={2023-07-01-preview}
The following error occurred
Your CHATGPT_COOKIE is not set. Please set it in the environment variable.
You're testing the connection for PentestGPT v 0.11.0
#### Test connection for OpenAI api (GPT-4)
Traceback (most recent call last):
  File "/Users/mypc/venv/lib/python3.9/site-packages/pentestgpt/utils/APIs/chatgpt_api.py", line 81, in _chat_completion
    response = openai.ChatCompletion.create(
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_resources/chat_completion.py", line 25, in create
    return super().create(*args, **kwargs)
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create
    response, _, api_key = requestor.request(
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_requestor.py", line 298, in request
    resp, got_stream = self._interpret_response(result, stream)
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_requestor.py", line 700, in _interpret_response
    self._interpret_response_line(
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_requestor.py", line 765, in _interpret_response_line
    raise self.handle_error_response(
openai.error.InvalidRequestError: Resource not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/mypc/venv/bin/pentestgpt-connection", line 8, in <module>
    sys.exit(main())
  File "/Users/mypc/venv/lib/python3.9/site-packages/pentestgpt/test_connection.py", line 47, in main
    result, conversation_id = chatgpt.send_new_message("Hi how are you?")
  File "/Users/mypc/venv/lib/python3.9/site-packages/pentestgpt/utils/llm_api.py", line 225, in send_new_message
    response = self._chat_completion(history)
  File "/Users/mypc/venv/lib/python3.9/site-packages/pentestgpt/utils/APIs/chatgpt_api.py", line 119, in _chat_completion
    response = openai.ChatCompletion.create(
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_resources/chat_completion.py", line 25, in create
    return super().create(*args, **kwargs)
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create
    response, _, api_key = requestor.request(
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_requestor.py", line 298, in request
    resp, got_stream = self._interpret_response(result, stream)
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_requestor.py", line 700, in _interpret_response
    self._interpret_response_line(
  File "/Users/mypc/venv/lib/python3.9/site-packages/openai/api_requestor.py", line 765, in _interpret_response_line
    raise self.handle_error_response(
openai.error.InvalidRequestError: Resource not found

I can be sure that there is no problem with my API and URL, it can be used.
Version
GPT-4
Thank you very much.

Hey there, sorry I don't have an API key for Azure, so I cannot do debugging/fixing now.
I'll find some way to test it with Azure and update the code.

thank you so much！

I have the same error, how should it be configured using the Azure API? Thanks


Fix Input is lost upon opening search page

Details

All details here: https://github.com/Expensify/App/issues/6069#issuecomment-1081325429
Gist: Autofocus on TextInput breaks the animation because the browser scrolls to the TextInput!
Making the card's position: fixed solves this problem. However, mobile doesn't support position of type fixed. So a create a native file is created which uses the old implementation.
Fixed Issues

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

Sign into New Dot with any account
Press ⌘K to open the search view and immediately start typing
Verify that all of the text you have typed is captured.

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

PR Review Checklist

Contributor (PR Author) Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is

[x] If a new CSS style is added I verified that:

[x] A similar style doesn’t already exist
[x] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

PR Reviewer Checklist

[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

QA Steps

Sign into New Dot with any account
Press ⌘K to open the search view and immediately start typing
Verify that all of the text you have typed is captured.
Verify that other RHN screens don't have any regressions.

[ ] Verify that no errors appear in the JS console

Screenshots

Web

https://user-images.githubusercontent.com/29673073/162629477-a3176ddc-e80f-412d-a200-793ae65e6380.mov
Mobile Web - Safari

https://user-images.githubusercontent.com/29673073/162630699-69725198-b726-4ebf-8bfe-c079e874ff4d.mov
Mobile Web - Chrome (Android)
https://user-images.githubusercontent.com/29673073/162633768-80951617-fff6-473e-879f-0f7e3410fc20.mp4
Desktop

https://user-images.githubusercontent.com/29673073/162631049-1f04d658-53cf-4fdf-893e-3e7d84a141aa.mov
iOS

https://user-images.githubusercontent.com/29673073/162630364-9c03f02b-afdb-4d8b-8ae8-456ecff9a881.mov
Android

https://user-images.githubusercontent.com/29673073/162634495-f1bc48db-b71d-4450-9042-30ccf44e1080.mp4

I'm not sure why you were requested for a review in a draft PR.

Unrelated console error
Reported on slack here - https://expensify.slack.com/archives/C01GTK53T8Q/p1649611541508959

I'm not sure why Marc was requested for a review in a draft PR. (I'm guessing it's because I'm modifying Navigation related files)

Pretty much that. 😄 I am keeping tabs on a few areas of interest to me. Mostly so I can stay current on the code but also to offer assistance with any areas that might be confusing.

Mostly so I can stay current on the code but also to offer assistance with any areas that might be confusing

That's interesting. Gotta love github to make this possible and so simple.

@Luke9389 all yours!

checkin this out now...

: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 @Luke9389 in version: 1.1.57-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @chiragsalian in version: 1.1.57-17 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

d'oh.. this is the PR and not the actual issue :)
:ohnothing:


GSSAPI Kerberos Authentication: wrong Token ID

Versions

Sarama
Kafka
Go

1.29.1
Cloudera Kafka
1.17.1

Configuration
Sarama setup
config := sarama.NewConfig()
config.Producer.RequiredAcks.    = sarama.WaitForAll
config.Producer.Retry.Max        = 10
config.Producer.Return.Successes = true

config.Net.SASL.Enable                    = true
config.Net.SASL.Mechanism                 = sarama.SASLTypeGSSAPI
config.Net.SASL.GSSAPI.ServiceName        = "kafka"
config.Net.SASL.GSSAPI.AuthType           = sarama.KRB5_KEYTAB_AUTH
config.Net.SASL.GSSAPI.KeyTabPath         = "./username.keytab"
config.Net.SASL.GSSAPI.KerberosConfigPath = "/etc/krb5.conf"
config.Net.SASL.GSSAPI.Username           = "<USER>"
config.Net.SASL.GSSAPI.Realm              = "<REALM>"
config.Net.SASL.GSSAPI.DisablePAFXFAST    = true

Kafka setup is unknown
Logs
logs: CLICK ME

[sarama] 2021/09/14 14:17:50 Initializing new client
[sarama] 2021/09/14 14:17:50 ClientID is the default of 'sarama', you should consider setting it to something application-specific.
[sarama] 2021/09/14 14:17:50 ClientID is the default of 'sarama', you should consider setting it to something application-specific.
[sarama] 2021/09/14 14:17:50 client/metadata fetching metadata for all topics from broker <BROKER>:9092
[sarama] 2021/09/14 14:17:51 Error while performing GSSAPI Kerberos Authentication: wrong Token ID. Expected 0504, was 6030
[sarama] 2021/09/14 14:17:51 Closed connection to broker <BROKER>:9092

Problem Description
For some reasons it looks like sarama has difficulties connecting to our team's Kafka using keytab
I've seen similar issue raised #1400 but it was closed with suggested solution that didn't work for me - unfortunately
I've used different options for krb5.conf and keytab file
1.
permitted_enctypes   = rc4-hmac
default_tgs_enctypes = rc4-hmac
default_tkt_enctypes = rc4-hmac
default_etypes       = arcfour-hmac-md5
default_etypes_des   = des-cbc-crc

with keytab encrypted with RC4-HMAC gives an error I outlined above
2.
# These options were suggested in #1366 (which was mentioned in #1400 )
default_tgs_enctypes = aes256-cts-hmac-sha1-96
default_tkt_enctypes = aes256-cts-hmac-sha1-96
permitted_enctypes   = aes256-cts-hmac-sha1-96

with keytab encrypted with RC4-HMAC gives an error
[sarama] Kerberos client error:
[Root cause: Encrypting_Error] KRBMessage_Handling_Error: AS Exchange Error: failed setting AS_REQ PAData for pre-authentication required < Encrypting_Error: error getting key from credentials: matching key not found in keytab. Looking for [<USER>] realm: <REALM> kvno: 0 etype: 18

which I believe means that there is a mismatch in encryption, so I've tried keytab encrypted with AES256-CTS-HMAC-SHA1-96 and it gives an error
[sarama] client/metadata got error from broker -1 while fetching metadata:
[Root cause: KDC_Error] KDC_Error: TGS Exchange Error: kerberos error response from KDC when requesting for kafka/<BROKER>: KRB Error: (14) KDC_ERR_ETYPE_NOSUPP KDC has no support for encryption type

which I believe means that our Kerberos system is not set to accept AES256-CTS-HMAC-SHA1-96 at TGS step
So I tried to change default_tkt_enctypes = aes256-cts-hmac-sha1-96 to default_tkt_enctypes = rc4-hmac which returned an initial error (about wrong Token ID)
Any suggestions on how to get it working?

@ilyadiff
There is no solution to that one yet - Sarama uses gokrb5 for Kerberos, and that package has a bug of not handling rc4-hmac (though it states it can handle it), see https://github.com/jcmturner/gokrb5/issues/460
I started to look into it, but feels like it is much work there (never touched Go or Kerberos protocol before) so unless someone else pick the issue, the fastest solution is probably to make your Kerberos uses modern enctypes
@wormlocust - unfortunately your solution didn't work for me, so probably you had some other issue :) but maybe it would help someone else

Update to the previous message
I've started to look into the issue and while I was able to

add support for RC4-HMAC to gokrb5 in my fork
update Sarama code to choose correct wrapToken

when connecting to Kafka brokers I am getting connection reset by peer so I believe

GSSAPI tokens are not properly handled in my fork OR
Sarama is not handling SaslV0 correctly

So investigation continues


Updating Gateway hostname to more closely match HTTPRoute hostname

In issues #403 and #410 I'd proposed this approach as a way to both simplify defaults and more closely match HTTPRoute configuration. I thought it would actually be helpful to actually try this out and see how it would actually work and if it would actually make sense. If this does end up making sense, it will fix #403 and #410.
/cc @jpeach @hbagdi

This makes host matching consistent across Gateway and HTTPRoute (and potentially other rouetes which have the concept of hot).
+1

/retest

/retest

@robscott this PR needs rebasing.

@danehans rebased now, thanks for catching that!

Fixes #206

/lgtm


GoAccess submitting aggregate data to MySQL

Is it possible to make GoAccess count views from Apache log (single server) in real-time and submit the aggregate data to MySQL according some threshold? (ex: each 5 min or 1KB)

It's not possible. Could you please describe a use case for this? Thanks.

Could you please describe a use case for this?

Suppose you wanna count views and update MySQL aggregate table out of the client request cycle.
It seems that the most common way to achieve that is via ELK stack. Unfortunately, for a single server, ELK stack is to much complicated. Therefore, I'm looking for lighter alternatives.

I'm working on a more robust on-disk storage which more likely will support wither postgres or mysql. This will replace the existing on-disk implementation. Please stay tuned for the upcoming release.

@allinurl Mind to give more details?

Is this gonna be an improvement of GoAccess or it will be a completely new web analytics software?
Still FOSS?
Still lightweight?

It's just a change on the current on-disk implementation. Always FOSS, and lightweight too.

Any release date forecast?

That would be a really nice to have.
A changeable DSN like mysql://user@pasword:server/database insteat of slite3://path/to/folder


mariux/update 3.x aws provider

Add support for aws provider 3.x
Prepare CHANGELOG for 0.1.0 release

https://github.com/mineiros-io/terraform-aws-s3-bucket/pull/41 needs to be released first

https://github.com/mineiros-io/terraform-aws-iam-role/pull/15 needs to be released first


Integration Test - Release - 2021/09/14 21:47:59

Auto create for integration test. IssueCommandFlow

#pri1

Just type '#pri3'

#pri2

#pri3

#assign PRMergerTest1

#assign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#reassign PRMergerTest2

GitHub user PRMergerTest2 has been removed from the MicrosoftDocs organization, so they were automatically removed as an assignee.

#reassign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#please-close


[NFR] Add support for passing variables by reference

I want to do this
zephir code
class ZephirClass {
    public static function passvar( & a ) {  // this line parse error
        let a["xxx"] = "999999";
   }
}

php code
<?php
$a = ["xxx" => "11111"];
ZephirClass::passvar( $a );
echo $a["xxx"]; // output 99999

is there a way to do this ?

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Almost year ...
Is any progress by this ticket? Please, give us a hope )

Actually I think this issue is irrelevant due #609.

when Support reference parameters?

Hi everyone, I have a simple solution for this problem: use a PHP function for the task of returning a reference.
I have been searching for a solution to this problem for the past couple of days, and managed to get the function that requires references to work by doing the following;
`<php
// In your PHP
function refValue( $val )
{
$ref = &$val;
return $ref;
}
?>`
After you have created the refValue function in your PHP file, you can then use it in Zephir as follows;
`
// In your Zephir source code
var avar = "passed by value";
var bvar = "passed by reference";
some_function( avar, refValue( bvar ) );
`
I have successfully used this method to get a function that requires references ($mysqli->bind_param()) to work in Zephir.
Goodluck people! HTH

Se puede probar esto：
var $funcVal2Ref = eval("return function &($v) { return $v; };");
array $arr = [];
var $ref = {$funcVal2Ref}($arr);


Add Gemini AI KMP App to Samples

I wanted to add Gemini AI KMP App (https://github.com/Coding-Meet/Gemini-AI-KMP-App) to the samples list. The Gemini AI KMP App is a Kotlin Compose Multiplatform project designed to target Android, iOS, Windows, macOS, Linux, and Web platforms. It is an application by Gemini AI where you can retrieve information from text and images in a conversational format. Additionally, it allows storing chats group-wise using SQLDelight and KStore, and facilitates changing the Gemini API key.

Hi @Coding-Meet, thanks for building projects with Compose Multiplatform 🎉
At the moment, we're not planning on expanding the list of examples on the page (this may change again in the future) – because the time and attention we can spend to keep an eye out on the projects, see how they are maintained, and keep an overview of their quality is limited.
However, we recently introduced the new Kotlin Multiplatform Sample topic on GitHub that's linked from this page. I suggest adding this topic to your project – it will allow people from the community to easily discover your project! 👍


Storybook >Charts>Stacked Chart> Small and large mobile view, Tablet, reset viewport is not display proper.

Describe the bug
Charts>Stacked Chart> Small and large mobile view, Tablet, reset view port is not display proper.
To Reproduce
Steps to reproduce the behavior:

Go to 'Charts'
Click on 'Stacked Chart'
Click on 'Stacked Chart'

Screenshots
Small Mobile-

Large Mobile -

Tablet-

Reset viewport -

Desktop (please complete the following information):
-OS: [Windows 10 Enterprise]
-Browser [ edge]
-Version [ 125.0.2535.92]
Smartphone (please complete the following information):NA

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

For small and large mobile view, View Report is not displayed proper.

Completed -


When using hash history, Link doesn't change activeClassName depending on initial url

Fixed by #313.


Home mini electricity data no longer updating every minute

Describe the bug
sensor.octopus_energy_electricity_REDACT_current_demand (linked to the Home mini) is no longer updating each minute. The API would generally seem to be working as Octopus App and octoaid are showing live data, but this sensor seems only to be picking up new values c. every 30 minutes
Reproduction steps
ongoing
Expected behaviour
expect updates every minute (sensor is currently calling every minute still, but not returning new data)
Tariff Code
E-1R-INTELLI-VAR-22-10-14-H
Integration Version
11.1.1
Home Assistant Version
2024.6.2
Fresh Install?
Not specified
Home Assistant Logs
home-assistant_octopus_energy_2024-06-14T15-40-18.911Z.log
Confirmation

[X] I confirm that I cannot find my solution within the documentation
[X] I confirm that I cannot find my solution within the FAQ

actually this is back behaving the same way again - only updating every 30 mins.

I've also noticed this today.   It may have coincided with me updating home assistant.

I've also noticed this today. It may have coincided with me updating home assistant.

I updated HA Core today, but only after I noticed this recurring, and it hasn't made a difference!

Yup same issue here. Although it happened after a local powercut...

I'm seeing half-hourly updates from the Home Mini since 2pm today.
Home Pro and Glow are reporting normally.

Same for me - today afternoon it started updating only once every 30 minutes - I didn't change or update anything when that happened. Since then I updated HA core and this integration but to no effect

I noticed the same issue today. No errors in logs relating to this integration.

Hello and sorry that you're seeing this issue. I haven't personally seen this. Can you keep track of the data_last_retrieved field? This should update at the frequency that you've specified. If it is, then it's suggesting an issue with the API not updating the data. If this isnt the case, there should be warnings in your logs around using cached data.
Another thing to bare in mind is if you're accessing the data in other ways (e.g. octowatch) as this will count towards your hourly limit which is 100 times an hour for the specific API across all meters.

Hello, just to say this is happening to me too, about 14:00 yesterday and hasn't resolved yet. I don't have any other methods of accessing the data.
Anthony

Same for me too sincde around 2pm yesterday

Same is happening for me too, also since 2pm yesterday. The data_last_retrieved attribute is updating approximately every minute though but the actual reading updates every half an hour.

Same for me, since 2pm yesterday (17/6/24) I started getting updated only every 30 mins. I haven’t made any changes to my system or anything octopus since weeks ago.

My Last Retrieved time is updating every minute as configured, I'm not running any other Octopus apps, and I've unplugged my Home Pro - no change, must be an issue at the Octopus end.

just to add to my comments above, i'm still getting (when i choose to look) updates every minute on the Octo-Aid app, which is driven by the API. I don't have anything else that auto-calls on the API, so it's not an API limiting matter as far as I can see.

Not much to add, but I'm seeing the same.  For me started at 2pm yesterday ... maybe related to when I updated to 11.2.0 ?

+1 for the 2PM yesterday
I updated to the latest version today, before that I was a few versions behind.

I've raise this within the forums so awaiting a response.

Just want to add a +1 for me as well. The data_last_retrieved attribute is updating approximately every minute though but the actual reading updates every half an hour. Also only using Octo-Aid. I did have the Glow IHD working for near realtime reporting right up until saturday when I had 5 back to back power cuts over the course of an hour which seems to have blown up the IHD/smart meter comms hub :(

+1 I'm also having the issue from about 2pm on 17th June 2024. With so many having the issue it does suggest a change in Octopus Energy and.

I’m also having this issue - have tweeted @agilephil at Octopus to see if this is an issue with Octopus.

I have the same symptoms starting precisely 2PM on 17th.  My Home Assistant (except the DB) is in its own VM so I rolled back to a snapshot from the 16th.  The issue was still there with this snapshot; this appears to rule out local software of config changes, and points to a change in the behaviour of the OE API.
For info... My OE App is still providing minute by minute data.  By comparing this to hass, it seems the data being provided by OE is the consumption for one minute every 30 minutes (not the average over those 30 minutes); so the data is particularly misleading now.

So - I've had a reply from @agilephil - he doesn't suggest any problems with the Octopus API - but has suggested the issue may be the API rate limit.  I find this a little strange - as I thought the rate limit was 100 per hour - and I've only ever requested 1 minute updates - and has been working fine for the last year or so.

So - I've had a reply from @agilephil - he doesn't suggest any problems with the Octopus API - but has suggested the issue may be the API rate limit. I find this a little strange - as I thought the rate limit was 100 per hour - and I've only ever requested 1 minute updates - and has been working fine for the last year or so.

It seems odd that it would be the API rate limit, bearing in mind that (should I chose too), i can watch the same minute-frequency updates in Octo-Aid (and that's still working). Note that i don't habitually do this, so I don't think it's an issue with overall API calls because i'm using them with another device/system.

I wonder what API call OctoAid is using it is still working there?

I don't have access to the source code for octoaid, but my guess is it's doing demand and consumption separately or requesting the deltas at a granular level. Granular deltas is an option, but I'm worried about people restarting their HA instances closer to midnight that could result in up to 1440 records being returned instead of the current max of 48. To minimise the input I would need to cache the results between restarts, and be smart so I don't write too much to disk.

I noticed the same issue today. No errors in logs relating to this integration.

So - when I look back at my history - mine seems to have stopped working at exactly the same time as yours - just after 1400 on the 17th.  Not sure if this is relevant/exactly the same for others?

This has alolao started happening on ours the last couple of days

+1 for us too. Only updating every 30 mins. Last evaluated and last retrieved updates every minute as per config, but value doesn't update

+1 Same issue, same start time. 17th June 14:00.

Same on ours as well:

Last value change on the minute was at 14:01:56 the 17th on our HA instance, then it switched to half hours where the value changes even though it does get pulled every minute as usual.
Other anomalies on our historic data are me resetting the network, where the line has a break and, weirdly, one instance of the value changing twice in successive minutes around 16:01.
@BottlecapDave you mentioned before that you hadn't seen this personally. Is that still the case? Just trying to understand if this is associated with our account/tariff/usage.

I noticed the same issue today. No errors in logs relating to this integration.

So - when I look back at my history - mine seems to have stopped working at exactly the same time as yours - just after 1400 on the 17th. Not sure if this is relevant/exactly the same for others?

I got the same issue which occurred just after 2pm on the 17th too

The environment where I'm seeing this issue:
Devices: Home Mini & Ohme Home Pro EV Charger - nothing else accessing my account I am aware of exchept very infrequent use of Octopus app and web site.
Tarrifs: E-1R-INTELLI-VAR-22-10-14-J & G-1R-LOYAL-FIX-12M-24-02-24-J
HASS: bottlecapdave integration v11.2.0 on hass 2024.6.3 in python 3.12.4 venv on ubuntu LTS 22.04.4 in VM on XCP_NG 8.3 hypervisor
Rolling back to snapshot prior to 17 June didn't help. Setting the query interval to 5 mins instead of 1 min doesn't help.

Does anyone have access to the forums at https://forum.octopus.energy/login ? Maybe others have been discussing similar regarding API's? I have just sent them an email as per the bottom of the page at https://octopus.energy/dashboard/new/accounts/personal-details/api-access

I've just observed that as of sometime between 17th June and end of 18th June, the cumulative consumption sensor also started only returning new information every thirty minutes (attempted to put a history graph screen shot in), which suggests this is more widespread in terms of how data is being returned from the API?

@sdjmchattie nope I'm seeing it as well. It feels like they changed the behaviour of how the demand is reported in a grouped scenario. I want data grouped by half hour for consumption sensors, but want the latest demand for the demand sensor. This used to work fine, but the demand now seems to be an average over the grouped period. I'd make two calls if it wasn't for the hard request limit on this API, which the integration is already pushing.
I'm still waiting for a response, but if I have time over the weekend I'll start looking at making delta calls with finer grouping (which will probably be worse for their servers in scenarios where a user is at the end of the day that needs the whole days worth of data for some reason (e.g. no internet all day)

I think this may now be resolved fingers crossed just started updating every 60 seconds or so. Thanks for the fine work!

Confirm that around 8.46 today I started getting more regular data, seems to be working as designed again. Fingers crossed.

Same here that it's suddenly started working again.

same here around 8:47am this morrning

Improved but not resolved, I'm currently seeing updates at 2 minute intervals.

yes also every minute here

Mine is also back to updating one a minute

Well if that's fixed, it will save me a job over the weekend :). They responded this morning saying they'll check with the relevant teams so maybe they've reverted whatever they were doing before?

@pcb1962 the time might not change if the value of the demand doesn't change between retrieval of data (HA thing beyond my control), as it looks like you have some updates that are 1 minute apart.

Yep, fixed for me as well (just as the home pro dropped through the letterbox!)

Fixed here as well

@BottlecapDave  - brief note of appreciation for all your hard work on this integration - do you want to leave this open for now pending whether you find anything out from Octopus with respect to the root cause, so we've got this archived for future reference, or just close it now? I'm a novice at this, so probably have the etiquette all wrong! Thanks

Thanks for the appreciation:) I'll leave it open for a few days just in case, but it sounded like from OE it has been resolved on their end. I might look at changing how things are done in the future, but that will be a separate ticket.

Closing as this seems to be fixed now


doc: OPENSSL_CORE_CTX should never be cast to OSSL_LIB_CTX

Checklist

[x] documentation is added or updated

Should we include a reference to the child libctx functions here? Most likely people wanting to call core_get_libctx() probably should be using a child libctx instead.

Merged to master and 3.0 branches. Thank you for the reviews and discussion.


Scraper for Iceland (ISL)

The Directorate of Health and The Department of Civil Protection and Emergency Management (Government of Iceland)
Meets our minimum requirements for sources. Provides:

Tests per day (timeseries since 2/27)
Number of new infections per day (since 2/28)
Percentage of diagnoses during quarantine (since 2/28)
Snapshots of: gender split, origin of infection, infections and quarantines by region, age distribution, number of confirmed cases, number in isolation, number hospitalized, number in intensive care, number recovered, number in quarantine, number out of quarantine, number of tests.
Deaths (4 as of this writing) is in a short paragraph and spelled out:

Location name: Iceland
URL:
Data page, with charts and links to CSVs (note language selection at top right; the orange button is the cookie acceptance). This appears to simply be embedding this:
https://e.infogram.com/e3205e42-19b3-4e3a-a452-84192884450d
Beneath each chart there's a link to a CSV, but it can't simply be copied and pasted (this is some sort of Tableau-type thing I think)

Added this to the potential cache-only source list here; see #671


Micro benchmark tool for global freelist

To measure the performance of global freelist with several conditions.
Background: @c-taylor pointed out ATS doesn't perform well with some specific number of threads. ( - e.g. 24 ET_NET threads on 64 core ) The main bottle looks like ink_freelist_new. This benchmark gives us some clue of what number is the best with which thread affinity settings.

[approve ci clang-analyzer]

@duke8253 is going to look at this.


MQTT Publish message with QoS0 always return success even if there is some error at network level

Describe the bug
While Publishing MQTT QoS0 message using Sync or Async API it always return SUCCESS status because the operation is actually async internally and uses MQTT operation scheduling.
System information

Which hardware board or part numbers?
We are using custom NRF52 based system BG96 WAN module connected to it to communicate with AWS IoT.
IDE used
Operating System [Windows|Linux|MacOS]
MacOS
Version of FreeRTOS (run git describe --tags to find it)
We are using master branch at commit https://github.com/aws/amazon-freertos/commit/7878b52cde429bd1c8ce152a85fa74b8230d381a
Project [Custom Application]
If your project is a Custom Application, please add the relevant code snippet in the section
We are using Amazon FreeRTOS network interface implementation (iot_network_freertos.c) with MQTT lib. Implemented custom socket API so that it can be used in iot_network_freertos.c. This should be reproducible whenever underlying socket is closed abruptly.

Expected behavior
Ideally MQTT lib should be aware of the internal socket closer, but I did not find any mechanism in AFR IoT Network implementation where in can notify about this to the MQTT lib. In function which is dedicated for network recv task (_networkReceiveTask) it just exits if the socketStatus value is negative without notifying this to to the MQTT lib.
If we land up in the situation mentioned above and try to send QoS0 message will always get the SUCCESS status from MQTT API, but internally it actually fails at MQTT operation level.
This gets resolved if keep alive job kicks in and closes the connection after there is network error while sending the PING request.
But we have set keep alive at MAX value because it most of the times leads to disconnection even if there is active traffic on the MQTT connection. That is separate issue.
Screenshots or console output
Since we are using TLS as well we get mbedTLS internal error:
1865 529394 [OTA Agent Task] [INFO ][MQTT][529394] (MQTT connection 0x2000bba8) MQTT PUBLISH operation queued.
1866 529394 [OTA Agent Task] [prvRequestFileBlock_Mqtt] OK: $aws/things/<ThingName>/streams/AFR_OTA-e381ce72-e75f-43d0-b05f-787afd91fa4a/get/cbor
1867 529395 [OTA Agent Task] [prvOTAAgentTask] ,Heap low watermark: 23176. Stack high watermark: 1349.
1869 529395 [iot_thread] [ERROR][NET][529395] Error -27648 while sending data.
1870 588225 [iot_thread] [WARN ][THREAD][588225] Timeout waiting on semaphore 0x2002a014.
1871 589394 [OTA Agent Task] [INFO ][MQTT][589394] (MQTT connection 0x2000bba8) MQTT PUBLISH operation queued.
1872 589394 [OTA Agent Task] [prvRequestFileBlock_Mqtt] OK: $aws/things/<ThingName>/streams/AFR_OTA-e381ce72-e75f-43d0-b05f-787afd91fa4a/get/cbor
1873 589395 [OTA Agent Task] [prvOTAAgentTask] ,Heap low watermark: 23176. Stack high watermark: 1349.
1875 589395 [iot_thread] [ERROR][NET][589395] Error -27648 while sending data.
1876 648225 [iot_thread] [WARN ][THREAD][648225] Timeout waiting on semaphore 0x2002a014.
1877 649394 [OTA Agent Task] [INFO ][MQTT][649394] (MQTT connection 0x2000bba8) MQTT PUBLISH operation queued.
1878 649394 [OTA Agent Task] [prvRequestFileBlock_Mqtt] OK: $aws/things/<ThingName>/streams/AFR_OTA-e381ce72-e75f-43d0-b05f-787afd91fa4a/get/cbor
1879 649395 [OTA Agent Task] [prvOTAAgentTask] ,Heap low watermark: 23176. Stack high watermark: 1349.
1881 649395 [iot_thread] [ERROR][NET][649395] Error -27648 while sending data.
1882 708225 [iot_thread] [WARN ][THREAD][708225] Timeout waiting on semaphore 0x2002a014.
1883 709394 [OTA Agent Task] [INFO ][MQTT][709394] (MQTT connection 0x2000bba8) MQTT PUBLISH operation queued.
1884 709394 [OTA Agent Task] [prvRequestFileBlock_Mqtt] OK: $aws/things/<ThingName>/streams/AFR_OTA-e381ce72-e75f-43d0-b05f-787afd91fa4a/get/cbor
1885 709395 [OTA Agent Task] [prvOTAAgentTask] ,Heap low watermark: 23176. Stack high watermark: 1349.
1887 709395 [iot_thread] [ERROR][NET][709395] Error -27648 while sending data.
1888 768225 [iot_thread] [WARN ][THREAD][768225] Timeout waiting on semaphore 0x2002a014.
1889 769394 [OTA Agent Task] [INFO ][MQTT][769394] (MQTT connection 0x2000bba8) MQTT PUBLISH operation queued.
1890 769394 [OTA Agent Task] [prvRequestFileBlock_Mqtt] OK: $aws/things/<ThingName>/streams/AFR_OTA-e381ce72-e75f-43d0-b05f-787afd91fa4a/get/cbor
1891 769395 [OTA Agent Task] [prvOTAAgentTask] ,Heap low watermark: 23176. Stack high watermark: 1349.
1893 769395 [iot_thread] [ERROR][NET][769395] Error -27648 while sending data.

To reproduce
Steps to reproduce the behavior:

Use MQTT with AFR IoT Network implementation.
Set Keep Alive to MAX (1200).
Periodically send QoS0 messages.
Try to close the underlying socket directly before Keep Alive job kicks in.
Observe the behavior

Code to reproduce the bug
The code should be wrapped in the cpp tag in order to be displayed clearly. For example:
printf("Hello World")

If the code is longer than 30 lines, GIST is preferred.
Additional context
Add any other context about the problem here.
Thank you!

Hi @varun9sr, thank you for letting us know of the issue.
We will look into a fix for it, and will provide an update when we are ready with a fix for it.

@varun9sr Changes for the fix is merged to v4_beta branch. Please let us know if this fixes your issue.


osdsdb could not get the information from /etc/opensds/driver/ceph.yaml

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug

What happened:
I found that osdsdb could not get the information from /etc/opensds/driver/ceph.yaml when I tried OpenSDS v0.5.1 and v0.5.0 .
My  /etc/opensds/driver/ceph.yaml :
configFile: /etc/ceph/ceph.conf
pool:
  rbd: # change pool name same to ceph pool, but don't change it if you choose lvm backend
    storageType: block
    availabilityZone: default
    extras:
      dataStorage:
        provisioningPolicy: Thin
        isSpaceEfficient: true
      ioConnectivity:
        accessProtocol: rbd
        maxIOPS: 6000000
        maxBWS: 500
      advanced:
        diskType: SSD
        latency: 5ms

But etcdctl showed that:
root@sds-con:/opt/opensds-hotpot-linux-amd64# ../etcd/etcdctl get v1beta --prefix
v1beta/docks/30e5f409-164e-58e6-8aab-148377438abd
{"id":"30e5f409-164e-58e6-8aab-148377438abd","createdAt":"2019-04-09T18:02:39","updatedAt":"","type":"provisioner","name":"ceph backend","description":"This is a ceph backend service","endpoint":"<IP_ADDRESS>:50050","nodeId":"ceph-node1","driverName":"ceph","metadata":{"HostReplicationDriver":"drbd"}}
v1beta/pools/0517f561-85b3-5f6a-a38d-8b5a08bff7df
{"id":"0517f561-85b3-5f6a-a38d-8b5a08bff7df","createdAt":"2019-04-09T18:02:39","updatedAt":"","name":"rbd","dockId":"30e5f409-164e-58e6-8aab-148377438abd","availabilityZone":"default","totalCapacity":89,"freeCapacity":89,"storageType":"block","extras":{"dataStorage":{"isSpaceEfficient":false},"ioConnectivity":{},"dataProtection":{"isIsolated":false}},"replicationType":"HostBased","replicationDriverName":"drbd"}

As we have seen，The value of the extras field is empty.This will cause the accessProtocol
field to become iscsi.
What you expected to happen:
osdsdb could  get the information from /etc/opensds/driver/ceph.yaml correctly.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Hotpot(release/branch) version:v0.5.0
OS (e.g. from /etc/os-release):debian 9
Kernel (e.g. uname -a):Linux sds-con 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u6 (2018-10-08) x86_64 GNU/Linux
Install tools:Manual
Others:

@lijuncloud Can u have a test with this issue? Thanks!

Does the v0.5.1  Sushi  not support RBD protocol？

I found the root case of the problem.The pools have no extras field in ListPools method in v0.5.1.
https://github.com/opensds/opensds/blob/b9cd3fe65a676e8b6fc1d507bcacfb8f1b242618/contrib/drivers/ceph/ceph.go#L435-L450
The ListPools method is called by the Discover method and then sends data to osdsdb every minute.
https://github.com/opensds/opensds/blob/b9cd3fe65a676e8b6fc1d507bcacfb8f1b242618/pkg/dock/discovery/discovery.go#L129-L135
@leonwanghui PTAL :(

Add @xxwjj


Can't define list with mixed values (liquids, items and integers)

Issue Description:
Can't define list with mixed values (liquids, items and integers).

val recycle_array = [
// output liquid, input item, item liquid value, heat required
[liquid:gold, minecraft:golden_sword, metal_ingot_value * 2, 541]
] as IAny[][];

What happens:
An exception.

Type integer (current frame, stack[7]) is not assignable to reference type

What you expected to happen:
Being able to define nested lists with mixed types and iterate over the list inside the outer list.
So "item" should always be a list from "recycle_array".

for item in recycle_array {
val output_liquid     = item[0];
val input_item        = item[1];
val item_liquid_value = item[2] * recycle_return;
val heat_required     = item[3];

Value unpacking like python may be nice too e.g.

for output_liquid,input_item,item_liquid_value,heat_required in recycle_array {

Script used:
https://paste.ubuntu.com/26008945/
Minetweaker.log file:
https://paste.ubuntu.com/26008947/

Affected Versions (Do not use "latest"):

Minecraft: 1.12.2
Forge: 1.12.2-forge1.12.2-<IP_ADDRESS>1
Crafttweaker: CraftTweaker2-1.12-4.0.10

Your most recent log file where the issue was present:
https://paste.ubuntu.com/26008985/

Lists are single type only. IAny isn't fully implemented


TypeError: "submit" is read-only in Firefox

The Problem
I've got a form setup that works just fine in Chrome and Edge, but in Firefox it throws an error.
this._node.submit = this.handleSubmit;
in form-component.js
Steps to Reproduce
I've setup a store with combineForms in conjunction with combineReducers.
My form is pretty simple:
submitTheForm(contact) {
        const { dispatch } = this.props;

        dispatch(actions.setPending('pageforms.contact', true));

        let contactPromise = this.postContactForm(`${API_ROOT}/contact`, contact);

        dispatch(actions.submit('pageforms.contact', contactPromise));
    }

 render() {
return (
<Form model="pageforms.contact" onSubmit={(val) => this.submitTheForm(val)} className="contact-form row">

<button disabled={!this.props.isFormValid} type="submit" name="submit">Send</button>
</Form>
)
}

Expected Behavior
No error and rendered as it should
Actual Behavior
An error is shown TypeError: "submit" is read-only

Would you like to submit a PR if you know the fix?

I can give it a try, but I'm not sure if I know the fix

found the issue, if the submit button has a name property name="submit" it does not work in Firefox. Removed that property and it now works!


Refactor/eliminating normal, non-forwarded traffic on root partition

What changed?
This prevents normal traffic (polls from workers, tasks dispatched from history) from being directly dispatched to the root partition. Both pollers and tasks dispatched by matching through async-match are expected to be the only remaining traffic on the root partition.

Why?
The root partition is a contention point under heavy load if there are too many partitions relative to the number of pollers (they all end up falling back to polling on the root partition and matching has to forward tasks to the root partition. This contention is:

Made worse by normal traffic also being redirected to the root at a frequency of 1/N write partitions
Significantly more confusing to debug when there are multiple sources of traffic on that partition.

The underlying justification is one of trying to make an overly complex part of the system more conceptually simple, therefore making it significantly easier to debug, diagnose issues and reason about.
If this change lands, then:

All traffic on the root partition will only ever be the result of forwarding
The presence therefore, of any meaningful traffic on the root partition for any extended period of time can be taken to be a clear indication of a system configuration problem, it's easy to alert on, its easy to understand.

How did you test it?

Potential risks
This change reduces the number of all production partitions by 1, so this risks slightly worsening any contended tasklists

Release notes

Documentation Changes

this should be modulo, not 0, let me fix


Req sketch

Let's wait on merging this to master until we hear from Pavel.

Let's wait on merging this to master until we hear from Pavel.

I am reviewing with Pavel a small change in the "fixRseFactor" from .06 to .084.  If he feels comfortable with this I will make this change in Java and you can make the same change in C++. Then we will be ready to release.

I am reviewing with Pavel a small change in the "fixRseFactor" from .06 to .084.  If he feels comfortable with this I will make this change in Java and you can make the same change in C++. Then we will be ready to release.

I did nothing productive over the weekend so I still need to finish the review of this.

I did nothing productive over the weekend so I still need to finish the review of this.


How to get close picows.WSCloseCode(value)

Here is my code, when websocket is closed, I want to get the close code, how can I modify my code to get the code? I read the doc, I can get the close doc by call get_close_code() in WSMsgType.CLOSE, but I never received the close frame from the server. How can i know the reason of each disconnected from server.
class Listener(WSListener):
    def __init__(self, logger, specific_ping_msg=None):
        self._log = logger
        self.msg_queue = asyncio.Queue()
        self._specific_ping_msg = specific_ping_msg

    def send_user_specific_ping(self, transport: WSTransport):
        if self._specific_ping_msg:
            transport.send(WSMsgType.TEXT, self._specific_ping_msg)
            self._log.debug(f"Sent user specific ping {self._specific_ping_msg}")
        else:
            transport.send_ping()
            self._log.debug("Sent default ping.")

    def on_ws_connected(self, transport: WSTransport):
        self._log.debug("Connected to Websocket...")

    def on_ws_disconnected(self, transport: WSTransport):
        self._log.debug("Disconnected from Websocket.")

    def on_ws_frame(self, transport: WSTransport, frame: WSFrame):
        try:
            match frame.msg_type:
                case WSMsgType.PING:
                    # Only send pong if auto_pong is disabled
                    transport.send_pong(frame.get_payload_as_bytes())
                    return
                case WSMsgType.TEXT:
                    # Queue raw bytes for handler to decode
                    self.msg_queue.put_nowait(frame.get_payload_as_bytes())
                    return
                case WSMsgType.CLOSE:
                    self._log.debug(
                        f"Received close frame. {str(frame.get_payload_as_bytes())}"
                    )
                    return
        except Exception as e:
            self._log.error(f"Error processing message: {str(e)}")

class WSClient(ABC):
    def __init__(
        self,
        url: str,
        limiter: Limiter,
        handler: Callable[..., Any],
        specific_ping_msg: bytes = None,
        reconnect_interval: int = 0.2,
        ping_idle_timeout: int = 2,
        ping_reply_timeout: int = 1,
        auto_ping_strategy: Literal[
            "ping_when_idle", "ping_periodically"
        ] = "ping_when_idle",
        enable_auto_ping: bool = True,
        enable_auto_pong: bool = False,
    ):
        self._clock = LiveClock()
        self._url = url
        self._specific_ping_msg = specific_ping_msg
        self._reconnect_interval = reconnect_interval
        self._ping_idle_timeout = ping_idle_timeout
        self._ping_reply_timeout = ping_reply_timeout
        self._enable_auto_pong = enable_auto_pong
        self._enable_auto_ping = enable_auto_ping
        self._listener = None
        self._transport = None
        self._subscriptions = {}
        self._limiter = limiter
        self._callback = handler
        if auto_ping_strategy == "ping_when_idle":
            self._auto_ping_strategy = WSAutoPingStrategy.PING_WHEN_IDLE
        elif auto_ping_strategy == "ping_periodically":
            self._auto_ping_strategy = WSAutoPingStrategy.PING_PERIODICALLY
        self._task_manager = TaskManager()
        self._log = SpdLog.get_logger(type(self).__name__, level="DEBUG", flush=True)

    @property
    def connected(self):
        return self._transport and self._listener

    async def _connect(self):
        WSListenerFactory = lambda: Listener(self._log, self._specific_ping_msg)  # noqa: E731
        self._transport, self._listener = await ws_connect(
            WSListenerFactory,
            self._url,
            enable_auto_ping=self._enable_auto_ping,
            auto_ping_idle_timeout=self._ping_idle_timeout,
            auto_ping_reply_timeout=self._ping_reply_timeout,
            auto_ping_strategy=self._auto_ping_strategy,
            enable_auto_pong=self._enable_auto_pong,
        )

    async def connect(self):
        if not self.connected:
            await self._connect()
            self._task_manager.create_task(self._msg_handler(self._listener.msg_queue))
            self._task_manager.create_task(self._connection_handler())

    async def _connection_handler(self):
        while True:
            try:
                if not self.connected:
                    await self._connect()
                    self._task_manager.create_task(
                        self._msg_handler(self._listener.msg_queue)
                    )
                    await self._resubscribe()
                await self._transport.wait_disconnected()
            except Exception as e:
                self._log.error(f"Connection error: {e}")
            finally:
                self._log.debug("Websocket reconnecting...")
                self._transport, self._listener = None, None
                await asyncio.sleep(self._reconnect_interval)

    async def _send(self, payload: dict):
        await self._limiter.wait()
        self._transport.send(WSMsgType.TEXT, orjson.dumps(payload))

    async def _msg_handler(self, queue: asyncio.Queue):
        while True:
            msg = await queue.get()
            self._callback(msg)
            queue.task_done()

    async def disconnect(self):
        if self.connected:
            self._transport.disconnect()
            await self._task_manager.cancel()

    @abstractmethod
    async def _resubscribe(self):
        pass

If you didn't receive a "close" frame from the server there is no easy way to know why the server decided to disconnect you.  If you still need some code you can assume WSCloseCode.NO_INFO or ABNORMAL_CLOSURE
picows doesn't try to hold back frames, as soon as it received a complete frame it passes it to the user code immediately.
What could possibly have happened:

The server doesn't run a code to send a "close" frame before closing socket and terminating TCP connection.
This typically happens when the server stops abruptly like crash or some kind of forcible stop by admin.
If the server is running behind cloud connectivity provider (like cloudflare) then such provider may terminate tcp connection.
Network issue. OS TCP stack on the client side terminate TCP connection due to some TCP timeout.

Afaik there is no reliable way to determine what has happened exactly and distinguish between those cases from the picows perspective, so it doesn't try to guess.

If you didn't receive a "close" frame from the server there is no easy way to know why the server decided to disconnect you. If you still need some code you can assume WSCloseCode.NO_INFO or ABNORMAL_CLOSURE
picows doesn't try to hold back frames, as soon as it received a complete frame it passes it to the user code immediately.
What could possibly have happened:

The server doesn't run a code to send a "close" frame before closing socket and terminating TCP connection.
This typically happens when the server stops abruptly like crash or some kind of forcible stop by admin.
It is also a very often case that server developers don't care about sending "close" frames even on the normal path.
If the server is running behind cloud connectivity provider (like cloudflare) then such provider may terminate tcp connection.
Network issue. OS TCP stack on the client side terminate TCP connection due to some TCP timeout.

Afaik there is no reliable way to determine what has happened exactly and distinguish between those cases from the picows perspective, so it doesn't try to guess.

Got it.


gradcam for yolov8-seg

Thank you very much for your work, but I am now in great need of gradcam support for yolov8 instance segmention, when will this be possible please!

I'm also interested if anyone's successfully implemented this for segmentation models with yolov8, or has any advice on how to get it going.

Hey! I actually had no plans for this since I wanted to work only on Object detection and classification for my case. But I will definitely give it a try and let you know.

Hello, thank you for working on this project! I noticed that yesterday you made a commit that added support for Segmentation models and added an example to the tutorial ipynb. However when looking at the base_cam.py file that was in that commit I don't see the segmentation support. Could you please either point me to where the code is or push it to the repo? Thank you!

It has been provided in this notebook

@rigvedrs  Thanks a bunch for doing that. Looking forward to trying it out.


Add alt to image tags

Fixes #1092  #1097

I have now also included #1097 in this ticket. So @merapi should be happy :D

I have now also included #1097 in this ticket. So @merapi should be happy :D

And more importantly Atomicios 🤣

Related: https://github.com/google/web-stories-wp/issues/1128

One nit:

@merapi If you are referring to the "clear" icon covering the text underneath, I'd say this warrants a new issue as it's unrelated to this.

@merapi If you are referring to the "clear" icon covering the text underneath, I'd say this warrants a new issue as it's unrelated to this.

Sorry if that was not clear, it's about file extension in alt field and in output (just for dropped files).

@merapi Are you recommending stripping the file extension then ?

@merapi If you are referring to the "clear" icon covering the text underneath, I'd say this warrants a new issue as it's unrelated to this.

@swissspidy There is already an issue for that #1128

@merapi The full file name is only while the image is uploading. After the upload is complete, it is replaced. Is that not the case?

@swissspidy WP uses the filename to generate the title (which we later use for alt), for our local files we should do the same (I'm not aware of other rules of that conversion).
@spacedmonkey No. On the video, I upload a small image (it's completed) and then you still can see the .jpg in input/story output.

@merapi I removed in the EXT in https://github.com/google/web-stories-wp/pull/1101/commits/d8d082be93e8b7ef4e45c535126eb2907b745960
The value of alt is broken, see #1128 . Lets fixing it not updating or changing there.


Unable to start docker container

Hi!
I am trying to start the docker container and run migrations under ./migrations with make up, but I receive the error message below:

sudo mkdir -p logs plugins temp dags tests migrations && sudo chmod -R u=rwx,g=rwx,o=rwx logs plugins temp dags tests migrations
docker compose --env-file env up airflow-init && docker compose --env-file env up --build -d
/bin/sh: docker: command not found
make: *** [docker-spin-up] Error 127

Could you please guide me to fix the issue?
Thanks in advance!

Hey @serrayos  I updated the project, please do a git pull and make sure you have docker installed and running.
Alternatively I also added instruction on how to run on GitHub codespaces, which has docker preinstalled. Please see the README for more details


Thumbnail inconsistencies

The thumbnail picker sometimes chooses a different image than the chosen one.
This seems to happen if you've previously saved a thumbnail and in the same session creates a new thumbnail on another product.

@VilfredSikker Pls elaborate more on the steps to replicate it. I'm not even understanding where is the thumbnail present.

Thanks for checking. This is an outdated issue. It's replaced by images👏🏻


hive core doesn't have a warp point

it has a ghost warp component but it doesnt actually work

Fixed by https://github.com/RMC-14/RMC-14/pull/4582


Server Crash when pasting an enderio fluid conduit

Building Gadgets Version
1.0.6
Describe the bug
Attempted to Cut and paste a few tools while following along Dire's wither Farm build. Cut the following blocks:

Blue Shield Template (RFToolsBuilder)
Laser Node (LaserIO)
Laser Drill (Industrial Foregoing)
Fluid Laser Base (Industrial Foregoing)
Ender Tank (EnderTanks)
Basic Fluid Tank (Mekanism)
Fluid Conduit (EnderIO)

To Reproduce
Steps to reproduce the behavior:

Create a system with an enderio fluid conduit.
Attempt to copy that system
Paste that system (this is when the crash occurs)

Expected behavior
A clear and concise description of what you expected to happen.
EnderIO fluid conduit would copy correct
Screenshots

Log Files
crash-2023-11-16_12.37.23-server.txt
crash-2023-11-16_12.38.25-server.txt
NOTE ON RUBIDIUM
Rubidium contains code that will crash many mods when used in conjunction with them. Unfortunately this includes Building Gadgets 2. There is absolutely nothing I can do on my side to prevent these crashes. If you're using Rubidium and your game crashes when rendering something, please try without rubidium before submitting a bug report.

EnderIO cables are very special and unique - I'm not entirely surprised that they don't work too well unfortunately. I'll see if I can add support, but just like AE2 cables, they are just super customized blocks.


Update README.md - fix grammatrical errors in README.

I have noticed some grammatical mistakes in README inside section "Usage in the Editor"
"Select, change type and change"  should be "Select, change type, and change"
" you set up rectangle terrain then change"  should be " you set up rectangle terrain and then change"
Screenshot-

Please reviee my PR.

Hi, this isn't a meaningful change.