Error when compiling Bravos Class Hash.

We are starting to execute some transactions accross Mainnet, starting from 0.13.1. We modified the Blockifier to use Native and then hook it up to Juno, in order to replay transactions and compare them with the VM.
When executing transaction 0x54d097cd28a33a15cf90cfe01991a22b167af0167e17f01e0dd30e8d0e6b347, since it interacts with Braavos (Account?) with class hash
0x00816dd0297efc55dc1e7559020a3a825e81ef734b558f03c83325d4da7e6253 we get the following error from Native, during MLIR generation.
thread '<unnamed>' panicked at /Users/rodro/.cargo/git/checkouts/cairo_native-0bad8506281b7281/64d61c4/src/libfuncs.rs:304:51:
index out of bounds: the len is 0 but the index is 0

After some digging I think it might be related with Enums when generating an unconditional branch. It's hard for me to delve more into it. Hope this is helpful.

Also, some of the TXs that are failing with the similar reason:
0x651f21d9312659018fbc0fc05b8aacfa26e0faddf3d724064cc251214ccd4f6
0x3bb5f95ce60f34258ec423eb92ca17fe5532cf2f7e0ba4ce44b06d0ebb4f5e1
0x3e14f39eba2dd853ebf45094bdf2f49066181c4ea66e1fe77fbb4de54edaebb

For these transactions:

0x651f21d9312659018fbc0fc05b8aacfa26e0faddf3d724064cc251214ccd4f6
0x3bb5f95ce60f34258ec423eb92ca17fe5532cf2f7e0ba4ce44b06d0ebb4f5e1
0x3e14f39eba2dd853ebf45094bdf2f49066181c4ea66e1fe77fbb4de54edaebb

Native crashes when trying to compile the Braavos Class Hash
During this execution, there are other contracts that are successfully compiling. Among them there is the Argent Class

I'll like to help out on this

We updated cairo-native to use cairo 2.6.3 and LLVM 18 (and Rust 1.78) among other fixes, could you please re-test with this updated version to see if it still doesn't work? (You can use main or this commit 0b3fe0a10d810d5e6d8821f83d635bf914d649ea )

To throw some light into the issue. At the moment this was unknown to use but when tracing a transaction Juno traces the whole block as well. This means that the mentioned transactions might have worked okay but at some point in the block when executing a Tx that required a Braavos Account it crashed.
We still have to verify execution correctness but this means that there are several transactions running correctly. We started recompiling the Braavos code , removing parts until we find the culprit(s).

Hello, is the panic location (libfuncs.rs:304:51) still accurate? The only reason why it would crash there with that error message, more specifically the len is 0, is that we've received a statement without any branches. This can only be the case on return statements, which are handled separately.
If that's the actual issue I think it's been reported earlier in #505. We still don't know why we're receiving those statements without branches. If possible, could you provide us with the smallest program (that you can find) which reproduces the bug? This way we can investigate much faster and potentially delegate the bug report to the correct project if that ends up being the case.

Hey there!
I've prepared small error reproduction of this issue that you can find in this repository https://github.com/varex83/cairo-native-compilation-failed-example-1
Also, duplicating it here:

When trying to compile with cairo native (with LLVM-18 installed), the following error is thrown:
thread 'main' panicked at /cairo_native/src/libfuncs.rs:304:51:
index out of bounds: the len is 0 but the index is 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

This error is originates from some_component.cairo, which has no Events, but they're exported in the main contract.cairo
file.
To remove the error, the SomeComponent must be removed from the main contract file.

This example is a minimal reproduction of the issue that arose when trying to compile
braavos account contract.
The following components (that have no events) break the compilation:

SRC5Component
RateComponent
OutsideExecEvt

Hello, I've compiled the example contract and analized the Sierra. I'll assume you're a bit familiar with the structure of the Sierra programs.
Here's what I've found:
type mock_contract::some_component::SomeComponent::Event = Enum<ut@[1112691209375471144620257979429958982113231934115537269132153284534741988113]> [storable: true, drop: true, dup: true, zero_sized: false];
    // Type `mock_contract::some_component::SomeComponent::Event` is an enum without variants. It
    //   cannot be initialized or matched.

type mock_contract::contract::TestingContract::Event = Enum<ut@[726743163660895369335477063681659866259110799100230797474649020819882354857], mock_contract::some_component::SomeComponent::Event, mock_contract::contract::TestingContract::EventA> [storable: true, drop: true, dup: true, zero_sized: false];
    // Type `mock_contract::contract::TestingContract::Event` is an enum with two variants, one of
    //   them being non-initializable. Variant #0 cannot be initialized.

libfunc enum_match<mock_contract::some_component::SomeComponent::Event> = enum_match<mock_contract::some_component::SomeComponent::Event>;
    // This libfunc causes the crash. It attempts to match an unmatchable type.

libfunc enum_init<mock_contract::contract::TestingContract::Event, 1> = enum_init<mock_contract::contract::TestingContract::Event, 1>;
    // This libfunc is OK because it initializes the valid variant of `mock_contract::contract::TestingContract::Event`.

And here's the summary:

It has an empty enum type (which cannot be initialized because it has no variants).
It tries to enum_match an instance of that type. This is wrong on many levels:

No instance can exist because it cannot be initialized.
There's no point in matching since there are no variants.
The enum_match libfunc has as many branch targets as variants. Since it has no variants there are no target branches, which completely breaks the program's control flow.

Issue was closed by CI when #643 was merged, I'll reopen it until we confirm it's progress.

Hello, I've just tried to run the failing transaction on Juno using the latest native commit (with the fix). It seems the program is not panicking anymore. This is the output (prettified):
{
  "jsonrpc": "2.0",
  "error": {
    "code": 63,
    "message": "An unexpected error occurred",
    "data": "execute transaction #50: failed txn 0x03d86ecc867b68b98b5508a2f161bb492fa85ea6a0b00d3dba00fe43078d3598 reason: Transaction validation has failed:\n0: Error in the called contract (contract address: 0x03f4b079641ef45e847b94b7639fcf9dfdde04370be8defb2a95adc1806f86e1, class hash: 0x00816dd0297efc55dc1e7559020a3a825e81ef734b558f03c83325d4da7e6253, selector: 0x0162da33a4585851fe8d3af3c2a9c60b557814e221e0d4f30ff0b2189d9c7775):\nNative execution error: INVALID_SIG\n"
  },
  "id": 0
}

I'll close the issue since the compilation error is fixed.
The validation one sounds like an issue in the implementation of the syscall handler. Do you have more information about this?
In any case, feel free to create a new issue to talk about this new one.


Use addEventListener for popstate/hashchange events

With this approach if user will set his own handler on popstate/hashchange event it will not reset library behaviour

Nice pick up @itrelease mate! Consider this merged! :100:

addEventListener is not available in IE8, which is why I had it like that, but @itrelease brought a good point which I had not considered.
Thanks!

We should look at settling on a "this is what we're going to support", so I don't merge stuff again....
But you're right in that regard.

@maraisr That's alright, you made the right choice!


Panics with 'index out of bounds' if --end < --start

I guess it would be nice to check for validity of date ordering and abort early with a more helpful message.
RUST_BACKTRACE=1 cargo-bisect-rustc --start=2018-09-01 --end=2018-01-01
checking nightly-2018-09-01
std for x86_64-apple-darwin: 47.25 MB / 47.25 MB [==============================================] 100.00 % 1.10 MB/s  uninstalling nightly-2018-09-01
verifying the start of the range does not reproduce the regression
thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 0', src/least_satisfying.rs:17:85
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::_print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: std::panicking::rust_panic_with_hook
   5: std::panicking::continue_panic_fmt
   6: rust_begin_unwind
   7: core::panicking::panic_fmt
   8: core::panicking::panic_bounds_check
   9: <alloc::collections::btree::map::Entry<'a, K, V>>::or_insert_with
  10: cargo_bisect_rustc::least_satisfying::least_satisfying
  11: cargo_bisect_rustc::run
  12: cargo_bisect_rustc::main
  13: std::rt::lang_start::{{closure}}
  14: std::panicking::try::do_call
  15: __rust_maybe_catch_panic
  16: std::rt::lang_start_internal
  17: main

Hey, I'm just helping and doing some stuff in this repo. I know you have reported this like a year ago but would you mind to open a PR for this? :). Thanks a lot anyway for just reporting the problem.


Full reloading hyper with cursor blink breaks display

Full reloading Hyper using cmd + shift + r breaks the display of the terminal when the cursor blinks. I've disabled this feature setting the flag to false in the .hyper.js file and I can full reload without breaking the display.
Here's my .hyper.js:
module.exports = {
  config: {
    // default font size in pixels for all tabs
    fontSize: 14,

    // font family with optional fallbacks
    fontFamily: '"Meslo LG S for Powerline", Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',

    // terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
    cursorColor: '',

    // `BEAM` for |, `UNDERLINE` for _, `BLOCK` for █
    cursorShape: 'BEAM',

    // set to true for blinking cursor
    cursorBlink: false,

    // color of the text
    foregroundColor: '#fff',

    // terminal background color
    backgroundColor: '#282c34',

    // border color (window, tabs)
    borderColor: '#282c34',

    // custom css to embed in the main window
    css: '',

    // custom css to embed in the terminal window
    termCSS: 'x-row {line-height: normal;}',

    // set to `true` if you're using a Linux set up
    // that doesn't shows native menus
    // default: `false` on Linux, `true` on Windows (ignored on macOS)
    showHamburgerMenu: '',

    // set to `false` if you want to hide the minimize, maximize and close buttons
    // additionally, set to `'left'` if you want them on the left, like in Ubuntu
    // default: `true` on windows and Linux (ignored on macOS)
    showWindowControls: '',

    // custom padding (css format, i.e.: `top right bottom left`)
    padding: '12px 14px',

    // the full list. if you're going to provide the full color palette,
    // including the 6 x 6 color cubes and the grayscale map, just provide
    // an array here instead of a color map object
    colors: {
        black: '#000000',
        red: '#ff0000',
        green: '#33ff00',
        yellow: '#ffff00',
        blue: '#0066ff',
        magenta: '#cc00ff',
        cyan: '#00ffff',
        white: '#d0d0d0',
        lightBlack: '#808080',
        lightRed: '#ff0000',
        lightGreen: '#33ff00',
        lightYellow: '#ffff00',
        lightBlue: '#0066ff',
        lightMagenta: '#cc00ff',
        lightCyan: '#00ffff',
        lightWhite: '#ffffff'
    },
    // the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
    // if left empty, your system's login shell will be used by default
    shell: '/usr/local/bin/zsh',

    // for setting shell arguments (i.e. for using interactive shellArgs: ['-i'])
    // by default ['--login'] will be used
    shellArgs: ['--login'],

    // for environment variables
    env: {},

    // set to false for no bell
    bell: 'SOUND',

    // if true, selected text will automatically be copied to the clipboard
    copyOnSelect: true,

    // URL to custom bell
    // bellSoundURL: 'http://example.com/bell.mp3',

    // for advanced config flags please refer to https://hyper.is/#cfg

    // Plugins configuration
    nordHyper: {
	     cursorBlink: false,
    },

    hyperlinks: {
        defaultBrowser: true
    }
  },

  // a list of plugins to fetch and install from npm
  // format: [@org/]project[#version]
  // examples:
  //   `hyperpower`
  //   `@company/project`
  //   `project#1.0.1`
  plugins: [
    'hyperline',
    'hyperlinks',
    //'hyperterm-atom-dark',
    'nord-hyper'
  ],

  // in development, you can create a directory under
  // `~/.hyper_plugins/local/` and include it here
  // to load it and avoid it being `npm install`ed
  localPlugins: [],
};

