text:
Be smarter about bind group usage

Currently bind groups are re-created each frame to prevent "garbage" from stacking up from removed resources. @kvark has advised me that this approach isn't optimal :smile:
As a short term fix, he suggested just retaining them for X frames before dropping them. We could also make WgpuResources aware of BindGroup resource dependencies. The information is all there, it would just be a matter of storing a RenderResource->Vec<BindGroupId> mapping, then cleaning up bind groups for removed resources.

We are now much smarter about this. There are a few very scoped / cheap cases that still create bind groups every frame, but for pretty much all of the important stuff we now cache them.

Hmm. Is that true? This made me want to look through to see what we're doing. I'm going to call out ones that are not being cached:

queue_shadow_view_bind_group (1 per frame)
queue_mesh_bind_group (2 per frame)
queue_mesh2d_bind_group (1 per frame)
queue_mesh2d_view_bind_groups (1 per 2d view per frame)
queue_sprites (1 per frame)
queue_uinodes (1 per frame)

Which is relatively few, but still. :)

We also teach our users to recreate bind groups each frame in our examples. e.g.:
https://github.com/HugoPeters1024/bevy/blob/badfa2015e22d93bc40dce0928673601191e580a/examples/shader/compute_shader_game_of_life.rs#L77-L80
It's also not entirely clear to me if there is a canonical solution to that available right now.

Hmm. Is that true? This made me want to look through to see what we're doing. I'm going to call out ones that are not being cached:

From the perspective I was speaking from I think it is true. Iirc this issue was written in the context of per-entity / per-asset bind groups being created each frame. We are being way smarter about bind group usage now. Mission accomplished.
I don't think we have any reason to believe that creating a small number of bind groups each frame is a cause for concern. And if it is, I believe that deserves to be a separate discussion.

It is a big concern in case the bindgroups have significant data stored in them, e.g. here:
https://github.com/davids91/shocovox/blob/2f5e583ba1465d33fae4be9bb11fad3cded6e383/src/octree/raytracing/bevy/types.rs#L79
The view I implemented stores the Viewport and the renderable data in one bind group. While the renderable data ( octree ) does not change very often, Viewport does. This essentially means that the whole structure is copied to the GPU at every frame which is unnecessary, and is a big performance hit.
I1ve been suggested to set the RenderAssetUsage to RENDER_WORLD only, but that would mean I am not able to change the Viewport .
Is there any best practice here I am missing? Should I open up another issue for this? This seemed relevant to this one..


text:
bevy::utils::HashMap API is a bit unexpected compared to std::collections::HashMap

Bevy version
b91541b6efff2236f6aefca0f2baa09aba54f505
Operating system & version
Win10/Debian, nightly rust
What you did
I spent a while trying to initialize a bevy::utils::HashMap, expecting it to be similar to the std lib one, but there is no new function, and the signature of from takes another HashMap, instead of letting you initialize from an array of (key, value) like in std::utils. The latter is really useful for inline initialization of known data into a HashMap.
What you expected to happen
I only had the 0.5 docs to go off and those made me think ::new and ::from worked the same way here (they just link to the std::utils::HashMap docs). This probably needs some specific documentation if it's changed intentionally. I think keeping the same ::from() behaviour as std::utils should be considered too as it's rather useful when creating HashMaps from already known data.
What actually happened
N/A
Additional information

You can use HashMap::default() instead of HashMap::new(). HashMap::new() is only defined for the default hasher used by libstd. HashMap::default() works for any hasher that implements Default, like the ahash hasher in this case.

I can write docs/code examples for this if someone can drop a vague outline of what needs to be done

source: gharchive/issue

repo: bevyengine/bevy

license_type: permissive

license_source: github-api


text:
It seems that the shadow in 3d_scene is wrong

Bevy version
Latest change in main branch
Operating system & version
macOS BigSur
What you did
Drop the latest change in main branch and found the shadow in 3d_scene is wrong
What you expected to happen
correct shadow
What actually happened
It seems that the shadow in 3d_scene is wrong
Additional information

it works fine for me on macOS Monterey... what is the gpu of your Mac?

@mockersf
debug info:
INFO bevy_render::renderer: AdapterInfo { name: "Intel Iris Pro Graphics", vendor: 0, device: 0, device_type: IntegratedGpu, backend: Metal }

I remember the shadow is fine a few days ago, maybe a couple of days right before renaming *-piped stuffs. Please let me know if you need any more information.

This looks like a duplicate of https://github.com/bevyengine/bevy/issues/3315 right @mockersf ?

Yup!

Closing to collect discusssion :)

authors: alice-i-cecile mockersf piaoger superdump


text:
derive(SystemParam) fails when generic over P: SystemParam

Bevy version
0.7 and master.
What you did
#[derive(SystemParam)]
struct GenericParam<'w, 's, P: SystemParam + 'static> {
  // This breaks
  param: P,

  // Yuck, but #2711
  #[system_param(ignore)]
  _marker: PhantomData<(&'w(), &'s())>
}

What you expected to happen
This should work. The docs claim:

This trait can be derived with the super::SystemParam macro. The only requirement is that every struct field must also implement SystemParam.

This meets that requirement.
What actually happened
This doesn't compile on either 0.7 or master.
Master:
 9 | #[derive(SystemParam)]
   |          ^^^^^^^^^^^ expected type parameter `P`, found associated type
10 | struct GenericParam<'w, 's, P: SystemParam + 'static> {
   |                             - this type parameter
   |
   = note: expected type parameter `P`
              found associated type `<<P as SystemParam>::Fetch as SystemParamFetch<'_, '_>>::Item`

Additional information
Running cargo expand let's us track this down a little. This is the version from master.

Long code hidden.
use std::marker::PhantomData;

use bevy::ecs::{
  archetype::Archetype,
  system::{ReadOnlySystemParamFetch, SystemMeta, SystemParam, SystemParamFetch, SystemParamState},
  world::World,
};

struct GenericParam<'w, 's, P: SystemParam + 'static> {
  param: P,
  _marker: PhantomData<(&'w (), &'s ())>,
}

const _: () = {
  impl<'w, 's, P: SystemParam + 'static> SystemParam for GenericParam<'w, 's, P> {
    type Fetch = FetchState<(<P as SystemParam>::Fetch,), P>;
  }

  #[doc(hidden)]
  struct FetchState<TSystemParamState, P> {
    state: TSystemParamState,
    marker: PhantomData<fn() -> (P)>,
  }

  unsafe impl<TSystemParamState: SystemParamState, P: SystemParam + 'static> SystemParamState
    for FetchState<TSystemParamState, P>
  {
    fn init(world: &mut World, system_meta: &mut SystemMeta) -> Self {
      Self {
        state: TSystemParamState::init(world, system_meta),
        marker: PhantomData,
      }
    }

    fn new_archetype(&mut self, archetype: &Archetype, system_meta: &mut SystemMeta) {
      self.state.new_archetype(archetype, system_meta)
    }

    fn apply(&mut self, world: &mut World) {
      self.state.apply(world)
    }
  }

  impl<'w, 's, P: SystemParam + 'static> SystemParamFetch<'w, 's>
    for FetchState<(<P as SystemParam>::Fetch,), P>
  {
    type Item = GenericParam<'w, 's, P>;

    unsafe fn get_param(
      state: &'s mut Self,
      system_meta: &SystemMeta,
      world: &'w World,
      change_tick: u32,
    ) -> Self::Item {
      GenericParam {
        param: <<P as SystemParam>::Fetch as SystemParamFetch>::get_param(
          &mut state.state.0,
          system_meta,
          world,
          change_tick,
        ),
        _marker: <PhantomData<(&'w (), &'s ())>>::default(),
      }
    }
  }

  unsafe impl<TSystemParamState: SystemParamState + ReadOnlySystemParamFetch, P: SystemParam + 'static>
    ReadOnlySystemParamFetch for FetchState<TSystemParamState, P>
  {
  }
};

45 |     impl<'w, 's, P: SystemParam + 'static> SystemParamFetch<'w, 's>
   |                  - this type parameter
...
57 |           param: <<P as SystemParam>::Fetch as SystemParamFetch>::get_param(
   |  ________________^
58 | |           &mut state.state.0,
59 | |           system_meta,
60 | |           world,
61 | |           change_tick,
62 | |         ),
   | |_________^ expected type parameter `P`, found associated type
   |
   = note: expected type parameter `P`
             found associated type `<<P as SystemParam>::Fetch as SystemParamFetch<'_,
'_>>::Item`

I've had a little go at manually patching the expanded code to work, but haven't managed it yet. I think P and <<P as SystemParam>::Fetch as SystemParamFetch<'_,  '_>>::Item actually are equal, but the compiler isn't working that out. But don't quote me on that. Perhaps somebody more experianced with tricky Rust types than I am can work out the fix here.

Duplicate of https://github.com/bevyengine/bevy/issues/3300
But you're right, we should point to StaticSystemParam in the docs for SystemParam.

Hmm, I don't think we can reasonably detect this, unfortunately.
Or well, we could add a heuristic for just using a generic argument as one of the fields, but we can't do any better for:
type Identity<P> = P;
#[derive(SystemParam)]
struct GenericParam<'w, 's, P: SystemParam + 'static> {
  // This breaks
  param: Identity<P>,

  // Yuck, but #2711
  #[system_param(ignore)]
  _marker: PhantomData<(&'w(), &'s())>
}

I'm hesistant to special case too much diagnostics into our derives, since the code already requires a lot of bookkeeping.

You make a strong argument, but it's a shame that the error message when getting this wrong is so inscrutable. I can't see any way to improve that.
This is obviously out of scope and off topic, but it's also a shame that Rust's procedural macro system is so weak in this regard. I'm spoiled by C#'s Anaylyzers giving me full access to the compiler state (including all type information, data flow, etc) for use in custom diagnostics.

authors: DJMcNab SamPruden


text:
Add ReplaceChildren and ClearChildren EntityCommands

What problem does this solve or what need does it fill?
We have AddChildren, InsertChildren, PushChildren and RemoveChildren but sometimes you just want to remove or replace
all existing children without caring what their Entity value is.
What solution would you like?
I would propose the addition of a ClearChildren EntityCommand to remove all children from a parent Entity and a ReplaceChildren command which basically combines this with PushChildren. Potentially a variant of the latter which uses a ChildBuilder might be useful as well though I am not sure about the naming conventions used here.
What alternative(s) have you considered?
It is possible to do this with RemoveChildren but for that we first need to retrieve all existing child Entitys in a separate query (which is especially annoying if we are in a utility function).

Hi there! Never contributed before. Can I help with this issue?

That would be most welcomed!
This PR should probably go in https://github.com/bevyengine/bevy/blob/main/crates/bevy_hierarchy/src/child_builder.rs. When working on hierarchy, the important thing to look out for is to not leave some entities in an invalid state with their Children or Parent components.

That would be most welcomed!
This PR should probably go in https://github.com/bevyengine/bevy/blob/main/crates/bevy_hierarchy/src/child_builder.rs. When working on hierarchy, the important thing to look out for is to not leave some entities in an invalid state with their Children or Parent components.

