Histogram config with a prometheus data source

I had installed histogram plugin by
grafana-cli plugins install mtanda-histogram-panel

But I am so confused how to use it with a promethues data source, for example there is a metrics:
openstack_allocation_ratio{cloud="openstack",instance="openstack-test:9183",job="openstack_exporter"}

How do I config a histogram chart, and how to set a X-axis ?
Is there any successful example of histogram with prometheus data source ? Thanks.

Sorry, this plugin doesn't support Prometheus histogram.
If the metrics is gauge, it should work.

@mtanda  Meanwhile, I found a histogram_quantile() functions in prometheus official document, I am not sure whether it works with this histogram plugin.
Refer to HISTOGRAMS AND SUMMARIES.

@Keleir It doesn't return histogram, it return time series value for the specified quantile.
http://demo.robustperception.io:9090/graph?g0.range_input=1h&g0.expr=histogram_quantile(0.9%2C+rate(prometheus_local_storage_series_chunks_persisted_bucket[1m]))&g0.tab=0
If we can convert le label of histogram to x-axis, it is possible to draw histogram.
http://demo.robustperception.io:9090/graph?g0.range_input=1h&g0.expr=prometheus_local_storage_series_chunks_persisted_bucket&g0.tab=1
But this plugin doesn't support it.
And Grafana v4 itself histogram panel doesn't support such format too.
I want to stop this plugin development, so I recommend you posting feature request to Grafana.
https://github.com/grafana/grafana/issues/7798 is related issue.


Token JS: Use COptionPubkeyLayout for all COption fields

After #6164, we now have a serialization layout for COption<Pubkey>, where a None value is represented by a single 0, while Some(Pubkey) is represented by a 1 plus the public key bytes.
There are a handful more instructions in Token2022 that use COption<Pubkey>. Here are a few examples:
https://github.com/solana-labs/solana-program-library/blob/8b22d759fef30795eff99385f15ae1c4380eeb90/token/program-2022/src/instruction.rs#L474-L482
https://github.com/solana-labs/solana-program-library/blob/8b22d759fef30795eff99385f15ae1c4380eeb90/token/program-2022/src/instruction.rs#L549-L553
Update their JavaScript instruction builders to use the new layout!

would like to work on this!


[Package Issue]: Zoom.Zoom: Zoom.Zoom listed as installed, version numbering according to Zoom.Zoom.EXE convention

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Installation issue.
Brief description of your issue
Winget claims I have the package Zoom.Zoom installed with version 6.0.4 (38135), but uses that kind of version number scheme for different package Zoom.Zoom.EXE:
> winget list Zoom.Zoom
Name           Id        Version       Available Source
-------------------------------------------------------
Zoom Workplace Zoom.Zoom 6.0.4 (38135) 6.0.38135 winget
> winget search Zoom.Zoom
Name                 Id                     Version       Source
-----------------------------------------------------------------
Zoom Workplace       Zoom.Zoom              6.0.38135     winget
Zoom Outlook Plugin  Zoom.ZoomOutlookPlugin 6.0.0         winget
Zoom Rooms           Zoom.ZoomRooms         5.17.9        winget
Zoom Workplace (EXE) Zoom.Zoom.EXE          6.0.4 (38135) winget

This seems to also confuse winget upgrade:
> winget upgrade
Name           Id        Version       Available Source
-------------------------------------------------------
Zoom Workplace Zoom.Zoom 6.0.4 (38135) 6.0.38135 winget
> winget upgrade Zoom.Zoom
No applicable upgrade found.
A newer package version is available in a configured source, but it does not apply to your system or requirements.

Steps to reproduce
Probably not reproducible. I erased my setup by uninstalling and reinstalling Zoom.Zoom. I have been unsuccessful in re-creating the situation by with installing old Zoom.Zoom versions and upgrading them.
Actual behavior
n/a
Expected behavior
When Winget claims Zoom.Zoom is installed, it uses version number scheme for that package. When the latest version is installed, Zoom.Zoom does not show up in winget upgrade.
Environment
> winget --info
Windows Package Manager v1.7.11132
Windows: Windows.Desktop v10.0.22631.3527
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.22.11132.0

Screenshots and Logs
No response

Additional info: I have had Zoom installed for quite long time, and upgraded multiple times. Unless Zoom app has invisible auto-installer, all updates have went through Winget. Probably, I installed Zoom originally via Winget also, but I have not found a way to confirm this (winget history would here here!).

I would recommend uninstalling your current version and installing the new one which is Zoom.Zoom.EXE

I would recommend uninstalling your current version and installing the new one which is Zoom.Zoom.EXE

Thank you, I did that. Things look normal now.
I should note that I think most users will pick Zoom.Zoom, because it has the simplest name. And anyhow user experience of "here are two packages to choose from, one of them is the wrong (but we'll only tell you about that, or which one is the right one, if you file a GitHub issue)" is not a very good one. It would be better to just retire Zoom.Zoom if it should not be used anymore, and automatically switch existing installations to the new package on winget upgrade. (I am not sure if Winget has such feature though — see RPM's Obsoletes tag for how other package management systems implement that.)

Hi all,
The exe installed which install in user context were moved to a separate manifest as the detection was having issues. The Zoom.Zoom is installing the machine wide MSI so both of these still have a place. @SpecterShell might need to look at why they are both listing.

Thanks for the explanation! A simple improvement here could be that winget show Zoom.Zoom vs. winget show Zoom.Zoom.EXE description would explain what the differences are. I would say that MSI vs. EXE is not relevant for most users, user vs. machine wide install more so.


Eureka client failed to authenticate for eureka server

I have eureka server:
@SpringBootApplication
@EnableEurekaServer
public class DiscoveryServerApplication {
	public static void main(String[] args) {
		SpringApplication.run(DiscoveryServerApplication.class, args);
	}
}

Config:
    @Configuration
    public class WebConfig {

@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity serverHttpSecurity){
    serverHttpSecurity.csrf()
            .disable()
            .authorizeExchange( exchange -> exchange.pathMatchers("/eureka/**")
                    .permitAll()
                    .anyExchange()
                    .authenticated()
            ).oauth2ResourceServer(ServerHttpSecurity.OAuth2ResourceServerSpec::jwt);

    return serverHttpSecurity.build();

}

}

application.properties:
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
server.port=8761

eureka.username=eureka
eureka.password=password

spring.security.user.name=eureka
spring.security.user.password=password

eureka.instance.metadata-map.user.name: ${spring.security.user.name}
eureka.instance.metadata-map.user.password: ${spring.security.user.password}

This "works" , go into localhost:8761, input eureka/password as name/password and im in.
Now i have client that i want to register in the eureka server.
I have this in application.properties:
eureka.client.serviceUrl.defaultZone = http://eureka:password@localhost:8761/eureka
server.port=8081
spring.application.name=service-name

Upon starting the app i receive:

2023-10-22T17:03:40.958+02:00  WARN 2528 --- [nfoReplicator-0] c.n.d.s.t.d.RetryableEurekaHttpClient    : Request execution failure with status code 401; retrying on another server if available
2023-10-22T17:03:40.959+02:00  WARN 2528 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_ORDER-SERVICE/darlyn:order-service:8081 - registration failed Cannot execute request on any known server
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

I tried solution presented here e.g using
eureka.instance.metadata-map.user.name: ${spring.security.user.name}
eureka.instance.metadata-map.user.password: ${spring.security.user.password}

in server properties.
i have csrf disabled as most of the answers to this problem says its csrf problem,
i have tried to add custom restBean according to this post, e.g
@Bean
public RestTemplateTransportClientFactories restTemplateTransportClientFactories(EurekaClientHttpRequestFactorySupplier supplier)
{
    return new RestTemplateTransportClientFactories(new RestTemplateDiscoveryClientOptionalArgs(supplier));
}

in my client service, however the problem remains the same.
is there any solution to this problem or do i have to downgrade versions?
I am using:
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
	<version>4.0.3</version>
</dependency>

for client as
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
		<version>4.0.3</version>
	</dependency>

for server with
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-security</artifactId>
        <version>3.1.4</version>
	</dependency>

Using code samples from docs and github results in the same error...
Thanks for help

Same issue here

I'm using spring boot 3.1.5 and spring cloud 2022.0.3 and I was able to achieve the basic authentication for service registry.
This is my config on eureka
spring:
   application:
      name: test
   security:
      user:
         name: test
         password: test
server:
   port: 8888
eureka:
   client:
      serviceUrl:
         defaultZone: http://localhost:${server.port}/eureka/
   instance:
      preferIpAddress: true
      instanceId: ${spring.application.name}:${random.int}

And this is the filterChain to disable the csrf
@Configuration
public class WebSecurityConfig {
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        return http.csrf(AbstractHttpConfigurer::disable).securityMatcher("/eureka/**").build();
    }
}

And these are the properties I'm passing from the service which is supposed to be registered in eureka
eureka.client.fetch-registry=true;
eureka.client.register-with-eureka=true;
eureka.client.service-url.default-zone=http://test:test@localhost:8888/eureka/

Even I am also facing same issue. I am stuck here from past 2 weeks. Need urgent help

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.

I got the solution. date 2/20/2024. Problem was that This guy(who asked the question) was using old video to learn spring microservice. In that video the video-maker  uses old way to add security-filter-chain. But the way he disables csrf method is useless at this moment. So ,in short , problem is csfr. as this guy Narendranath2 shows you need to add .securityMatcher("/eureka/**") at the end of csrf method , otherwise the so-called issue happens


objective function

Just dropping by to say kudos to you for making this tool. I was thinking about making a similar tool and ended up finding yours... Cool! I was curious how you decided on the objective/evaluation function you are using:
https://github.com/patrickthomashansen/dorfromantik_helper/blob/39274f0872910d637adf25e13ef735f7aca6aaaa/evaluator.py#L47-L54
I was thinking that the best approach would be simply to maximize the number of perfect or potentially-perfect tiles on the board (and therefore only ruin tiles as a very last resort). As a tie-breaker, you would then count how many edges are connected. Further tie-breakers would be up to human judgement in lieu of a more complicated solver.
Your evaluation function sometimes suggests ruining a tile in order to perfect another. I was just curious if that was intentional. The overall result speaks for itself obviously; the tool works quite well.