Thanks for your report 👍
I was not able to reproduce this on Arch Linux and I'll try it on OSX and Windows as soon as possible.
Basically the blinking feature is not necessary anymore. Hyper patched the official feature 2 days after I've implemented this theme feature 😆
But unfortunately the blinking animation it is not as smooth as my theme feature since it does not use fade-in-out transitions, but I already expected that there might be problems if both features are enabled at the same time.
Maybe I'll just remove the feature and implement a smoother animation for the official blinking feature and create a PR for it.

You're welcome :) Something might be wrong with my configuration though.
Yeah I highly prefer the blinking animation from your theme than Hyper's.
Maybe you could add custom CSS properties to the Hyper one to get it as smooth as it is on your feature 🤔

Hey, sorry for my late reply, I've been busy with my job.
Is this still a problem? I've tried to reproduce this using Hyper 1.3.3 and everything works fine. Maybe this was also related to the fact that you're running zsh and I've tested it using bash ;)
If the problem is still present I'll remove the theme feature for now and maybe get back to it later.

Sorry for the long delay, I've had almost no freetime to work on my projects. I've removed the cursor blinking configuration in #12  for now, users can switch to the builtin feature provided by Hyper introduced in version 1.3.0.


[SMALLFIX] Enable GCOverheadLimit

It's better to fail fast when we are running out of memory.

LGTM. Thanks.


Menu bar "File" and "Edit" not functional in Spyder 3.1.4 on Ubuntu 17.10

In Spyder 3.1.4, the latest version in Ubuntu 17.10's repository, after starting Spyder, if you click on "File" in the menu bar, it darkens with the "button depressed" appearance, but the drop-menu does not appear. Same problem if "Edit" is clicked.
However, if "Search" is clicked, the drop-menu does appear, and then if the cursor is moved left, the drop-menus for "Edit" and "File" do appear as the mouse hovers over them.
Desktop capture showing problem:  https://streamable.com/db9q7
Tested with Spyder and Spyder3 on Ubuntu 17.10 with Gnome and KDE desktops. Same problem with all.

Spyder Version: 3.1.4
Python Version: 2.7.14 and 3.6.3
Qt Version: 5.9.1
PyQt Version: 5.7
Operating system: Ubuntu 17.10, Gnome Wayland and KDE Xorg

jedi >=0.9.0     :  0.10.2 (OK)
matplotlib >=1.0 :  2.0.0 (OK)
nbconvert >=4.0  :  4.2.0 (OK)
numpy >=1.7      :  1.12.1 (OK)
pandas >=0.13.1  :  None (NOK)
pep8 >=0.6       :  1.7.0 (OK)
psutil >=0.3     :  5.0.1 (OK)
pyflakes >=0.5.0 :  1.5.0 (OK)
pygments >=2.0   :  2.2.0 (OK)
pylint >=0.25    :  1.7.2 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
rope >=0.9.4     :  0.10.5 (OK)
sphinx >=0.6.6   :  1.5.6 (OK)
sympy >=0.7.3    :  None (NOK)

Closing because of lack of response.


Can't activate python virtualenv

I cannot activate a python virtual environment:
source venv/bin/activate
execvp(3) failed.: No such file or directory
. venv/bin/activate
execvp(3) failed.: Permission denied
my user is the owner of the files

any error logs ?

Hey, @jpompe. source is a built-in shell function. We use a custom shell, which doesn't support it yet.

I don't know should this be a new issue or just put it here.
Sorry.
When I typed source activate nothing happens.
I mean: no error, and also no virtual env has a sign of whether activated.

Very nice and interactive. If it only supported source to use it with virtualenvs.

Any updates on this or maybe a way I could help?

The way to implement this would be by using an "environment observer" plugin. We currently have an environment observer plugin that adds support for RVM that you can look at for an example of how to do it. Look for the file RVM.ts. Due to the way virtualenv works, though (with source) you may need to add some features to the core code as well.

Any updates on this issue, is it solved or is there any instruction to go around with it? I am still facing with this issue.

No, sorry :(

Perhaps venv functionality for Python development can be implemented as a Plugin?

@kennell perhaps the exact steps to reproduce with expected and actual results would be helpful to have it fixed sooner.

Check-out extraterm. It's worth your time, you will love it. I'm a fan of the project and I'm learning to code. So my contributions are just talking at the moment.
https://github.com/railsware/upterm/issues/266
https://github.com/sedwards2009/extraterm/issues/70#issuecomment-354504881


:arrow_up: UPDATE: dep to have nicer logs

👋 Saadeghi,
I updated a few internals & improve styles. Mind bumping your version?
Thx

Thanks


Fix unauthorized conditon for onboarding modal

Details

Some parts of the navigation required an additional condition to verify if the user is authenticated. The red dot is a back-end issue, we're just displaying the error, so it shouldn't be handled on the front-end side.
Fixed Issues

$ https://github.com/Expensify/App/issues/45157
PROPOSAL:
Tests

In incognito mode go to https://dev.new.expensify.com:8082/r/1353086947735283 or any public report (make sure onyx entry in index db is removed before)
The modal with onboarding flow shouldn't appear

[x] Verify that no errors appear in the JS console

Offline tests

As above
QA Steps

In incognito mode go to https://staging.new.expensify.com/r/1353086947735283 or any public report
The modal with onboarding flow shouldn't appear

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/45288762/05164de5-26df-4f5a-85dd-ec3598bcc0fc

MacOS: Desktop

@allgandalf there's something wrong with some public chats anyway, but it looks a bit different. For two of them, I'm getting those errors instead of the action error

The original PR got reverted


ERROR: cudaRegisterFatBinaryEnd

Hello!
I am a Masters student trying to run your code for my final project (it looks incredibly interesting)!
However, I am running into an issue when I try to train or test it using your instructions.
I am on CUDA 9.0, torch==0.4.0, torchvision==0.2.0. However I have tried a mix of the three to no avail.
Upon running, I get the error: ImportError: /home//PPDM/src/lib/models/networks/DCNv2/_ext/dcn_v2/_dcn_v2.so: undefined symbol: __cudaRegisterFatBinaryEnd
Please do let me know if you have any suggestions to remedy this. Thank you!

It's Cuda version problem. Use cuda9 and PyTorch 0.4.1 will fix it. More can be referred as the issue of CenterNet

Thank you for the reply. I was able to get past that problem. However, when I go to train:
python main.py  hoidet --batch_size 112 --master_batch 7 --lr 4.5e-4 --gpus 1  --num_workers 16  --load_model ../models/ctdet_coco_dla_2x.pth --image_dir images/train2015 --dataset hico --exp_id hoidet_hico_dla
I get the error: RuntimeError: cuda runtime error (38) : no CUDA-capable device is detected at /pytorch/aten/src/THC/THCGeneral.cpp:70

As well, when I enter --gpus 0, it begins to train, but then the process kills:
Starting training...
hoidet/hoidet_hico_dlaKilled

It is too little information to know what happened. Did you turn the batch size small to fit for a single gpu?

Thank you for your comments. I had turned the batch size down but I believe my 1GPU is just not powerful enough.


Migration path from fastparse-byte 1 to fastparse 2?

How would you recommend I convert a fastparse 1.0 byte parser into a fastparse 2 parser? In the changelog I noticed you said you dropped support for byte parsing, so is byte parsing completely unsupported in fastparse 2? I must admit, this is a bit of a disappointment, as I am using fastparse-byte 1.0 to great effect.
Should I just stay on fastparse-byte 1.0? Will it still be maintained?
Thanks!
Edit: Also how to find the fastparse-byte 1 documentation? I seem unable to find it.

questions go in gitter


[chore]: Stop using shouldForwardProp and just use $ for simplicity

What's Wrong?
We're using shouldForwardProp which whilst it isn't incorrect, the simple recommended approach for handling props being incorrectly passed to the DOM is to use the $ symbole – https://styled-components.com/docs/api#transient-props

Update – this will be required to update to styled-components@6

solved by #1695


Bug: Error on /user/[username] route on some Mobile browsers

Describe the bug
On Visit to user/[username] route specifically on the Brave Browser Mobile, the error below occurs.

This as been the case for as long as I've been in the community, 1.5month+ now.
It work alright on Chrome Mobile browsers I have since tested on other browser I can reach on my mobile and here' are the results

Chrome ⚪ Mobile - Works ✅
Opera 🅾 Mini - Application Error ❌
Brave 🦁 Mobile - Application Error ❌
Kiwi 🥝 Browser - Application Error ❌

Steps to reproduce
On the browsers stated as ones with error.

Visit the highlights page at /feed
Click on any user profile which should route you to /user/[username]

Expected Behaviour
The User Profile should be opened normally
Actual Behaviour
The page opens to an error message Application error: a client-side exception has occurred (see the browser console for more information).
Browsers
Opera, Other (add additional context)
Additional context (Is this in dev or production?)
Brave Mobile, Kiwi, Opera Mini
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

Do you have any stacktrace information?

Do you have any stacktrace information?

None for now, I will have to figure out a way to access the console on the mobile browser to get that.
Will revert asap!

Here @brandonroberts
main-9025912cef66298b.js:1 - TypeError: J.pathname.split(...).at is not a function
    at eP (9055.30fa0038a7658f88.js:1:21330)
    at ab (framework-aec4381329cec0e4.js:9:60911)
    at i (framework-aec4381329cec0e4.js:9:119455)
    at oO (framework-aec4381329cec0e4.js:9:99104)
    at framework-aec4381329cec0e4.js:9:98971
    at oF (framework-aec4381329cec0e4.js:9:98978)
    at ox (framework-aec4381329cec0e4.js:9:95730)
    at oC (framework-aec4381329cec0e4.js:9:96119)
    at r4 (framework-aec4381329cec0e4.js:9:44772)
    at framework-aec4381329cec0e4.js:9:93622

main-9025912cef66298b.js:1 - A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred

Looks like its coming from here https://github.com/open-sauced/insights/blob/c4c56098826f085e5c551e088ac4fc3ada969f34/components/organisms/ContributorProfileTab/contributor-profile-tab.tsx#L67
Could be a browser support issue
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at

I tried it using the devtools and my phone on Brave Browser but couldn't reproduce it :thinking:
And I think it's pretty well supported, since Brave is chromium based it should work

Hey @takanome-dev
You will be needing to use USB Debugging with your Developer Mode turned on, on your Android device to starte with.
Learn More - https://www.browserstack.com/guide/chrome-mobile-debugging#toc0
In regard the Chromium relation, I thought the same too, but it just doesn't happen to apply, I don't know why.
I will really want you to recreate the issue first, then we can try figure out how to use a polyfill for this or what best way to move forward.

.take


Certificate is valid for ingress.local, not test-network-org0-ca-ca.localho.st error on network up

Is anyone else having this error message on ./network up?
I am running a local cluster with rancher desktop and k3s.
This error comes up when enrolling org0 root CA admin rcaadmin:
Debug logs:
2023/03/29 22:03:32 [INFO] Created a default configuration file at fabric-operator/sample-network/temp/enrollments/org0/users/rcaadmin/fabric-ca-client-config.yaml
2023/03/29 22:03:32 [INFO] TLS Enabled
2023/03/29 22:03:32 [INFO] generating key: &{A:ecdsa S:256}
2023/03/29 22:03:32 [INFO] encoded CSR
Error: POST failure of request: POST https://test-network-org0-ca-ca.localho.st:443/enroll
{"hosts":["cargyriou-ThinkPad-P14s"],"certificate_request":"-----BEGIN CERTIFICATE REQUEST-----\nMIIBUDCB9wIBADBgMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xp\nbmExFDASBgNVBAoTC0h5cGVybGVkZ2VyMQ8wDQYDVQQLEwZGYWJyaWMxETAPBgNV\nBAMTCHJjYWFkbWluMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7p3KsryyxBHu\nPzbnZF+qlPD32jZ3Lf72Li1Iwbx69iMvhjHIpAWy8KJG9INmm5wzevUr0Wl92hXy\n8TASTvRDDKA1MDMGCSqGSIb3DQEJDjEmMCQwIgYDVR0RBBswGYIXY2FyZ3lyaW91\nLVRoaW5rUGFkLVAxNHMwCgYIKoZIzj0EAwIDSAAwRQIhALZ3qvBdoFlP48/FRrND\nHJGFqCKFPrDiyr/laQ9NltQwAiBZC3Uf4f6B8JUD1wdvnAzeNGdudcQ7q/t/7+wo\nQd4+pQ==\n-----END CERTIFICATE REQUEST-----\n","profile":"","crl_override":"","label":"","NotBefore":"0001-01-01T00:00:00Z","NotAfter":"0001-01-01T00:00:00Z","ReturnPrecert":false,"CAName":""}: Post "https://test-network-org0-ca-ca.localho.st:443/enroll": x509: certificate is valid for ingress.local, not test-network-org0-ca-ca.localho.st

Hi @charalarg
./network up is compatible with rancher desktop and k3s.  However - the up targets will attempt to bind an Nginx ingress controller to ports 80 and 443.
What is happening above is that the CA client is trying to connect to the cluster ingress at port 443, and hitting the Traefik  controller that has been installed with Rancher Desktop.  Basically - you have two ingress systems running, both trying to bind to :80 and :443.
Quick fix for this is to disable the Traefik ingress in the Rancher Desktop settings.  OR to change the ingress port bindings in the ./network script (I believe these can be set with environment variable overrides...).
Using the Nginx config that comes with the ./network up script is probably the easiest path forward.  The other alternative would be to enable the ssl-passthrough mode for Traefik.
There are some notes on Rancher setup in the samples project at https://github.com/hyperledger/fabric-samples/blob/main/test-network-k8s/docs/KUBERNETES.md#rancher-desktop-and-k3s

Hello @jkneubuh,
Thank you for your response. The thing is that I followed the readme file step by step so I had already disabled Treafik on Rancher Desktop and also tried the whole procedure both with containerd and dockerd runtime. Unfortunately I had the same results.


slow find/replace with some multiline regex queries

put the following into https://codemirror.net/demo/search.html
#

x: {
  y_z: "a-b-reviews"

  check_tests: {
    project: "youtube.b.x"
  }
  check_default_stuff: {}
  check_do_not_submit: {}
  check_some_conflict: {}
}

ctrl+f, and then paste in /check_tests([^]*\n?)*}/
expected: the result should come up quickly
actual: chrome freezes for many seconds (with variants of this input, it freezes long enough for chrome to tell you to kill the tab)
Doing the following in the dev console works quite quickly:
const s = `#

x: {
  y_z: "a-b-reviews"

  check_tests: {
    project: "youtube.b.x"
  }
  check_default_stuff: {}
  check_do_not_submit: {}
  check_some_conflict: {}
}
`;
const re = /check_tests([^]*\n?)*}/gmi;
re.exec(s);