@mockersf  So I think adding command structs and clear_children(&mut self), replace_children(&mut self, children: &[Enity]) functions to the BuildChildren trait will fix this? And do I need to add these two functions in the BuildWorldChildren trait too?

ClearChildren already exists, or i'm missing something?
bevy::hierarchy::DespawnChildrenRecursive

My suggestion was something to remove children from the parent, not to despawn them.

authors: Sergi-Ferrez ld000 mockersf taladar


text:
Wayland windows' colors are too dark

breakout-wayland.log

kwin
bevy: cb4e8c83
Nvidia GTX 970

Bloom has known issues with transparency, which will be fixed by https://github.com/bevyengine/bevy/pull/6677.
The lightness shift is interesting though.

Alright, removing bloom from the title to keep the issue focused.
For what it's worth, I tested on gnome as well, and it's behaving the same, so likely not a compositor bug.

wayland on the left, x11 on the right
The colors on X11 are consistent with what I see on Windows and wasm, (just confirming it's wayland that is off, and not x11)

From the wayland logs, it looks like we're creating the right kind of surface:
[1036841.262]  -> wl_surface@18.frame(new id wl_callback@43)
[1036841.622]  -> zwp_linux_dmabuf_v1@45.create_params(new id zwp_linux_buffer_params_v1@51)
[1036841.633]  -> zwp_linux_buffer_params_v1@51.add(fd 51, 0, 0, 5120, 50331648, 5234708)
[1036841.639]  -> zwp_linux_buffer_params_v1@51.create_immed(new id wl_buffer@54, 1280, 720, 875713089, 0)
[1036841.644]  -> zwp_linux_buffer_params_v1@51.destroy()

We're creating a surface with the 875713089 format, which is AR24 in fourcc (ARGB8888)
I'm not really sure how to dig further. I took some RUST_LOG=debug logs from running the breakout example as well. Let me know if there's any other way I can help.
breakout-debug-wayland.log

So we should be able to fix this once we land wgpu 0.15, but it requires using texture_views on non-srgb surfaces (and we should still default to srgb surfaces if they're available).
The problem is I wasn't able to get them working without a ton of vulkan validation errors, so I opted out of it for that PR.

@Elabajaba the recently released wgpu 0.15.1 should fix this. Do you mind taking another stab at it?

@JMS55 I found the color is still too dark on Wayland with the lasted commit (eaac730617103b61fd5ede9dca463243f2d7900e) which contains wgpu 0.15.1 update:
On Wayland:
RUST_BACKTRACE=1 RUST_LOG=info WGPU_BACKEND=vulkan cargo run --features wayland --example fog

and on X11:
RUST_BACKTRACE=1 RUST_LOG=info WGPU_BACKEND=vulkan cargo run --example fog

bug exists on nvidia-dkms it seems. testing nvidia-open-dkms to see if there is a difference.
nvidia-dkms/525.89.02 with an RTX 3070 lhr
running cachyos linux kernel 6.1.12-1
running said apps with wayland and using swrast/lavapipe gets me the correct colors so that leads me to believe its a driver issue, while testing this i also discovered that the bloom example has a bug where the window is transparent when intensity is postive
xorg:

wayland:

So this problem only happens on NVIDIA's GPU?  Are there any similar issues on Intel or AMD?
I'm also using nvidia-dkms-open and experiencing this problem.

So this problem only happens on NVIDIA's GPU?  Are there any similar issues on Intel or AMD?
I'm also using nvidia-dkms-open and experiencing this problem.

Afaik Nvidia's Linux driver kinda sucks and doesn't support sRGB surface formats.
I'll try and get a pr up tomorrow to use an srgb texture view when the surface format isn't srgb now that it was fixed on the wgpu side.

Surprise fix 😲

authors: Elabajaba Hellzbellz123 JMS55 VitalyAnkh johanhelsing martinkozle


text:
glsl-to-spirv fails to build on Windows 10 incorrect target

Bevy version
0.3.0
Operating system & version
Windows 10
What you did
git clone https://github.com/bevyengine/bevy
cd bevy
cargo run --example breakout

What you expected to happen
Example to run
What actually happened
error: failed to run custom build command for `bevy-glsl-to-spirv v0.2.0`

Caused by:
  process didn't exit successfully: `C:\Users\Foo\Projects\bevy\target\debug\build\bevy-glsl-to-spirv-174440bbbbef8db6\build-script-build` (exit code: 101)
  --- stderr
  thread 'main' panicked at 'Missing target support x86_64-pc-windows-gnu', C:\Users\Foo\.cargo\registry\src\github.com-1ecc6299db9ec823\bevy-glsl-to-spirv-0.2.0\build/build.rs:24:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed

Additional information
❯ which rustc
C:/Users/Foo/scoop/shims/rustc.exe

❯ which rustup
C:/Users/Foo/.cargo/bin/rustup.exe

❯ which cargo
C:/Users/Foo/scoop/shims/cargo.exe

❯ rustup show
Default host: x86_64-pc-windows-msvc
rustup home:  C:\Users\Foo\.rustup

installed toolchains
--------------------

stable-x86_64-pc-windows-msvc
nightly-2020-01-18-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc (default)

active toolchain
----------------

nightly-x86_64-pc-windows-msvc (default)
rustc 1.49.0-nightly (ffa2e7ae8 2020-10-24)

❯ cargo run --example breakout --target=x86_64-pc-windows-msvc
   Compiling cfg-if v0.1.10
   Compiling spin v0.5.2
   Compiling cfg-if v1.0.0
   Compiling scopeguard v1.1.0
   Compiling futures-core v0.3.7
   Compiling futures-io v0.3.7
   Compiling once_cell v1.4.1
   Compiling pin-project-lite v0.1.11
error[E0463]: can't find crate for `core`
  |
  = note: the `x86_64-pc-windows-msvc` target may not be installed

❯ which rustc
C:/Users/Foo/scoop/shims/rustc.exe

❯ which cargo
C:/Users/Foo/scoop/shims/cargo.exe

It appears to be finding your scoop shims first for cargo and rustc that use the x86_64-pc-windows-gnu triple, whereas your expected toolchain and target from rustup is x86_64-pc-windows-msvc. Try scoop uninstall rust, refresh and re-check your paths, then try building again. It normally would be building with the cargo and rustc found in a child of C:\Users\Foo\.cargo or C:\Users\Foo\.rustup.

Moved .cargo/bin in my path to be before scoop. Works now. 👍

authors: MrKumaPants memoryruins


text:
Add volume cast intersection tests

Objective

Add a basic form of shapecasting for bounding volumes

Solution

Implement Aabb2dCast, Aabb3dCast, BoundingCircleCast, and BoundingSphereCast
These are really just raycasts, but they modify the volumes the ray is casting against
The tests are slightly simpler, since they just use the raycast code for the heavy lifting

https://github.com/bevyengine/bevy/assets/3254486/e4eb79b8-e09e-4271-9196-e84e556a4ad3
Here's a video of it working. The shapes are cast from the origin (purple point) in the direction of the line. The shapes (and their offset from the origin) can be seen at the origin. The casts only interact with shapes of the same type. When a collision happens it is shown as a green shape

source: gharchive/pull-request


text:
Add invert_winding for triangle list meshes

Objective
Implements #14547
Solution
Add a function invert_winding for Mesh that inverts the winding for TriangleList.
Testing
Added a test

Not sure if I should/can also implement that for other topologies?
TriangleStrip seems impossible, but maybe I could just reverse the array for LineList and LineStrip?

And your thoughts on inverting on other topology kinds?

@Azorlogh could I get your review here?

LOL you are right. I actually drew that and tried to check yesterday, but weirdly came to the conclusion that the winding wont be different. Need to check if my brain still has warranty and make inverting for strips possible afterwards.

I'm in favor of adding it for LineStrip and LineList, as a simple reversal of the index list

authors: Azorlogh DasLixou alice-i-cecile


text:
Increase timeout in makefile too.

Description
See https://github.com/bf2fc6cc711aee1a0c2a/kas-fleet-manager/pull/1632#discussion_r1133800440
Checklist (Definition of Done)

[ ] ~All acceptance criteria specified in JIRA have been completed~
[ ] ~Unit and integration tests added that prove the fix is effective or the feature works (tested against emulated and non-emulated OCM environment)~
[ ] ~Documentation added for the feature~
[ ] CI and all relevant tests are passing
[ ] Code Review completed
[ ] Verified independently by reviewer
[ ] All PR comments are resolved either by addressing them or creating follow up tasks
[ ] ~Required metrics/dashboards/alerts have been added (or PR created).~
[ ] ~Required Standard Operating Procedure (SOP) is added.~
[ ] ~JIRA has been created for changes required on the client side~

@machi1990 FYI


text:
One game per page without dropdown

Hello.
How will look the code (index.html) if I want to load only one game, without dropdown select game. Just load the game with loading the page?
I want to put an game in my wordpress.

@valioba
You can find related code in ui.js
In line 69, we know that it loads a rom when you select a game.
self.romSelect.change(function() {
    self.loadROM();
});

In line 187, we can see a function called loadROM, and we know that it gets the rom by ajax.
You can change
url: escape(self.romSelect.val())
into
url: "rom/the_nes_game_you_want_to_load.nes"
Also, you need to add self.loadROM(); after Created UI
(for example, you can add it between line 183 and line 184)

What @MeteorKL said. :)
Thanks @MeteorKL !

authors: MeteorKL bfirsh valioba

repo: bfirsh/jsnes

license_source: bigquery


text:
Issue while running the flutter app on actual iOS Device.

Hello guys, I've been stuck on this issue for the last 3 days. Here is my pubspec.yaml file.
dependencies:
  flutter:
    sdk: flutter
  tflite_flutter: ^0.9.0
  google_mlkit_face_detection: ^0.3.0

And the response from flutter I get every time I try to run the app on an iOS device.
Launching lib/main.dart on Ghag23 in debug mode...
lib/main.dart:1
Automatically signing iOS for device deployment using specified development team in Xcode project: 7Q8CB5CGDT
Warning: CocoaPods not installed. Skipping pod install.
  CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
  Without CocoaPods, plugins will not work on iOS or macOS.
  For more info, see https://flutter.dev/platform-plugins
To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

Exception: CocoaPods not installed or not in valid state.
Exited

Please help me with this.

Try unintstalling Podfile.lock and renistalling cocoapods

This is how you install cocoapods: https://guides.cocoapods.org/using/getting-started.html
also make sure you run flutter doctor to ensure your environment is okay

authors: fbernaly meet7sagar prathamesh-mutkure

repo: bharat-biradar/Google-Ml-Kit-plugin

license: MIT


text:
Merge Two CSV Files in Python: Flexible Header Field Matching

Title: "Merge Two CSV Files in Python: Flexible Header Field Matching"
Content:
Introduction
In this pull request, I have implemented a Python module that allows merging two CSV files, provided they share the same set of header fields. What makes this module particularly valuable is its ability to merge the files regardless of the order of the fields in the headers. This feature improves the compatibility and usability of the code significantly.
Motivation
Often, when dealing with data in CSV format, you might have multiple CSV files with the same header fields but in different orders. Merging such files can be challenging with conventional tools. This module seeks to address this issue by offering a flexible solution.
Changes Made
The key changes introduced in this pull request are:

Python Module: Added a new Python module, csv_merge.py, which contains the logic for merging CSV files.

Flexible Header Field Matching: Implemented a feature that allows merging of CSV files with differently ordered header fields. The module identifies fields by their names, not their positions.

Documentation: Included detailed documentation and code comments to ensure that users understand how to use the module effectively.

Usage
Here's an example of how to use the module:
from csv_merge import merge_csv

file1 = 'file1.csv'
file2 = 'file2.csv'
output_file = 'merged.csv'

merge_csv(file1, file2, output_file)

How it Works
The module works by:

Reading the headers of both input CSV files.
Identifying common field names.
Rearranging the fields in the second CSV file to match the order of the first file.
Merging the data from both files while preserving the header order of the first file.

Testing
Extensive testing has been performed to ensure the module's functionality. This includes various scenarios with different header orders and sizes. The tests demonstrate that the module successfully merges CSV files with a flexible approach to header field matching.
Conclusion
This Python module provides a solution for merging CSV files with flexible header field matching. It simplifies data integration tasks when dealing with CSV files that have the same fields but different orders. Your feedback and suggestions are welcome, and I hope this module proves to be a valuable addition to the project.

Hi @TheCodingEnthusiast,
Thank you for your contribution :),
you can checkout more opened issues or you can also submit your own ideas/code.
Happy Coding!

