Info on usage data monitor

Hi
So i did try over a Debian system your app and while the appimage do open up fine.. i'm not sure how can i confirm it is working or not.. Is there a way, or an option, to open a small window and see the value of the spacemouse changing ?
I did try with the spacenavigator and i did put the package:  install spacenavd   But i can't tell if it's working or not.
thanks

Hello,
I add additional  instructions(udev rules) to use it on Linux in the readme.md .
You can then monitor OSC output by sending OSC to a local app like https://benjamin.kuperberg.fr/chataigne/en.

Maybe you'll have to add logitech rules. Here is a good example :
resources/udev/90-3dconnexion.rules
It's possible yaw/pitch/roll values aren't coded in the same way on all 3dconnexion devices.
I've just got only one model to test.

Yeah, as posted, the correct id is added too in the udev rules from before. But if i simply open Blender, i can 3d ordit without problem. Perhaps something  is about the rXrYrZ  for the rotate function, as the XYZ Translate do work fine. Or you did limit the reading to 7 byte for the group action vs 13 for total.. What version do you have?
I could try out later over a single small unit SpaceNavigator maybe..

I've got a space mouse compact model.

I found a soft that can show all the live data of the unit and button activation:
https://github.com/todbot/hidapitester
ex pr the SpacePilot:
./hidapitester --vidpid 046D:C625 -l 64 -t 1500 --open --read-input-forever
And here is the full dump of the spacemouse wireless (while connected wired over USB)  that i did found.
https://pastebin.com/GD5mEKW6
hope this can help. i don't know how to do a dump, but if you let me know how, i could from the unit i have.

Hi,thanks for this app. Just one question.
What is the resolution the App uses to translate mouse motion into OSC messages (7bit, 14bit....) Thanks

@LuftGstell Don't know what you're talking about. Do you want to talk about OSC send rate?

Hi thanks for getting back to me!When you tap into the data coming from the 3d mouse and convert it into OSC data, what is the resolution of this data being passed on to (in my case cubase) the host?Is it better that 7bit midi 1.0 provides me currently?Thank you
Sent from Yahoo Mail for iPhone
On Wednesday, January 24, 2024, 10:57, dewiweb @.***> wrote:
@LuftGstell Don't know what you're talking about. Do you want to talk about OSC send rate?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

It convert all hid incoming datas from space mouse in OSC messages, so resolution is the one provided natively by the hardware.

Thank you so much!
Sent from Yahoo Mail for iPhone
On Thursday, January 25, 2024, 14:18, dewiweb @.***> wrote:
It convert all hid incoming datas from space mouse in OSC messages, so resolution is the one provided natively by the hardware.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Simple issue data binding two way

Hi all
Juste a simple issue, can you help please ?
I just wonder why the view is not refreshing when modifying the properties object from the script
Seems the most basic example, but can't find out what s wrong
Tahnks for your help

You should use this.set('session.user.name', 'hello'). See docs for details.

Thanks that 's working


[web] TypeError: Cannot read properties of undefined (reading 'new')

This tracker is for issues related to:

Dart native and web compilers
Dart VM

Upstream: https://github.com/cfug/dio/issues/2282

We've split our Dio adapter with conditional imports. However, writing the caller in a specific way does not reference the correct constructor as I can tell.
Consider the example, running this on Flutter Web environment will unexpectedly throw TypeError: Cannot read properties of undefined (reading 'new'):

main.dart
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';

import 'adapter.dart';

void main() {
  try {
    final adapter = makeHttpClientAdapter();
    print(adapter);
  } on Object catch (error) {
    print(error);
  }

  runApp(const MyApp());
}

adapter.dart
import 'package:dio/dio.dart';

import 'client_adapter_io.dart'
    if (dart.library.js_interop) 'client_adapter_web.dart' as adapter;

HttpClientAdapter makeHttpClientAdapter() => adapter.makeHttpClientAdapter();

adapter_io.dart
import 'package:dio/dio.dart';
import 'package:dio/io.dart';

HttpClientAdapter makeHttpClientAdapter() {
  return IOHttpClientAdapter();
}

adapter_web.dart
import 'package:dio/browser.dart';
import 'package:dio/dio.dart';

HttpClientAdapter makeHttpClientAdapter() {
  return BrowserHttpClientAdapter()..withCredentials = true;
}

@Rexios80 Do you have any clues what is going on here? 🤔

What dart/flutter version? There might be some fixes that still aren't merged into stable.

Can you reproduce on flutter master?

This also happens on master 3.24.0-1.0.pre.606

Is it the cascade that's causing the issue?

Is it the cascade that's causing the issue?

Nope. Removing it doesn't help.

You say this is a workaround:
HttpClientAdapter makeHttpClientAdapter() {
  final adapter = HttpClientAdapter() as BrowserHttpClientAdapter;
  adapter.withCredentials = true;
  return adapter;
}

What about this fixes the issue if it's not removing the cascade? Is it the cast?

You say this is a workaround:
HttpClientAdapter makeHttpClientAdapter() {
  final adapter = HttpClientAdapter() as BrowserHttpClientAdapter;
  adapter.withCredentials = true;
  return adapter;
}

What about this fixes the issue if it's not removing the cascade? Is it the cast?

Yes, creating the adapter like this and force cast it does work, it's not about the cascade. The workaround is to help people to achieve their goal.

Which of the web environments are you experiencing this issue?

Production JavaScript (dart2js compiler)
Production WASM (dart2wasm compiler)
Development (DDC compiler)

Which of the web environments are you experiencing this issue?

Development (DDC compiler)

The DDC compiler. The built Web application does not run into the issue.

@nshahan - I recall we've seen an error with this message before long ago, but we didn't have a repro at hand. Maybe they are related? (see https://github.com/dart-lang/sdk/issues/50380)

I actually have this error in one of my projects now. Not sure how it took me this long to notice. The workaround provided by @AlexV525 does fix the issue.


Recent Changes Filled With "Added" Entries for Edits to iWork Files

After the latest version (1.7.1), the Show Recent Changes window gets filled with edits to Numbers/Pages/Keynote files. It shows them as "Added", but they're just being edited while open. These edits are not recognized as being part of one event, and thus fills the panel. This isn't how it used to work, nor is it how the Dropbox client functions. It should only show one entry for a single file being edited. Screenshot below.

I can definitely reproduce this but don't think that this new behaviour.
File changes in Numbers and a few other apps make use of an APFS safe-save which is an atomic way to save file changes. Safe-save is implemented in a way that results in the inode of the file changing: The old file is in fact replaced with a new file which contains the modifications. This article from Eclectic Light Co does a good job at explaining it.
As a consequence, Maestral does believe that it is dealing with a new / added file, since it actually is!
That being said, I can see some value in presenting this to the user as "Modified" instead of "Added". Note however that you will still see a long list of "Modified" events in that panel, one for each time that a file change was saved.

Correction to the above, it the old safe save mechanism which is currently still used by AppKit that will result in the old file being replaced by a new one. The safe save built in to APFS will actually preserve the inode.

Thanks for the clarification. That makes sense, and I hope Apple switches them to the new save format. In the meantime, how does the official Dropbox client handle this without creating "new" files to fill recent history?

In the meantime, how does the official Dropbox client handle this without creating "new" files to fill recent history?

The handle things a bit different and indeed show "edited" in such cases. This might be either because they use Apple's File Provider API, which is an abstraction layer specific to macOS for file syncing applications, to be notified of changes. It might also be because they compare the OS-reported state against their own index, which is what I am planning to do in #855.
They also only present one row per item in their "sync history", i.e., they only show the last change for multiple consecutive changes to the same file.

Looking forward to the update. Appreciate the explanation.


Clean redirection URLs

Not sure if this would be too much feature creep, but the thing I was looking for when I came across this was something that would clean up redirection URLs. Some of the redirection pages I found in MusicBrainz’s database was documented in a bot/script I wrote to clean those up (actual code to clean up the URL in the get_target_url() function):
https://github.com/Freso/musicbrainz-bot/blob/82e37124cdea83f639d133136809fcb898a3ff2b/exit_url_cleanup.py#L19-L38
This could be a really neat check to add prior to removing query parameters from the URLs to further reduce the amount of tracking done.

@Freso can you please check the latest release?

Thanks! :)


Palindrome instruction unclear

The palindrome instruction in the README seems to fall short compares to instructions from other exercises I've seen so far.

The description of palindrome product could use a few more examples. It should also clarify that there may be more than 1 solution to the product like with 9 => [[1, 9], [3, 3]], and that all single digits were considered palindrome products. Perhaps a link to the wiki page would be good?
The expected resulting format wasn't given. I had figured out after reading the test suite that it was doing Dict.keys on my results.
The test was not obvious either. The first test was looking at the last element in my result checking that I had return palindrome value for 9 but the need the format I should return so that somehow I ended up with key 9 being the last element wasn't obvious.

Just wanted to drop a note in case someone else agrees and it's worthwhile. I could probably do it sometimes in the future when I'm not too busy too.
Thanks!

It's always worthwhile improving the exercises!
The README uses the same description across all the language tracks, which means that we're intentionally vague when it comes to actual data structures, since these vary quite broadly. https://github.com/exercism/x-common/blob/master/palindrome-products.md
However, having more examples and a link to the wiki page would be great.
I'll let the others comment on the suggestion for improving the test, since I don't write elixir.

I just did this exercise and it took me awhile to figure this out as well. I came here to post an issue to discuss with anyone and this was already here. +1 to making this more clear somehow. I think the first test for this should just show the structure of the return data, for example:
  test "structure from first 2 factors" do
    palindromes = Palindromes.generate(2) |> IO.inspect
    expected = %{
      1 => [[1, 1]],
      2 => [[1, 2]],
      4 => [[2, 2]]
    }
    assert palindromes == expected
  end

we might want something more but I agree with @mayppong on the return values of this exercise were very confusing.

I've posted an issue in x-common about fixing the README. The test suite would need to be fixed here, though, so I'm leaving this issue open.


Analytics Modeling OMAS UTs not running in maven build

The unit tests for Analytics Modeling OMAS do not seem to be running in the maven build - however they are running in the Gradle build.
This was brought to light by PR #5218 where the unit tests are failing in the Gradle build and not the Maven build.  Manually running the tests shows the same test failures as Gradle sees