I warned you about performance when we discussed the multi-line regexp feature. In this case, the regexp itself is exponential (and, as far as I can see, needlessly so), which you can see if you run it against a substring of your example instead:
/check_tests([^]*\n?)*}/gmi.exec(`#

x: {
  y_z: "a-b-reviews"

  check_tests: {
    project: "youtube.b.x"`)

Regexps are a performance liability in their very nature, and that's not something CodeMirror can solve.


chore: adds container engine related dirs to .dockerignore

RHINENG-10349
Secure Coding Practices Checklist Link

https://github.com/RedHatInsights/secure-coding-checklist

Secure Coding Checklist

[ ] Input Validation
[ ] Output Encoding
[ ] Authentication and Password Management
[ ] Session Management
[ ] Access Control
[ ] Cryptographic Practices
[ ] Error Handling and Logging
[ ] Data Protection
[ ] Communication Security
[ ] System Configuration
[ ] Database Security
[ ] File Management
[ ] Memory Management
[x] General Coding Practices

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

Project coverage is 74.79%. Comparing base (0d66408) to head (867e7d1).
Report is 74 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #520   +/-   ##
=======================================
  Coverage   74.79%   74.79%
=======================================
  Files          25       25
  Lines         849      849
=======================================
  Hits          635      635
  Misses        214      214

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

lgtm
the lack of a newline before EOF bugs me a big, but it's up to you

corrected, thank you


Constructors for decorated graphs

We should think about having construction methods for decorated graphs.
E.g. given a named graph g we have some function like
decorate_graph(g::NamedGraph, edge_map::Function)
where edge_map::Function is a map which takes an edge of g e and outputs the namedgraph which will then be inserted along e in the original graph g,
For example something like
g = named_grid((L,L))
g_dec = decorate_graph(g::NamedGraph, e -> named_grid((1)))

would build the L x L Lieb lattice by inserting a single vertex along the edges of the regular square lattice.
Obviously we would have to think about how to name the new vertices that have been added to g and also how to specify  which vertices of the inserted graph connect to src(e) and dst(e) (perhaps by defaulting to the first vertex of the decorated graph with additional specification if desired).

We could have a naming convention like (e, v) where e is the edge where the edge decoration graph is being inserted and v is the name of the vertex of the edge decoration graph. Or it is just up to the user to specify names based on the edge input, for example:
g = named_grid((L,L))
function edge_decoration_graph(e)
  g_e = named_graph()
  add_vertex!(g_e, src(e))
  add_vertex!(g_e, (e, 1))
  add_vertex!(g_e, dst(e))
  add_edge!(g_e, src(e), (e, 1))
  add_edge!(g_e, (e, 1), dst(e))
  return g_e
end
g_dec = decorate_graph(g::NamedGraph; edge_decoration=edge_decoration_graph)

but the convention of automatically adding an edge from src(e) to the first vertex and an edge from the last vertex to dst(e) could make sense, obviously that makes defining the edge decoration graphs simpler.
Also a complementary functionality would be to replace the vertices of a graph with a vertex decoration graph, for example:
function vertex_decoration_graph(v)
  g_v = named_graph()
  # ...
end
g_dec = decorate_graph(g::NamedGraph; vertex_decoration=vertex_decoration_graph)

I think that naming convention makes the most sense and we should have that as default. Also having vertex replacement makes sense too

I just realised that with this we would create the 127-qubit IBM heavy hex lattice as follows:
g = hexagonal_lattice_graph(3, 5)
heavy_hex = decorate_graph(g; edge_decoration=e -> named_grid((1)))
#Line of code that adds two additional qubits to the top right and top left of the lattice

hexagonal_lattice_graph(m::Int64, n::Int64) is a function I added in PR #35 that creates an m by n lattice of hexagons.
Inserting an extra vertex on each edge creates the heavy hex geometry (with loops of size 12).
Super neat when code comes together like that.

Closed by #37.


puppet: Fix process_queue command lines to use the new argument style.

cd2348e9aec36d7f26475fa7d966d06588dbeb75 broke installing Zulip in
production since it didn't correctly update the puppet configuration
to call the process_queue script using the new argument format.

Automated message from Dropbox CLA bot
@timabbott, it looks like you've already signed the Dropbox CLA. Thanks!

fftp


Disaster Recovery deployment for WSO2 Identity Server

An enterprise needs to keep its systems and applications to withstand regional failures, effectively enabling part or all of the load to transition to an alternate region.

Enterprises are OK to lose end user's logins/sessions and allow them to re-login
Providing user experience without re-login won't be practical since switching to a passive data center will have downtime.
Need to consider how to sync data and runtime artifacts, such as user stores and event publishers, between multiple data centers
Here, the switch is done manually, which leads to a downtime
Fewer resources needed might be running a cold environment in a secondary (DR) site, which leads to fewer costs
Traffic accepted only by the primary site

Need to have a guide setting up DR with the impact on the product scenarios, including any data loss information.

DR guide: https://docs.google.com/document/d/1geXM6EgXsDE4U7WKrF7n81cPrrmR-Tp-dmZqdj-K0NI/edit?usp=sharing

Update 17/10/2023
The official DR guide is in the works in [1].
The scope should be defined more to cater to a targeted audience (deployment experts).
The document should outline methodologies with information more related towards IS and not other technologies.
Atleast one other pattern needs to be added to broaden the context.
[1] https://docs.google.com/document/d/1-vBM59XVp31SEvEpjogvlovU7Neu0EKglZwmvsB9KM0/edit?usp=sharing


Is it possible to set the value of bodyScrimColor?