authors: TheCodingEnthusiast bhargavnova

repo: bhargavnova/python-helper-modules


text:
Build InputAssistant error in  Pisth Project

Showing All Messages
Cycle inside InputAssistant; building could produce unreliable results. This usually can be resolved by moving the target's Headers build phase before Compile Sources.
Cycle details:
→ Target 'InputAssistant' has link command with output '/Users/mac/Library/Developer/Xcode/DerivedData/Pisth-hencuwascixtszesqnnxnwzfuokr/Build/Products/Debug-iphonesimulator/InputAssistant.framework/InputAssistant'
○ Target 'InputAssistant' has compile command for Swift source files
○ Target 'InputAssistant' has copy command from '/Volumes/DiskTd1TB/wbs_ios/PisthIOS-ssh-client3/InputAssistant/Framework/InputAssistant.h' to '/Users/mac/Library/Developer/Xcode/DerivedData/Pisth-hencuwascixtszesqnnxnwzfuokr/Build/Products/Debug-iphonesimulator/InputAssistant.framework/Headers/InputAssistant.h'
○ Target 'InputAssistant' has compile command for Swift source files
Raw dependency cycle trace:
target:  ->
node:  ->
command:  ->
node: /Users/mac/Library/Developer/Xcode/DerivedData/Pisth-hencuwascixtszesqnnxnwzfuokr/Build/Products/Debug-iphonesimulator/InputAssistant.framework/InputAssistant ->
command: target-InputAssistant-b713a718e99781e4a97c6b035bfd084fb5328ce97fb1d9697ecb088bd6030639-:Debug:Ld /Users/mac/Library/Developer/Xcode/DerivedData/Pisth-hencuwascixtszesqnnxnwzfuokr/Build/Products/Debug-iphonesimulator/InputAssistant.framework/InputAssistant normal ->
node: /Users/mac/Library/Developer/Xcode/DerivedData/Pisth-hencuwascixtszesqnnxnwzfuokr/Build/Intermediates.noindex/InputAssistant.build/Debug-iphonesimulator/InputAssistant.build/Objects-normal/x86_64/InputAssistantCollectionView.o ->
CYCLE POINT ->
command: target-InputAssistant-b713a718e99781e4a97c6b035bfd084fb5328ce97fb1d9697ecb088bd6030639-:Debug:CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler ->
node: /Users/mac/Library/Developer/Xcode/DerivedData/Pisth-hencuwascixtszesqnnxnwzfuokr/Build/Products/Debug-iphonesimulator/InputAssistant.framework/Headers/InputAssistant.h ->
command: target-InputAssistant-b713a718e99781e4a97c6b035bfd084fb5328ce97fb1d9697ecb088bd6030639-:Debug:CpHeader /Users/mac/Library/Developer/Xcode/DerivedData/Pisth-hencuwascixtszesqnnxnwzfuokr/Build/Products/Debug-iphonesimulator/InputAssistant.framework/Headers/InputAssistant.h /Volumes/DiskTd1TB/wbs_ios/PisthIOS-ssh-client3/InputAssistant/Framework/InputAssistant.h ->
node:  ->
command: Gate target-InputAssistant-b713a718e99781e4a97c6b035bfd084fb5328ce97fb1d9697ecb088bd6030639--phase0-compile-sources ->
node: /Users/mac/Library/Developer/Xcode/DerivedData/Pisth-hencuwascixtszesqnnxnwzfuokr/Build/Intermediates.noindex/InputAssistant.build/Debug-iphonesimulator/InputAssistant.build/Objects-normal/x86_64/InputAssistant-Swift.h ->
command: target-InputAssistant-b713a718e99781e4a97c6b035bfd084fb5328ce97fb1d9697ecb088bd6030639-:Debug:CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler

Solved by delete Simple code


text:
ЮТЗапросы.Записи() не возвращает поля субконто при обращении к регистру бухгалтерии

При вызове ЮТЗапросы.Записи("РегистрБухгалтерии.ИмяРегистра", Предикат) в результате нет полей субконто по Дт и Кт.

Для получения данных с субконто необходимо обращаться к таблице РегистрБухгалтерии.ИмяРегистра.ДвиженияССубконто
	Ссылка = ПриходТовара().Провести();
	Записи = ЮТЗапросы.Записи("РегистрБухгалтерии.Основной.ДвиженияССубконто", ЮТест.Предикат()
		.Реквизит("Регистратор").Равно(Ссылка));

	ЮТест.ОжидаетЧто(Записи)
		.ИмеетТип("Массив")
		.ИмеетДлину(2)
		.КаждыйЭлементСодержитСвойство("ВидСубконто1")
		.КаждыйЭлементСодержитСвойство("ВидСубконто2")
		.КаждыйЭлементСодержитСвойство("ВидСубконто3")
		.КаждыйЭлементСодержитСвойство("Субконто1")
		.КаждыйЭлементСодержитСвойство("Субконто2")
		.КаждыйЭлементСодержитСвойство("Субконто3")
	;

repo: bia-technologies/yaxunit


text:
[ENH] Reduced BIDS example download sizes

Reduces test suite duration from 38s to about 6s locally.

@TheChymera could you please submit future PRs from a branch on your fork, instead of from a branch off this repo? That'd help us keeping branches tidy here.

@sappelhoff sure, sorry for the mix-up.

Running tests on a subset of available example datasets seems like a good idea to me. Are there specific reasons why you chose these particular datasets?

@effigies @tsalo rebased, remaining test failures are (1) typo fixed elsewhere and (2) linkchecker --- both are unrelated to this PR.

diff coverage is 100%, percentage change is artificial.

@sappelhoff is it fixed, should I rebase?

not yet fixed unfortunately, I don't even know what went wrong. Probably the problem was that #1000 was not rebased prior to merge, so the positive checks were misleading. If you want to look into a fix, that'd be welcome.

@TheChymera I solved one issue in #1153, however the remaining issue seems valid:

