text:
Add a new single API for Level Zero Init and Driver Retrieval

Add a new single API for Level Zero Init and Driver Retrieval
Metadata
Component
Core
Classification
API
Authors
Neil R. Spruit <neil.r.spruit@intel.com>
Summary
When multiple libraries exist in an application which are initializing L0, the types of drivers reported may not be consistent. We need to have a single API to both initialize level zero and filter the reported drivers.
Motivation
In a single application, one library may request GPUs and another may request VPUs. This creates a problem where calling the initialization and driver retrieval APIs in sequence may result in the wrong set of drivers being filtered for the specific library.
To fix this issue, a single API is proposed for use by all libraries such that Level Zero initialization and driver retrieval is done in a single API call.
Description
Add a new API zeInitDrivers with a new initialization flag type to allow for both the initialization of Level Zero drivers and the retrieval of Level Zero driver handles in a single call.
This enables users to initialize and retrieve the Level Zero drivers based on the driver types requested with no dependencies or interference from other calls to Level Zero initialization.
Dependencies

None

Details
Any library needing to use NPUs and GPUs or only NPUs would be moved to use this new API zeInitDrivers to perform the Level Zero initialization and the driver retrieval. This makes it possible to retrieve the specified set of drivers based on the initialzation flags such that:

ZE_INIT_DRIVER_TYPE_FLAG Value
Resulting Drivers

ZE_INIT_DRIVER_TYPE_FLAG_GPU
GPU Drivers are Init'd and driver handles retrieved.

ZE_INIT_DRIVER_TYPE_FLAG_NPU
NPU Drivers are Init'd and driver handles retrieved.

ZE_INIT_DRIVER_TYPE_FLAG_GPU | ZE_INIT_DRIVER_TYPE_FLAG_NPU
NPU and GPU Drivers are Init'd and driver handles retrieved.

UINT32_MAX
All Drivers of any type are Init'd and driver handles retrieved.

Multiple Call Safety
Similar to the usage of zeInit, multiple calls to zeInitDrivers with the same flags must return the same driver handles in the same order.
Each call to zeInitDrivers will initialize the driver types associated with the initialization type flags, i.e.:
zeInitDrivers with ZE_INIT_DRIVER_TYPE_FLAG_GPU will initialize and retrieve GPU Drivers.
zeInitDrivers with ZE_INIT_DRIVER_TYPE_FLAG_NPU will initialize and retrieve NPU Drivers.
Subsequent calls to zeInitDrivers with different sets of initialization type flags will return different sets of drivers.
Once a given driver has been initialized by the loader, it will not be re-initialized by the loader in subsequent calls. The initialization type will then indicate whether that driver handle needs to be returned to the user. This ensures that the driver is not forced to re-initialize after each call to zeInitDrivers and it is able to maintain the global singleton object that is the driver and device handles for a Level Zero driver.
zeInit Deprecation Plan
To maintain backwards compatibility and avoid regressions, zeInit must continue to be supported in v1.x however only with support for initializing with the first "init" flags passed in the program and limited to supporting GPU initialization.
This means, to support different sets of library initializations with different sets of drivers, the new zeInitDrivers will be evangelized as the replacement for those wanting to use both GPU and NPU or want to ensure that NPUs are available to the application.
The zeInit API will be marked deprecated as part of this proposal and removed in the next major version release of the Level Zero spec.
Application Usage of zeInitDrivers
Applications which are built linking the ze_loader will either need to have a build time check for the symbol zeInitDrivers or continue to use zeInit. This can be done by adding a compile time symbol check in the code to verify the symbol is defined in the headers. For runtime, this would limit this version of these libraries to require this new version of the Level Zero loader with this symbol defined.
Applications that want a dynamic method for discovering this new API via dlopen/LoadLibrary will be able to check for the symbol's existence during runtime.
New Entry Points
zeInitDrivers
ze_result_t zeInitDrivers(
    uint32_t* pCount,
    ze_driver_handle_t* phDrivers,
    ze_init_driver_type_desc_t *desc,
);

Parameter
Description

pCount
[ ${\textsf{\color{orange}in, out}}$ ] pointer to the number of driver instances. if count is zero, then the loader shall update the value with the total number of drivers

phDrivers
[ ${\textsf{\color{orange}in, out}}$ ][optional][range(0, *pCount)] array of driver instance handles. if count is less than the number of drivers available, then the loader shall only retrieve that number of drivers.

desc
[ ${\textsf{\color{orange}in}}$ ] descriptor with driver init flags to filter which driver handles are returned.

New Enums
ze_init_driver_type_flags_t
typedef uint32_t ze_init_driver_type_flags_t;
typedef enum _ze_init_driver_type_flag_t
{
    ZE_INIT_DRIVER_TYPE_FLAG_GPU = ZE_BIT(0),                                     ///< initialize & retrieve GPU drivers
    ZE_INIT_DRIVER_TYPE_FLAG_NPU = ZE_BIT(1),                                     ///< initialize & retrieve NPU drivers
    ZE_INIT_DRIVER_TYPE_FLAG_FORCE_UINT32 = 0x7fffffff

} ze_init_driver_type_flag_t;

Flag
Description

GPU
Initialize and retrieve GPU drivers.

NPU
Initialize and retrieve NPU drivers.

ze_structure_type_t
typedef enum _ze_structure_type_t {
    // ...

    ZE_STRUCTURE_TYPE_INIT_DRIVER_TYPE_DESC,

    ZE_STRUCTURE_TYPE_FORCE_UINT32 = 0x7fffffff
} ze_structure_type_t;

Type
Description

ZE_STRUCTURE_TYPE_INIT_DRIVER_TYPE_DESC
enum for the init driver type descriptor structure

New Structures
ze_init_driver_type_desc_t
typedef struct _ze_init_driver_type_desc_t {
    ze_structure_type_t               stype;
    const void*                       pNext;
    ze_init_driver_type_flags_t       flags;
} ze_init_driver_type_desc_t;

Field
Description

stype
[ ${\textsf{\color{orange}in}}$ ] type of this structure

pNext
[ ${\textsf{\color{orange}in, out}}$ ][ ${\textsf{\color{lightblue}optional}}$ ] must be null or a pointer to an extension specific structure (i.e. contains stype and pNext).

flags
[ ${\textsf{\color{orange}in}}$ ] init driver type flags for driver initialization and retrieval.

Example Usage
uint32_t npu_driver_handle_count = 0;
std::vector<ze_driver_handle_t> npu_driver_handles(npu_driver_handle_count);
ze_init_driver_type_desc_t desc = {ZE_STRUCTURE_TYPE_INIT_DRIVER_TYPE_DESC};
desc.pNext = nullptr;
desc.flags = ZE_INIT_DRIVER_TYPE_NPU;
ze_result_t npu_result = zeInitDrivers(&npu_driver_handle_count, nullptr, &desc);
if (npu_driver_handle_count > 0 && npu_result == ZE_RESULT_SUCCESS) {
      npu_driver_handles.resize(npu_driver_handle_count);
      npu_result = zeInitDrivers(&npu_driver_handle_count, npu_driver_handles.data(), &desc);
}

What is the current status for this case?

authors: kevin-t-tang wdamon-intel

repo: oneapi-src/level-zero-spec


text:
Added support for 'config' option in nameko shell

Beside adding the '--config' to arg parser, I also extended tests to verify that 'serializer' attribute in config is picked up and ensured that proper keys from config are asserted
I used separate shell-config.yaml with different endpoint than the default in run-config.yaml since shell tests connect to rabbitmq

This is great, thanks for the contribution!
I'm happy for the AMQP_URI in the run-config.yaml file to change though, to avoid the need for a separate shell-config.yaml file. Please also rename it to just config.yaml.

could we share the code that creates the config object based on the yaml file and or command line arguments to keep the two copies from diverging?

@mattbennett : I made "shell" and "run" more consistent and both are now using config.yaml
@davidszotten : Good idea, I will improve it on separate branch since it may involve more changes (unless you prefer a larger pull here?). Initially I wanted to just add parsing to main.main() , but that won't sit well with current tests that are calling parse_args() directly. So I'll most likely try with argparse.Action .

@astawiarski Excellent, thanks. To round out this PR please add release notes to CHANGES and also add yourself to the bottom of the contributors file.
Format for unreleased changes is as follows:
Version 2.2.1
-------------

Released PENDING

* Release notes
* As bullets

...

We follow semantic versioning and this is a backwards-compatible change so the version should be 2.2.1.
Re: @davidszotten's comment. I think main.main should parse the yaml file and pass the result into run.main and shell.main. These functions can then add their required defaults if no config object was provided. I've not looked at the test fallout though and I'd say it's of marginal benefit.

I had a look at unifying that config parser and there is more to it indeed. Tests for shell and run would need to change. I just updated contributors and changelog.

:+1: Great stuff. Thank you @astawiarski!

source: gharchive/pull-request

authors: astawiarski davidszotten mattbennett

repo: onefinestay/nameko

license_type: permissive

license_source: github-api


text:
Private key w/ passphrase

