Mapped channels missing from m3u

Describe the bug
Similar to #375 (I assume as they left no data in the bug). I have channels from a playlist mapped, but in the m3u several of them are missing. What I notice is that the channels which are missing have the same the bit in red beside x-ID as some others. All of them have unique channel name and x-ID.
Server (please complete the following information):

OS: Ubuntu 22.04.3 LTS (Threadfin running in docker from fyb3roptik/threadfin)
Arch: Intel 64 Bit
Threadfin Version and Build: 1.2 (15)

Channels with same writing in red. In the below Channel 2 and 7 are missing from the m3u. The others are showing.

Other channels from the same playlist have unique red writing:

Removing the play list and readding id did nothing. When adding the channels back into the mapping they have the same red writing and don't show in the m3u.

OK, after a bit of playing around I realise that red writing is the tvg-id coming from the playlist.
What I did notice is if I add all the channels at once (add the playlist, go to mapping, bulk edit, enable all, save) they all show. But the moment I start making any changes (i.e. Correct capitalization in a channel name) channels start disappearing.

Duplicate of #439

This is different from #439. I can see the channels in the mapping section. They are just not in the threadfin.m3u. #439 is channels not appearing in the mapping section.

Would you mind creating a new release and I can validate if it really fixes #439

I think this issue was caused by this commit.  This change made it so that tvg-id values must be unique, but I don't think they should be. I think some channels might use the same EPG data, so I think duplicating tvg-id should be okay.
@Fyb3roptik do recall what that commit was intending to fix?

Seems to certainly be the tvg-id duplication.
I grabbed a local copy of my suppliers m3u, removed all the duplicate tvg-id's except one. Removed the previous URL from my supplier and added the local m3u instead. All of the channels except 1 of the duplicates showed in the threafdin.m3u perfectly. Edited the m3u again and gave the last remaining duplicate tvg-id a unique id. Had to update and save the playlist twice to get the update to show. Then all channels appeared in the threafdin.m3u perfectly.
Seems tvg-id duplication causes them to be excluded from the threadfin.m3u, despite appearing in mapping perfectly and being able to be enabled and edited fine.

@Nanganator does your m3u have another ID field?
I don't want to just undo @Fyb3roptik's change, so I was thinking I could submit a PR that checks for for a non-tvg-id ID field, and if that exists, use it. Then if there isn't a non-tvg-id field, fall back to the current behavior that uses the tvg-id as the unique ID.

This is all the data for each stream I see in the providers m3u :
#EXTINF:-1 tvg-id="F505ANZ" tvg-name="channel 3" tvg-logo="" group-title="Austria Entertainment",Channel 3
#EXTGRP:Austria Entertainment
https://streamurl.
The tvg-id is the only thing I updated on my local version of this m3u and then all channels were then in the threadfin.m3u

xteve had some documentation about Unique ID fields here.
A whole bunch of years ago, I pulled a python script from someone in the xteve discord, which generates unique IDs for channels in your m3u....I just found a reference to it here.
This might be something that you want to add, if the PR I'm about to submit gets approved.

@Fyb3roptik I just took a stab at adding support for unique IDs in the PR I just linked here.  It's taking me a bit to wrap my head around how some of this works, so I figured I'd check in what I have and see if you have any input.

I noticed more peculiar behaviour with this tvg-id duplication issue. I have 2 channels in my supplier m3u "Top Sports 1" and "Top Sports 2". Threadfin shows them both as separate channels in the mapping section and I have only enabled "Top Sports 1". However, because they both have the same tvg-id, the url in the threadfin m3u points to the stream of "Top Sports 2", even though the channel is not enabled.
I've worked around this by disabling the second channel in my supplier side so it is not in the playlist for Threadfin to get confused with.
Not sure if it makes a difference but the channel 1 appears first in the suppliers m3u and then channel 2 is later. I assume it is working top to bottom and using the last match of tvg-id.


Support vshard's identification_mode = name_as_key

It is released in vshard 0.1.25. See https://github.com/tarantool/doc/issues/3942.
This mode has different vshard.storage.info() output: names are there instead of UUIDs.
At least the following crud's code is not ready for that.
https://github.com/tarantool/crud/blob/a897f4c652c6cb4313ed42abd4fc0248d3e45829/crud.lua#L182-L196

As far as I understand, 0.1.25 with new mode will break the module apart on initialization?

@DifferentialOrange I don't know, but I hope that the new mode is generally compatible with the old one. Only testing can tell us.


Update anonymous-read-access-overview.md

AllowBlobPublicAccess should be changed to AllowBlobAnonymousAccess in the entire document as this display name is already changed in Azure Portal but the document the not updated with AllowBlobAnonymousAccess
Currently there are 2 places in the document which needs to be changed with AllowBlobAnonymousAccess instead of AllowBlobPublicAccess on the line 31

@akashdubey-ms

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

fixed labels

@Ramyaharinarthini I have responded to you in chat.
#please-close


Display problems for non existance file

Issue Type: Bug
Renamed a file, but in the terminal under the "PROBLEMS" tab keep displaying an error and will not refresh and go away.
When an error is selected, throw up the following error:
"Unable to open 'heap.tf': Unable to read file (Error: File not found (/home/yadav/H1/yadav/dev/javascript/js-interview-prep/src/datastructures/heap.tf))."

VS Code version: Code - Insiders 1.40.0-insider (515f496d9a7617caf07f38298f610920f60834d6, 2019-11-05T14:32:00.229Z)
OS version: Linux x64 5.3.7-1-default

System Info

Item
Value

CPUs
AMD Phenom(tm) II X4 940 Processor (4 x 2300)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: disabled_softwareskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: unavailable_offviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
4, 3, 3

Memory (System)
15.63GB (2.32GB free)

Process Argv
/home/yadav/dev/docs/guides --no-sandbox

Screen Reader
no

VM
0%

Extensions (43)

Extension
Author (truncated)
Version

vscode-base64
ada
0.1.0

markdown-navigation
Ala
1.0.3

markdown-toc
Ala
1.5.6

Bookmarks
ale
10.5.0

dep
car
0.1.0

npm-intellisense
chr
1.3.0

vscode-eslint
dba
1.9.1

java-debug
DSn
0.0.2

EditorConfig
Edi
0.14.2

tslint
eg2
1.0.44

prettier-vscode
esb
2.3.0

markdown-preview-bitbucket
hbr
1.0.0

Scala
itr
0.1.7

vscode-peacock
joh
3.1.6

md-navigate
jri
0.0.1

solidity
Jua
0.0.64

terraform
mau
1.4.0

sort-typescript-imports
mic
1.4.1

Angular-BeastCode
Mik
8.0.10

vscode-docker
ms-
0.8.2

python
ms-
2019.10.44104

cmake-tools
ms-
1.2.0

cpptools
ms-
0.26.1

Go
ms-
0.11.9

node-debug2
ms-
1.39.3

vscode-typescript-tslint-plugin
ms-
1.2.2

debugger-for-chrome
msj
4.12.1

angular2-inline
nat
0.0.17

java
red
0.52.0

vscode-yaml
red
0.5.3

editorconfig-gen
Ryu
0.0.2

markdown-preview-enhanced
shd
0.5.0

language-stylus
sys
1.11.0

sort-lines
Tyr
1.8.0

vscodeintellicode
Vis
1.2.0

vscode-java-debug
vsc
0.23.0

vscode-java-dependency
vsc
0.6.0

vscode-java-pack
vsc
0.8.0

vscode-java-test
vsc
0.21.0

vscode-maven
vsc
0.19.1

vscode-icons
vsc
9.5.0

better-align
wwm
1.1.6

markdown-pdf
yza
1.4.1

(5 theme extensions excluded)

@rajinder-yadav You have installed an extension which generates Problems in the problems tab. But I think it generates them with the wrong URI or something. Can you please create an issue directly against the extension that generates those problems.

OK I thought this was core typescript checking in vscode, you're saying this is from an extension?


sort: write failed: /home/sdc/3ddna/HIC_tmp/sorty4gvbq: Input/output error