/tmp/tmp203jv8xe/eeg_matchingpennies/sourcedata/sub-06/eeg/sub-06_task-matchingpennies_eeg.xdf` file was not matched by any regex schema entry

note that the XDF file that triggers the error is in sourcedata, where we may place any file formats.

in sourcedata, where we may place any file formats.

This is not yet implemented by the validator, best for a different PR, made an issue to track that https://github.com/bids-standard/bids-specification/issues/1155 .
For the time being the fix is to revert to the original PR data listing, not sure how/why eeg_cbm got replaced with eeg_matchingpennies 🤔. Though adding one of the datasets which have such directories will be good as a test case once support is in.

For the time being the fix is to revert to the original PR data listing, not sure how/why eeg_cbm got replaced with eeg_matchingpennies thinking. Though adding one of the datasets which have such directories will be good as a test case once support is in.

I did that in https://github.com/bids-standard/bids-specification/pull/1143/commits/b82ae523f484bc377d248a3e86070e44f5d5bb48 for precisely the reason that eeg_cbm is very minimal and eeg_matchingpennies is a more complete example that uses more BIDS features.
But now that you opened an issue to track one problem we identified, I am fine with merging this. Thanks!

authors: TheChymera sappelhoff tsalo

repo: bids-standard/bids-specification


text:
Invalid transaction schema

Hi all, I am running the example code:
import bigchaindb_driver
from bigchaindb_driver import BigchainDB
from bigchaindb_driver.crypto import generate_keypair
from time import sleep
from sys import exit
import sys

alice, bob = generate_keypair(), generate_keypair()

bdb = BigchainDB('http://127.0.0.1:9984')

bicycle_asset = {
    'data': {
        'bicycle': {
            'serial_number': 'abcd1234',
            'manufacturer': 'bkfab'
        },
    },
}

bicycle_asset_metadata = {
    'planet': 'earth'
}

prepared_creation_tx = bdb.transactions.prepare(
    operation='CREATE',
    signers=alice.public_key,
    asset=bicycle_asset,
    metadata=bicycle_asset_metadata
)

fulfilled_creation_tx = bdb.transactions.fulfill(
    prepared_creation_tx,
    private_keys=alice.private_key
)

sent_creation_tx = bdb.transactions.send(fulfilled_creation_tx)

and I have got an error:
Traceback (most recent call last):
  File "/root/PycharmProjects/bigchaindb/api/bigchainAPI.py", line 39, in <module>
    sent_creation_tx = bdb.transactions.send(fulfilled_creation_tx)
  File "/usr/local/lib/python3.4/dist-packages/bigchaindb_driver/driver.py", line 311, in send
    method='POST', path=self.path, json=transaction, headers=headers)
  File "/usr/local/lib/python3.4/dist-packages/bigchaindb_driver/transport.py", line 58, in forward_request
    headers=headers,
  File "/usr/local/lib/python3.4/dist-packages/bigchaindb_driver/connection.py", line 57, in request
    raise exc_cls(response.status_code, text, json)
bigchaindb_driver.exceptions.BadRequest: (400, '{\n  "message": "Invalid transaction schema: \'1\' is not of type \'integer\'", \n  "status": 400\n}\n', {'status': 400, 'message': "Invalid transaction schema: '1' is not of type 'integer'"})

Please help me, thanks.

Hi @lwyeluo
What version of BigchainDB are you using?
This example should work with bighchaindb==0.10.2.
We introduced breaking changes in master and now in the process of doing a new release with updated server, drivers and documentation

Thanks for your reply. My bigchainDB's version is BigchainDB (0.11.0.dev0).
This error has been disappeared after I dropped the database in Mongo and restarted the bigchaindb. I do not know why it is. But it seems to be solved.

@lwyeluo
How did you restart bigchainbd if you dropped Mongo. When I tried to do the same I got  File "/usr/local/lib/python3.5/dist-packages/bigchaindb/backend/connection.py", line 160, in connect
raise ConnectionError() from exc
bigchaindb.backend.exceptions.ConnectionError error.
I am also getting the same error you faced. Do you know how to solve this?

authors: NasimShourav lwyeluo r-marques

repo: bigchaindb/bigchaindb


text:
CFDv33.sellar: NoSuchMethodError: org.apache.commons.codec.binary.Base64

Buen día,
Implementé la nueva librería para el timbrado con la versión 3.3 pero me aparece este error al llegar al renglon donde sella:
**java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.(I)V

at mx.bigdata.sat.cfdi.CFDv33.sellar(CFDv33.java:151)
at mx.bigdata.sat.cfdi.CFDv33.sellarComprobante(CFDv33.java:160)**

Instalé la librería commons-code versión 1.11 pero sigue apareciendo el error.
Hay algún orden en que debieran estar las librerías de java?
Saludos.

Buen dia @heliogutierrez, segun mi poca experiencia con las librerias de java, debes utilizar commons-code-1.4.jar, actualmente esa se encuentra en mi proyecto y funciona correctamente.
Saludos, ojala eso resuelva el problema.

@heliogutierrez tal vez estes teniendo conflictos con otras de tus librerias del proytecto, te recomiendo abrir tu archivo jar (el de tu proyecto) con winrar, y revisar en META-INF el archvo manifiest, ahi debe decir todas las librerias a las que tu sistema llama. Asegurate que la librería esté en dicha ruta, ya que en ocaciones, otras librerias hacen uso de diferentes versiones, y entran en cnflictos.

Pues encontré muchas versiones commons-codec en mi proyecto y todas las he sustituído por la que menciona @SAAVER commons-codec-1.4.jar incluyendo las referencias en los archivos build.xml y sigue enviando el mismo error, ya busqué con Eclipse todo lo que haga mención de commons-codec y no encuentro de dónde esté tomando la versión diferente del jar.

@heliogutierrez antes hay que identificar explicitamente el error, la manera de ver si es conflicto de jars, es siguiendo los pasos que te estoy indicando en la respuesta hace 15 días, asi sabremos exactamente si ese es el problema, y de ser asi será más fácil de resolver. Te pido si pudieras publicar lo que encuentres en el archivo manifiest.

@hortegag91 El proyecto donde estoy utilizando la librería se llama Adempiere, es un ERP en java 1.7
que corre con servidor jboss y framework ZK, el archivo que ejecuta es un war, y dentro de este en la carpeta META-INF está vacía, de hecho no he visto ningún archivo llamado manifiest.
Existen archivos build.xml en cada módulo y es ahí donde he modificado que mande llamar el jar que necesito.
Aqui dejo el archivo build.xml del módulo principal que estoy ejecutando (webui.war):
build.xml.txt

Hay manera de desplegar en consola la ubicación de la clase Base64.class?

Ya resolví el error con la siguiente instrucción supe cual librería estaba tomando eliminándola y ya toma la versión correcta.
System.out.println(Base64.class.getProtectionDomain().getCodeSource().getLocation());

authors: SAAVER heliogutierrez hortegag91

repo: bigdata-mx/factura-electronica


text:
bucketing strategy

An issue that we discussed in that past, but I am not sure if we ever prototyped:
I'd like to try writing parquet files from the soon to be ready ADAM dataset api, bucketed by 10 megabase genomic regions using df.write.bucketyby() available in Spark 2.1 , and then compare "random access" performance of lookup and joins (hopefully through partition discovery here: https://spark.apache.org/docs/latest/sql-programming-guide.html#partition-discovery ) use a "chr_bin" filter in a query - as compared with the normal parquet predicate pushdown.
I'll go ahead and experiment with this - but wanted to get anyone else's thoughts on if this seems viable or worthwhile.  I'm hoping to achieve the effect here of a very course index.

Hi @jpdna! I think this is a dupe of #651. I'm closing it as a dupe, but please reopen if you disagree.

authors: fnothaft jpdna

repo: bigdatagenomics/adam


text:
S3 access documentation

Getting Spark to connect to S3 can require a bit of trial and error - it would be good if we had the process documented.
This recipe works for me at the moment on my local machine:

build ADAM from source at c8a2202
use scripts to change to scala 2_11 Spark 2.x
local spark installed is spark-2.2.0-bin-hadoop2.7

I downloaded jars:
https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk/1.7.4
https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-aws/2.7.1
I start adam-shell like:
../adam/bin/adam-shell --jars aws-java-sdk-1.7.4.jar,hadoop-aws-2.7.1.jar,../adam/adam-assembly/target/adam-assembly-spark2_2.11-0.23.0-SNAPSHOT.jar

reading from s3a appears to work
val x = sc.textFile("s3a://1000genomes/CHANGELOG")
scala> val x = sc.textFile("s3a://1000genomes/CHANGELOG")
x: org.apache.spark.rdd.RDD[String] = s3a://1000genomes/CHANGELOG MapPartitionsRDD[1] at textFile at <console>:24

scala> x.count
res0: Long = 11987

Attempts that didn't work for me:

I tried to use --packages rather than --jars to add dependencies, this resulted in errors
It tried to add the maven coordinates for the two dependency files to the pom.xml - this resulted in errors.

todo:

it would be good for the dependencies required for S3 access to be in the POM, perhaps activated by a profile.

test reading BAM/VCF from S3

For the record, I don't need to provide any extra jars when using Elastic Map Reduce (EMR) version emr-5.6.0 on AWS, so Spark 2.1.1 on Hadoop 2.7.3 YARN with Ganglia 3.7.2 and Zeppelin 0.7.1, then build ADAM from source with Hadoop 2.7.3 dependency version, and then
$ ./bin/adam-submit --master yarn -- --version
Using ADAM_MAIN=org.bdgenomics.adam.cli.ADAMMain
Using SPARK_SUBMIT=/usr/bin/spark-submit
17/06/24 22:15:35 INFO ADAMMain: ADAM invoked with args: "--version"

       e         888~-_          e             e    e
      d8b        888   \        d8b           d8b  d8b
     /Y88b       888    |      /Y88b         d888bdY88b
    /  Y88b      888    |     /  Y88b       / Y88Y Y888b
   /____Y88b     888   /     /____Y88b     /   YY   Y888b
  /      Y88b    888_-~     /      Y88b   /          Y888b

ADAM version: 0.23.0-SNAPSHOT
Commit: 0306717cb952511d48e514475b70ae995a468b5a Build: 2017-06-24
Built for: Apache Spark 2.1.0, Scala 2.11.8, and Hadoop 2.7.3

$ ./bin/adam-shell --master yarn --driver-memory 58G --executor-memory 58G
Using SPARK_SHELL=/usr/bin/spark-shell
Spark context Web UI available at http://172.31.1.86:4040
Spark context available as 'sc' (master = yarn, app id = application_1498339040857_0002).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.1.1
      /_/

Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_131)
Type in expressions to have them evaluated.
Type :help for more information.

scala> import org.bdgenomics.adam.rdd.ADAMContext._
import org.bdgenomics.adam.rdd.ADAMContext._

scala> val genotypes = sc.loadGenotypes("s3a://bucket/sample.genotypes.adam")
genotypes: org.bdgenomics.adam.rdd.variant.GenotypeRDD =
GenotypeRDD(MapPartitionsRDD[1] at map at ADAMContext.scala:345,SequenceDictionary{
...

scala> genotypes.rdd.count()
res1: Long = 23600775

+1 to documenting, but also +1 to @heuermh's point. I believe most distros (eg EMR, Databricks, CDH) build some AWS library in. I know this is true for EMR&DB, and I'm pretty sure of the same for CDH.

authors: fnothaft heuermh jpdna


text:
🛑 Consumer Send message is down

In eaa0cae, Consumer Send message (https://agoyu.com/api/notification/chat/new-message) was down:

HTTP code: 502
Response time: 3133 ms

Consumer Send message is restart service.

Resolved: Consumer Send message is back up in c1d8b8f.

repo: biginvn/upptime


text:
🛑 International booking - Quotation is down

In 6c3a269, International booking - Quotation (https://preview.agoyu.com/api/booking/market-place/123) was down:

HTTP code: 521
Response time: 102 ms

International booking - Quotation is restart service.

Resolved: International booking - Quotation is back up in 88f1418.


text:
When setData in AfterViewInit ExpressionChangedAfterItHasBeenCheckedError

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

Current behavior

Set data on after view init trow ExpressionChangedAfterItHasBeenCheckedError.
If set data on init, the data is dont show.
Expected behavior

Show data in modal whitout errors.
Reproduction of the problem
https://stackblitz.com/edit/ngxsmartmodal-expressionchangedafterithasbeencheckederror
https://github.com/jjmato/ngxsmartmodal-expressionchangedafterithasbeencheckederror
What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Smart Modal version: ^7.1.0

Angular version: ^7.2.5

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

Hi @jjmato,
thanks for your formatted issue.
I took a look on your stackblitz and this error happen because ngIf status change between angular's lifecycle hooks ngAfterViewInit and ngAfterViewChecked.
However, if you still want to add your data into your modal at the ngAfterViewInit, you must add ChangeDetectorRef into your component to force angular to recheck view:
constructor(private _cdr: ChangeDetectorRef, ...)
[...]
ngAfterViewInit(){
    const data = {htmlText:this.htmlText};
    this._modalSrv.setModalData(data, this.MODAL_ID);
    this._cdr.detectChanges();
 }

authors: jjmato khylias

repo: biig-io/ngx-smart-modal

license: mit


text:
[Bug]: WebSSH2 error: Authentication failure user=root from=103.170.221.89

What happened?
I'm not able to get a web terminal as mentioned in the repository, I enter the username and password created for a linux user, but still I get Authentication error. I tried it across multiple versions like main, current, latest and multiple deployments like test, production. But the issue still persists.
Steps I followed till now are

cloning the repository, cd app/
git checkout latest or git checkout latest, then npm install or npm install --production, The issue exists on all versions & install versions
Setting PermitRootLogin yes in /etc/ssh/sshd_config, refered stackoverflow
creating users with password, using sudo useradd username -p password
Entering the exactly same username and password in website at url http:///ssh/host/, where  is the public ip address of Instance where i have webssh2 running.

But it doesn't work, It doesnt allow me to login and gives error such as 'WebSSH2 error: Authentication failure user=root from=103.170.221.89'
Please Help
Node Version
v18.12.1
NPM Version
8.19.2
Server OS Version
Linux ip-172-31-0-236 5.15.0-1026-aws #30-Ubuntu SMP Wed Nov 23 14:15:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux PRETTY_NAME="Ubuntu 22.04.1 LTS"
WebSSH2 release version
"version": "0.4.6",     "release": "standard-version"     "standard-version": "^9.3.0"
OS and Version of SSH server
OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
Browser Version
Google Chrome (WIndows) Version 108.0.5359.125 (Official Build) (64-bit)
Relevant log output
No response

I donot know how this issue happen, but reopen brower can fix this issue.

authors: krishnashed zhangchaoxu


text:
Plex hostNetwork option?

I see with the HA chart we have this option, @billimek do you think we can add this to Plex chart too? It might solved the issue with local clients streaming with a clusterIP address.

It's probably a good idea, if nothing else to have the option!

I am still on the old chart, I am hesitant to migrate :P Your steps should be good to follow, I am just scared...
What I did was:

• scale my existing plex to 0
• backup the config pv
• deleted the existing plex helmrelease
• installed the new plex helmrelease
• scaled the new plex to 0
• restored the backup data
• scaled to 1

This was implemented, closing.

repo: billimek/billimek-charts


text:
BUG: Swiping to access rest of ipad (control centre, and home screen)

BUG:
Steps to reproduce:

On the ipad, swipe up from the bottom all the way to top,

Expected behaviour:

Nothing, maybe some scrolling

Observed behaviour:

Control centre appears, after tapping on the screen, ipad home screen appears

This is fixed by enabling guidance mode and disabling the home button and accsess to control centre

repo: bin-nuance-bat/project


text:
Library has Kotlin runtime bundled into it

If I use the jar in an Android Studio project I have the following issue:
...app/libs/emv-bertlv-0.1.7-shaded.jar: Library has Kotlin runtime bundled into it |
-- | --
It's a compile error because the jar it has the runtime libs of kotlin.
"Please note that you should not include kotlin-runtime and kotlin-stdlib jars with your plugin because Kotlin guarantees backward- and forward- binary compatibility."
http://www.jetbrains.org/intellij/sdk/docs/tutorials/kotlin.html
I hope you can fix it or provide a version without the dependency (an not executable version), and thank you so much for the amazing lib.

Yes, I have the same trouble.

So, I found a solution to the problem. I miss extending DexApplication in my release App class.

Hi. I'm haven't worked on this in ages. Maybe try using non shaded version of the .jar https://repo1.maven.org/maven2/io/github/binaryfoo/emv-bertlv/0.1.7/emv-bertlv-0.1.7.jar

authors: NooAn te0tl wcurrie

repo: binaryfoo/emv-bertlv


text:
Шаблонизатор

попытался развернуть сайт.
получил

походу используется какой-то шаблонизатор? но в мануале не указано, да в php я не силен.  Что надо доставить, подскажите?

Самописный шаблонизатор, да.
Что-то мне подсказывает, что у вас проблема в .htaccess - mod_rewrite в наличии?

#apache2ctl - M | grep "rewrite_module"
rewrite_module
Syntax OK

Значит в index.php что-то пошло не так, копайте в этом направлении -  он отвечает за вывод страниц.

тьфу блин, в дебиане в apache по умолчанию "DirectoryIndex index.html". Так что он грузился, вместо index.php. Добавил "DirectoryIndex index.php index.html", все ок.
ps. небольшой офтоп, я  все по своей теме кластеризации, не могли бы вы скинуть небольшой файлик (маленький любой)  лога routerscan куда-нибудь. Хотелось бы чисто кластеризацию поизучать, а тут еще сканировать надо, а я в деревне - тут нечего сканировать :D будьте так любезны.

Можете попросить образцы отчётов в теме на форуме (ссылка есть на сайте 3WiFi), я в ближайшее время предоставить не смогу.

Хотя в апаче прописан index.php , только после index.html. Лучше бы index.html переименовать. Все равно какая-то проблема - в /map и /upload: head и body что-то не заполняются.
Установка стандартная дебиан 7, никакие конфиги не правились

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

поменял на
<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

пока не помогло, бесконечный редирект пишет.
убрал DirectoryIndex index.php index.html -> DirectoryIndex index.html index.php , тоже самое.

Заработало.
https://github.com/binarymaster/3WiFi/blob/master/.htaccess :
Options -Indexes

RewriteEngine on

-->
Options -Indexes
Options -MultiViews

RewriteEngine on

зависит от php5-curl

запускать демонов можно так
# Upload routine loads data into database
nohup php -f 3wifid.php uploads &
# Finalize routine prepares tasks for finalization
nohup hp -f 3wifid.php finalize &
# Geolocate routine locates new added BSSIDs on map
nohup php -f 3wifid.php geolocate  &

Вот не могу разобраться как запустить демонов на хостинге через Cron. Через SSH они живут от силы сутки, поэтому хотелось бы автоматизировать весь процесс.Был благодарен помощи

authors: LennyLip Shagrath82 binarymaster


text:
Update de.json

changed "Mime Type" to "MIME-Type" assuming it refers to Internet Media Type/Media Type (for which there is no real german translation)

Thanks!
Yes, that's it. And you are right, seems like the correct/official way to write it is in all caps, so I'll change it to be that way in the other localization files too.

I just released a beta version, in case you want to check how v3 is taking shape and how the German localization looks with the recent additions and visual redesign.

authors: binarynonsense trzyglow

repo: binarynonsense/comic-book-reader


text:
Register aggregate factories

In EventSourcingRepositoryFactory how to register AggregateFactory and descendants, rather than the root class type token?

Leave as-is for now, until a better solution presents itself.

repo: binkley/axon-spring-boot-starter

license: unlicense


text:
Feature request : gpgs for multiplayer

Please add google play service realtime multiplayer, thanks for this useful module.. 😀

I use this module in my multiplayer game, all work fine (especially realtime multiplayer) but i need more functions on leaderboard like get current player score that i can get from your module..

@ibenx Thank you, I will try to keep the same API.

Google Play service is deprecating the multiplayer API.
Im closing this issue... Sorry
source:
https://www.xda-developers.com/google-ending-support-real-time-turn-based-multiplayer-api-play-games-services/

authors: ibenx xsellier

repo: binogure-studio/godotandroid


text:
add post-install tooltip text

Required if add-on is accepted for publication in the web store.

Added.

repo: biocore/Keemei


text:
re-defining the required fields for the study and prep templates to facilitate addition of new data

In working on documentation of the sample and prep templates @rob-knight, @adamrp, @wasade, @josenavas and I discussed updating the requirements for sample and prep template fields.
These fields should no longer be required:

[ ] emp_status
[ ] run_prefix
[ ] sample_type
[ ] description
[ ] has_physical_specimen
[ ] physical_location
[ ] has_extracted_data
[ ] host_subject_id
[ ] barcode (this will not be relevant when users can start with demultiplexed data)
[ ] primer
[ ] linker (this is not always used)
[ ] center_name
[ ] platform
[ ] library_construction_protocol
[ ] experiment_design_description

These fields should be removed all together:

[ ] required_sample_info_status
[ ] center_project_name

These fields should have their names changed:

[ ]  sample_name will be changed to SampleID
[ ] has_physical_specimen should change to physical_specimen_remaining
[ ] physical_location should change to physical_specimen_location
[ ] has_extracted_datashould change to dna_extracted

Format/allowed value changes:

[ ] platform the allowed values need to be expanded in or linked from the wiki document

physical_location should change to physical_specimen_location
has_physical_specimen should change to physical_specimen_remaining
has_extracted_datashould change to dna_extracted
platform the allowed values need to be expanded in the wiki document
sample_name will be changed to SampleID

Any takers on implementing these changes tomorrow? I can work with you on it and update the wiki page in the meantime.

repo: biocore/qiita


text:
Fix 3036

As reference this is how it looks now when an analysis creation fails:

and when it succeeds:

Codecov Report

Merging #3041 into master will increase coverage by 0.03%.
The diff coverage is 88.11%.

@@            Coverage Diff             @@
##           master    #3041      +/-   ##
==========================================
+ Coverage   94.98%   95.01%   +0.03%
==========================================
  Files          74       74
  Lines       14153    14295     +142
==========================================
+ Hits        13443    13583     +140
- Misses        710      712       +2

Impacted Files
Coverage Δ

qiita_db/archive.py
100.00% <ø> (ø)

qiita_db/base.py
92.30% <ø> (-0.15%)
:arrow_down:

qiita_db/download_link.py
33.33% <0.00%> (+3.60%)
:arrow_up:

qiita_db/exceptions.py
95.91% <ø> (-0.09%)
:arrow_down:

qiita_db/investigation.py
61.90% <ø> (-1.74%)
:arrow_down:

...adata_template/test/test_base_metadata_template.py
98.18% <ø> (ø)

qiita_db/metadata_template/util.py
90.16% <ø> (-0.08%)
:arrow_down:

qiita_db/reference.py
96.55% <ø> (-0.06%)
:arrow_down:

qiita_db/environment_manager.py
42.99% <50.00%> (-0.82%)
:arrow_down:

qiita_db/processing_job.py
73.58% <71.60%> (+1.55%)
:arrow_up:

... and 35 more

Continue to review full report at Codecov.

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

Thanks @antgonza

authors: ElDeveloper antgonza codecov-io


text:
RFC: tabular-msa

Please send all discussion to:
https://github.com/biocore/scikit-bio-rfcs/pull/1
Depending on the resolution of the RFC, this issue will be updated to organize the work that needs to be done.

Milestone that tracks this RFC:
RFC 1: tabular-msa

RFC complete!

awesome!!!

:+1:

authors: anderspitman ebolyen gregcaporaso

repo: biocore/scikit-bio


text:
StripedSmithWaterman returns aligned sequences of different lengths

It seems that the aligned sequences can be offset.
This probably occurs due to a missing gap.
A minimal reproducible example:
from skbio.alignment import StripedSmithWaterman
from Bio.Align import substitution_matrices

blosum62 = substitution_matrices.load('BLOSUM62')
blosum62_2ddict = {a1: {a2: blosum62[i,j] for j,a2 in enumerate(blosum62.alphabet)} for i,a1 in enumerate(blosum62.alphabet)}
s1 = """MLMIVAHHYVVNSGLINCIDAQSTLRFQDYFLLLFGWGGKTGINCFVLITGYFMCTSNITKKKFIKLLIEVYFYNIVLWCIFFFTGYEAFSVKGFLKMIFPFFTVADNFTSCFLLFYLLIPFLNKLIHALTEKEHFLLMAWCISVYVFLPSFAKANVVFNYITWFSILYVIASYIRLYPKEWFSNVKVTGSIAGVSLLLSWVSIIVLAMLSRMVGKGVGICYFFVADSNKVLALVTSVGAFLFFKNLKIGYSKAINTIAASTFGVLQIHANSDTMRRWLWVDVCNNVGAYQGGNVIIHAIVSVVAIYTVCTIIDMVRIRLIEQPLIRRN"""
s2 = """MVNKRNSAIECLRILSMFFIILGHFSWQTDWKFQSNEYVLKSIINSLWIGGKLGVNLFVLISGYFIISSGFKKKSFISIWITSYFYSILILILSVVFKINEFDLKNIVKTVFLSSSGYLNWFVTAYLGMYLLVPYMNKILLSFSRLQYHKFLLTIFFIFSVLGTLFRNPAIGTTGDDIVWLLVVYCFGAYIRIFENELKREIKKIYLWSILAISLFLSCFSVFIINYIQLKYNIGSSPRLYGWLIGGLSPLQLLSALCIFLFVVRINPFTIKFINEVASTTFSIYLIHANLLIVDWLWNNLIRGYRYENTPFVLAYGLLVSSLIFIFCSIIDIVMKFLFGKTRKIFIDRIASLVSHRRNDLEND"""

aligner = StripedSmithWaterman(s1,
                               gap_open_penalty=10,
                               gap_extend_penalty=1,
                               protein=True,
                               substitution_matrix=blosum62_2ddict)
aln = aligner(s2)

print(len(aln.aligned_target_sequence))
print(len(aln.aligned_query_sequence))

The difference seems to be caused by a missing gap after the first amino acid in the aligned query sequence.

@gregcaporaso would you be be able to review this issue?

Closing due to #1814

authors: ebolyen mciach wasade


text:
How to enable "Anonymized DNS" in v0.6.8 ?

I do not find any Anonymized DNS settings in version 0.6.8
Is this enabled by default in v0.6.8 or this depends on the "resolver" the user choose ?
Thanks

This has not yet been implemented. I'm working on it.

authors: Moxville bitbeans

repo: bitbeans/SimpleDnsCrypt


text:
Stopgap until next libsodium-net. Closes #14

GetRandomNumber(54) will return an unbiased random integer between 0 and 53 (inclusive), powered by a CSPRNG.
Once the next version of libsodium-net is ready, please prefer that instead.
I'd like to ask @adamcaudill and @jedisct1 to review this when they have time.

@paragonie-scott @bitbeans Sorry, once again didn't realize that there were changes that needed to be made, that were holding on libsodium-net - I will release the next version either tomorrow or first thing next week (I'll be traveling for the rest of the week).
Incidentally, there's a beta on NuGet that's up to date with the latest version.

authors: adamcaudill paragonie-scott

repo: bitbeans/StreamCryptor


text:
make more distinction between Yes and N/A in the readme table

... by using checkmark ✓ and cross ✗
The original formatting was making the table quite hard to grasp as there were so many letters present on screen at once.
This is how the rendered readme looks like: https://github.com/prusnak/HWI/tree/readme-table#device-support
We might even consider using ❌ and ✅ emojis, but these might not be as widely supported (they are in the Unicode 6.0 standard from 2010). The characters I used are part of Unicode 1.1 from 1993.

The table actual shows a tri-state. Yes means "supported by firmware and implemented in HWI". No means "supported by firmware and not implemented by HWI" (we don't have any on this table AFAICT). N/A means "not supported by the firmware". So just ✓ and ✗ is not sufficient.
A previous PR which implemented something similar was closed because of concerns with how this would be displayed in text editors, although I think that used Github's emojis rather than unicode. I think most terminals and text editors support unicode so this probably isn't an issue, especially with characters that are part of a very old unicode version.

Right. There is no "No" in the table.
Should we use the cross "✗" for No. And dash (-) for N/A then?
(I'll add the legend under the table).

Right. There is no "No" in the table.
I updated the PR to include the legend and replaced cross with dash for N/A.

ACK 40c6887af5816e61ab6856af5099f3898c63eacc

repo: bitcoin-core/HWI


text:
build: Use debian buster for releases

Fixes #732

Oops, completely forgot about this.


text:
2016-01-26-segwit-benefits.md

2016-01-26-segwit-benefits.md  simplified chinese zh_CN, please suggest only simplified chinese corrections

ping @jl2012

authors: btcdrak friendsofbitcoin


text:
chore(SPV-1146): query error case to point out how search-by-array works

Pull Request Checklist

[ ] 📖 I created my PR using provided  : CODE_STANDARDS
[ ] 📖 I have read the short Code of Conduct: CODE_OF_CONDUCT
[ ] 🏠 I tested my changes locally.
[ ] ✅ I have provided tests for my changes.
[ ] 📝 I have used conventional commits.
[ ] 📗 I have updated any related documentation.
[ ] 💾 PR was issued based on the Github or Jira issue.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 45.24%. Comparing base (f6e90d0) to head (61bda2d).

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #767      +/-   ##
==========================================
+ Coverage   45.22%   45.24%   +0.01%
==========================================
  Files         338      338
  Lines       17248    17248
==========================================
+ Hits         7801     7804       +3
+ Misses       8858     8856       -2
+ Partials      589      588       -1

Flag
Coverage Δ

unittests
45.24% <ø> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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

repo: bitcoin-sv/spv-wallet


text:
[Feature Request] Add TryRemove(KeyValuePair<K, V>) overload

Essentially what I am trying to achieve here is to "try to remove this key only if it has this value".  To give some background on why this is needed, my use case for this library is to have an LRU cache for resource mappings done by an external server. Every resource mapping comes with an expiration date, so at some point the value has to be refreshed from the server. I am using the AsAsyncCache and WithAtomicGetOrAdd options to cache the result of the network call. Each value inserted into the cache has an ExpiryTime property. After calling GetOrAddAsync, if the ExpiryTime has passed, the existing value has to be removed and replaced with a new one. Here is the basic flow with existing APIs:
var entry = await this.cache.GetOrAddAsync(key, async (k) => ...);
if (entry.ExpiryTime < DateTimeOffset.UtcNow)
{
    this.logger.Log(...);
    this.cache.TryRemove(key);
    entry = await this.cache.GetOrAddAsync(key, async (k) => ...);
}

The problem with TryRemove(K) in this scenario is that multiple threads will access this logic, so there would be a race between TryRemove and GetOrAddAsync. You can correct me if I'm wrong on how those are synchronized, but what I imagine this would mean that it's possible for one thread to see an expired entry, remove it, call  GetOrAddAsync to cache and return a new value, and then another thread which had also previously read the expired value could call TryRemove, remove the newly added value, and make another expensive network call in the second GetOrAddAsync. In reality this would be rare, but when it does happen it would artificially lower the cache hit rate.
So the solution here would be to have an atomic operation to "remove this key if it has the old value". With the new API it would be a guarantee in that situation that the network call is only done by one thread:
var entry = await this.cache.GetOrAddAsync(key, async (k) => ...);
if (entry.ExpiryTime < DateTimeOffset.UtcNow)
{
    this.logger.Log(...);
    this.cache.TryRemove(new KeyValuePair<K, V>(key, entry));
    entry = await this.cache.GetOrAddAsync(key, async (k) => ...);
}

Looking at the ConcurrentLruCore implementation for TryRemove(K), it looks like this should be a relatively simple addition, because it would just skip the enclosing while loop in the existing TryRemove logic and go straight to the atomic remove step. But I'm not sure if there are other factors to consider.
I'm sure there are workarounds to this today, but based on my research I would need a custom IItemPolicy for my cache entry type which customizes ShouldDiscard, and would need to chain together my own async cache with atomic get-or-add, rather than being able to use the ConcurrentLruBuilder. So having this API feels like the simplest option. Let me know what you think. Thanks!

For fixed expiry (all cache entries have the same expiry time), this is solved by ConcurrentTLru. If that's an option for you, that's the easiest solution.
I would need to investigate if you could make a custom IItemPolicy and change ShouldDiscard - this method can be invoked before the async value create delegate completes, so the expiry time may not exist. Without going into all the details, there would for sure be fiddly edge cases like this to consider.
I can add something like a TryRemoveIf, and allow passing in a Predicate<V> to test the cached value, you could then write your own predicate. Adding the extra method to all the cache interfaces would be a breaking change, however.
Longer term, I would like to support the TLRU having a delegate to compute the expiry time for each element. Then all of this logic would be built into the cache, and this workaround wouldn't be needed.

Yeah unfortunately in my case the expiry time is provided by the server and is not reliably predictable, Otherwise I would have gone with ConcurrentTLru.
I actually got this working with a custom IItemPolicy. Here is what the ShouldDiscard method looks like:
public bool ShouldDiscard(LruItem<TKey, AsyncAtomicFactory<TKey, ResourceEntry>> item)
{
    return item.Value.IsValueCreated && item.Value.ValueIfCreated.ExpiryTime <= DateTimeOffset.UtcNow;
}

Initializing the cache to work how I desired is a bit complex though:
static class ResourceCacheFactory
{
    public static IAsyncCache<TKey, ResourceEntry> Create<TKey>(int capacity)
        where TKey : notnull
    {
        var coreLru = new ConcurrentLruCore<
        TKey,
        AsyncAtomicFactory<TKey, ResourceEntry>,
        LruItem<TKey, AsyncAtomicFactory<TKey, ResourceEntry>>,
        ResouceEntryLruPolicy<TKey>,
        NoTelemetryPolicy<TKey, AsyncAtomicFactory<TKey, ResourceEntry>>>(
            Environment.ProcessorCount,
            new FavorWarmPartition(capacity),
            EqualityComparer<TKey>.Default,
            default,
            default);

        return new AtomicFactoryAsyncCache<TKey, ResourceEntry>(coreLru);
    }
}

Not as easily readable as the builder API, but it works.

I can add something like a TryRemoveIf, and allow passing in a Predicate to test the cached value, you could then write your own predicate.

This would work too, a lot more flexible of an API. The reason I suggested this overload is because I use ConcurrentDictionary a lot, and it has this API today (no longer a hidden API). There was an interesting discussion, pretty similar to this one, in this issue that led to the overload being added to the public API.

Longer term, I would like to support the TLRU having a delegate to compute the expiry time for each element. Then all of this logic would be built into the cache, and this workaround wouldn't be needed.

Love this idea, it would definitely create the the most convenient API to achieve this cache design.

authors: bitfaster enioluwas


text:
LFU after access fails to update expiry when read buffer is not full

From the discussion here https://github.com/bitfaster/BitFaster.Caching/pull/516, this is the repro:
[Fact]
public void Repro()
{
    var cache = new ConcurrentLfuBuilder<int, int>()
        .WithCapacity(10)
        .WithExpireAfterAccess(TimeSpan.FromSeconds(5))
        .Build();

    cache.AddOrUpdate(1, 1);

    Thread.Sleep(4000);

    cache.TryGet(1, out var value).Should().BeTrue(); // maintenance doesn't run here

    Thread.Sleep(2000);

    cache.TryGet(1, out value).Should().BeTrue();
    cache.TryGet(1, out value).Should().BeTrue();
}

Since maintenance only runs when the read buffer is full, expiry time is never updated.

coverage: 99.21% (+0.07%) from 99.141%
when pulling 4ee9397d347e619e3ce97269975097c19bffacdf on users/alexpeck/lfuafteraccess
into 07f8a1cc68229a29472077b2891690e0bfd46951 on main.

The JIT does not completely elide the additional branch, there is an extra and

.NET 6 generates identical assembly:

.NET Fwk, 4 bytes extra code within TryGetImpl

authors: bitfaster coveralls


text:
Info on sw-p protocol e remote of Kahuna 6400

Is this a feature relevant to companion itself, and not a module?

[X] I believe this to be a feature for companion, not a module

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the feature
Good evening, I use bitfocus with the sw-p08 protocol to remote a Snell matrix on a 4k ObVan, I would like to have the info of the source assigned to a specific destination but for now I have only found the command to view the source assigned to the selected destination.
It would be possible?
Still on the same ObVan I have a GrassValley Kahuna 6400 mixer and I'd like to be able to remote it as I already do on another ObVan with the For-A mixer. If can help you they already remote it with their RollCall software.
Thanks
Usecases
No response

The first part of your request is possible now.
The 2nd part should be a separate module request for the Kahuna or perhaps a broader Roll Call module.


text:
Apply bootstrap theme on bit date picker

Discussed in https://github.com/orgs/bitfoundation/discussions/5249

Originally posted by masoodinfo September  5, 2023
I am using Bootstrap and its themes in my Blazor project. I have only used your date picker component, not the rest of the components.
How can I make this component look like the other Bootstrap components? OR at least how can I make the input of the date picker similar to bootstrap components?
Additional information:
The Bit.BlazorUI nuget package's version is 5.5.0

Thanks for contacting us. We're investigating this issue.
We'll let you know if it's possible to work on this issue.

you can simply use our class/style parameters to achieve any UI design you want.
I'm closing this issue and if you need any specific feature plz let us know in another issue.

authors: msynk ysmoradi

repo: bitfoundation/bitplatform


text:
Bug: "Replace knobs with sliders" checkbox is not saved during app restarts

Disclaimer:
Please go through existing issues to avoid creating duplicates. If you found a similar issue please post a comment there. If you are uncertain your issue is related to others then create the issue. Obvious ignorance of this rule might get you blocked from posting new issues. Please tick the box below to show that you have followed the guideline.

[x] I have checked for a similar issue and sure it hasn't been reported before.

Describe the bug
"Replace knobs with sliders" checkbox is not saved during app restarts
Steps to Reproduce
Steps to reproduce the behaviour (feel free to change the placeholder as you need):

launch eqMac
Click on settings icon
tick the "Replace knobs with sliders" checkbox
observe ui change
exit app and lauch again
observe knobs instead of sliders
go to settings and find"Replace knobs with sliders" checkbox unchecked

Expected behaviour
ui is started with sliders instead of knobs
Setup information:

Audio device used for playback: external headphones
Audio transmission interface:  3.5mm Jack
macOS Version: 10.15.4
eqMac Version [e.g. 0.0.1]
eqMac UI Version [e.g. 0.0.4]

Thanks for reporting this.
I have looked into it and unfortunately it won't be trivial to fix. I can't fix it in a UI update, I will have to ship the fix in a full native update.
The fix should be shipped in eqMac v0.0.2

That is now fixed in the latest update v0.1.0
Please download it from https://eqmac.app or GitHub or update directly from the App itself.
Closing this issues, if you are still having problems then please reopen.
Thanks

I can confirm, the issue is now resolved.

authors: aol-nnov nodeful

repo: bitgapp/eqMac


text:
Text changes - Initial cloud backup (2)

The word "to" to be removed in images 2a and 4
S capital in Security Question in image 3

The changes contained in this issue have not been completed.

Verified this issue on dev app v1.8.5(325)

authors: ASN-BitHyve cakesoft-swati

repo: bithyve/hexa


text:
Adding CTA to show Backup

Need a secondary action to “Show Backup”. This takes the user through the process of confirming the passcode, then noting down.

@Deveshshankar  @antuz123  is this text fine for Show seed words again ?


text:
Don't crash when the ingress rule has no path.

The path attribute is optional for k8s ingresses (it defaults to /), however the library here crashes if it's not specified.
The relative path check is only useful if path is specified, so add a check to see if it's there before attempting to read it.

See also #54

See also #54

repo: bitnami-labs/kube-libsonnet


text:
Error in balance and status

Hi, I was testing the wallet and I have some problems. The wallet has about 2500 addresses. When I ask for the balance, it returns less than the current balance. When I ask for the wallet status, it returns a void answer.
If I try to create a new txp, it returns "Error querying the blockchain".
The wallet works fine with 300 or 400 addresses. The problem has started when the number of addresses started to growing.
What can I do in this case?
Thanks in advance

Are you using  your own Wallet Service?
On Apr 11, 2017 6:56 AM, "zekylaf" notifications@github.com wrote:

Hi, I was testing the wallet and I have some problems. The wallet has
about 2500 addresses. When I ask for the balance, it returns less than the
current balance. When I ask for the wallet status, it returns a void answer.
If I try to create a new txp, it returns "Error querying the blockchain".
The wallet works fine with 300 or 400 addresses. The problem has started
when the number of addresses started to growing.
What can I do in this case?
Thanks in advance
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bitpay/bitcore-wallet-client/issues/366, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAGCHHeVfp2vHcFudLbnKsV0SrSe0tkAks5ru05hgaJpZM4M531P
.

Yes, I am using my own Wallet Service

OK, BWS have been tested with very active wallets with 20k+ addresses.
The problem  you are facing is probably a restriction built-in in insight to limit the size of the queries.
Please check Insight's configuration and logs (you are probably getting 400 errors). Maybe @kleetus  can help you will the exact config change you need to do.

OK, thanks. I will wait for @kleetus' answer. Can I find that config in other place?

@zekylaf I am getting the same error as you but I only have one wallet created could it be related? Mine happens when I try to get the balance

I am also having the same challenge. In my case, the message starts showing after I generate the first address. Any other query on the wallet throws the error.
Please @kleetus help.
Thank you

authors: Chibuzo cbedoya matiu zekylaf

repo: bitpay/bitcore-wallet-client


text:
Add get-app

New Pull Request Checklist
Please mark the points which you did / accept.

[x] I will not move an already shared step version's tag to another commit
[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

I cannot use git via http because I have 2FA active on my account, and I prefer ssh over https for git, because of which the last step failed

About the git authentication:
You can change the MY_STEPLIB_REPO_FORK_GIT_URL env to git@github.com:shreyanshp/bitrise-steplib.git so it will use ssh authentication.

authors: BirmacherAkos shreyanshp

repo: bitrise-io/bitrise-steplib


text:
Pretrained Causal LM cannot be loaded in 4bit/8bit

System Info
Name                    Version                   Build  Channel
transformers              4.41.0.dev0              pypi_0    pypi
pytorch                   2.1.2           py3.9_cuda12.1_cudnn8.9.2_0    pytorch
pytorch-cuda              12.1                 ha16c6d3_5    pytorch
pytorch-lightning         2.3.0              pyhd8ed1ab_0    conda-forge
pytorch-mutex             1.0                        cuda    pytorch
bitsandbytes              0.43.3                   pypi_0    pyp
Reproduction
import torch
from transformers import AutoConfig, AutoModelForCausalLM

evo_ckpt="evo-1-8k-base"
config = AutoConfig.from_pretrained(f"togethercomputer/{evo_ckpt}", trust_remote_code=True, revision="1.1_fix")
config.use_cache = False

model = AutoModelForCausalLM.from_pretrained(f"togethercomputer/{evo_ckpt}", config=config, trust_remote_code=True, revision="1.1_fix", torch_dtype=torch.bfloat16)
# here we can load the model successfully

model = AutoModelForCausalLM.from_pretrained(f"togethercomputer/{evo_ckpt}", config=config, trust_remote_code=True, revision="1.1_fix", torch_dtype=torch.bfloat16, load_in_8bit=True)
# here we cannot load

model = AutoModelForCausalLM.from_pretrained(f"togethercomputer/{evo_ckpt}", config=config, trust_remote_code=True, revision="1.1_fix", torch_dtype=torch.bfloat16, load_in_4bit=True)
# here we cannot load

for both 4bit and 8bit, we get the same error
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/site-packages/transformers/models/auto/auto_factory.py", line 558, in from_pretrained
    return model_class.from_pretrained(
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/site-packages/transformers/modeling_utils.py", line 3572, in from_pretrained
    hf_quantizer.preprocess_model(
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/site-packages/transformers/quantizers/base.py", line 182, in preprocess_model
    return self._process_model_before_weight_loading(model, **kwargs)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/site-packages/transformers/quantizers/quantizer_bnb_8bit.py", line 237, in _process_model_before_weight_loading
    self.modules_to_not_convert = get_keys_to_not_convert(model)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/site-packages/transformers/integrations/bitsandbytes.py", line 290, in get_keys_to_not_convert
    tied_model = deepcopy(model)  # this has 0 cost since it is done inside `init_empty_weights` context manager`
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 296, in _reconstruct
    value = deepcopy(value, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 296, in _reconstruct
    value = deepcopy(value, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 296, in _reconstruct
    value = deepcopy(value, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 296, in _reconstruct
    value = deepcopy(value, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/wuppertal/gnlzm/mambaforge/envs/bm-llms-minimal/lib/python3.9/copy.py", line 161, in deepcopy
    rv = reductor(4)
TypeError: 'NoneType' object is not callable

Expected behavior
Hello and thanks for providing this great library for quantizing HF LLMs!
I am successfully finetuning the model with LoRA, after that I am looking into QLoRA in order to reduce memory footprint and allow finetuning with larger context length. I read the different documentations, one must first load and quantize the model, and then setup PEFT and train.
However when I try to load this model with quantization, it throws an error which I attached the trace of ... It is the same whether I try 4 or 8 bit, and whether I configure quantization in the from_pretrained method or pass a quantization_config.
Any idea on whether it would be possible to quantize this model please? And if yes, how to get around this issues when loading in quantized mode?
Thanks in advance

I would say this issue most likely would belong in huggingface/transformers, or maybe the model code directly, which is where dotdict is being used and breaking this.
With that said, I would suggest using a quantization_config here and specify llm_int8_skip_modules by hand. In particular, you might at least want the following:
llm_int8_skip_modules=["embedding_layer", "poles", "residues"]
cc: @SunMarc in case he has any other advice here!
Hope this helps!

Hi @matthewdouglas thanks a lot for your quick help!
I was skipping the quantization_config to keep the code snippet as simple as possible but the issue was the same.
Now that you advised to configure llm_int8_skip_modules the model can load, and to my surprise in both 8bit and 4bit. I still have to run some trainings to see if things run through and behave as expected, but this is already a great move forward, will keep you posted on how it goes.
Right now, this is how I load in 8bit and 4bit
import torch
from transformers import AutoConfig, AutoModelForCausalLM
from transformers import BitsAndBytesConfig

evo_ckpt="evo-1-8k-base"
config = AutoConfig.from_pretrained(f"togethercomputer/{evo_ckpt}", trust_remote_code=True, revision="1.1_fix")
config.use_cache = False

# loading in 8bit
bnb_config = BitsAndBytesConfig(load_in_8bit=True, llm_int8_skip_modules=["embedding_layer", "poles", "residues"])
model = AutoModelForCausalLM.from_pretrained(f"togethercomputer/{evo_ckpt}", config=config, trust_remote_code=True, revision="1.1_fix", quantization_config=bnb_config, torch_dtype=torch.bfloat16)
# warning: "Some weights of StripedHyenaModelForCausalLM were not initialized from the model checkpoint at togethercomputer/evo-1-8k-base and are newly initialized: ['backbone.unembed.weight']
# You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference."
# ... since model.config.tie_embeddings is True, we could override this init with model.backbone.unembed = model.backbone.embedding_layer
# https://github.com/togethercomputer/stripedhyena/blob/main/stripedhyena/model.py#L342
model.backbone.unembed = model.backbone.embedding_layer

# loading in 4bit with parameters recommended for QLoRA
bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=True, bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_quant_storage=torch.bfloat16, llm_int8_skip_modules=["embedding_layer", "poles", "residues"])
model = AutoModelForCausalLM.from_pretrained(f"togethercomputer/{evo_ckpt}", config=config, trust_remote_code=True, revision="1.1_fix", quantization_config=bnb_config, torch_dtype=torch.bfloat16)
model.backbone.unembed = model.backbone.embedding_layer

I tried to add "unembed" to llm_int8_skip_modules but the init would still alter the pretrained weight from which I want to finetune .. I am not familiar yet with your library, is there a better way to go around re-init of unembed weights?

I would have expected tie_weights() to take care of that, but maybe it's not implemented in this model? I'm not very familiar with StripedHyena; this is probably a good question to ask on their repo.
PretrainedModel does have a _tie_or_clone_weights(output_embeddings, input_embeddings) that you can try too, but in general I think you have the right idea.

Hey @adrienchaton, can you share the model architecture after loading wit bnb ? It's strange that despite adding "unembed" to llm_int8_skip_modules, it still gets altered. Also, this is a remote code where we don't have control over the code. I see that they are missing a get_output_embedding function in their code that is required if one sets tie_word_embeddings = True.  This is probably the reason why the weights are being re-init.
def tie_weights(self):
     if getattr(self.config, "tie_word_embeddings", True):
          # right now, this is returning `None`
          output_embeddings = self.get_output_embeddings()
          if output_embeddings is not None:
              self._tie_or_clone_weights(output_embeddings, self.get_input_embeddings())

@SunMarc raises a good point about get_output_embeddings lacking an implementation. The other thing I find notable on this model's configuration is that the attribute is named tie_embeddings and not tie_word_embeddings which would also cause the behavior you're seeing.

Hi @SunMarc @matthewdouglas and thanks a lot for looking into this.
Working with a custom HF model which doesnt implement all methods and conventions that bitsandbytes expects is indeed making things very difficult ...
To answer your question, if I set llm_int8_skip_modules=["embedding_layer", "poles", "residues", "unembed"] then the 4bit model loads as
StripedHyenaModelForCausalLM(
  (backbone): StripedHyena(
    (embedding_layer): VocabParallelEmbedding(512, 4096)
    (norm): RMSNorm()
    (unembed): VocabParallelEmbedding(512, 4096)
    (blocks): ModuleList(
      (0-7): 8 x ParallelGatedConvBlock(
        (pre_norm): RMSNorm()
        (post_norm): RMSNorm()
        (filter): ParallelHyenaFilter()
        (projections): Linear4bit(in_features=4096, out_features=12288, bias=True)
        (out_filter_dense): Linear4bit(in_features=4096, out_features=4096, bias=True)
        (mlp): ParallelGatedMLP(
          (l1): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l2): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l3): Linear4bit(in_features=10928, out_features=4096, bias=False)
        )
      )
      (8): AttentionBlock(
        (pre_norm): RMSNorm()
        (post_norm): RMSNorm()
        (inner_mha_cls): MHA(
          (rotary_emb): RotaryEmbedding()
          (Wqkv): Linear4bit(in_features=4096, out_features=12288, bias=True)
          (inner_attn): FlashSelfAttention(
            (drop): Dropout(p=0.0, inplace=False)
          )
          (inner_cross_attn): FlashCrossAttention(
            (drop): Dropout(p=0.0, inplace=False)
          )
          (out_proj): Linear4bit(in_features=4096, out_features=4096, bias=True)
        )
        (mlp): ParallelGatedMLP(
          (l1): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l2): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l3): Linear4bit(in_features=10928, out_features=4096, bias=False)
        )
      )
      (9-15): 7 x ParallelGatedConvBlock(
        (pre_norm): RMSNorm()
        (post_norm): RMSNorm()
        (filter): ParallelHyenaFilter()
        (projections): Linear4bit(in_features=4096, out_features=12288, bias=True)
        (out_filter_dense): Linear4bit(in_features=4096, out_features=4096, bias=True)
        (mlp): ParallelGatedMLP(
          (l1): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l2): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l3): Linear4bit(in_features=10928, out_features=4096, bias=False)
        )
      )
      (16): AttentionBlock(
        (pre_norm): RMSNorm()
        (post_norm): RMSNorm()
        (inner_mha_cls): MHA(
          (rotary_emb): RotaryEmbedding()
          (Wqkv): Linear4bit(in_features=4096, out_features=12288, bias=True)
          (inner_attn): FlashSelfAttention(
            (drop): Dropout(p=0.0, inplace=False)
          )
          (inner_cross_attn): FlashCrossAttention(
            (drop): Dropout(p=0.0, inplace=False)
          )
          (out_proj): Linear4bit(in_features=4096, out_features=4096, bias=True)
        )
        (mlp): ParallelGatedMLP(
          (l1): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l2): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l3): Linear4bit(in_features=10928, out_features=4096, bias=False)
        )
      )
      (17-23): 7 x ParallelGatedConvBlock(
        (pre_norm): RMSNorm()
        (post_norm): RMSNorm()
        (filter): ParallelHyenaFilter()
        (projections): Linear4bit(in_features=4096, out_features=12288, bias=True)
        (out_filter_dense): Linear4bit(in_features=4096, out_features=4096, bias=True)
        (mlp): ParallelGatedMLP(
          (l1): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l2): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l3): Linear4bit(in_features=10928, out_features=4096, bias=False)
        )
      )
      (24): AttentionBlock(
        (pre_norm): RMSNorm()
        (post_norm): RMSNorm()
        (inner_mha_cls): MHA(
          (rotary_emb): RotaryEmbedding()
          (Wqkv): Linear4bit(in_features=4096, out_features=12288, bias=True)
          (inner_attn): FlashSelfAttention(
            (drop): Dropout(p=0.0, inplace=False)
          )
          (inner_cross_attn): FlashCrossAttention(
            (drop): Dropout(p=0.0, inplace=False)
          )
          (out_proj): Linear4bit(in_features=4096, out_features=4096, bias=True)
        )
        (mlp): ParallelGatedMLP(
          (l1): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l2): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l3): Linear4bit(in_features=10928, out_features=4096, bias=False)
        )
      )
      (25-31): 7 x ParallelGatedConvBlock(
        (pre_norm): RMSNorm()
        (post_norm): RMSNorm()
        (filter): ParallelHyenaFilter()
        (projections): Linear4bit(in_features=4096, out_features=12288, bias=True)
        (out_filter_dense): Linear4bit(in_features=4096, out_features=4096, bias=True)
        (mlp): ParallelGatedMLP(
          (l1): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l2): Linear4bit(in_features=4096, out_features=10928, bias=False)
          (l3): Linear4bit(in_features=10928, out_features=4096, bias=False)
        )
      )
    )
  )
)