Hi Alex,
I'm glad you've found my tool useful! You are correct in that I try to
maximize the number of good connections while minimizing the number of
incompatible connections. Sometimes the weights of the evaluation function
result in ruining a tile in order to get several perfects, and this is
intentional. For example, a location with 5 surrounding tiles would be
quite difficult to find a perfectly fitting tile compared to a location
with 3 surrounding tiles, so sometimes I would prefer to place a tile in
the former location even if it is not perfect, especially early on in a
game when you are working with a smaller deck of tiles and perfects are
more crucial.
I ended up with my evaluation function just by trial and error based on my
own strategy as I play. I weigh good connections that result in a perfect
higher than I do a good connection that does not. Additionally, I penalize
greater for an incompatible connection that causes a tile to no longer be
able to be perfect more than I do an incompatible connection with an
already ruined tile. I could have come up with something more intricate,
but this approach seemed to yield good results.
When I play Dorfromantik, I try to use this tool merely as a guide rather
than an oracle solution, and thus I use it mainly to highlight potential
placement locations. In the case of a tie or close score (or if it helps
with a quest), I will inevitably need to use my own judgement while
playing, which I prefer over having a perfect tool that plays the game for
me :)
I would encourage you to fork and modify my tool if you have a more
sophisticated approach in mind. I would be curious to see what others can
come up with!
On Mon, Feb 28, 2022 at 11:25 PM Alex Osborne @.***>
wrote:

Just dropping by to say kudos to you for making this tool. I was thinking
about making a similar tool and ended up finding yours... Cool! I was
curious how you decided on the objective/evaluation function you are using:
https://github.com/patrickthomashansen/dorfromantik_helper/blob/39274f0872910d637adf25e13ef735f7aca6aaaa/evaluator.py#L47-L54
I was thinking that the best approach would be simply to maximize the
number of perfect or potentially-perfect tiles on the board (and therefore
only ruin tiles as a very last resort). As a tie-breaker, you would then
count how many edges are connected. Further tie-breakers would be up to
human judgement in lieu of a more complicated solver.
Your evaluation function sometimes suggests ruining a tile in order to
perfect another. I was just curious if that was intentional. The overall
result speaks for itself obviously; the tool works quite well.
—
Reply to this email directly, view it on GitHub
https://github.com/patrickthomashansen/dorfromantik_helper/issues/3, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AG62FFMOW7IITDZCRUHT3MTU5RDCNANCNFSM5PS5V3UA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I honestly just found it by searching for dorfromantik on GitHub; I only found your reddit post after the fact. I like to search around GitHub to find cool ideas done in very small niches.

Just in case you were curious I did end up rolling my own application: https://github.com/amosborne/dorfperfekt
Thanks for the inspiration!


JSON error response is not match in development and production mode

JSON  error response is not match in development and production mode
Brief Description
Sample Code
In BaseHandler when process.env.NODE_ENV === 'development' it generates error by Youch module
https://github.com/adonisjs/adonis-framework/blob/b2082d27bda81ac9c224612a474ddaa4aaa414a2/src/Exception/BaseHandler.js#L78-L82
Youch module generates such structure (in error porperty and without code)
{
  error: {
    message: "...",
    name: "...",
    status: 404,
    frames: [...]
  }
}

When NODE_ENV switch to production error message will generate by internal function and will be like
{
  message: "...",
  name: "...",
  code: "...",
  status: 404,
}

I suppose we need strict structure to get currect error message!
PS: I know that I can use own Handler, but...

 if (process.env.NODE_ENV === 'development') {
   const formattedError = await this._getYouchError(error, request.request, isJSON)
   response.status(error.status).send(Object.assign({code: error.code}, formattedError.error))
   return
 }

something like this

Why the error structure has to match in development n production?
Infact why you want to show the file paths from where the exception is thrown in production?

Also the structure you are mentioning is for unexpected errors and I believe your app should not have unhandled exceptions

Infact why you want to show the file paths from where the exception is thrown in production?
I don't want to show paths, I write REST API and every Exception such as ValidationException,  Forbidden, NotFount, TokenExpired - retranslate to client-side application and it has to do correct reaction. I just need message and code of exception, for example E_JWT_TOKEN_EXPIRED, etc.
(ValidationException has own response structure)

Also the structure you are mentioning is for unexpected errors and I believe your app should not have unhandled exceptions

I suppose ValidationException, Forbidden, NotFount, TokenExpired, InvalidParameter, etc - this is not unexpected error, this is normal error for REST API exchange

ValidationException seems to be returning the consistent output.

Yes, I wrote "(ValidationException has own response structure)" and works good. I mentoin about ValidationException for example to you question about unhandled errors. Such ua Validation has output description, other exceptions must have correct outputs to process it in client-side application

Every exception cannot define a consumable output, and that's why you have a custom exception handler to define your own standard response the way you want

Closing since not actionable


Fixed docs.rs metadata

This changes rustc-args, which doesn't do what we want, to rustdoc-args,
which does.
Because of huge value/effort ratio assigning medium priority and 0.28 milestone - would be a real shame to release without this.

https://docs.rs/about/metadata for reference

@dpc the other part of it is knowing the difference between RUSTFLAGS and RUSTDOCFLAGS :)

@apoelstra makes sure docs.rs builds docs with correct flag so that all the work on documenting features actually makes sense - they don't appear there without the flag.


Issue when running build pipeline which do not have sign_temurin_gpg

no jenkins pipeline job
all platforms

I have a question regarding a piece of build code.
/pipelines/build/common/openjdk_build_pipeline.groovy
if (!env.JOB_NAME.contains('pr-tester')) {
    try {
        gpgSign()
    } catch (Exception e) {
        context.println(e.message)
    }
}

This condition always is true in our environment for all platforms and we will end up failure as we do not have any gpgSign() -> build-scripts/release/sign_temurin_gpg to run.
Can we have a more accurate condition here to avoid it run for non-adoptium users?

I think the ask is if we can submit a change to add a condition to that if line. Either !openj9 or JENKINS_URL.contains('adopt') like we did here
https://github.com/ibmruntimes/ci-jenkins-pipelines/blob/3d3cc13c466878349f5d6702381c6def555d4250/pipelines/build/common/create_job_from_template.groovy#L71