This issue was already reported by me in the previous issue: https://github.com/flutter/flutter/issues/95122
Example project: https://github.com/Nbioni/flutter_custom_end_drawer
Use case
I'm developing a dashboard that clicking profile on the header will open an endDrawer that applies a background shadow only to the application body, I did this by calling the showBodyScrim event that allows me to pass whether we should present the background shading and its opacity.
I wish I could choose the background color of my bodyScrim. That is, I would like to be able to somehow set the value of "_bodyScrimColor".
My questions:
1 - Is there a better way to open an endDrawer without applying shading to my AppBar and being able to pick the drop shadow color?
2 - If not, how could I choose the color of my bodyScrimColor?

flutter doctor -v

Proposal
It would be interesting to have a way to change the color of the bodyScrimColor variable

@Nbioni
Can you try to change it by using something like Scaffold.of(context).showBodyScrim(false, 0.0); and pass the required value in the method call and see if it helps ?


📖Remove k8s fake client usage notes from testing doc

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

/test-v1b1-ubuntu-integration

/test-v1b1-ubuntu-integration

/test-v1b1-ubuntu-integration

/hold

/close
Will be handled by #112


Equivalent of RegExp.matchAll

Hey :) How are you?
I'm going over the library and its documentation, and I can't find an equivalent to JS's native matchAll function as found in here.
Is there an option to get all matches?
If not, is it possible to add this to the library?
Kind regards
Dan

https://github.com/le0pard/re2js?tab=readme-ov-file#finding-matches - section called "Finding Matches"


I2C reads: executing logic inbetween read bytes.

