Stronger typing on makeApi

Just took me about twenty minutes to figure out what was wrong with this:
const commonParameters = parametersBuilder()
  .addHeader("authorization", z.string().min(1))
  .addHeader("email", z.string().email());

const usersApi = makeApi([
  {
    method: "post",
    path: "/",
    response: z.undefined(),
    params: commonParameters.build(),
  },
  {
    method: "get",
    path: "/",
    response: UserSchema,
    params: commonParameters.build(),
  },
  {
    method: "put",
    path: "/",
    response: UserSchema,
    params: commonParameters.addBody(UserCreateInputSchema).build(),
  },
  {
    method: "delete",
    path: "/",
    response: z.undefined(),
    params: commonParameters.build(),
  },
]);

The issue is that params is supposed to be parameters. I didn't have any kind of error pop up in my editor. Is it possible to more strongly type this so that it gives you an error in your editor, or does TypeScript just not allow this? Or is something in my editor just messed up?
And sidenote, love the project! Coupled with zod-prisma-types, this is a much quicker-to-prototype alternative to OpenAPI that also doesn't require a code generation step and tends to integrate a bit more smoothly with Prisma. Has the same disadvantage as tRPC where it couples you to TypeScript, but I honestly feel like that's an advantage for smaller projects.

in zodios v11 you'll be able to use as const and satisfies together as a workaround:

If anyone has a solution to this, i'll keep this open in case someone has a working idea

Thanks to this issue, it solved a problem I have been having with params instead of parameters and using parametersBuilder() and when using that const, using .build() when setting it on the apiBuilder parameter member.
Example below:
const movieParams = parametersBuilder().addParameters('Query', {
  limit: z.number().optional().default(1000),
  offset: z.number().optional().default(0),
  page: z.number().optional().default(1),
  _id: z.string().optional(),
});

export const movieApi = apiBuilder({
  method: 'get',
  path: '/movie',
  alias: 'getMovies',
  description: 'Get all movies',
  parameters: movieParams.build(),
  response: movieResponse,
}).build();

This got the type signatures to finally calm down and not keep giving me TS errors.

https://tsplay.dev/WYllxm
interface Endpoint {
  method: "get" | "post" | "put" | "patch" | "delete";
  path: string;
  response: z.ZodTypeAny;
  parameters?: Array<{
    name: string;
    type: "Query" | "Path" | "Body" | "Header";
    schema: z.ZodTypeAny;
  }>;
};
function makeEndpoint<T extends Endpoint>(api: {[K in keyof Endpoint]: T[K]}) {
  return api;
}
function myMakeApi<const T extends unknown[]>(api: { [K in keyof T]: ZodiosEndpointDefinition<T[K]> }) {
  return api
}

seems to be able to do the thing (if I understood the problem correctly)
If you ever need extra things on Endpoint you may extend the interface anyways

declare function makeApi<const Api extends ZodiosEndpointDefinitions>(
    api: Narrow<Api>
        // & NoInfer<
            & readonly ZodiosEndpointDefinition<any>[]
            & readonly {[K in keyof Api[0] as K extends X ? never: K]: never}[]
        // >
    ): Api;
type X = Extract<keyof ZodiosEndpointDefinition, string>
type NoInfer<T> = [T][T extends any ? 0 : never]
interface ZodiosEndpointDefinition<R = unknown> { /*...*/ } // to make it extandable for custom keys

is a minimum requirement to have key autocompletion and key exclusion
Problems: it's not [A, B], is't (A | B)[]

there are some tricks out there to do some kind of strict type matching, but i failed to make them work with type narrowing + tuples.
My only hope is that typescript will add a statisfies keyword for generics like they did for as const

type UpTo<N extends number, A extends number[] = []> =
| number extends N ? number
: A['length'] extends N ? A[number]
: UpTo<N, [...A, A['length']]>;

type Proper<T> =
 & {[K in keyof T | X]?: K extends X ? unknown: never}
 & T;

type Foo<Api extends any[]> = NoInfer<{ [K in UpTo<99>]?: Proper<Api[K]> }>
declare function makeApi<Api extends ZodiosEndpointDefinitions>(
    api:
        Narrow<Api> & Foo<Api>
    ): Api;
type X = Extract<keyof ZodiosEndpointDefinition, string>
type NoInfer<T> = [T][T extends any ? 0 : never]

Somehow (Magic🌈™ ) works with tuples