and as said before it gives a warning about the unembed parameter to be re-initialized.
However during forward I get an error from the FlashAttention library
flash_attn/modules/mha.py", line 100, in forward
	assert qkv.dtype in [torch.float16, torch.bfloat16]

I can successfully fix this by adding Wqkv to llm_int8_skip_modules which then loads the attention block as
(8): AttentionBlock(
(pre_norm): RMSNorm()
(post_norm): RMSNorm()
(inner_mha_cls): MHA(
  (rotary_emb): RotaryEmbedding()
  (Wqkv): Linear(in_features=4096, out_features=12288, bias=True)
  (inner_attn): FlashSelfAttention(
    (drop): Dropout(p=0.0, inplace=False)
  )
  (inner_cross_attn): FlashCrossAttention(
    (drop): Dropout(p=0.0, inplace=False)
  )
  (out_proj): Linear4bit(in_features=4096, out_features=4096, bias=True)
)
(mlp): ParallelGatedMLP(
  (l1): Linear4bit(in_features=4096, out_features=10928, bias=False)
  (l2): Linear4bit(in_features=4096, out_features=10928, bias=False)
  (l3): Linear4bit(in_features=10928, out_features=4096, bias=False)
)
)

With this setting the 4bit model can run both forward and backward.
If loaded in 8bit I would get an error during the backward pass, with mismatched sizes, FYI it says
bitsandbytes/autograd/_functions.py", line 481, in backward
    grad_A = torch.matmul(grad_output, CB).view(ctx.grad_shape).to(ctx.dtype_A)