Please excuse naivety if exists...
I am considering using a OpenSSL::PKey::RSA private key stored in a db, and would therefore like to encrypt the private key using the available cipher+passphrase variant of to_pem.  I believe the associated logic in this library is Settings#get_sp_key which first formats the private key and then constructs an OpenSSL::PKey::RSA object.
I do not see a setting for a passphrase nor the ability to pass in an object instead of a string (i.e. settings.private_key = OpenSSL::PKey::RSA.new(encoded, passphrase) and checking with .is_a?(OpenSSL::PKey::RSA).  Is the capability available and/or is there a reason why this would not be required for SSO/SAML?  I'll admit it has been challenging getting a handle of this protocol.

The toolkit does not support passphrase for private keys.
Is there a way to manipulate it from the database and obtain a clear private key to be used on the toolkit?

Thank you for the prompt reply, glad I was not missing anything.  I believe I can store an encoded PEM, then decode using passphrase and convert to PEM without passphrase in-memory.

source: gharchive/issue

authors: jnfeinstein pitbulk

repo: onelogin/ruby-saml

license: mit

license_source: bigquery


text:
🛑 Homepage is down

In 102f284, Homepage (https://onetimesecret.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Homepage is back up in 6c1bcc3 after 14 minutes.

repo: onetimesecret/status

license: MIT


text:
SwiftUI: Overwrite KFImage appear animation

Problem:
With pull request #1767 you fixed some animation issues, but also created a new one (at least for my use case). When you have a KFImage view with an animation modifier somewhere in the tree, this animation is also applied when the image was loaded. In ImageBinder a withAnimation-block is used to animate the appearance when needed, but a withAnimation-block doesn't overwrite any animation set in any parent of KFImage. This leads especially to weird animations when the image is loaded from cache and therefore no animation should happen, which happens anyway.
Also ImageBinder sets loadedImage directly which also often causes scaling animations when the resizable() modifier is applied to KFImage.
Failed solution: This seems like the trivial solution, but doesn't quite work: Set the animation modifier with animation(nil) like this:
List(objects) { object in
       HStack {
             KFImage(object.url)
                  .resizable()
                  .animation(nil)

             Text(object.title)
       }
}
.animation(.easeInOut)

This fixes the problem of having unwanted animations when the image inside KFImage is loaded, but also destroys the animation when e.g. two objects in the list get switched. In this example, the text would animate as expected in SwiftUI, but the image would just switch instantly. So this would completely disable the animation behaviour of these images (a wrapper with animation enabled doesn't help there).
Proposed Solution:
Instead of using a withAnimation-block in ImageBinder when the image was successfully loaded, I used a transaction block as follows:
var transaction = Transaction(animation: animation)
transaction.disablesAnimations = true
withTransaction(transaction) {
      self.loadedImage = value.image
      self.loaded = true
}

By using the disableAnimations property, you can actually overwrite the animation set on the view and have a guarantee to use the given one. The naming of disableAnimations is actually a bit confusing, because it only disables animations defined in the view hierarchy. I guess a better name would be overwriteAnimations. Therefore when using e.g. animation = nil, it is guaranteed there won't be any animation, while withAnimation doesn't do that. I also included setting the loadedImage inside the block, which prevents the weird scaling animations when the image is loaded.
Things to consider:
Developers may want to have custom animations when the image is loaded, which would only be possible via the internal ImageTransition, which currently only supports a linear fade, after this request and animation modifiers wouldn't affect any animations initiated by Kingfisher itself. So it would enable having different animations for image appearance and anything else in your app.
I think this way of handling animations is a better approach, but maybe you have a different taste or a better idea to solve this problem.

Thanks for this. I didn't know the disableAnimations before and it looks promising! I will see how it can work with current setup!

@alexeichhorn With the change here, I found the List Demo scene in the sample app works in a quite funny way:
https://user-images.githubusercontent.com/1019875/134101322-334608ae-9b0c-4147-b7c9-f2a10487eca3.mp4
When I move it out from the transaction block, it works back to normal.
Is that necessary or is it trying to fix a certain problem?

Seems like I have only tested in the sample app with the first commit. Sorry for that.

Is that necessary or is it trying to fix a certain problem?

It should actually prevent these weird animations 😂, but in a different scenario. In your sample apps you don't really use the .animation(...) modifier (instead only withAnimation), but I do e.g. in certain parts of my apps. So this modifier causes problems with KFImage. Above I e.g. described:

Also ImageBinder sets loadedImage directly which also often causes scaling animations when the resizable() modifier is applied to KFImage.

So setting loadedImage inside the transaction block is to prevent that. If you move it out, I can give you few examples where it completely breaks animations:

In SingleViewDemo.swift change two lines of codes:

VStack {
    KFImage(url)
        .cacheOriginalImage()
        .setProcessor(blackWhite ? BlackWhiteProcessor() : DefaultImageProcessor())
        .onSuccess { r in
            print("suc: \(r)")
        }
        .onFailure { e in
            print("err: \(e)")
        }
        .placeholder { progress in
            ProgressView(progress)
        }
        .fade(duration: index == 1 ? 0 : 1)
        .forceTransition()
        .resizable()
        .scaledToFill()   // INSERTED THIS
        .frame(width: 300, height: 300)
        .cornerRadius(20)
        .shadow(radius: 5)
        .frame(width: 320, height: 320)

    Button(action: {
        self.index = (self.index % 10) + 1
    }) { Text("Next Image") }
    Button(action: {
        self.blackWhite.toggle()
    }) { Text("Black & White") }

}.navigationBarTitle(Text("Basic Image"), displayMode: .inline)
.animation(.linear(duration: 3.0))     // AND INSERTED THIS

(adding .scaledToFill() and .animation(.linear(duration: 3.0))).
And this is how it looks like:
https://user-images.githubusercontent.com/10730702/134597981-f008680b-df88-42d2-bd75-b0a189885418.MP4

example in LazyVStackDemo.swift:
Also insert .animation(.linear(duration: 1.0)) like this:

struct LazyVStackDemo: View {
    var body: some View {
        ScrollView {
            LazyVStack {
                ForEach(1..<700) { i in
                    ImageCell(index: i).frame(width: 300, height: 300)
                }
            }
            .animation(.linear(duration: 1.0))   // INSERT THIS
        }.navigationBarTitle(Text("Lazy Stack"), displayMode: .inline)
    }
}

And it will look like this:
https://user-images.githubusercontent.com/10730702/134598005-470a1ae4-156a-45e6-a172-6f6987fe6c07.MP4
And in a similar way you can theoretically mess up most of these examples by just adding the animation() modifier.

I am working on a solution for this - it's a bit harder than anticipated. I currently almost have a solution, but the last Transition example in the Demo App is not 100% working. Everything else works.

@alexeichhorn
Appreciate the work until now! ....At least now I can get the conclusion that SwiftUI animation is hard and fragile..

Still having problems to handle the animation correctly when also applying a transition animation. As @onevcat said, SwiftUI animations are fragile. Fixing one thing, breaks another. Fixing such little UI bugs in SwiftUI is very hard as you don't have full control. So I am sorry, I don't have the mental endurance to fix it currently 😂. Only solution that would fully work is basically just using the UIKit version and wrapping it for SwiftUI. Might however not be the best solution for other reasons.

I will revisit this issue this weekend when I can find some more time!

Hi,
I have a chance to check this issue again today, and here are some of my thoughts.

As we all know, from iOS 15, Apple deprecated the implicit animation animation(_:) and suggest to use animation(_:value:) instead. The non-value version of animation would add the animation to all the transaction applied to the whole view tree to any animatable properties. It is the evil cause of all the chaos of SwiftUI animation and finally now Apple noticed this. So, for animation purpose, adding a value to the implicit animation should solve most of the problems mentioned in this issue. For example, in the first code snippet, if you need to fade in the list, maybe it is a better idea to add a state and only apply animation to that state:

+ @State private var shown = false
List(objects) { object in
  HStack {
    KFImage(object.url)
    .resizable()
-   .animation(nil)

    Text(object.title)
  }
}
- .animation(.easeInOut)
+ .animation(.easeInOut, value: shown)
+ .opacity(shown ? 0.0 : 1.0)
+ .onAppear { shown.toggle() }

Again, adding .animation(nil) to KFImage is removing all the animation, and it is also an expected behavior. Yes, it also removes the possibility of animation from a parent view (such as list cell reordering), but it is what expected in the old implicit animation.
I am not quite a fan of creating a Transaction and customize the disablesAnimations more than necessary way. Behind the scene, withAnimation is a shorthand of Transaction and one can make further customization by adding a .transaction modifier to control it in a better way.
There is a recent change #1873 which fixes some certain case that the nil animation not applied. I am not sure if it is related to this issue (probably not), but withAnimation(nil) seems broken in old implementation.

It is not likely the best approach to handle the original potential issue. I am closing this for now to prevent further confusion.

authors: alexeichhorn onevcat

repo: onevcat/Kingfisher


text:
Swift 3

it'd be cool to have a swift 3 version, if you have any interest to create a branch i would like to help with that.

Sure! I created one. Thanks for considering to contribute!

@alejandrorbradford  Now supported in master, and a new version (1.0.0) is released for it.

authors: nschucky onevcat

repo: onevcat/RandomColorSwift


text:
Optimize CircleHash64 for OMT

Issue To Be Solved
Atree is currently using the unoptimized reference implementation of CircleHash64 (CIrcleHash64f by default).
Suggested Solution
Publish an optimized implementation of CircleHash64 that is 100% backward compatible with both API and digests (while keeping the reference implementation available for comparisons and audits).

Closed by CircleHash v0.2.0

repo: onflow/atree


text:
Pin dependencies in ci.yml

Changes

Pin dependencies:

actions/setup-go
actions/checkout

Bump go versions to go-1.19 and go-1.20.

[x] Targeted PR against main branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[x] Code follows the standards mentioned here
[ ] Updated relevant documentation
[x] Re-reviewed Files changed in the Github PR explorer
[x] Added appropriate labels

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

Comparison is base (1e6ec55) 64.93% compared to head (a8c7aa7) 64.95%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #367      +/-   ##
==========================================
+ Coverage   64.93%   64.95%   +0.02%
==========================================
  Files          14       14
  Lines        8811     8811
==========================================
+ Hits         5721     5723       +2
+ Misses       2356     2354       -2
  Partials      734      734

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

authors: codecov-commenter fxamacker


text:
script to return nodes in the approved list which are not currently staked

On mainnet this gives,

$ flow scripts execute  ./transactions/idTableStaking/scripts/get_approved_but_not_staked_nodes.cdc -n mainnet
Result: ["1780288437c9aed5056836bfffcfe19334dd6e229607fccfb3fe9b1d4d24cdca", "237a7a04ecf88b7c21001589ecc277190a6f7cd6e56a296a203552ade6db0927", "5a4bff17941a73909472afe23f1ccdc59d7526f93b16b4e374bd8353f8b624b4", "94609410b05584616f628f98a26acec339f7e1ce43132f0d8d268540317023d8", "a67ca1afd47c58358c656dffa2e5585d80b01371866e5634b68dcbab090b9b6f", "da27c0fc2a4fe12c04bd70058252c5a26cfe41485bf6ea6aba1c724b7a07542d", "dc3054cae816874d7dbbe838a41ef97c8a01b44643bffc82afe3a8228eed29fd", "069d081eb931c30e73c8dfbbf6359198f48c9e650d3d25a7449267de811d4fca", "a1fd244595bcd4371f1abc38a60384b87b25a41e806ce970ec19ea6c651f365b", "dfe68dcea8dc6cd54b56899c8ebb1ae144edcd8f4527fe7572cf4125f4c5a7ac", "1059d479c9ce3d6fd9cc48fca99fc5135b59e7f944c3ab14aca56b054209bf20", "2c08e4113b88e3709e06de152b64127be20d1b2db7d6a5c018b85f131ae330b4", "8894e0d5092ad62c5498b71b4f0680f60ba3828ace7b3329a2aeb94f2a7242fb", "1fecd2813d2b931a7cc10efd5d0e53936e0dfb4e31d67750201c5e02dad0bdaf", "44b928d503a90afe50333314f8eac8dc2e3fa982bc49ba246e15bb6b0c494a31", "dd9fa94156de9a05d6f344eb83943418ad6436d25ee26695bd7610d4d90ebaa8", "864b8e7d8770a2342d02c251b0b5508d7795726605f9f6069237b5eb8eb1db29"]

getStakedNodeIDs first loads from /storage/idTableCurrentList, which is set to equal the approve list every epoch. Then it checks if all those nodes' stakes are above the minimum and removes them from the list if they aren't. So now, it will correctly not include non-access nodes on the approve list who aren't participating in the network. This script will currently not catch access who aren't participating but are approved though, because their minimum stake is zero so everything is sufficient for that.
During the upgrade, the list stored in /storage/idTableCurrentList is not changed, but getStakedNodeIDs() is changed, as is the way that we save nodes to that list. If a node has committed tokens that are moved to staked, they are added to the list, and if they have staked tokens that are moved to unstaking so that their staked total is below the minimum, they are removed from the list. We've also changed the meaning of it to mean participant node IDs, which means nodes that are actively participating in the network instead of actually staked because we are giving current access nodes some time to commit stake for their nodes before kicking them out.
So getStakedNodeIDs() will still return approved nodes from before the upgrade even if they aren't staked, because they are still "participants". Does that make sense? For non-access nodes, that hopefully shouldn't be a problem because we just removed all of them from the approved list who weren't staked, but still something to be aware of.
Maybe we can still merge this and then I'll make some changes to it in my branch to make it work the way you're actually intending after the upgrade

OK. yeah, then in that case this script, as it stands, will only be useful to identify extra non-access nodes.

repo: onflow/flow-core-contracts

license: Unlicense


text:
Commenting a line causes get_op_type() error

Commenting a line via GCC causes a get_op_type() error to be shown.

Steps to Reproduce

Launch an Oni2 window.
Open a new buffer via :enew.
Set the language type to "JavaScript."
Comment a line in the file via GCC

Expected Result
The line is commented out and no error is displayed.
Actual Result
The line is commented out, but an error is also displayed.
Environment
OS: macOS 10.15.6
Oni2 Version: 0.5.1-nightly

Thanks for the bug report and gif, really appreciate it!
I've seen this intermittently but didn't have a consistent repro - this is the best repro I've found for it

authors: bryphe dcalhoun


text:
PHP: Syntax highlighting does not appear to work at all

I'm having trouble getting any syntax highlighting to work at all. I am trying to open primarily PHP and JS files, but they appear completely white/gray. I've also tried opening various other files like JSON.
Full disclosure: I have only been trying onivim out every so often to see how it has been progressing, so I may not know what I'm doing. I thought that syntax highlighting used to work for these out of the box, but I may be mistaken?
I've previously loaded vscode extensions and tinkered around, so I tried to fully reset onivim by removing ~/.config/oni2 and starting it fresh but get the same result.
I'm using Onivim 2 (0.5.9-nightly) on (Arch) Linux.

Hi @nerdo ,

I am trying to open primarily PHP and JS files, but they appear completely white/gray.
I thought that syntax highlighting used to work for these out of the box,

Definitely, this should work out of the box - we bundle syntax grammars for both of those languages.
I've seen a similar issue when we are unable to load a theme - curious if it is that issue, would be interesting to see if changing themes works to bring back the highlights:

Open a JS or PHP file in Onivm
Press Control+Shift+P
Type "Theme Picker", enter
Cycle through the themes with Control+N or Control+P

I can reproduce something similar to this issue by setting an invalid theme, and restarting the editor:

...but not sure it's the same issue you're seeing.. Deleting the .config/oni2 should've removed any invalid theme.
One other troubleshooting step would be to see if the logs - if you run with the --log-file=output.log argument, the resultant output.log may give some helpful info if we're having an issue loading the theme or syntax grammars.
I'll work on a fix for the invalid-theme-no-tokens issue in the meantime, just to rule that out as a possibility.

Hi @nerdo ,

I am trying to open primarily PHP and JS files, but they appear completely white/gray.
I thought that syntax highlighting used to work for these out of the box,

Definitely, this should work out of the box - we bundle syntax grammars for both of those languages.
I've seen a similar issue when we are unable to load a theme - curious if it is that issue, would be interesting to see if changing themes works to bring back the highlights:

Open a JS or PHP file in Onivm
Press Control+Shift+P
Type "Theme Picker", enter
Cycle through the themes with Control+N or Control+P

I can reproduce something similar to this issue by setting an invalid theme, and restarting the editor:

...but not sure it's the same issue you're seeing.. Deleting the .config/oni2 should've removed any invalid theme.
One other troubleshooting step would be to see if the logs - if you run with the --log-file=output.log argument, the resultant output.log may give some helpful info if we're having an issue loading the theme or syntax grammars.
I'll work on a fix for the invalid-theme-no-tokens issue in the meantime, just to rule that out as a possibility.

So I might have misspoke about JS syntax highlighting, because when I tried it again, it was working, but PHP is not working for some odd reason.
Here is a screen recording I took just after moving my .config/oni2 directory and starting over.
https://user-images.githubusercontent.com/1031502/104444036-3a1d7900-5565-11eb-9daa-ef579af9f2d4.mp4
And here is the output.log file:
output.log

So I might have misspoke about JS syntax highlighting, because when I tried it again, it was working, but PHP is not working for some odd reason.
Here is a screen recording I took just after moving my .config/oni2 directory and starting over.
https://user-images.githubusercontent.com/1031502/104444036-3a1d7900-5565-11eb-9daa-ef579af9f2d4.mp4
And here is the output.log file:
output.log

I attempted to change the theme and the syntax still does not work for PHP files.

I attempted to change the theme and the syntax still does not work for PHP files.

Thanks @nerdo for the clarification and @willopez - indeed, there does seem to be a bug specific to PHP files

Thanks @nerdo for the clarification and @willopez - indeed, there does seem to be a bug specific to PHP files

authors: bryphe nerdo willopez


text:
Please use the FlatBufferBuilder reset method

On line https://github.com/only-cliches/NoProto/blob/master/bench/src/run_bench_flatbuffers.rs#L40, using the FlatBufferBuilder::reset method should greatly improve your FlatBuffers write performance. To do this, you'll need to make sure to-reuse a FlatBufferBuilder instead of creating a new one each time through the loop.

Hey Robert,  thank you for taking the time to look over the benchmark code.  My biggest fear in publishing benchmarks is that I haven't taken advantage of each library to it's fullest so this is very helpful!
You're absolutely right, using the reset method increased encoding performance by 3x and update performance by 2.5x!
I'll make sure these results make it to the next release.

Library
Encode
Decode All
Decode 1
Update 1
Size (bytes)
Size (Zlib)

Runtime Libs

NoProto
1032
1608
47619
11628
209
167

Apache Avro
158
58
57
40
702
337

FlexBuffers
447
943
25000
294
490
309

JSON
618
489
587
433
439
184

BSON
131
117
125
91
414
216

MessagePack
156
253
264
134
296
187

Compiled Libs

Flatbuffers
3195
16393
250000
2506
264
181

Bincode
6135
9804
10204
4525
163
129

Protobuf
981
1245
1264
546
154
141

Prost
1567
2105
2304
1064
154
142

Hey Robert,  thank you for taking the time to look over the benchmark code.  My biggest fear in publishing benchmarks is that I haven't taken advantage of each library to it's fullest so this is very helpful!
You're absolutely right, using the reset method increased encoding performance by 3x and update performance by 2.5x!
I'll make sure these results make it to the next release.

Library
Encode
Decode All
Decode 1
Update 1
Size (bytes)
Size (Zlib)

Runtime Libs

NoProto
1032
1608
47619
11628
209
167

Apache Avro
158
58
57
40
702
337

FlexBuffers
447
943
25000
294
490
309

JSON
618
489
587
433
439
184

BSON
131
117
125
91
414
216

MessagePack
156
253
264
134
296
187

Compiled Libs

Flatbuffers
3195
16393
250000
2506
264
181

Bincode
6135
9804
10204
4525
163
129

Protobuf
981
1245
1264
546
154
141

Prost
1567
2105
2304
1064
154
142

authors: only-cliches rw

repo: only-cliches/NoProto


text:
Error in jasmine: IndexError: index 65169 is out of bounds for axis 0 with size 65169

Commit hash (the first line of output from git show):
commit e22bc625de900c30f69b7932eed4f59d98d7ea14 (HEAD -> develop, origin/develop, origin/HEAD)
Describe the bug
Running gps_stats_main, infer_mobmat throws error
IndexError: index 65169 is out of bounds for axis 0 with size 65169

Additional context
This is running on my own data. I get a different error when running the example in the README

Could you provide a little more details of the error message, as in in what line of the infer_mobmat code are you getting the error message?

Oh Sheesh, sorry to not post the full error.
--------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Cell In[4], line 1
----> 1 sub1.decrypt()

Cell In[1], line 131, in GPSDecryptor.decrypt(self)
    129     threshold = 0
    130     # 3. Impute location data and generate mobility summary metrics using the simulated data above
--> 131     gps_stats_main(tmpdirname,
    132                    'testing',
    133                    tz_str,
    134                    frequency,
    135                    save_traj,
    136                    parameters,
    137                    places_of_interest,
    138                    save_osm_log,
    139                    threshold)
    140     print('GPS stats generation completed.')
    141 def gps_summary():

File ~/.conda/envs/star_diph/lib/python3.8/site-packages/forest/jasmine/traj2stats.py:1076, in gps_stats_main(study_folder, output_folder, tz_str, frequency, save_traj, parameters, places_of_interest, save_osm_log, osm_tags, threshold, split_day_night, person_point_radius, place_point_radius, time_start, time_end, participant_ids, all_memory_dict, all_bv_set, quality_threshold)
   1071 # process data
   1072 mobmat1 = gps_to_mobmat(
   1073     data, parameters.itrvl, parameters.accuracylim,
   1074     params_r, params_w, params_h
   1075 )
-> 1076 mobmat2 = infer_mobmat(mobmat1, parameters.itrvl, params_r)
   1077 out_dict = BV_select(
   1078     mobmat2,
   1079     parameters.sigma2,
   (...)
   1084     all_bv_set[str(participant_id)],
   1085 )
   1086 all_bv_set[str(participant_id)] = bv_set = out_dict["BV_set"]

File ~/.conda/envs/star_diph/lib/python3.8/site-packages/forest/jasmine/data2mobmat.py:1018, in infer_mobmat(mobmat, interval, r)
   1010 # connect flights and pauses
   1011 for j in np.arange(1, n_rows):
   1012     # If the current and previous states form a flight-pause pair
   1013     # and their times are contiguous
   1014     # (their end and start times are the same),
   1015     # then we need to make sure the position
   1016     # of the flight and pause match up.
   1017     if (
-> 1018         mobmat[j, 0] * mobmat[j - 1, 0] == 2
   1019         and mobmat[j, 3] == mobmat[j - 1, 6]
   1020     ):
   1021         # If the current state is a flight, update its starting position
   1022         # to be the same as the ending position of the preceding pause.
   1023         if mobmat[j, 0] == 1:
   1024             mobmat[j, [1, 2]] = mobmat[j - 1, [4, 5]]

IndexError: index 65169 is out of bounds for axis 0 with size 65169

authors: GeorgeEfstathiadis jflournoy

repo: onnela-lab/forest


text:
如何部署ssr-heroku到 zeit.co 上面去？

@onplus 不好意思，我是另外一个帖子里的alex，不知道能够在这里继续讨论。
其实，本质上来说，我的问题是，我们能否尝试部署ss-heroku到zeit.co上面去。
这是我无意中找到的一个有一定使用限制的免费的app server。
我尝试了一下node  local.js -c local-config.json
local-config.json内容
{
  "server": "alex-ssr-epbhtwldbe.now.sh",
  "local_address": "127.0.0.1",
  "scheme": "wss",
  "local_port": 1080,
  "remote_port": 443,
  "password": "barfoo!",
  "timeout": 600,
  "method": "aes-256-cfb"
}

然后server我现在部署了两个，一个是 "alex-ssr-naobaigshf.now.sh"
{
  "server": "127.0.0.1",
  "local_address": "127.0.0.1",
  "scheme": "ws",
  "local_port": 1080,
  "remote_port": 8080,
  "password": "barfoo!",
  "timeout": 600,
  "method": "aes-256-cfb"
}

一个是“alex-ssr-epbhtwldbe.now.sh”
{
  "server": "127.0.0.1",
  "local_address": "127.0.0.1",
  "scheme": "wss",
  "local_port": 1080,
  "remote_port": 443,
  "password": "barfoo!",
  "timeout": 600,
  "method": "aes-256-cfb"
}

现在客户端连接时，不会直接报错了。但是打开facebook, twitter等网站，却一直连接，然后超时失败。（连接两个server的错误是类似的）
如图：

@onplus ，呼请老大关注本帖。

搞定了没？我也遇到这样的问题

@cjd6568358 没搞定，哎~ 少了一个可以做样子的源

刚刚试了下，部署到 zeit.co，亲测成功 😂
https://github.com/youngboy/shadowsocks-zeit

刚刚试了下，部署到 zeit.co，亲测成功
https://github.com/youngboy/shadowsocks-zeit

太高端了，有没有一键部署的脚本啊

刚刚试了下，部署到 zeit.co，亲测成功
https://github.com/youngboy/shadowsocks-zeit

太高端了，有没有一键部署的脚本啊

zeit 的部署方式就挺方便的，，用 now 命令就差不多是一键部署了。。
但是免费账号上传的所有代码都是公开的 http://server_ip/_src ，为了保护密码所以用了 now 的 secrets 命令 ..

刚刚试了下，部署到 zeit.co，亲测成功
https://github.com/youngboy/shadowsocks-zeit

太高端了，有没有一键部署的脚本啊

zeit 的部署方式就挺方便的，，用 now 命令就差不多是一键部署了。。
但是免费账号上传的所有代码都是公开的 http://server_ip/_src ，为了保护密码所以用了 now 的 secrets 命令 ..

麻烦给一个中文readme吧

repo: onplus/shadowsocks-heroku


text:
All sources must use WGS84 coordinates

This seems to be assumed and not checked.

This PR is superseded by https://github.com/onthegomap/planetiler/pull/1066

repo: onthegomap/planetiler


text:
Implement a create command

This comes after init #8.
The create command should use gspread to create a new Google Sheet.
We'll start with just gspread.service_account() for authentication as shown here: https://gspread.readthedocs.io/en/latest/oauth2.html#for-bots-using-service-account
COGS should store the Google Sheet ID in .cogs/spreadsheet_id.txt

Should init create an empty spreadsheet_id.txt file? And if we run init in a directory that already has a spreadsheet_id.txt, does it overwrite it with an empty one or keep the old IDs?

I'd prefer no file, not an empty file. I think that running init again should fail with a warning, like git (?).

Could we have sheet.tsv store the ID, sheet title, and description? Since we can get sheets based on their sheet title?
Then we could have a table.tsv or tab.tsv with the tab label, description, and path details.

While the terminology isn't consistent, this is the pattern I've seen:

sheet / worksheet / table: a grid of rows and columns, corresponding to a single .tsv file; I really don't like calling these "tabs" but people sometimes do
spreadsheet / workbook: a collection of multiple sheets, corresponding to an .xlsx file, Google Sheets "file"

In these issues I've been using config.tsv for configuration of (2), and sheet.tsv as a list of (1).
We can change our terminology, but I want it to be perfectly consistent. From your comment, I think you're just shifting sheet.tsv to table.tsv and config.tsv to sheet.tsv, which I don't think is more clear.

Just to be clear, one .cogs/ directory will correspond to one Google Sheets "file" with one spreadsheetId (i.e. one gspread Spreadsheet from open(), equivalent to one .xlsx file). So it will only make sense to create one Google Sheet for it, and I guess there should be an error if you try to create when a Google Sheets when we already have a spreadsheetId.

Ah - that makes sense. So all the full sheet details are in config, and the tabs/tables (which correspond to TSV files) are in sheet.tsv.
What does your config.tsv look like? Is it just Item name -> value (e.g., Sheet Name \t Name)?

Yes, config.tsv tab-separated key-value pairs, since I can't think of appropriate headers. All the other TSV files should have headers.

Makes sense. I'll rework this.

One last question... I'm going to update the PR with these changes, but would it make more sense to specify the title of the sheet and create the sheet during init? If each .cogs directory corresponds to one Google Sheet, then you'd have to run init and create once each time anyway.

You're right, I'm not sure anymore if we need create.
The only reason I have in favour of create is that I think it makes sense to have a corresponding delete, which I thought would delete the Google Sheet but not the .cogs/ directory.
If you think it's better without create, I'm happy to try it that way.

Hmm... I guess you could still have a delete without create, which would delete both the .cogs directory and the corresponding sheet?
I can see it either way, but I think it makes it a little cleaner to have init create the sheet. (I'm not sure if users would be confused as to why you couldn't run create multiple times, but we could definitely make that clear in the docs)

Ok, let's do it that way.

authors: beckyjackson jamesaoverton

repo: ontodev/cogs


text:
Build and test

This GitHub Action

builds a nanobot binary,
uploads this binary as an artifact,
and runs a test by comparing the output of nanobot init with the contents of tests/init.txt.

Setting up tests in this way doesn't seem too painful.

Do you think it make sense to fold this into the same GitHub Action as #10?

Yes. We'd only need to add the cargo fmt action here because cargo check is part of cargo build.

As discussed on the call, this is what I asked for, but now I'd like to make better use of make. I'll update the issue with my new thoughts when I get a minute.

After thinking about it for a bit, I would like to replace most of the GitHub Action steps with make tasks that can also be run locally:
* `make deps` check for Ubuntu, then `apt-get install rust cargo` any required dependencies

* `make format` run `cargo` format checks

* `make build` build binaries

* `make test` run integration tests on binaries

Specialized GitHub Action steps will still be required for checkout and uploading binaries, but everything that is not specific to GitHub Actions should run through make.

I don't know if this is helpful (maybe not at all), but there are Makefile targets to do some of the things that James is asking for here in the valve.py's Makefile

authors: ckindermann jamesaoverton lmcmicu


text:
Connecting to meteor server using ROOT_URL

I have a local meteor instance running with the ROOT_URL set to http://localhost:3000/admin/. I can't seem to figure out the correct settings the DDP client should be set for this to work. Everything works when I remove the ROOT_URL environment variable.
var ddpClient = new DDP({
  host: 'localhost',
  port: 3000,
  //url: 'wss://localhost:3000/admin/websocket',
  //useSockJs: true,
  //ddpVersion: '1'
});

ddpClient.connect(function(error, wasReconnect) {
  if (error) {
    console.log('DDP connection error!');
    return;
  }

  console.log('connected!');
})

The commented out properties are different things I've tried without any success. What am I missing here? Note that I will be using the cluster package in the future so SockJS is required.

Per the example in the README:
  // uses the SockJs protocol to create the connection
  // this still uses websockets, but allows to get the benefits
  // from projects like meteorhacks:cluster
  // (for load balancing and service discovery)
  // do not use `path` option when you are using useSockJs
  useSockJs: true,
  // Use a full url instead of a set of `host`, `port` and `ssl`
  // do not set `useSockJs` option if `url` is used
  url: 'wss://example.com/websocket'

It seems that using SocksJS is not compatible with specifying a custom ROOT_URL. I'm not sure if that is a limitation of node-ddp-client or SocksJS. If it turns out to be the former, I would be happy to merge a PR forthis package that fixes the issue.

authors: lpanger vsivsi

repo: oortcloud/node-ddp-client


text:
Bug

when data is null or empty string is not show you should be set default message " Null ".

@HUN-Sopheak can you share the example log file and what it shows up in the frontend? Please provide as much as you can so I can replicate it.

I want to discuss an issue I encountered in the application's logging. I noticed that when there is an empty string or null value, it still stores the datetime in the storage/logs. Can you help me check this?
https://prnt.sc/6buWv80Suqh-
https://prnt.sc/bSY1nl4Z9wu3

@HUN-Sopheak what is the expected result? If you log an empty value, it will be shown as empty in the log.
Log::debug(null);
Log::debug('');

will both show up empty because they are empty.
As for the second screenshot, you can click on the log entry to expand it and show the full message/context. array( is just the first line of the log. The rest can be shown by expanding it.

ok i got it
thank you sir

authors: HUN-Sopheak arukompas

repo: opcodesio/log-viewer


text:
Update ecsmanage

Overview
The 2.0.1 update includes a bugfix that prints the correct URL to the launched task to the console.
Connects #1148
Testing Instructions

Check out develop
Run ./scripts manage escmanage showmigrations and verify that the URL printed to the console does not contain a task ID
Check out feature/jcw/update-ecsmanage and run ./scripts/update
Run ./scripts manage escmanage showmigrations and verify that the URL does contain a task ID

Checklist

[ ] fixup! commits have been squashed
[ ] CI passes after rebase
[ ] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines

Thanks for the review.


text:
install no scale cluster-proxy replicas

Hi
With fresh installation of cluster-proxy addon, the status of ManagedProxyConfiguration return a successfull deployment with 3 replicas in spec but 0 is set in status , so is needed to scale manually the deployment
spec:
  authentication:
    dump:
      secrets:
        signingAgentServerSecretName: agent-server
        signingProxyClientSecretName: proxy-client
        signingProxyServerSecretName: proxy-server
    signer:
      type: SelfSigned
  proxyAgent:
    image: 'quay.io/open-cluster-management/cluster-proxy:v0.1.4'
    replicas: 3
  proxyServer:
    entrypoint:
      port: 8091
      type: PortForward
    image: 'quay.io/open-cluster-management/cluster-proxy:v0.1.4'
    inClusterServiceName: proxy-entrypoint
    namespace: open-cluster-management-addon
status:
  conditions:
    - lastTransitionTime: '2022-05-03T19:36:47Z'
      message: 'Replicas: 0'
      reason: SuccessfullyDeployed
      status: 'True'
      type: ProxyServerDeployed

this should be fixed in v0.2.0. can you upgrade using the latest release from the helm registry https://github.com/open-cluster-management-io/cluster-proxy/pull/107?

/close
Since the issue is fixed.


text:
clusteradm accept command error message is confusing

A user ran the clusteradm accept command, and got the following error message:
clusteradm accept --clusters cluster1
CSR cluster1-vv2n5 approved
Error: no CSR to approve for cluster cluster1

This error message is confusing because the CSR seems to be approve successfully but then it errors with no CSR to approve.
I did some initial triage and the actual failure might be related to the ManagedCluster CR spec.hubAcceptsClient update failed and when it returned the error up the stack, the error message is incorrectly stated.
The call stack seems to be:
https://github.com/open-cluster-management-io/clusteradm/blob/main/pkg/cmd/accept/exec.go#L77-L79
then
https://github.com/open-cluster-management-io/clusteradm/blob/main/pkg/cmd/accept/exec.go#L186
then it properly failed somewhere in
https://github.com/open-cluster-management-io/clusteradm/blob/main/pkg/cmd/accept/exec.go#L190
and bubbles back up and prints the confusing error message.
/bug
Reported by @ekarlso in our Slack channel.

I think this is a false positive, can be closed

Closing as the original reporter recommended.

authors: ekarlso mikeshng

repo: open-cluster-management-io/clusteradm


text:
added stale pr workflow

Signed-off-by: dislbenn lavontae.bennett@gmail.com
Description of changes

Added stale GitHub action. This will allow GitHub to mark pr/issues as stale if they haven't received activity over a certain period of time.

/lgtm
/hold

authors: SherinV dislbenn


text:
support label nat-t port on gateway nodes

Signed-off-by: liuwei liuweixa@redhat.com

/assign @qiujian16

refer to https://github.com/open-cluster-management/backlog/issues/9690


text:
Unique sheet names

Shortening sheet names to fit 35 characters limit could possibly lead to generating duplicate names, so we need to add sheet number when this situation occurs.

I'm not sure I understand. The sheet names will just be the names of the main tables (Parties, Planning, Tender...) so I don't expect any to go over the character limit.
If the user renames a table, then we should limit how long the name can be via the UI.

@yshalenyk I think the limit is 31 characters, not 35?
@sabahfromlondon For example, transactions is an array under the implementation object, under the contracts array. contracts_implementation_transactions is 38 characters. If there is an additional array field like contracts_implementation_transactors, then they will both truncate to contracts_implementation_transa. Similarly, if the data has additional fields, we can't predict what tables might be possible.
The old flatten tool had a configurable character length of each segment, e.g. it would create tables like contracts_implement_transacti if the segment length is set to 9.
@yshalenyk's proposal is to add numbers at the end, e.g. contracts_implementation_trans1 and contracts_implementation_trans2 in the above example.
Related #45

Ok I've had a think about this and the suggestion of contracts_implementation_trans1 and contracts_implementation_trans2 looks like the best option.

authors: jpmckinney sabahfromlondon yshalenyk

repo: open-contracting/spoonbill


text:
创建策略检索metric报错

使用docker运行dashboard
下面是详细日志
2018-01-09 07:39:35 ERROR:400:{"error":"open ./api/data/metric: no such file or directory"}

2018-01-09 07:39:35 INFO:10.44.74.218 - - [09/Jan/2018 07:39:35] "GET /api/metric/query?query=value&limit=10&_=1515482390237 HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/home/work/open-falcon/dashboard/env/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/work/open-falcon/dashboard/env/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/work/open-falcon/dashboard/env/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/work/open-falcon/dashboard/env/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/work/open-falcon/dashboard/env/lib/python2.7/site-packages/flask/app.py", line 1478, in full_dispatch_request
    response = self.make_response(rv)
  File "/home/work/open-falcon/dashboard/env/lib/python2.7/site-packages/flask/app.py", line 1577, in make_response
    rv = self.response_class.force_type(rv, request.environ)
  File "/home/work/open-falcon/dashboard/env/lib/python2.7/site-packages/werkzeug/wrappers.py", line 824, in force_type
    response = BaseResponse(*_run_wsgi_app(response, environ))
  File "/home/work/open-falcon/dashboard/env/lib/python2.7/site-packages/werkzeug/test.py", line 854, in run_wsgi_app
    app_iter = app(environ, start_response)
TypeError: 'list' object is not callable

Why just closed? could help share what happened for this issue?

repo: open-falcon/dashboard


text:
add posthog

https://posthog.com/docs/user-guides/feature-flags

Looks good, welcome!

repo: open-feature/community


text:
Evaluation Context related error status

For some providers contexts are going to require certain attributes to function correctly. For instance a targeting key.
It would be good if there was an error code for context related problems, for instance MALFORMED_CONTEXT.
This would help to more quickly narrow down usage errors.

I agree this would be helpful. I'd accept MALFORMED_CONTEXT, but I'll also suggest INVALID_CONTEXT as another possible alternative. "Malformed" suggests to me something like a structural error, while "invalid" implies either structural or semantic issues (like a missing targeting key). I think either work though.

Yes it would be great to have something like that in the providers to be explicit when a field is missing.

Resolved in https://github.com/open-feature/spec/pull/142

authors: kinyoklion thomaspoignant toddbaert

repo: open-feature/spec


text:
Add MAINTAINERS.md file

Please duplicate the file in https://raw.githubusercontent.com/open-horizon-services/web-helloworld-cpp/ac403917069c896f685a317f4ca6b503694f5187/MAINTAINERS.md in this repo.

Can I work on this?

authors: joewxboy oskurtt

repo: open-horizon-services/web-helloworld-c


text:
Tooling - call hosting documents?

Some suggestions:

Etherpad (e.g. from the carpentries or software freedom conservancy - slightly problematic that we don't have our own)
HackMD (My preferred choice, works nicely for Whitaker Lab calls but is there a learning curve?)
Google Docs

@malvikasharan @bebatut what do each of you prefer? I'm fine with any but like HackMD the best of all the options- it's collaborative, easy to insert names, easy to see who edited what, and does have WYSIWYG controls at the top if people don't know markdown. It's also a nice sneaky way to teach people markdown by doing.

here is a European Etherpad: https://yourpart.eu. I like Etherpad and Google doc quite a lot (ore than hackMD), google doc is a bit more anonymous and easy to keep track of.
My preference will be for google doc.

Okay - spoke to @bebatut - she agrees that Google Docs is easier :) Google Docs it is

authors: malvikasharan yochannah


text:
Add Fiscally sponsored organisations to the website - mvp

https://we-are-ols.org/open-incubator.html#fiscal-hosting is a little thin right now. We've already encountered one scenaro where
This issue is for a minimum viable representation, adding the RSE-AUNZ logo and link to their site and a short description to their site.

Thanks, @yochannah!
A thought - We also have a /fiscal-sponsorship page on the website.
Rather than fattening the thin section, would it make sense to:

add a "Current Partners" (or {{ improved_name }}) section to the bottom of this page, and
link more visibly to the fiscal-sponsorship page from /open-incubator?

What do you think?

yes! :)

authors: NPDebs yochannah


text:
Password Change Not Validating Old Password

In the user profile, system is not validating the old password entered by the user when they attempt to change their password. This means that a user can change their password to any value, even if it is the same as their old password.
Steps to Reproduce:
Log in to the user profile system.
Click on the "Change Password" link.
Enter your old password.
Enter a new password.
Enter the new password again to confirm.
Click on the "Update Password" button.
Expected Results:
The system should validate the old password and only allow the user to change their password if the old password is correct.

@chirag-madlani can you please assign someone from UI , if the User is updating his own account UI needs to send ChangePasswordRequest SELF for requestType , currently Admins of the system have the privilege to update anyone's password , so for their own password if don't send SELF it won't require the OLD_PASSWORD since the user is already an admin, so please send SELF in case the user updates his own account

@mohityadav766 assigned this to @Ashish8689.
Thanks

we are also limiting only certain special characters and max length  is set to 16 chars. We need to increase it cc @mohityadav766 @chirag-madlani

@harshach will rule with @mohityadav766 for this ticket only

closing this it handled

repo: open-metadata/OpenMetadata


text:
Salesforce Ingestion

Affected module
Ingestion Framework
Describe the bug
salesforce Ingestion fails, AttributeError: 'str' object has no attribute 'database_schema' on all tables, example in one of the error below
[2024-01-03T21:41:15.648+0000] {topology_runner.py:94} DEBUG - Processing stage: type_=<class 'metadata.ingestion.models.life_cycle.OMetaLifeCycleData'> processor='yield_life_cycle_data' context=None nullable=True must_return=False cache_all=False clear_cache=False overwrite=True consumer=None cache_entities=False use_cache=False [2024-01-03T21:41:15.654+0000] {topology_runner.py:94} DEBUG - Processing stage: type_=<class 'metadata.ingestion.models.ometa_classification.OMetaTagAndClassification'> processor='yield_table_tag_details' context='tags' nullable=True must_return=False cache_all=True clear_cache=False overwrite=True consumer=None cache_entities=False use_cache=False [2024-01-03T21:41:15.654+0000] {topology_runner.py:94} DEBUG - Processing stage: type_=<class 'metadata.generated.schema.entity.data.table.Table'> processor='yield_table' context='table' nullable=False must_return=False cache_all=False clear_cache=False overwrite=True consumer=['database_service', 'database', 'database_schema'] cache_entities=False use_cache=True [2024-01-03T21:41:15.897+0000] {status.py:65} WARNING - Unexpected exception for table [TEST_TABLE]: 'str' object has no attribute 'database_schema' [2024-01-03T21:41:15.898+0000] {status.py:66} DEBUG - Traceback (most recent call last):   File "/home/airflow/.local/lib/python3.9/site-packages/metadata/ingestion/source/database/salesforce/metadata.py", line 216, in yield_table     schema_name=self.context.database.database_schema, AttributeError: 'str' object has no attribute 'database_schema'
To Reproduce
Create a successful connection to Salesforce and run a ingestion.
Expected behavior
Every table in the salesforce ingestion throws an error.
Version:

OS: Kubernetes
Python version: 3.9.17
OpenMetadata version: 1.2.3
OpenMetadata Ingestion package version: 1.2.3

Additional context
Test Connection on creation of the salesforce connection is Successful

@OnkarVO7 can you take a look at this


text:
Existing ingestion bot JWT tokens should be preserved

Feature
Since we are adding Bot in BotEntity tables, we need to ensure during the initialization phase if there is an existing ingestion-bot user and attach it to the BotEntity IngestionBot.
If the ingestion bot already has a JWT token we should preserve that.
Describe the task
A clear and concise description of what the bug is.

This has been covered in https://github.com/open-metadata/OpenMetadata/pull/7637 I will keep close this one once we close the PR.

This one has been already done as part of #7637.

authors: harshach nahuelverdugo


text:
UI: Quicktype version upgrade

we are at Quicktype 15 version, whereas the latest is around 21.
also, we can rethink on how to use json2ts, to improve our overall performance

There's no point in keeping updating versions unless we wan to use some feature from the new releases or we want to fix some issue present in older versions.
Closing this

authors: ayush-shah chirag-madlani


text:
ERROR:改变了分支还是遇到了下面的错误  OSError: runwayml/stable-diffusion-v1-5 does not appear to have a file named config.json.

Traceback (most recent call last):
File "/home/uxxxxxxxxx/PowerPaint/app.py", line 560, in
controller = PowerPaintController(weight_dtype, args.checkpoint_dir, args.local_files_only, args.version)
File "/home/uxxxxxxxxx/PowerPaint/app.py", line 141, in init
unet = UNet2DConditionModel.from_pretrained(
File "/home/uxxxxxxxxx/.local/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn
return fn(*args, **kwargs)
File "/home/uxxxxxxxxx/.conda/envs/ppt/lib/python3.9/site-packages/diffusers/models/modeling_utils.py", line 567, in from_pretrained
config, unused_kwargs, commit_hash = cls.load_config(
File "/home/uxxxxxxxxx/.local/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn
return fn(*args, **kwargs)
File "/home/uxxxxxxxxx/.conda/envs/ppt/lib/python3.9/site-packages/diffusers/configuration_utils.py", line 406, in load_config
raise EnvironmentError(
OSError: runwayml/stable-diffusion-v1-5 does not appear to have a file named config.json.

请问解决了吗

请问解决了吗

没有

一样的问题

repo: open-mmlab/PowerPaint


text:
mim download mmdet --config xxxxx --dest . 报错

用mim download 下载配置文件报了一个错，下载没成功。

@FengRongYue This model weight is not uploaded, so it will fail to download

authors: FengRongYue hhaAndroid

repo: open-mmlab/mmdetection


text:
ERROR: Can't roll back mmdet; was not uninstalled

How uninstall mmdet?

just remove the whole directory if you installed it following the documentation.


text:
How do I debug coco.py in linux platform?

Maybe my question is stupid, but I really need ur help.
When I trained a model, there was an error: List index out of range occurred in the
File "/mmdetection/mmdet/datasets/coco.py", line 230, in _det2json
data['category_id'] = self.cat_ids[label]
So, I tried to add some prints in the coco.py, even delete 'data['category_id'] = self.cat_ids[label]', but it still says  List index out of range in the
File "/mmdetection/mmdet/datasets/coco.py", line 230, in _det2json
data['category_id'] = self.cat_ids[label]
So, do you have any ideas to solve it?

If not, how do I check the param of _det2json in coco.py?
def _det2json(self, results):
    """Convert detection results to COCO json style."""
    json_results = []
    for idx in range(len(self)):
        img_id = self.img_ids[idx]
        result = results[idx]
        for label in range(len(result)):
            bboxes = result[label]
            for i in range(bboxes.shape[0]):
                data = dict()
                data['image_id'] = img_id
                data['bbox'] = self.xyxy2xywh(bboxes[i])
                data['score'] = float(bboxes[i][4])
                data['category_id'] = self.cat_ids[label]
                json_results.append(data)
    return json_results

I think I can just debug the train file now (tools/train.py).

我想我现在可以调试列车文件(Tools/Tra.py)了。

Hello, I meet the problem too! Can you tell me how to solve it?  Thanks!


text:
TypeError: impad() takes 1 positional argument but 2 positional arguments (and 1 keyword-only argument) were given

Getting this issue, please help me solve this.
Traceback (most recent call last):
File "mmdetection/tools/train.py", line 151, in
main()
File "mmdetection/tools/train.py", line 147, in main
meta=meta)
File "/content/mmdetection/mmdet/apis/train.py", line 165, in train_detector
runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
File "/usr/local/lib/python3.7/dist-packages/mmcv/runner/epoch_based_runner.py", line 122, in run
epoch_runner(data_loaders[i], **kwargs)
File "/usr/local/lib/python3.7/dist-packages/mmcv/runner/epoch_based_runner.py", line 27, in train
for i, data_batch in enumerate(data_loader):
File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 345, in next
data = self._next_data()
File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 856, in _next_data
return self._process_data(data)
File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 881, in _process_data
data.reraise()
File "/usr/local/lib/python3.7/dist-packages/torch/_utils.py", line 394, in reraise
raise self.exc_type(msg)
TypeError: Caught TypeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop
data = fetcher.fetch(index)
File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/content/mmdetection/mmdet/datasets/custom.py", line 132, in getitem
data = self.prepare_train_img(idx)
File "/content/mmdetection/mmdet/datasets/custom.py", line 145, in prepare_train_img
return self.pipeline(results)
File "/content/mmdetection/mmdet/datasets/pipelines/compose.py", line 24, in call
data = t(data)
File "/content/mmdetection/mmdet/datasets/pipelines/transforms.py", line 323, in call
self._pad_masks(results)
File "/content/mmdetection/mmdet/datasets/pipelines/transforms.py", line 310, in _pad_masks
for mask in results[key]
File "/content/mmdetection/mmdet/datasets/pipelines/transforms.py", line 310, in
for mask in results[key]
TypeError: impad() takes 1 positional argument but 2 positional arguments (and 1 keyword-only argument) were given

It seems that the version of mmdet is too old, I can not find this line.
Please use the issue template to show more information. We cannot locate the problem with the little information.


text:
Fixed nan loss by filtering out-of-frame gt_bboxes in coco.py

There may exist out-of-frame annotations in custom datasets. These abnormal annotations will cause nan loss. For example, such cases exist in the object365 datasets, and I found both Libra RCNN and Cascade RCNN diverged due to nan loss. After filtering these abnormal cases, these detectors converged. Even though this should be avoided by dataset annotators, it can be more robust of mmdetection to filter out-of-frame annotations.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @Jokoe66 ！First of all, we want to express our gratitude for your significant PR in the mmdetection project. Your contribution is highly appreciated, and we are grateful for your efforts in helping improve this open-source project during your personal time. We believe that many developers will benefit from your PR.
We would also like to invite you to join our Special Interest Group (SIG) private channel on Discord, where you can share your experiences, ideas, and build connections with like-minded peers. To join the SIG channel, simply message moderator— OpenMMLab on Discord or briefly share your open-source contributions in the #introductions channel and we will assist you. Look forward to seeing you there! Join us ：https://discord.gg/raweFPmdzG
If you are Chinese or have WeChat，welcome to join our community on WeChat. You can add our assistant ：openmmlabwx. Please add "mmsig + Github ID" as a remark when adding friends：）
Thank you again for your contribution❤

authors: CLAassistant Jokoe66 openmmlab-v


text:
pflash build has a parallel build race condition.

| NOTE: make -j 32 CROSS_COMPILE=arm-openbmc-linux-gnueabi- SKIBOOT_VERSION=5.2.4 PFLASH_VERSION=5.2.4 V=1 -C external/pflash all LINKAGE=dynamic
| make: Entering directory `/tmp/openbmc.612a6908196e60ee1251a072ba621e167614170f.66UDBxA3/build/tmp/work/armv5e-openbmc-linux-gnueabi/pflash/5.2.4-r0/git/external/pflash'
| ln -sf ../../libflash ./libflash
| ln -sf ../../ccan ./ccan
| ln -sf ../common ./common
| arm-openbmc-linux-gnueabi-gcc  -march=armv5e -marm --sysroot=/tmp/openbmc.612a6908196e60ee1251a072ba621e167614170f.66UDBxA3/build/tmp/sysroots/barreleye  -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/tmp/openbmc.612a6908196e60ee1251a072ba621e167614170f.66UDBxA3/build/tmp/work/armv5e-openbmc-linux-gnueabi/pflash/5.2.4-r0=/usr/src/debug/pflash/5.2.4-r0 -fdebug-prefix-map=/tmp/openbmc.612a6908196e60ee1251a072ba621e167614170f.66UDBxA3/build/tmp/sysroots/x86_64-linux= -fdebug-prefix-map=/tmp/openbmc.612a6908196e60ee1251a072ba621e167614170f.66UDBxA3/build/tmp/sysroots/barreleye=  -O2 -Wall -I. -c pflash.c -o pflash.o
| arm-openbmc-linux-gnueabi-gcc  -march=armv5e -marm --sysroot=/tmp/openbmc.612a6908196e60ee1251a072ba621e167614170f.66UDBxA3/build/tmp/sysroots/barreleye  -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/tmp/openbmc.612a6908196e60ee1251a072ba621e167614170f.66UDBxA3/build/tmp/work/armv5e-openbmc-linux-gnueabi/pflash/5.2.4-r0=/usr/src/debug/pflash/5.2.4-r0 -fdebug-prefix-map=/tmp/openbmc.612a6908196e60ee1251a072ba621e167614170f.66UDBxA3/build/tmp/sysroots/x86_64-linux= -fdebug-prefix-map=/tmp/openbmc.612a6908196e60ee1251a072ba621e167614170f.66UDBxA3/build/tmp/sysroots/barreleye=  -O2 -Wall -I. -c progress.c -o progress.o
| make: *** No rule to make target `../shared/libflash.so.skiboot-5.2.4', needed by `pflash'.  Stop.
| make: *** Waiting for unfinished jobs....

Sometimes we are failing with this.

I could reproduce locally by starting with a completely clean directory and building with the same arguments as the bitbake recipe:
git clean -x -f
make -j 32 CROSS_COMPILE=arm-linux-gnueabi- SKIBOOT_VERSION=5.2.4 PFLASH_VERSION=5.2.4 V=1 -C external/pflash all LINKAGE=dynamic

It fails between 10% and 20% of the time.
I made some cleanups that appear to resolve it for me:
https://lists.ozlabs.org/pipermail/skiboot/2016-July/004128.html
I suggest waiting until @stewart-ibm applies this and pulling in a new tag.

Joel Stanley notifications@github.com writes:

I suggest waiting until @stewart-ibm applies this and pulling in a new
tag.

Expect skiboot 5.2.5 either tomorrow or Monday.
--
Stewart Smith
OPAL Architect, IBM.

I'm going to assume this is properly fixed now (that patch was merged a while ago).
I also assume it's fixed because @williamspatrick isn't bugging me about it :)

authors: shenki stewart-ibm williamspatrick

repo: open-power/skiboot


text:
[Other issue]: Invalid Data in /fleet_states Topic for Real Robot with use_sim_time Set to False

Before proceeding, is there an existing issue or discussion for this?

[X] I have done a search for similar issues and discussions.

Description
I am using a real robot (nano500xw02) with use_sim_time set to false, and I am experiencing an issue with the values published in the /fleet_states topic. When I monitor the topic using ros2 topic echo /fleet_states, the values appear unrealistic, specifically:
Battery Percentage: 1.401298464324817e-45
Location (x, y, yaw):
x: 7.507128761641381e+23
y: 0.00036577426362782717
yaw: 7.976202964782715
Here is a sample output from the /fleet_states topic:
nanofleet@nanofleet:~/nrmf_ws$ ros2 topic echo /fleet_states
name: Robot500xw
robots:
- name: nano500xw02
  model: Robot500xw
  task_id: compose.dispatch-106
  seq: 0
  mode:
    mode: 0
    mode_request_id: 0
  battery_percent: 1.401298464324817e-45
  location:
    t:
      sec: 0
      nanosec: 1105939276
    x: 7.507128761641381e+23
    y: 0.00036577426362782717
    yaw: 7.976202964782715
    obey_approach_speed_limit: true
    approach_speed_limit: -1.5556764602661133
    level_name: ''
    index: 54202487275523
  path: []

API Endpoint Data: Interestingly, when I query the data using the RMF API fleet endpoint, I receive correct and realistic values for the same robot:
[
  {
    "name": "Robot500xw",
    "robots": {
      "nano500xw02": {
        "name": "nano500xw02",
        "status": "working",
        "task_id": "Chargeb459d6",
        "unix_millis_time": 1730083331990,
        "location": {
          "map": "L1",
          "x": 9.743598937988281,
          "y": -5.146598815917969,
          "yaw": 1.56088125705719
        },
        "battery": 0.2906574462890625,
        "issues": [],
        "commission": {
          "dispatch_tasks": true,
          "direct_tasks": true,
          "idle_behavior": true
        },
        "mutex_groups": {
          "locked": [],
          "requesting": []
        }
      }
    }
  }
]

If you run an instance of rviz do the robots show in the correct location?
It might be a long shot but from personal experience I had such issues when the terminal / machine where the fleet adapter is running and the machine where I'm running ros2 topic echo have different version of the message files.
This can cause ABI incompatibility (basically misaligned data) that causes the ros2 topic echo machine to receive corrupted data.
Can you confirm that :

Both commands are being ran on the same machine and / or
They are using the same Open-RMF version, ROS 2 version

Yes, they are running on the same machine. In RViz, the robots appear in the correct locations. However, the version of RMF I built is different from my ROS 2 version. I built the jazzy version of RMF from source, but my installed ROS 2 version is Humble, since the RMF in Humble is missing a lot of features.

What I would recommend here is to make sure that you do not have any RMF related Humble packages installed, as well as making sure you source the same setup.bash files in both the terminal that you use to run RMF and the one you use to echo the topic.

authors: luca-della-vedova osama-z-salah

repo: open-rmf/rmf


text:
fix: deleted unwanted code segment

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

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Description

Fixed issue #236 - Deleted code segment in PrimaryNav.tsx causing an unwanted "My Votes" text. Followed solution instructions and removed lines 83 through 97 from src/components/PrimaryNav.tsx.
Related Tickets & Documents

Fixes #236
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

Please also remove this dead link from the collapsible hamburger menu on mobile:

Please also remove this dead link from the collapsible hamburger menu on mobile:

Opened an issue on that, just to avoid scope creep. https://github.com/open-sauced/hot/issues/247. Also seems like #239 is also touch the dropdown. Probably to get that in main before too.

We can merge this in now if so, #239 needs a small anchor change and the PRs should not need rebasing unless they touch package locks! 🍕

repo: open-sauced/hot


text:
Update podDisruptionBudget default values

By default, you can only have one or the other. If both are set then we get the following error:
EXIT STATUS
  1

COMBINED OUTPUT:
  Error: UPGRADE FAILED: release opentelemetry-collector failed, and has been rolled back due to atomic being set: failed to create resource: PodDisruptionBudget.policy "opentelemetry-collector" is invalid: spec: Invalid value: policy.PodDisruptionBudgetSpec{MinAvailable:(*intstr.IntOrString)(0xc045b8be40), Selector:(*v1.LabelSelector)(0xc045b8be60), MaxUnavailable:(*intstr.IntOrString)(0xc045b8be20)}: minAvailable and maxUnavailable cannot be both set

Please test it locally

Hey @Mahpara93, tests are failing.

Hi @dmitryax, I had a pretty busy week last week. I am going to take a look today.


text:
PeriodicExportingMetricReader tries to export when there's no data

What happened?
Create a PeriodicExportingMetricReader wrapping an OTLPMetricExporter. Flush the reader without recording any metrics. It will send an effectively empty export request, which is wasteful for both the client and receiver. We host a receiving backend and logged an error when receiving requests like this, and took a while to investigate because I didn't expect that the client would actually send such requests.
I imagine PeriodicExportingMetricReader should be the one to skip exporting/reading when there's nothing to export, but this could maybe also be done in OTLPMetricExporter and other exporters. The console exporter naturally does nothing because it iterates through things to export, so the loop is empty.
OpenTelemetry Setup Code
import {NodeSDK} from "@opentelemetry/sdk-node";
import {PeriodicExportingMetricReader} from "@opentelemetry/sdk-metrics";
import {OTLPMetricExporter} from "@opentelemetry/exporter-metrics-otlp-proto";

const exporter = new OTLPMetricExporter();
const metricReader = new PeriodicExportingMetricReader({exporter});
const sdk = new NodeSDK({metricReader});
sdk.start();
metricReader.forceFlush().then(() => console.log('Metrics flushed'));

package.json
{
  "type": "module",
  "dependencies": {
    "@opentelemetry/exporter-metrics-otlp-proto": "^0.56.0",
    "@opentelemetry/sdk-metrics": "^1.29.0",
    "@opentelemetry/sdk-node": "^0.56.0"
  }
}

Relevant log output
Sample of the export, i.e. just a bundle of resource attributes with no actual data.

resource_metrics {
  resource {
    attributes {
      key: "service.name"
      value {
        string_value: "unknown_service:node"
      }
    }
    attributes {
      key: "telemetry.sdk.language"
      value {
        string_value: "nodejs"
      }
    }
    attributes {
      key: "telemetry.sdk.name"
      value {
        string_value: "opentelemetry"
      }
    }
    attributes {
      key: "telemetry.sdk.version"
      value {
        string_value: "1.29.0"
      }
    }
  }
}

Operating System and Version
No response
Runtime and Version
No response

@pichlermarc Happy to take a look at this one.

thank you @JacksonWeber, it's yours 🙂

authors: JacksonWeber alexmojaki pichlermarc

repo: open-telemetry/opentelemetry-js


text:
fix(@opentelemetry/exporter-collector): remove fulfilled promises cor…

Which problem is this PR solving?
Fixes #1774 and fixes the issue in several other places
Short description of the changes
Move the _onFinish() callback code, which pops the resolved promises off the queue, to a separate then() where a reference to promise is available.
One strange thing here is that the popping code will not run at shutdown with Promise.all(this._sendingPromises) because it is not the same promise pushed in the queue. I think this should be ok though?

@obecny I don't think I've changed that behavior in this PR, but I am happy to modify.
Would moving the splice to a .finally() work as well?

@obecny I don't think I've changed that behavior in this PR, but I am happy to modify.
If onSuccess/onError raise an error, then the promise would reject right? Then, would moving the splice to a .finally() work as well?

I know you haven't changed that, but just analyzing all edge cases and this is the last thing that might produce such behaviour with not removing the promise probably very rare but still.
With regards to finally I think it will not change anything in whole flow.

@obecny I changed it to resolve the promise first and then moved the onSuccess/onError calls into separate continuations, lmk how that looks.
I also added a test in 4d995cf4db9256a323e5ad90147b38e2b84471e9 for this

@vmarchaud any idea what the issue is? It only fails on node8, I think it is something node8 specific.

Overall LGTM but the tests are still failing

Sorry for the slow progress here. I didn't realize Promise.finally() wasn't available in node 8. I've replaced those areas with the two parameter .then().

authors: aabmass dyladan obecny


text:
fix: instrumentation/active_record: add :allow_retry option to find_by_sql patch

Rails 7.2 (rails/rails@eabcff2) introduces the :allow_retry option for the find_by_sql method, so we need to add it to this patch to maintain compatibility. The patch doesn't use the method's args, so we can just use (...) to avoid this problem.
~To check the Rails version, I had to add rails as a development dependency. I added it in the gemspec and set the minimum version to 6.1 following the pattern I saw in the other libraries in this repo (for example).~

Do we need the condition?
If we provide the new option no matter the rails version, and someone is using a version lower than 7.2, super will fail just as it would if the instrumentation wasn't there.

Do we need the condition?
If we provide the new option no matter the rails version, and someone is using a version lower than 7.2, super will fail just as it would if the instrumentation wasn't there.

I think we do. We must honor the monkey patched class method signatures.
Without that condition, the side effect will be changing the public API to add an option that does not exist. Though it will be backward compatible it will confuse end users and if they disable the instrumentation it will break their application.
I am not keen on the if statements and would probably prefer mixing in separate modules depending on the gem versions but I'd like the original author @robertlaurin to weigh in on that.

Thank you, @andrewn617! Are there existing tests that cover this change?

@kaylareopelle I think now that we are just using (...) there is nothing to test, since it is just ruby functionality to forward all the args to when calling super.

Seems to me like we need to do something similar for these to future proof API changes:
https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/00703640ef59799bfcca0e24dad3e38bb17e1be9/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/patches/persistence_class_methods.rb

@andrewn617 I did miss @kaylareopelle comment about adding code coverage.
Would you kindly add a test that uses allow_retry as a parameter to ensure we do not introduce a regression in the future?

hmmm actually this is edge rails so we cannot really at the moment.

authors: andrewn617 arielvalentin dmathieu


text:
parentbased_traceidratio and adjusted sample count?

I'm having trouble getting my tooling (Honeycomb OTLP endpoint) to recognize my sample rate and adjust sample counts accordingly. Using either parentbased_traceidratio or traceidratio that should work, since they are probabalistic approaches, correct? I've seen that the sampling decision is based on the p value in the tracestate, and I assume that's also how the sampling rate is supposed to be detected by tooling.
I'd like to prove that I'm emitting the correct data to the OTLP endpoint, but I'm confused, because when I enable trace output to console, it looks like there are no values in the tracestate. Yet, the sampling rate definitely reduces the emitted data as expected.
Am I doing something wrong? Thanks!
Example console output:
trace_id="\xFA\x88\xBD\xF9\xC2\xCA\x9A\x8D\x1F\x8C\xAC2\xD0\x1E g",
trace_flags=#<OpenTelemetry::Trace::TraceFlags:0x00007fcf1b8e9a80 @flags=1>,
tracestate=#<OpenTelemetry::Trace::Tracestate:0x00007fcf18ff4490 @hash={}>

Environment variables:
OTEL_TRACES_SAMPLER_ARG=0.25
OTEL_TRACES_EXPORTER=console
OTEL_TRACES_SAMPLER=parentbased_traceidratio

The parentbased_traceidratio sampler does not interact with tracestate. For that, you will need to use the consistent_probability_based or parent_consistent_probability_based samplers. These are in the sdk_experimental package, because they're marked as experimental in the spec. They can't be configured through the OTEL_TRACES_SAMPLER env var - you'll need to do this in code: https://github.com/open-telemetry/opentelemetry-ruby/blob/3564977bf652e0977796b3f271b0c10728e9f414/sdk_experimental/lib/opentelemetry/sdk/experimental/samplers_patch.rb#L20-L37

@fbogsany, thank you! 🥇

authors: fbogsany mhellsten-ml

repo: open-telemetry/opentelemetry-ruby


text:
Better: remove restrictions on koala.

Following https://github.com/arsduo/koala/issues/659 and the recent release of koala https://github.com/arsduo/koala/pull/663, restrictions on koala and faraday can be removed

@ylecuyer hey ,sorry been a bit underwater, not sure why the CLA isn't taking, mind pushing an empty commit to kick the CLA check?

Hello, and thank you for your contribution!
We recently split Ruby instrumentation out into the opentelemetry-ruby-contrib repo.
This PR is related to instrumentation, so we'll need you to re-open it against opentelemetry-ruby-contrib. Sorry for the inconvenience!
To do that, you can:

Create a fork of opentelemetry-ruby-contrib and copy the git url
In your opentelemetry-ruby repo, run git remote add tmp-contrib <your-fork-git-url>
git push tmp-contrib your-branch-name
Open a new PR in contrib (feel free to just copy/paste your original PR description there)
Close your open PR in this repo with a comment that links to your new PR in contrib
Delete your tmp-contrib remote from opentelemetry-ruby (git remote rm tmp-contrib)
git clone your opentelemetry-ruby-contrib fork, check out your branch, and make all changes in that repo from now on!

Sorry again for the inconvenience, and thank you for contributing!

👋  Hi, @ylecuyer! Thank you for your PR!
As Sam mentioned, Ruby instrumentation now lives in the opentelemetry-ruby-contrib repo. We'd be happy to take another look at your work in that context.
Since this PR is focused on instrumentation, I'm going to close it.
We appreciate your contribution and hope to work with you again soon!

authors: ericmustin kaylareopelle plantfansam ylecuyer


text:
Getting Started linux instructions

I have downloaded and installed on debian version 0.39.0 of otel collector package, and the name of the service started is "otelcol" and not "otel-collector" as put in Linux Packaging documentation

@dimitrisfinas - which documentation page(s) were you using, and that illustrate this issue?

@dimitrisfinas - which documentation page(s) were you using, and that illustrate this issue?
I am referring to this page:
https://opentelemetry.io/docs/collector/getting-started/#linux-packaging

That's true, it's a reflection of our recent change to using the builder and allowing multiple distribution instances to be available at the same time:
https://github.com/open-telemetry/opentelemetry-collector-releases/blob/main/distributions/otelcol/otelcol.service
https://github.com/open-telemetry/opentelemetry-collector-releases/blob/main/distributions/otelcol-contrib/otelcol-contrib.service

So, did #1134 fully address this issue? /cc @rogercoll

Thanks

@chalin Yes, the issue can be closed.

authors: chalin dimitrisfinas jpkrohling rogercoll


text:
Update New Relic distribution status

This PR updates New Relic's distribution status on the vendor page.  With the removal of the newrelicexporter from Collector Contrib, New Relic no longer has any distributions or company-specific components.
I also added a link to the distributions page to help clarify what a distribution means if you are on the vendor page.

Thanks for the PR and reviews!

authors: TylerHelmuth chalin


text:
Develop strategy for generating semantic conventions in different signals, different domains

We currently put all semantic convention resource attributes in io.opentelemetry.semconv.resource.attributes.ResourceAttributes, and all others in  io.opentelemetry.semconv.trace.attributes.SemanticAttributes.
There are several shortcomings with this strategy:

The *.trace.* portion of the package is a misnomer, since SemanticAttributes contains attributes for all signals
There are going to be semantic convention domains at varying levels of stability (i.e. http is looking to go stable in the fall but the others are still experimental), and even within a single domain different attributes may be at different levels of severity
The names of metrics are part of the semantic conventions and don't appear anywhere in the generated code

Proposal from 12/07/23 Java SIG and @lmolkova 's prototype #40:

Stop differentiating between ResourceAttributes and SemanticAttributes. Attributes are attributes regardless of whether they're used on a resource, log, trace, metric, etc.
Break out attributes into classes named after the top level namespace. I.e. UserAgentAttributes for all attributes nested under user_agent.*. The hope is that this strikes a nice balance and avoids cumbersome mega-classes.
Break out attributes from anything else generated from conventions. I.e. if we generate constants for metric names (or functions for constructing instruments), put those in separate classes from the attributes for that namespace. For example, for http.* attributes / metrics we would have HttpAttributes and HttpMetrics.

Fixed in #45.


text:
Developer Experience SIG Surveys

The Developer Experience SIG has kicked off and one of our goals is to conduct an end user survey to collect experiences of pain points devs experience that we can look to address as well as engage maintainers (not necessarily through a survey) on what features outside the spec for user convenience they have added or are thinking of adding to address common concerns.
I'm opening this issue to start discussion on how we can work together and what your availability is.

Hi @tsloughter, I assume this would be different to what's been discussed in https://github.com/open-telemetry/sig-end-user/issues/42 ?

@danielgblanco right, these are different. One is about contributors to the otel project and devex is about users of otel.

@danielgblanco could you link me to those google docs you shared in the last SIG meeting, of previous or being worked on surveys and questions that will need to be included.

Sorry I missed this comment originally, but I believe this was discussed on Slack?

authors: danielgblanco tsloughter

repo: open-telemetry/sig-end-user


text:
[testing-helpers] Use asynchronous fixtures

Fixes #202

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

thxxxx for this fix... there is an unrelated error in the ci 🙈 will take a look this evening so we can get this released 💪

thank you for your contribution ❤

authors: CLAassistant Lodin daKmoR

repo: open-wc/open-wc


text:
setAttribute instead of getAttribute

The number of arguments passed to the function assumes it should be setAttribute instead of getAttribute.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.hackbard seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

You're right, thanks! Can you sign the CLA?

I signed the CLA. However, I used an invalid email address for this commit. I think I have to do a new pull request ...

authors: CLAassistant LarsDenBakker hackdaworld


text:
Please Address Poor Commit Practices ASAP

@tjbck ,
I am absolutely appalled by your development practices. It's mind-boggling to see such an overwhelming number of frequent, voluminous commits pushed directly to the main branch, without any effective commit messages! The quality of these submissions is not just subpar, it's abysmal, with the same areas being refactored and committed repeatedly in what can only be described as a chaotic mess!!!
I'm forced to ask: Do you know the most basic Git operations? Have you ever heard of branch checkout, local staging, or pull requests??? These are not advanced concepts!
Moreover, I'm utterly baffled by your use of TypeScript in this project. Your code completely devoid of type annotations. How can you be comfortable with this???
While you and your team's decision to open-source this project is undoubtedly commendable, the current approach to project maintenance is deeply concerning. Your enthusiasm for the project is evident, so I sincerely hope you can acknowledge these issues and take immediate steps to address them. With your evident passion for this project, I believe this could become a valuable contribution to the project.

As an avid user of open-webui, I very strongly disaprove of the tone used here. To me this does not seem phrased in a helpful manner and has little chance of causing actual behavior change from the owners. To me, this is toxicity.
I don't feel entitled for this free to use project, which after all provides me with an incredible value that I use more than 5 times a day, for free.
That being said.
This feels like the right place to share a similar concern about a coding practice I saw in many places in this project when debugging the RAG that had been silently broken for many releases at the time. I went into details in the PR but the gist is that there were no asserts anywhere that caught the fact that RAG was done on an empty text through like a dozen functions, and even the rag prompt was not conceived to warn about this.
I haven't received any response from the team and still don't know what their stance on it is.
While I'm at it I do think that the habit of turning issues into discussion without any reply generates a lot of confusion as to wether it was acknowledged or not. Even something like "will consider" or "out of scope" or "not convinced" would take little time to write while claryfing the direction of the project.
Sure maybe asserts are not the best way to check runtime, i'm not a professional after all, but in all industries is recognized than an unexpected state should not propagate throughout a system like that. Be it with pydantic validators, runtime type checking (superfast via beartype!) or just adding asserts everywhere (pretty cheap considering, and they can all be turned of at runtime with a single python argument!), there's definitely room for improvements. The reason I was advocating for asserts is that the cost is ridiculously low : no extra dep, no framework to learn, makes the code easier to read, makes bugs appear directly instead of staying undetected for weeks, etc.
So far my feeling is that I'm unsure of the quality of the code running all this. I would not be surprised if there were many silent bugs yet to uncover. And the silence from the devs does not help.
But then again, I still use owui all day every day and made accounts for all my closed ones and without paying a penny so I certainly don't feel like they owe me these answers. I'm just not hopeful it can beat the competition in the long run if bugs appear faster than features, which is bound to happen passed a certain codebase size without asserts IMO.
A big thank you to all the devs!

authors: Kadxy thiswillbeyourgithub

repo: open-webui/open-webui


text:
i18n: Improve Traditional Chinese(zh-TW) locale

Before submitting, make sure you've checked the following:

[x] Target branch: Please verify that the pull request targets the dev branch.
[x] Description: Provide a concise description of the changes made in this pull request.
[ ] Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.

Maybe not needed. There is an entry - Enhanced Translations mentioned "Chinese", but without mentioning "Simplified" or "Traditional" Chinese.

[ ] Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
[ ] Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
[ ] Testing: Have you written and run sufficient tests for validating the changes?
[ ] Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
[x] Prefix: To cleary categorize this pull request, prefix the pull request title, using one of the following:

BREAKING CHANGE: Significant changes that may affect compatibility
build: Changes that affect the build system or external dependencies
ci: Changes to our continuous integration processes or workflows
chore: Refactor, cleanup, or other non-functional code changes
docs: Documentation update or addition
feat: Introduces a new feature or enhancement to the codebase
fix: Bug fix or error correction
i18n: Internationalization or localization changes
perf: Performance improvement
refactor: Code restructuring for better maintainability, readability, or scalability
style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)
test: Adding missing tests or correcting existing tests
WIP: Work in progress, a temporary label for incomplete or ongoing work
i18n 👈

Changelog Entry
Description

Improve Traditional Chinese(zh-TW) locale

Changed

Traditional Chinese(zh-TW) locale

Thanks!

authors: PeterDaveHello tjbck


text:
i18n: Updates to Norwegian language

Pull Request Checklist
Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.
Before submitting, make sure you've checked the following:

[x ] Target branch: Please verify that the pull request targets the dev branch.
[ x] Description: Provide a concise description of the changes made in this pull request.
[ ] Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
[ ] Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
[ ] Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
[x ] Testing: Have you written and run sufficient tests for validating the changes?
[ ] Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
[ ] Prefix: To cleary categorize this pull request, prefix the pull request title, using one of the following:

BREAKING CHANGE: Significant changes that may affect compatibility
build: Changes that affect the build system or external dependencies
ci: Changes to our continuous integration processes or workflows
chore: Refactor, cleanup, or other non-functional code changes
docs: Documentation update or addition
feat: Introduces a new feature or enhancement to the codebase
fix: Bug fix or error correction
i18n: Internationalization or localization changes
perf: Performance improvement
refactor: Code restructuring for better maintainability, readability, or scalability
style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)
test: Adding missing tests or correcting existing tests
WIP: Work in progress, a temporary label for incomplete or ongoing work

Changelog Entry
Description

Updates to Norwegian language. JSON structure verified.

Added

Added latest translations for the Norwegian language

Changed

Overall changes to improve text consistency where needed

Thanks!

authors: oyve tjbck