Example of failure under gradle build: https://github.com/odpi/egeria/runs/2669034989?check_suite_focus=true (this is now fixed as part of the PR work).
The failure was in :open-metadata-implementation:access-services:analytics-modeling:analytics-modeling-server:test
The tests are in src/test/java & named *Test.java (a standard pattern the test runner should fine) and are using testng

In analytics modeling the 'api' module IS running testng tests ok [INFO] Tests run: 43, Failures: 0, Errors: 0, Skipped: 0 whilst 'server' is not [INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
File patterns & dependencies are the same
Looking at what may be different

On the working test I see:
[DEBUG] Adding to surefire test classpath: /Users/jonesn/.m2/repository/org/apache/maven/surefire/surefire-testng/3.0.0-M5/surefire-testng-3.0.0-M5.jar  Scope: null whilst on the non-running test [DEBUG] Adding to surefire test classpath: /Users/jonesn/.m2/repository/org/apache/maven/surefire/surefire-junit-platform/3.0.0-M5/surefire-junit-platform-3. 0.0-M5.jar Scope: null
Jupiter is being pulled in via
+- org.mockito:mockito-junit-jupiter:jar:3.9.0:test
[INFO] |  \- org.junit.jupiter:junit-jupiter-api:jar:5.7.1:test
[INFO] |     +- org.apiguardian:apiguardian-api:jar:1.1.0:test
[INFO] |     +- org.opentest4j:opentest4j:jar:1.2.0:test
[INFO] |     \- org.junit.platform:junit-platform-commons:jar:1.7.1:test

So the fault was this in the pom.xml, which after commenting out allows the tests to work
         <!--dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-junit-jupiter</artifactId>
             <scope>test</scope>
         </dependency-->

surefire has some built in rules to determine what to use.... but there's little docs on this,
It may be tricky to definitively find all places this could occur. Most modules use JUnit5, where this is required,and so this log entry and dependency is correct if mockito in use
Sticking to JUnit5 is probably better for integration in general
We do have many components using testng.
I've looked through every module reporting no tests to run, where the plugin is active (and not explicitly disabled, as has happened in a few cases where at any point a test is broken). In most cases this is because no tests have been written. I noticed the following where there are tests, but they are not running:
12:45:29,684 [INFO] --- maven-surefire-plugin:3.0.0-M5:test (default-test) @ configuration-encrypted-file-store-connector ---
12:45:29,687 [INFO] No tests to run.
12:51:37,788 [INFO] --- maven-surefire-plugin:3.0.0-M5:test (default-test) @ glossary-author-view-server ---
12:51:37,790 [INFO] No tests to run.

PR submitted at #5228 - found 3 failing components


Add support for ISO, VHD, VHDX to MultiExtractor

Fix #61

The DetectCryptographyTests are failing in this PR.  I'm not sure why yet, it doesn't look like I changed anything that those tests rely on.

The DetectCryptographyTests are failing in this PR. I'm not sure why yet, it doesn't look like I changed anything that those tests rely on.

Build logs look like its failing with:
 Unable to analyze WebAssembly C:\Users\VssAdministrator\AppData\Local\Temp\2etkwi3i.ekq\npm-blake2<EMAIL_ADDRESS>At offset 4: At offset 0: File preamble magic value is incorrect.
 Unable to analyze WebAssembly C:\Users\VssAdministrator\AppData\Local\Temp\2etkwi3i.ekq\npm-blake2<EMAIL_ADDRESS>At offset 4: At offset 0: File preamble magic value is incorrect.
 Unable to analyze WebAssembly C:\Users\VssAdministrator\AppData\Local\Temp\2etkwi3i.ekq\npm-blake2<EMAIL_ADDRESS>At offset 4: At offset 0: File preamble magic value is incorrect.

The test failures were introduced in this commit https://github.com/microsoft/OSSGadget/commit/bc32ff4c79f1ac34e1e5889937f84948caf4b616

@scovetta tests passing. Ready for merge.


Enhancements to orchestration template validation

Originally attempted to fix https://bugzilla.redhat.com/show_bug.cgi?id=1206729.
Added more validation related enhancements.

cc @mzazrivec

Verified fix.


Use prerelease version convention

Not sure if you guys need to review this kind of thing @maxtaco @gabriel

:-1:

:+1: !


⚠ api.piste.gouv.fr healthcheck has degraded performance

In d167a7b, api.piste.gouv.fr healthcheck (https://api.piste.gouv.fr/cassation/judilibre/v1.0/healthcheck) experienced degraded performance:

HTTP code: 200
Response time: 2654 ms

Resolved: api.piste.gouv.fr healthcheck performance has improved in eb9fa85.


fix: Taxes - App allows deleted tax rate to be selected as currency default in offline mode.

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/41066
PROPOSAL: https://github.com/Expensify/App/issues/41066#issuecomment-2079243609
Tests

Test 1

Go to Account settings > Workspaces > any workspace.
Go to Taxes.
Go offline.
Delete one of the tax rate which is not the default tax rate.
Go to Settings > Workspace currency default.
Verify deleted tax rate can't be selected and is styled correctly with line-through

Test 2

Go to Account settings > Workspaces > any workspace.
Go to Taxes.
Go offline.
Delete any tax.
Go back > Submit expense > Enter amount > Select the workspace with deleted tax
Open tax picker > verify the deleted tax is can't be selected and is styled correctly with line-through
Repeat step 1 to 6 for category and tags also

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

Offline tests

Test 1

Go to Account settings > Workspaces > any workspace.
Go to Taxes.
Go offline.
Delete one of the tax rate which is not the default tax rate.
Go to Settings > Workspace currency default.
Verify deleted tax rate can't be selected and is styled correctly with line-through

Test 2

Go to Account settings > Workspaces > any workspace.
Go to Taxes.
Go offline.
Delete any tax.
Go back > Submit expense > Enter amount > Select the workspace with deleted tax
Open tax picker > verify the deleted tax is can't be selected and is styled correctly with line-through
Repeat step 1 to 6 for category and tags also

QA Steps

Test 1

Go to Account settings > Workspaces > any workspace.
Go to Taxes.
Go offline.
Delete one of the tax rate which is not the default tax rate.
Go to Settings > Workspace currency default.
Verify deleted tax rate can't be selected and is styled correctly with line-through

Test 2

Go to Account settings > Workspaces > any workspace.
Go to Taxes.
Go offline.
Delete any tax.
Go back > Submit expense > Enter amount > Select the workspace with deleted tax
Open tax picker > verify the deleted tax is can't be selected and is styled correctly with line-through
Repeat step 1 to 6 for category and tags also

[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
https://github.com/Expensify/App/assets/85894871/69104b43-f7cf-45e3-bddc-d85577029527

Android: mWeb Chrome
https://github.com/Expensify/App/assets/85894871/4334491c-1973-4530-bf7e-a318ff998eb7

iOS: Native
https://github.com/Expensify/App/assets/85894871/eddd032d-ccb3-4828-ac56-0cbeb6275c48

iOS: mWeb Safari
https://github.com/Expensify/App/assets/85894871/f6d83812-7127-4a9e-9d74-41350af55f38

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/85894871/d17cc86a-a1d6-4332-99d5-5d476ebb0346

MacOS: Desktop
https://github.com/Expensify/App/assets/85894871/5dcae27e-38d1-4ba2-bc0d-767215329698

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/Beamanator in version: 1.4.77-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/Beamanator in version: 1.4.77-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This PR most probably caused this regression https://github.com/Expensify/App/issues/42918
Can anyone please take a look  @Krishna2323 @sobitneupane @Beamanator

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.78-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


FLW-820 Show stashItem controller address if there is no controller account on the device

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@99d5081). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #237   +/-   ##
==========================================
  Coverage           ?   31.35%
==========================================
  Files              ?      461
  Lines              ?    19639
  Branches           ?        0
==========================================
  Hits               ?     6158
  Misses             ?    13481
  Partials           ?        0


Remove metrics on headless services

When the serviceMonitor is enabled, Prometheus is identifying two different metric sources, one per kind of service ClusterIp and Headless. The goal of this PR is to remove the exposure of the metrics port on the headless service.
This feature might be needed as well in other charts.

So sorry for the super late reply. I'm just going through all hanging PRs in this repo right now. Can you bump the versions in Chart.yaml for each chart and then run make docs and submit those changes?
I can update the remaining charts afterwards that might have the same problem.

@skylenet Bumped version and updated docs


how to use multiple CPU cores when using multi-threading

I want to use multiple Arm CPU cores to calculate convolution layers in parallle, but it didn't work when I use "NEScheduler::get().set_num_threads()".
When I use four threads, time of running a convolution layer is more than using one thread.
Is a thread corresponding to a CPU core?
What should I do if I want to use multiple threads in multiple cores?
The same happens when I run "examples/graph_shufflenet.cpp", and using "--threads=2" is slower than "--threads=1".
What does "--threads" mean?
I will be very grateful for your answer.

Hi @ZhuXingJune
Would you please tell us what commands you use for:

building the library
running the graph example

It would also help to know what device are you running the example and how you measure the performance?
I ran a quick test an I do not see the issue you mentioned:
root@acl_hikey_8:~/tmp/pabtel01# LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ./benchmark_graph_shufflenet --example_args=--TARGET=NEON,--threads=1 --instruments=WALL_CLOCK_TIMER_MS --iterations=15
Version = arm_compute_version=v0.0-unreleased Build options: {'opencl': '0', 'standalone': '0', 'os': 'linux', 'test_filter': 'ConvolutionLayer.cpp', 'gles_compute': '0', 'neon': '1', 'debug': '0', 'validation_tests': '1', 'examples': '1', 'asserts': '1', 'benchmark_tests': '0', 'validate_examples': '0', 'arch': 'arm64-v8a', 'Werror': '1', 'benchmark_examples': '1'} Git hash=1dce3101ef8d77c8cf0af7dfd4af6595a0136b91
CommandLine = ./benchmark_graph_shufflenet --example_args=--TARGET=NEON,--threads=1 --instruments=WALL_CLOCK_TIMER_MS --iterations=15
Iterations = 15
Running [0] 'Examples/benchmark_graph_shufflenet'
Threads : 1
Target : NEON
Data type : F32
Data layout : NHWC
Tuner enabled? : false
Cache enabled? : false
Tuner mode : Normal
Tuner file :
Fast math enabled? : false

Model: Shufflenet_1_g4
  Wall clock/Wall clock time:    AVG=678.9606 ms, STDDEV=0.06 %, MIN=678.2670 ms, MAX=679.7530 ms, MEDIAN=678.9270 ms
Executed 1 test(s) (1 passed, 0 expected failures, 0 failed, 0 crashed, 0 disabled) in 10 second(s)
root@acl_hikey_8:~/tmp/pabtel01# LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ./benchmark_graph_shufflenet --example_args=--TARGET=NEON,--threads=4 --instruments=WALL_CLOCK_TIMER_MS --iterations=15
Version = arm_compute_version=v0.0-unreleased Build options: {'opencl': '0', 'standalone': '0', 'os': 'linux', 'test_filter': 'ConvolutionLayer.cpp', 'gles_compute': '0', 'neon': '1', 'debug': '0', 'validation_tests': '1', 'examples': '1', 'asserts': '1', 'benchmark_tests': '0', 'validate_examples': '0', 'arch': 'arm64-v8a', 'Werror': '1', 'benchmark_examples': '1'} Git hash=1dce3101ef8d77c8cf0af7dfd4af6595a0136b91
CommandLine = ./benchmark_graph_shufflenet --example_args=--TARGET=NEON,--threads=4 --instruments=WALL_CLOCK_TIMER_MS --iterations=15
Iterations = 15
Running [0] 'Examples/benchmark_graph_shufflenet'
Threads : 4
Target : NEON
Data type : F32
Data layout : NHWC
Tuner enabled? : false
Cache enabled? : false
Tuner mode : Normal
Tuner file :
Fast math enabled? : false

Model: Shufflenet_1_g4
  Wall clock/Wall clock time:    AVG=243.7581 ms, STDDEV=2.46 %, MIN=234.5440 ms, MAX=253.4880 ms, MEDIAN=245.2870 ms
Executed 1 test(s) (1 passed, 0 expected failures, 0 failed, 0 crashed, 0 disabled) in 3 second(s)

Hi @morgolock

building the library:
scons Werror=1 debug=0 asserts=0 neon=1 opencl=0 examples=1 cppthreads=1 build=native -j4

running the graph example:
g++ examples/graph_mobilenet.cpp utils/Utils.cpp utils/GraphUtils.cpp utils/CommonGraphOptions.cpp -I. -Iinclude -std=c++11 -Lbuild -L. -larm_compute_graph -larm_compute -larm_compute_core -Wl,--allow-shlib-undefined -o examples/graph_mobilenet

./examples/graph_shufflenet

I test on Raspberry Pi Armv7.

I test the time:
start = clock();
graph.run();
end = clock();
cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;

Hi @ZhuXingJune
Please try building the library with benchmark_examples=1, this will create the benchmark_graph_shufflenet which then you can use to measure performance with any of the instruments
--instruments={NONE,WALL_CLOCK_TIMER,WALL_CLOCK_TIMER_MS,WALL_CLOCK_TIMER_S,SCHEDULER_TIMER,SCHEDULER_TIMER_MS,SCHEDULER_TIMER_S,WALL_CLOCK_TIMESTAMPS,WALL_CLOCK_TIMESTAMPS_MS,WALL_CLOCK_TIMESTAMPS_S,SCHEDULER_TIMESTAMPS,SCHEDULER_TIMESTAMPS_MS,SCHEDULER_TIMESTAMPS_S,ALL,}[,{...}[,...]] - Set the profiling instruments to use

I've noticed you ran the test on armv7a while I did on armv8a, I think you should see the same results as in armv8a.

Hi @morgolock
I built the library using:
"scons Werror=1 debug=0 asserts=0 neon=1 opencl=0 benchmark_examples=1 cppthreads=1 build=native -j4",
but I didn't find where "benchmark_graph_shufflenet" is.
By the way, I use the latest version of ACL (v19.08).

I met this problem too, no matter I compile the library with cppthreads=1 or openmp=1. I tested it on both arm64-v8a server and armv7a. However, the more threads I set, the less performance I got.

Btw, the %CPU will never exceed 100%.

Hi @ZhuXingJune
The benchmark examples are only available when you clone from the public repository: git clone "https://review.mlplatform.org/ml/ComputeLibrary"
Please try building them and running the test on your device.


Shader -> SPIR-V at CTS build time (#1849)

Instead of relying on prebuilt checked-in SPIR-V files, compile available shaders at CTS build time.

Add dependency on glslc (available as part of VULKAN_SDK).
Add optional build flag BUILD_GLSL_SHADERS, OFF by default.

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

Nikhil and I tried to add "focused review" at the same time, which is why the label was added and then immediately removed.  This should have "focused review".

@kpet The way this change is setup currently is that GLSL shaders are compiled to generate SPIR-V files with the same name as existing prebuilt SPIR-V (*.spv) files under https://github.com/KhronosGroup/OpenCL-CTS/tree/main/test_conformance/vulkan/shaders. So, if the option to compile GLSL shaders is enabled during test build, it replaces the prebuilt *.spv files with the ones generated by glslc shader compiler and the same will be used by existing tests in place of prebuilt shaders.
We can remove prebuilt *.spv files to avoid confusion, but prefer to do it in a subsequent PR.

Feedback from the January 30th and February 6th teleconferences: it would be best to remove the check-in SPIR-V files as part of this change so there is only one valid way for testing.

Merging as discussed in the April 2nd memory subgroup.


Change dependency to openmoltools

This is a reminder to myself to change the dependency from openmoltools-dev to openmoltools and ensure that Python 3 testing is working on travis. Will do this in the next PR.

I can't even remember what we use openmoltools for.

Oh, nevermind!
Fixing this here: https://github.com/choderalab/openmoltools/pull/165

Fixed. Packages will be uploaded shortly: https://anaconda.org/omnia/openmoltools-dev/files

Thanks! So should I keep openmoltools-dev?

Looks like the packages haven't been pushed. Not sure why.

Think I've fixed it. Let's give it a few min.

I think this is resolved


Builder::empty() and entity encoding

Given the following configuration:

Builder::empty().clean(input).to_string()

and the following input:
Some numbers are > than other numbers & I find that interesting.

a call to ammonia::is_html will return false, correctly. However, given the following input:
Some numbers are > than other numbers & I find that interesting <test>.

a call to ammonia:is_html will return true, also correctly. Passing the input to
builder::empty()

will render the following output:
Some numbers are > than other numbers & I find that interesting.

The <test> tag was correctly stripped, and the resulting output, rendered safe, has <>& rendered to their corresponding entity encoding values.
My question is regarding the use of empty() and returning a String that contains <>& encoded. It would seem that the detection of HTML elements and subsequent stripping of html elements does not necessarily necessitate the conversion of the relevant chars to their entity equivalents if 100% of the html data was stripped. Is there a mechanism to disable the conversion if empty() is utilized?
There are some situations where input is being collected, that has no intention of ever being reflected in a way that could conceivably be exploited. However, convention(on our end) does not allow the use of html data in input, but does allow written elements like <>&, subject to them not being evaluated to HTML.
Any thoughts on this are appreciated.

@notriddle thanks for the feedback. I'll add some logic in my code to address this specific circumstance.
Have a wonderful day and thanks for your efforts on this crate.


feature: recursive methods to match multiple rules.

This is a mini test case, it should be a bug, I think it should match all current routing rules.
Do you agree with this? @c9s
    R3Node * tree = r3_tree_create(3);

    int route_data1 = 1;
    int route_data2 = 2;

    // insert the R3Route path into the router tree
    r3_tree_insert_routel(tree, METHOD_GET | METHOD_POST, "/api", sizeof("/api") - 1, &route_data1 );
    r3_tree_insert_routel(tree, METHOD_GET | METHOD_POST, "/api/v1", sizeof("/api/v1") - 1, &route_data2 );
    char *errstr = NULL;
    int err = r3_tree_compile(tree, &errstr);
    if(err) {
        printf("%s\n",errstr);
        free(errstr);
        return 1;
    }

    char *path = "/api/v1/user";
    match_entry *e = match_entry_createl(path, strlen(path));

    R3Node *n;
    R3Route *r;
    n = r3_tree_matchl(tree, e->path.base, e->path.len, e);
    if (n == NULL) {
        printf("failed to match\n");
        return 1;
    }

    ...

$ gcc -g test.c -lr3 && LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ./a.out
failed to match

that is not a bug, close it.


[Trivial] Refine uuid split

Type of change

[x] Refactor
[ ] New feature
[x] Bug fix
[ ] Optimization
[ ] Documentation Update

Description
Trivial bug fix in baseline UUIDs split.
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

Testing
Verified in local in a hacky way.
>>> import re
>>> baseline="uuid1,uuid2, uuid3,uuid4 uuid5 uuid6, uuid7,uuid8,                uuid9"
>>> uuids = re.split(' |,',baseline)
>>> print(uuids)
['uuid1', 'uuid2', '', 'uuid3', 'uuid4', 'uuid5', 'uuid6', '', 'uuid7', 'uuid8', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'uuid9']
>>> uuids = [uuid for uuid in re.split(' |,',baseline) if uuid]
>>> print(uuids)
['uuid1', 'uuid2', 'uuid3', 'uuid4', 'uuid5', 'uuid6', 'uuid7', 'uuid8', 'uuid9']
>>> exit()

/lgtm


Can't open encrypted PDFs with R = 6 and password containing multibyte characters

Test PDFs:
Password "abc": https://docs.google.com/file/d/0B6UCteMctzGBeWFPWVNjaURuQk0/edit
Password "æøå": https://docs.google.com/file/d/0B6UCteMctzGBYWh2ZzQtbW1USmc/edit
Both PDFs have been created with CPDF command line tool using the AES256ISO encryption (which has R = 6) with the password being the only difference.
Encryption using R = 6 is specified in ISO 32000-2: http://www.pdfa.org/wp-content/uploads/2014/09/ISO-32000-2_DIS-1_REVIEW_ONLY.pdf (still under development, but check section 7.6 and section <IP_ADDRESS>). Despite this several libraries support encrypting using this R value.
Seems like the default encoding of passwords has been changed from ISO-8859-1 to UTF-8 for R = 6, so most readers are not capable of opening encrypted PDFs with password using multibyte characters. At time of testing only Acrobat Reader is capable of opening both PDFs.
Test across a couple of viewers: https://docs.google.com/spreadsheets/d/1Bg3eSe5cGSZJy-4k4j2KV_3hS0uhNtx6Xz3OV3JcncA/edit

Looks like we need to change how we treat password only for revision 6 only(?). Somewhere around https://github.com/mozilla/pdf.js/blob/master/src/core/crypto.js#L1921

(unescape(encodeURIComponent('æøå')) shall do the job)

I haven't got time to test it right now, but this seems to work fine: https://github.com/mozilla/pdf.js/compare/master...Snuffleupagus:issue-6010.

I haven't got time to test it right now, but this seems to work fine:

Based on the spreadsheet above that shall happen only for R=6.

Desarrolladores y líderes de Mozilla, que son travestis culo!
Alguien debe colgar ustedes para arriba en sus propias bolas y dejar que su perro muerda su caricatura de una polla!
Posteriormente deben ponerlo tiempo que sea necesario por la garganta hasta que traga a sí mismos en el suicidio!
Ustedes Mozilla está ... Estúpido de mierda coños!
Developers and leaders of Mozilla, which are shemales ass!

They should then put it long as needed by the throat until he swallows themselves in suicide!
You Mozilla is...

Developers and leaders of Mozilla, which are shemales ass!

They should then put it long as needed by the throat until he swallows themselves in suicide!
You Mozilla is...

 And to do a favour... I'm going to do that!
I kicked her so hard failure golden eggs until they are ringing and sing you all the melodies of forward and back pain in an instant!

Was it expected?
Oh, Yes, that was!
A movement such as the Mozilla!
So happy that I never upgraded to Firefox 29 and beyond!
Let me tell you something Mozilla developers! If I would be still using your latest crap-ware that really my mission would at this time to find out where you live and then drill him often in Golden's failure until you analyzes and understands how to threaten power users in the correct way!
Without a doubt, has been said before - but may not be repeated enough... You are...


Using multiple ControlNet models

Since the controlNet parameter in the StableDiffusionPipeline is an array, and the controlNetInputs in StableDiffusionPipeline.Configuration is also an array - I assume it's possible to use multiple controlNet models/inputs?
I tried using InPaint and Canny like so:
StableDiffusionPipeline init:
...
controlNet: ["LllyasvielControlV11PSd15Inpaint", "LllyasvielSdControlnetCanny"],
...

StableDiffusionPipeline.Configuration:
configuration.controlNetInputs = [inpaintImage, cannyImage]
configuration.startingImage = nil

I'm assuming the input images are assigned to the matching models depending on the array order (pipeline.controlNet[0].input == configuration.controlNetInputs[0]). That's just a guess, pls correct me if I'm wrong, I couldn't find any info on how this is handled.
ControlNet input images used:

Output:

The canny controlNet obviously worked, but the inpainting didn't (I was aiming for it to leave my face unchanged). I'm wondering if that's because of an error in my configuration?
The generation took much longer on an iPad Pro 11-inch (4th generation). ~3 steps per second with 1 controlNet VS ~0.25 steps per second with 2 controlNet models. Is that normal?

Hey @SaladDays831, you are right that >1 ControlNet is super slow! ~0.25 steps/sec is what I also measure and it seems to be because of this loop. It needs to be vectorized with Accelerate routines. I will triage it for now but happy to take a PR if anyone implements it before me.

@jrittvo thanks for your comment!

There are different command line arguments for an image2image starting image and for a controlnet starting image:
--image                       path to image for image2image
--controlnet-inputs      path to input image for controller

Yes, I'm explicitly not providing the --image parameter to stick with just controlNet

When you list multiple controlnets in a prompt command, you also need to list an equal number of controlnet-inputs. They get parced and paired in order, 1st:1st, 2nd:2nd, etc.

Thanks, that's what I wanted to confirm!

You need to be sure that you are feeding the output of the first conrolnet run as the input for the second controlnet run, etc. I am not sure that happens "by itself". I think that the inputs can either be the final image of the prior run from PIL, or the prior run's final latents, if I have the terms correct. (Those details are beyond my basic knowledge.)

This is interesting, if it's not happening "by itself" that could explain the output image I'm getting. So in my example, the inpaint output gets generated, but the canny run doesn't know anything about it and just works with the edge map and the provided prompt.
@atiorh can you confirm that to use 2 controlNets we don't need to somehow pass the output of the first one to the second one?

Hey @SaladDays831, you are right that >1 ControlNet is super slow! ~0.25 steps/sec is what I also measure and it seems to be because of this loop. It needs to be vectorized with Accelerate routines. I will triage it for now but happy to take a PR if anyone implements it before me.

I opened PR #214 which should implement this, I'm seeing a 5.6x speed improvement when using multiple ControlNets now that Accelerate routines are in place.

@JustinMeans great stuff! Just forked the repo to start looking into that, glad you showed up in time 😁

I mentioned PIL and the previous step's final latents above because I have seen that kind of thing in prompts to define the input, rather than a plain file.  The new SDXL python-diffusers pipeline does this kind of thing when it passes the output from the base step to the refiner step:
image = pipe(prompt=prompt, output_type="latent" if use_refiner else "pil").images[0]
image = refiner(prompt=prompt, image=image[None, :]).images[0]
So something similar should work translated from Python terms to Swift terms.

Thanks for clarifying!
As the multi-CN speed fix has been merged - I'm closing the issue


WIP: Moving vectors to fallible vectors

Does a bit of #100
What's left is swapping out the places where we did .collect(), and then doing the process for HashMap as well. Doesn't seem like HashSet has any entry in fallible collections


Epic: PIT. Rewind use case

Motivation
Users must be able to rewind at some point in time their workload.
DoD
Implementation ideas
Tasks

[ ]

Other related tasks and Epics

Does this mean like git reset --hard <commit> instead of creating a new branch from history and continuing there, later on removing the first branch?

Possibly yes, another use case:

I had a branch "A"
I created a branch "B"
And I continued working with branch "B"
I don't need a branch "A" anymore
How can I delete this? "A" is a parent of "B"

Maybe we need to allow to change of "parents" for such cases, I don't know yet

Copied comments from #3063
@koivunej :
How is this different from PITR in https://github.com/neondatabase/neon/issues/3064? Ah, maybe this means recovering to an LSN which has fallen out of gc_horizon and is no longer accessible?
@vadim2404
It can be the same, finally. In my thoughts, we need to provide such mechanics to our customers.
Talking about the horizon, I think that window in 2-3 days will cover all our needs. Usually, if an emergency occurs, we need to take the last successful back-up before destructive action.

I think that the difference is mostly in user expectation.
Most of database (and not only) users are familiar with backups and know very well that it is necessary to make backups to prevent loose of data.
We can say - in Neon you do not need to make backups, you can just return back to any point of time in the past. Ok, not to any point, but within 7 days (PiTR interval). And actually we do not always store information for all 7 days because there is also limit for WAL size...
I think that many clients will not be satisfied with such answer and will say: PiTR is fine, but can I still make some backup of the database stored just as file in some format from which database can be restored (and may be not necessarily in Neon, but in arbitrary Postgres instance).
And IMHO it is quit reasonable request: there can be some bug in Neon which cause storage corruption al loose of all data for all  period of time. Backup file certainly also can be corrupted or lost. But if it is read-only file, stored in S3, then probability of it is much much smaller.
And once user have backup, he definitely wants  to be able to restore data from backup. And may be periodically he will do it even if main database is not corrupted - just to check that backups are valid and it is able to restore database from it.
Restore from backup is not the same as switching to the branch (or creation of new branch). Once you switched to the branch, you are able to make some changes in this branch. But it actually means that you are not able to use this branch as backup any more. So this operation is different from restore from backup which is idempotent.
My opinion (although nobody asked it:) is that we should definitely make accent that Neon architecture allows you not to do backups and rely on PiTR. But at the same time we should provide for users "create backup" and "restore from backup" operations with expected semantic, doesn't matter that internally they can be implemented using branching.

The rationale was that we have already several epics lying around about backups: https://github.com/neondatabase/neon/issues/915 and https://github.com/neondatabase/neon/issues/1541 for example.
I would like us to have a concise backlog which will allow us to work efficiently
Having said that, your opinion is indeed what our product requirements already state (https://github.com/neondatabase/neon_roadmap/issues/40)
So I will revive https://github.com/neondatabase/neon/issues/3063 and merge the other related epics into it


Environment used for the OnlineDemo code

Hi there, I am really having difficulties with running the online demo of the code. Now I am wondering what are the environment for anyone that has worked on it and tried.
Bonus point If you can share the list of packages and the environment details.
Cheers
I keep running into issues like this
`2019-07-31 17:48:43, exp = 999, load_model path = /home/jeremiah/Documents/Project/Enhancement Project/Enhancement
WARNING: Logging before flag parsing goes to stderr.
W0731 17:48:43.958543<PHONE_NUMBER>32192 lazy_loader.py:50]
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:

https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
https://github.com/tensorflow/addons
https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.

W0731 17:48:44.030239<PHONE_NUMBER>32192 deprecation.py:323] From /home/jeremiah/Documents/Project/Enhancement Project/Enhancement/CONVNET.py:88: add_dispatch_support..wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
OMP: Info #212: KMP_AFFINITY: decoding x2APIC ids.
OMP: Info #210: KMP_AFFINITY: Affinity capable, using global cpuid leaf 11 info
OMP: Info #154: KMP_AFFINITY: Initial OS proc set respected: 0-7
OMP: Info #156: KMP_AFFINITY: 8 available OS procs
OMP: Info #157: KMP_AFFINITY: Uniform topology
OMP: Info #179: KMP_AFFINITY: 1 packages x 4 cores/pkg x 2 threads/core (4 total cores)
OMP: Info #214: KMP_AFFINITY: OS proc to physical thread map:
OMP: Info #171: KMP_AFFINITY: OS proc 0 maps to package 0 core 0 thread 0
OMP: Info #171: KMP_AFFINITY: OS proc 4 maps to package 0 core 0 thread 1
OMP: Info #171: KMP_AFFINITY: OS proc 1 maps to package 0 core 1 thread 0
OMP: Info #171: KMP_AFFINITY: OS proc 5 maps to package 0 core 1 thread 1
OMP: Info #171: KMP_AFFINITY: OS proc 2 maps to package 0 core 2 thread 0
OMP: Info #171: KMP_AFFINITY: OS proc 6 maps to package 0 core 2 thread 1
OMP: Info #171: KMP_AFFINITY: OS proc 3 maps to package 0 core 3 thread 0
OMP: Info #171: KMP_AFFINITY: OS proc 7 maps to package 0 core 3 thread 1
OMP: Info #250: KMP_AFFINITY: pid 28824 tid 28824 thread 0 bound to OS proc set 0
W0731 17:48:52.316204<PHONE_NUMBER>32192 deprecation.py:323] From /home/jeremiah/miniconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py:1276: checkpoint_exists (from tensorflow.python.training.checkpoint_management) is deprecated and will be removed in a future version.
Instructions for updating:
Use standard file APIs to check for files with this prefix.
`

I used tensorflow-gpu 1.13.1 to run the code. Some small bugs in the code need to fix under the version of tensorflow e.g tf.pack  to tf.stack， tf.unpack  to tf.unstack。 Above all, you can refer to goole to solve them.

@marvellousxf  Sorry to bug you. I decided to use Tensorflow=gpu 1.13.1 and made all the fix as you suggested and some others that came my way. But then after all this, I get stuck at this error and I am not sure what to do
`2019-08-04 12:48:13, exp = 999, load_model path = /home/jfadugba/ImageEnhancement
1.13.1
WARNING: The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:

https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sun
set.md
https://github.com/tensorflow/addons
If you depend on functionality not listed there, please file an issue.
WARNING:tensorflow:From /home/jfadugba/miniconda3/envs/peexoo/lib/python3.7/site-
packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from t
ensorflow.python.framework.ops) is deprecated and will be removed in a future ver
sion.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From /home/jfadugba/miniconda3/envs/peexoo/lib/python3.7/site-
packages/tensorflow/python/training/saver.py:1266: checkpoint_exists (from tensor
flow.python.training.checkpoint_management) is deprecated and will be removed in
a future version.
Instructions for updating:
Use standard file APIs to check for files with this prefix.`

If you got this same error, how did you fix it?
TIA


Facebook main merge

Please see CONTRIBUTING.md for how to set up your development environment and run tests.

Apologies - misfire.


[Bug] "Choice" inline edditing fail in grid

Hi,
Changing the ORO Contact Gender field inline in the grid fail  due to an exeception in JS validation.
It look like vendor\oro\platform\src\Oro\Bundle\FormBundle\Resources\public\lib\jquery.validate\additional-methods.js is not included, therefore jquery.validate fail on any custom validation.

The Choice validation callback doesn't exists

Called by https://github.com/orocrm/platform/blob/master/src/Oro/Bundle/DataGridBundle/Resources/public/js/app/components/cell-popup-editor-component.js#L117

Thank you for reporting this bug, we'll do our best to fix it within 1.10 release.


fix(client): stop preview in new window from disappearing on parent resize

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #47608

I tested this in my local environment. I recreated the behaviour from the desktop view on the mobile view. I also made sure the external window stays open while switching back and forth between the views as well as the title stays consistent. I also added the button to pop out the portal on the mobile view to mirror the desktop one.
Video demo:
https://github.com/freeCodeCamp/freeCodeCamp/assets/71296308/443cdc5a-6528-4aec-a987-774fdcf62fdc

@naomi-lgbt does it look ok now?


Hi

I am not receiving any audio from the ts c# sdk for xamarin android

Hi, the current sdk does not contain a sound backend for android. only the current beta sdk for c has that backend. http://dl.4players.de/ts/releases/pre_releases/sdk/ts3_sdk_<IP_ADDRESS>-Beta-2.zip
In order to make it work with c# you have to include the android binary and soundbackend from that beta sdk.


ci-automation: print kola command line

ci-automation: print kola command line
For running kola manually and knowing which parameters where set, it
helps to print the kola command line in the job.

How to use
Testing done
None

Cherry picked for stable, beta, alpha


Add detailed steps for the "Production Readiness (advanced)" section in the install guide

Is your feature request related to a problem? Please describe.
It would be good if there is detailed information about Production Readiness (advanced) section in the install guide
Describe the solution you'd like.
Create a guide for the above. In the guide, describe how to setup DNS rules, Ingresses, certificates etc.. for Pixie's self-hosted installation
Additional context.
N/A

I am currently documenting these steps. I will send a PR once I finalize it


Add API reference to docs

What do you think of using something like typedoc to add an API reference? I think this would complement the current guide quite well.

If you are okay with adding this then I can give it a shot.

I think that's a great idea. I'd been thinking about doing something like that myself, and typedoc seems like a good solution. I'm focused at the moment on finishing converting Legend's sync system to use Legend-State (and making some improvements to Legend-State along the way), and then moving towards 1.0 when that's done. We definitely need better documentation so if you could get typedoc going it would be fantastic 😀

@jmeistrich great.  I will work on it!

@jmeistrich what do you use to generate your website / docs?

It's currently custom Next.js code on the Legend homepage, and I just copy the .md files between it and this repo. We did that at the time because it was easy to make the custom embedded demos. But we could consider migrating it to something like Docusaurus and Sandpack?

@jmeistrich Docusaurus / Sandpack sound great.  Perhaps a new repo could be created such as "legend-docs" to hold both legend motion and legend state docs?

Why not mono repo??

I like the idea of a new repo for all of the docs. We will likely extract more things out of Legend to open source, so that would give the docs site more room to grow.
I don't think a monorepo would be ideal because Legend-State and Legend-Motion are very different, and potential future projects would be too, so they should have their own issues/PRs, etc...? Or am I missing something in how monorepos work?
I'm trying to figure out the best impact/time solution for now - I think we will go 1.0 very soon and don't want to delay that with a big documentation migration project. But on the other hand the current docs site is very custom and would take a fair amount of work to make significant changes like adding an API page with typedoc. Once we release 1.0 RC (should be this week) I'll play with Docusaurus and try converting the existing demos to Sandpack.
Another solution to the immediate API docs issue could be to just write an API docs page manually rather than generate it. The typedoc files from what you generated include a lot of things that are mostly for internal use, and are organized/ordered alphabetically - it may be better to be more purposeful about how we present it to the users?

@jmeistrich i definitely agree with not delaying 1.0 for these doc changes - your current docs, which are like a guide and light api reference, from a user perspective are actually quite good and i think more than sufficient for a 1.0 release.  In fact, I would go a step further and say that your current docs are actually what made me so interested in the project great description of the design decisions and context around how Legend-state was made.
Having docs on the internal stuff could still be useful for contributors i think, but that could definitely be a second priority.  Maybe there is a way to exclude things from typedocs output so we could simply decide what gets published.  I can look into that if youd like.  I saw Docosaurus had integration with typedoc as well (maybe it has other options too).
My personal feeling is that keeping it automated is better in the long term and since it seems were taking a greenfield approach here we might as well try to pick a strategic solution.  I come from Rust where docs are automated / built directly into the standard toolchain which was invaluable and made the dev experience to add documentation quite easy.

We just released a big update to the docs. While not quite a full API reference I think it's much improved over the previous docs. We definitely still have a ways to go though. Do you think we should augment the current API pages with more details or should we go with a more automated typedoc style API reference page?
See https://github.com/LegendApp/legend-state/issues/148

It depends if you don't want complete control over how API reference behaves and looks and want to make things in a hurry then go with type doc for sure. But if you wish to custom behaviors then go with the current approach. You can also do this If you want to deliver things in a hurry which I recommend to be as fast as possible go with type doc. An alternative to type doc is https://tsdocs.xyz/ it is more customizable and has more features compare to type doc.

Thanks @Syed-Sheharyar. We fixed the broken Sandpack.


quantization

Is there a way to quantize bark? That way the model would be even smaller and faster to load and hence takes less space on GPU and results in lower latency. Thanks!

Related to #30

You can find working quantized Bark examples in https://github.com/PABannier/bark.cpp and OpenVino


[SSL] Update change-encryption-mode-api.mdx

Summary
Update encryption modes to add the API origin_pull option

Addressed within #16471


KWRocketry 3.0.22 can't be installed or upgraded to.

This happens when trying to upgrade from a CKAN-installed 3.0.21, and after having removed it and tried to install clean with CKAN. The accompanying and required power configs can't install because they don't seem to have permission to overwrite those installed by its parent mod.

Downloading "https://github.com/linuxgurugamer/KWRocketryRedux/releases/download/3.0.22/KWRocketryRedux-MANUAL-3.0.22.zip"
Oh no! We tried to overwrite a file owned by another mod!
Please try a ckan update and try again.
If this problem re-occurs, then it maybe a packaging bug.
Please report it at:
https://github.com/KSP-CKAN/NetKAN/issues/new
Please including the following information in your report:
File           : GameData/KWRocketry/Parts/Engines/1mMaverick1D/part.cfg
Installing Mod : KWRocketryRedux-InstantPwr 3.0.22
Owning Mod     : KWRocketryRedux
CKAN Version   : v1.20.1-0-gd41fe54 (beta)

Seems to be fixed now, between this report and one left for the mod's developer.
Thanks.


Flash message improvement ISSUE #242

📋 Description

🔨 Changes Made

I change the flash message from normal bootstrap alert to bootstrap toasts.
I placed it a top right corner because in bottom right corner there is a 'Go to top' button. Which is lead the cause of overlapping.

✅ Checklist
Before submitting the PR, please make sure you have completed the following:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation (if applicable).
[x] My changes generate no new warnings.
[x] I have tested it locally and it works fine.
[x] Any dependent changes have been merged and published in downstream modules.

🏷 Types of Changes
What type of changes does your code introduce? (Check all that apply)

[ ] Bug fix (non-breaking change which fixes an issue) 🐛
[x] New feature (non-breaking change which adds functionality) ✨
[x] UI enhancement (non-breaking change which enhances UI) 🎨
[ ] Documentation update 📚

🤝 Related Issues

Fixes #242

📸 Screenshots (if applicable)

In computer screen
https://github.com/user-attachments/assets/44fbddb1-33b2-4ec1-b0f4-fbd0539eb321
In mobile

@Vignesh025  please verify it and marge it. And don't forget to add all the labels as per ISSUE #242
Reminder:
Please ensure your pull request is made to the test branch, not main.
Thank you for contributing to VigneshDevHub! We look forward to reviewing your PR and getting it merged!

Thankyou for Contributing!


fix: use own logger when one is not provided

Starting in serverless v3, plugins added using pluginManager.addPlugin do not receive a log instance. For more details see: https://github.com/serverless/serverless/issues/11412

Hi @icholy ,
This really sounds like an inconsistency that should be fixed on the framework side and not in the plugin.
Let's see what the serverless guys say.
If we would implement this here, I'd very much rather pulling the logger from the @serverless package instead of implementing my own.

This really sounds like an inconsistency that should be fixed on the framework side and not in the plugin.

Reading the serverless code, it looks very intentional. Also, the serverless-domain-manager plugin does the same thing.

If we would implement this here, I'd very much rather pulling the logger from the https://github.com/serverless package instead of implementing my own.

I started with that approach, but @serverless/utils seemed like a pretty big dependency for something that can be implemented in 6 lines of code.

@juanjoDiaz this won't be required after https://github.com/serverless/serverless/pull/11415 is merged.


skipIf(Predicate)

Feature summary
So the problem with the example is there isn't always a valid greater than, and I'm making up versions that I won't be generating just to fill it in. I've realized it would be nice to have a way to skip or pass a single assertion if it met certain criteria
I'd change the impossible values to null and do
assertThat(...).skipIf(v -> greaterThan == null);

Obviously I can just do an if statement or another test. Somehow to me this feels cleaner, as technically the code still executes.
BDD given/assumeThat isn't the same, because I don't want to skip the entire test, I just want to not fail this 1 assertion.
it'd be almost equivalent to the following, except the assertion wouldn't be called at all here, and it should be with skipIf
    if (greaterThan != null) assertThat(new ComparableVersion(semv.toString()))
      .describedAs("mvn")
      .isGreaterThan(new ComparableVersion(greaterThan));

could also call it passIf, unless (very perl-ish). I thought of using filter too but I think that'd be confusing. I suppose when thinking about chaining though
// would pass even if lessThan is false
assertThat(...).passIf( t -> greaterThan == null).isLessThan(...).isGreaterThan(greaterThan);
// would fail if less than is false but wouldn't run greater than, works like filter
assertThat(...).isLessThan(...).skipIf( t -> greaterThan == null).isGreaterThan(greaterThan);
// honestly seems same as passif to me because perl. Those only make sense at beginning or end of chain.
assertThat(...).isLessThan(...).isGreaterThan(greaterThan).unless( t -> greaterThan == null );

Possibly has some additional benefit if integrating with Soft Assertions (I find "Soft" weirdly named, and didn't know they were a thing before now), as maybe they can "log" this.
note: I'm fairly confident that this comparison stuff is not the first time I've wanted this.
Example
class SemverBuilderTest {

  @ParameterizedTest
  @ArgumentsSource(VersionProvider.class)
  void gitMetadata(GitMetadata gitMetadata, String expected, String comp, String lessThan, String greaterThan) {
    var semv = new SemverBuilder(gitMetadata).build();
    assertThat(semv).describedAs("equal").isEqualTo(new Semver(expected));
    assertThat(semv).describedAs("comparing").isEqualByComparingTo(new Semver(comp));
    assertThat(semv).describedAs("lessThan").isLessThan(new Semver(lessThan));
    assertThat(new ComparableVersion(semv.toString())).describedAs("mvn").isLessThan(new ComparableVersion(lessThan));
    assertThat(new ComparableVersion(semv.toString()))
      .describedAs("mvn")
      .isGreaterThan(new ComparableVersion(greaterThan));
  }

  static class VersionProvider implements ArgumentsProvider {

    @Override
    public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
      return Stream.of(
        arguments(
          new GitMetadataInfo(0, GitStatus.NO_REPO, null, null),
          "0.0.0-alpha.0.0",
          "0.0.0-alpha.0.0",
          "0.0.0-alpha.0.1",
          "0.0.0-alpha.0.0+0" // not something we're generating
        ),
        arguments(
          new GitMetadataInfo(0, GitStatus.CLEAN, "abcdef10", null),
          "0.0.0-alpha.0.0+abcdef10",
          "0.0.0-alpha.0.0",
          "0.0.0-alpha.0.1",
          "0.0.0-alpha.0" // not something we're generating
        ),
        arguments(
          new GitMetadataInfo(0, GitStatus.DIRTY, "abcdef10", null),
          "0.0.0-alpha.0.0+abcdef10.dirty",
          "0.0.0-alpha.0.0",
          "0.0.0-alpha.0.1",
          "0.0.0-alpha.0"
        )
      );
    }
  }

Have you tried using satisfies with a consumer implementing you specific needs ?

Unless I'm mistaken satisfies doesn't at all do what I'm proposing with a skipIf because I would still just end up using an if statement to not fail.


Gene 4.6 release

quarantest build successful. Demo link at
http://6f0c81cb.quarantest.iobio.io

quarantest build successful. Demo link at
http://5d2d78f0.quarantest.iobio.io


Luke Meiler HW9 Problem 2 Solution

Uploading my data, notebook, and utility functions solution for homework 9 problem 2.

Perfect, but don't want to merge it into the greenhouse gas repository.


Description rendered as ${1} instead of text

trng:

You can use \n for capture group in replacement.
And you can NOT use $n notation (unlike preg_replace function).

https://github.com/gameamea/grav-plugin-autoseo/blob/7c0eb3c5ceccf79ac4d4d941fc30698790d31706/autoseo.php#L225

I'll look at this issue as soon as possible, but I'm really busy at this time.
I've not fully tested this 1.3.6 (latest at this time) release. But the previous one did not have this issue
so you can still use the 1.3.5 version to fix that.

@LaurentOngaro Is a new release necessary to update the plugins for users? Could you create one for this fix? At least for me it was a "blocker" :)


API call to teardown all external resources.

Implementation of master call "/teardown" which removes all external resources used by kubernetes cluseter (currently external load balancers are removed). Related to #4630.

Looking at #4630 it seems like there is not agreement that we should add a master endpoint for this action.  My first reaction is that we should not.
Assigning to @bgrant0607 to decide if this is part of the master api.  He can reassign for someone to review the code if he agrees to the new endpoint.

assuming this does go ahead, please add a test to auth_integration_test to ensure this dangerous endpoint is subject to authorization.

CC @zmerlynn

We strongly feel there should be a single API call for this prior to de-provisioning underlying resources (I.e. VMs). I haven't reviewed the PR yet, but I'm happy to fight for it.

How will this work when someone implements a controller loop that provisions outside of the cluster?

We'd shoot the resources out from under the controller before the cluster disappeared. Keep in mind this is meant to fit into kube-down.sh.
Ideally we'd stop accepting work as well, but we're missing that logic.

So you're just trying to guarantee that all deletes are processed.
----- Original Message -----

We'd shoot the resources out from under the controller before the cluster
disappeared. Keep in mind this is meant to fit into kube-down.sh.
Ideally we'd stop accepting work as well, but we're missing that logic.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77198623

What does this do that deleting all services does not do?
This is something that one would never do to a real cluster. We need to find another solution to this problem.

It sounds like you want #1535 for services. We should implement stop for all API objects.
If we want a way to freeze admission of new work to the cluster, we could discuss that, as well.
/teardown is not the right solution.

What does this do that deleting all services does not do?

I'm actually happy deleting all services, in an API on the master, like this one. Or, say, /shutdown that freezes admission and stops further API calls. But it should be in the API surface, and I'll continue fighting for it.
kube-down.sh is one implementation of cluster shutdown. It is not the only implementation of cluster shutdown. If you're proposing that kube-down.sh implement this, why should a shell script have to delete the external resources that were created by the cluster? It's way more convenient if the client (kube-down.sh, or another cluster shutdown client) can ask the cluster to clean its own resources up.

@bgrant0607 /teardown is meant to be a call which is executed before decommissioning a cluster. My PR is the first step of implementing such call. Currently, it removes services which are using external load balancers. Issues with forwarding rules and replica pools staying after running kube-down.sh was reported many times by users: #2984, #4013, #4411. For now, in my PR, I was only trying to address them.
I agree that in future /teardown should evolve into something more sophisticated: stop accepting new work and do other stuff described in #1535. If something is needed, I will gladly extend functionality of /teardown, either in this or in a follow-up PR.

@derekwaynecarr the delete of everything in the cluster overlaps with the "delete namespace, ensure all sub resources are torn down" problem as well.  As I've been working on graceful deletion, it's obvious that it overlaps with both of these use cases as well. I think we need to sort through the design of these three things together, not individually.
The problem with services (external load balancers) and pods (bindings) is that they are designed wrong.  Deleting a service should automatically with no input from the admin ensure that the external load balancer is removed via a post deletion controller and reconciliation loop.  Likewise, deletion of a pod should automatically remove bindings and release node resources (we are removing the bound pods internal structure, so that problem goes away).  Fixing both of those removes the need you mention below to have a /teardown imperative call, because you can just do etcd DELETE / ?recursive=true
----- Original Message -----

@bgrant0607 /teardown is meant to be a call which is executed before
decommissioning a cluster. My PR is the first step of implementing such
call. Currently, it removes services which are using external load
balancers. Issues with forwarding rules and replica pools staying after
running kube-down.sh was reported many times by users: #2984, #4013, #4411.
For now, in my PR, I was only trying to address them.
I agree that in future /teardown should evolve into something more
sophisticated: stop accepting new work and do other stuff described in
#1535. If something is needed, I will gladly extend functionality of
/teardown, either in this or in a follow-up PR.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77370933

I don't 100% agree.  Deleting a cluster would delete these controllers. Unless you are saying delete of a cluster does not delete the controller that manages external load balancers.
Sent from my iPhone

On Mar 5, 2015, at 10:19 AM, Clayton Coleman<EMAIL_ADDRESS>wrote:
@derekwaynecarr the delete of everything in the cluster overlaps with the "delete namespace, ensure all sub resources are torn down" problem as well. As I've been working on graceful deletion, it's obvious that it overlaps with both of these use cases as well. I think we need to sort through the design of these three things together, not individually.
The problem with services (external load balancers) and pods (bindings) is that they are designed wrong. Deleting a service should automatically with no input from the admin ensure that the external load balancer is removed via a post deletion controller and reconciliation loop. Likewise, deletion of a pod should automatically remove bindings and release node resources (we are removing the bound pods internal structure, so that problem goes away). Fixing both of those removes the need you mention below to have a /teardown imperative call, because you can just do etcd DELETE / ?recursive=true
----- Original Message -----

@bgrant0607 /teardown is meant to be a call which is executed before
decommissioning a cluster. My PR is the first step of implementing such
call. Currently, it removes services which are using external load
balancers. Issues with forwarding rules and replica pools staying after
running kube-down.sh was reported many times by users: #2984, #4013, #4411.
For now, in my PR, I was only trying to address them.
I agree that in future /teardown should evolve into something more
sophisticated: stop accepting new work and do other stuff described in
#1535. If something is needed, I will gladly extend functionality of
/teardown, either in this or in a follow-up PR.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77370933
—
Reply to this email directly or view it on GitHub.

Isn't this the "why should I stop all daemons just to reboot my machine"
argument?  Or the "why should I destroy all my objects if my app caught
SIGTERM" ?
On Thu, Mar 5, 2015 at 10:00 AM, Derek Carr<EMAIL_ADDRESS>wrote:

I don't 100% agree. Deleting a cluster would delete these controllers.
Unless you are saying delete of a cluster does not delete the controller
that manages external load balancers.
Sent from my iPhone

On Mar 5, 2015, at 10:19 AM, Clayton Coleman<EMAIL_ADDRESS>wrote:
@derekwaynecarr the delete of everything in the cluster overlaps with
the "delete namespace, ensure all sub resources are torn down" problem as
well. As I've been working on graceful deletion, it's obvious that it
overlaps with both of these use cases as well. I think we need to sort
through the design of these three things together, not individually.
The problem with services (external load balancers) and pods (bindings)
is that they are designed wrong. Deleting a service should automatically
with no input from the admin ensure that the external load balancer is
removed via a post deletion controller and reconciliation loop. Likewise,
deletion of a pod should automatically remove bindings and release node
resources (we are removing the bound pods internal structure, so that
problem goes away). Fixing both of those removes the need you mention below
to have a /teardown imperative call, because you can just do etcd DELETE /
?recursive=true
----- Original Message -----

@bgrant0607 /teardown is meant to be a call which is executed before
decommissioning a cluster. My PR is the first step of implementing
such
call. Currently, it removes services which are using external load
balancers. Issues with forwarding rules and replica pools staying
after
running kube-down.sh was reported many times by users: #2984, #4013,
#4411.
For now, in my PR, I was only trying to address them.
I agree that in future /teardown should evolve into something more
sophisticated: stop accepting new work and do other stuff described in
#1535. If something is needed, I will gladly extend functionality of
/teardown, either in this or in a follow-up PR.

Reply to this email directly or view it on GitHub:

https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77370933

—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77414705
.

@derekwaynecarr: There is no API action "delete a cluster". That is essentially what we're proposing, a last gasp action prior to the de-provision. Otherwise, an external actor has to actually manually go through and find all API objects and shoot them manually.
And the future may not just be ELBs that we're creating in the cloud. Who the heck knows what external resources the cluster is trying to keep track of - we've proposed tracking firewall rules (it was shot down, but I'd like to bring it back under policy discussion), etc.

That argument applies to other things (like etcd running on the cluster).  I don't think /teardown solves that problem unless it knows the ordering of all controllers on the cluster, which it can't know if the cluster is extensible.  And since we want the cluster to be extensible, teardown is something applied to the APIs by an external agent, not inside the internal agent.
How would teardown handle deleting external resources managed by OpenShift?

On Mar 5, 2015, at 1:00 PM, Derek Carr<EMAIL_ADDRESS>wrote:
I don't 100% agree. Deleting a cluster would delete these controllers. Unless you are saying delete of a cluster does not delete the controller that manages external load balancers.
Sent from my iPhone

On Mar 5, 2015, at 10:19 AM, Clayton Coleman<EMAIL_ADDRESS>wrote:
@derekwaynecarr the delete of everything in the cluster overlaps with the "delete namespace, ensure all sub resources are torn down" problem as well. As I've been working on graceful deletion, it's obvious that it overlaps with both of these use cases as well. I think we need to sort through the design of these three things together, not individually.
The problem with services (external load balancers) and pods (bindings) is that they are designed wrong. Deleting a service should automatically with no input from the admin ensure that the external load balancer is removed via a post deletion controller and reconciliation loop. Likewise, deletion of a pod should automatically remove bindings and release node resources (we are removing the bound pods internal structure, so that problem goes away). Fixing both of those removes the need you mention below to have a /teardown imperative call, because you can just do etcd DELETE / ?recursive=true
----- Original Message -----

@bgrant0607 /teardown is meant to be a call which is executed before
decommissioning a cluster. My PR is the first step of implementing such
call. Currently, it removes services which are using external load
balancers. Issues with forwarding rules and replica pools staying after
running kube-down.sh was reported many times by users: #2984, #4013, #4411.
For now, in my PR, I was only trying to address them.
I agree that in future /teardown should evolve into something more
sophisticated: stop accepting new work and do other stuff described in
#1535. If something is needed, I will gladly extend functionality of
/teardown, either in this or in a follow-up PR.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77370933
—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub.

Is the current problem that deleting all services doesn't actually delete the external load balancers?

Where are you proposing deleting all services, keeping in mind my previous
comments?
On Mar 5, 2015 10:21 AM, "Brian Grant"<EMAIL_ADDRESS>wrote:

Is the current problem that deleting all services doesn't actually delete
the external load balancers?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77418757
.

@smarterclayton: A /shutdown hook (not this PR) could notify other things
and allow them to shoot more first, ostensibly. We'd need a timer there,
though.
On Mar 5, 2015 10:30 AM, "Zachary Loafman"<EMAIL_ADDRESS>wrote:

Where are you proposing deleting all services, keeping in mind my previous
comments?
On Mar 5, 2015 10:21 AM, "Brian Grant"<EMAIL_ADDRESS>wrote:

Is the current problem that deleting all services doesn't actually delete
the external load balancers?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77418757
.

I think we should fix external load balancer deletion in a manner that does not introduce a blanket
/teardown endpoint.

What does GKE do for cluster deletion?

Shoots the underlying resources with extreme prejudice.
We'd like to issue exactly one call before that and wait, not have to keep
chasing upstream logic.
On Mar 5, 2015 11:20 AM, "Brian Grant"<EMAIL_ADDRESS>wrote:

What does GKE do for cluster deletion?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77431943
.

So hypothetical kind of real world case based on our proposed resources and some customer stuff

I have a cloud provider integration for load balancers
I have a storage provider integrated and have reserved a bunch of GCE volumes
I have external IPs configured to point to my pods
I have a custom controller running as a pod on my cluster that registers my services in an external service database (watches, handles deletes and resync)

Which things would teardown handle?  I'm assuming if teardown was part of our API, i would expect all of the things above to be cleaned up.  How would teardown handle the last controller?  A properly written controller should be able to handle "server says everything is gone, so I should go clean it up".  However, a controller won't be able to handle "the api server stopped responding (because I was using the kubernetes service and it got deleted)" because it doesn't know that means it's not coming back.
----- Original Message -----

Shoots the underlying resources with extreme prejudice.
We'd like to issue exactly one call before that and wait, not have to keep
chasing upstream logic.
On Mar 5, 2015 11:20 AM, "Brian Grant"<EMAIL_ADDRESS>wrote:

What does GKE do for cluster deletion?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77431943
.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77433927

@smarterclayton: That last controller this PR can't possibly deal with. Nor would GKE today, nor kube-down.sh. It would just be leaked. We've already suggested that this could be continued to include "kill all running pods, using the #1535 mechanism". (See https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77370933, https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-77421910).

Elsewhere we've discussed having deletion of a namespace delete all objects within it. It seems to me that we could make deletion on the collection of namespaces recursively delete all namespaces.

I will make note of that use case in the design I am working on.
Sent from my iPhone

On Mar 7, 2015, at 5:49 PM, Brian Grant<EMAIL_ADDRESS>wrote:
Elsewhere we've discussed having deletion of a namespace delete all objects within it. It seems to me that we could make deletion on the collection of namespaces recursively delete all namespaces.
—
Reply to this email directly or view it on GitHub.

We need to support deletion of clusters, both for GKE and for e.g. e2e tests.  The master will create and delete various CloudProvider objects, so it should own those objects.  We need a way to (a) crease accepting new objects, (b) change desired state for existing objects to does-not-exist, (c) block until the CloudProvider reconciler (or equivalent) finishes actually deleting all of those.
Given the master knows what it created and has code to delete such things (for whatever version of k8s it's running), we should use the master itself to clean up a cluster that needs to be deleted, not require some out-of-band tool to do so.

I think at this point derek's pull can turn this use case into:
for namespace in client.Namespaces().List()
namespace.Delete()
while client.Namespaces().List() > 0
sleep 1
Cluster resource teardown is possible, especially for tearing down disks.
----- Original Message -----

We need to support deletion of clusters, both for GKE and for e.g. e2e tests.
The master will create and delete various CloudProvider objects, so it
should own those objects.  We need a way to (a) crease accepting new
objects, (b) change desired state for existing objects to does-not-exist,
(c) block until the CloudProvider reconciler (or equivalent) finishes
actually deleting all of those.
Given the master knows what it created and has code to delete such things
(for whatever version of k8s it's running), we should use the master itself
to clean up a cluster that needs to be deleted, not require some out-of-band
tool to do so.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-83758054

@smarterclayton: That's awesome. Do you mind if that exists as a single API called /teardown? Pretend for a moment that the GKE API server is a very, very dumb client. You wouldn't be far off. :)

The one thing is that you have to wait for resource cleanup - the deletes happen in the background, so we can't easily block on them.  You'd potentially hit the maximum request timeout on a medium sized cluster (if for instance a service deletion wedged).  It could potentially be a reentrant API endpoint (hit server, if it doesn't return 200, sleep, try again).  But that's still waiting.
----- Original Message -----

@smarterclayton: That's awesome. Do you mind if that exists as a single API
called /teardown? Pretend for a moment that the GKE API server is a very,
very dumb client. You wouldn't be far off. :)

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/pull/5025#issuecomment-83767238

@smarterclayton: That's a fair point.

@zmerlynn I proposed that we just support recursive delete of namespaces.

I am happy to add support to delete all namespaces once my design and implementation for deleting a single namespace is merged :-)
Sent from my iPhone

On Mar 19, 2015, at 8:19 PM, Brian Grant<EMAIL_ADDRESS>wrote:
@zmerlynn I proposed that we just support recursive delete of namespaces.
—
Reply to this email directly or view it on GitHub.

Is this PR active? If not please close it according to https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/devel/pull-requests.md


Failing to load intergration

Hi,
I have installed this integration on a newly commissioned amber site and I am getting the following error. The site only has 2 days worth of data, so I am not sure if this is a problem or if it is something else.
This is the error message I am getting.
This error originated from a custom integration.
Logger: custom_components.amberelectric_usages
Source: helpers/update_coordinator.py:315
integration: Amber Electric - Usages (documentation, issues)
First occurred: 11 May 2024 at 16:16:27 (944 occurrences)
Last logged: 13:15:57
Unexpected error fetching amberelectric_usages data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 315, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/amberelectric_usages/coordinator.py", line 82, in _async_update_data
await self._insert_usage_statistic(usages_by_hour_by_channel)
File "/config/custom_components/amberelectric_usages/coordinator.py", line 132, in _insert_usage_statistic
async_add_external_statistics(self._hass, metadata, statistics)
File "/usr/src/homeassistant/homeassistant/components/recorder/statistics.py", line 2251, in async_add_external_statistics
raise HomeAssistantError("Invalid statistic_id")
homeassistant.exceptions.HomeAssistantError: Invalid statistic_id

Hi @gheydon this sounds similar to #4 , could you try the workaround to use only lower cases in the name when you add the integration.

Thanks, that fixed it.


Add wildcards for additional files and keep relative paths to main files

Currently, the user must specify each file and all  files are copied to the same directory.
We can add wildcards to make it easier and keep the relative paths to the main file to avoid import errors.

Ideas for additional files:

create list of additional files and add them one by one in the dockerfile similar to the requirements (avoid copying each file to the temporary additional_files dir)
Run glob to get all files if wildcards are used
Get the relative path between the main file and each additional file
Check if folders are copied recursively to the container image

Ideally, this should copy all files in current directory, if * is provided as additional file.
E.g. you could run c3_create_operator -r <cr> train.py * for a training script.

Added in #35


type casting of rbpf

Hello,
It looks like there are some inconsistency when Solana rbpf deals with the type-casting using i32 and u32.  e.g.

ebpf::ADD32_IMM considers dst and imm as i32 firstly, then as u64, while
ebpf::OR32_IMM considers dst and imm as u32 first, then as u64

    // BPF_ALU class
    ebpf::ADD32_IMM  => self.reg[dst] = (self.reg[dst] as i32).wrapping_add(insn.imm as i32)      as u64,
    ebpf::ADD32_REG  => self.reg[dst] = (self.reg[dst] as i32).wrapping_add(self.reg[src] as i32) as u64,
    ebpf::SUB32_IMM  => if self.executable.get_sbpf_version().swap_sub_reg_imm_operands() {
                        self.reg[dst] = (insn.imm as i32).wrapping_sub(self.reg[dst] as i32)      as u64
    } else {
                        self.reg[dst] = (self.reg[dst] as i32).wrapping_sub(insn.imm as i32)      as u64
    },
    ebpf::SUB32_REG  => self.reg[dst] = (self.reg[dst] as i32).wrapping_sub(self.reg[src] as i32) as u64,
    ...
    ebpf::OR32_IMM   => self.reg[dst] = (self.reg[dst] as u32             | insn.imm as u32)      as u64,

Does Solana rbpf perform some specific operations on e.g. eBPF ADD ...? As self.reg[dst] = (self.reg[dst] as i32).wrapping_add(insn.imm as i32)      as u64 and self.reg[dst] = (self.reg[dst] as u32).wrapping_add(insn.imm as u32)      as u64 may have different results.
When Linux eBPF performs type-casting, it always follows a consistent way
#define ALU(OPCODE, OP)					\
	ALU64_##OPCODE##_X:				\
		DST = DST OP SRC;			\
		CONT;					\
	ALU_##OPCODE##_X:				\
		DST = (u32) DST OP (u32) SRC;		\
		CONT;					\
	ALU64_##OPCODE##_K:				\
		DST = DST OP IMM;			\
		CONT;					\
	ALU_##OPCODE##_K:				\
		DST = (u32) DST OP (u32) IMM;		\

Known issue:
https://github.com/solana-labs/rbpf/pull/548
https://github.com/solana-labs/solana/issues/32924


Fix a race closing MockSpdyPeer.

It would have crashed if close() was called before readAndWriteFrames() started.
That's fixed now.

LGTM


omit if empty

otherwise we'll end up with "0001" dates

Pull Request Test Coverage Report for Build #6

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 78.187%

Totals

Change from base Build #4:
0.0%

Covered Lines:
1147

Relevant Lines:
1467

💛  - Coveralls


transfer leader scheduler will timeout if disk load is near 100%

Bug Report

What version of TiKV are you using?
master
What operating system and CPU are you using?
Doesn't matter.
Steps to reproduce
Use high workload to make disk util nears 100%, and rolling update the cluster
What did you expect?
Rolling update should finishes in seconds.
What did happened?
It keeps timeout. The problem is region heartbeat needs to load approximate size and key count, which need to access disk. If disk is busy, then the heartbeat will not be sent out in time. Hence the operator always timeout.
If transfer leader task depends on region heartbeat, then region heartbeat should be lightweight enough to be reported, and should not require approximate size and key count be known. Or transfer leader should depends on other mechanism to detect if leadership has changed.

/severity major
/sig raft

We can close this issue since we have "disk-full protection" feature that the transfer leader will always success. PTAL @BusyJay

/assign SpadeA-Tang

/cc SpadeA-Tang
PTAL


No napari viewer in Visual Studio Code

🐛 Bug
No napari viewer in Visual Studio Code
To Reproduce
Steps to reproduce the behavior:

Start Visual Studio Code
In the integrated terminal
Create and activate a conda environment
Use the conda install -c conda-forge napari to install the library
import napari
start napari

herber0000@pdw12:/media/herber0000/Data/Projects/IAP_Project670/Devel/imcftodo-670$ conda activate iap670-env
(iap670-env) herber0000@pdw12:/media/herber0000/Data/Projects/IAP_Project670/Devel/imcftodo-670$ ipython
Python 3.8.8 (default, Apr 13 2021, 19:58:26)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.22.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import napari
/home/herber0000/miniconda3/envs/iap670-env/lib/python3.8/site-packages/napari/_qt/__init__.py:37: UserWarning:
    napari was tested with QT library `>=5.12.3`.
    The version installed is 5.9.7. Please report any issues with this
    specific QT version at https://github.com/Napari/napari/issues.

  warn(message=warn_message)

In [2]: napari
Out[2]: <module 'napari' from '/home/herber0000/miniconda3/envs/iap670-env/lib/python3.8/site-packages/napari/__init__.py'>

Expected behavior
I am working on 3D stacks in Python using skimage, I was hoping here to open a viewer and later open the images I'm working on in a napari viewer.
Environment
I'm using Linux Mint 20 and VSC version: 1.55.2

Any other relevant information:

I've tested the same process in a normal terminal and napari opens as expected. Let me know if I can add anything else!

You are opening ipython in the VSCode terminal, whereas I expect you are just typing "napari" in the normal terminal. :blush: To get a napari viewer in IPython, you need to make it (viewer = napari.Viewer()) or use one of the view_* functions (e.g. viewer = napari.view_image(a_numpy_array)).
You can read more about this in our getting started tutorial.
I'm closing this now as I'm pretty certain it's not a bug, but feel free to keep asking us questions! We love helping newcomers get started with napari! :blush:

(not to mention scikit-image, btw! :smiley:)

Thanks! It was indeed my issue!
I didn't realize that there are different ways to call the viewer depending on the environment!
Thanks for the welcome and very fast support!


Can't bind data to countdown attribute

I'm not able to bind data to countdown attribute!!

Set the coundown using (broadcast to) the 'timer-set-countdown' event
$scope.$broadcast('timer-set-countdown',30);
set to 30 secs


Fix/fix inlines

Fixes
Fixes bug with datetimepicker and dynamic inlines, now when adding a new inline the datetimepicker will keep it's value
Fixes bug with inline forms if they are set to stacked or tabular, previously it was not possible to interact with some fields
Replaced deprecated functions from  iFrameresizer
Allow to set a number of dynamic inlines, previously this was hardcoded to 1
Delete button now disappears from inlines if can_delete is set to False
Add new inline button now is removed if the max number of inlines is reached

Coverage increased (+0.02%) to 73.873% when pulling<PHONE_NUMBER>e48c8ef896421b096290e46e694da2 on fix/fix-inlines into 93ee067ed15323bbe421f19bf98eff55c63da30c on develop.


prints in magic methods ruins the output in kosmos shell

please review the magic methods specially __str__ and __repr__ in case if there're any dangling print statements

https://github.com/threefoldtech/jumpscaleX_core/pull/381/commits/2768dbc72bbda199cfdf4dc580447826e8206a59
https://github.com/threefoldtech/jumpscaleX_core/pull/381/commits/1968f16cbb7af8ab941afde4d982307b235b7caa