RuntimeError: shape '[1, 1000, 10928]' is invalid for input of size 10944000

with 1000 being the sequence length used for debugging and 10928 being an output size in the MLPs, so it seems that gradient dimensions wouldnt fit with the model architecture when loaded in 8bit.
Ideally I was more interested to run in 4bit than 8bit (i.e. trying the highest reduction in memory footprint) so I didnt try to solve this issue with the backward in 8bit. But with batch size 1 and an A100-80GB GPU, I get OOM above MSL=3000 tokens for both the unquantized LoRA and the 4bit LoRA ... I guess the limited compatibility of this custom architecture with BnB probably reduces the gains we can get from quantization ...
Also, when I run PEFT LoRA without quantization, I merge the adapters into the base class before saving so I can reload the finetuned model as I would load the original model. After doing a test run with LoRA and 4bit quantization, I got an error saying that the dequantize method isnt implemented. So if I dont run dequantize, the saved parameters do not match the sizes expected by the base class (and if loading with ignore_mismatched_sizes=True then we get a lot of parameters left randomly init.).
Regardless of the open question wrt. gains in memory in 4bit and saving/loading, I will try to run a longer finetuning to see if I get a similar convergence with LoRA BF16 and LoRA 4bit. But for my understanding, I would like to ask what is the recommended way to handle checkpointing with PEFT 4bit models please.
Is the below correct? Or should I avoid trying to dequantize the model?