Nice trick, unfortunately this will impact perf big time.
Also we have tuples in objects in tuples in the definition which make this even harder and slower  if we where to use something like this :(

I may try ArkType -inspired validator approach
Do you have a benchmark?


storage: fix volume actions

Fixes #225

@rhtyd you can review this

@shwstppr please review existing actions against old UI implementation; it seems some cases are not covered. There is another issue with the args. Have you tested your changes?

@rhtyd fixed actions and args error. Tested for different scenarios
Allocated volume without VM

ROOT disk for stopped VM

DATA disk for stopped VM

ROOT disk for running VM

DATA disk for running VM

Ready volume without VM

There were discrepancies when data disk was in destroy state (but not expunged)
the args() method is passed store.getters, but still store.getters.features... was called leading to exception
no explicit check if args was a method, could lead to exception if args was not an array


Make null regions of thumbnails transparent

Many of the raster thumbnails have empty space that should be transparent

No longer relevant now that we serve image tiles through large_image


Improve documentation around buffering for storage uploads

It is not clear when GCS buffers data and when it flushes data for this operation:
https://googleapis.dev/cpp/google-cloud-storage/1.23.0/classgoogle_1_1cloud_1_1storage_1_1v1_1_1Client.html#ad49c1798f3a14605eea3ceb45cf1d729

Also point out the relationship with the buffer sizes in the client options.

My notes from another thread..
The C++ client library supports a streaming API for resumable uploads.  You feed it data and it decides when it is a good time to upload a "chunk" (i.e., make a PUT call).
The algorithm is not that complicated:

For unbuffered output (i.e., when using .write()) the library flushes a chunk if at all possible.  The notion is that you want no buffering (this is the unbuffered API!) and we want to minimize data copying.  Generally, using large buffers, all a multiple of 256KiB yields the best results with this API.

For buffered output (i.e., when using operator<< and/or any other std::ostream APIs, such as .put()) the library waits until a buffer is full, as defined by SetUploadBufferSize in  ClientOptions, the default for this is 8 MiB.


Native Windows Applications (WinForms/WPF)

Hello,
is it possible to register native Window Applications as "devices" with windows components or can i do it with the REST API/graph?
I can see in the graph api that there are "list device" and "send command" calls but it seems that something like "register device" is missing. How am i suppused to register something as a "device"?
Thanks and best regards

@cinatic Windows registers devices when the user associates a Microsoft Account with the machine. Once a machine is registered, it can be enumerated using either the native WinRT API or from MS Graph.
Any application (WinForms/WPf/WinForms) can be launched cross-device if it supports a 'scheme' (i.e. via LaunchUri). Only UWP or Desktop Bridge apps can be hosts for AppServices.

hi @sphenry,
thanks for your response. Sounds good (doesn't work... lol no scnr).

Is yet every pc added as device when i am logged in or only with latest creators update?
I tried it on an updated machine, i logged in and logged also in to graph explorer. then i tried get request for ...beta/me/devices and get a 500 error "unknown error", any idea?
Sorry i am bit confused about AppServices, this means the remote communication? w/o AppServices it will not work, right?

@cinatic ,

Every PC with at least version1607 installed
It's hard to say without more details. Did you have the correct OAuth scopes?
App Services are a mechanism to do rich communication between app. More info here. For simple communication, you might be able to get by with passing data as part of the URI launch

You are right, i need to enable the scopes in the graph explorer

thanks for the information, i think this is an interesting project


Etherscan plugin doesn't work in console [APE-1247]

Environment information

OS: macOS

Python Version: 3.10.12

ape and plugin versions:

ape 0.6.12 (and 0.6.15 as well)
Installed Plugins:

solidity     0.6.7
etherscan    0.6.7
ganache      0.6.8
infura       0.6.2
hardhat      0.6.12

Contents of your ape-config.yaml (NOTE: do not post anything private like RPC urls or secrets!):

$ cat ape-config.yaml
name: ape-playground
plugins:
  - name: hardhat
  - name: ganache
  - name: infura
  - name: etherscan
  - name: solidity

hardhat:
  fork:
    ethereum:
      mainnet:
        upstream_provider: infura
        block_number: 17240000

ganache:
  server:
    port: 8545
  fork:
    ethereum:
      mainnet:
        upstream_provider: infura
        block_number: 17240000

What went wrong?
Unable to get contract type in console although the plugin is installed.
$ ape console --network ethereum:local:ganache

INFO: Connecting to existing 'Ganache' process.

In [1]: c = Contract("0xfb7b22ca585a2B400BE99F7F2a2282724C7b54D3")
ERROR: (ChainError) Failed to get contract type for address '0xfb7b22ca585a2B400BE99F7F2a2282724C7b54D3'. Current provider 'ganache' has no associated explorer plugin. Try installing an explorer plugin using ape plugins install etherscan, or using a network with explorer support.

or
$ ape console

In [1]: c = Contract("0xfb7b22ca585a2B400BE99F7F2a2282724C7b54D3")
ERROR: (ChainError) Failed to get contract type for address '0xfb7b22ca585a2B400BE99F7F2a2282724C7b54D3'. Current provider 'test' has no associated explorer plugin. Try installing an explorer plugin using ape plugins install etherscan, or using a network with explorer support.

When run tests like ape test tests/test_foo.py -s --network :mainnet-fork:ganache no such error occurs during c = Contract(....
How can it be fixed?
I think the explorer plugin should work in console as well. Either the error message be corrected, at least I don't get why explorer plugin must be tied to a provider.

Seems like it may be a bug with ape-ganache actually
Can you try this same issue with ape-hardhat or ape-foundry to verify?

Same:
ape console --network ethereum:local:foundry --> "... Current provider 'foundry' has no associated explorer plugin. ..."
Updated to ape 0.6.15: didn't help as well.

Same:
ape console --network ethereum:local:foundry --> "... Current provider 'foundry' has no associated explorer plugin. ..."
Updated to ape 0.6.15: didn't help as well.

I meant try with mainnet-fork
There are no explorers that will work with local network, although it does keep track of your local deployments

It worked with mainnet-fork. Thank you for help!
The confusion for me happened because I mainly run stuff on a separate manually started ganache instance, which got mentally treated just as "local" node with time.
I guess a bit more clarification in the error msg might help anyone like me, but I think the issue could just be closed as well.


User profile error

Hi - I have used the library for a Flutter web app I am building however I get the following error twice (details below).
Error: Exception: The user profile was not loaded as the user is not logged in.
    at Object.throw_ [as throw] (http://localhost:4234/dart_sdk.js:5348:11)
    at keycloak_service.KeycloakService.new.loadUserProfile (http://localhost:4234/packages/keycloak_flutter/src/keycloak_service.dart.lib.js:190:21)
    at loadUserProfile.next (<anonymous>)
    at runBody (http://localhost:4234/dart_sdk.js:39211:34)
    at Object._async [as async] (http://localhost:4234/dart_sdk.js:39242:7)
    at keycloak_service.KeycloakService.new.loadUserProfile (http://localhost:4234/packages/keycloak_flutter/src/keycloak_service.dart.lib.js:185:20)
    at main._MyHomePageState.new.<anonymous> (http://localhost:4234/packages/flutter_app/main.dart.lib.js:613:64)
    at Generator.next (<anonymous>)
    at runBody (http://localhost:4234/dart_sdk.js:39211:34)
    at Object._async [as async] (http://localhost:4234/dart_sdk.js:39242:7)
    at http://localhost:4234/packages/flutter_app/main.dart.lib.js:601:78
    at binding$5.WidgetsFlutterBinding.new.[_invokeFrameCallback] (http://localhost:4234/packages/flutter/src/scheduler/binding.dart.lib.js:776:9)
    at binding$5.WidgetsFlutterBinding.new.handleDrawFrame (http://localhost:4234/packages/flutter/src/scheduler/binding.dart.lib.js:749:37)
    at http://localhost:4234/packages/flutter/src/scheduler/binding.dart.lib.js:653:14
    at internalCallback (http://localhost:4234/dart_sdk.js:25272:11)

I have used the main.dart file from the example you have provided - modified just the credentials. When my page loads I get the above error. Then on clicking the Login button I am redirected to the Keycloak server and after a successful login I am sent back to my app however this error shows up again.
Any advice?

Hi, can you provide minimal reproducible code so that I can look into it

Hi, can you provide minimal reproducible code so that I can look into it

Hey thanks for the reply! Regarding the code I have replicated the code from your 'example' project except for the following changes in the main.dart file ( Provider -> create () ).
No additional changes besides some text labels. I also downloaded your code (example) from github and ran it. I get the same error (posted previously) with no changes made. Same error when the main.dart is loaded.
            var keycloakService = KeycloakService(KeycloakConfig(
                url: 'https://ctisaas.com:9091/auth/', // Keycloak auth base url
                realm: 'master',
                clientId: 'jst'));
            keycloakService.keycloakEventsStream.listen((event) {
              if (event.type == KeycloakEventType.onAuthSuccess) {
                  print('the user is authenticated successfully!' );// User is authenticated
              }

HI .....I also have same issue.
Redirection to keycloak works.
After entering credentials .....it is even redirecting to app
but app is not able to read or loaduserprofile
error from browser console
errors.dart:251
   Uncaught (in promise) Error: Exception: The user profile was not loaded as the user is not logged in.
at Object.throw_ [as throw] (:8080/dart_sdk.js:5067:11)
at keycloak_service.KeycloakService.new.loadUserProfile (:8080/packages/keycloak_flutter/src/keycloak_service.dart.lib.js:171:21)
at loadUserProfile.next (<anonymous>)
at runBody (:8080/dart_sdk.js:40590:34)
at Object._async [as async] (:8080/dart_sdk.js:40621:7)
at keycloak_service.KeycloakService.new.loadUserProfile (:8080/packages/keycloak_flutter/src/keycloak_service.dart.lib.js:166:20)
at main._MyHomePageState.new.<anonymous> (:8080/packages/example/main.dart.lib.js:306:64)
at Generator.next (<anonymous>)
at runBody (:8080/dart_sdk.js:40590:34)
at Object._async [as async] (:8080/dart_sdk.js:40621:7)
at :8080/packages/example/main.dart.lib.js:294:78
at binding$5.WidgetsFlutterBinding.new.[_invokeFrameCallback] (:8080/packages/flutter/src/scheduler/binding.dart.lib.js:722:9)
at binding$5.WidgetsFlutterBinding.new.handleDrawFrame (:8080/packages/flutter/src/scheduler/binding.dart.lib.js:698:37)
at :8080/packages/flutter/src/scheduler/binding.dart.lib.js:603:14
at internalCallback (:8080/dart_sdk.js:26619:11)

I think I found my problem .....issue is in keycloak client settings. I changed my client access type to public then it worked . This issue pops up when client access type is confidential.

Hi @VenkatraghuB
I have used the same code and I am having having the issue as you mentioned before.
Here is my error:

Uncaught (in promise) Error: Exception: The user profile was not loaded as the user is not logged in.
at Object.throw_ [as throw] (errors.dart:251:49)
at keycloak_service.KeycloakService.new.loadUserProfile (keycloak_service.dart:87:7)
at loadUserProfile.next ()
at runBody (async_patch.dart:84:54)
at Object._async [as async] (async_patch.dart:123:5)
at keycloak_service.KeycloakService.new.loadUserProfile (keycloak_service.dart:81:45)
at main._MyHomePageState.new. (main.dart:97:49)
at Generator.next ()
at runBody (async_patch.dart:84:54)
at Object._async [as async] (async_patch.dart:123:5)
at main.dart:88:52
at binding$5.WidgetsFlutterBinding.new.[_invokeFrameCallback] (binding.dart:1144:15)
at binding$5.WidgetsFlutterBinding.new.handleDrawFrame (binding.dart:1089:9)
at binding.dart:862:7
at internalCallback (isolate_helper.dart:48:19)

I have checked with AccessType as "public" also but no success.
Here is my Keycloak settings.

What am I missing here?

Hi,
Is there an update to the above mentioned issues? Even I'm facing issues while trying to loadUserProfile. If anyone can kindly post their solution here, that would be helpful. Thank you.


Failed to get subscriptions for my account

Everything works fine, with all accounts and subscriptions I have, except for my personal account.
In Azure Storage explorer this same account+subscription works fine.
Only in Azure Data Studio this issue occurs. Fresh install already done but did not help, by the way it saved all my previous connection, perhaps I should have removed them somehow? Anyone other idears?
Failed to get subscriptions for account<EMAIL_ADDRESS>-<EMAIL_ADDRESS>(tenant 'efe7c35f-e3b9-49ac-98c0-718323d17f6a'). Error: invalid_grant occurred when acquiring token. 9002313 - [2024-02-08 10:23:38Z]: AADSTS9002313: Invalid request. Request is malformed or invalid. Trace ID: bb281aaa-f6a8-4180-ab5c-2332292a6300 Correlation ID: f31ca9ce-5fa2-43e8-8d93-d51afa485220 Timestamp: 2024-02-08 10:23:38Z - Correlation ID: f31ca9ce-5fa2-43e8-8d93-d51afa485220 - Trace ID: bb281aaa-f6a8-4180-ab5c-2332292a6300

Didn't find much info, but this looks related: https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/3088#issuecomment-786323200 Need to see if we are url decoding before fetching Code or not.. that may be the reason this occurs.

Didn't find much info, but this looks related: AzureAD/microsoft-authentication-library-for-js#3088 (comment) Need to see if we are url decoding before fetching Code or not.. that may be the reason this occurs.

Thnx sofar, don't think this is helpfull unfortunately :(


[QUESTION] How To Geocode on US State Level?

Is it possible to geocode just on the US state level rather than specific coordinates? I have often found I do not have coordinate or address level data but rather state level at best and sometimes ZIP level if lucky.
I was looking at AddressCoder but it seems to only support coordinate level data. Would it be possible to write a method that uses the geographic coordinates of a state boundary as the latitude and longitude instead? Indexing on the respective shapefile for a state?

It would be possible but we don't support it with a dedicated method.
For reference, this is the table  that stores geocoded information and is used in downstream processes like creating CDM extension table exposure_occurrence,
While we recommend using our Gaia function for geocoding, this table can be created and populated by any means.
In your case, you could put any coordinates to represent a state or zip (centroid seems like the ideal choice) and then those patients or care sites that are geocoded could now be used in transformations at that level of granularity.
What we don't have is any way to maintain provenance for those geocoded addresses (populated via function, address-level vs zip-level), which could be nice.
We don't have plans to introduce a function to handle geocoding state or zip level information, though we have heard this brought up before and would accept a PR.
I will make a point to update geocoding documentation to better explain the geom_omop_location table and possibly include some examples to illustrate this.

In your case, you could put any coordinates to represent a state or zip (centroid seems like the ideal choice) and then those patients or care sites that are geocoded could now be used in transformations at that level of granularity.

That's what I was thinking! But I didn't see how to then next filter by state level data using gaia -- would I just have to look through the variables.csv?

What we don't have is any way to maintain provenance for those geocoded addresses (populated via function, address-level vs zip-level), which could be nice.

Like a label to say "this data's lat/long were created artificially" versus "geocoded with degauss"?

We don't have plans to introduce a function to handle geocoding state or zip level information, though we have heard this brought up before and would accept a PR.

What would a PR like this look like? I'd only be interest in state at the moment so in my mind, it would be a function like stateCoder which would:

Grab the location table for a cohort
Look at the state table
Allow a user parameter for exact location handling method

Centroid
Specific location (this could handle the ZIP question too potentially)

Encode location using specified method

What do you think?
Thanks!


Postgres: filtering on relationship with drafts enabled not working

Link to reproduction
https://github.com/Janisvb/payload-reproduction/tree/postgres-filter
Describe the Bug
With Postgres and drafts enabled, filtering on relationships returns empty results. Because of that, the filters in the admin panel are not working correctly.
To Reproduce
PAYLOAD_DATABASE=postgres
yarn dev _community
http://localhost:3000/api/posts?depth=0&where[relation][equals]=1
returns docs:[{"id":2,"text":"second post","relation":1}]
http://localhost:3000/api/posts?depth=0&where[relation][equals]=1&draft=true
returns docs:[]
It works as expected with MongoDB or drafts deactivated
Payload Version
2.8.1
Adapters and Plugins
db-postgres

I also experience the same issue, and reproducible with this demo updated to latest versions in the package.json.

@Janisvb Thank you for the comprehensive recreated. It was very helpful. This fix will be in the next release.


RUMM-1529 Add remaining nightly tests for Logs feature

What does this PR do?
In this PR we are completing the nightly tests coverage for Logs feature.
Additional Notes
The following updates were added:

Nightly test coverage and monitors added for com.datadog.android.log.Logger#fun addAttribute(String, Long), com.datadog.android.log.Logger#fun addTag(String), com.datadog.android.log.Logger#fun removeTagsWithKey(String) API entries
The methodSignature was fixed for test coverage tool for the following API entries: com.datadog.android.log.Logger#fun addAttribute(String, com.google.gson.JsonArray?), com.datadog.android.log.Logger#fun addAttribute(String, com.google.gson.JsonObject?), com.datadog.android.log.Logger#fun addAttribute(String, java.util.Date?)`
The test coverage threshold was increased to 0.76

Codecov Report

Merging #699 (d5663f4) into master (4e41a5b) will decrease coverage by 0.41%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #699      +/-   ##
============================================
- Coverage     89.07%   88.66%   -0.41%
+ Complexity     1716     1707       -9
============================================
  Files           189      189
  Lines          5646     5646
  Branches        695      695
============================================
- Hits           5029     5006      -23
- Misses          392      406      +14
- Partials        225      234       +9

Impacted Files
Coverage Δ

...internal/tracking/JetpackViewAttributesProvider.kt
73.91% <0.00%> (-13.04%)
:arrow_down:

...g/internal/domain/event/DdSpanToSpanEventMapper.kt
89.80% <0.00%> (-10.20%)
:arrow_down:

...l/net/info/BroadcastReceiverNetworkInfoProvider.kt
79.17% <0.00%> (-5.21%)
:arrow_down:

...nternal/tracking/OreoFragmentLifecycleCallbacks.kt
89.74% <0.00%> (-5.13%)
:arrow_down:

.../kotlin/com/datadog/android/rum/RumResourceKind.kt
80.95% <0.00%> (-4.76%)
:arrow_down:

...droid/rum/tracking/FragmentViewTrackingStrategy.kt
81.82% <0.00%> (-4.55%)
:arrow_down:

...droid/rum/tracking/ActivityViewTrackingStrategy.kt
84.62% <0.00%> (-3.85%)
:arrow_down:

...ore/internal/constraints/DatadogDataConstraints.kt
92.31% <0.00%> (-1.28%)
:arrow_down:

...droid/rum/internal/domain/scope/RumSessionScope.kt
96.67% <0.00%> (-1.11%)
:arrow_down:

...g/android/rum/internal/domain/scope/RumEventExt.kt
86.36% <0.00%> (-0.91%)
:arrow_down:

... and 3 more


Infer ONNX conv output shapes

Pull Request Template
Checklist

[x] Confirmed that run-checks all script has been executed.
[x] Made sure the book is up to date with changes in this PR.

Related Issues/PRs
Should fix #2243
Changes
Calculate output shape of convolutions in ONNX import dim_inference step.
I've found https://arxiv.org/abs/1603.07285 to follow, since the correct output shape isn't really defined in the ONNX specs, but am not quite sure if this implementation is correct for cases where group != 1.
Also, convtranspose also has the same problem (in that it just returns the input shape as its output shape), but here, I've just set the shape to None instead of trying to implement it fully - this should at least prevent dependent nodes from relying on wrong information.

We don't need to track the output shapes statically because the Burn API tracks and calculates dynamically. Burn needs only rank output.
However, onnx-ir might have a feature that tracks shapes which might be useful for other frameworks.

From my point of view, this should be an either or:

Either, all operations track their shapes, potentially duplicating some code as well as possibly having bugs when the predicted shape doesn't match the actual output, or
Like in Burn, Shapes aren't tracked, but then I feel like the Shape property of ArgType::Tensors should be removed completely.

The current state, where the shape is only sometimes available, and more importantly not reliable, is IMHO bad for implementing Operators.
If the onnx-ir were to go the second route, some Operators become hard (impossible?) to implement.
The example that got me started on implementing more Shape Tracking was Expand (see #2189), where the shape of the second input (also called "shape") can influence the rank of the output, if the 1D-Tensor has more entries than the 1st input's rank. I'm not sure how this could be implemented without shape tracking.

From my point of view, this should be an either or:

Either, all operations track their shapes, potentially duplicating some code as well as possibly having bugs when the predicted shape doesn't match the actual output, or

Like in Burn, Shapes aren't tracked explicitly, but then I feel like the Shape property of ArgType::Tensors should be removed completely.

The current state, where the shape is only sometimes available, and more importantly not reliable, is IMHO bad for implementing Operators.
If the onnx-ir were to go the second route, some Operators become hard (impossible?) to implement.
The example that got me started on implementing more Shape Tracking was Expand (see #2189), where the shape of the second input (also called "shape") can influence the rank of the output (see current impl), if the 1D-Tensor has more entries than the 1st input's rank. I'm not sure how this could be implemented without shape tracking.

You are right. Here we have to decide. I think eventually I would prefer onnx-ir tracked shape information. However, I do not want to burden Burn onnx implementers right now. Currently it is a hybrid approach. The project started initially tracking shape information.
Maybe we should have this feature in onnx-ir then we can add more as we we go along?

So far I've haven't really made a distinction between onnx-ir and burn-import, so maybe I'm missing something here. I'm not sure if your statements are in favor or against the inclusion of this PR?
I'm willing to put in some work to improve the overall situation, but am not quite clear what you propose.

Maybe we should have this feature in onnx-ir then we can add more as we we go along?

As far as I can tell from reading the ONNX IR spec, including type information (which carries the shape) is only mandatory for top graphs in- and outputs. So for intermediate values, it is possible to include in a graph's value_info, but we cannot rely on just needing to read it from the file. Hence I went ahead and started implementing shape tracking in the dim_inference-part of onnx-ir. For some Ops, the Shape is already tracked correctly. Do you see a better way than adding shape tracking piece by piece, until at some point the Option<Shape> in TensorType can become a mandatory Shape?

I think eventually I would prefer onnx-ir tracked shape information. However, I do not want to burden Burn onnx implementers right now.

This was also my first concern regarding Burn implementation. But the reality is that if we want the shapes to be tracked in onnx-ir, any new node will likely require the implementation to track the shapes - and this is usually done by the same developer when adding a new ONNX op to support for burn import.

So far I've haven't really made a distinction between onnx-ir and burn-import, so maybe I'm missing something here.

onnx-ir is separated from burn-import and has no dependency to Burn. It is simply meant to be an ONNX parsing crate to convert graphs into the defined representation (with NodeTypes etc.) so that a Rust user can use the representation as they wish. Right now it is used in burn-import to translate the intermediate graph representation into Burn compatible operations.

I'm not sure if your statements are in favor or against the inclusion of this PR?

After reading the comments, I think I am also in favor of tracking shape information. But this means that we need to make sure all ops currently track shapes properly, including already implemented ones (which is a bit more restrictive and will require more work).
I think it should improve the support of more complex models (as we've seen, the ONNX spec is quite large and having support for a single op doesn't always mean it will cover the range of the whole spec such as it might be used in a model). I might be wrong, but I think it will reduce the friction with the ONNX import support (even it requires a bit more work..).

Another issue just resurfaced that motivates the changes proposed in this PR to better track shapes.
Since most shapes are set to None (in favor of runtime shapes), there is no way to know the output rank for the Reshape node since the second input (which specifies the output shape) will have shape: None. This results in the output dim not being set, thus having an incorrect shape set for the remainder of the graph operations.

We don't need to track the output shapes statically because the Burn API tracks and calculates dynamically. Burn needs only rank output.

Indeed, Burn doesn't need to track that. But in order to convert the code to Burn some ONNX ops actually require the shapes to be tracked properly it seems 😞 I think it has worked so far without tracking shapes for the simple stuff, but the limitations are starting to show.
Let me know what you think @antimora

We don't need to track the output shapes statically because the Burn API tracks and calculates dynamically. Burn needs only rank output.

Indeed, Burn doesn't need to track that. But in order to convert the code to Burn some ONNX ops actually require the shapes to be tracked properly it seems 😞 I think it has worked so far without tracking shapes for the simple stuff, but the limitations are starting to show.
Let me know what you think @antimora

Sorry I forgot to add my recommendation for this after we spoke offline.
I recommend we do not track shapes statically primarily because generated ONNX Models should be able to accept different size inputs at runtime. If we use shapes to statically generate code for specific shapes, then Burn's ONNX will be limited in its functionality.
Therefore, we only accurately track input and output ranks in our graph.
If we come across a use case where we cannot implement ONNX OP without knowing  an exact shape, e.g. Shape -> Reshape, then we use other tactics at our disposable to make it work. For example, we can use a fusing at ONNX op level ShapeReshape or modify/add Burn tensor operator.

Another example why should get away from static input shapes: https://github.com/tracel-ai/burn/pull/2441#pullrequestreview-2405432778


Optimize Register Allocation

There's no reason to allocate a single register for every literal/variable in an expression.
https://en.m.wikipedia.org/wiki/Sethi–Ullman_algorithm seems to be a fairly commonly used algorithm for that.

Will soon™ be covered by #38


Trans tag destroy national characters

If I call django makemessages command, output from trans tag and underscope function is different. String from trans tag is saved to .po file in different charset (not in UTF-8). I use python 3.4.2 on 64bit Windows 7.
.\templates\test.html
{% trans name=user.name %}
    ěščřžýáíé {{ name }}
{% endtrans %}

{{ _('ěščřžýáíé %(name)s')|format(name=user.name) }}

.\LC_MESSAGES\django.po
#: .\templates\test.html:8
#, python-format
msgid ""
"\n"
"    ěščřžýá�xadé %(name)s\n"
msgstr ""

#: .\templates\test.html:13
#, python-format
msgid "ěščřžýáíé %(name)s"
msgstr ""

This seems to be not django-jinja bug, because the makemessages command implementation is django's one, the django-jinja's version inherits all code from django and overwrites the regular expresion for jinja version of trans.


Error message concerning JSON

Hello, if you have a mistake in the elm-package.json Elm throws an error:
ERROR in ./src/Main.elm
Module build failed: Error: Compiler process exited with error Compilation failed
I cannot parse the JSON. Maybe a comma is missing? Or there is an extra one?
It could also be because of mismatched brackets or quotes.

You can also check out the following example to see what it should look like:
<https://raw.githubusercontent.com/elm-lang/html/master/elm-package.json>

It looks like I have an error somewhere in my app, e.g. in JSON from server. This is really confusing.
Please make it explicit that error might be in elm-package.json.
macOS 10.11.4
elm 0.17.1

Hm, did you notice this?

You can also check out the following example to see what it should look like:
https://raw.githubusercontent.com/elm-lang/html/master/elm-package.json

It points you at a sample elm-package.json, which suggests that yours is malformed.

This would work better in the error message catalog.

@mitchellwrosen Yes, but I was confused by the line “ERROR in ./src/Main.elm”. I thought my problem is somewhere in the output from the back-end or with the json-decode.

Like @process-bot says, we need a http://sscce.org/ to make any progress on things like this. Right now, we can only guess what the issue is because we have no information except the error message.
So get it down to an http://sscce.org/ and open it in the error message catalog like @mgold suggests.


Enable pylint checks

All currently failing checks were disabled until they will be fixed, see .pylintrc for details.

Not updating release notes draft because this is a change solely to unit tests.


Update signing and message validation to support personal_sign for custody signers

Custody signers are Ethereum addresses, so we should treat them as Ethereum wallets that sign messages using EIP 191 version 0x45 rather than raw secp256k1 private keys.
This change includes:

[ ] Add signatureType for EIP 191 personal_sign
[ ] Whenever a custody address signs a message, use ethers signMessage to be compatible with other wallets
[ ] Update validateMessage method to use ethers verifyMessage when signatureType is eip-191-0x45 (or whatever we want to call it)

This change relates to https://github.com/farcasterxyz/hub/issues/41

Final piece finished here https://github.com/farcasterxyz/hub/pull/76


[Feature Request] Argument support for Launcher

An option to add arguments on the process creation CreateProcessA could be useful in some scenarios example if we want to start Telegram minimized the argument would be -autostart.

Committed changes to support forwarding command line arguments, but simply passing -autorun to Telegram.exe does not minimize it at startup, and I have a hunch that the feature will require decrypting and modifying configuration data, so the feature may be abandoned as too difficult to implement.

Committed changes to support forwarding command line arguments, but simply passing -autorun to Telegram.exe does not minimize it at startup, and I have a hunch that the feature will require decrypting and modifying configuration data, so the feature may be abandoned as too difficult to implement.

I did some testing and -autostart actually works but it is required to enable autostart from within Telegram's settings.
So after placing the shortcut to shell:startup we need to move to Telegram's advanced settings and tick Launch Telegram when system starts and Launch minimized after that close Telegram entirely.
Move back to shell:startup and delete the Telegram's official shortcut and modifying our own shortcut by going to the file properties and Target adding -autostart at the end of the path.
Now the application will start as minimized everytime the system starts.

Now that we know that, How does Telegram restrict the action of using -autostart ?
Well after looking at the process events on enabling Launch minimized it seems that Telegram query and modify a file called settingss which is located at %APPDATA%\Telegram Desktop\tdata\settings and might be encrypted.

@0x11DFE If we delete the Telegram shortcut, won't it automatically disable the auto-run option? If so, this is an effective and simple solution. :+1:

@0x11DFE If we delete the Telegram shortcut, won't it automatically disable the auto-run option? If so, this is an effective and simple solution. 👍

No it doesn't disable the option 😋

Released v0.4.1.
Thanks for your report and test！


ref(pkg/getter): decouple pkg/helm/environment.EnvSettings from getter

After pairing with @adamreese, it looks like we could potentially resolve this by making a few modifications to #5443. Assigning this to myself to investigate


std::set does not have a member function "contains".

for reference

It does since C++20:
https://en.cppreference.com/w/cpp/container/set/contains
Your reference is 3 years old and now have an updated response: https://stackoverflow.com/a/61430051


CIRCULAR REFERENCE: java.lang.NoSuchMethodError issue

The following error occurred when I used spring data R2DBC.
Caused by: [CIRCULAR REFERENCE: java.lang.NoSuchMethodError: 'org.springframework.data.relational.core.sql.TableLike org.springframework.data.relational.core.sql.Column.getTable()']
This error occurs in the following situations:
implementation("org.springframework.boot:spring-boot-starter-data-r2dbc")
implementation("org.springframework.data:spring-data-r2dbc:1.5.5")

In build.gradle, Spring boot data R2DBC version 2.5.1 (similar issue with 2.7.5) and Spring Data R2DBC version 1.5.5 as shown above.

The first idea would be to use the version of Spring Data R2DBC which is used by your version of Spring Boot by default and not configure a version explicitly.
If this still causes the problem please provide a complete reproducer, preferable in form of a Github repository.

@schauder
Good. Clearing the version resolved the problem.
What I'm curious about is that when I use R2DBC, do I have to use the Spring Data R2DBC Defense version that the corresponding defense has?

I'm not sure what you mean by "Spring Data R2DBC Defense" .

It's a dependency, not a defense. Should I use the R2DBC dependency that Spring boot has? Can't I use the version of R2DBC I want individually?

An increase of the patch version (third part of the version number) should always work.
An increase of the minor version (second part of the version number) should work in theory.
An increase of the major version is likely to fail.
A decrease of the version number in any way is expected to introduce problems.

An increase of the patch version (third part of the version number) should always work.
An increase of the minor version (second part of the version number) should work in theory.
An increase of the major version is likely to fail.
A decrease of the version number in any way is expected to introduce problems.


Flake in DartIsolateTest.ValidLoadingUnitSucceeds

Seeing this flake:
flutter: In function canCallDeferredLibrary
[ERROR:flutter/runtime/dart_isolate.cc(1051)] Platform Configuration was null. Deferred library load requestfor loading unit id 2 was not sent.
[ERROR:flutter/runtime/dart_isolate_unittests.cc(495)] Hello from Dart!
../../third_party/dart/runtime/vm/dart_api_impl.cc: 1542: error: Isolate canCallDeferredLibrary is already scheduled on mutator thread 0x7f96d4018e00, failed to schedule from os thread 0x10fab5dc0

version=2.12.0-150.0.dev (dev) (Mon Dec 14 12:05:40 2020 -0800) on "macos_x64"
pid=24557, thread=775, isolate_group=(nil)(0x0), isolate=(nil)(0x0)
isolate_instructions=0, vm_instructions=10be02000
  pc 0x0000000108943c15 fp 0x00007ffee757a0f0 dart::Profiler::DumpStackTrace(void*)+0x85
  pc 0x0000000108865612 fp 0x00007ffee757a1d0 dart::Assert::Fail(char const*, ...)+0x82
  pc 0x0000000108e71330 fp 0x00007ffee757a210 Dart_ThreadDisableProfiling+0x0
  pc 0x00000001086d4edf fp 0x00007ffee757a230 tonic::DartState::Scope::Scope(tonic::DartState*)+0x1f
  pc 0x00000001086a5a9a fp 0x00007ffee757a2f0 flutter::DartIsolate::LoadLoadingUnit(long, std::__1::unique_ptr<fml::Mapping const, std::__1::default_delete<fml::Mapping const> >, std::__1::unique_ptr<fml::Mapping const, std::__1::default_delete<fml::Mapping const> >)+0x3a
  pc 0x000000010868f067 fp 0x00007ffee757b0a0 flutter::testing::DartIsolateTest_ValidLoadingUnitSucceeds_Test::TestBody()+0x9b7
  pc 0x0000000108ecb560 fp 0x00007ffee757b0e0 testing::Test::Run()+0xe0
  pc 0x0000000108ecc2b0 fp 0x00007ffee757b140 testing::TestInfo::Run()+0x110
  pc 0x0000000108eccd07 fp 0x00007ffee757b190 testing::TestSuite::Run()+0x127
  pc 0x0000000108eda177 fp 0x00007ffee757b250 testing::internal::UnitTestImpl::RunAllTests()+0x3b7
  pc 0x0000000108ed9d0f fp 0x00007ffee757b2a0 testing::UnitTest::Run()+0x7f
  pc 0x00000001086c99ff fp 0x00007ffee757b400 main+0x12f
  pc 0x00007fff73ad2cc9 fp 0x00007ffee757b418 start+0x1
-- End of DumpStackTrace
Traceback (most recent call last):
  File "/opt/s/w/ir/cache/builder/src/flutter/testing/run_tests.py", line 506, in <module>
    sys.exit(main())
  File "/opt/s/w/ir/cache/builder/src/flutter/testing/run_tests.py", line 476, in main
    RunCCTests(build_dir, engine_filter)
  File "/opt/s/w/ir/cache/builder/src/flutter/testing/run_tests.py", line 136, in RunCCTests
    RunEngineExecutable(build_dir, 'runtime_unittests', filter, shuffle_flags)
  File "/opt/s/w/ir/cache/builder/src/flutter/testing/run_tests.py", line 94, in RunEngineExecutable
    RunCmd(test_command, cwd=cwd)
  File "/opt/s/w/ir/cache/builder/src/flutter/testing/run_tests.py", line 47, in RunCmd
    raise Exception('Command "%s" exited with code %d' % (command_string, process.returncode))
Exception: Command "/opt/s/w/ir/cache/builder/src/out/host_profile/runtime_unittests --gtest_shuffle --gtest_repeat=2" exited with code -6```

Not sure what PR has caused it, but I noticed it on a Dart SDK roll - https://dart.googlesource.com/sdk.git/+log/68d1c7504f7d..f166571c7bc4

This test looks very suspicious. It looks like there are potentially two Signal()s but only one Wait() for starters.

This is my test, I'll take another look.

Is this blocking anything? If it is, I can temporarily disable it, since I traced the problem somewhere rather opaque within dart. Since this (should be) the first usage of this dart feature, it may take a bit of time to properly resolve.

https://github.com/flutter/engine/pull/23070

Is this blocking anything?

Getting this unit test passing seems like it would be a prerequisite for declaring success on deferred-loading/split AOT?

Yeah, though after chatting with Ryan about the problem, it seems it is most likely to be a problem with the testing infra rather than the split aot feature itself.

Sure. We should do whatever is the necessary work to write a non-flaky test of the thing you're trying to test.

I got the same flake in task_overlay_test.dart: TaskOverlay shows the right message for nondevicelab tasks, so it would appear the problem is not in the test.
https://ci.chromium.org/ui/p/flutter/builders/try/Linux customer_testing/7559/overview
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8860637636394934576/+/steps/prepare_environment/0/steps/Customer_testing/0/steps/customer_testing/0/stdout
| 00:07 +38: /b/s/w/ir/tmp/t/flutter_customer_testing.flutter_cocoon.CMCCJS/tests/app_flutter/test/widgets/task_overlay_test.dart: TaskOverlay shows the right message for nondevicelab tasks
| Shell: ../../third_party/dart/runtime/vm/dart_api_impl.cc: 1542: error: Isolate main is already scheduled on mutator thread 0x30b8460, failed to schedule from os thread 0x7fe49feb7700
| Shell:
| Shell: version=2.12.0-157.0.dev (dev) (Wed Dec 16 01:04:40 2020 -0800) on "linux_x64"
| Shell: pid=4587, thread=4589, isolate_group=(nil)((nil)), isolate=(nil)((nil))
| Shell: isolate_instructions=0, vm_instructions=c9a1a0
| Shell:   pc 0x000000000134c47c fp 0x00007fe49feb6c60 /b/s/w/ir/k/flutter sdk/bin/cache/artifacts/engine/linux-x64/flutter_tester+0x114c47c
| Shell:   pc 0x000000000122aaba fp 0x00007fe49feb6e60 /b/s/w/ir/k/flutter sdk/bin/cache/artifacts/engine/linux-x64/flutter_tester+0x102aaba
| Shell: -- End of DumpStackTrace
| 00:07 +38 -1: loading /b/s/w/ir/tmp/t/flutter_customer_testing.flutter_cocoon.CMCCJS/tests/app_flutter/test/widgets/task_overlay_test.dart [E]
|   Shell subprocess crashed with SIGABRT (-6) after tests finished.
|   Test: /b/s/w/ir/tmp/t/flutter_customer_testing.flutter_cocoon.CMCCJS/tests/app_flutter/test/widgets/task_overlay_test.dart
|   Shell: /b/s/w/ir/k/flutter sdk/bin/cache/artifacts/engine/linux-x64/flutter_tester

Seen again in the same spot as @tvolkert https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8858817424874367760/+/steps/prepare_environment/0/steps/Customer_testing/0/steps/customer_testing/0/stdout
| 00:13 +159: /b/s/w/ir/tmp/t/flutter_customer_testing.flutter_cocoon.CABRMP/tests/app_flutter/test/widgets/task_overlay_test.dart: TaskOverlay shows the right message for nondevicelab tasks
| Shell: ../../third_party/dart/runtime/vm/dart_api_impl.cc: 1542: error: Isolate main is already scheduled on mutator thread 0x25a5e40, failed to schedule from os thread 0x7f8be8f17700
| Shell:
| Shell: version=2.12.0-179.0.dev (dev) (Wed Dec 23 21:08:22 2020 -0800) on "linux_x64"
| Shell: pid=23996, thread=24001, isolate_group=(nil)((nil)), isolate=(nil)((nil))
| Shell: isolate_instructions=0, vm_instructions=c99d80
| Shell:   pc 0x00000000013501fc fp 0x00007f8be8f16c60 /b/s/w/ir/k/flutter sdk/bin/cache/artifacts/engine/linux-x64/flutter_tester+0x11501fc
| Shell:   pc 0x000000000122e23a fp 0x00007f8be8f16e60 /b/s/w/ir/k/flutter sdk/bin/cache/artifacts/engine/linux-x64/flutter_tester+0x102e23a
| Shell: -- End of DumpStackTrace
| 00:14 +159 -1: loading /b/s/w/ir/tmp/t/flutter_customer_testing.flutter_cocoon.CABRMP/tests/app_flutter/test/widgets/task_overlay_test.dart [E]
|   Shell subprocess crashed with SIGABRT (-6) after tests finished.
|   Test: /b/s/w/ir/tmp/t/flutter_customer_testing.flutter_cocoon.CABRMP/tests/app_flutter/test/widgets/task_overlay_test.dart
|   Shell: /b/s/w/ir/k/flutter sdk/bin/cache/artifacts/engine/linux-x64/flutter_tester

Seen again in the same spot as @tvolkert https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8858817424874367760/+/steps/prepare_environment/0/steps/Customer_testing/0/steps/customer_testing/0/stdout
| 00:13 +159: /b/s/w/ir/tmp/t/flutter_customer_testing.flutter_cocoon.CABRMP/tests/app_flutter/test/widgets/task_overlay_test.dart: TaskOverlay shows the right message for nondevicelab tasks
| Shell: ../../third_party/dart/runtime/vm/dart_api_impl.cc: 1542: error: Isolate main is already scheduled on mutator thread 0x25a5e40, failed to schedule from os thread 0x7f8be8f17700
| Shell:
| Shell: version=2.12.0-179.0.dev (dev) (Wed Dec 23 21:08:22 2020 -0800) on "linux_x64"
| Shell: pid=23996, thread=24001, isolate_group=(nil)((nil)), isolate=(nil)((nil))
| Shell: isolate_instructions=0, vm_instructions=c99d80
| Shell:   pc 0x00000000013501fc fp 0x00007f8be8f16c60 /b/s/w/ir/k/flutter sdk/bin/cache/artifacts/engine/linux-x64/flutter_tester+0x11501fc
| Shell:   pc 0x000000000122e23a fp 0x00007f8be8f16e60 /b/s/w/ir/k/flutter sdk/bin/cache/artifacts/engine/linux-x64/flutter_tester+0x102e23a
| Shell: -- End of DumpStackTrace
| 00:14 +159 -1: loading /b/s/w/ir/tmp/t/flutter_customer_testing.flutter_cocoon.CABRMP/tests/app_flutter/test/widgets/task_overlay_test.dart [E]
|   Shell subprocess crashed with SIGABRT (-6) after tests finished.
|   Test: /b/s/w/ir/tmp/t/flutter_customer_testing.flutter_cocoon.CABRMP/tests/app_flutter/test/widgets/task_overlay_test.dart
|   Shell: /b/s/w/ir/k/flutter sdk/bin/cache/artifacts/engine/linux-x64/flutter_tester

Unless task_overlay_test.dart is using deferred loading, I think that it's unlikely that the crashes from @tvolkert and @jmagman are from the same bug as in @GaryQian's test. I'll create a separate issue.

Unless task_overlay_test.dart is using deferred loading, I think that it's unlikely that the crashes from @tvolkert and @jmagman are from the same bug as in @GaryQian's test. I'll create a separate issue.

From engine flake triage: @GaryQian Did you get a chance to look into this further? The test is still disabled.

Not yet, I can look into it next.

@GaryQian any update?

Due to limitations in dart in a test env, I plan on testing this with a full integration test on an AVD instead as a unit test. My other line of work getting AVDs running in pre and postsubmit luci will make this test possible

PR for integration tests to properly test this: https://github.com/flutter/flutter/pull/88030

From flaky issue triage: @GaryQian Did you delete the flaky test? Can we close this?


how to build 3d face reconstruction by using Realsense?

I have a SR300 now, but how to build 3d face reconstruction by using Realsense like the  functions here ?

For the reference of others reading this message, a response has been provided at the copy of this question on the Intel Support site.
https://forums.intel.com/s/question/0D50P00004LY75ZSAT/how-to-build-3d-face-reconstruction-by-using-realsense?language=en_US


Suggestion: Setup github actions

I would like to suggest setting up github actions to automatically

validate PRs
publish new versions of the nuget package, for example when a PR is merged

This would make checking of PRs less time-consuming and it would also fix the current situation where bugs are fixed in the repo but not published (#77).
I'd be happy to help with this, but I have no access to the nuget feed of this package and I think the rules for when a new version is packaged need to be agreed upon.

I agree. Having builds for PRs to check that it at least builds correctly, then pushing to nuget on tags.
I'm not familiar with Github actions but I suspect it's similar to AzureDevops pipelines.
If you want to start looking at this I'd suggest the rules above, simple build on PRs, Release build and push to nuget on tags. I can then add the secret API keys to the nuget feed

@paulvarache I created a first contribution at https://github.com/the49ltd/The49.Maui.BottomSheet/pull/91 and there are still some open ends. Let's discuss further there.

@hansmbakker  I've updated the yaml file you provided and added another one for the nuget feed push. It now should pack and publish an artifact for each open PR targeting main so we can easily download and test before merging. I have changes from building the sample app, to packing the package. It means we don't need to build for different platforms and it checks that the package actually builds. WHile it's important to have the sample app functional, I think it's less critical if it breaks for a short while than if the package itself does.
Tagging now packs the package and pushes it to nuget


Get-DbaDbFile - incorrectly accounting for pages when calculating NextGrowthEventSize

The NextGrowthEventSize value returned by Get-DbaDbFile appears to be calculated incorrectly due to a double accounting for pages on non-percent growth types and by not accounting for pages on percent growth types.
Steps to Reproduce
/**** create a temporary database for example ****/
CREATE DATABASE [SizeTestDB]
 ON  PRIMARY
( NAME = N'SizeTestDB', FILENAME = N'C:\TempDatabase\SizeTestDB.mdf' , SIZE = 256MB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON
( NAME = N'SizeTestDB_log', FILENAME = N'C:\TempDatabase\SizeTestDB_log.ldf' , SIZE = 256MB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

Get-DbaDbFile -sqlinstance localhost -database SizeTestDB

Expected Behavior
For the .mdf, the NextGrowthEventSize should be 64 MB and for the .ldf it should be 25.6 MB
Actual Behavior
For non-Percent growth types it looks like it may be trying to calculate pages twice. The underlying T-SQL gets the [growth] value and multiplies it by 8 initially
case mf.is_percent_growth when 1 then df.growth else df.Growth*8 end as Growth

...but then that result is multiplied by 8 again in the powershell
 $nextgrowtheventadd = [dbasize]($result.Growth * 8 * 1024)

So the .mdf file's 64 MB (8192 pages) growth value ends up calculated to a NextGrowthEventSize of 512MB instead of the expected 64 MB. I think one of the page conversions should be removed.
For Percent growth types the underlying T-SQL gets the [growth] value and it is multiplied in Powershell against the size value which doesn't appear to be converted from pages. So the 256 MB (32768 pages) .ldf file with a 10% growth type is showing a NextGrowthEventSize of 3.20 MB instead of 25.6 MB.
$nextgrowtheventadd = [dbasize]($result.size * ($result.Growth * 0.01) * 1024)

Should be something like
$nextgrowtheventadd = [dbasize]($result.size * 8 * ($result.Growth * 0.01) * 1024)

Environmental data

PowerShell: 5.1.17134.590

SQL Server: Microsoft SQL Server 2016 (SP1-CU7-GDR) (KB4057119) - 13.0.4466.4 (X64)

Thanks Gry, any chance you'd be able to fix this as well? Math is not my forte. If not, let me know and I'll holler to another fixer.

Sure thing. I've created a pull request with the change.

awesome! thank you so much 🙇🙇


Elaborate on types of failures

Each type of event that your app experienced is tracked separately: crashes, hangs, JavaScript exceptions, and memory failures.

What is the purpose of this separation? What conclusions about apps health are to be drawn from it? What defines each category, how events are assigned into one or another? The explanation is cut short, and there does not seem to be another source that would go in-depth on these.
For example, we investigate a case where an app is terminated via fastfail 7 ; the corresponding reports are placed under the Memory failures. Is this a useful insight into the underlying cause, or just an artefact of the failure not fitting in with "crashes" or "hangs", how does one tell?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 64421026-2df7-86fa-e829-6b7bfa293cde
Version Independent ID: 64421026-2df7-86fa-e829-6b7bfa293cde
Content: Health report - Windows apps
Content Source: hub/apps/publish/health-report.md
Product: reunion
Technology: apps
GitHub Login: @hickeys
Microsoft Alias: hickeys

We are changing the way we track issues filed from our documentation pages: please see this blog post for more details. The Microsoft Store documentation has been updated several times since your issue was reported, and there's a good chance your problem has been addressed. Right now, this issue is being closed but if you feel it is still valid and has not been addressed, please re-open it with any more available information. Please note that if you question is more general and not related to documentation, Microsoft Q&A is a great way to get questions answered.


Why there is no 'padding' in softpool function?

I wonder why there is no parameter 'padding' in softpool function. When the kernel size can not be divided by input size, what will you do? And what should I modify so that i can use padding.

Hi @wuyongfa-genius
We have not included a padding parameter in the current version as it was not something that required special care code-wise (and thus of high priority).
You can simply call any of the padding torch.nn classes [ref link] or torch.nn.pad()[ref link] during your forward pass.
Best,
Alex

Hi @wuyongfa-genius
We have not included a padding parameter in the current version as it was not something that required special care code-wise (and thus of high priority).
You can simply call any of the padding torch.nn classes [ref link] or torch.nn.pad()[ref link] during your forward pass.
Best,
Alex

Thanks for your reply... I was being silly...I noticed you just replaced the odd kernel_size with an even one, such as replace 3 with 2 in maxpool. And in fact it is not something that matters too much. Again thanks for your excellent work.

Thanks for your reply... I was being silly...I noticed you just replaced the odd kernel_size with an even one, such as replace 3 with 2 in maxpool. And in fact it is not something that matters too much. Again thanks for your excellent work.


currently having to load whole json into memory when im adding new climbs. This isn't effecient

I can work on this :)


Why is the VPC CNI a requirement for the Karpenter Addon?

Describe the documentation issue
I can't see why this is a requirement, and isn't when deploying via eksctl or terraform.
Can anyone explain why it's a requirement?
Links
https://aws-quickstart.github.io/cdk-eks-blueprints/addons/karpenter/

@danielloader This change was pushed to release 1.6.1. Please verify that it is no longer required.


add win arm64 build

Need some workaround of ring dependency to build and run on windows arm64.

The reason I didn't enable this so far is that the x64 version works just fine on arm64 builds, we don't have native aarch64 Julia builds in any case and that this would significantly increase the build and publish times of the Windows version. I think if we ever get an arm64 build of Julia itself for Windows this definitely is something we should do, but before then, I don't really see a huge upside?

Closing this for now, we can revisit if there ever is a arm build for Windows of Julia itself.


Remove "ready to merge" label action part 3

Description
Bump action to version 7.
Use pull_request_target instead of pull_request as trigger because of permissions.

One step at a time :P

yep. Worst is that I will be review someone else PR i most probably will spot pull_request instead of pull_request_target. But it is my case and example (for PR inside repo) has pull_request.


When generating .environment using Platformify, wrap string values in quotes

When generating the .environment from Platformify for, let's say Node.js, you might get a line like:
export RELATIONSHIPS_JSON=$(echo $PLATFORM_RELATIONSHIPS | base64 --decode)

dash .environment in this case will throw the error, which will prevent a deployment activity from completing as well as blocking the web.commands.start:

.environment: 1: export: [{"username":: bad variable name

Fix
Wrap the string in quotes:
export RELATIONSHIPS_JSON="$(echo $PLATFORM_RELATIONSHIPS | base64 --decode)"

It may be useful to take this a step further and wrap $PLATFORM_RELATIONSHIPS or, in other cases, $PLATFORM_ROUTES in quotes as well to prevent word splitting. e.g. echo hello world vs echo "hello world".
export RELATIONSHIPS_JSON="$(echo "$PLATFORM_RELATIONSHIPS" | base64 --decode)"

This is already resolved in the Platformify library and will be released alongside the next release of the library. Keeping this open until it happens.


Inconsistent behaviour with sun shrooms during the daytime

Played a daytime level with mushrooms to get an achievement, and I noticed that sun shrooms don't tell you that they're sleeping. Other ones will, though.

Nice catch, thanks! Fixed in beta 1.15.3


changed getOriginal to getRawOriginal

fixes the #7 bug.
getOriginal returns the casted value since an update.
getRawOriginal was added to get the uncasted value.

Thanks


Slow restart of Solr Pod init_container cp-solr-xml chown

Solr Operator 0.6.0
In our deployments a restart of Solr Pods will take minutes up to half an hour.
The init container cp-solr-xml with the command
cp /tmp/solr.xml /tmp-config/solr.xml && chown -R 8983:8983
/var/solr/data/backup-restore/local-collection-backups-1
esp. the recursive chown seems to be the cause.  We mitigated it a bit by cleaning up the backup volume regularly. But there are deployments with a larger number of collections (~400) and then it is still slow.
...
The backup repository is a azurefile-csi storage.
mailing list discussion: https://lists.apache.org/thread/tlxg38v6y81dhykycrgqw77mm2xdoqbr

basic idea is to skip the chown if the backup directory is already writable for the solr user.

Yeah, sounds like a good improvement! Looks like you are testing out some options, so make a PR when you are ready.

The changed statement is working now. I'm currently waiting for a test with forked custom image (0.6.0 + fix) in production deployment.

Awesome, make the PR when your tests are done! We will probably start the process for the v0.7.0 release late next week, and it would be great to have this included.

TODO: We should think about just using the fsGroupChangePolicy available in Kubernetes v1.23

I saw that fsGroupChangePolicy = onRootMismatch , but wasn't sure how to apply that to the Solr backup PVC
It was kind of inspiration for the bugfix.
If that would work, I guess the cp-solr-xml will be back to only copy the solr.xml

Yeah reading more through it, it seems like the default functionality is "Always", so its weird that it wouldn't be working in the first place. I guess we need to keep the logic in regardless.


GtCoderExpandableMethodStyler in Debugger does not expand correct method if there is a method override

Steps to reproduce:
Debug the following code snippet:
BlArrowheadElement new
	dispatchRemovedFromParent: BlElement new

Step into the dispatchRemovedFromParent: method and expand the onRemovedFromParent: method:

It shows a BlElement>>#onRemovedFromParent: method instead of BlArrowheadElement#>>onRemovedFromParent:

We improved the type inference and it works correctly now:


Fix #408: validate characters of document field names

What this PR does:
Adds simple regexp-based validation for field names of document, enforced during shredding
Which issue(s) this PR fixes:
Fixes #408
Checklist

[ ] Changes manually tested
[x] Automated Tests added/updated
[ ] Documentation added/updated
[x] CLA Signed: DataStax CLA

Hmmmh. Need to consider the fact that we do need to allow use of $date for Date datatype encoded values.


Reduce array size by encoding sequences.

Just included changes proposed in the previous post. Observe the huge reduction in the file size!

Coverage remained the same at 96.32% when pulling facd0be6b7dee999b054426fe501bb7fe6a02f0e on gloryknight:patch-2 into 231557a34683fe59ab4f4b4af57651bea3da0648 on jshint:master.

Just included changes proposed in the previous post.

Are you referring to gh-2233?

Yes I do refer to gh-2233.

Okay, cool. These changes are to files that are automatically built as a result of the scripts modified in gh-2233. We don't generally accept changesets to built files. It wouldn't make sense to accept this patch without gh-2233 (the very next build would un-do the changes). If gh-2233 is accepted, you can expect the built file to automatically be updated in the next release


Add Service Fabric Provider

Description
Here is our PR to add a Service Fabric (SF) Provider into Traefik. Reference issue: #2090
We’ve documented how the provider can be used. We wanted to check whether it was best to include these docs in the PR or to have them hosted externally. We have a basic usage intro and an advanced usage intro doc.
Notes:
For simple routing, we use Service Fabric's Application Parameters to define which services should be exposed. The provider picks up these parameters and then builds default frontends for each.
For more complex Traefik routing, we use a .tmpl file that can be pushed to SF’s configuration system. This is then read from disk by the provider and used to customise the Traefik setup. As such, the provider checks if a .tmpl file path has been provided, if not, is uses a glob search in the SF configuration directory to find the newest configuration available. Please note we have built this primarily for Windows based Service Fabric clusters. Testing on various cluster configurations is on going. We also plan to investigate supporting Service Fabric on Linux soon too.
Me and @jjcollinge both looking forward to hearing your feedback
Here is a quick screenshot of it up and running:

Thanks for this PR.
Here are my firsts remarks.
The others providers handle template in a different way than you do.
There is a default template which is embed in the traefik binary, and you can override this template with another by using the filename parameter in the provider configuration.
In order to have this mechanism, you only have to call GetConfiguration (it handles automatically the template overload)
Next, for example, in the Docker provider, there is no predefined Rule, the Rule is set by reading the container labels
WDYT about using the Parameter for settings the Rule Traefik will use ?
For example:
<Parameters>
    ...
    <Parameter Name="traefik.rule" Value="PathPrefix:/my-services" />
    ...
</Parameters>

Moreover you can see that the docker provider handles a lots of other configuration with labels
WDYT about creating an external repo containing your Service Fabric client ? It would be easier to manage and could be reused by other developers.
Feel free to join us on slack

Hey @Juliens, thanks for the feedback. Myself and @lawrencegripper are currently travelling with work but it'd be good to have a chat on Slack next week to discuss the PR in a bit more depth - would that work for you?

Sure, don't hesitate to ping me 😉

This is fantastic, thanks for your hard work! I'm giving the integration a go now with our clusters 👍

@Juliens Thanks for the feedback, we'd like to accept both of the suggestions.
We've chatted further and agree that removing the 'findtemplate' function is best way forward. We will go back to using the filename passed into the provider, like the other providers. We can change the deployment model in SF to have roughly the same effect when updating the template.
I like the idea of allowing parameters for defining rules. This also reduces the need for custom template files. As the parameters sit in the application manifest, with the application containing multiple services, things would get a bit messy if we used it. I'll investigate to see if we can find a way to do this at the service level rather than the application manifest, we did look at this option before but may have missed something which would allow us to do it.
Lastly we'll look at pulling out the ServiceFabric Client code into a separate repository to keep things clean.

Hopefully completed the initial work to move over to using labels for configuration. Borrowed heavily from the docker provider, as suggested.
The only difference is the way in which the labels are provided. On creation of a SF service an extension can be defined in the manifest with the labels you'd like configured. Like so:

If you which to change these at runtime you can add an override into the SF Properties Manager, basically a metadata service. We have a PR to add the ability to edit these properties from the sfctl cli tool like so:

Would be great to get your thoughts.

@ldez and @Juliens Thanks for all the feedback, really appreciate it. I was going through each replying but seemed simpler to say - I agree with them all and have updated the code.
Only section unchanged is the addLabelsFromServiceExtension, I've put an explanation on the comment.
Let me know what you think!

@ldez Thanks - I've fixed those up.

@ldez Fixed up all of those. @Juliens we took another look and have moved the XML stuff into the SDK for now, hopefully we'll be able to do something better in the future but will keep the API so traefik code will be unaffected. The two add methods are removed, new getServiceLabels call is here https://github.com/lawrencegripper/traefik/blob/b0030068320124044dafa4dcc14ee6065c673979/provider/servicefabric/servicefabric.go#L138
Hopefully all set, let me know if there are other changes

@lawrencegripper I can see there is an explicit list of supported traefik configuration supported. For example if I want to use traefik.frontend.passTLSCert would it add it to the front-end rule if defined in my ServiceManifest? Some of our systems need end-to-end SSL and I want to avoid needed to manually edit the Traefik configuration file if it can be done in the manifest files.

The code has been moved here

what is the networking mode to be used by the applications when load balancing them using traefik?
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-networking-modes

You can go to the dedicate channel (#service-fabric) in the Traefik community Slack channel to ask question if you want.


[readme] add app store link

Should we use the official badge (https://developer.apple.com/app-store/marketing/guidelines/#downloadOnAppstore) to make this more noticeable?

since the readme is currently all text, let's hold off on this
:)

Gonna update this a bit to:

Use the App Store badge
appear above "the fold" when viewing on mobile


super_floppy doesn't create a proper 1.44 MB floppy image understood by old OS'es

Older OS'es (at least Windows 2000/XP/2003) don't understand the floppy image created, at least during the boot sequence. For modern OS'es or sometimes when old OS'es are booted fully it's not a problem, but it creates an issue for creating unattended setups of these older OS'es using packer.
This is the same issue as referenced in packer 2421; https://github.com/mitchellh/packer/issues/2421

I've incorporated this PR into my own packer install and it solved my Windows XP headaches. Thanks very much for the solution - hope you get merged in soon, so I can stop using a cobbled-together copy of Packer!


Release of 2.7 break backward compatibility

vuex-persistedstate version: 2.7.0
node version:10
npm (or yarn) version:6

import createPersistedState from 'vuex-persistedstate'

localStore.setItem('key', 'old value'); // put value before creating

const persistatedStore = createPersistedState(someOptions)

const store = new Vuex.Store({ ... })

localStore.setItem('key', 'new value'); // update value in storage before using

persistatedStore(store)

assert(store.state.key === 'new value', 'store keep old value')

Problem description:
2.7.0 release breaks backward compatibility with 2.6 version. After update to 2.7 our unit tests start to be failed, because it doesn't load fresh state when you actually use plugin.
I found that it releated to #225
Will explain with help of example from PR.
Suggested solution:
Could you please rollback related changes from PR and release patch 2.7.1

Thanks for reporting this! What I did instead of rolling the PR back, is make it optional. So by default it uses the same behaviour as v2.6.0.


MassTransit Messaging Library

The MassTransit library supports a large portion of the Open Telemetry tooling in .NET https://masstransit.io/documentation/configuration/observability#open-telemetry
Noticed on the https://opentelemetry.io/docs/languages/net/libraries/ page that you were looking for libraries that support OTEL.

Thanks @KaydenMiller. This PR by @mgurrie should have added it to the list but I think there is a minor change missing to make this happen, let me check


Locked but never processed

I have jobs that get locked but never gets processed. Am using Rails 4.2.1 and running Delayed::Job.first in rails console gives this:
#<Delayed::Backend::ActiveRecord::Job id: 28, priority: 0, attempts: 0, handler: "--- !ruby/object:ActiveJob::QueueAdapters::Delayed...", last_error: nil, run_at: "2015-06-27 23:24:17", locked_at: "2015-06-28 00:56:22", failed_at: nil, locked_by: "host:56035604a366 pid:134", queue: "company_setup", created_at: "2015-06-27 23:24:17", updated_at: "2015-06-27 23:24:17">

Am using docker, when this happens, I have to restart the docker container before this particular job can get processed.

@stephenbaidu , did you fix this somehow?

@Fivell Try to check other running jobs, perhaps they have a higher priority

@entei , @stephenbaidu , it was happening for me if job ran out of memory and process was killed. Is it expected behaviour ?

If the process dies at the system level, there is nothing DJ can do to unlock the job. In this case, DJ considers the job "unlocked" after max_run_time has expired.
Off the top of my head unrecoverable things include out of memory, SIG_KILL (kill -9), out of disk space (sometimes recoverable), and SEG_FAULT (yes those can occur in ruby). For these errors, the process execution is halted and no cleanup occurs.

@Fivell My problem was due to the fact that I was using apartment gem. So I stopped using delayedjob.

@albus522 So what is the best practice here if you've got delayed job workers restarting due to memory consumption, and but jobs are sitting around locked? It would effectively hang the software on the client's end. Surely there must be a way to have the restarted delayed job worker pick up where it left off?

Pick up what where it left off? That is a very arbitrary concept and resuming where you left off in a giant process is not what DJ is built for. If you do individual process management and give each process a consistent identifier, it will pick up the job it was working on when it died. However, it will just run the job again, from the beginning and presumably end up at the same memory limit again. To fix what you are talking about you need to fix your memory issue.

Got it. I'm exporting to excel, and I've got like ~10,000+ records exporting. They're a Property model, and I'm doing @property.all.each do |property| (export exel row stuff here) end. I'm wondering if I can break that down into batches. I know there's a 'find_in_batches'.
Alas, this isn't a discussion for delayed job at the end of the day. Thanks for responding @albus522.

@albus522 If you're keen on this stuff any wanna do a paid codementor session, let me know! :)

find_in_batches is probably your best bet, but that has the limitation of overriding any order that you set. If you need a specific order, you could do some tricky stuff with pulling just a list of the ids you need ordered, break the list up, and load groups of the data based on the ids and order

Also certain excel libraries will hold the entire file in memory then write it out at the end while I think others will write as you go. If you can get away with CSV, you can absolutely write that as you go instead of all in memory

I'm doing a FetchProperties call, which is a service object that just sets @properties = [query]
Then I'm doing:
fetch_properties   	xml = renderer.render(   		template: 'reports/marketing/rep_lists/rep_list.xls.erb',    		locals: { job: @job, properties: @properties }   	)
where render is a background job rendering object.
The XLS is just an .xls.erb file that essentially uses Microsoft's XML XLS schema. Inside that I'm doing @properties.all.each do.
Not sure if any ideas come to mind for that use case. Thanks for your help!

Turned out to be pretty simple - just use find_each(batch_size) and avoid any unnecessary variable creation!

@albus522 Any other recommendations to handle the OOM issue?
We sometimes get extremely large jobs that cause this issue and they get retried indefinitely - same issue was reported in #415
My first thought was to increase the attempts when starting to process the job. that way they will eventually reach max_attempts. Can you see any negative side effects from this? (besides maybe that the attempts get counted twice for other failures. we don't care about the actual number of attempts as much as that it will eventually be canceled)

@AxelTheGerman unfortunately there isn't too much DJ can do automatically. You could try adding some kind of monitor that checks for jobs with run_at times that seem oddly old. Because the process runs out of memory and dies, the run_at time never gets updated. So you should be able to use that as a sort of alarm.

If the process dies at the system level, there is nothing DJ can do to unlock the job. In this case, DJ considers the job "unlocked" after max_run_time has expired.
Off the top of my head unrecoverable things include out of memory, SIG_KILL (kill -9), out of disk space (sometimes recoverable), and SEG_FAULT (yes those can occur in ruby). For these errors, the process execution is halted and no cleanup occurs.

@albus522 we have the same issue and you're right, job only gets picked up after Worker.max_run_time exceeds. However, this does not take into account job-level max_run_time at start-up after a worker process crash. Do you know of this issue and how can we make it so job-level max_run_time is respected?
We can see that the job does indeed have a lower max_run_time than default worker, so that isn't the issue.
We run in a containerised environment and sometimes due to scaling down, containers get killed that may have initiated processing a job but job remains in locked state until default max_run_time.

@albus522 we thought this repo was active and were hoping to get a response to my question above. It's been some time, should I forget about it? Or open a new issue for it?


Change jstree dependency to "~3.3.9"

fixes #21
@martinRenou ipytree/js/package-lock.json will also need to be updated to reflect the change in the dependency. Should I do that as part of this PR, or will that be taken care of as part of your release process?

I can take care of it as part of the release, thanks a lot for the PR!


Feature/number filter

Closes: #8

Codecov Report

Merging #34 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #34   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         4    +3
  Lines           12        89   +77
=========================================
+ Hits            12        89   +77

Impacted Files
Coverage Δ

django_property_filter/project_logger.py
100.00% <ø> (ø)

django_property_filter/conf.py
100.00% <100.00%> (ø)

django_property_filter/filters.py
100.00% <100.00%> (ø)

django_property_filter/utils.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


rm: Add documenation for certificate rotation

Signed-off-by: Andy Doan<EMAIL_ADDRESS>Readiness

[ ] Merge (pending reviews)
[ ] Merge after date or event
[ ] Draft

Overview
Why merge this PR? What does it solve?
Checklist
Optional. Add a 'x' to steps taken.
You can fill this out after opening the PR. "Did I..."

[ ] Run spelling and grammar check, preferably with linter.
[ ] Avoid changing any header associated with a link/reference.
[ ] Step through instructions (or ask someone to do so).
[ ] Review for wordiness
[ ] Match tone and style of page/section.
[ ] Run make linkcheck.
[ ] View HTML in a browser to check rendering.
[ ] Use semantic newlines.
[ ] follow best practices for commits.

[ ] Descriptive title written in the imperative.
[ ] Include brief overview of QA steps taken.
[ ] Mention any related issues numbers.
[ ] End message with sign off/DCO line (-s, --signoff).
[ ] Sign commit with your gpg key (-S, --gpg-sign).
[ ] Squash commits if needed.

[ ] Request PR review by a technical writer and at least one peer.

Comments
Any thing else that a maintainer/reviewer should know.
This could include potential issues, rational for approach, etc.

@kprosise - i've created this PR as an alternative to https://github.com/foundriesio/docs/pull/484. This one splits up content into a user guide and reference manual. I'm not sure which is better. I like this split, but I worry its making the two individual sections look inadequate.

I will take a look soon! Thanks for doing this!

@doanac I don't see a separate UG page, does the current page here just need to be moved over?

@doanac I don't see a separate UG page, does the current page here just need to be moved over?

sorry - fixed in force push.

Docs for 08beaf9b89bf43d661812dae6e0434b7b635b6b1 are browsable at: https://ci.foundries.io/projects/fio-docs/builds/1949/docs/artifacts/html/index.html

So you prefer this approach as opposed to the other one?

So you prefer this approach as opposed to the other one?

Yep. If we wanted, both pages could have a "seealso" right at top linking to the other, though I do not think that is needed. I do like having them split apart..easy enough to dive into the RM if more info is needed, while not overwhelming the reader with info, something I find is easy to do.

Closed in favor of https://github.com/foundriesio/docs/pull/493/

@doanac I noticed this one was closed but 484 is still open. Is the plan to force these changes to the other PR? Just wanted to check in!

oops - closed the wrong one.


dolittle update should update the CLI tool itself - self update

┆Issue is synchronized with this Asana task

same as / solved by #88


circRNA step2.sh bugs

-> % bash ./Step2.sh
Filtering out chimeric reads that appear circular
Filtering circular reads based on assigned thresholds of 5 reads in 10 individuals
awk: cmd. line:1: { if (5 >= var) print /storage/nong/pipeline/test/starchip/scripts/circles/circle_star.sh >> var2 }
awk: cmd. line:1:                                                                                ^ syntax error
cut: rawdata/cRNA.cutoff.5: No such file or directory
creating circRNA fasta and gtf for re-alignment and quantification

a bug, this should be a syntax error

Hi, yes I just put in a fix to this bug last night.  Updating to the latest version should fix it for you.

Hi again Nongbaoting,
Apologies, I hadn't fully fixed that bug 3 hours ago, but it is fixed now.  Sorry for the confusion!


make js an IIFE to avoid issue with jQuery.noConflict

this js does not work when $ is not available as a global variable.
I wrap it in an IIFE to avoid side effects

Thank you ;)


Static files

How can i use static folder. to store images and css?

You'll need to do following:

Configure django to store all static files to specific folder, for example /srv/static. Think that's STATIC_ROOT option.
Modify startup script to run python manage.py collectstatic so django will update static files when container starts
In docker-compose.yml you have to make common volume for app and nginx container so nginx can access those files
In nginx configs you'll need to allow direct access for static files with the same url, as in django. By default that's /static/
You'll need to update AWS nginx server to access those files as well.

I'll update repo as soon as I get working AWS account.

Added part 2 that describe serving static files and several other issues.
New repository version should serve static files out-of-the-box.


podman_container_mem_usage_bytes metrics disappeared

Describe the bug
I used to query podman_container_mem_usage_bytes in prometheus, but now noticed it's not exposed anymore. a manual crawl of the /metrics file confirms this.
To Reproduce
unfortunately I can't really say what has changed. First I assumed a permission problem on the podman socket and created a separate one only for the prometheus-podman-exporter container:
/ $ id
uid=65534(nobody) gid=65534(nobody)
/ $ ls -la /run/podman/podman.sock
srw-------    1 nobody   nobody           0 Dec  5 17:35 /run/podman/podman.sock
/ $

logs (last 7 lines repeat):
ts=2022-12-05T17:35:47.710Z caller=exporter.go:63 level=info msg="Starting podman-prometheus-exporter" version="(version=1.3.0, branch=main, revision=dev.1)"
ts=2022-12-05T17:35:47.711Z caller=handler.go:93 level=info msg="enabled collectors"
ts=2022-12-05T17:35:47.711Z caller=handler.go:104 level=info collector=container
ts=2022-12-05T17:35:47.711Z caller=handler.go:104 level=info collector=image
ts=2022-12-05T17:35:47.711Z caller=handler.go:104 level=info collector=network
ts=2022-12-05T17:35:47.711Z caller=handler.go:104 level=info collector=pod
ts=2022-12-05T17:35:47.711Z caller=handler.go:104 level=info collector=system
ts=2022-12-05T17:35:47.711Z caller=handler.go:104 level=info collector=volume
ts=2022-12-05T17:35:47.711Z caller=exporter.go:74 level=info msg="Listening on" address=<IP_ADDRESS>:9882
ts=2022-12-05T17:35:47.712Z caller=tls_config.go:232 level=info msg="Listening on" address=<IP_ADDRESS>:9882
ts=2022-12-05T17:35:47.712Z caller=tls_config.go:235 level=info msg="TLS is disabled." http2=false address=<IP_ADDRESS>:9882
ts=2022-12-05T17:35:58.307Z caller=handler.go:34 level=debug msg="collect query:" filters="unsupported value type"
ts=2022-12-05T17:35:58.312Z caller=collector.go:135 level=debug msg="collector succeeded" name=network duration_seconds=0.002719641
ts=2022-12-05T17:35:58.323Z caller=collector.go:135 level=debug msg="collector succeeded" name=pod duration_seconds=0.013724029
ts=2022-12-05T17:35:58.349Z caller=collector.go:135 level=debug msg="collector succeeded" name=volume duration_seconds=0.040115157
ts=2022-12-05T17:35:58.363Z caller=collector.go:135 level=debug msg="collector succeeded" name=container duration_seconds=0.053379088
ts=2022-12-05T17:35:58.511Z caller=collector.go:135 level=debug msg="collector succeeded" name=system duration_seconds=0.202251355
ts=2022-12-05T17:35:58.558Z caller=collector.go:135 level=debug msg="collector succeeded" name=image duration_seconds=0.24884938

testing the socket itself seems OK
$ echo -e "GET /containers/json HTTP/1.0\r\n" | podman unshare nc -U ${SOCKET}
HTTP/1.0 200 OK
Api-Version: 1.41
Content-Type: application/json
Libpod-Api-Version: 4.3.1
Server: Libpod/4.3.1 (linux)
X-Reference-Id: 0xc0003c8000
Date: Mon, 05 Dec 2022 18:13:37 GMT

[{"Id":"1ef8fdf2102ba787e29125f3def643e6a4c5da4b22266daccffd2b24423b2549","Names" [...]

Expected behavior
have podman_container_mem_usage_bytes available in metrics exposed by prometheus-podman-exporter
environment

CentOS 9 Stream
Podman Version 4.3.1
exporter run in a podman container: /bin/podman_exporter --collector.enable-all --collector.store_labels --debug --web.listen-address <IP_ADDRESS>:9882

Additional context
Any help in debugging this is welcome

Hi @felixkrohn
I have tried on FC37 the and cannot reproduce the issue (building from main branch).
Will try on CentOS 9 stream and let you know.
[navid@devnode prometheus-podman-exporter]$ ./bin/prometheus-podman-exporter --version
prometheus-podman-exporter (version=1.3.0, branch=main, revision=dev.1)

Example output:
# HELP podman_container_mem_usage_bytes Container memory usage.
# TYPE podman_container_mem_usage_bytes gauge
podman_container_mem_usage_bytes{id="1cddd7e911ef"} 3.01056e+06
podman_container_mem_usage_bytes{id="42907dc71261"} 49152
podman_container_mem_usage_bytes{id="5241480811bd"} 0
podman_container_mem_usage_bytes{id="bd7627e4d928"} 45056
podman_container_mem_usage_bytes{id="c81bdeea85df"} 2.740224e+06

Can u please also attach the output of
curl http://localhost:9882/metrics | grep containers

The container metrics on that server spontaneously reappeared about one week ago without any manual intervention. I have no clue what lead to this, it must have been on a podman auto-update run? Sorry, I really don't know what broke and what fixed it, I'll close this issue.


reordering submit flow to create test results as first action

Reordering submit flow to create test results early, then update them in the case where we have successfully created an image to link to the results.
We need not worry about re-try, or re-run (of preflight like in other API calls) or any of the other things we worry about for other pyxis routes, since pyxis/connect will just ignore (not show?) any results not linked to any images.
createTestResults was modified to account for both PATCH/POST, since there would be less duplicate code, if others are happier with two distinct methods, I'm happy to refactor that way as well.
JIRA: EET-3965

/test 4.12-e2e


Highlight constants

Not sure if people are interested in this, but I added custom highlighting for constants in my fork. It follows the convention of using allcaps + underscores for constants.

I know coding styles are a pretty subjective thing, but I thought I'd suggest this nonetheless.

@FireZenk Any news on this?

Added goto to the list of control keywords as discussed in #21

Added highlighting for class variables:

Why?
El El vie, 29 ene 2016 a las 16:14, rm-code<EMAIL_ADDRESS>escribió:

Closed #20 https://github.com/FireZenk/language-lua/pull/20.
—
Reply to this email directly or view it on GitHub
https://github.com/FireZenk/language-lua/pull/20#event-531432716.

There are currently a few issues with this PR which I wanted to sort out first :)
E.g.:

Or do you want to merge? Then I can reopen this PR and simply send a new PR for stuff I sorted out.

Oh, ok then
El El vie, 29 ene 2016 a las 16:50, rm-code<EMAIL_ADDRESS>escribió:

There are currently a few issues with this PR which I wanted to sort out
first :)
E.g.:
[image: screenshot 2016-01-29 16 50 32]
https://cloud.githubusercontent.com/assets/11627131/12680126/744f75b6-c6a8-11e5-9fa2-8e531fb2dc7e.png
—
Reply to this email directly or view it on GitHub
https://github.com/FireZenk/language-lua/pull/20#issuecomment-176829579.


Kotlin generation doesn't keep types of Array or ArrayList

Overview
@NeedsPermission(Manifest.permission.CAMERA)
- fun aFunction(option: Array<out String>) {
…
}

Expected
fun Activity.aFunctionWithPermissionCheck(option: Array<out String>) {
…
}

I expect both Kotlin String type and out modifier to be kept.
Actual
fun Activity.aFunctionWithPermissionCheck(option: Array<java.lang.String>) {
…
}

Note that Any is translated to java.lang.Object too (probably same problem)
Same behavior with ArrayList<String>
Environment

Which library version are you using? : 3.1.0

Working on https://github.com/permissions-dispatcher/PermissionsDispatcher/pull/509 but CI failed.. 🤔

You can test with 4.0.0 snapshot! thank you for your heads up.


Update all.json

Site
Urlscan

tokenin.me

babyswape.net

token8.shop

defiweb-interface.org

guessing this is a work in progress


Broken zsh completion

Hi! After installing latest tag release, attempting to complete in zsh gives the following error:
_arguments:comparguments:325: invalid argument: (-h --help -v --version --color){--color}[Controls when to use color]:when:((\n\t    always\n\t    auto\n\t    never\n        ))
_arguments:comparguments:325: invalid argument: (-h --help -v --version --color){--color}[Controls when to use color]:when:((\n\t    always\n\t    auto\n\t    never\n        ))
_arguments:comparguments:325: invalid argument: (-h --help -v --version --color){--color}[Controls when to use color]:when:((\n\t    always\n\t    auto\n\t    never\n        ))

Hm, unfortunately I'm not familiar with the zsh completion format... Are you familiar with it? Do you see what the problem is?

I opened a PR with the aforementioned solution, if you want to test it in zsh you just need to install it and run autoload -Uz compinit && compinit, and you should be able to see if it works.

Thanks for the instructions, seems to work!


Add functionality to read Zeebe config from environment variables

WIP - would like feedback on my idea around how to implement this.
Also wondering if there are other variables to read from env var - e.g.

ZEEBE_WORKER_MAX_TASK_COUNT
ZEEBE_WORKER_MAX_CONNECTION_RETRIES
ZEEBE_GRPC_KEEPALIVE_TIME_MS
ZEEBE_GRPC_KEEPALIVE_TIMEOUT_MS

Fixes: #81

I would suggest the usage of environs, it's a serious library and very practical for environment variable manipulation (default values, ...)


Maximizing/Restoring when the alt buffer is active crashes conhost

wsl
printf '\e[?1049h'
maximize
did it crash? if not, restore
did it crash? if not, maximize
did it crash? if not, close this bug

Notably, the crash doesn't occur for simple resizes -- even those covering more than one side.

 	OpenConsole.exe!wil::details::in1diag5::_Throw_Hr(void * callerReturnAddress, unsigned int lineNumber, const char * fileName, const char * functionName, const char * code, HRESULT hr) Line 4937	C++
 	OpenConsole.exe!wil::details::in1diag5::Throw_HrIf(void * callerReturnAddress, unsigned int lineNumber, const char * fileName, const char * functionName, const char * code, HRESULT hr, bool condition) Line 5041	C++
 	OpenConsole.exe!TextBufferCellIterator::TextBufferCellIterator(const TextBuffer & buffer, _COORD pos, const Microsoft::Console::Types::Viewport limits) Line 43	C++
 	OpenConsole.exe!TextBuffer::GetCellDataAt(const _COORD at, const Microsoft::Console::Types::Viewport limit) Line 169	C++
 	OpenConsole.exe!Microsoft::Console::Render::Renderer::_PaintBufferOutput(Microsoft::Console::Render::IRenderEngine * const pEngine) Line 579	C++
 	OpenConsole.exe!Microsoft::Console::Render::Renderer::_PaintFrameForEngine(Microsoft::Console::Render::IRenderEngine * const pEngine) Line 119	C++
 	OpenConsole.exe!Microsoft::Console::Render::Renderer::PaintFrame() Line 68	C++
 	OpenConsole.exe!Microsoft::Console::Render::RenderThread::_ThreadProc() Line 168	C++
 	OpenConsole.exe!Microsoft::Console::Render::RenderThread::s_ThreadProc(void * lpParameter) Line 151	C++

This only repros if "Disable scroll forward" is enabled.
This surprises me, considering the alt buffer doesn't need to do anything with _virtualBottom, but something's definitely busted there.

This code looks bad: SCREEN_INFORMATION::_InternalSetViewportSize
> OpenConsole!SCREEN_INFORMATION::_InternalSetViewportSize+0x5ca [...OpenConsole\src\host\screenInfo.cpp @ 1241]
  OpenConsole!SCREEN_INFORMATION::_AdjustViewportSize+0x157 [...\OpenConsole\src\host\screenInfo.cpp @ 1297]
  OpenConsole!SCREEN_INFORMATION::ProcessResizeWindow+0x14c [...\OpenConsole\src\host\screenInfo.cpp @ 887]
  OpenConsole!Microsoft::Console::Interactivity::Win32::Window::_HandleWindowPosChanged+0x135 [...\OpenConsole\src\interactivity\win32\WindowProc.cpp @ 812]
  OpenConsole!Microsoft::Console::Interactivity::Win32::Window::ConsoleWindowProc+0x101c [...\OpenConsole\src\interactivity\win32\WindowProc.cpp @ 478]

    if (gci.IsTerminalScrolling() && newViewport.Height() != _viewport.Height())
    {
        const short newTop = static_cast<short>(std::max(0, _virtualBottom - (newViewport.Height() - 1)));

        newViewport = Viewport::FromDimensions(COORD({ newViewport.Left(), newTop }), newViewport.Dimensions());
    }

During the resize down, we're resizing the alt buffer here. Prior to the newViewport = Viewport::FromDimensions(... line, members have the following values:

Variable
value

newTop
76

_virtualBottom
105

newViewport
{LT(0, 0) RB(119, 29) [120 x 30]}

_viewport
{LT(0, 0) RB(370, 105) [371 x 106]}

Looks like we're trying to set the top of the new viewport so that the virtual bottom stays anchored to the new viewport's bottom. However, this only makes sense when the viewport is getting bigger, not when it's getting smaller. In that scenario, we'll end up setting the top to somewhere in the middle of the buffer, and then be real confused by the next paint.


Please remove comments in html after production build.

Describe the bug
Please remove comments in html after production build.
<!--[-->
<!---->
<!---->
<!--]-->

Reproduction

Logs
No response
System Info
System:
    OS: macOS 15.1.1
    CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
    Memory: 27.50 MB / 8.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.18.1 - /usr/local/opt/node@20/bin/node
    npm: 10.8.2 - /usr/local/opt/node@20/bin/npm
    pnpm: 9.14.3 - /usr/local/bin/pnpm
    Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 131.0.6778.86
    Safari: 18.1.1
  npmPackages:
    @sveltejs/adapter-auto: ^3.0.0 => 3.3.1
    @sveltejs/adapter-node: ^5.2.9 => 5.2.9
    @sveltejs/kit: ^2.0.0 => 2.8.5
    @sveltejs/vite-plugin-svelte: ^4.0.0 => 4.0.2
    svelte: ^5.0.0 => 5.2.10
    vite: ^5.0.3 => 5.4.11

Severity
annoyance
Additional Information
No response

These are needed for hydration and to exist as anchors for various blocks at runtime.

These are needed for hydration and to exist as anchors for various blocks at runtime.

ok


Blazor lifecycle ordering clarifications

Addresses #16287
Internal Review Topic
I clarify lifecycle method ordering in two ways:

I re-order the sections by lifecycle method calling order. To do so, I move the Before parameters are set section above the Component initialization methods section.
I reword the explanations on when methods are called to clarify the order in each section.

Do you still want to produce a lifecycle diagram (a graphic) with additional goodness and/or address issue asks in other ways, e.g., "broadly how components work"?
If this is as far as you want to go right now, then I'll merge and close the issue. Otherwise, I'll leave that issue as a P1 assigned to you.

Ping @danroth27

@mkArtakMSFT It's best if we put this in now. We can address the remainder of the issue if there's more work to do later.