I see in the Adopt OpenJ9 builds the sign_temurin_gpg job is run
ex
https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk11u/job/jdk11u-linux-ppc64le-openj9/1339/consoleFull
14:42:36  RUNNING sign_temurin_gpg for linux/ppc64le ...
[Pipeline] build (Building build-scripts » release » sign_temurin_gpg)
14:42:36  Scheduling project: [build-scripts » release » sign_temurin_gpg](https://ci.adoptium.net/job/build-scripts/job/release/job/sign_temurin_gpg/)
14:42:45  Starting building: [build-scripts » release » sign_temurin_gpg #27185](https://ci.adoptium.net/job/build-scripts/job/release/job/sign_temurin_gpg/27185/)
14:44:47  Build [build-scripts » release » sign_temurin_gpg #27185](https://ci.adoptium.net/job/build-scripts/job/release/job/sign_temurin_gpg/27185/) completed: SUCCESS
[Pipeline] node
14:44:47  Running on [jenkins-worker](https://ci.adoptium.net/computer/jenkins%2Dworker/) in /home/jenkins/workspace/build-scripts/jobs/jdk11u/jdk11u-linux-ppc64le-openj9
[Pipeline] {
[Pipeline] sh
14:44:49  + rm -rf workspace/target/*
[Pipeline] copyArtifacts
14:44:52  Copied 4 artifacts from "[build-scripts » release » sign_temurin_gpg](https://ci.adoptium.net/job/build-scripts/job/release/job/sign_temurin_gpg/)" build number [27185](https://ci.adoptium.net/job/build-scripts/job/release/job/sign_temurin_gpg/27185/)
[Pipeline] timeout
14:44:52  Timeout set to expire in 6 hr 0 min
[Pipeline] {
[Pipeline] archiveArtifacts
14:44:52  Archiving artifacts

So I'm guessing the solution here will be to add the latter option to that if so that Adopt continues to sign their OpenJ9 builds. @mahdipub can you open a PR with that please?
JENKINS_URL.contains('adopt')

This PR regarding this issue.
https://github.com/adoptium/ci-jenkins-pipelines/pull/983


increase view area in layer

similar to #11 but for app/views/layouts/layerdetail.html.erb
see: http://maps.nypl.org/warper/layers/1138

I can take this on. Can you advise on loading sample data to the dev server?

I increased the view area of the Show tab using the same approach as the Preview tab of the Maps layout -
http://mapwarper.livefeed.net/warper/layers/1
I'm unclear how the Digitize is operated. In both the prod example and my local dev example I don't see any data -

you can create a layer out of any group of maps. so you could for example make three maps out of that original one (1+2 insets)

On Apr 7, 2016, at 09:17, Lou Klepner<EMAIL_ADDRESS>wrote:
I increased the view area of the Show tab using the same approach as the Preview tab of the Maps layout -
http://mapwarper.livefeed.net/warper/layers/1
I'm unclear how the Digitize is operated. In both the prod example and my local dev example I don't see any data -
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub

layers are clear now (and awesome!) but the digitizer is still a mystery... most because I'm having a hard time finding an example of it in action.

submitted a PR for the Show tab changes - https://github.com/nypl-spacetime/nypl-warper/pull/24

it's where you draw map features (building footprints or roads)

On Apr 7, 2016, at 09:41, Lou Klepner<EMAIL_ADDRESS>wrote:
layers are clear now (and awesome!) but the digitizer is still a mystery... most because I'm having a hard time finding an example of it in action.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub

Tracing over the map right? Any idea why the left side is blank? Do I need
to preset it I some way?
On Thu, Apr 7, 2016 at 9:50 AM Mauricio Giraldo<EMAIL_ADDRESS>wrote:

it's where you draw map features (building footprints or roads)

On Apr 7, 2016, at 09:41, Lou Klepner<EMAIL_ADDRESS>wrote:
layers are clear now (and awesome!) but the digitizer is still a
mystery... most because I'm having a hard time finding an example of it in
action.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub

—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/nypl-spacetime/nypl-warper/issues/22#issuecomment-206914315

you select a "layer" to work on... this is a vector layer... select "Buildings" and then click on the "Draw polygons" tool (top right trapezoid) and click away in the map
this digitizer is somewhat complicated/confusing to use… but it has been our workhorse for many years

fixed in e45d60a00955defae1852f831762627061c185d0


Eror

Error occurred in fetch_profile: Invalid response
An error occurred in call_api: 403 Client Error: Forbidden for url: https://api.nodepay.org/api/auth/session

pull the repo again!


Support update SQL & fix precision problem

I do two minor changes:

use executeUpdate() to run those CREATE, DROP, INSERT.... statements in trace files.

use BigDecimal to solve the double error #50

@lixupeng I would not check in the SQLite traces into the repository. They are going to be huge. You can download them from the peloton website.
The setup script should also probably be in the regular peloton repository.

@lixupeng You need to expunge the sqlite trace file completely from your PR. Otherwise it bloats the size of the repo because it's still in the history:
https://help.github.com/articles/removing-sensitive-data-from-a-repository/

@apavlo ok, I've fixed it.


"Copy to clipboard" button doesn't work on multi-line command with backslash

Problem description
If a snippet in our docs contains a backslash (\) (or the line ends with one?), only the first line is copied, not the full snippet.
For the snippet at https://www.pulumi.com/docs/intro/concepts/config/#aws-key-management-service-kms:
$ pulumi stack init my-stack \
    --secrets-provider="awskms://1234abcd-12ab-34cd-56ef-1234567890ab?region=us-east-1"

This is what gets copied:
pulumi stack init my-stack \

I'm not 100% sure the backslash is the issue, but I've only noticed the issue on multi-line commands when a backslash is used.
Examples

https://www.pulumi.com/docs/intro/concepts/config/#aws-key-management-service-kms
https://www.pulumi.com/docs/intro/concepts/config/#azure-key-vault
https://www.pulumi.com/docs/intro/concepts/config/#google-cloud-key-management-service-kms
https://www.pulumi.com/docs/intro/concepts/config/#hashicorp-vault-transit-secrets-engine

Suggestions for a fix
Copy the whole snippet.

Ahh, just hit this one too:
$ mkdir yaml
$pushd yaml
$ curl -L --remote-name \
    https://raw.githubusercontent.com/kubernetes/examples/master/guestbook/{frontend-deployment,frontend-service,redis-master-deployment,redis-master-service,redis-slave-deployment,redis-slave-service}.yaml
$ popd yaml

This gets copied as:
mkdir yaml && pushd yaml && curl -L --remote-name \


feat(value-objects) - Add value objects to mikro-orm

In this pull request, we add Value Objects to our project. Value Objects are a software design practice that allows us to encapsulate values with specific behaviors and business rules in immutable objects.
The Value Objects we added are:

Address: Represents a physical address with fields such as street, number, city,
state and zip code.
Full Name: Represents a full name with fields such as first name and last name.
Date of Birth: Represents a date of birth.

The addition of these Value Objects brings several advantages to our project:
1.Encapsulation: Each Value Object encapsulates validation logic and behavior related to the value it represents. This makes our code more modular and easier to maintain.
2. Immutability: Value Objects are immutable, which means that once created, their values cannot be changed.
This helps prevent bugs and makes our code more predictable.
3. Re-usability: Value Objects can be reused in different parts of our code, which helps reduce code duplication.
Utilization
@Entity()
class User {

  @PrimaryKey()
  id!: number;

  @Property()
  email: Email; // Value Object
}

Example of Value-Object
import { ValueObject } from './value-object';

const REGEX = /^[a-z0-9.]+@[a-z0-9]+\.[a-z]+(\.[a-z]+)?$/i;

export class Email extends ValueObject<string, Email> {

  protected validate(value: string): boolean {
    return REGEX.test(value);
  }

}

How is this different from embeddables? I don't think we need anything else for value objects.

**B4nan ** commented Dec 9, 2023 •
@B4nan
For me the point would be:

Simplicity. Just defining the type, without needing to customize the decorator, reducing the cognitive load.
Centralized business rule. Embedables are not the same thing and in my opinion custom types were not made for that.

At the moment I thought about these two points, but I believe there could be more.
If you don't like it, feel free to close this PR.


feat: upgrade nextjs

What type of PR is this? (check all applicable)

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

Description

Issue ticket number and link
Checklist:

[ ] I have performed a self-review of my code.
[ ] I have tested the change on desktop and mobile.
[ ] I have added thorough tests where applicable.
[ ] I've added analytics and error logging where applicable.

Screenshots (if appropriate):

:tada: This PR is included in version 1.223.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


version change to 0.3

Safe launcher v0.5 compatibility

This change is

r? @ustulation
(maidsafe_highfive has picked a reviewer for you, use r? to override)


Is it possible to call OrientDB functions using pyOrient?

http://orientdb.com/docs/2.0/orientdb.wiki/Functions.html
I did not see a contact method and apologize for using github's issues feature for this but am I able to call Functions I have created in OrientDB using this driver?

+1 - I have the same question.

Hi @zorrobyte ,
sure, you can create a function inside OrientDB and then call it by pyorient.
This is a function example:
orientdb {db=animals}> select from OFunction

----+----+---------+----------+-------+----------+---------------------------------+----------
#   |@RID|@CLASS   |idempotent|name   |language  |code                             |parameters
----+----+---------+----------+-------+----------+---------------------------------+----------
0   |#6:1|OFunction|true      |my_func|javascript|return parseInt(a) + parseInt(b);|[2]
----+----+---------+----------+-------+----------+---------------------------------+----------

There is a simple code snippet to call it:
cluster_info = DB.db_open(
    "test_db", "admin", "admin", pyorient.DB_TYPE_GRAPH, ""
)
query2 = " select my_func( 1, 1 ) "
res2 = DB.batch( query2 )
print( "result: " + str( res2[0].my_func) )

# result: 2.0


Refactor out global variables in Messaging class

First attempt at reducing the number of global variables used in the project. Moved $messaging into a class level variable, Messaging.current.

Worth noting: This is a first step, but could still be refactored a bit more.
Ideally, I would like to pass Messaging.current around as a parameter rather than storing it as a class level variable to make things less coupled / easier to test. I will get to that later, but I think this is a step in the right direction.


feat: check whether purity of callable parameters of functions is set properly

Closes #732
Summary of Changes
A callable parameter of functions must either be pure or PotentiallyImpureParameterCall must be included as an impurity reason on the containing function. However, the two are mutually exclusive. Now an error is shown if none or both are set.

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

npm package (@latest dist-tag)
npm package (@latest dist-tag)
v0.4.0
GitHub release

Your semantic-release bot :package::rocket:


render tables within list items

Marked explicitly will not render a table within a list item.  Test snippet:

item 1

aaa
bbb

ccc
ddd

item 2

I think I've read in the past that this was done to satisfy some markdown compatibility test, though I can't find this now.
This is a request to reconsider this decision.  We've been affected by this behavior several times, and a table within a list item is not an unusual pattern.  GitHub is willing to render tables within items.  How about marked?

Wow, I didn't even know this!
Fact is, list and table regex are already pretty complex as it is...

See #980


Nice project, but it needs a different name

https://www.urbandictionary.com/define.php?term=fapper

Currently, it's a bit of a fringe proof-of-concept kind of thing and "it seemed fun at the time"

There's certainly a real world usecase for it. I've had to do the same thing myself, albeit in a one-off haphazard way. I'm sure there are others who've attempted as well.
I would be in favor of renaming sooner rather than later when the project starts to gain traction, and it probably will.

I'll think about it. Thanks for the feedback
On Mon, Feb 5, 2018 at 10:59 PM HoraceGonzalez<EMAIL_ADDRESS>wrote:

Currently, it's a bit of a fringe proof-of-concept kind of thing and "it
seemed fun at the time"
There's certainly a real world usecase for it. I've had to do the same
thing myself, albeit in a one-off haphazard way. I'm sure there are others
who've attempted as well.
I would be in favor of renaming sooner rather than later when the project
starts to gain traction, and it probably will.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/vivainio/Fapper/issues/1#issuecomment-363219381, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAiCCxnJlkLtgOYR27-OWbzlIn5n1HI5ks5tR2upgaJpZM4RxjdG
.


Blog App - processing data in models

Created model classes for all entities as shown in the ERD diagram
Created many users
Created at least 4 posts
Create at least 6 posts comments
Created the methods for :
Users
A method that returns the 3 most recent posts for a given user.
Posts
A method that updates the posts counter for a user.
A method that returns the 5 most recent comments for a given post.
Comments
A method that updates the comments counter for a post.
Likes
A method that updates the likes counters for a post.

THX


refactor: consteval all the things!

Let's try to consteval as much as we can 😉

I'm doing that for #248.
A few bugs I've run into:

Immediate function in requires-expression not found by ADL.
Can't return static address from immediate function. I don't think you'll run into this one.

For such cases consider introducing CONSTEVAL in hacks.h.

Done in V2.


Auditing Compliance / Completion of Data Map Attributes

Is your feature request related to a specific problem?
With so many attributes and potential need for manual attribution a method to score/measure compliance or completeness of the data map would be a useful tool for fides users.
Describe the solution you'd like
A CLI command to audit completeness of the combined data map model (scan command potentially?) and provide not only an overview of the completeness but also actionable items as required to have full coverage.
Describe alternatives you've considered, if any
n/a
Additional context
This has been discussed internally at a number of points and seems to fit well to ship with the run state of the data map. Having something like this will be a huge boost in providing clarity around what is required as well as (potentially) who has the action to complete.

@ThomasLaPiana and @iamkelllly - this issue was touched on when discussing some of the other priorities around a data map a couple of weeks ago. I think a design doc will be required around the full scope of data map compliance, alerting, and creating actionable data around this but at the time it was something I wanted to get an issue out to capture based on user feedback.
Additionally, coupling some of these items with a UI component will add a lot of value. In the meantime, do we want to narrow the scope on some of this to be similar to a coverage type of command (validating the legal basis is set for instance) or even defer this issue until later?

For a single ticket, I think the scope is just write a function that can check what missing data map attributes there are, then other tickets would be add data map audit to the CLI and add data map audit to the UI


Temporary fix for #131

As described in #131 we will apply a temporary fix for this.

Fixed by 667034055cce7a11738f944689530d8dcdea79d7


Functions metadata for blob trigger is not matching with in-proc

For a blob trigger in a V4 in-proc app, we generate the binding JSON with path property. When a blob trigger is created in isolated model, the binding property name is blobPath (See sample below).
As per @chiangvincent, this causes scale control to behave incorrectly.

ICM: 336192878
Vincent Chiang (vchiang) edited at 2022-09-20 13:01:05 PDT
This appears to be a bug within the functions host SDK. Since the scale controller expects a property called "path," and not "blobPath," the scale controller will not able to create a binding to monitor the function, and will not be able to scale as a result.

In-proc function app
[FunctionName("Function1")]
public void Run([BlobTrigger("samples-workitems/{name}", Connection = "MyStorageConnStr")]Stream myBlob,
                           string name, ILogger log)
{
    log.LogInformation($"C# Blob trigger inproc function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}

Relevant packages
  <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="5.0.1" />
  <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.1.3" />

Generated function.json
{
  "generatedBy": "Microsoft.NET.Sdk.Functions.Generator-4.1.3",
  "configurationSource": "attributes",
  "bindings": [
    {
      "type": "blobTrigger",
      "connection": "MyStorageConnStr",
      "path": "samples-workitems/{name}",
      "source": "logsAndContainerScan",
      "name": "myBlob"
    }
  ],
  "disabled": false,
  "scriptFile": "../bin/FunctionApp1.dll",
  "entryPoint": "FunctionApp1.Function1.Run"
}

Isolated
[Function("Function1")]
public void Run([BlobTrigger("samples-workitems/{name}", Connection = "MyStorageConnStr")] string myBlob, string name)
{
    _logger.LogInformation($"C# Blob trigger function Processed blob\n Name: {name} \n Data: {myBlob}");
}

Relevant packages
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Storage" Version="5.0.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.7.0" />

Functions.metadata
  {
    "name": "Function1",
    "scriptFile": "BlobTriggerTest.dll",
    "entryPoint": "BlobTriggerTest.Function1.Run",
    "language": "dotnet-isolated",
    "properties": {
      "IsCodeless": false
    },
    "bindings": [
      {
        "name": "myBlob",
        "type": "blobTrigger",
        "direction": "In",
        "dataType": "String",
        "blobPath": "samples-workitems/{name}",
        "connection": "MyStorageConnStr"
      }
    ]
  }

The issue comes from the fact that the existing serialization logic simply uses the property name to create the metadata, deriving the name from here: https://github.com/Azure/azure-functions-dotnet-worker/blob/1f7a321d88b2f66f792f3889ba7683d83ff45b92/extensions/Worker.Extensions.Storage.Blobs/src/BlobTriggerAttribute.cs#L31
With the in-proc model, the tooling will apply transformations to some of the extensions:
https://github.com/Azure/azure-functions-vs-build-sdk/blob/main/src/Microsoft.NET.Sdk.Functions.Generator/AttributeExtensions.cs#L198-L203
We need to update our metadata generation logic to look for an extension attribute that takes precedence over the property name when creating the metadata.

We should also review the other extensions we special case to make sure we don't have other issues.


Ampstart samples2

@kul3r4 PTAL
https://amp-by-example-staging.appspot.com/introduction/hello_world/


oc debug node not possible in okd without valid token

When installing OKD (4.4) without pullSecret oc debug node is not working, since registry.redhat.io/rhel7/support-tools can not be pulled.
Failed to pull image "registry.redhat.io/rhel7/support-tools": rpc error: code = Unknown desc = unable to retrieve auth token: invalid username/password: unauthorized: Please login to the Red Hat Registry using your Customer Portal credentials. Further instructions can be found here: https://access.redhat.com/RegistryAuthentication

Not sure if it can use that image out of the box - iiuc the name is hardcoded in oc. @soltysh?

No, we can't hardcoded it, yet.

This is fixed in 4.5 - https://github.com/openshift/oc/pull/368. oc would now use tools imagestream, included in the payload.
That would be resolved in 4.5-based build of OKD

Fixed in 4.5 nightlies (and upcoming Beta 6). oc debug uses tools image from the payload. Make sure you're using oc 4.5 for that


--v2 tutorial exception

Throws the following & ends

Installing npm packages...
Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall
Caught exception:
undefined

Could you provide me with the output from ionic info from within your project directory? Thanks, this should help in troubleshooting.

I'm having the same error on 2.0.0-beta.31
This is my info:
Your system information:
Cordova CLI: 6.0.0
Gulp version:  CLI version 3.9.1
Gulp local:
Ionic CLI Version: 2.0.0-beta.31
Ionic App Lib Version: 2.0.0-beta.17
ios-deploy version: Not installed
ios-sim version: 5.0.6
OS: Mac OS X El Capitan
Node Version: v5.5.0
Xcode version: Xcode 7.3.1 Build version 7D1014

revert back to npm install -g<EMAIL_ADDRESS>Many people reporting this issue with 2.0.0-beta.25 or above

there are few things you need to do to upgrade / update

upgrade nodejs
 brew upgrade node

upgrade npm
 npm install -g npm

set new registry
 npm set registry http://registry.npmjs.org

Closing this as a duplicate of #1013.


Network: Explicit dhclient post-up fails ifup

An explicit dhclient  is added as a post-up action in /etc/network/interfaces, to force some routers to give a lease.  However dhclient is done as part of the ifup and the second dhclient action can return a failed ifup under some circumstances, failing the network.
Needs better handling.

A post-up action is added to call ~/software/maverick/bin/network-if-managed , this could be used to check the dhclient status and rerequest if necessary, rather than an unconditional call.


Ractive.set calling observers as callbacks or deferred?

Dear Colleagues,
I honestly tried to dig the sources, but couldn't clarify the question.
Could any body guide me on how observers are being called by Ractive.set?
I need to catch a moment when all observers have already been processed (including semi-recursive one-after-another calls). I'm writing an adaptor with backbone-like data storage and want to be able to save data storage when form has been submitted (so, I can bind the Ractive.set(...).then() point, but it seems to be fully impossible to be sure that my observers, which I registered at the Adaptor wrapper, have been completely processed and the data at data storage has been synchronized with ractive form data.
For now the only alternative I see is to re-implement Ractive.set() method for all ractive instances to explicitly use my own implementation of DeferredObservers ( based on jquery.Deferred() ).
Thank you for any effort,
Alexander

I suggest you to use $.Callbacks for that purpose. Promises will be called only once (like Ractive.observeOnce).
Also, Ractive.observe actually returns an object with a cancel method, so there's no room for a promise.

You might want to put up a simple demo, a jsfiddle perhaps.
Anyways, if you're curious as to how the internals work, you could cook up a simple script which breaks in various places. Something like the following.
data:{
  foo: '',
},
oninit: function(){
  this.observe('foo', function(){
    debugger; // If you arrive here, check the stack trace of operations.
  });
},
start: function(){
  debugger; // should start here
  this.set('foo','bar'); // use F11 to step into set. Use F8 to see which debugger it ends up
  debugger; // I believe you should hit the observer before arriving here
  this.set('foo','bar');
  debugger;
}

Open the dev tools and create a simple script that goes like this. Call the start method and you can step line-by-line in the debugger how the operations work.

0.8 had a good deal of cleanup on the runloop cycle that powers the promises returned by set and friends. There were some types of modification that were slipping out undetected. I'd say if ractive.set(...).then(...) isn't catching evereything, then it's definitely a bug that needs a new issue :smile:


[Git Repos] Bug fix, resolves #1255

Description
Bug fix for updated cache schema not properly handled resolves #1255
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed in the metadata folder

🎉


test(cli): creating first tests for deploy command

What?

Why?
JIRA: EXT-

How to test? (optional)

What do you think about the status of this PR? I think we could write one more test and merge this as-is before this consumes your time too much. What we could test more here is, to see if upsertFieldPlugin is being called correctly with the parameters.
After that test, in a separate PR, we can start testing those internal functions upsertFieldPlugin, getPackageName, ... but probably not now, not here.

@eunjae-lee you are right, I added two more test cases. Did not test everthing but lets say at leas 40% is now tested. I think we can merge if there are no issues, otherwise its also going to blow up fast as it also requires refactoring


Upload fails on server for large files (presumably due to upload-expiration)

I am working on a project from which a user should be able to upload large video files to the server. The project is in ASP.NET Core 3.1 and I am using Tus protocol for uploads with Uppy as frontend client.
Here is the code.
On the backend, the Tus is set up in the Startup.cs file:
`
    private DefaultTusConfiguration CreateTusConfiguration(IServiceProvider serviceProvider)    {

    var env = (IWebHostEnvironment)serviceProvider.GetRequiredService(typeof(IWebHostEnvironment));

    //File upload path
    var tusFiles = Path.Combine(env.WebRootPath + "/Video_Files");

    return new DefaultTusConfiguration
    {
        UrlPath = "/files",
        //File storage path
        Store = new TusDiskStore(tusFiles),
        //Does metadata allow null values
        MetadataParsingStrategy = MetadataParsingStrategy.AllowEmptyValues,
        //The file will not be updated after expiration
        Expiration = new AbsoluteExpiration(TimeSpan.FromMinutes(5)),
        //Event handling (various events, meet your needs)
        Events = new Events
        {
            //Upload completion event callback
            OnFileCompleteAsync = async ctx =>
            {
                //Get upload file
                var file = await ctx.GetFileAsync();

                //Get upload file
                var metadatas = await file.GetMetadataAsync(ctx.CancellationToken);

                //Get the target file name in the above file metadata
                var fileNameMetadata = metadatas["name"];

                var folder = metadatas["folder"].GetString(Encoding.UTF8);

                //The target file name is encoded in Base64, so it needs to be decoded here
                var fileName = fileNameMetadata.GetString(Encoding.UTF8);
                fileName = fileName.Replace(" ", "_").ToLower();

                var extensionName = Path.GetExtension(fileName);

                //Convert the uploaded file to the actual target file
                File.Move(Path.Combine(tusFiles, ctx.FileId), Path.Combine(tusFiles + folder, $"{ctx.FileId}_" + fileName));

                System.IO.DirectoryInfo myDirInfo = new DirectoryInfo(tusFiles);

                foreach (FileInfo fajl in myDirInfo.GetFiles())
                {
                    fajl.Delete();
                }
            }
        }
    };
}`

And on the frontend the Uppy uploader is set as following:
`
const Tus = Uppy.Tus
const Dashboard = Uppy.Dashboard
const DropTarget = Uppy.DropTarget
const GoldenRetriever = Uppy.GoldenRetriever
const uppy = new Uppy.Core({
id: 'uppy',
autoProceed: false,
allowMultipleUploadBatches: false,
debug: false,
restrictions: {
    maxFileSize: null,
    minFileSize: null,
    maxTotalFileSize: null,
    maxNumberOfFiles: 1,
    minNumberOfFiles: null,
    allowedFileTypes: ['.mp4'],
    requiredMetaFields: [],
},
//--> comes from frontend script tag
meta: {
    name: file.name,
    contentType: file.type || 'application/octet-stream',
    folder: "/Playout/Playout_Videos",
},
onBeforeFileAdded: (currentFile, files) => currentFile,
onBeforeUpload: (files) => { },
locale: {},
infoTimeout: 5000,
})
.use(Dashboard, {
    trigger: '.UppyModalOpenerBtn',
    inline: true,
    target: '.upp-container',
    showProgressDetails: true,
    note: 'Please upload only videos with ".mp4" extension',
    height: 470,
    browserBackButtonClose: false
})
.use(Tus, { endpoint: '/files/', removeFingerprintOnSuccess: true, retryDelays: [0, 3000, 5000, 10000, 20000], chunkSize: 26214400 })
.use(DropTarget, { target: document.body })
.use(GoldenRetriever)

uppy.on('complete', result => {

var videoId = $('#video_id').val();
var fileId = result.successful[0].uploadURL;
var name = result.successful[0].name;
name = name.replace(/\s+/g, '_').toLowerCase();
var fileIdCut = fileId.substring(7);

var video = fileIdCut + "_" + name;
var previously_uploaded_video = $('#previously_uploaded_video').val();

$.ajax({
    method: "POST",
    url: "/Playout/PlayoutAddVideo",
    data: { video: video, videoId: videoId, previously_uploaded_video: previously_uploaded_video },
    dataType: 'json',
    cache: false,
    success: function (data) {
        if (data.status == true) {
            $('.visibleCheckBox').removeAttr("disabled", "title");
        }
        else {
        }
    }
});

$('#previously_uploaded_video').val(video);   })`

The smaller files are uploading fine, the problem is happening when we try to upload a larger file to server, >~1gb. It starts normally and uploads chunk by chunk, but in the 'Network' window in the 'Response Headers' I see that there is an 'Upload-expiration' property which is always set approximately 5 minutes from the start of the upload. For a smaller file that time is never reached and the upload goes fine, but on a larger file that needs more than ~5 mins of upload time, once that time is reached the upload can not continue anymore, tries several time to resume but it can not find the file anymore and it returns 404.
I am quite new at this and any help will be greatly appreciated. Thanks

Stupid mistake...
In the Startup.cs file I misunderstood the point of this line:
        Expiration = new AbsoluteExpiration(TimeSpan.FromMinutes(5)),
Only when I saw the number 5 I connected the dots


[BUG] - Rewards not received on rewards account of multi-owner pool

Internal and External
Summary
In epoch 218 the pool (ALLI) minted a block. However, no rewards arrived in the rewards account of the pool in epoch 220, nor in the wallets of the delegators.
Steps to reproduce

The pool is registered with 24 owners.
The stake addresses of all owners are registered in the blockchain.
Also the rewards account stake address is registered in the blockchain.
Pledge has been met right from the registration of the pool.
The pool has been updated multiple times to add owners to the pool.

Expected behavior
Rewards should have been available in the stake address of the rewards account of the pool and delegators should have had rewards.
System info (please complete the following information):

OS: Ubuntu
Version 20.04
Node version: 1.20

Screenshots and attachments

If applicable, add screenshots, config files and/or logs to help explain the problem.

Additional context
POOL ID: e01133b97103bb932f7be0f7896ed1ca1d0ee350e4c8058e101b73d6
POOL Rewards account stake address: stake1u9h4gp39clpznv6vjeu52ykefj48kux3ag0k6l6n4wm7efs0z5mpw
Information in the ledger:
"e01133b97103bb932f7be0f7896ed1ca1d0ee350e4c8058e101b73d6": {
"owners": [
"038cd6f7c893cd2bccd6d5bdfa272b5e6eee26787d22a1883cfce1f1",
"0c693056c60f34f6e650c8c77938ffb51caeeef7f732c2be03837f39",
"11f263c31b629b5dbb3228a9fcfce16c43916b5ea7ed42b8bae42c28",
"323b17e46d47e9a53c9b7d6b6a5a83ac359f448aa895238b580e69cc",
"3fbf919f787fa39ba46f1641d1103473b8d5b707bca860f08d3dd0fd",
"45360b5e35b50b373dd06b024c522e2ef370df56a44cabc19af27211",
"4f524f0edd0f47343be451479731144a72c78d4966806baba444fcda",
"5840f1817de4b11fe1b260f7b49b741ac0de67a923c384c300dff7f8",
"677f444c2e9db5aba81842dbb2044bce91f2b3d40c8bdd6e854be79f",
"719ede13dd9444fc5414b434a4b6041ff16b67a8db58a2f422cedc9b",
"71fbf2ac31f02a4d8c6212edd380ae51cffd3cab7ce67f53cfe827d3",
"7ca47b9f859c72f0b3833f669f3caccf2e7d805b4fe44db3098ba034",
"81b3c07d48c4ac2f972e0447a5a098ae5f2d69d4eed933d046ddd300",
"96ac42b172ab6d0ef122441fe7ebcf253391e94571d609ca2c71d285",
"972c45b68d912ba65a86f5927e3b3a5dbcc850a0791370c99a2b4530",
"9b3172148899c9d82d4d4be18a118a083e026a5aa220bc20368e5026",
"aa20e1f388cd9313c8c9819783dc0d4d06da16075cec4b67c315c38a",
"b7318376e7ae90aba2d521bf1b09cdb7e07fe0d139456595512e8f04",
"baeabff8c72821d89accfc72de27398477d65ab6840d7f818f963a99",
"c7ee8d6d8ce55567c66e19913a818e78ca4468c7965729c2c768b92d",
"cb682d6b9a8887392964f54c56d589d89a01907027f6e4feae857d1c",
"d02b00b357855fb2046a1d48f92a23a9bfcea36a39e87c356ac643b3",
"f2cc6d14086dcaae8712eebfbcd1a0bc1666017a08ac41450736d4ef",
"f4e5a8e10928fcb31354a7ce1ba246d4c43c13da3a46282f847a2076"
],
"cost": 340000000,
"margin": 3.0e-2,
"publicKey": "e01133b97103bb932f7be0f7896ed1ca1d0ee350e4c8058e101b73d6",
"pledge":<PHONE_NUMBER>00,
"vrf": "26273a618cfc3e7d3193bbee2945baf64242bacbd161d0ce1d69a26d01070bd6",
"metadata": {
"hash": "bc556b4a7e7e516532eb04d0dc1f5dce60d0f15f0d5883500a09bfcc847cf13b",
"url": "https://raw.githubusercontent.com/GS1973/ALLI/master/ALLI.json"
},
"relays": [
{
"single host name": {
"dnsName": "alli.alliancestakepools.online",
"port": 3001
}
},
{
"single host name": {
"dnsName": "alli.alliancestakepools.online",
"port": 3002
}
}
],
"rewardAccount": {
"credential": {
"key hash": "6f540625c7c229b34c96794512d94caa7b70d1ea1f6d7f53abb7eca6"
},

Being a co-owner (addr1qyrw8gqse80hd9uqgq0zlkh0rn8gfxcfhr7fux5vsuw0935pk0q86jxy4shewtsyg7j6px9wtukkn48wmyeaq3ka6vqq35uulr, stake1uxqm8srafrz2ctuh9czy0fdqnzh97ttf6nhdjv7sgmwaxqqa7dtcd) I have indeed observed the absence of any delegation or operator rewards. I have checked the pool registration commands and registrations of most owner stake addresses, and could not find any errors.

as a co-owner we ensured that pledge was met

From the ledger formal spec:
Stake pool parameter updates are handled by Equation (13). This rule, which also matches
on the certificate type DCertRegPool, is distinguished from Equation (12) by the requirement that the pool be registered.
Unlike the initial stake pool registrations, the pool parameters will not change until the
next epoch, after stake distribution snapshots are taken. This gives delegators an entire
epoch to respond to changes in stake pool parameters. The staging is achieved by adding
updates to the mapping fPoolParams, which will override poolParam with new values in
the EPOCH transition.
Please see: https://hydra.iohk.io/build/4155328/download/1/ledger-spec.pdf  Figure 25, Rule 13 on page 38.

Eventhough the pledge setting was changed (increased), as far as we can see the ALLI pool met all the requirements all the time for getting rewards for the produced block in epoch 218.

Owner/Pledge addresses:
https://pooltool.io/address/0c693056c60f34f6e650c8c77938ffb51caeeef7f732c2be03837f39
https://pooltool.io/address/b7318376e7ae90aba2d521bf1b09cdb7e07fe0d139456595512e8f04
https://pooltool.io/address/7ca47b9f859c72f0b3833f669f3caccf2e7d805b4fe44db3098ba034
https://pooltool.io/address/f4e5a8e10928fcb31354a7ce1ba246d4c43c13da3a46282f847a2076
https://pooltool.io/address/81b3c07d48c4ac2f972e0447a5a098ae5f2d69d4eed933d046ddd300
https://pooltool.io/address/9b3172148899c9d82d4d4be18a118a083e026a5aa220bc20368e5026
https://pooltool.io/address/f2cc6d14086dcaae8712eebfbcd1a0bc1666017a08ac41450736d4ef
https://pooltool.io/address/cb682d6b9a8887392964f54c56d589d89a01907027f6e4feae857d1c
https://pooltool.io/address/45360b5e35b50b373dd06b024c522e2ef370df56a44cabc19af27211
Registered pledge: 100k
Snapshot (end of e216):
30000 (-20000 in e217, thus not meeting pledge at time of block creationg in e218)
10000
10000
10000
10000
10000
10000
10000
10047
New owner/pledge addresses were registered in e218 and are now active in e220. Those addresses were not active in e218.
So the whole thing is an unfortunate timing issue.

Thanks all of you. I think this issue can be closed.


Cap Distance Between Links Based on springLength

Adding the decay property is a more performant way to control how many tick iterations exists and can subsequently keep spring lengths relatively in check.
To check links and apply bias based on link distances is difficult.


Fix offset GUI elements when an MMOItem is on screen

This way changes the least amount of code in other places, but it could be done in the event invoker factory to avoid having to pop manually.

LGTM


@Incremental and @SkipWhenEmpty should be combinable or maybe even independent

I'm not sure why @Incremental and @SkipWhenEmpty cannot be combined.
From gut feeling I added both to a property that I wanted to work incrementally with and that should skip the task when empty.
But adding both annotations in Gradle 7.1 tells me I used "conflicting incremental annotations" and following the link to the docs (https://docs.gradle.org/7.1/userguide/validation_problems.html#conflicting_annotations), it tells me that the annotations I use have "irreconciliable semantics".
Following the other link in the error (https://docs.gradle.org/7.1/userguide/more_about_tasks.html#sec:task_input_output_annotations)  and reading the table, tells me that @SkipWhenEmpty even implies @Incremental, that does not sound like the two annoatiaons are "irreconciliable".
The error message also says "The different annotations have different semantics and Gradle cannot determine which one to pick" which feels strange as @SkipWhenEmpty implies @Incremental, so Gradle knows perfectly well how to deal with both of them.
Actually I wonder why @SkipWhenEmpty implies @Incremental anyway. In my mind it shouldn't change incrementality of a task if I define that it should be skipped when a certain input is empty.
So I'd like to suggest to either deprecate and remove the implied incrementality, requiering an explicit @Incremental annotation if you want to use the property incrementally, or allow to have both annotations on a property for clarity, as @Incremental is implied by @SkipWhenEmpty anyway. And as a third alternative solution, please update the documentation and error message, because talking about irreconciliability and unability to choose between the two when one implies the other feels very strange.

@Vampire Thank you for the report!
You are right, @SkipWhenEmpty implies @Incremental. That is why you currently can't have both on one property.
Regarding the reason why @SkipWhenEmpty implies @Incremental: @SkipWhenEmpty means that whether or not the input property containing no files also means that there won't be any output. So it seems to imply a somewhat direct relation between the input files and the output files. Most likely, you are using that annotation for the main sources. That is why we said that such an input always should be treated as incremental. Do you have a use-case for an incremental task, where a change to a SkipWhenEmpty input property should not be treated as an incremental change?
Regarding the error message: Yes, this seems hard to decipher and it would better if Gradle would say something along the lines that @SkipWhenEmpty implies already @Incremental, so you can't add it any more.


Rust SDK 2 SQLite Value helpers

I'm updating the docs for the Rust SDK.
It seems like we used to support ValueParam::Text("something") but the new Value enum only accepts owned Strings e.g. Value::Text("something".to_owned()).  Is it possible to make this more flexible, e.g. adding a From(&str) implementation?  (or am I missing where we already have a friendly conversion method)

This is because we are more heavily relying on wit-bindgen for generating the SDK so we unfortunately have fewer "niceties" , but we do have the benefit of no longer having two types ValueParam and ValueResult for the same logical type.
This means we can't go back to how things were before without going back to redefining all of the types ourselves and having Param and Result variants of the same logical type.


Build CLI: Run Commands from within the Platform's Standard Shell

This PR changes the way the process commands (Async/Standard) run.
Previously, we tried to resolve each command with the which crate and ran each command directly as a process which still caused problems on some systems (Like x86 MacOS).
This PR changes that to calling the standard shell on each platform (sh on unix based, cmd on Windows) and pass the process command as argument to the shell, avoiding the need for resolving the paths for development tools manually and allowing custom shell configurations on the users' side to be loaded.
Tested on Linux and Windows

pls make sure to test on macos also

@AmmarAbouZor looks good on mac (intel)
******** Tests for all commands of Chipmunk Build CLI Tool succeeded ********

@itsmesamster please check on arm also


Compatibility with KeeOTP storage

The fact that the storage is incompatible (in really unnecessary way, as far as I can tell) with KeeOTP makes it a pain to migrate to this plugin: every other plugin that used to rely on the old format stops working.
Furthermore, the "upgrade" process deletes the previously exiting key, making it nearly impossible to recover.

Hey,
thank you for your feedback.
Im not sure about your problem. This Plugin is fully compatible to devinmartin's original KeeOtp. It can read the data which was saved by KeeOtp(1). Also the old Placeholder "{TOTP}" is supported. Even if it is marked as deprecated, it is still supported. You can use this plugin without doing anything. You only have to download it place it inside the Plugins folder. The migration process is only optional.
If you had done the migration process and you want to roll it back, you can simply click on "Edit" in the TOTP Window and tick "Use old KeeOtp save mode".
To get to your last point. The migration process seems stable. During my tests there happened no data losses.
It's important to know, that the migration process changes the string field "otp" to "TimeOtp-Secret-Base32". Please look for these string field, if you have problems while recovering.
Otherwise, if you still lose data through the migration process, please notify me.

Thank you for your answer. The issue is that many external plugins and tools used the KeeOTP storage format to read the entry secret and perform their own TOTP calculation (the ones that I'm personally using are KyPass 4 - and iOS keepass application -  and KeePassHelper - a browser plugin for chromium browsers).
Removing the old key storage during the migration caused these applications to stop being able to access the OTP secret and support it.
According to the code, the removal of this key is voluntary and there is no way to re-generate them at all: once you've migrated, the database cannot be used by any of these tools anymore.
One possible fix would be to add a function to recreate the necessary keys based on the new format for all entries in the database (possibly through a tool) and update theses keys when the corresponding "main" key changes.

Okay. I am understanding your issue. I have released an update. The migration process is now bidirectional, which means you can "migrate" and "recover".
In my opinion every plugin or app should switch over to the new built-in string field, to get an standardized environment. But well, some plugins are old and discontinued.
I will think about other methods to solve your issue, but for now, this should help you.

"In my opinion every plugin or app should switch over to the new built-in string field, to get an standardized environment. But well, some plugins are old and discontinued."
I agree that applications should migrate but the reality in the field is what it is.
Thank you very much for the updated version.

No problem.
Sadly I have released the new update 1.5.0 with an bug. It is not a critical one, but it will create a lot of unnecessary MessageBoxes during migration.
I recommend to you, to wait until 1.5.1, which will come up today or tomorrow.

Excellent, thank you.
I already installed 1.5.0 and noticed the issue. I fixed it in my fork and created a PR. I also took the liberty of adding a unit test project (which I used to test the problem)


SBOM

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
further SBOM support
overhaul admin sites + user managemant
What is the current behavior? (You can also link to an open issue here)
SBOM not separately tracked
barebone user model
no admin management
What is the new behavior (if this is a feature change)? If possible add a screenshot.
introduce SBOM into tracking app
better user model
admin sites working
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
maybe, have to test
Other information:

admin pages


Support MySQL 5.x as metadata source

[ ] We only have MySQL 8.x as requirement for backend database to store metadata. However, we should MySQL 5.x as metadata source.
[ ] We also need to update the connector documentation at https://docs.open-metadata.org/connectors/database/mysql

@sureshms on the profler and data quality side this would require implementation of special logic just for MySQL 5.7 -- which will reach EOL this year, previous versions have reached EOL already. Is this a direction we want to go to?

hi @sureshms any other thoughts on this?


advices

1.Think completely and work and that thinking should be done at once,do like this when writing also ,as little thinking causes mistakes.
2.think of each bit of how it can be improved but don't add useless features
3.Increase patience
4.do important work first
5.If u can't reproduce a bug normally then test thoroughly and try to repro for 2,3 times.
6.As far as possible try to reproduce bugs in win10 64b as most of the users in the world use win10

@davidp88 thanks for the advice. i have addressed almost all the issue  in https://github.com/Sandip124/BatteryNotifier/releases/tag/v3.0.0  and hope it helps you. if any issue related to the app then just open it . Thanks for Opensourcing 💖.


Not configured for data reports from this base station:

Describe Your Problem:

Data is being sent from my Ecowitt GW2000B but the plugin doesn't create accessories
Logs:
Show the Homebridge logs here, remove any sensitive information
[@pserb/homebridge-ecowitt] Not configured for data reports from this base station: {
  "PASSKEY": "7144FC9A801EBA517BB9DB2CD478A708",
  "stationtype": "GW2000B_V3.1.4",
  "runtime": "151251",
  "heap": "101300",
  "dateutc": "2024-08-01 18:18:24",
  "tempinf": "74.48",
  "humidityin": "40",
  "baromrelin": "29.822",
  "baromabsin": "29.822",
  "soilmoisture1": "53",
  "soilad1": "274",
  "soilmoisture2": "43",
  "soilad2": "235",
  "soilmoisture3": "50",
  "soilad3": "253",
  "soilbatt1": "1.5",
  "soilbatt2": "1.5",
  "soilbatt3": "1.5",
  "freq": "915M",
  "model": "GW2000B",
  "interval": "60"
}

**Plugin Config:**
{
    "mac": "A0:A3:B3:7A:C9:5C",
    "port": 8087,
    "path": "/data/report",
    "unregister": false,
    "ws": {
        "hide": false,
        "uv": {
            "hide": false,
            "threshold": 6
        },
        "solarradiation": {
            "hide": false,
            "luxFactor": 126.7
        },
        "wind": {
            "units": "beaufort",
            "speedThreshold": 5,
            "speedHighThreshold": 7,
            "gustThreshold": 6,
            "maxDailyGustThreshold": 8
        },
        "rain": {
            "units": "mm"
        }
    },
    "thbin": {
        "hide": false
    },
    "th": {
        "hide": false
    },
    "tf": {
        "hide": false
    },
    "soil": {
        "hide": false
    },
    "leak": {
        "hide": false
    },
    "pm25": {
        "hide": false
    },
    "lightning": {
        "hide": false,
        "units": "km"
    },
    "_bridge": {
        "username": "0E:BD:B4:89:B4:1C",
        "port": 39591
    },
    "platform": "Ecowitt"
}
```json
Show your Homebridge config.json here, remove any sensitive information.

Screenshots:

Environment:

Plugin Version:
1..4.1
Homebridge Version:
1.8.4
Node.js Version:
20.`6
NPM Version:
Operating System:

Hi @btgh.  I have a new version (v2) of this plugin available, check out Homebridge Ecowitt Weather Sensors which can be installed through the Homebridge UI. I've verified that this new version works with the data report that you provided above.  Would appreciate any feedback if you have time to give this new version a try, and let me know if you hit any issues.

Ryker 1.4.1 is the latest in the UIOn Sep 13, 2024, at 2:43 PM, Ryler Hockenbury @.***> wrote:
Hi @btgh.  I have a new version (v2) of this plugin available, check out Homebridge Ecowitt Weather Sensors which can be installed through the Homebridge UI. I've verified that this new version works with the data report that you provided above.  Would appreciate any feedback if you have time to give this new version a try, and let me know if you hit any issues.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Hi @btgh, I should have clarified better.  The plugin is published as a different plugin under a different name, try searching for "homebridge-ecowitt-weather-sensors" on the Homebridge UI.


Add callback_data to KeyboardButton (reply_markup.keyboard)

Without the callback_data field in the reply_markup.keyboard field I need to do some extra conditions in the bot code when I want to use the reply_markup.keyboard as the menu.
Example 1
I have something like this:
/sendMessage
{
	"chat_id": 12345,
	"text": "Choose action",
	"reply_markup": {
		"keyboard": [
			[{"text": "Show services"}],
			[{"text": "Show products"}]
		]
	}
}

Actual result

When a user clicks the keyboard button
Then a new message is added to the chat (e.g. "Show services" message)
Then the bot receives Update.message.text
Then the bot sends a new message with the related content

Expected result

The reply_markup.keyboard buttons has callback_data field
When a user clicks the keyboard button
Then the bot receives Update.callback_query.data
Then the bot sends a new message with the related content. I.e. the user doesn't see the "Show services" message (which is obviously redundant)

Example 2
I have something like this:
/sendMessage
{
	"chat_id": 12345,
	"text": "Enter search query",
	"reply_markup": {
		"keyboard": [
			[{"text": "Add advert"}],
			[{"text": "Back"}],
		]
	}
}

Actual result

When a user sends the message with the search query (e.g. "car")
Then the bot receives the Update.message.text and in the bot code I have to manually check for the search query is not equal to "Add advert" or "Back" to keep the keyboard functionality.

Expected result
The keyboard buttons contains callback_data and the bot handler triggers on Update.callback_query.data rather then on Update.message.text. Therefore I don't need to distinguish the keyboard button click from the search query input.

Keyboard buttons and inline keyboard buttons have very different behavior and serve different purposes. Keyboard buttons are expected to always send a message as result of they clicking. Inline keyboard buttons on the contrary aren't supposed to send a message and can only send callback query instead. This makes button behavior predictable for users and isn't expected to change.


Modularize app

Commit 03d5927 introduces a module to handle all the color management for the plot, along with the colour picker inputs. With this under my belt I think i can start modularizing the application, which should make it a lot easier to maintain moving forward. A few things off the top of my head that could be turned into modules include the buttons below the plot, the loadfile button, and the tools sidebar. I think this will make it easier to omit specific functionality from the eventual web app as well.

I edited the plotting code a bit in 2dd94d0 so that the parts of the plot that don't change very frequently (colors, theme, etc) are offloaded to a reactive so the ggproto objects can be reused more easily instead of recreating them every time the plot renders. The code is a bit more readable and modular as a result, and could be moved to a separate module somewhat more easily now. There will be a lot of inputs passed to it though, but it will make it easier for me to edit the web app when i get around to it again.


Colour icons

Coloured account icons might be a nice way to add some colour into the UI and make it easier to visually differentiate between chains. One idea would be to store branding colours for each chain and apply these to the account icon. There could be two settings for the light/dark variant so that it fits with both UI themes.

(sorry my photo editing skills suck)

Coming in a pull request shortly.


"Bad EXE Format" - Script fails to install when WINEARCH and WINEPREFIX are set to win32

This is just a note to any future readers that if they run into the rather perplexing error of "Bad format EXE" while executing a script that this is due to the fact that your WINEARCH and WINEPREFIX variables may be set incorrectly.
Another program I had historically installed caused these to be different hence the issue.
Maybe this can be added to the FAQ for any future readers who may run into same issue.

Thank you very much for this tip! :+1:
I will add this to the documentation.
Here is a link for all users who want to know more about the topic: https://wiki.winehq.org/FAQ#Wineprefixes


fix mistakes in checkpoint merger

Sorry, I made a mistake when I submitted the PR last time that pushed an incorrect version. Now I found this stupid mistake and hope to correct it.


Set up pipeline to run glm models and extract output

This pipeline sets up the GLM workflow laid out in #1. I did deviate slightly once I got into the actual coding.
As of now, the first part of the pipeline 1_prep manually pulls in relevant files from lake-temperature-model-prep (eventually we will use globus, per #4) and builds a crosswalk (p1_meteo_xwalk) of the meteo files, the gcms, the lake_ids, and the time periods, setting the stage for each model run, as each row = 1 model run. While Lindsay is refining the approach for building the netCDFs in lake-temperature-model-prep (and therefore the approach we'll take to pull information out of those netCDFs in this pipeline), I'm simply mapping over the feather files that I've manually dropped into a in folder. This part of the pipeline also builds the nml objects for each lake, using a glm3 nml template and the 7_config_merge/out/nml_list.rds from lake-temperature-model-prep.
The second part of the pipeline 2_run executes the model runs, mapping over the meteo xwalk. Building p2_glm_uncalibrated_runs runs each model, which entails reading in the meteo data and adding a burn-in and burn-out period, writing that meteo data to the simulation directory, finalizing the nml (including the meteo filename - per #3 ) and writing it to the simulation directory, and then running the model simulation. If the simulation is successful, the temperature and ice predictions are extracted to a feather file and the simulation directory is deleted.
Lindsay and I chatted re: how best to make the model execution targets (p2_glm_uncalibrated_runs) fault tolerant, and  I ended up modifying Alison's tryCatch() approach to wrap around a retry() command, per the approach Lindsay used here, so that the call to execute a model is attempted up to 5 times.
We also discussed whether to make the model execution targets (p2_glm_uncalibrated_runs) file targets or object targets, as we wanted to keep Jordan's approach of running the model and extracting the output in a single function, so that the glm simulation directories could be deleted as soon as the output was extracted. However, if model runs did fail after the 5 retry() attempts, it didn't seem logical for the function to return an empty file.
After talking it through, we landed on a approach that combined Jordan's single function execution+extraction approach and Alison's approach of returning a tibble with information about the model run. The function run_glm3_model() writes a feather file of the model output, but rather than returning that filename, it instead returns a tibble, which includes the run_date, lake_id, gcm, time_period, the name of the export feather file, its hash (NA if the model run failed), the duration of the model run, whether or not the model run succeeded, and the code returned by the call to GLM3r::run_glm(). This provides some nice diagnostic info, while still tracking the hash of the export feather file, and allows for a logical returned value if a model run fails:

We then group this returned tibble by lake_id and gcm, and use that new grouped mapping (p2_glm_uncalibrated_run_groups) to build a final target p2_glm_uncalibrated_output_feathers that combines the output generated for a given lake using a given set of gcm driver data (per the grouping we set) into a single feather file (binding together the output from the 3 simulation time periods). If we want to change how the data is combined, we can simply modify the grouping when building p2_glm_uncalibrated_run_groups. Since the hash of the export file is tracked in the tibble output from p2_glm_uncalibrated_runs, any change to the contents of the export file will trigger a rebuild of the combined output feather files.

Okay, I think I've addressed all of your comments, except for adding in the glm version to the export tibble, which is being handled here #8.
@lindsayplatt  note that I removed iteration='list' for the p1_nml_objects target b/c I realized we didn't need it as we never map over that target.

and THANK YOU for such helpful reviews -- I really enjoyed working through this today and making this pipeline better and more robust!

Oh and @jread-usgs I do think it would be good for you to run this pipeline yourself, to triple check the GLM pieces. All the files you should need to do so (for the 1_prep/in and 1_prep/tmp directories) are saved here

Cool - those files worked :tada:
Two quick things I ran into when running locally:

the disable evap flag is set to false, which means these sims are probably going to lose water and dry up over time (see below)
I think the driver feather files are intentionally small (looks like less than a total year of data). This causes the "burn-in" and "burn-out" function to act funky and add NAs at the end of the file. I know this is a shorter example for the time being, but perhaps that munge_meteo_w_burn_in_out() needs to fail when it doesn't have enough data to mirror and create the burn-in/out time series. I don't think NAs cause a hard fail with GLM...the simulation either stops early without an error code or just does funky things with the temperatures (I can't remember which).

meteo_data %>% tail
# A tibble: 6 × 8
  time       Shortwave Longwave AirTemp RelHum  Rain  Snow WindSpeed
  <date>         <dbl>    <dbl>   <dbl>  <dbl> <dbl> <dbl>     <dbl>
1 1980-07-17        NA       NA      NA     NA    NA    NA        NA
2 1980-07-18        NA       NA      NA     NA    NA    NA        NA
3 1980-07-19        NA       NA      NA     NA    NA    NA        NA
4 1980-07-20        NA       NA      NA     NA    NA    NA        NA
5 1980-07-21        NA       NA      NA     NA    NA    NA        NA
6 1980-07-22        NA       NA      NA     NA    NA    NA        NA

and
evap:
&debugging
   disable_evap = .false.
/

should probably be set to .true. here in the template or set programmatically.
Sims right now look like they are rapidly losing water and are very cold

(from glmtools::plot_temp(file.path(sim_lake_dir,'out','output.nc'))) but plenty of time to sort that out.

Thanks @jread-usgs  -- I was wondering about that disable_evap parameter.
And yes, the driver data periods are super short right now. I'll add a catch to that burn in, to check if the the driver data length is < the burn-in or burn-out period.

I think your hunch that NAs do funky things to the temperatures was correct. With disable_evap set to .true and a catch to only add burn-in/out if the requested periods are <= the length of the meteo data, the results are looking much better:


关于ONNX转换问题

AdamShan您好啊，非常感谢提供这么棒的项目。
我在转换ONNX的时候遇到了些问题。
我执行如下指令：
python convert_pp_onnx.py
会报错误，不知如何解决，所以想请您提点意见：
Traceback (most recent call last):
File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/root/.vscode-server/extensions/ms-python.python-2021.9.1246542782/pythonFiles/lib/python/debugpy/main.py", line 45, in
cli.main()
File "/root/.vscode-server/extensions/ms-python.python-2021.9.1246542782/pythonFiles/lib/python/debugpy/../debugpy/server/cli.py", line 444, in main
run()
File "/root/.vscode-server/extensions/ms-python.python-2021.9.1246542782/pythonFiles/lib/python/debugpy/../debugpy/server/cli.py", line 285, in run_file
runpy.run_path(target_as_str, run_name=compat.force_str("main"))
File "/usr/lib/python3.8/runpy.py", line 265, in run_path
return _run_module_code(code, init_globals, run_name,
File "/usr/lib/python3.8/runpy.py", line 97, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/root/EasyPointPillars/tools/convert_pp_onnx.py", line 103, in
main()
File "/root/EasyPointPillars/tools/convert_pp_onnx.py", line 99, in main
torch.onnx.export(model, dummy_input, args.output_path)
File "/usr/local/lib/python3.8/dist-packages/torch/onnx/init.py", line 225, in export
return utils.export(model, args, f, export_params, verbose, training,
File "/usr/local/lib/python3.8/dist-packages/torch/onnx/utils.py", line 85, in export
_export(model, args, f, export_params, verbose, training, input_names, output_names,
File "/usr/local/lib/python3.8/dist-packages/torch/onnx/utils.py", line 632, in _export
_model_to_graph(model, args, verbose, input_names,
File "/usr/local/lib/python3.8/dist-packages/torch/onnx/utils.py", line 409, in _model_to_graph
graph, params, torch_out = _create_jit_graph(model, args,
File "/usr/local/lib/python3.8/dist-packages/torch/onnx/utils.py", line 379, in _create_jit_graph
graph, torch_out = _trace_and_get_graph_from_model(model, args)
File "/usr/local/lib/python3.8/dist-packages/torch/onnx/utils.py", line 342, in _trace_and_get_graph_from_model
torch.jit._get_trace_graph(model, args, strict=False, _force_outplace=False, _return_inputs_states=True)
File "/usr/local/lib/python3.8/dist-packages/torch/jit/_trace.py", line 1148, in _get_trace_graph
outs = ONNXTracedModule(f, strict, _force_outplace, return_inputs, _return_inputs_states)(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/jit/_trace.py", line 125, in forward
graph, out = torch._C._create_graph_by_tracing(
File "/usr/local/lib/python3.8/dist-packages/torch/jit/_trace.py", line 116, in wrapper
outs.append(self.inner(*trace_inputs))
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 725, in _call_impl
result = self._slow_forward(*input, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 709, in _slow_forward
result = self.forward(*input, **kwargs)
File "/root/EasyPointPillars/pcdet/models/detectors/pointpillar.py", line 11, in forward
batch_dict = cur_module(batch_dict)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 725, in _call_impl
result = self._slow_forward(*input, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 709, in _slow_forward
result = self.forward(*input, **kwargs)
File "/root/EasyPointPillars/pcdet/models/backbones_3d/vfe/pillar_vfe.py", line 98, in forward
voxel_num_points = batch_dict['voxel_num_points']
IndexError: too many indices for tensor of dimension 3

请问这个问题您解决了吗？

请问这个问题您解决了吗？

我跟您有相同的问题，请问您现在解决了吗？

I have also the same question. How to solve this? Thank you!

@Jonathans575 @popcornGit @JiyuanWANG12138 @JF-Lee Hello, does anyone know how to solve this issue? I would greatly appreciate it if someone could offer assistance. Thank you very much！


 I'm just throwing this PR up here for some discussion on whether this is a good idea or not.
This will currently delete about 102889 users on the production database, again to reiterate these are users who never activated, uploaded, or were added to a project.
If we did this, we would probably want to adjust the language of the verification email (at least for the first one) to say that if the user doesn't verify their email, they will be deleted after some period of time.
/cc @pypa/warehouse-committers

Help me understand why we would do this, and what your suggested age threshold would be?

 These accounts thus far are basically not doing anything, but they show up on user pages and such. A common pattern for these is that they never activate their account or verify their email address.
As far as what the benefit is, when we're looking at making changes to the site, we often try to gauge impact. These accounts make it harder to accurately gauge impact, because you have to carefully construct your queries to exclude them. They also do take up some minor amount of resources since they take up disk space and the like. It also frees up the user name for someone else who might want it, and will actually do something with it.
As far as why we wouldn't do it... the main reasons I can think of is if someone registered an account to "claim" the name, and then never logged in or did anything with it, but they still want that name claimed. It could also be a less optimal experience for someone who comes back some time after having tried to create an account but not finishing the process, to find their account is no longer there.
As far as time frame, this PR has it set to 90 days. I suspect the number of people who come back after 90 days to try and activate an account they created > 90 days ago is approaching zero... but I'm not really married to that time frame either. I just sort of arbitrarily picked it.

Resurfacing this as a conversation topic.
Depending on the future of PyPI user management, I can see a benefit in here to either remove these accounts completely, or even disable them from logging in without a recovery process and (hopefully) setting up 2FA.
Some questions I thought of that might facilitate the overall outcome:

Would make sense to reevaluate "the purge" on a 12-month history, and add a disable for the 90-day period?

Should we add a notice during account creation/email verification of "if you don't verify your email in 90 days, the account may get recycled" to set the expectations for new folks?

Should we perform one mass mail of the purge candidates to warn them of impending removal, despite not having verified their account, and give them 30/60/90 days to accomplish that?

For prior art, I dug up the npm TOS blog change from back in July 2017: https://blog.npmjs.org/post/163187838935/upcoming-change-verified-email-required.html

#Triage
In conversation with Admins today, this is probably still aa good idea, but should not proceed in the current implementation.
Closing for now, but reserving the right to pursue this again in the future.


Plugin Implementation

New plugins directory and init to handle loading and fetching of plugins
Change to dataprofiler/init to load any existing plugins at start
change to profiler_options to look for presets in plugins folder

Closing for work through feature/plugins


Broken damage tracking

Hyprland Version
 System/Version info
Hyprland, built from branch makepkg at commit e1e41e54480282d9bec9957d3c578eb87bc1f2f2  (reenderer: Add 1 border damage to fix number rounding issues (5343)).
Date: Sun Mar 31 16:59:22 2024
Tag: v0.37.1-93-ge1e41e54

flags: (if any)

System Information:
System name: Linux
Node name: localhost
Release: 6.8.2-zen2-1-zen
Version: #1 ZEN SMP PREEMPT_DYNAMIC Thu, 28 Mar 2024 17:06:20 +0000

GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 24 [Radeon RX 6400/6500 XT/6500M] [1002:743f] (rev c7) (prog-if 00 [VGA controller])
08:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c8) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

Bug or Regression?
Regression
Description
After the problem is reproduced, the client will flicker until the focus changes. Most likely, the problem is in this commit.
How to reproduce

Open a window in the workspace (in my case, it's alacritty).
Switch to another workspace and open a new window in it.
Close the window in the second workspace, and go back to the first workspace.
Take a look at the window, or windows with broken damage tracking.

Crash reports, logs, images, videos
No response

gotta be more specific bud, share your config maybe?

As I've found out, to reproduce this problem, you just need to switch from an empty workspace to a workspace with mapped clients and they will start flickering until the focus is changed. Tested with Alacritty and MPV.
 hyprland.conf
animations:enabled = false
bind = , 68, pass, com.obsproject.Studio
bind = alt, 70, killactive
bind = ctrl + shift + super, 25, execr, killall waybar; waybar
bind = ctrl + shift + super, 39, execr, steam steam://exit
bind = ctrl + super, 10, movetoworkspace, 1
bind = ctrl + super, 11, movetoworkspace, 2
bind = ctrl + super, 12, movetoworkspace, 3
bind = ctrl + super, 13, movetoworkspace, 4
bind = ctrl + super, 39, movetoworkspace, special
bind = ctrl + super, 42, execr, steam steam://rungameid/381210
bind = ctrl + super, 80, swapwindow, u
bind = ctrl + super, 83, swapwindow, l
bind = ctrl + super, 85, swapwindow, r
bind = ctrl + super, 88, swapwindow, d
bind = shift + super, 39, execr, steam
bind = shift + super, 42, execr, steam steam://rungameid/251570
bind = super, 10, workspace, 1
bind = super, 11, workspace, 2
bind = super, 12, workspace, 3
bind = super, 13, workspace, 4
bind = super, 25, execr, killall --signal=10 waybar
bind = super, 38, execr, alacritty
bind = super, 39, togglespecialworkspace
bind = super, 40, execr, discord
bind = super, 41, fullscreen
bind = super, 42, execr, steam steam://rungameid/700330
bind = super, 46, execr, ~/.local/lib/librewolf/librewolf
bind = super, 80, movefocus, u
bind = super, 83, movefocus, l
bind = super, 85, movefocus, r
bind = super, 88, movefocus, d
#debug:damage_tracking = 0
decoration:blur:enabled = false
decoration:drop_shadow = false
exec-once = [workspace special silent] obs --disable-shutdown-check
exec-once = udiskie --no-automount --no-notify
exec-once = waybar
general:no_cursor_warps = true
input:force_no_accel = true
input:kb_layout = us, ru
input:kb_options = grp:alt_shift_toggle
misc:disable_autoreload = true
misc:disable_splash_rendering = true
misc:force_default_wallpaper = 0
#misc:no_direct_scanout = false
monitor = , highrr, auto, auto

ah, animations disabled. Worth noting, yk.
Anyways, can't repro on latest.

After updating to the last commit, I can no longer reproduce this bug, so the issue can be closed.


price-feeder: change to use last traded price volume-weighted

Summary

Today in the providers we use the last traded price, the proposal is for us to use a volume-weighted price for the trades that occur in the last N minutes

Problem Definition

We could use this feature to have a more concise price using all the traded made by that ticker in the last N minutes

Proposal

The idea of this implementation comes from terra oracle

They maintain all the trades that happen in the last 60 min (don't know why soo much)
Filter for the ones that happened last 3 minutes
If it has one it uses tvwap(time volume-weighted average price)
in the end, it is sum(volume * price) / (total volume)

For this to happen we need to:

Change the Provider structs to store all the trades that happened in the last N minutes
Compute the price taking into consideration all the trades that happened in all the providers in the last N minutes

While refactoring that a good idea is to change the providers to work with Websocket instead of Https as #509

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Right direction, although maybe we don't store the last 60, maybe just the last 10? This should probably be implemented after we switch to websockets, seems like it'd be easier to do

note, the last bits we need here are the resolution to this comment and the addition of faulty price feeder detection for tvwap.
cc : @RafilxTenfen

Closing this since #609 & #610 have been merged in - will address problems with warning messaging in #619


kubectl: command not found

kube-shell> kubectl get nodes
/bin/sh: kubectl: command not found

@jianweixs what does echo $PATH show?

'

/data # kubectl exec my-pod-with-vol -c container-two -it sh
sh: kubectl: not found


EOPLOADDRIVER.exe

Hello
Where is eoploaddriver.exe? How can compile eoploaddriver.cpp ?

You need to compile the related file. The easiest is to use Visual Studio.
But if you want, you can download and use the "exe" files from the link I created below.
https://github.com/umiterkol/EoPLoadDriver/releases


describe how to check if your cluster has a RBAC

While reading I was asking myself this question so I thought it would be smart to pass to another guy who will read it.

the bot should remove  do-not-merge/work-in-progress tag...    ¯\(ツ)/¯

Thank you for your PR! 👍

/lgtm
/approve