I'm working on a peripheral that returns the length of an I2C message as the second read byte. I have to read exactly that amount of bytes, otherwise the peripheral enters an error state.
My main question is: How am I supposed to execute logic inbetween read bytes, without the library sending the address again?
The specific logic in this case is that after the second byte I know how many bytes I'll need to read. The usual read functions however need a buffer of a size known at compile time and will read that buffer until it's full.
As far as I've found, the transaction_iter function (https://github.com/rp-rs/rp-hal/blob/main/rp2040-hal/src/i2c/controller.rs#L394) looks promising. I've tried to implement an iterator that returns Operations, which first returns a Write Operation with my command data, and then will read byte by byte, and on the second byte determine how much message is left and supply exactly that amount of single-byte Read operations for the rest of the iterator (not the fastest, but speed is not an issue here). However, the Read operation exposed by the i2c-write-iter crate takes an &'a mut [u8] which has caused lifetime issues while implementing the Iterator trait for my iterator.
Is my solution the intended use of the transaction_iter? Is there an example somewhere using transaction_iter with logic inbetween reads (I looked on github, couldn't find any)? Is there some way that I can read a byte, execute code, then decide what to do next (stop the transaction, read the next byte, etc)?

This might be a good question to ask over on the Rust Embedded matrix channel as it relates to the embedded-hal APIs which we implement.
Which chip are you using? I've not come across one like that before - I've always done one read to get the size and then a second read of the correct size.

I'm trying to read/write to an industry specific peripheral, as far as I can see its datasheet isn't available online :sweat_smile:

I've always done one read to get the size and then a second read of the correct size.

What I'm struggling with is how to run a read of a size that I cannot know at compile time. Maybe you have some example code of what you're doing? All read functions that I can find require a &mut [u8] read buffer, which as far as I understand has a fixed size at compile time. Furthermore, those read functions do a call to self.setup() every time, meaning the address is written again, which to my peripheral means a new I2C transaction starts.
I guess if I could have a read function that doesn't call setup my problem would be fixed as well.

No, that's a slice with a run time size.

Make an array that's always big enough
Read the length
Slice the array to the desired length
Read into the slice


Merge pull request #5 from ronaldchan333/branch1

Merge pull request #4 from ronaldchan333/main

23-12-5-2


Function calls

This issue awaits approval of proposal in roundtable.
Please describe what you would like to see in this project
Function calls should be added to the expression language.
There are two types of functions that should be added to the expression language: preprocessor and runtime functions.

Runtime functions are the usual types of functions, and can take input from steps.
Preprocessor functions can only take input from literals, or potentially input variables. Will be used for enhancing security.

The syntax for a standard runtime parameter-less function call will be identifier(), where you replace identifier with the name of the function.
Parameters will be comma-separated expressions, including literals. Non-literals will be evaluated before execution.
The syntax will change for preprocessor functions by adding an ! after the function name, but before the parameter parentheses. For example, identifier!()
The changes to the BNF (Backus–Naur form) are:

Adding function calls and literals to the root of the expression: root ::= identifier | "$" | function_call | preprocessor_call
Adding function calls: function_call ::= identifier "(" parameter_list ")"
Adding preprocessor calls: preprocessor_call ::= identifier "!" "(" parameter_list_literal")"
Adding parameter_list ::= "" | expression | expression, parameter_list (This is recursive as shown. Nothing is a valid value)
Adding parameter_list_literal ::= "" | value_literal | value_literal, parameter_list (This is recursive as shown. Nothing is a valid value)
Changing sub-expressions to not require () since that will just be confusing: key ::= value_literal | "(" expression ")" -> key ::= root
Adding literals to root: root ::=  value_literal | identifier | "$" | function_call

Please describe your use case
The simplest use case is in place of an expression, so the value can be retrieved straight from the function.
Another use case is a function with an input of an expression. In this case, the inner expression would need to be evaluated before the function. The function would then be called with the input from the inner expression.
A more complex use case expands it further and allows an expression to be used as an input to a key in a map.
The preprocessor function calls will be used for instances where we want to run something before the rest of the workflow. For example, accessing a file outside of the workflow working directory. That file would likely be accessed in a way like file!("~/.kube/config"), and we could then prompt the user at the beginning of the workflow, rather than stalling the workflow at another point.
Implementation details
A registry of functions will be created. The structures will be similar to the ones shown below.
First, we need to define a schema for the functions, which give the inputs and outputs. These store the parameters and return types.
type ArcaflowFunctionSchema[InputType any, OutputType any] struct {
    InputSchema schema.TypedType[InputType]
    OutputSchema schema.TypedType[OutputType]
}

Next, using that, the function interface will have a function that returns the schema, and a run function that has the type and the workflow context passed in, and returns the output type or an error.
type ArcaflowFunction[InputType any, OutputType any] interface {
    Schema() ArcaflowFunctionSchema[InputType, OutputType]
    Run(input InputType, workflowContext map[string][]byte) (OutputType, error)
}

This data will be stored in a function registry. Individual functions will be defined in a sub-package of this.
Additional context
Functions available to call will be known before running the expression. That will allow there to be type info that would permit static type analysis.

@jaredoconnell Isn't this closed with #16 ?

Yes. This is out of sync with JIRA.


1140 layout error

I get a blank screen (apart form the wp menu bar) when choosing the 1140 layout. This only happens with downloads from since last week. Older copies work fine.
I'll have a look into it when i get time :)

Same problem for me, it happens only with the 1440 grid and on Webkit browsers (Chrome, Safari)
You can experience the problem at this URL: http://fralorenzo. com

Nobody has a fix for this? How could i find a previous, working version of the theme?

this issue has been only open for 2 days (not to mention it's the weekend).. so either relax and wait or actually help try finding a fix.
you can easily download previously tagged releases from https://github.com/retlehs/roots/tags
this is likely a very quick fix.. i just haven't had a chance to look into it yet.

unfortunately i'm a total newbie to Roots and lack the programming skills to fix the code
anyway, i've downloaded the versione issued 4th of January and it works good
thank you

fixed by bf8a0f16305534b06907511801fcfa309041ada0


Reply to this email directly, view it on GitHub, or mute the thread.

Why do you receive email messages sent to you?
<EMAIL_ADDRESS>发件人： zw
发送时间： 2018-04-10 17:01
收件人： DuGuQiuBai/Java
抄送： Subscribed
主题： Re: [DuGuQiuBai/Java] 第一次git (#9)
Sorry, for the first time playing GitGub, I think it's easy to collect and learn later.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I use this mailbox when I'm registered
<EMAIL_ADDRESS>发件人： Ali7117
发送时间： 2018-04-10 17:12
收件人： DuGuQiuBai/Java
抄送： zw; Comment
主题： Re: [DuGuQiuBai/Java] 第一次git (#9)
Why do you receive email messages sent to you?
<EMAIL_ADDRESS>发件人： zw
发送时间： 2018-04-10 17:01
收件人： DuGuQiuBai/Java
抄送： Subscribed
主题： Re: [DuGuQiuBai/Java] 第一次git (#9)
Sorry, for the first time playing GitGub, I think it's easy to collect and learn later.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Missing device info triggers exception

While testing with an emulator, it was trying to resolve "generic_x86_arm" and could not get JSON data from the server.
getDeviceInfo
       String url = String.format(DEVICE_JSON_URL, codename.toLowerCase(Locale.ENGLISH));
       String jsonString = downloadJson(url);
       JSONArray jsonArray = new JSONArray(jsonString);

If downloadJson fails and returns an empty string, it will fail on JSONArray.
org.json.JSONException: End of input at character 0
Not a huge deal since it is caught but it looks bad to see in the debugger.

No longer an issue in the current code


[connectivity] Added getWifiIP()

Adding getWifiIP() to obtain current wifi network's IP.

I signed it!

I signed it!

Hi @IAmSarthakVerma
Is there an advantage on getting the IP in the platform/plugin instead of directly using NetworkInterface from the dart:io?
Take a look at this example on how to obtain the IP using dart:io, it doesn't depend even on the connectivity plugin.

Nice! I'll make a few suggestions! Let me know what you think!

hey @IAmSarthakVerma , the project changed to use clang-format 7.  :-/
so you need to change it, rebase your branch, reformat your code and commit again.
apparently you can use standard clang-format formula from Brew (which is version 8).

Hey, @ffeu I've uninstalled the clang-format version 5 and have installed the version 8.0.0. Now can you please tell me how to format my code using the new clang, the previous command is still failing the tests.

Sorry for the delay!
I guess formatting is ok, but you must resolve the conflicts!

Conflicts Resolved!

Hi @kroikie , can you please take a look at this one? It looks good to me.

Hello @ffeu  @kroikie Any updates?

@ffeu ?

No problem @ffeu Actually I was just wondering whether everything is all good from my end, that's why I asked you.

blocked on https://github.com/flutter/flutter/issues/27643

this needs a simple unit test after #1175 lands

@IAmSarthakVerma Could you tell me why didn't you just use:
- (NSString*)getWifiIp {
  NSString* bssid = nil;
  NSArray* interFaceNames = (__bridge_transfer id)CNCopySupportedInterfaces();

  for (NSString* name in interFaceNames) {
    NSDictionary* info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)name);
    for(NSString *key in [info allKeys]) {
      NSLog(@"%@ - %@", key,[info objectForKey:key]);
    }
    if (info[@"BSSID"]) {
      bssid = info[@"BSSID"];
    }
  }

  return bssid;
}

It would be very similar to the wifiName code and it worked exactly like your code and it looks simpler to me.

Can we se the new API? Can you show an import and a line of usage?

Usage is here: https://github.com/flutter/plugins/pull/895/files#diff-fd6ddf52f26de17cc079864f9698b3a8


include leader and current rule info in vote log

This can help us determine a peer's current state easier when investigate vote and leader changes related issues.

/cc @Connor1996 @overvenus

waiting for #547 to fix the nightly build first.


React Native support

I don't exactly see why it shouldn't but this module appears not to work with react native,
Well, log.warn() and log.error() work, but nothing below that level gets output,
-even if I call loglevel.setDefaultLevel('trace'); or loglevel.setLevel('trace');
log.debug() and log.info() still equal noop
I don't know if it has something to do with the persisting, as react-native had no localstorage..

Hmm, I'm not sure I'm afraid, I've never used React Native.
Do the corresponding console.info/trace/debug methods work?
Can you log the value of the methods that don't work? E.g. console.log(log.info). If the levels have been enabled correctly, they should be native functions (e.g. they'll print as ƒ log() { [native code] }), whereas if loglevel isn't trying to enable them at all they'll be empty functions: ƒ () {}.
Loglevel makes a lot of effort to work even in old browsers from before localStorage was available, so I'd be surprised if that was the issue, but without knowing much about React Native it's hard to tell.

The methods that don't work log out as ƒ () {} -noop

And that's after calling setLevel('trace')? In that case, that suggests that setLevel isn't working.
The code is pretty simple. I don't have a react native environment set up, but if you debug through this, what should happen is that it calls replaceLoggingMethods with the level you pass, and then internally that should call realMethod for every enabled level, and that should return the appropriate console method. Then the resulting methods are saved as log.X for each enabled level, and a no-op function is saved as log.X for each disabled level.
Looking through the code, I can't see where that could possibly go wrong for React Native, but who knows. If you step through it though, you should see somewhere there that no-op gets assigned incorrectly somehow, which would cause this.
Sorry I can't be more help. Once you've got a clear cause though, or a PR, let me know and I'd love to get this fixed.

Sorry for the delayed reply,
I ended up using loglevelnext for the project I am working on, and that behaves as expected,
If I get a chance I will investigate this and see if I can create a PR,
But I'm not sure how soon I will be able to get to it.

Reagrding the functionality that does work in react native:

anything special that you needed to do in setup?
same question for how to use it
in production, where is the log written to?

Hi @rahamin1, I'm afraid I'm not sure! I've never used React Native myself. Loglevel acts as a simple JS wrapper around console.log (and other console.* methods). In theory it shouldn't require any special setup, you should be able to just use the basic examples from the README, and the logs in production will go wherever console logs normally go for React Native.
Sorry I can't be more specific. Do reply here if loglevel works for you in React Native though, and if you discover the answers to those questions (or hit specific issues), since I'm sure other people will come across this thread with the same questions too.

@rahamin1 We are using loglevel successfully in a React Native project, I can answer your questions:

anything special that you needed to do in setup?

We need to re-init the logger(s) (we use multiple named loggers) after React Native starts because React Native adds hooks into console.warn and console.error for the "redbox" functionality.
We call this from our main App component constructor: logger.setLevel(logger.getLevel())
Running this earlier in index.js did not work.

same question for how to use it

Nothing special here: log.debug('message')
We use debug, info, warn, error methods but not trace.

in production, where is the log written to?

The logs show up in the Xcode console output or in the Chrome console when debugging (line numbers work). For our staging builds we replace methodFactory to use the TestFairy api. You can send logs anywhere you want by replacing methodFactory.

@pimterry Open to a PR that adds some of these React Native notes to the readme?
When I saw this issue as open from 2019 I assumed that React Native was not supported, but it seems like there is a working option, just that it requires some magic to workaround React Native's non standard console behaviour. Would it therefore make sense to close this issue?

Good point @chmac! Yes, a PR that documents the above would be happily received.
I think the effective summary is that you just need to call log.setLevel(log.getLevel()) after React native has initialized its console logging hooks, although I'm not totally clear at exactly what point that happens myself (if you know React Native better, any input on that would be useful). Happy to close this once that's documented.


Removed test package config

Avoid the dependabot flagging, I will see whether this test is still valid while adding pipeline and include the test in the pipeline.

/check-enforcer override


Uploads fail with bad request.

Yesterday I installed the app and validated with MS. That all went smoothly, however the upload doesn't work.
After reading some other issues I decided to re-install the app which was again no problem. Authenticated with MS and hoped to get it working now. But again same  issue. The backup is created locally but the upload fails. This is the info from the log file:
[1] Info: No new settings file. Attempting to restore from legacy configuration
11/23/2023 17:14:35 [1] Info: Anonymous Telemetry Disabled
11/23/2023 17:14:35 [1] Info: Backup interval configured to every 24 hours
11/23/2023 17:14:35 [1] Warning: Token cache is empty
11/23/2023 17:14:36 [5] Info: To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code GHNTRM6X9 to authenticate.
11/23/2023 17:16:42 [20] Info: Creating new backup
11/23/2023 17:16:42 [20] Info: Starting full local backup
11/23/2023 17:16:58 [22] Info: Backup complete
11/23/2023 17:17:07 [22] Info: Uploading hass_backup_2023-11-23-17-16 (11/23/2023 17:16:42)
11/23/2023 17:17:07 [22] Info: Fetching Local Backup (Slug:a6015769)
11/23/2023 17:17:07 [20] Info: Backup (a6015769) fetched successfully
11/23/2023 17:17:07 [20] Error: Error uploading backup: Status Code: BadRequest
Microsoft.Graph.ServiceException: Code: invalidRequest
Message: Invalid request
Inner error:
AdditionalData:
date: 2023-11-23T16:17:07
request-id: f1f22b9b-72d7-40cd-ba60-181d72976c36
client-request-id: f1f22b9b-72d7-40cd-ba60-181d72976c36
ClientRequestId: f1f22b9b-72d7-40cd-ba60-181d72976c36
at Microsoft.Graph.HttpProvider.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
at Microsoft.Graph.BaseRequest.SendRequestAsync(Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at Microsoft.Graph.BaseRequest.SendAsync[T](Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at hassio_onedrive_backup.Graph.GraphHelper.UploadFileAsync(String filePath, DateTime date, String instanceName, TransferSpeedHelper transferSpeedHelper, String destinationFileName, Action2 progressCallback, Boolean flatten, String description) in /src/Graph/GraphHelper.cs:line 151    at hassio_onedrive_backup.Hass.BackupManager.UploadLocalBackupToOneDrive(Backup backup, Action2 progressCallback, Boolean updateHassEntityState) in /src/Hass/BackupManager.cs:line 361

Hi,
This type of error is usually related to 'invalid chars' in the backup filename. I added a fix a couple of versions back that should be replacing those chars but maybe something was missed.

Is this happening for all backups?
Are these backups created by the addon ?
Could you try using a simple name just to rule this issue out and trigger a backup manually from the addon (e.g. backup_test as the name?)

Hi, the name I used was hass_backup. In OneDrive backup I click on Trigger backup. The backup is on local, when I click on Upload I get an error at the bottom of the screen "An error has occured. This application may no longer respond until reloaded. Reload".
A friend of mine is using it too, and he showed me a screenshot how to edit the config file with YAML. But when I click on "Configuration" it says "This add-on has no configuration".
I changed the name for the backup to HABackup, but it makes no difference.

I once more did an uninstall, complete reboot and installed it once more, but it makes no difference.

Yaml config settings are deprecated so it makes sense you have nothing there.
Your backup name is fine.

What do you have set under "Backup Instance Name" ?
Can you try enabling File Sync and trying to get some file uploaded to OneDrive to rule out a global upload issue ?

I used all defaults, so Backup Instance Name was blank, but using a name makes no difference either.
I modified a word document and it was nicely synced on onedrive.

Could you try a couple of things:

Enable watching all backups and choose to upload a simple upgrade backup made by Home Assistant ,see if that goes through
For the failed backups - Enable Verbose logging and share the logs from creating a backup to the upload part. (Specifically I want to see some logs during creation so not just the upload part).

This is regarding 2.
12/01/2023 11:41:56 [74] Info: Creating new backup
12/01/2023 11:41:56 [74] Info: Starting full local backup
12/01/2023 11:42:01 [83] Verbose: Checking backups
12/01/2023 11:42:01 [83] Verbose: Backup Interval Completed.
12/01/2023 11:42:12 [74] Info: Backup complete
12/01/2023 11:44:38 [108] Info: Uploading hass_backup_2023-12-01-11-41 (12/01/2023 11:41:56)
12/01/2023 11:44:38 [108] Info: Fetching Local Backup (Slug:d6b5afb8)
12/01/2023 11:44:38 [93] Info: Backup (d6b5afb8) fetched successfully
12/01/2023 11:44:38 [93] Verbose: Backup Description: {"Slug":"d6b5afb8","BackupDate":"2023-12-01T11:41:56.105764+01:00","InstanceName":"Frans","IsProtected":false,"Size":72.32,"BackupType":"full","Addons":[],"Folders":["share","addons/local","ssl","media"]}
12/01/2023 11:44:39 [93] Error: Error uploading backup: Status Code: BadRequest
Microsoft.Graph.ServiceException: Code: invalidRequest
Message: Invalid request
Inner error:
AdditionalData:
date: 2023-12-01T10:44:39
request-id: 090b76cb-b7bb-4488-bb1d-606c31e93f9b
client-request-id: 090b76cb-b7bb-4488-bb1d-606c31e93f9b
ClientRequestId: 090b76cb-b7bb-4488-bb1d-606c31e93f9b
at Microsoft.Graph.HttpProvider.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
at Microsoft.Graph.BaseRequest.SendRequestAsync(Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at Microsoft.Graph.BaseRequest.SendAsync[T](Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at hassio_onedrive_backup.Graph.GraphHelper.UploadFileAsync(String filePath, DateTime date, String instanceName, TransferSpeedHelper transferSpeedHelper, String destinationFileName, Action2 progressCallback, Boolean flatten, String description) in /src/Graph/GraphHelper.cs:line 151    at hassio_onedrive_backup.Hass.BackupManager.UploadLocalBackupToOneDrive(Backup backup, Action2 progressCallback, Boolean updateHassEntityState) in /src/Hass/BackupManager.cs:line 361
What puzzles me is that this info remains completely empty:

The same for me.
Backup is not uploaded.

Unfortunately for me too.
12/01/2023 21:10:49 [35] Info: Uploading hass_backup_2023-12-01-20-51 (12/01/2023 20:51:33)
12/01/2023 21:10:49 [35] Info: Fetching Local Backup (Slug:697a3b81)
12/01/2023 21:10:53 [32] Info: Backup (697a3b81) fetched successfully
12/01/2023 21:10:55 [37] Error: Error uploading backup: Status Code: BadRequest
Microsoft.Graph.ServiceException: Code: invalidRequest
Message: Invalid request
Inner error:
AdditionalData:
date: 2023-12-01T20:10:55
request-id: 35d530ae-3ad2-4950-bada-353c1328906d
client-request-id: 35d530ae-3ad2-4950-bada-353c1328906d
ClientRequestId: 35d530ae-3ad2-4950-bada-353c1328906d
at Microsoft.Graph.HttpProvider.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
at Microsoft.Graph.BaseRequest.SendRequestAsync(Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at Microsoft.Graph.BaseRequest.SendAsync[T](Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at hassio_onedrive_backup.Graph.GraphHelper.UploadFileAsync(String filePath, DateTime date, String instanceName, TransferSpeedHelper transferSpeedHelper, String destinationFileName, Action2 progressCallback, Boolean flatten, String description) in /src/Graph/GraphHelper.cs:line 151    at hassio_onedrive_backup.Hass.BackupManager.UploadLocalBackupToOneDrive(Backup backup, Action2 progressCallback, Boolean updateHassEntityState) in /src/Hass/BackupManager.cs:line 361

Thanks. MS really need better error responses..
Could you check the OneDrive backup folder and see if a backup with the same name already exists there ? If it does try to delete it and see if upload goes through.

I am having the same Problem, even after reinstalling. Would love to use the addon. Good Luck!
Logs:
[1] Info: No new settings file. Attempting to restore from legacy configuration
12/21/2023 13:37:41 [1] Info: Anonymous Telemetry Disabled
12/21/2023 13:37:41 [1] Info: Backup interval configured to every 24 hours
12/21/2023 13:37:41 [1] Warning: Token cache is empty
12/21/2023 13:37:44 [9] Info: To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code DBGTY6UYZ to authenticate.
12/21/2023 13:39:38 [17] Info: Uploading hass_backup_2023-12-21-13-21 (12/21/2023 13:21:30)
12/21/2023 13:39:38 [17] Info: Fetching Local Backup (Slug:0e5a7a9f)
12/21/2023 13:39:39 [16] Info: Backup (0e5a7a9f) fetched successfully
12/21/2023 13:39:47 [17] Error: Error uploading backup: Status Code: BadRequest
Microsoft.Graph.ServiceException: Code: invalidRequest
Message: Invalid request
Inner error:
AdditionalData:
date: 2023-12-21T12:39:47
request-id: 780c68e2-b990-4246-851a-6458302a819b
client-request-id: 780c68e2-b990-4246-851a-6458302a819b
ClientRequestId: 780c68e2-b990-4246-851a-6458302a819b
at Microsoft.Graph.HttpProvider.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
at Microsoft.Graph.BaseRequest.SendRequestAsync(Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at Microsoft.Graph.BaseRequest.SendAsync[T](Object serializableObject, CancellationToken cancellationToken, HttpCompletionOption completionOption)
at hassio_onedrive_backup.Graph.GraphHelper.UploadFileAsync(String filePath, DateTime date, String instanceName, TransferSpeedHelper transferSpeedHelper, String destinationFileName, Action2 progressCallback, Boolean flatten, String description) in /src/Graph/GraphHelper.cs:line 151    at hassio_onedrive_backup.Hass.BackupManager.UploadLocalBackupToOneDrive(Backup backup, Action2 progressCallback, Boolean updateHassEntityState) in /src/Hass/BackupManager.cs:line 361

sam problem for me

Update: I am working on the next version which will include updates to the underlying MS Graph libraries used to work with OneDrive. Along with that I will add better debug logging so that if this remains it will at least make it easier to understand what's happening.


Incompatible version of grpc-google-iam-v1 prevents gcp dependency install

When I run:
docker build --rm --build-arg AIRFLOW_DEPS="gcp" -t puckel/docker-airflow .

I get:
ERROR: google-cloud-bigtable 0.33.0 has requirement grpc-google-iam-v1<0.12dev,>=0.11.4, but you'll have grpc-google-iam-v1 0.12.3 which is incompatible.
ERROR: google-cloud-spanner 1.9.0 has requirement grpc-google-iam-v1<0.12dev,>=0.11.4, but you'll have grpc-google-iam-v1 0.12.3 which is incompatible.

And my Airflow web UI is covered in errors like:
Broken plugin: [/usr/local/airflow/plugins/storage_plugin/operators/foo_operator.py] No module named 'google'

It could be related to this google-cloud-python error.

When I run:
docker build --rm --build-arg AIRFLOW_DEPS = "gcp" -t puckel / docker-airflow
I get:
"docker build" requires exactly 1 argument.
See 'docker build --help'.
Usage:  docker build [OPTIONS] PATH | URL | -
Build an image from a Dockerfile
¿Why is this happening?


[jb] GH-1721 HUE-9419 curvedArrow issues when Job Dashboard has horizontal Scrollbar

What changes were proposed in this pull request?
https://github.com/cloudera/hue/issues/1721 - HUE-9419 curvedArrow issues when Job Dashboard has horizontal Scrollbar
How was this patch tested?

Tested manually for the bug in chrome, Safari and firefox latest versions , attached the fix image

Nice!


Make sure combined_metadata is up to date

Make sure that data/combined_metadata:

[ ] has the new datasets
[ ] has the updated metadata
[ ] has correct dataset names (Castro-NallarE, Heitz-BuschartA, Obregon-TitoAJ, Bengtsson-PalmeJ - and does not have underscored versions of these datasets)

This is now tested for in commit https://github.com/waldronlab/curatedMetagenomicData/commit/6d55acc92726dbd11f07c7a1fc1fc219e031d462


C++: Workaround for lambda expression locations

Until we get an extractor fix, I propose this workaround so we can see what the tests are doing.

I've filed a Jira bug for the underlying extractor issue: CPP-427.


Add support for Androidx/Jetpack

AndroidX will replace the Support Libraries.

AndroidX is the open-source project that the Android team uses to develop, test, package, version and release libraries within Jetpack.

AndroidX is a major improvement to the original Android Support Library. Like the Support Library, AndroidX ships separately from the Android OS and provides backwards-compatibility across Android releases. AndroidX fully replaces the Support Library by providing feature parity and new libraries.

See: https://developer.android.com/jetpack/androidx/

This is much more important now that react-native 0.60 is AndroidX only.

Hi G@yz!
Any news about that?

I can't see any reference of Android Support in this project... https://github.com/oblador/react-native-vector-icons/search?q=android.support&unscoped_q=android.support

this has been done


Provide an operator for Oopenshift/Kubernetes or contribute to external-secrets-operator (example)

Describe the solution you'd like
Keeper is a pretty popular secret manager and should provide some useful integration with platforms like openshift/kubernetes.
What is the added value?
Any organization who uses Keeper would be able to retain it as the single source of truth for secrets and not need to use another backend.
The current "integration" https://docs.keeper.io/secrets-manager/secrets-manager/integrations/kubernetes is somewhat incomplete.

Using Commander, create a Secrets Manager device configuration for Kubernetes. Note that this configuration is not IP locked and it is pre-initialized.

This "pre-initialized" means something like a static token with consequences:

Static token authentication is fine if you want quickly get started with Keeper Secrets Management in kubernetes, but a static token is not protected any further. Any disclosure to unintended parties allows Keeper Secrets use with the associated token roles.

From a community driven project you can read how a more complete integration could look like:

External Secrets Operator is a Kubernetes operator that integrates external secret management systems like AWS Secrets Manager, HashiCorp Vault, Google Secrets Manager, Azure Key Vault and many more. The operator reads information from external APIs and automatically injects the values into a Kubernetes Secret.

Corresponding issue on a community driven project: https://github.com/external-secrets/external-secrets/issues/476
Maybe update roadmap description at https://docs.keeper.io/secrets-manager/secrets-manager/overview

@flybyray https://external-secrets.io/main/provider/keeper-security/

@ppodevlab this is really cool integration. Thank you for working on it. Do you happen to know when it will be part of the release?

no, but it shouldn't take too much, as there has not been any release for a few weeks now.


docs: tag the utilities example as bash code

@sseemayer did you create a merge commit from the command line or using the UI? Normally there should be a button in the UI that does a rebase :thinking:

@sseemayer did you create a merge commit from the command line or using the UI? Normally there should be a button in the UI that does a rebase :thinking:

That was with the github UI.


Use current docker daemon command

docker -d has been deprecated
the command is now docker daemon
https://github.com/docker/docker/blob/master/CHANGELOG.md#180-2015-08-11

There is some discussion of this in #395. The issue is that this was added in 1.8, so won't work for anyone using docker versions prior to that. I have anecdotal evidence that's a non-zero group of folks. I'm happy running deprecated options, I've not verified whether this is removed in 1.10 yet however.

New CentOS 7 VM, freshly provisioned today so it's grabbed the latest version of Docker (currently 1.10.0 from https://yum.dockerproject.org/repo/main/centos/7/Packages/ )
Feb 05 10:23:01 dockerhost docker[12855]: flag provided but not defined: -d
Feb 05 10:23:01 dockerhost docker[12855]: See '/usr/bin/docker --help'.
Feb 05 10:23:01 dockerhost systemd[1]: docker.service: main process exited, code=exited, status=125/n/a
Feb 05 10:23:01 dockerhost systemd[1]: Failed to start Docker Application Container Engine.
Feb 05 10:23:01 dockerhost systemd[1]: Unit docker.service entered failed state.
Feb 05 10:23:01 dockerhost systemd[1]: docker.service failed.

@gdhbashton I hit the same issue you saw with centos and had opened #387, no ideal approach to support both -d and daemon options

I've not verified whether this is removed in 1.10 yet however.

I can confirm it is removed now.

Yeah, that's why I filed the issue/PR it broke on my Centos7 VM, the -d option is removed in 1.10.  It looks like they only left both options in for 1.9.
Since the systemd file is a template already, it shouldn't be too tough to use different versions, at very least to add a parameter.

Ok, that ^^ fixes merge conflict and adds a parameter for setting the flag.

@garethr let me know if you'd like me to fix that in a different way.

@samuelson thanks for this, much appreciated. I've made a minor change, changing the name from _flag to _subcommand. Going from -d (a flag) to daemon (subcommand) makes this confusing either way, but I reason better fall forward than fall backwards. Thanks again.

#355 might be the final part to this to allow for complete flexibility by overriding the full template if someone needed without having to introduce a ton of new feature flags


fix cbmc,cppcheck output and change the way csdiff is used

OK, I will make corrections accordingly.

Thanks for the review!


Unable to Run MAUI Apps on Android 11

Type of issue
Code doesn't work
Description
Issue: Unable to Run MAUI Apps on Android 11
Testing

The app has been tested successfully on Android versions 7, 8, 9, and 10.

Description
I am experiencing issues running a .NET 8 MAUI application on an Android 11 device. The app was created using the default MAUI template, and I haven't made any changes to it.
Details

Framework: .NET 8
App Type: MAUI
Android Version: 11
Template: Default MAUI template

Problem
Unable to run the MAUI app on the specified Android version.
Request for Help
Any guidance or solutions to resolve this issue would be greatly appreciated.
Page URL
https://learn.microsoft.com/en-us/dotnet/maui/supported-platforms?view=net-maui-8.0
Content source URL
https://github.com/dotnet/docs-maui/blob/main/docs/supported-platforms.md
Document Version Independent Id
ba07354c-611d-5efe-0fbb-48a24d02cafe
Article author
@mauiAndroid
Metadata
No response
Related Issues

Moved:
https://github.com/dotnet/maui/issues/25667


Best tutorial ever

Saved my life i love guys <3

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

ID: 4c6d2219-cb28-5527-1079-6e3195cad282
Version Independent ID: 70c2aad0-6883-51a9-fed7-01be62302483
Content: JavaScript single-page app tutorial - Microsoft identity platform
Content Source: articles/active-directory/develop/tutorial-v2-javascript-spa.md
Service: active-directory
Sub-service: develop
GitHub Login: @navyasric
Microsoft Alias: nacanuma

@nandomx3, Thank you for sharing the feedback.


Bug: Crash to desktop when transcripting MP3

What happened?
On NVIDIA version,
An MP3 transcription crashes the app to desktop on my workstation (Win11, RTX 3070 With 8Gb, 32Gb RAM) but works flawlessly on my laptop (Win11, GTX1650 with 4Gb, 16Bg RAM)
Here is the EventViewer crash log:

log
- System
    - Provider
        [ Name]        Application Error
        [ Guid]        {a0e9b465-b939-57d7-b27d-95d8e925ff57}
    EventID 1000
    Version 0
    Level 2
    Task 100
    Opcode 0
    Keywords 0x8000000000000000
    - TimeCreated
        [ SystemTime]        2024-05-31T08:00:15.3838683Z
    EventRecordID 3506
    Correlation
    - Execution
        [ ProcessID]        3204
        [ ThreadID]        3352
    Channel Application
    Computer DESKTOP-0D5MR4P
    - Security
        [ UserID]        S-1-5-21-3684703487-1378115604-541973499-1001
- EventData
    AppName vibe.exe
    AppVersion <IP_ADDRESS>
    AppTimeStamp 66568d1b
    ModuleName ucrtbase.dll
    ModuleVersion 10.0.26217.5000
    ModuleTimeStamp 53f1888b
    ExceptionCode c0000409
    FaultingOffset<PHONE_NUMBER>0a514e
    ProcessId 0x48f4
    ProcessCreationTime 0x1dab33021395435
    AppPath F:\Downloads\AI\vibe_2.0.0_x64-setup_nvidia\vibe.exe
    ModulePath C:\WINDOWS\System32\ucrtbase.dll
    IntegratorReportId 585e91ac-adfa-4a77-a141-9b761057ed9a
    PackageFullName
    PackageRelativeAppId

Steps to reproduce

Using default settings (Vibe freshly installed)
Select MP3
Press "Transcribe" button
Crashes in the next 5s with no log file created under '%appdata%\github.com.thewh1teagle.vibe' (in fact this folder is not even created)

What OS are you seeing the problem on?
Window
Relevant log output

log
App Version: 2.0.0
Commit Hash: 4a44b1c79f287a6903c07128b976349839002d01
Arch: x86_64
Platform: windows
Kernel Version: 10.0.26217
OS: windows
OS Version: 10.0.26217
Models: ggml-medium.bin
Default Model: "C:\\Users\\Cedric\\AppData\\Local\\github.com.thewh1teagle.vibe\\ggml-medium.bin"

{
    "avx": {
        "enabled": true,
        "support": true
    },
    "avx2": {
        "enabled": true,
        "support": true
    },
    "f16c": {
        "enabled": true,
        "support": true
    },
    "fma": {
        "enabled": treu,
        "support": true
    }
}

Edit:

My NVidia Drivers are up to date (560.38) on both systems
Works using the "non NVIDIA" version

Thanks for reporting this issue!
It's challenging to pinpoint the specific cause from the event log error. However, we can try using the original whisper.cpp and compare the results. The issue might be related to a version mismatch with the NVIDIA libraries.
Try the following:

Download whisper-cublas-12.2.0-bin-x64.zip
Extract and open the folder, then open explorer in that folder and hit Ctrl + l in explorer, type cmd and enter
Download vibe/samples/single.wav and place it in the same folder (and check that the file is ok)
Try to transcribe by execute

main.exe -m "%localappdata%\github.com.thewh1teagle.vibe\ggml-medium.bin" -f "samples_single.wav"

Repeat the above with whisper-cublas-11.8.0-bin-x64.zip

In addition to get more insights from Vibe itself, you can run it from cmd.exe with:
set RUST_BACKTRACE=1
set RUST_LOG=vibe=debug,whisper_rs=debug
%localappdata%\vibe\vibe.exe

Result from 12.2.0 version (looks like working without crashing)
`
F:\Downloads\AI\whisper-cublas-12.2.0-bin-x64>main.exe -m "%localappdata%\github.com.thewh1teagle.vibe\ggml-medium.bin" -f ..\samples_single.wav
whisper_init_from_file_with_params_no_state: loading model from 'C:\Users\Cedric\AppData\Local\github.com.thewh1teagle.vibe\ggml-medium.bin'
whisper_init_with_params_no_state: use gpu    = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw        = 0
whisper_model_load: loading model
whisper_model_load: n_vocab       = 51865
whisper_model_load: n_audio_ctx   = 1500
whisper_model_load: n_audio_state = 1024
whisper_model_load: n_audio_head  = 16
whisper_model_load: n_audio_layer = 24
whisper_model_load: n_text_ctx    = 448
whisper_model_load: n_text_state  = 1024
whisper_model_load: n_text_head   = 16
whisper_model_load: n_text_layer  = 24
whisper_model_load: n_mels        = 80
whisper_model_load: ftype         = 1
whisper_model_load: qntvr         = 0
whisper_model_load: type          = 4 (medium)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs       = 99
whisper_backend_init: using CUDA backend
ggml_cuda_init: GGML_CUDA_FORCE_MMQ:   no
ggml_cuda_init: CUDA_USE_TENSOR_CORES: yes
ggml_cuda_init: found 1 CUDA devices:
Device 0: NVIDIA GeForce RTX 3070 Ti, compute capability 8.6, VMM: yes
whisper_model_load: model size    = 1533.14 MB3.14 MB
whisper_init_state: kv self size  =  150.99 MB
whisper_init_state: kv cross size =  150.99 MB
whisper_init_state: kv pad  size  =    6.29 MB
whisper_init_state: compute buffer (conv)   =   28.68 MB
whisper_init_state: compute buffer (encode) =  594.22 MB
whisper_init_state: compute buffer (cross)  =    7.85 MB
whisper_init_state: compute buffer (decode) =  142.09 MB
system_info: n_threads = 4 / 16 | AVX = 1 | AVX2 = 1 | AVX512 = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | METAL = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | SSSE3 = 1 | VSX = 0 | CUDA = 1 | COREML = 0 | OPENVINO = 0
main: processing 'F:\Downloads\Electronic\CAN\samples_single.wav' (176000 samples, 11.0 sec), 4 threads, 1 processors, 5 beams + best of 5, lang = en, task = transcribe, timestamps = 1 ...
[00:00:00.000 --> 00:00:11.000]   And so my fellow Americans, ask not what your country can do for you, ask what you can do for your country.
whisper_print_timings:     load time =  6719.37 ms
whisper_print_timings:     fallbacks =   0 p /   0 h
whisper_print_timings:      mel time =    11.65 ms
whisper_print_timings:   sample time =    79.58 ms /   143 runs (    0.56 ms per run)
whisper_print_timings:   encode time =  1916.62 ms /     1 runs ( 1916.62 ms per run)
whisper_print_timings:   decode time =     0.00 ms /     1 runs (    0.00 ms per run)
whisper_print_timings:   batchd time =   594.36 ms /   141 runs (    4.22 ms per run)
whisper_print_timings:   prompt time =     0.00 ms /     1 runs (    0.00 ms per run)
whisper_print_timings:    total time =  9356.77 ms
`
same for 11.8.0
`
F:\Downloads\AI\whisper-cublas-11.8.0-bin-x64>main.exe -m "%localappdata%\github.com.thewh1teagle.vibe\ggml-medium.bin" -f ..\samples_single.wav
whisper_init_from_file_with_params_no_state: loading model from 'C:\Users\Cedric\AppData\Local\github.com.thewh1teagle.vibe\ggml-medium.bin'
whisper_init_with_params_no_state: use gpu    = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw        = 0
whisper_model_load: loading model
whisper_model_load: n_vocab       = 51865
whisper_model_load: n_audio_ctx   = 1500
whisper_model_load: n_audio_state = 1024
whisper_model_load: n_audio_head  = 16
whisper_model_load: n_audio_layer = 24
whisper_model_load: n_text_ctx    = 448
whisper_model_load: n_text_state  = 1024
whisper_model_load: n_text_head   = 16
whisper_model_load: n_text_layer  = 24
whisper_model_load: n_mels        = 80
whisper_model_load: ftype         = 1
whisper_model_load: qntvr         = 0
whisper_model_load: type          = 4 (medium)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs       = 99
whisper_backend_init: using CUDA backend
ggml_cuda_init: GGML_CUDA_FORCE_MMQ:   no
ggml_cuda_init: CUDA_USE_TENSOR_CORES: yes
ggml_cuda_init: found 1 CUDA devices:
Device 0: NVIDIA GeForce RTX 3070 Ti, compute capability 8.6, VMM: yes
whisper_model_load:    CUDA0 total size =  1533.14 MB
whisper_model_load: model size    = 1533.14 MB
whisper_init_state: kv self size  =  150.99 MB
whisper_init_state: kv cross size =  150.99 MB
whisper_init_state: kv pad  size  =    6.29 MB
whisper_init_state: compute buffer (conv)   =   28.68 MB
whisper_init_state: compute buffer (encode) =  594.22 MB
whisper_init_state: compute buffer (cross)  =    7.85 MB
whisper_init_state: compute buffer (decode) =  142.09 MB
system_info: n_threads = 4 / 16 | AVX = 1 | AVX2 = 1 | AVX512 = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | METAL = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | SSSE3 = 1 | VSX = 0 | CUDA = 1 | COREML = 0 | OPENVINO = 0
main: processing '..\samples_single.wav' (176000 samples, 11.0 sec), 4 threads, 1 processors, 5 beams + best of 5, lang = en, task = transcribe, timestamps = 1 ...
[00:00:00.000 --> 00:00:11.000]   And so my fellow Americans, ask not what your country can do for you, ask what you can do for your country.
whisper_print_timings:     load time =  1469.72 ms
whisper_print_timings:     fallbacks =   0 p /   0 h
whisper_print_timings:      mel time =    12.90 ms
whisper_print_timings:   sample time =    65.29 ms /   143 runs (    0.46 ms per run)
whisper_print_timings:   encode time =  1544.33 ms /     1 runs ( 1544.33 ms per run)
whisper_print_timings:   decode time =     0.00 ms /     1 runs (    0.00 ms per run)
whisper_print_timings:   batchd time =   751.54 ms /   141 runs (    5.33 ms per run)
whisper_print_timings:   prompt time =     0.00 ms /     1 runs (    0.00 ms per run)
whisper_print_timings:    total time =  3863.29 ms
`
and vibe logs using the same wav file (CTD, same as MP3s):
`
[2024-05-31T13:07:25Z DEBUG vibe_desktop] Vibe App Running
[2024-05-31T13:07:25Z DEBUG vibe_desktop::setup] webview version: 119.0.2151.58
[2024-05-31T13:07:25Z DEBUG vibe_desktop::setup] CPU Features
{"avx":{"enabled":false,"support":true},"avx2":{"enabled":false,"support":true},"f16c":{"enabled":false,"support":true},"fma":{"enabled":false,"support":true}}
[2024-05-31T13:07:25Z DEBUG vibe_desktop::setup] COMMIT_HASH: 4a44b1c79f287a6903c07128b976349839002d01
[2024-05-31T13:07:31Z DEBUG vibe::model] Transcribe called with {
"path": "F:\Downloads\AI\samples_single.wav",
"model_path": "C:\Users\Cedric\AppData\Local\github.com.thewh1teagle.vibe\ggml-medium.bin",
"lang": "en",
"verbose": false,
"n_threads": 4,
"init_prompt": "",
"temperature": 0.4,
"translate": true
}
[2024-05-31T13:07:31Z DEBUG vibe::audio] input is F:\Downloads\AI\samples_single.wav and output is C:\Users\Cedric\AppData\Local\Temp.tmpxEIQYG.wav
[2024-05-31T13:07:31Z DEBUG vibe::audio::encoder] decoder channel layout is 0
[2024-05-31T13:07:31Z DEBUG vibe::audio::encoder] +-----------+
|    in     |default--[16000Hz s16:mono]--Parsed_anull_0:default
| (abuffer) |
+-----------+
                                                   +---------------+
Parsed_anull_0:default--[16000Hz s16:mono]--default|      out      |
                                                   | (abuffersink) |
                                                   +---------------+

                                       +----------------+
in:default--[16000Hz s16:mono]--default| Parsed_anull_0 |default--[16000Hz s16:mono]--out:default
                                       |    (anull)     |
                                       +----------------+

[2024-05-31T13:07:31Z DEBUG vibe::audio] wav reader read from "C:\Users\Cedric\AppData\Local\Temp\.tmpxEIQYG.wav"
[2024-05-31T13:07:31Z DEBUG vibe::audio] parsing C:\Users\Cedric\AppData\Local\Temp.tmpxEIQYG.wav
[2024-05-31T13:07:31Z DEBUG vibe::model] open model...
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_init_from_file_with_params_no_state: loading model from 'C:\Users\Cedric\AppData\Local\github.com.thewh1teagle.vibe\ggml-medium.bin'
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_init_with_params_no_state: use gpu    = 1
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_init_with_params_no_state: flash attn = 0
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_init_with_params_no_state: gpu_device = 0
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_init_with_params_no_state: dtw        = 0
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: loading model
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_vocab       = 51865
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_audio_ctx   = 1500
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_audio_state = 1024
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_audio_head  = 16
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_audio_layer = 24
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_text_ctx    = 448
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_text_state  = 1024
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_text_head   = 16
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_text_layer  = 24
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_mels        = 80
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: ftype         = 1
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: qntvr         = 0
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: type          = 4 (medium)
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: adding 1608 extra tokens
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: n_langs       = 99
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_backend_init: using CUDA backend
[2024-05-31T13:07:31Z INFO  whisper_rs::whisper_sys_log] whisper_model_load:    CUDA0 total size =  1533.14 MB
[2024-05-31T13:07:32Z INFO  whisper_rs::whisper_sys_log] whisper_model_load: model size    = 1533.14 MB
[2024-05-31T13:07:32Z INFO  whisper_rs::whisper_sys_log] whisper_backend_init: using CUDA backend
[2024-05-31T13:07:32Z INFO  whisper_rs::whisper_sys_log] whisper_init_state: kv self size  =  150.99 MB
[2024-05-31T13:07:32Z INFO  whisper_rs::whisper_sys_log] whisper_init_state: kv cross size =  150.99 MB
[2024-05-31T13:07:32Z INFO  whisper_rs::whisper_sys_log] whisper_init_state: kv pad  size  =    6.29 MB
[2024-05-31T13:07:32Z INFO  whisper_rs::whisper_sys_log] whisper_init_state: compute buffer (conv)   =   28.68 MB
[2024-05-31T13:07:32Z INFO  whisper_rs::whisper_sys_log] whisper_init_state: compute buffer (encode) =  594.22 MB
[2024-05-31T13:07:32Z INFO  whisper_rs::whisper_sys_log] whisper_init_state: compute buffer (cross)  =    7.85 MB
[2024-05-31T13:07:32Z INFO  whisper_rs::whisper_sys_log] whisper_init_state: compute buffer (decode) =  142.09 MB
[2024-05-31T13:07:32Z DEBUG vibe::model] set language to Some("en")
[2024-05-31T13:07:32Z DEBUG vibe::model] setting temperature to 0.4
[2024-05-31T13:07:32Z DEBUG vibe::model] setting init prompt to
[2024-05-31T13:07:32Z DEBUG vibe::model] setting n threads to 4
[2024-05-31T13:07:32Z DEBUG vibe::model] set start time...
[2024-05-31T13:07:32Z DEBUG vibe::model] setting state full...
[2024-05-31T13:07:32Z DEBUG vibe::model] progress callback 0
[2024-05-31T13:07:32Z DEBUG vibe_desktop::cmd] set_progress_bar 0
`

@clem0338
Looks good. If it works with the original Whisper.cpp, it likely means the issue is within Vibe
It appears your current Vibe version is a bit outdated, even though it shows as the latest version.
Try to install vibe_2.0.0_x64-setup_nvidia.exe
Additionally, before starting the transcription in Vibe, open the advanced options (in the main window, they might be collapsed) and set the temperature to 0.

@clem0338
Looks good. If it works with the original Whisper.cpp, it likely means the issue is within Vibe It appears your current Vibe version is a bit outdated, even though it shows as the latest version. Try to install vibe_2.0.0_x64-setup_nvidia.exe Additionally, before starting the transcription in Vibe, open the advanced options (in the main window, they might be collapsed) and set the temperature to 0 (also disable the translate).

First of all, I'm already using the latest version, installed from the exact same link you sent me
I also tested with temperature == 0 and it crashes the same. One thing to mention, if I take the WAV file created by the app (in %temp% folder) and use it with whisper CLI, it works like a charm

First of all, I'm already using the latest version, installed from the exact same link you sent me

I've updated the nvidia setup file in that link.
Maybe it's something related to the desktop app; meanwhile I added the option to use Vibe as CLI so we can know if it's something related to the UI.
You can download it from vibe_2.0.0_x64-setup_nvidia.exe
and then execute:
cd %userprofile%\desktop
mkdir test
cd test
curl -L "https://github.com/thewh1teagle/vibe/raw/main/samples/short.wav" -o short.wav
set RUST_LOG=vibe=debug,whisper_rs=debug
%localappdata%\vibe\vibe.exe --model ggml-medium.bin --file short.wav

It will navigate to desktop folder, download example wav file and try to transcribe.

In addition for adding CLI, in latest release I provide 2 versions of nvidia, one is 11 and the second is 12. Maybe you need the older one
vibe/releases/latest

Sorry about the delay, I was away for a few days.
I confirm the latest version (vibe_2.0.1_x64-setup_nvidia_v12.2.exe) is working on both computers. Did not even have to try the CLI mod.
Thanks for this nice tool.

Great to hear that it works fine with latest release!
It should work also with vibe_2.0.1_x64-setup_nvidia_v12.5.exe so I'll close this issue, but if you get a chance to test it too, it will be great! thanks :)


fix: make useTimeoutFn work properly:

reset function should clear previous timeout;
function change should not reset the timeout;

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Private API's for Bluetooth Low Energy

Thank @michaeldorner for that nice project.
May I ask the community if someone has experience with Private API's and Bluetooth Low Energy.
I wonder if and how I could implement the following two requirements without Jailbreak:

Accepting a bonding requests automatically without manually approving it (via bonding request dialog)
Removing BLE entries in the pairing table

Thanks in advance for every comment or input.
Cheers,
Stephan

Smart question. The intend of this project was originally to hijack the non-LE Bluetooth interfaces, but I never had a look into this topic. So probably. Anyone?

First and foremost, I don't have any specific experience with things you've mentioned above as well but the below might get you where you want to go.
You should checkout nst's iOS runtime headers. He lays out what he has found via runtime introspection; both public and private. You yourself can also perform the same operation, perhaps for a specific iOS version, but they're readily available anyways.
For the operations you've mentioned above, you should analyse BluetoothManager.framework, which is a private framework.
From there on, if the private framework satisfies your needs, you should properly grasp how to utilise a private framework on iOS. It's a bit of a hard endeavour; however, you're in the right place. BeeTee can help you a lot.(Kudos to Michael).
If you reach to some conclusions or better yet code something, I would love to see what you've accomplished as it's always a pleasure to checkout iOS reverse engineering efforts.

Hey guys
Thanks for your quick response.
I already know both, the website nst's iOS runtime headers and the BluetoothManager.framework.
Unfortunately the in BluetoothManager.framework the interfaces look quite general (turning bluetooth on/off) or BT Classic related.
Two other header files look more BLE Pairing related
ACCBLEPairingProvider.h
ACCBLEPairingAccessory.h
Honestly I have no clue whether and how they could be used for they described cases (clear BLE pairings / accept pairing requests).