Hi,
Thank you developing this useful tool. Now, I am using the 3d-dna to assemble genome, but I met a error, as follows. I do not know how to resolve it. In addition, can I continue running it instead of starting over? If it can cntinue running, how should I run it.
[main] CMD: bwa mem -SP5M -t 30 /home/sdc/3ddna/reference/awc.fa /home/sdc/3ddna/splits/awc_R1.fastq /home/sdc/3ddna/splits/awc_R2.fastq
[main] Real time: 154497.040 sec; CPU: 4311596.618 sec
(-:  Align of /home/sdc/3ddna/splits/awc.fastq.sam done successfully
sort: write failed: /home/sdc/3ddna/HIC_tmp/sorty4gvbq: Input/output error
***! Failure during sort of /home/sdc/3ddna/splits/awc.fastq

Hello,This appears to be an error in the juicer pipeline rather than 3d-dna specific. I recommend writing directly on the juicer GitHub or even better to Aidenlab.org/forum.html for prompt support on this matter.Best,OlgaOn Dec 25, 2022, at 7:52 PM, SuperY @.***> wrote:
Hi,
Thank you developing this useful tool. Now, I am using the 3d-dna to assemble genome, but I met a error, as follows. I do not know how to resolve it. In addition, can I continue running it instead of starting over? If it can cntinue running, how should I run it.
[main] CMD: bwa mem -SP5M -t 30 /home/sdc/3ddna/reference/awc.fa /home/sdc/3ddna/splits/awc_R1.fastq /home/sdc/3ddna/splits/awc_R2.fastq
[main] Real time: 154497.040 sec; CPU: 4311596.618 sec
(-:  Align of /home/sdc/3ddna/splits/awc.fastq.sam done successfully
sort: write failed: /home/sdc/3ddna/HIC_tmp/sorty4gvbq: Input/output error
***! Failure during sort of /home/sdc/3ddna/splits/awc.fastq
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


Include a ONSAS.Utils module :hammer:

This module is used to define first methods (which do not belong to a specific module) and then overload them. For instance the label method should be defined in:
module Utils

" Function that returns the label of an object "
function label() end

end #  module

Then inside the Geometry module it would be used:
module BoundaryCondition

@reexport import ..Utils: label

label(bc::AbstractBoundaryCondition) = bc.label
...

The same principle can be applied to Gauss integrations points. This is based on the I of SOLID principle

Naissss 👍🏼


Update youki to the latest main branch and oci-spec to 0.6.1.

Since youki now uses thiserror instead of anyhow, this PR also updates the containerd-shim-wasmedge to properly map the error.

https://github.com/containerd/runwasi/pull/130 has the required fixes to runwasi for updating youki version... let's merge that first?

Sure!


hi！what time can you load your code?

hi！I' m very happy to see this project. what time can you load your code? please~

now you can try.
i have not trained the model.


[C++] Add const and & to arrow::Array::statistics() return type

Describe the enhancement requested
The arrow::ArrayStatistics associated in an array must be immutable.
See also: https://github.com/apache/arrow/pull/43801#discussion_r1823574725
Component(s)
C++

Issue resolved by pull request 44592
https://github.com/apache/arrow/pull/44592


[Potential Bug]: SupplyMule thinks my Barbarossa can transport only liquids and solids?

When I setup my Barbarossa to be a SupplyMule it starts looking for wares with the list filled with only liquids and solids (methane, ore, etc). That seems like a bug?
To Reproduce
Steps to reproduce the behaviour:

Get a Barbarossa
Set it up as a SupplyMule
See error?!

Expected Behaviour
I expect a Barbarossa to trade container wares as that is what it can transport...
Version Info:

X4 Foundations : v5.10 [477240]
Mules Extended Mod : 6.42
I downloaded the mod from: Workshop

What it's doing is simply going through all of it's logic loops and looking for trades. What you're seeing is simply the last loop it tried. The wares are set by the valid trade offers it finds, so in this case, the last set of valid trade offers that the ship was offered were for solids and liquids.
By "valid" here I simply mean, stations offering purchases/sales. This ship can't queue up an order for something it can't carry, so it's harmless.
The ultimate issue here is that the ship is not finding any valid trade offers, so what you see in the end looks funny, but everything is working as intended.

Ah, okay, that makes sense. Maybe it should clear the list if nothing can be traded.
And I agree, it's weird that no trades are being found. Although I had just changed the trade blacklist, so maybe I made a mistake there...


Introduce the concept of an AuditLog for JulieOps

Please check if the PR fulfills these requirements

[x] The commit messages are descriptive
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)
[x] An issue has been created for the pull requests. Some issues might require previous discussion.

close #460

Hi @purbon, I missed this PR because of Easter holidays - but still would like to post some comments. Hope you are ok with that.
It is nice that you have added a way to get the audit log into something else than stdout. However I really wonder why it was necessary  to duplicate the audit log mechanism that is already established in JulieOps?
I am thinking of the system with the props methods on actions. I think it would be better to base the changes entirely on these methods and if needed extend/refactor the logging in the props methods. And then make if possible to either log this output to stdout, file and/or Kafka topic as required.
Like it is now, if stdout logging of the "new" audit log is configured a duplicated log will be found in stdout; i.e. output from both props() and detailedProps(). Most of the time these are pretty identical output, with the difference of this new resource name output.
Also the duplication of audit logging makes the code harder to understand. The new logging based on detailedProps is actually more explicit than the old one based on toString, so refactoring the old audit log into this would be better.
Out of curiosity, why is the special logging format of resource name needed? Besides the prefix "rn://" it seems to be a custom string based on each action type which contains information already in the log details?


How to set a value to default within an array when setting a model?

In the role:
var User = db.define("user", {
id: {type: 'serial', key: true, unique:true},
username: String,
email: String,
role:['normal', 'moderator', 'admin']
});
thank you

I'd use a basic string property, set defaultValue and use an inside list validator.
I doubt it's possible using that shorthand syntax. I'm not even sure how that syntax works.

@dxg So basically this -> role: {type:'enum',values:['normal','moderator','admin']}
Can you shed some more light on this? Thank you

I strongly advise against using an enum unless you actually need the space savings that come with it.
ROLES = [ 'pleb', 'duke', 'lord', 'king' ]

db.define('user',
  {
    role: { type: 'text', defaultValue: 'pleb',  required: true  }
  },
  validations: {
    role: orm.validators.insideList(ROLES, "Invalid role")
  }
)

Strings are a lot easier to work with, especially when you start adding new roles.

Thanks for the input and code example! Much appreciated


Using "Scroll half page up" makes scrolling stuck on some pages

Steps to reproduce:

Visit a page where the bug happens (I've seen it on a few, right now can only remember github issues pages)
Scroll down a little
Scroll back up using "Scroll half page down"
Now try to scroll back down using the normal "scroll down" key

The page scrolls down but automatically scrolls up again, as if I were still pressing the "u" key (in the case of the vimium profile)

Only seems to affect Firefox.

This one must be annoying. My suspicion is that its caused by an interplay of the following:

Firefox fails to register keyup events reliably
The smooth scroll polyfill I currently use for scrolling other than simple up or down.
Wrong values being used in the requestAnimationFrame callback.

I'll take a look.
The scroll logic is a good place to start is in this file: https://github.com/lusakasa/saka-key/tree/master/src/modes/command/client/commands/scroll

I'm also seeing this on Firefox 56 on Linux using Saka Keys 1.21.2beta

Reproducible example (on my laptop at least...), using Vimium key bindings

Open https://askubuntu.com/questions/103043/how-to-create-swap-partition-on-already-installed-ubuntu
Press d to scroll down
Press k to scroll up a few times. Page is stuck at the position after the first scroll down

When I disable the Smooth Scroll option in Saka Keys this doesn't occur.

I can also reproduce this in Nightly (57.0a1, 2017-09-11) with vimium keybindings, and on multiple pages (including almost all of StackExchange, and GitHub issues pages).
Sequences that result in a stuck page:

half page down (d), then scroll up (k)
scroll down (j), half page up (u), then scroll down (j)
scroll down (j), scroll to top (gg), then scroll down again (j)

Interestingly, scroll to bottom (G), then scroll up (k) does not produce the bug, while scroll down (j), scroll to bottom (G), then scroll up (k).
Disabling smooth scroll also makes the bug disappear.

I'll get around to fixing this sooner or later. The symptoms you've described occur because the logic for regular scroll up/down uses my own custom stateful implementation, while all the other scroll commands use the smooth scroll polyfill. The long term plan is to transition all scrolling to a custom implementation.

This is still a bug in Firefox Quantul 62.0.3 64-bit for Arch Linux.

Still a bug in Firefox 67.
I bump into this bug every now and then. Usually I press arrow_up or arrow_down to un-stuck it.
But this is pretty annoying and it's been a while... so I'll have saka key smooth scrolling disabled until this is fixed.

For unstuck we can use a space. :D It's easier to press than the arrow keys.

Usually I press arrow_up or arrow_down to un-stuck it.

Still happens in Firefox 72 (developer edition).

@eejdoowad Maybe you could use Scroll.  @AdamWagner and I have unified the scrolling mechanisms.  It is based on your own work, so I guess the integration will be smooth.

Sometimes scroll just locks in a middle of a page, (I'm not using gg/G, only j/k [+ shift]. I'm using firefox 72.


Use new PDF generator service for generating PDF receipts

Description
This feature uses the new PDF Generator microservice when generating receipt PDF's. The new service receives a url to the application and generates the PDF based on the content of that url.
The page rendering the html to form the pdf is automatically created based on the layout(s) used with a print friendly css and respecting the excludeFromPdf setting on components as well as any custom implementations of IPdfFormatter.
Related Issue(s)

#153

Verification

[x] Your code builds clean without any errors or warnings
[x] Manual testing done (required)
[x] Relevant automated test added (if you find this hard, leave it and we'll help out)
[x] All tests run green

Documentation

[ ] User documentation is updated with a separate linked PR in altinn-studio-docs. (if applicable)

Can't find any more nitpick :godmode:

Getting spoiled when you also includes fixes for the nitpicking :-D


logLevel is ignored when using Probot Server

Bug Report
Current Behavior
When using probot's Server - setting the logLevel doesn't seem to have any affect, logs lower that the specified level are printed to the console
import { Probot, Server } from "probot";

import app from "./app";
import healthController from "./controllers/health.controller";

const server = new Server({
  Probot: Probot.defaults({
    logLevel: "warn",
  }),
});

// API Health check
server.router("/").get("/api/health", healthController);

async function startServer() {
  await server.load(app);
  server.start();
}

startServer();

Expected behavior/code
Expected Probot to log only "warn" and above logs but it seems that the logLevel parameter is ignored completely.
Environment

Probot version(s): 11.0.6
Node/npm version: node 14.15.1/npm 6.14.10
OS: Mac and linux

Additional context/Screenshots
Output

@MaxPCider Noticed this bug was open and just took a look, I don't believe this is a bug (it's more of a consequence of implementation and decoupling Probot from Server).
There's two types of loggers and thereby log levels you can set when you construct a Server.
https://github.com/probot/probot/blob/6c5840d2dfccc07031f3ad6944513e75ef133f5b/src/types.ts#L61-L62
This is the log level of the server itself. This results in the logs being printed by the image provided,
https://github.com/probot/probot/blob/6c5840d2dfccc07031f3ad6944513e75ef133f5b/src/server/server.ts#L78-L80
But the logLevel being set in the above code is solely for Probot
https://github.com/probot/probot/blob/6c5840d2dfccc07031f3ad6944513e75ef133f5b/src/types.ts#L16-L25
Meaning if Probot were to interact with a webhook this would prevent info logging, but would allow logging health checks and startup information.
@gr2m is this still considered a bug? It'd make it less flexible if it were to only take Probot's or Server's and then it'd fall to the decision of which takes precedence? I'd assume in this case it'd be the top level log and not Probot log.

We could update these two lines: https://github.com/probot/probot/blob/master/src/server/server.ts#L38-L39
-    this.log = options.log || getLog().child({ name: "server" });
-    this.probotApp = new options.Probot();
+    this.probotApp = new options.Probot();
+    this.log = options.log || this.probotApp.log.child({ name: "server" });

That way the server's log would be derived from the passed Probot constructor's log.
Be default this.probotApp.log is set to getLog() as well

This seems to be fixed in v13.


I updated this to reflect Proxmox 6

I changed the repo script from persist_repos.sh to persist_proxmox_apt_repos.sh because I was concerned that future / other sysops won't immediately understand why the script is there. With the rename I tried to circumvent this. I also added an extra step to the install to make sure the script gets run now to enable the modifications and not only on the next update. I fixed a glitch in your readme where it was referencing the wrong git repo to pull from. There is one more file that needed fixing with Proxmox 6.

Thanks a lot! Could you please remove the internal use changes? Also, what else needs changing for it work with Proxmox 6? Once fixed, I'll merge this PR.

I added your changes for Proxmox 6.0 and instructions for running the script manually to the master branch of this repository. Thanks for your contribution!


Windows builds

Seems like it has trouble with some dpi aware settings
https://forums.wxwidgets.org/viewtopic.php?t=45915


Feature delete first user

Fixes #454.
I clarified the message for when someone tries to remove the last remaining super user due to the new behavior:

I also added this warning for when a user is about to delete their own account.

@EntranceJew Looks good! Maybe add some unit tests to cover the new functionality :grinning:

@GenPage You got it! I had to do some careful juggling of the test locations but it should all be there. It'd be nice if the tests were a bit more self-contained so I could re-run tests like these without kicking off the rest / resetting the DB.


Convert .ipynb files into proper notebooks before attempting to save.

This hopefully lets us save user-uploaded .ipynb files in the TileDB
Jupyter plugin. If we receive a .ipynb file, we attempt to convert
it into a Notebook model and save it into a TileDB array. If we can't
convert it, we give the user an error.
Andreas: I have not the slightest idea of how to test this or even how to set up an environment such that I could test it.

@thetorpedodog when you work with @SarantopoulosKon or @antalakas to test this please add a wiki page on how to test locally: https://github.com/TileDB-Inc/TileDB-Cloud-Jupyter-Contents/wiki


Fabric /hexcasting patterns give doesn't recognize any resource locs passed in

My guess is I missed something in the argument serializer when moving to 1.19

Whoops caused by the world having been generated before the #309 fix


Reorganize spring boot starter page

we should consider splitting the spring boot page
it doesn't feel right to have "Spring Boot" under "Automatic" - fixed in https://github.com/open-telemetry/opentelemetry.io/pull/4430
mention the spring starter in https://opentelemetry.io/docs/languages/java/getting-started/ - which already uses spring boot as an example app

@svrnm can you suggest which structure would fit into the overall organization of the website?

@jeanbisutti FYI

can you suggest which structure would fit into the overall organization of the website?

I am not 100% sure what the best place is, because we do not have a comparable case, the closest wie have is /docs/languages/net/netframework/. So based on that an argument could be made that we have it under "Language APIs & SDKs > Java > Spring Boot" or what @theletterf said:

I think it'd fit under Libraries:

This would be kind of fitting (not perfect) since this page speaks about instrumenting your dependencies (libraries, frameworks, here spring boot) and getting either out of the box experience or something like the starter which adds that capability additionally.

it doesn't feel right to have "Spring Boot" under "Automatic"

Both the OpenTelemetry Java agent and the Spring Boot starter provide automatic instrumentation. So, I don't follow.

@svrnm can you help?

Apologies, for not providing any reasoning on why I felt that way. To be honest, I needed to wrap my head around it because it really was just a "feeling", but I think I can put it in words now:
The "Automatic" page currently focuses on the Java agent which is as you stated a different solution as the Spring Boot Starter. This means the Spring Boot Starter is hidden away within the agent documentation and by that might be hard to find fore people. Using the current structure the following would be the right way of doing it (imho):
Automatic
`- Java agent
`- Spring Boot Starter

This is of course a major change in our Information Architecture and it also gets more complicated due to this discussion, where we consider moving "Automatic" out of that place in it's own space.
@open-telemetry/docs-maintainers WDYT?

Thank you for your explanations @svrnm.
The following structure that you propose could make sense to me:
Automatic
`- Java agent
`- Spring Boot Starter

The differences between the Java agent and the Spring Boot stater could then be moved to the Automatic entry.
Spring Boot is very popular in the Java ecosystem. In term of documentation discovery, it may make more sense to keep the current Spring Boot page and place it below Java :
Java
`- Getting Started
`- Spring Boot
`- Instrumentation
`- Automatic

Automatic would then only be related to the Java agent.
Something seems important to have in mind to re-organize the "Automatic" content. The Spring Boot Starter is "semi-automatic instrumentation", as we have tried to explain in the documentation:

The Spring Boot Starter will probably never have as many automatic instrumentations as the Java agent (technically the Java agent uses byte code instrumentation to instrument the code and the Spring Boot Starter tries to wrap accessible code).

@jeanbisutti just a quick update that I didn't forget about this discussion, I just couldn't find the time to think about it properly yet, will follow up with you eventually!

@svrnm, FYI @zeitlinger wanted to discuss this topic during the next OTel doc SIG meeting. I am not sure to be able to attend this meeting because I will be off.

That's a good idea, thanks for the headsup!

Hi @svrnm and @theletterf
I have discussed with @zeitlinger. The Zero-code Instrumentation menu entry is great!
To split the Spring Boot page, what do you think about the following structure?
Zero-code instrumentation
- Java
  - Agent
  - Spring Boot => How to instrument Spring Boot with OpenTelemetry (Java agent VS Spring Boot starter)
  - Spring Boot starter
     - Getting started => dependency management  + overview table of automatic instrumentations
     - SDK configuration
     - Automatic instrumentation
     - Annotations

Hey @zeitlinger,
agreed, having this re-organized was urgently needed. On your structure question: I do not like the idea of having Spring Boot and Spring Boot Starter split that way. I understand where you are coming from and what problem you are trying to solve, but for an end user this is going to be more confusing than helpful (they come with zero context and are presented with those 2 entries, so they may assume very different things from there). Two options I see are the following:
- Java
  - Agent
  - Spring Boot Starter
     - Agent vs Starter
     - Getting Started
     - SDK configuration
     - Instrumentation libraries
     - Annotatons

or
- Java
  - Agent
  - Spring Boot
     - Agent vs Starter
     - Starter
       - SDK configuration
       - Instrumentation libraries
       - Annotatons

I prefer the first option.
Note, that you should use "Instrumentation Libraries" and not "Automatic Instrumentation" which is a misleading term

thanks a lot - sounds good

Yeah, that's another case of "Automatic Instrumentation" creating confusion unfortunately :-(
we might be able to compromise on "Out of the box" for now?

Getting the naming right isn't easy.😅
"Out of the box"  seems great.
Thank you for the feedback and the suggestion!

Getting the naming right isn't easy.😅

Yes, we have some terminology glitches in OpenTelemetry that we need to address eventually...

@svrnm @zeitlinger I have created a PR for the new organization: #4554 The documentation is much better


cmd/go: whitelist @includedir@ and @libdir@ in CGO flags

What version of Go are you using (go version)?
go version go1.10 linux/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/sites/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build478259282=/tmp/go-build"

What did you do?
Running go get on the source code below will yield an error. Here is a minimal program that exhibits this behavior:
package main

import (
	"github.com/abh/geoip"
	"log"
)

func main() {
	geoip, err := geoip.OpenDb([]string{}, 0)
	log.Println(geoip)
	log.Println(err)
}

I have to get, build, and run by putting this prefix in front, or by using export:
CGO_CFLAGS_ALLOW=-I@includedir@/ CGO_LDFLAGS_ALLOW=-L@libdir@ go build

What did you expect to see?
Go get, build, and run working the same way it did in 1.9.
As is described in the InvalidFlag section on the wiki, would it be possible to have these whitelisted in Go?
What did you see instead?
$ go get
go build github.com/abh/geoip: invalid flag in pkg-config --cflags: -I@includedir@/

Do you actually have directories named @includedir@?
The problem with whitelisting this kind of option is that @ is treated specially by the GCC command line parser: it designates a response file, and is replaced by the contents of the file with that name.  That is, it is a vector for breaking security, exactly what the whitelist is intended to prevent.
Looking at github.com/abh/geoip, it uses #cgo pkg-config: geoip.  That means that cmd/go will invoke pkg-config --cflags geoip to get the compiler flags to use.  On my Ubuntu system that command prints -I/usr/include/.  What does it print on your system?

Hi,
Hmm, I didn't know @ was problematic. Unfortunately I'm not sure how else to solve this problem. I can't get builds to work without that. About your question, this is what I see when I run pkg-config:
$ pkg-config --cflags geoip
-I@includedir@/

I hope that is helpful. I am using CentOS 6.9.

Unless you actually have a directory literally named @includedir@, which is unlikely, there is something wrong with your geoip installation.  Assuming it is the one that comes with CentOS, that seems like a CentOS bug.,  I don't see any good approach we can take.  I think you will have to keep using the _ALLOW environment variables until CentOS can fix the problem.

Yeah, I don't have a directory called<EMAIL_ADDRESS>I'm going to close this as I think it doesn't affect anyone else -- from what I can tell, this isn't a CentOS problem but an issue with my company's RPM server.
Thank you very much for helping me to debug this so far.


OpenAI Rate Limit

Hi!
Thanks for posting about this project on twitter! I am trying to run your project. Scraping works fine, but when I run the embedding, I get the following error:
Rate limit reached for default-global-with-image-limits in organization <ORG_ID> on requests per min. Limit: 60 / min. Current: 70 / min. Contact<EMAIL_ADDRESS>if you continue to have issues. Please add a payment method to your account to increase your rate limit. Visit https://platform.openai.com/account/billing to add a payment method.
I assume that is simply a function of further rate limiting by OpenAI. If I figure out how to increase the time between requests, to avoid this... can I simply re-run or do I need to "delete existing embeddings" on the OpenAI side? Or is the script smart enough to not embed already embedded items?
Thanks!

Nevermind, after reading about embeddings I now understand how it works. And I am running it in batches to avoid the rate limit, should be done in a few hours. (even with setting it to 2 seconds I am still getting the error)

Did you just create your account? I know the rate limits greatly improve after 48hrs and after you’ve entered a credit card.
RPM should be 3,500/min, so it throwing an a error at >60/min is curious.

I had my account for a while, at least a month or two, but yes, I have not entered a credit card yet, trying to get by with the free version.


Rethink just a single toml file

The reasoning behind many/most monitoring solutions having "fancy" config directory structure is that its a requirement.
People need to be able to put monitoring in place for something they bring up with automated tools.
Editing a toml file is a nonstarter (and no concating it in doesn't work either).
I would recommend going through the mental or actual code exercise of parsing some example nagios configs. Steelman why things are the way they are and you'll find it illuminating (I did it a decade ago for an in house golang monitoring server).
https://en.wikipedia.org/wiki/Straw_man#Steelmanning

I'll take a look at it, thanks! It would be possible to either pass a single file or a directory and treat both cases differently. I'm not sure if automated deployments are a good use case for this tool though. It's targeting single-machine setups, not a client-server model which is typically used to gather the data from multiple machines.


Trashing Notes with links and tags in them

List of several of the marked "orphan notes"

Example of listed note not being an orphan

You are misunderstanding what is meant by orphaned notes, it checks if the file is linked to by another file or linked to by canvas

No sir. The example I gave is a note that the plug in thought was an orphan note despite it being linked in several places.                                                                                Sincerely, JonahOn Sep 25, 2024, at 1:47 AM, Sandorex @.***> wrote:
You are misunderstanding what is meant by orphaned notes, it checks if the file is linked to by another file or linked to by canvas
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Can you make a minimal vault where i can replicate the issue so i can debug this?


Ionic is not supporting custom delimiters properly

Hi, we are using Ionicframework with Meteor. To do so we need to use different delimiters than the regular curly braces. Unfortunately, some directives are using the braces within their attributes and content. I would suggest replacing the content using ng-bind and the attributes related part to a dynamically written template, something like:
var start = $interpolateProvider.startSymbol();
var end = $interpolateProvider.endSymbol()
var ITEM_TPL_CONTENT_ANCHOR =
  '';

Greetings @Xample!
Thank you for the feature request. The humans and I will review this further and possibly add it to our Feature Request board, if we feel it is appropriate for Ionic.
Thank you for allowing me to assist you.


Feature request:Docs: Document API Best Practices

Feature description
Please document best practices that are recommend by iNat
Use case
Is there a specific goal that this would help you accomplish, or can you provide any other context about how you would like to use this feature?
Document some of the rate limiting features implemented in pyinaturalist and also high warnings of overwhelming the inat server that might result in bans.
Related to https://github.com/pyinat/pyinaturalist/issues/201
Workarounds
Is there an existing workaround to accomplish this?

Rate limiting is currently documented here, with links to those iNat docs: https://pyinaturalist.readthedocs.io/en/latest/user_guide/advanced.html#rate-limiting
With default settings, pyinaturalist should never exceed those limits, but I can add some more notes there for anyone who wants to modify those settings.


Request: Enable use of XLR-K1M on A6000

It seems the latest firmware for the A6000 has many of the features the A6300 has but they and disabled.   Like I can see a menu item for 4K but obviously it does not work.  So, I suspect Sony has disabled the A6000 from using the XLR-K1M audio adapter and XLR-K2M as well since I would imagine they both have the same setup.  It would be excellent to have a way around this or to enable the feature on the camera. Thanks and let me know what, I might do to begin or help in the process.
Would this be possible through a tweak or is this a firmware issue?  Would it be something that is determined by the initial code identifying the model of the camera? Could changing that unlock the feature? I realize that there are significant hardware differences in the model from the A6300 and don't expect the 4K to work and don't care really, just want to be able to use my audio unit on both the A6500 and my two A6000s when needed. Thanks!

Should I just assume there is not information, interest or has nobody done any research on the relationship between the multi-interface shoe and firmware or play memories app? If that is the case please let me know and I will cease posting and reading. Thanks

@ma1co  any news on this capability?  Would be amazing to have XLR mic input with this adapter.


Saliency or Attention Visualization of Text Regression Transformer models

Is it possible to get in and tackle with the gradients of say, a bert model, to visualize the saliency heatmap or visualize the attention weights of the heads? I know that currently LIME visualizations are not supported for text regression tasks within the library.
I am currently working on a text regression task and I was looking out ways for its explainability. Are there some ways to get around with this? I think if we had access to the trained tokenizers along with the model, it should work as shown in bertviz. But upon saving a ktrain model what we could get is the model and preproc file right?

First, ktrain is just a lightweight wrapper, so nothing in ktrain prevents you from accessing the underlying libraries like transformers.    Note also that there are two way to use BERT (proper) in ktrain: keras_bert and transformers.  I am assuming you're referring to transformers (e.g., using Transformer API in ktrain.).  For DistilBERT, transformers is always used.
Second, the tokenizers are not trained in pretrained models. You can re-create them directly with transformers (or keras_bert) if you need them.  Or you can access them with the preproc object.

tokenizer = predictor.preproc.get_tokenizer() # works for transformers models like DistilBERT

In a nutshell, yes, you should be able to easily use bertviz with ktrain.
P.S. If using keras_bert (i.e., you created model specifically with text_regression_model('bert', ...) , you'll need to temporarily access tokenizer with preproc.tok instead of preproc.get_tokenizer().  This'll be changed/fixed later.

Thanks @amaiya! Just one last question - how do we access the attention weights? Or how do we set output_attention = True to the configuration?

The underlying transformers model is directly accessible with learner.model or predictor.model.  In fact, you can load and use the model outside of ktrain with TFAutoModelForSequenceClassification.from_pretrained.  So, you can generate the visualization how ever bertviz  or transformers recommends to do it.  I would just follow the notebook you referenced earlier to generate the visualization.  If you have trouble, you can load the model as a PyTorch model with from_pt=True argument to from_pretrained.

Thanks a lot @amaiya! Got it all working! I spent a lot of time to understand how to access the methods or configs of the underlying libraries. But posting the question here saved me a lot of time for sure!


VarInt api rewrite

Description
reduce code duplication, and have better code (no allocation during serialization (a very common operation), single calls to write instead of multiple) and pass VarInt by value, after all they are just an i32
Testing
I joined the minecraft server
and added a test that is ignored by default (i ran it tho) that double checks that I do serialize and deserialize the VarInts and VarLongs properly
Checklist
Things need to be done before this Pull Request can be merged.

[x] Code is well-formatted and adheres to project style guidelines: cargo fmt
[x] Code does not produce any clippy warnings cargo clippy

I want simd in varint

I want simd in varint

I doubt varints are a good candidate for simd on their own considering the relatively short runs they make. It's unlikely to see much gains. You are welcome to prototype that however.

I want simd in varint

I doubt varints are a good candidate for simd on their own considering the relatively short runs they make. It's unlikely to see much gains. You are welcome to prototype that however.

https://lib.rs/crates/varint-simd

Fastest encoer and decoder

And if we were doing nothing but crunching millions of varints per second I would agree with you. Just like how I'd agree that SIMD would be faster if we were doing nothing but adding millions of numbers together in sequence.
SIMD requires significant "wind up time" to achieve those kinds of numbers. Because VarInts are actually somewhat sparsely laid out in the data parsing, it's unlikely we'll see major improvements simply because of that.

Regardless, this is a conversation for elsewhere. Please open a new issue or discussion thread.

I already see a lot of new unwraps..., I will take a look at this when i have time. But we generally should avoid unwraps

I already see a lot of new unwraps..., I will take a look at this when i have time. But we generally should avoid unwraps

Yeah I agree, but since the scope of this PR is supposed to be small I didn't want to rewrite sections, and if the unwrap are triggered that is a bug and it should be fixed, it's just that casting i32 to usize is a faliable operation

I want simd in varint

As it stands, I was able to squeeze most of encoding and decoding of varints, because the old implementations needlessly allocated and had multiple write calls, but this isn't really the point of the pr, I agree though it's very cool to have, the api is written in such a way now tho that we can swap the internal implementation any time and all varint encoding would use that new implementation

Overall, I don't think this is a bad PR, and applaud your efforts! The VarInt API is definitely not in the best place right now, and I am for any improvements we can make to the API.
Alex or others may take issue with the overuse of macros (imo) for relatively marginal gains, but I'm alright with it for now.
I believe (and have been working on in #105 ) that VarInt shouldn't be a data type present at all, but a serialization format, essentially
#[serde(with = "var_int")]
len: i32

On any struct which requires an i32 to be formatted as a varint for the transport protocol. I'm quite busy IRL, and it's a long process. If you feel like taking a stab you're welcome to.
This is a good first step, I approve of all the changes except for the branding one.

And honestly I agree, varint is an encoding standard, and I thought about it too, that rather than a datatype that varint should just be a module with all of the methods in varint as just simple functions, but I didn't want to rewrite serialization as well, do I opted for the less invasive option

I really dislike having .get() now everywhere. @StripedMonkey solution of using
#[serde(with = "var_int")]
my_var_int: i32

Sounds really nice, This lets us directly use the field and we also don't have to implement any std::ops:: Things

Like was mentioned, it requires a lot of rework to make the packets use Serde over the funky encode/decode stuff that already exists (which is equivalent to a fn (de)serialize(...)


subprocess-exited-with-error  安装baidupc-py失败

WARNNING: Please to search the similar bugs, before you report a bug. Don't report a similar bug which existed.
注意：在你提交一份报告前，请先搜索是否存在类似的报告。请勿重复提交内容相同的报告。

Prerequisites / 报告前提
Before you report a bug, please let the bug to be reproduced at the latest verion of BaiduPCS-Py.
在你提交报告前，请在 BaiduPCS-Py 的最新版本上复现问题。
At sometimes, there are errors occured by an expired cookie. Before you commit the report, please to check whether cookies are expired.
有时一些错误是由于某个 cookie 超期导致的。在你提交报告前，请先检查你的 cookies 是否超期。
Describe the bug / 描述 bug
A clear and concise description of what the bug is.
请清楚的描述你遇到的问题。
To Reproduce / 复现问题
Steps to reproduce the behavior:

Do '...'
Do '....'
...
See error

按照下面的步骤可以复现问题：

做 '...'
做 '...'
...
问题出现

Screenshots / 问题截图
If applicable, add screenshots to help explain your problem.

Don't show BDUSS and cookies.

如果可能，请附加问题截图。

不要出现 BDUSS 和 cookies。

Envrionment / 运行环境

OS: [e.g. Windows]
Python [e.g. Python3.10.11]
BaiduPCS-Py Version [e.g. 0.6.9]
C:\Users\Administrator>pip3 install BaiduPCS-Py
Collecting BaiduPCS-Py
Using cached baidupcs_py-0.7.4.tar.gz (113 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting aget<0.2.0,>=0.1.17 (from BaiduPCS-Py)
Using cached aget-0.1.17-py3-none-any.whl
Collecting chardet<6.0.0,>=5.0.0 (from BaiduPCS-Py)
Using cached chardet-5.2.0-py3-none-any.whl.metadata (3.4 kB)
Collecting click<9.0.0,>=8.1.3 (from BaiduPCS-Py)
Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting cryptography<39.0.0,>=38.0.3 (from BaiduPCS-Py)
Using cached cryptography-38.0.4-cp36-abi3-win_amd64.whl.metadata (5.4 kB)
Collecting cython<0.30.0,>=0.29.32 (from BaiduPCS-Py)
Using cached Cython-0.29.37-py2.py3-none-any.whl.metadata (3.1 kB)
Collecting fastapi<0.88.0,>=0.87.0 (from BaiduPCS-Py)
Using cached fastapi-0.87.0-py3-none-any.whl.metadata (24 kB)
Collecting jinja2<4.0.0,>=3.1.2 (from BaiduPCS-Py)
Using cached Jinja2-3.1.3-py3-none-any.whl.metadata (3.3 kB)
Collecting passlib<2.0.0,>=1.7.4 (from BaiduPCS-Py)
Using cached passlib-1.7.4-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting pillow<10.0.0,>=9.3.0 (from BaiduPCS-Py)
Using cached Pillow-9.5.0-cp311-cp311-win_amd64.whl.metadata (9.7 kB)
Collecting requests<3.0.0,>=2.28.1 (from BaiduPCS-Py)
Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting requests-toolbelt<0.11.0,>=0.10.1 (from BaiduPCS-Py)
Using cached requests_toolbelt-0.10.1-py2.py3-none-any.whl.metadata (14 kB)
Collecting rich<13.0.0,>=12.6.0 (from BaiduPCS-Py)
Using cached rich-12.6.0-py3-none-any.whl.metadata (18 kB)
Collecting typing-extensions<5.0.0,>=4.4.0 (from BaiduPCS-Py)
Using cached typing_extensions-4.11.0-py3-none-any.whl.metadata (3.0 kB)
Collecting uvicorn<0.20.0,>=0.19.0 (from BaiduPCS-Py)
Using cached uvicorn-0.19.0-py3-none-any.whl.metadata (6.2 kB)
Collecting mugen (from aget<0.2.0,>=0.1.17->BaiduPCS-Py)
Using cached mugen-0.6.1-py3-none-any.whl
Collecting colorama (from click<9.0.0,>=8.1.3->BaiduPCS-Py)
Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Collecting cffi>=1.12 (from cryptography<39.0.0,>=38.0.3->BaiduPCS-Py)
Using cached cffi-1.16.0-cp311-cp311-win_amd64.whl.metadata (1.5 kB)
Collecting pydantic!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<2.0.0,>=1.6.2 (from fastapi<0.88.0,>=0.87.0->BaiduPCS-Py)
Using cached pydantic-1.10.15-cp311-cp311-win_amd64.whl.metadata (152 kB)
Collecting starlette==0.21.0 (from fastapi<0.88.0,>=0.87.0->BaiduPCS-Py)
Using cached starlette-0.21.0-py3-none-any.whl.metadata (5.6 kB)
Collecting anyio<5,>=3.4.0 (from starlette==0.21.0->fastapi<0.88.0,>=0.87.0->BaiduPCS-Py)
Using cached anyio-4.3.0-py3-none-any.whl.metadata (4.6 kB)
Collecting MarkupSafe>=2.0 (from jinja2<4.0.0,>=3.1.2->BaiduPCS-Py)
Using cached MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl.metadata (3.1 kB)
Collecting charset-normalizer<4,>=2 (from requests<3.0.0,>=2.28.1->BaiduPCS-Py)
Using cached charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl.metadata (34 kB)
Collecting idna<4,>=2.5 (from requests<3.0.0,>=2.28.1->BaiduPCS-Py)
Using cached idna-3.6-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests<3.0.0,>=2.28.1->BaiduPCS-Py)
Using cached urllib3-2.2.1-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests<3.0.0,>=2.28.1->BaiduPCS-Py)
Using cached certifi-2024.2.2-py3-none-any.whl.metadata (2.2 kB)
Collecting commonmark<0.10.0,>=0.9.0 (from rich<13.0.0,>=12.6.0->BaiduPCS-Py)
Using cached commonmark-0.9.1-py2.py3-none-any.whl.metadata (5.7 kB)
Collecting pygments<3.0.0,>=2.6.0 (from rich<13.0.0,>=12.6.0->BaiduPCS-Py)
Using cached pygments-2.17.2-py3-none-any.whl.metadata (2.6 kB)
Collecting h11>=0.8 (from uvicorn<0.20.0,>=0.19.0->BaiduPCS-Py)
Using cached h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)
Collecting pycparser (from cffi>=1.12->cryptography<39.0.0,>=38.0.3->BaiduPCS-Py)
Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
Collecting httptools<0.7.0,>=0.6.1 (from mugen->aget<0.2.0,>=0.1.17->BaiduPCS-Py)
Using cached httptools-0.6.1-cp311-cp311-win_amd64.whl.metadata (3.7 kB)
Collecting sniffio>=1.1 (from anyio<5,>=3.4.0->starlette==0.21.0->fastapi<0.88.0,>=0.87.0->BaiduPCS-Py)
Using cached sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
Using cached chardet-5.2.0-py3-none-any.whl (199 kB)
Using cached click-8.1.7-py3-none-any.whl (97 kB)
Using cached cryptography-38.0.4-cp36-abi3-win_amd64.whl (2.4 MB)
Using cached Cython-0.29.37-py2.py3-none-any.whl (989 kB)
Using cached fastapi-0.87.0-py3-none-any.whl (55 kB)
Using cached starlette-0.21.0-py3-none-any.whl (64 kB)
Using cached Jinja2-3.1.3-py3-none-any.whl (133 kB)
Using cached passlib-1.7.4-py2.py3-none-any.whl (525 kB)
Using cached Pillow-9.5.0-cp311-cp311-win_amd64.whl (2.5 MB)
Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Using cached requests_toolbelt-0.10.1-py2.py3-none-any.whl (54 kB)
Using cached rich-12.6.0-py3-none-any.whl (237 kB)
Using cached typing_extensions-4.11.0-py3-none-any.whl (34 kB)
Using cached uvicorn-0.19.0-py3-none-any.whl (56 kB)
Using cached certifi-2024.2.2-py3-none-any.whl (163 kB)
Using cached cffi-1.16.0-cp311-cp311-win_amd64.whl (181 kB)
Using cached charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl (99 kB)
Using cached commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Using cached idna-3.6-py3-none-any.whl (61 kB)
Using cached MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl (17 kB)
Using cached pydantic-1.10.15-cp311-cp311-win_amd64.whl (2.1 MB)
Using cached pygments-2.17.2-py3-none-any.whl (1.2 MB)
Using cached urllib3-2.2.1-py3-none-any.whl (121 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Using cached anyio-4.3.0-py3-none-any.whl (85 kB)
Using cached httptools-0.6.1-cp311-cp311-win_amd64.whl (55 kB)
Using cached pycparser-2.22-py3-none-any.whl (117 kB)
Using cached sniffio-1.3.1-py3-none-any.whl (10 kB)
Building wheels for collected packages: BaiduPCS-Py
Building wheel for BaiduPCS-Py (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for BaiduPCS-Py (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [31 lines of output]
Compiling baidupcs_py/common/simple_cipher.pyx because it changed.
[1/1] Cythonizing baidupcs_py/common/simple_cipher.pyx
usage: build.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: build.py --help [cmd1 cmd2 ...]
or: build.py --help-commands
or: build.py cmd --help
  error: no commands supplied
  Traceback (most recent call last):
    File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
      main()
    File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_1kmcjni\overlay\Lib\site-packages\poetry\core\masonry\api.py", line 58, in build_wheel
      return WheelBuilder.make_in(
             ^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_1kmcjni\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 88, in make_in
      wb.build(target_dir=directory)
    File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_1kmcjni\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 123, in build
      self._build(zip_file)
    File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_1kmcjni\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 172, in _build
      self._run_build_script(self._package.build_script)
    File "C:\Users\Administrator\AppData\Local\Temp\pip-build-env-_1kmcjni\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 262, in _run_build_script
      subprocess.check_call([self.executable.as_posix(), build_script])
    File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 413, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['C:/Users/Administrator/AppData/Local/Programs/Python/Python311/python.exe', 'build.py']' returned non-zero exit status 1.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for BaiduPCS-Py
Failed to build BaiduPCS-Py
ERROR: Could not build wheels for BaiduPCS-Py, which is required to install pyproject.toml-based projects
安装baidupc-py失败
Additional context / 补充内容
Add any other context about the problem here.
在这里增加补充内容。

从出错信息上看，你用的是Python3.11，目前在3.11上还有一点问题。请用3.10或3.10以下版本.


AttributeError: 'int' object has no attribute 'items'. PTB reader, bayesianrnn.

Hello,
I am having the next issue within the example brnn_ptb.py:
INFO:tensorflow:Log Directory: /tmp/bayesian_rnn/run1
INFO:tensorflow:Beginning a training phase of 70 epochs.
Traceback (most recent call last):
  File "sonnet_bayesian_rnn.py", line 579, in <module>
    tf.app.run()
  File "/home/proto/anaconda3/envs/sonnet/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 124, in run
    _sys.exit(main(argv))
  File "sonnet_bayesian_rnn.py", line 568, in main
    train(logdir)
  File "sonnet_bayesian_rnn.py", line 380, in train
    batch_size=FLAGS.batch_size)
  File "sonnet_bayesian_rnn.py", line 105, in __init__
    self.id2word = {v: k for k, v in self.word2id.items()}
AttributeError: 'int' object has no attribute 'items'

Python 3.5, tensorflow 1.5
Before this, I also had to update the ptb_reader to read correctly the documents within python 3. Just copied the ptb_reader from tensorflow example that is up-to-date with it. If you want I can submit a PR to fix this.
Thanks.

@gaceladri thanks for your report - this is now fixed in version 1.20. You can get the updated version from GitHub master right now, or if you install with pip the updated wheels are available now. Please reopen this ticket if you have any problems.


Update: Added clean & responsive frontend

Added:

Added a style sheet
Added and external font file

Updated:

Updated the index doc file
Updated the ignore file
Minor adjustment in setting.py

@VishalMinj revert the changes in settings.py. And can you raise this PR for a new branch instead of main?

Done


Build process on MacOS

Could you provide guidance in the readme on how to build this on MacOS? I am not a computer geek, but I would like to use this program in my photography.

Yeah, I could. But it may be a while before I have time to test it out.
Here is a guess, but I haven't tested this yet:

Install homebrew: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Install OpenCV and git: brew install git opencv

Clone the focus-stack repository: git clone https://github.com/PetteriAimonen/focus-stack.git and go there: cd focus-stack

Build: make and make install

Thanks. It took 6 hours to get OpenCV built (thanks to its seemingly thousands of highly specific dependencies). Your make went well, but make install did not like the -D switch. Deleted the -D and the install seemed to work. I can launch you executable fine, but I'm too exhausted to actually try making a focus stack right now.

Thanks for trying it out! I'll keep this open until I've added the build instructions to docs.
I guess I should provide binary package for Mac OS X also, to avoid the long build.

I'd love to test out a mac binary.

@dannephoto @alsmithson There is now a Mac OS package available here for testing: https://jpa.kapsi.fi/jenkins/job/focus-stack/job/focus-stack MacOSX/lastSuccessfulBuild/artifact/distrib/focus-stack_MacOSX.zip
You'll need to allow it separately from system settings as it is unsigned.

Thanks a lot!
Testing to download but seems interrupted(fails) everytime. Maybe Jenkins server. I´ll try harder and get back if I still can´t download it.

Hmm, funny, it is proxied to behind my home connection but for me it still downloads in less than a minute.
I uploaded a copy here, perhaps it works better as this directory is on a faster connection: https://jpa.kapsi.fi/stuff/other/focus-stack_MacOSX.zip

Still slooow :).
what about sprend.com ?
Anyway. Gotta run. Will check in here later tonight again.

@dannephoto I had a few friends try, works well for them. But for what it's worth, here's it on github: https://github.com/PetteriAimonen/focus-stack/releases/download/0.9/focus-stack_MacOSX.zip
I won't be distributing binaries over random file sharing services.

Thanks. Github did the trick.

You can output any format supported by opencv with e.g. --output=img.tiff.
Averaging etc. other features might be added in future, but for now, the application is about focus stacking only. Focus stacking in itself tends to select the noisiest images of the stack, as they have the most contrast.


1.17 Snapshot

When I try to use this on 1.17, the game keeps to crash, is it possible for you to update it to the snapshots?

The rendering system of minecraft got updated and I dont know how to make the mod work with that. I can probably figure it out when litematica or some other mod updates so I can see how they did it. Wearblackallday or neil may update thier external dungeon crackers faster though since fixing them would be a five minute job.

https://github.com/WearBlackAllDay/SeedCandy
https://www.reddit.com/r/MinecraftAtHome/comments/j941w5


^1.0.0-rc.1 writeBinaryFile still writes empty file

Describe the bug
writeBinaryFile still writes empty file with ArrayBuffer or Blob in this version ^1.0.0-rc.1
Reproduction
for (let i = 0; i < fileList.length; i++) {
    const content = await getFileContent(fileList[i].url) // return e.g {ext: "png", arrayBuffer: ArrayBuffer};
    const fname = getRandomFilename(content.ext) // return e.g `${new Date().getTime()}.${ext}`;
    const fPath = `simmslabs${path.sep}gensys${path.sep}images${path.sep}${fname}` // resides in the user's dir;
    await fs.writeBinaryFile({ contents: content.arrayBuffer, path: fPath }, { dir: Dir.Home });
}

No response
Expected behavior
No response
Platform and versions
Operating System - Mac OS, version 11.4.0 X64

Node.js environment
  Node.js - 14.17.0
  @tauri-apps/cli - 1.0.0-rc.5
  @tauri-apps/api - 1.0.0-rc.1

Global packages
  npm - 8.4.1
  pnpm - Not installed
  yarn - 1.22.10

Rust environment
  rustup - 1.24.3
  rustc - 1.58.1
  cargo - 1.58.0
  toolchain - stable-x86_64-apple-darwin

App directory structure
/dist
/node_modules
/src-tauri
/.git
/src

App
  tauri - 1.0.0-rc.3
  tauri-build - 1.0.0-rc.3
  tao - 0.6.2
  wry - 0.13.2
  build-type - bundle
  CSP - default-src 'self'; img-src 'self' asset: https://asset.localhost
  distDir - ../dist
  devPath - http://localhost:3000/
  framework - React

Stack trace
No response
Additional context
No response

Can you provide code samples and steps to reproduce this bug?

Kindly check Reproduction for sample code

You need to convert it to Uint8Array using new Uint8Array(arraybuffer) before sending it to the API. If you used typescript you'd catch this as our API typings does not allow ArrayBuffer to be passed to writeBinaryFile.

Thank you @lucasfernog i will try that on my next project. I rather created a custom_command to handle that. Hope your answer helps another newbie.

I just run into this issue and can confirm that converting to Uint8Array works. Was this in the changelog somewhere?

@gdotdesign Hi, how do I convert a PDF, which comes as string from an PHP script via file_get_contents() into Uint8Array ?
I tried this:
const content = Uint8Array.from(data.split('').map(letter => letter.charCodeAt(0)));
console.log('content', content)

const path = await save()
    .then(async (path) => {
        console.log('path', path)
        await writeBinaryFile({path, contents: content});
    }).catch((error) => {
        console.log('error', error)
    });

data is the string from API and looks like:
%PDF-1.7 %���� 5 0 obj << /Type /Page /Parent 1 0 R /LastModified (D:20230118201531+00'00') /Resources 2 0 R /MediaBox [0.000000 0.000000 595.276000 841.890000] /CropBox [0.000000 0.000000 595.276000 841.890000] /BleedBox [0.000000 0.000000 595.276000 841.890000] /TrimBox [0.000000 0.000000 595.276000 841.890000] /ArtBox [0.000000 0.000000 595.276000 841.890000] /Contents 6 0 R /Rotate 0 /Group << /Type /Group /S /Transparency /CS /DeviceRGB >> /PZ 1 >> endobj 6 0 obj <> stream x��Z[s�F~�W���.......

But the saved PDF has no content. The size of 8kb is the same as the original pdf size.

I think I got it working like this (for reading):
const contents =
  await Tauri.fs.readBinaryFile(path)

const bytes =
  new Uint8Array(contents.length);

for (let i = 0; i < contents.length; i++) {
  bytes[i] = contents[i]
}

new File([bytes], "some_file.pdf", { type: 'application/pdf' })

for writing:
let reader = new FileReader();

reader.addEventListener('load', (event) => {
  Tauri.fs.writeBinaryFile({
    contents: new Uint8Array(reader.result),
    path: path
  })
})

reader.readAsArrayBuffer(file)

@gdotdesign Thanks for your hint. In my case the axios responseType blob was missing. After adding I got instead the String an Blob. And I can now this Blob with data.arrayBuffer() in a Uint8Array converting.
BTW: arrayBuffer() is in older Safari not available. But there is an package file2arraybuffer available, which converts in older versions properly.


Add support for Flow framework version 4

The vendor name was changed with Flow 4, so this needs to be supported.
This is achieved by adding a new framework option flow4 to do this.
Also, the method used for detection is defined in a "clone" of the source class
that has _Original appended to it's name. Since a straight match is done, the
comparison needs to be done against the name of that "clone".

Works for me like this.

@beberlei Anything still needed for this to be considered done from your side?

This was synced in internal repository update https://github.com/tideways/profiler/commit/f61080d7751588d1bc6d70dfdd09d55f894fc7e4 from January.

Thanks!


Main b 18911 gun safe backend

B-18910
INT PRs
#12511 #12440
Summary
This branch adds changes to the backend to allow the app to track whether or not a customer has an entitlement to ship a gun safe. Currently the govt. just want's a flag to denote whether this is true or false, no weight calculations/fields have been added.
It also makes the gunSafe entitlement visible to the prime on the backend.
How to test
First PR / general backend

Get the Order ID of an order through the web tools, easiest way is to access the "Edit orders" screen of a move then hit F12, you should see a uuid near the bottom of the "Network" tab, you'll want the top-level ID from this JSON set.
Use Postman to access the GHC/Office API at {{baseUrl}}/counseling/orders/:orderID/allowances and fill in the order ID in the URL.
Use the Postman Interceptor or set your cookie values as needed, you'll also need to set a X-CSRF-Token value in the request headers to the value of the masked_gorilla cookie.
For the body, use { "gunSafe": true } , Send and make sure you get a 200 OK response.
Either get the entitlement ID from the web browser tools, or open DBeaver (or any database tool), go to the orders table and find your order with the UUID you noted, go to the entitlement_id column and click the link (in DBeaver, small box to the left of the actual value), to open the appropriate entitlement in the entitlements table.
Scroll to the end where you should see a "gun_safe" field, which should now be checked.
If you send another Postman request with a body of "{ gunSafe: false }", you should be able to refresh DBeaver and see the value is now false.

Second PR / Make Available To Prime

Find a move ID for any available to Prime move in the database using DBeaver, and edit it's gun safe flag to "true". Alternatively, if you want to use postman, using the move ID, issue a PATCH request with "gunSafe: true" in the body to "{{baseUrl}}/move-task-orders/:moveTaskOrderID/post-counseling-info".

Using Postman, access the Prime API and hit the {{baseUrl}}/move-task-orders/:moveID GET endpoint after getting the move id from the Network devtools tab or from a database explorer, inside the "entitlements" object, you should see a "gunSafe" boolean.

You can also verify via Postman that any API endpoint that uses an "Order" object now has a "gunSafe" boolean inside its nested "entitlements" object.
Note: You'll only see the gunSafe field in the object if gunSafe is set to true, otherwise it is not present.

Fails

:no_entry_sign:
Yarn Audit Issues Found:
high - PDF.js vulnerable to arbitrary JavaScript execution upon opening a malicious PDF
Package pdfjs-dist
Patched in >=4.2.67
Dependency of @trussworks/react-file-viewer
Path @trussworks/react-file-viewer > pdfjs-dist
More info https://github.com/advisories/GHSA-wgrm-67xf-hhpq
1 high vulnerabilities and 0 critical vulnerabilities found

  Generated by :no_entry_sign: dangerJS against 8921e5ffbe28fbef32008a835e81cee973b567eb


cc_grpc_library cannot find imported proto file

What version of gRPC and what language are you using?
git tag: v1.36.0
c++
What operating system (Linux, Windows,...) and version?
ubuntu20.04
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc: 9.3
What did you do?
my project has many proto file for a more clear structure, under this situation cc_grpc_library  coundn't find dependency proto file
What did you expect to see?
support import another proto file
Reproduce
a small project
https://github.com/xiedeacc/cc_grpc_library_reproduce.git
build command:
bazel build --experimental_repo_remote_exec :foo_cc_grpc

I have fixed this problem, right way I have pushed to https://github.com/xiedeacc/cc_grpc_library_reproduce.git


factor out parallel compilation in beam_search

Why?

just starting on "A beautiful refactor of the parallel BEAM into generic parallel kernel compilation"
ig, this was too granular


WebUI not working anymore

Hello, I made a copy of your notebook a few time ago to add controlNet and was working well, but today when i tried to launch, i get "504 bad get away" http err. So I tried to lauch your notebook to see if there is a similar issue and actually yes. Do you have any idea  what's happening ? I'm a React/Node dev so my understanding of SD python code is very limited ^^

Cannot reproduce, mine works without an error.


Implement JNI bindings for the Satscard on Android

Requirements:

[ ] Satscard functionality exposed by Flutter must interface with the Nunchuk C++ implementation via JNI

This won't work out as there will be conflicts between this plugin and the popular nfc_manager plugin. Instead the library should depend on nfc_manager to provide communication with NFC cards and the library can focus on simply being a proxy for Nunchuk's C++ tap-protocol library.
https://github.com/PeteClubSeven/cktap-protocol-flutter/issues/11


[request] Long-press to dismiss

When I'm first waking up, Talalarmo's alarm is slightly too easy to dismiss accidentally, forget about, and fall back asleep.
I came across another alarm app that requires you to hold the dismiss button for around a second to dismiss it (if you tap the button, it displays the text "Hold down to dismiss"). It's really nice because it forces you to be purposeful about dismissing the alarm.
In all other respects, Talalarmo is a better morning alarm clock; It would be awesome if it also supported this feature.
Reference: https://f-droid.org/app/com.better.alarm

I built an APK including this fix and some more config options: https://github.com/xerus2000/talalarmo/releases/tag/4.0


Add to Cookbook "Include a Bond Index" recipe and image

Reference Issue

What does this implement/fix? Explain your changes.
Adds an example to the Cookbook for numbering bonds by their index on a molecular structure.

Any other comments?
To show the image in a Jupyter notebook, I ended the code block with
display(SVG(svg))
which required adding as the testoutput text <IPython.core.display.SVG object>, so that text appears on the page.
I put this in section "Drawing Molecules (Jupyter)" after "Include an Atom Index". It could alternatively go in section "Bonds and Bonding".

Any particular reason that you didn't just use the addBondIndices draw option?

Just that I wasn't aware of addBondIndices. I'll play with that and check whether the function in this PR has additional value.
In either case, it may be worth adding a Cookbook article "Include a Bond Index," what do you think?

I switched to addBondIndices and followed the template of @iwatobipen's "Include an Atom Index" recipe. Screenshot for reference:

Thanks @bertiewooster

Great, glad this recipe will be in the Cookbook to help others. Thanks for your guidance.


vmclarity: backport: test

Description

Type of Change

[ ] Bug Fix
[ ] New Feature
[ ] Breaking Change
[ ] Refactor
[ ] Documentation
[ ] Other (please describe)

Checklist

[ ] I have read the contributing guidelines
[ ] Existing issues have been referenced (where applicable)
[ ] I have verified this change is not present in other open pull requests
[ ] Functionality is documented
[ ] All code style checks pass
[ ] New code contribution is covered by automated tests
[ ] All new and existing tests pass

tested against https://github.com/openclarity/openclarity/pull/736


Combine mstore_general and mload_general into one flag

This PR merges the mstore_general and mload_general flags into one. Since the flags opcodes do not abide by the decode.rs requirements, the decoding checks are done manually in the constraints.

@wborgeaud Would you have time to review this by any chance, please? 🙏🏻


Revamp landing page with animations as specified

Description

Related Issue

Changes Made
Add animations to all UI elements as specified in issue
Screenshots

Add animated background based on referenced video
https://github.com/user-attachments/assets/8141c156-1d12-41a4-9017-45278625eea9
Checklist

[x] I have tagged the issue in this PR.
[x] I have attached necessary screenshots.
[x] I have provided a short description of the PR.
[x] I ran yarn build and build is successful
[x] My code follows the style guidelines of this project.
[x] I have added necessary documentation (if applicable)

@nang-dev  any feedback on this ?

Yoo @Rihanmulani12 This looks cool. I think may be a bit too much. E.g. the animation on the cards is not necessary. I like the green on the grid lines though.
we have finished the landing page redesign, so unfortunately you have a lot of conflicts now.

can i work on this as you told?  @Fryingpannn

@Rihanmulani12 yes. but let's start this small. also do you make designs anywhere? would be better if we can approve designs beforehand. also what's your discord tag?

@Rihanmulani12 hmm u should also not be commiting .yarn. and i feel like too many installations. we should not slow website down. change should be as minimal as possible.

discord tag : rihan8268
If you provide me with any images or references for the exact design you're looking for, I can create the design in Figma myself based on your expectations. I'll also ensure it's implemented with performance optimization, so there won't be any issues with slowing down the website.


mvn command not found in jenkins-slave-maven

Hi,
I have a problem running my jenkinsfile.
Environment:
minishift / openshift 3.9 on linux mint
deployed the jenkins container from the default template
logged in to jenkins and added new pipeline which points to my git url
My git repo contains the following pipeline:
node('maven') {
    stage('Build') {
        container('jnlp') {
            echo 'Building..'
            sh 'mvn clean compile vertx:package fabric8:build fabric8:resource -pl bundle-registry-service -Popenshift'
        }
    }
}

result:
[qbus2-core_jenkins-IYIYBPCPUMWLQXTDVZYDX25KPV6OJPLOWT4B3HPDWKIK6JB6U5EA] Running shell script

+ mvn clean compile vertx:package fabric8:build fabric8:resource -pl bundle-registry-service -Popenshift

<EMAIL_ADDRESS>line 2: mvn: command not found

script returned exit code 127

Jenkins itself has configured a kubernetes pod template named maven and the container template jnlp within uses the docker image docker.io/openshift/jenkins-slave-maven-centos7:v3.9
when I enter the maven-XXXX container shell while it is running I can successfully run mvn -version command, so I dont understand what the issue actually is.

please see the feedback in https://github.com/openshift/jenkins/issues/582


Moves examples project

Moving examples to finch-samples according to #778.

Codecov Report

Merging #803 into master will decrease coverage by 0.56%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #803      +/-   ##
==========================================
- Coverage   80.22%   79.65%   -0.57%
==========================================
  Files          46       46
  Lines         703      703
  Branches       31       31
==========================================
- Hits          564      560       -4
- Misses        139      143       +4

Impacted Files
Coverage Δ

core/src/main/scala/io/finch/Encode.scala
91.66% <0%> (-8.34%)
:arrow_down:

core/src/main/scala/io/finch/syntax/Mapper.scala
22.22% <0%> (-5.56%)
:arrow_down:

...ore/src/main/scala/io/finch/internal/package.scala
95.83% <0%> (-4.17%)
:arrow_down:

core/src/main/scala/io/finch/endpoint/body.scala
58.82% <0%> (-2.95%)
:arrow_down:

Continue to review full report at Codecov.

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


Integrates prometheus

Types of changes

[ ] Enhancement (project structure, spelling, grammar, formatting)
[ ] Bug fix (non-breaking change which fixes an issue)
[ x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

A description of the changes proposed in the Pull Request
This PR integrates prometheus with IF. You can now provide inputs to IF and it will return the energy used in a k8s namespace in the output. I used the azure-importer plugin as inspiration for the parameters of the plugin.
Config

kepler-observation-window: the duration of an observation window in seconds. An input period will be split in multiple observation windows of this duration.
prometheus-endpoint: the url of the prometheus server
kepler-namespace: the k8s namespace to observe

Inputs

timestamp: the start of the observation period
duration: the duration of the observation period in seconds

Outputs
The same as input, with the addition of

energy: the energy used by the namespace during the period in Joule.

Example input / output
In this example, we have a period of three hours split in three observation window of one hour. This is the same behavior as the azure-importer plugin.
Input
name: kepler-test
description:
tags:
  type: 'both'
initialize:
  outputs:
    - yaml
  plugins:
    'kepler-importer':
      path: '@grnsft/if-unofficial-plugins'
      method: KeplerPlugin
tree:
  children:
    child-1:
      pipeline:
        - kepler-importer
      config:
        kepler-importer:
          kepler-observation-window: 3600
          prometheus-endpoint: http://localhost:9090
          kepler-namespace: falco
      inputs:
        - timestamp: '2024-03-21T00:00:00Z'
          duration: 10800

Output
name: kepler-test
description: null
tags: {}
initialize:
  plugins:
    kepler-importer:
      path: '@grnsft/if-unofficial-plugins'
      method: KeplerPlugin
  outputs:
    - yaml
if-version: v0.3.1
tree:
  children:
    child-1:
      pipeline:
        - kepler-importer
      config:
        kepler-importer:
          kepler-observation-window: 3600
          prometheus-endpoint: http://localhost:9090
          kepler-namespace: falco
      inputs:
        - timestamp: '2024-03-21T00:00:00Z'
          duration: 10800
      outputs:
        - timestamp: 2024-03-21T00:00:00.000Z
          energy:<PHONE_NUMBER>848782
          duration: 3600
        - timestamp: 2024-03-21T01:00:00.000Z
          energy:<PHONE_NUMBER>3360804
          duration: 3600
        - timestamp: 2024-03-21T02:00:00.000Z
          energy:<PHONE_NUMBER>44539
          duration: 3600

And it uses this PromQL query: sum(increase(kepler_container_joules_total{container_namespace="falco"}[1h]))
It still need input validation, error handling and tests, but I'm waiting on your feedback before working on it. In particular:

Do you think namespace is a good granularity for observations? Should we provide other parameters, such as pod or container?
Do you think it is a good idea to split one input into multiple periods, like the azure-importer plugin? Or should we stick to one output period per input period?

Closes #2

Do you think namespace is a good granularity for observations? Should we provide other parameters, such as pod or container?

@SFulpius Yes, unfortunately I don't think namespace is granular enough. For the test cluster both falco and its load test pods are deployed in the same namespace.
For the green reviews dashboard we use this query kepler_container_joules_total{container_name=\"falco\"}
I think we should support both container_name and container_namespace or just container_name. I don't think we need pod_name at this stage.
Also on naming for the plugin config how about using the same names as the labels on the kepler metrics? kepler-namespace could be confusing as there is also the namespace where kepler is deployed.

Do you think it is a good idea to split one input into multiple periods, like the azure-importer plugin? Or should we stick to one output period per input period?

I think splitting the periods is useful but a single output is also fine if it makes the code too complex.

I think we should support both container_name and container_namespace or just container_name. I don't think we need pod_name at this stage.

Ok, I will add a container name parameter.
What if there are multiple containers with the same name? In this case I think we should sum the energy consumption of the different containers.

Also on naming for the plugin config how about using the same names as the labels on the kepler metrics? kepler-namespace could be confusing as there is also the namespace where kepler is deployed.

I can change kepler-namespace to container-namespace and name the new parameter container-name.

Ok, I will add a container name parameter.

@SFulpius Thank you, that's great.

What if there are multiple containers with the same name? In this case I think we should sum the energy consumption of the different containers.

Agree, on summing the values. It would be useful to be able to sum all the values in the kube-system namespace for example. Likewise with container names there could be multiple e.g. sidecar containers.
To obtain measurements for a single component the user would need to make sure only a single container is selected.
I think its fine to expect the user to do that.  If possible though it would be nice to include in the output how many containers matched.


Add support for a javascript renderer

I'd like a way to render javascript somehow, or allow a pluggable interface where we could add another client that would fetch the HTML and render the javascript in it.
I've been looking at headless web browsers like PhantomJS.

Selenium and htmlunit is good.

+1 for this!

+1 for this as well!

Any plans on this @s17t  ?

+1


"Poeni", "Banov", "Brătești" , "Cătunu", "Preajba", "Țăvârlău" and "Vătași" are listed in the drop-down menu

Description:
"Poeni", "Banov", "Brătești" , "Cătunu", "Preajba", "Țăvârlău" and "Vătași" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Poeni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Poeni, TELEORMAN (Poeni)" and "Comuna Poeni, TELEORMAN".

Step 3
Type "Banov" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Banov, TELEORMAN (Poeni)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Type "Cătunu" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Cătunu, TELEORMAN (Poeni)".

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 9
Type "Preajba" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Preajba, TELEORMAN (Poeni)".

Step 10
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 11
Type "Țăvârlău" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Țăvârlău, TELEORMAN (Poeni)".

Step 12
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 13
Type "Vătași" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Vătași, TELEORMAN (Poeni)".


Suggestion: Warn when QR code JSON payload starts with UTF-8 BOM

Seems React Native's Hermes engine's JSON parsing has a bug where it can't parse a string that starts with a UTF-8 BOM. The error is not reproducible in Node.js here, so the QR code validates just fine and even in debug mode, no errors are visible.
This is one of the cases where, if unzipping with pako or similar, you might want to unzip not to string but to Uint8Array and then print out the hex... maybe. I never expected I would have to print out hexadecimal when working with simple JSON... :D

Interesting; I had to read up on UTF-8 and BOM to understand this issue. I agree that a warning would be useful, especially since the standard states that "Use of a BOM is neither required nor recommended for UTF-8".

We have some related discussion at https://chat.fhir.org/#narrow/stream/284830-smart.2Fhealth-cards/topic/How.20to.20register.20in.20the.20CommonTrust.20Network/near/251260716 -- but looks like the checks I proposed were incomplete

Should that be an error, rather than a warning?

Yes, I believe so

Interestingly, this situation was not caught by the fix for issue #145, because the BOM is stripped out when inflating directly to string with pake, as @LouisStAmour pointed out. I'll fix this, and add a unit test.

Actually, when converting to string pako doesn’t strip it exactly but Node.JS JSON.parse will not warn on it (it silently ignores it) and .trim() will strip it. I suggested using a raw buffer from pako if you want to display the hex when highlighting the presence of the UTF-8 BOM for example.

pako doesn’t strip it exactly but Node.JS JSON.parse will not warn on it (it silently ignores it)

Ah, interesting -- so my initial proposal of inflatedPayload.trim() === inflatedPayload may have been a valid check. In any case I agree that showing the hex would be helpful.

Weird, the current code doesn't give a warning on such a sample, but splitting the parsing as bellow triggers the "JWS payload has leading or trailing spaces" error.
const inflatedPayloadBuf =  pako.inflateRaw(b64DecodedPayloadBuffer);
inflatedPayload = Buffer.from(inflatedPayloadBuf).toString();

I'm adding code to explicitly identify the BOM.

I'm adding code to explicitly identify the BOM.

That’s my preference. It can be hard to identify the BOM as white space when it gets silently ignored by many text editors and such.


Contact for the wheel object

Hi,
Impressive simulator.
Using API, is it possible to make a contact for the wheel object or the circle?
I saw a sphere(point), capsule, cube in examples.
Thanks in advance.

Depends a bit on what you mean exactly. For a purely 2D example, you could just use the sphere. In 3D, a circle doesn't work as it would be infinitely thin and therefore massless. If you mean a tire, that would be a bit more complex, but could be very roughly modelled by a  cylinder or a torus. But we currently don't have a contact model for either.
Note that you can change the inertia of objects, so you could use a sphere as a tire if, for example, the lean angle of a car or bike isn't too large.


Update to 01 June 2015

The data for 23/03/2015 and 30/03/2015 in region_cases.js is missing. Therefore I close this pull request.


[Material UI] Buttons now at 36.5px high instead of 36px

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
Honestly this is such a small thing but it bugs me to no end when trying to setup things in the UI consistently. The button height measures out to 36.5px when bring inspected in Chrome/Firefox/Edge when the height should be at 36px.
There seem to be some other components that were effected as well. Subtitle2 was a 22px high I believe and now its some fraction. My assumption is this was due to a browser update.
Again this is in no way a huge issue just something I have noticed.
Expected behavior 🤔
Button height should be at 36px not 36.5px
Steps to reproduce 🕹
Steps:
1.Go to MUI in any browser
2. Inspect the button component
3. View the height result
Context 🔦
It would be nice if the output height of components were not decimals at it makes precision aligning and component altering a bit more difficult when decimals need to be used.

  Output from `npx @mui/envinfo` goes here.

It comes from the line height being computed to 24.5px. The reason for it being decimal comes from using a unitless value for it, which based on the font size, translates to this specific pixel value. In order to get to 24px, we would need to specify the lineHeight to be 1.714285 (24/14). This is part of the theme.typography.button typography variant. cc @danilo-leal what are your thoughts on this? Is it worth to change the implementation?

I wouldn't put this specific decimal value for the line height just for the sake of locking the Button's height to 36px. However, I'm curious why the line height ends up at 24.5px, even with the translation process. Should we do some digging there, instead?


Linux-arm installation

Can u explain how it's supposed to be ran on my raspberry pi?

I know this is well after you asked but figured I'd reply in case you were still interested or anyone else couldn't figure it out.
cd /path/to/folder/ && ./discord-image-downloader-go to run it manually
If you install a process manager like pm2, you can go do cd /path/to/folder then pm2 start discord-image-downloader-go. Do pm2 save, then add @reboot pm2 resurrect to your crontab so it'll start on boot.

I know this is well after you asked but figured I'd reply in case you were still interested or anyone else couldn't figure it out.
cd /path/to/folder/ && ./discord-image-downloader-go to run it manually
If you install a process manager like pm2, you can go do cd /path/to/folder then pm2 start discord-image-downloader-go. Do pm2 save, then add @reboot pm2 resurrect to your crontab so it'll start on boot.

Thanks now i know that too


Improve code in docs

I have updated the Ionic-Angular code for the sqlite.service.ts to remove unnecessary promise wrapping and error handling as all methods are async.

@fizdalf Why did you remove the try...catch means that you will never get back the error?

The try/catch were catching and the returning a failed promise, but all the
functions are already async, when a function is async it is already wrapped
in a promise so just throwing an error will be processed as a promise
rejection, so they were unnecessary
El jue, 12 ene 2023, 7:42, QUEAU Jean Pierre @.***>
escribió:

@fizdalf https://github.com/fizdalf Why did you remove the try...catch
means that you will never get back the error?
—
Reply to this email directly, view it on GitHub
https://github.com/capacitor-community/sqlite/pull/368#issuecomment-1379926436,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSRTOZQF37GNT7BUS4TYVTWR6YWTANCNFSM6AAAAAATX7Y7OY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Where I say "failed promise", I meant "rejected promise"
El jue, 12 ene 2023, 8:24, fizdalf @.***> escribió:

The try/catch were catching and the returning a failed promise, but all
the functions are already async, when a function is async it is already
wrapped in a promise so just throwing an error will be processed as a
promise rejection, so they were unnecessary
El jue, 12 ene 2023, 7:42, QUEAU Jean Pierre @.***>
escribió:

@fizdalf https://github.com/fizdalf Why did you remove the try...catch
means that you will never get back the error?
—
Reply to this email directly, view it on GitHub
https://github.com/capacitor-community/sqlite/pull/368#issuecomment-1379926436,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSRTOZQF37GNT7BUS4TYVTWR6YWTANCNFSM6AAAAAATX7Y7OY
.
You are receiving this because you were mentioned.Message ID:
@.***>

@jepiqueau no probs. We are learning all the time. I see if there's something else I can contribute with.


Adding ARM Disk Management cmdlets

Previously the ASM cmdlets were in the doc, added the matching ARM cmdlets to set VM disk options.

@WillEastbury : Thanks for your contribution to the Azure documentation! The author, @rothja, has been notified to review your proposed change.

Thank you for the formatting changes and the improvement! #sign-off


Add an Easy Way to Enable/Disable Scrollbar

#1 shouldn't have been closed. Why do I have to join your server just to customize something as simple as whether a scrollbar is there? Don't you think that's a little over-the-top?
Workaround For Now
Add this to your Quick CSS:
/* Re-enable scrollbar */
:root .layerContainer-2v_Sit *::-webkit-scrollbar {
  display: block !important;
}
:root ::-webkit-scrollbar {
  display: block !important;
}

Hey, I just saw that issue searching for other closed one and idk why I closed it you're right, it's probably because the owner of theme didn't want scrollbar either so I kept this

Ah, okay. It would be nice if it did support scrollbars.


Tooltip/Popover should reposition itself automatically when window is resized or otherwise

Using Bootstrap in a client project, I had to fix a bug where a Popover was incorrectly positioned.  The detail was that the mix of markup and JavaScript on the page created the popover, set the focus to the triggering field (causing the Popover to appear), but then other JavaScript modified the DOM (adding an alert to the top of the page) that shifted down the triggering field ... and the Popover stayed positioned relative to the fields original position.
I also noticed that resizing the browser window also fails to reposition the Popover when, again, the location of the underlying field has changed.
My brief research on DOM events indicates that support for generic DOM tree modification events is spotty and buggy, but handling the window resize event would be sufficient for many people.
My approach to this is a bit of a hack (and has some Apache Tapestry details mixed in).
  /** Adds a new operation, "reposition", to Bootstrap's popover that
   *  re-positions the tooltip/popover if it is currently visible. This is used to handle
   *  changes to the DOM and window resizing.
   */
  jQuery.fn.popover.Constructor.prototype.reposition = function () {
    if (this.enabled && this.tip().hasClass("in")) {
      this.show();
    }
  }

... and in the code that creates the Popover:
  matches.popover(options);

  function doReposition() {
    matches.popover("reposition");
  }

  jQuery(window).resize(_.throttle(doReposition, 250));

  // Ideally, there would just be a way to handle this for anything that modifies the DOM.
  T5.sub(T5.events.ADD_ALERT, null, doReposition);

This works acceptibly; there's a slighe fade in/fade out animation here that I'd prefer to avoid; it would be nice if the tooltip show() function could be broken up a little, so that the code that determines position could be invoked directly, without all the other stuff that show() does.

for anyone who stumbles on to this one, tooltip-append-to-body=false helps, in case it had been set to true.

on window resize event, call mouseout() on the anchor of the popover:
$('#itemWithPopoverAttached').mouseout()
the popover will move, and the tooltip (if present) will not be activated.

Because of the location of the item that displays the tooltip I really needed something that that could recalculate the tooltip's position. I do think that @hlship is absolutely right about this being broken up in the show function. I took the show function and eliminated everything that I thought was not needed for a recalc.
Here is what I have:
  $.fn.tooltip.Constructor.prototype.recalculatePosition = function(){
    var $tip = this.tip()
    if($tip.is(':visible')){
      var placement = typeof this.options.placement == 'function' ?
        this.options.placement.call(this, $tip[0], this.$element[0]) :
        this.options.placement

      var autoToken = /\s?auto?\s?/i
      var autoPlace = autoToken.test(placement)
      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'

      $tip.addClass(placement)

      var pos          = this.getPosition()
      var actualWidth  = $tip[0].offsetWidth
      var actualHeight = $tip[0].offsetHeight

      if (autoPlace) {
        var orgPlacement = placement
        var viewportDim = this.getPosition(this.$viewport)

        placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top'    :
                    placement == 'top'    && pos.top    - actualHeight < viewportDim.top    ? 'bottom' :
                    placement == 'right'  && pos.right  + actualWidth  > viewportDim.width  ? 'left'   :
                    placement == 'left'   && pos.left   - actualWidth  < viewportDim.left   ? 'right'  :
                    placement

        $tip.removeClass(orgPlacement).addClass(placement)
      }

      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
      this.applyPlacement(calculatedOffset, placement)
    }

Using this I was able to then call the following anywhere in my code to recalculate the tooltip's position
$('<selector to element with tooltip>').tooltip('recalculatePosition');

With that you can attach it to event listeners, etc. I hope this helps someone.


feat: support for python 3.12

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (702b702) 88.00% compared to head (792287f) 88.00%.

:exclamation: Current head 792287f differs from pull request most recent head 833482f. Consider uploading reports for the commit 833482f to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #359   +/-   ##
=======================================
  Coverage   88.00%   88.00%
=======================================
  Files          33       33
  Lines        2976     2976
=======================================
  Hits         2619     2619
  Misses        357      357

Files
Coverage Δ

strawberry_django/mutations/resolvers.py
87.05% <100.00%> (ø)

strawberry_django/utils/query.py
84.61% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.