start of training: 1) load in 4bit ; 2) apply PEFT LoRA ; 3) optionally apply LoftQ init.
end of training: 1) merge_and_unload PEFT adapters ; 2) dequantize (if implemented) ; 3) save_pretrained with the base class
inference: from_pretrained with the base class and the dequantized weights (note: here I am not concerned about inference speed, I just want to optimize finetuning and make sure I run inference properly, e.g. not skipping finetuned weights or adding up quantization/dequantization errors)

Thanks for looking into this issue, although most of it is due to working with this custom model which is beyond the scope of your library ...

authors: SunMarc adrienchaton matthewdouglas

repo: bitsandbytes-foundation/bitsandbytes


text:
🛑 Luogu Ti is down

In ffe5cde, Luogu Ti (https://ti.luogu.com.cn/problemset) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Luogu Ti is back up in bc4d165 after 18 minutes.

repo: bitsstdcheee/luogu-status


text:
🛑 Luogu Ti is down

In 8deea76, Luogu Ti (https://ti.luogu.com.cn/problemset) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Luogu Ti is back up in 7175903 after 11 minutes.


text:
🛑 Luogu Ti is down

In 4ad6c16, Luogu Ti (https://ti.luogu.com.cn/problemset) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Luogu Ti is back up in 23341d6.


text:
🛑 Luogu Ti is down

In 2a22ec5, Luogu Ti (https://ti.luogu.com.cn/problemset) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Luogu Ti is back up in 95e7813 after 128 days, 12 minutes.