How to use？

Thank you very much for your work. I am a novice in this field and I really want to know how to use it. I now have a robotic arm and a Realsense camera, but it seems that you are testing with simulated data here. I want to know how to really use it on a hardware system.

This repo is mainly based on language-table simulation environment to build the whole pipeline. If you want to test on real robots, you need to carry out the following steps：

You should collect your custom datasets by telecontrol or strategy code to grab specific objects at distinct place(which we have tried is easy to get), at the beginning you can just collect about 100 episodes for a single task like grab the red block on the table with random position.
Convert your custom dataset to RLDS type follow the instruction in this repo.
Then you can train the model with your custom dataset with the tensorflow code of RT-1, if you prefer to use pytorch, you could follow the instruction with other repo like pytorch, but you should also change the dataset type to align with the pytorch code, which I think is easier.
After you trained several steps with loss reduction, you could test them with your environment, you need to write the code to ensure communication between robot and your host service, including the robot camera sensor send an image to the server, the server run the model inference to output the action and send back to robot, then the robot execute it.
I highly recommend you to use simulated environment like calvin or others at the beginning to learn the whole pipeline, real-world environment  has many factors affect the final result. Our team tried to test RT-1 on the real-world environment, the result is not good enough for fine control, so you can try other recent open-source model for instead.
Maybe after some time, I will try and open source the whole pipeline to test the boundaries of each algorithm in real environment, and make a tutorial. However I have some research work to do now, I hope this information above is helpful and wish you good luck.

本 repo 主要基于 language-table 模拟环境搭建整个流程，如果要在真实机器人上进行测试，需要进行如下步骤：

您应该通过遥控或策略代码收集自定义数据集，以抓取不同位置的特定对象（我们尝试过，很容易获得），一开始您可以为单个任务收集大约 100 个情节，例如以随机位置抓取桌子上的红色块。
按照此repo中的说明将您的自定义数据集转换为 RLDS 类型。
然后，您可以使用 RT-1 的 tensorflow 代码通过自定义数据集训练模型，如果您更喜欢使用 pytorch，您可以按照pytorch等其他 repo 的说明进行操作，但您还应该更改数据集类型以与 pytorch 代码保持一致，我认为这更容易。
在你训练了几个减少损失的步骤之后，你可以在你的环境中测试它们，你需要编写代码来确保机器人和你的主机服务之间的通信，包括机器人摄像头传感器将图像发送到服务器，服务器运行模型推理以输出动作并发送回机器人，然后机器人执行它。
我强烈建议您在开始时使用calvin或其他模拟环境来学习整个流程。真实环境有许多因素会影响最终结果。我们的团队尝试在真实环境中测试 RT-1，结果不足以进行精细控制，因此您可以尝试其他最近的开源模型。

也许过一段时间，我会尝试开源整个流程，在真实环境中测试每个算法的极限，并制作一个教程。不过我现在还有一些研究工作要做，希望以上信息对您有所帮助，祝您好运。

God, thank you very much for your reply. I will study further according to your suggestions. At the same time, I look forward to the open source of your entire process. Thank you again for your suggestions.


Adding WSL in Visual Studio fails with "Failed to archive sysroot [...]"

I'm following the instructions here: https://blogs.msdn.microsoft.com/vcblog/2017/02/08/targeting-windows-subsystem-for-linux-from-visual-studio/ to the point.
When going to "Tools > Options > Cross Platform > Connection Manager", entering the details, and clicking "Connect", it results in the following error:

The log file contains the following:

liblinux.ExceptionBase: Failed to archive sysroot, command used: 'zip -r /var/tmp/sysroot_bd10b29c-e9ef-409f-94da-ad87165daa75.zip '.
at liblinux.Services.RemoteCompiler.CreateSysrootArchive()
at liblinux.Services.RemoteCompiler.DownloadSysroot()
at liblinux.Services.RemoteCompiler.CreateSysroot()
at liblinux.Services.RemoteCompiler.CreateLocalSysroot()
at Microsoft.VisualStudio.Linux.Package.Dialogs.HeaderUpdateDialog.<>c__DisplayClass17_0.b__0(Object _)

Your Windows build number:  Microsoft Windows [Version 10.0.16299.402]

Variation #2505 (message). The Visual C++ for Linux team has a github here.

@therealkenc Shouldn't WSL's ssh show an error or at least a warning though if you start it on port 22, but Windows is already listening on port 22?

"WSL's ssh" is not well formed. The OpenBSD Foundation has a ssh called OpenSSH, and Canonical Ltd. (among others) distributes it. Not a WSL actionable. But to answer your question; no. OpenSSH by default does a setsockopt(...SO_REUSEADDR...), so it will listen even if the port is occupied. This is the case on both WSL and Real Linux (natch). As an experiment, on Real Linux™ you can try for example:
$ nc -l 2222

... and then in another term:
$ /usr/sbin/sshd -D -p 2222

OpenSSH sshd will fire up without warning. And behave badly.

so it will listen even if the port is occupied

Wow!
Learned something the hard way then. That's quite surprising.
Thank you very much for the explanation :-)


public_api.__all__ misses several entries

I'm experimenting with public API methods (eg. explain). My IDE (PyDev) doesn't see them attached to friendly_traceback module. Probably it's because they are missing from friendly_traceback.public_api.__all__ list.

They are included:
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from friendly_traceback import public_api
>>> public_api.__all__
['cache', 'check_syntax', 'exec_code', 'highlight_source', 'exclude_file_from_traceback', 'is_excluded_file', 'include_file_in_traceba
ck', '__version__', 'explain', 'install', 'uninstall', 'is_installed', 'get_output', 'set_formatter', 'set_lang', 'get_lang', 'set_lev
el', 'get_level', 'set_stream', 'get_stream', 'clear_traceback', 'copy_traceback_info', 'show_traceback_info_again']

I too have looked at seeing if I could easily use Friendly-traceback with Thonny, but have not been able to - at least not yet.

Now I noticed the make_public trick, but as PyDev doesn't execute the module, this is not visible for the code completer. BTW, jedi completer used in Thonny doesn't see through it either. I suspect MyPy and other static analysis tools will also stumble on it.
I was able to integrate friendly_traceback into Thonny. I'll send you the details when I'm done with the configuration part. I was talking about PyDev, because I'm developing Thonny in it.

I didn't realize that using a decorator would cause problems. I just saw this as an easy way to avoid forgetting to include some functions.  If needed, I can stop using this and explicitly add the name in __all__: it would be a minor edit for me to do.

Also, in case you install from pypi.org, note that run_program has been removed from version 0.0.26 (latest version on pypi) but is still present in the repository as I didn't commit the corresponding changes; https://github.com/aroberge/friendly-traceback/blob/master/friendly_traceback/public_api.py#L250
If it is needed for Thonny, I can put it back in.

I used following methods

set_level
set_lang
exclude_file_from_traceback
explain(redirect="capture")
get_output

The result is in Thonny's master and the instructions are here: https://github.com/thonny/thonny/issues/1028
If you are happy with this, then I'll try to make a release before holidays.

This works beautifully!  I had been thinking of trying to write a Thonny
plugin, but it is clearly not needed.
I will add a page in the documentation for Friendly-traceback to show how
it works with Thonny, with screenshots.
I was thinking of modifying some of the descriptions I had to include parts
of some of the suggestions mentioned by the Assistant - I may still do this
at some point.
When I update the documentation, I will let you know so that you can let me
know if I should change anything.
Thank you!
On Thu, Dec 19, 2019 at 6:15 PM Aivar Annamaa<EMAIL_ADDRESS>wrote:

I used following methods

set_level
set_lang
exclude_file_from_traceback
explain(redirect="capture")
get_output

The result is in Thonny's master and the instructions are here:
thonny/thonny#1028 https://github.com/thonny/thonny/issues/1028
If you are happy with this, then I'll try to make a release before
holidays.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/aroberge/friendly-traceback/issues/37?email_source=notifications&email_token=AAEZXQWU3CBJOQTEX4OAYMLQZPW6NA5CNFSM4J5JZSWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHLG7ZY#issuecomment-567701479,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEZXQTHQUWPUEOD7NKMHV3QZPW6NANCNFSM4J5JZSWA
.

Great!


Doesn't install on Python 3.7

This didn't install for me because the regex requirement failed to install. Is it known to work with Python 3.7?

Could you share more info about your environment and error messages you are getting?
I installed here in a virtualenv with Python 3.7 in an Ubuntu 16.04 . Probably you are having problems with some of the dependencies, not dateparser itself.

Yes, it's with the regex requirement. I'm glad to hear it's working for you, which is all I needed to know.


Take another look at leaderboard UI's

refactor and make it so that it works for what we want
also check and see whether the top 3 are supposed to move

duplicate, more detailed issue available


In-app UTXO Generator for instant publications

Is your feature request related to a problem? Please describe.
Currently, when a user goes for publishing, it takes 5-10 minutes to publish fully as there is a waiting period for confirmation of claims
Describe the solution you'd like
As I was digging into SDK API, I found the concept of utilization of UTXO for instant publishing quite fascinating. It's currently efficient for mass uploading scripts for the non-interrupted uploading process.
However, If a creator has the ability to create UTXO in-app through the GUI, as the UTXO is broadcasted, afterwards for each publication, the claim will be confirmed instantly allowing the user to skip the confirmation period.
Describe alternatives you've considered
Uhm, waiting... I guess.

Thanks for filing. This would be cool to see as an advanced feature, but even without it, you can still upload at least 5-10 things easily one after another without confirmtion (if using GUI). If you're using the SDK to mass publish concurrently, then it probably is.


Remove 'q' From Continuation Characters

Description:

Solves issue #949.

Changes:

Remove q from the list of possible continuation characters for non-patrons.

[X] I have tested all my changes thoroughly.

Rather than doing this, we should probably just set noPrefixDM: true, to false, so that you have to use prefixes in DMs, otherwise this will just happen with other letters and commands.

Fixed in https://github.com/oldschoolgg/oldschoolbot/pull/982


mouse frozen after Chrome OS update

Chome Os 44
last crouton, trusty totally updated

I run instal.....sh script on the wiki for Acer C720 --not working
I updated all crouton -- not working
I rebooted many times -- not working
I plugged external mouse --not working too

I prefer not to perform a new clean installation. It would be the fourth

Solved following this instructions on
https://blogs.fsfe.org/the_unconventional/2014/04/20/c720-ubuntu/
sudo apt-get install software-properties-common
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:hugegreenbug/cmt2
sudo apt-get update
sudo apt-get install xf86-input-cmt
sudo apt-get purge xserver-xorg-input-synaptics
sudo ls -s /usr/share/xf86-input-cmt/50-touchpad-cmt-peppy.conf /usr/share/X11/xorg.conf.d/50-touchpad-cmt-peppy.conf


Volume Shells (or even just Audio Volume Shells)

Feature
Allows one to set a minimum radius for volumes or just audio volumes. If you’re inside a volume and you travel closer to the center of it, past a set point it stops working. An example is having a planet with both low altitude and high altitude sounds, but you don’t want both sounds to overlap one another since the volumes are inside each other.
Context
No response

you can accomplish this using priority on the audio volumes. for no sound you could just have an audio volume with an empty wav file or something


chore: Increased io.appium.settings to version ^3.3.0 for compatibility reasons

This is needed because appium-android-driver would require a newer version of io.appium.settings to have full functionality on proper location mocking.
This is related to:

python-client pull request: appium/python-client#594
io.appium.settings pull request appium/io.appium.settings#70
appium-adb pull request https://github.com/appium/appium-adb/pull/563

We also need to bump appium-adb here as soon as it is published


Icon Is Missing

Version: 1.0.108
Platform: linux 5.3.0-51-generic
Plugins: none
Installed the latest Terminus on Ubuntu 19.10. After I launched Terminus, the app icon is a blank one on the tray.
See the screenshot below. After clicking on the app, a separate demon was launched with a blank icon.

Should be already fixed

Version: 1.0.136
Platform: elementary OS 5.1.7 Hera - Built on Ubuntu 18.04.4 LTS - Linux 5.4.0-71-generic - GTK 3.22.30)
Plugins: none

Any idea on how to fix it?


Difficult to tell what version of Dart we embed into engine from flutter --version

We'd like to report the version of Dart we embed into the engine when the user runs flutter --version.

cc @pq

We should be able to get this by running a short Dart program in the host sky_shell (same thing used by flutter test).

@Hixie 👍
Now we just have to decide if this is actually what we want. 😄
Here's the kind of output we can get by accessing Platform.version from within a Dart app run in sky_shell:
1.19.0-edge.cfdd6ee5cc6a7af56ead91190af8f8dcc33e82ea

@sethladd : is this useful?
Here's how version info incorporating it might look:
[~/src/git/clones/flutter] (master) $ flutter --version
Flutter on channel master (from git@github.com:pq/flutter.git)
Framework revision 529c25caa8 (18 hours ago); engine revision<PHONE_NUMBER>
Last commit on framework: 2016-08-11 16:51:46
Flutter tools using Dart version 1.19.0-dev.5.0
Flutter engine using Dart version 1.19.0-edge.cfdd6ee5cc6a7af56ead91190af8f8dcc33e82ea

is this useful?

It's better than nothing. But the number doesn't mean much to developers, because they can't correlate that to some release of Dart (there's no changelog for a git hash).
Going back to the problem we're trying to solve: how can a user know if a certain thing/feature from Dart is available in their Flutter app?
The developer previously didn't have an easy way to find out what version of Dart is in their Flutter. With your PR, they have a bit of info that can help them.
Output lgtm

That string is obtained from this template https://github.com/dart-lang/sdk/blob/master/runtime/vm/version_in.cc#L30.
Flutter's build instantiates that. We can put anything we want in there and it will appear as part of Platform.version.

@devoncarew does your latest tweak address this?

It doesn't. It didn't sound like the commit hash of the engine would be super useful to developers. I don't think they think about the engine being versioned separately from flutter - they probably think of it as one unit.
Perhaps maintaining a changelog would help here? Or some changes to what a release of flutter means?

👍
@sethladd : what would be your ideal here?

Perhaps instead of asking "Does Flutter's copy of Dart have feature X", the right question is actually "Does Flutter have feature X".
@pq in the meantime, it should be sufficient to print 1.19.0-edge.cfdd6ee5cc6a7af56ead91190af8f8dcc33e82ea for a version of Dart embedded into the engine. That gives people who are looking for a hint a sufficient hint.

Today we output:
Flutter • channel master • git@github.com:flutter/flutter.git
Framework • revision 68ebf64525 (2 hours ago) • 2017-01-30 21:17:29
Engine • revision 9de4d1530b
Tools • Dart 1.22.0-dev.9.1

I think it would be fine to add the Dart version to the Engine line, but it doesn't seem particularly critical since it'll just duplicate the engine hash. I suggest we close this as is.

Curious, why would the Dart version embedded into the engine have the same hash as the engine?

The engine and Dart versions are distinct. Currently, there isn't a way to
tell the Dart version associated with the engine without looking at the
DEPS for the engine at a it's particular version. But I am sure we can
embed this information in all builds of the engine and make it accessible
via a command line flag and via observatory.
On Tue, Jan 31, 2017 at 9:22 AM Seth Ladd<EMAIL_ADDRESS>wrote:

Curious, why would the Dart version embedded into the engine have the same
hash as the engine?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/5355#issuecomment-276430307,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACsNYW9Zpsxh3vMM5-m8g2sAThx5WRZks5rX23KgaJpZM4JiqPj
.

@sethladd Each version of the engine has a specific version of Dart associated with it (as listed in the DEPS file). If you change the version of Dart, then it forcibly changes the version of the engine (assuming you're building something that got committed). We could show the version of Dart as well, if we are worried about people running custom builds, but then they could also be running hacked versions of Dart, and this won't help detect that...
@chinmaygarde Platform.version already surfaces this right? So we could just use that as suggested above, if we want to show something.

Showing:
Engine • revision 9de4d1530b (Dart 1.19.0-edge.cfdd6ee5cc6a7af56ead91190af8f8dcc33e82ea)
Should be sufficient. It answers the question, "what version of Dart is the engine using?" in a way that someone can take that info and cross-reference with Dart.

I tried to see if we could just read it from Platform.version inside sky_shell, no dice:
eseidel@eseidel-macbookpro /src/flutter %./bin/cache/artifacts/engine/darwin-x64/sky_shell foo.dart                                                       [/src/flutter]
2017-02-03 09:59:10.598 sky_shell[82100:9354196] No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting
eseidel@eseidel-macbookpro /src/flutter %cat foo.dart                                                                                [/src/flutter]
import 'dart:io';
void main() {
  print(Platform.version);
}

It's not clear that we truly need this. Closing for now. If anyone still needs this, please submit a PR that does it. :-)


Add 1/2pi in front of the Toroidal flux

Fixed

@lvotta98 It would be great if you could fix the typo in docs/notes/HyperresistivityFromPerturbation.tex as well!


npm error 68% building 3528/3594 modules 66 active ...-map/node_modules/d3-array/src/count.jsinternal/child_process.js:366     throw errnoException(err, 'spawn');     ^

68% building 3528/3594 modules 66 active ...-map/node_modules/d3-array/src/count.jsinternal/child_process.js:366
throw errnoException(err, 'spawn');
^
Error: spawn ENOMEM
at ChildProcess.spawn (internal/child_process.js:366:11)
at Object.spawn (child_process.js:551:9)
at new PoolWorker (/app/superset/assets/node_modules/thread-loader/dist/WorkerPool.js:49:43)
at WorkerPool.createWorker (/app/superset/assets/node_modules/thread-loader/dist/WorkerPool.js:338:23)
at WorkerPool.distributeJob (/app/superset/assets/node_modules/thread-loader/dist/WorkerPool.js:329:28)
at /app/superset/assets/node_modules/async/queue.js:10:5
at process (/app/superset/assets/node_modules/async/internal/queue.js:164:17)
at Immediate. (/app/superset/assets/node_modules/async/internal/setImmediate.js:27:16)
at runCallback (timers.js:705:18)
at tryOnImmediate (timers.js:676:5)
at processImmediate (timers.js:658:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: cross-env NODE_OPTIONS=--max_old_space_size=8192 NODE_ENV=production webpack --mode=production --colors --progress
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-12-05T07_15_33_517Z-debug.log

@Aabhusan looks like a node out of memory error. What are the resources of the machine you're trying to build this on?

@nytai , i ma using t2.micro ec2 instance  should  i upgrade the instance type??

@Aabhusan that would be my first try, you'll want something with ~8gb of memory for the build. Alternatively you could try changing some of the flags on this line https://github.com/apache/incubator-superset/blob/master/superset/assets/package.json#L17
NODE_OPTIONS=--max_old_space_size=8192 tells node how much memory it has available


Feature request (iOS): enable phone speaker when phone is in silent mode

Hi there,
Thank you for the amazing project!
Currently, if a sound is played when the phone is in silent mode, the phone speaker does not output any sound. This works perfectly when using headphones, but not when using the phone's speaker.
We are using this library in production, and our users are asking us to be able to use their phone speakers when the phone is in silent mode.
Is this possible?

I'm so sorry, I added this feature request in the wrong repo.


Add support for Batch File

If I have https://atom.io/packages/language-batchfile installed I get this error, but then I found out that it works if I use package https://atom.io/packages/language-batch instead.
Also if I added the following to grammars.coffee it works with package https://atom.io/packages/language-batchfile.
'Batch File':
"File Based":
command: "cmd.exe"
args: (context) -> ['/q', '/c', context.filepath]
Maybe add this to grammars.coffee? Or point it out in the documentation?
Br
Leif Persson

Support for batch files have been discussed already in #470. Please continue the discussion over there and feel free to submit a pull request if you have a solution to the issue.


per-day schedule

smth like this, would be easier to look thru instead of having to scroll the page on the narrow phone screen

option in account settings (radiobox with options) akin to something like this
calendar view:

[ ] classic
[x] modern

which will require a slight redesign of the account/settings view to include a "preferences" section
additionally for viewing past and future weeks we can have the days nav scrollable and have more days in it


add options.page to readme

would be cool to bump version and republish on npm :) thanks !

I already published it into new version.
Thanks!

👍


🐛 Fix config migrator wrapper positons

Thank you for contributing to Homarr! So that your Pull Request can be handled effectively, please populate the following fields (delete sections that are not applicable)
Category
Bugfix
#574

Can you test if this works as intended? I did, but I am not sure what the original intended behavior was.


Update Gui.md

Add a note about manual resizing to the adaptive scaling section of the GUI documentation.
Forum: https://forum.babylonjs.com/t/introducing-the-gui-editor-alpha/24578/80

Or maybe it should say "rescaling" instead of "resizing"? :)

I don't know if you need the parenthesis but just my opinion.

I went back and forth a bit, but got it into my head that it sounded friendlier with the parenthesis somehow, LOL. Here it is without them thou. :)

Also maybe I'm being very nitty on the wording but what what does this mean? "resizing strategy used". If I had no idea about anything Babylon what would this mean to me. I guess the biggest advice for documentation is assuming the reader may not have knowledge.

To me examples of resizing strategies would be "scale by min dimension", "scale by width", etc. It's whatever strategy you want to use for resizing.  It's more of a general-purpose CG term that I've read and used before thou, not Babylon specific per se...
I'm def not married to it thou. :)

Here it is with just the one, simpler line. :)


Testing multiple scopes

I forgot to add one more test for the multiple scope case:
validates :title, unique: { scope: [:album_id, :artist_id] }

Checks have failed but says that my PR build passed...


Crashes with FlowPluginException: The input does not contain any JSON tokens when using 0.20.0

I started playing with FlowLauncher today and found your library, and could not understand what's wrong. So after some experiments I found out that it's crashing when using version 0.20.0 and not crashing with any older version (0.19.6 included).
I have an absolutely basic example:
from flox import Flox

# have your class inherit from Flox
class YourClass(Flox):
    def query(self, query):
        for _ in range(250):
            self.add_item(
                title=self.args,
                subtitle=str(_)
            )

if __name__ == "__main__":
    YourClass()

And Flow Launcher is saying that the response does not contain any JSON tokens:
(don't mind "version 1.0.0", it's dev compiled by me for some tests, based on https://github.com/Flow-Launcher/Flow.Launcher/commit/03983b91733c3d8ef18a1dbb9d60e5c67bf54d9f)
Flow Launcher version: 1.0.0
OS Version: 22621.2070
IntPtr Length: 8
x64: True

Python Path: C:\Users\ktos\AppData\Local\Programs\Python\Python310\pythonw.exe
Node Path:
Date: 08/09/2023 18:33:06
Exception:
YourClass Exception:
Websites: https://github.com/ktos/flowgpt
Author: ktos
Version: 0.1.0
Flow.Launcher.Core.ExternalPlugins.FlowPluginException: The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
 ---> System.Text.Json.JsonException: The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
 ---> System.Text.Json.JsonReaderException: The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. LineNumber: 0 | BytePositionInLine: 0.
   at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes)
   at System.Text.Json.Utf8JsonReader.Read()
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   --- End of inner exception stack trace ---
   at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, JsonReaderException ex)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ContinueDeserialize[TValue](ReadBufferState& bufferState, JsonReaderState& jsonReaderState, ReadStack& readStack, JsonTypeInfo jsonTypeInfo)
   at System.Text.Json.JsonSerializer.ReadFromStreamAsync[TValue](Stream utf8Json, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken)
   at Flow.Launcher.Core.Plugin.JsonRPCPlugin.DeserializedResultAsync(Stream output) in E:\proj2\Flow.Launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 95
   at Flow.Launcher.Core.Plugin.JsonRPCPlugin.DeserializedResultAsync(Stream output) in E:\proj2\Flow.Launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 95
   at Flow.Launcher.Core.Plugin.JsonRPCPlugin.QueryAsync(Query query, CancellationToken token) in E:\proj2\Flow.Launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 313
   at Flow.Launcher.Core.Plugin.PluginManager.<>c__DisplayClass22_0.<<QueryForPluginAsync>b__0>d.MoveNext() in E:\proj2\Flow.Launcher\Flow.Launcher.Core\Plugin\PluginManager.cs:line 194
--- End of stack trace from previous location ---
   at Flow.Launcher.Infrastructure.Stopwatch.DebugAsync(String message, Func`1 action) in E:\proj2\Flow.Launcher\Flow.Launcher.Infrastructure\Stopwatch.cs:line 40
   at Flow.Launcher.Core.Plugin.PluginManager.QueryForPluginAsync(PluginPair pair, Query query, CancellationToken token) in E:\proj2\Flow.Launcher\Flow.Launcher.Core\Plugin\PluginManager.cs:line 216
   --- End of inner exception stack trace ---
   at Flow.Launcher.Core.Plugin.PluginManager.QueryForPluginAsync(PluginPair pair, Query query, CancellationToken token) in E:\proj2\Flow.Launcher\Flow.Launcher.Core\Plugin\PluginManager.cs:line 216
   at Flow.Launcher.ViewModel.MainViewModel.<>c__DisplayClass139_0.<<QueryResults>g__QueryTask|2>d.MoveNext() in E:\proj2\Flow.Launcher\Flow.Launcher\ViewModel\MainViewModel.cs:line 849
--- End of stack trace from previous location ---
   at Flow.Launcher.ViewModel.MainViewModel.QueryResults(Boolean isReQuery) in E:\proj2\Flow.Launcher\Flow.Launcher\ViewModel\MainViewModel.cs:line 850
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Hello @ktos ,
Sorry for the confusion as I did not make it clear in the release notes.
Prior versions of Flox used a __del__ to automatically run the relevant run method.
This was hacks and had a lot of weird issues. 0.20.0 removed this and you must now call run on your plugin class.
...

if __name__ == "__main__":
    YourClass().run()

I thought I had added this change to the release notes. I'll fix that in a moment.

Ah, that's obvious now! I've seen the removal of __del__ in the diff, but didn't see you are calling run() by yourself in the code of your plugins and was thinking there is some kind of Python magic I don't understand :)
Thanks @Garulf, it works now!


scroll up to top button for all pages

Is your feature request related to a problem? Please describe.
currently the scroll up to top button is only showing in the home page and not on any other page.
Describe the solution you'd like
i want to add that button on leading blog and categories page too
Additional context

@ANSHIKA-26 please review my issue


Rename ParticlesMaterial to ParticleProcessMaterial

Closes https://github.com/godotengine/godot-proposals/issues/5047.
As brought up https://github.com/godotengine/godot-proposals/issues/5047#issuecomment-1217457562, although the new name is more verbose, it's also the name already used internally in Particle-rendering classes, and there's no ambiguity: it's the material storing how particles are processed.
Also affects their file names, related classes and documentation.

Thanks!


[DDW-665] Make the Wallets Dropdown agnostic

This PR makes the Wallets Dropdown agnostic.
At the moment, we are using the WalletsDropdown component for both Wallets and Assets, adding an unwanted huge amount of code. This PR creates an agnostic component called ItemsDropdown which receives a normal options list as prop, with an extra item called details. The label will be the top content and the detail, if exists, will be the bottom content.
On top of that, WalletsDropdown and AssetsDropdown extend ItemsDropdown component and do a simple job of receiving a list of wallets or assets and translating them into the label/detail format. All three components are much smaller than the current existing one.
One last thing these new components have is a default search function for each, which means adding a simple hasSearch to the AssetsDropdown will automatically search for in asset property.
Testing
There wasn't any functionality change, therefore for testing we only need to make sure the existing instances work correctly (some screens, like voting, can only be tested on Storybook). The only new behavior is the search bar for the Assets Token, in the Send screen.
Storybook

Generic Items Dropdown
Wallets Dropdown
Assets Dropdown

Todos

[x] Create an agnostic ItemDropdown component
[x] Implement WalletsDropdown using the ItemDropdown component
[x] Implement AssetsDropdown using the ItemDropdown component

Screenshots

Testing Checklist

Slack QA thread
[ ] Test

Review Checklist
Basics

[ ] PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
[ ] PR is updated to the most recent version of the target branch (and there are no conflicts)
[ ] PR has a good description that summarizes all changes
[ ] PR has default-sized Daedalus window screenshots or animated GIFs of important UI changes:

[ ] In English
[ ] In Japanese

[ ] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance and unit tests are passing (yarn test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
[ ] There are no flow errors or warnings (yarn flow:test)
[ ] There are no lint errors or warnings (yarn lint)
[ ] There are no prettier errors or warnings (yarn prettier:check)
[ ] There are no missing translations (running yarn manage:translations produces no changes)
[ ] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[ ] Japanese text changes are proofread and approved (Junko Oda)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly commented and documented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-renderings
[ ] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Merge the PR
[ ] Delete the source branch
[ ] Move the ticket to done column on the YouTrack board
[ ] Update Slack QA thread by marking it with a green checkmark

@daniloprates i storybook those ( [Generic Items Dropdown](https://deploy-preview-2540--daedalus-storybook.netlify.app/?path=/story/common-itemsdropdown--generic#themeName=Cardano&localeName=English&osName=Windows) [Wallets Dropdown](https://deploy-preview-2540--daedalus-storybook.netlify.app/?path=/story/common-itemsdropdown--wallets#themeName=Cardano&localeName=English&osName=Windows) [Assets Dropdown](https://deploy-preview-2540--daedalus-storybook.netlify.app/?path=/story/common-itemsdropdown--assets#themeName=Cardano&localeName=English&osName=Windows) ) dropdowns are big. Is this a bug?

Hi @daniloprates. Here is the testing report. Tested on build 17836
When the user uses the dropdown for wallets in Redeem ITN Rewards and the dropdown for wallets in delegation centre the spinner for loading wallets is not displaying like it used to.Video

@alexander-rukin @ManusMcCole fixed the syncing and heights issues

Hi @daniloprates.Tested on build 17845
I can still not see the spinner for the dropdown in Delegation centre Video.The spinner in Itn Rewards Redemption can be seen but is is misaligned Video

I see 2 issues here:

wrong "No results" position
corner radius for dropdown is bigger that for input (should be the same)

Hi @daniloprates , on build 17845,  in addition to what the others have found so far. I found this issue on Stake Pools tab whereby the wallets are not populated and the layout is off.

@alexander-rukin @ManusMcCole @miorsufianiohk thanks for the great catches! The are all fixed, except for one scenario, that I'm not sure how to handle:

Maybe syncing wallets shouldn't be selectable?

@alexander-rukin @ManusMcCole @miorsufianiohk thanks for the great catches! The are all fixed, except for one scenario, that I'm not sure how to handle:

Maybe syncing wallets shouldn't be selectable?

syncing indication has more priority than selection, so we can show only spinner and drop checkmark

@alexander-rukin @ManusMcCole @miorsufianiohk thanks for the great catches! The are all fixed, except for one scenario, that I'm not sure how to handle:

Maybe syncing wallets shouldn't be selectable?

syncing indication has more priority than selection, so we can show only spinner and drop checkmark

Cool, removed the label for this instance of the dropdown
@alexander-rukin @ManusMcCole @miorsufianiohk it's ready to be tested

@DominikGuzei the Wallets Summary story was broken by another PR, but I've fixed it :)

Hi @daniloprates.Tested on build 17875
The changes look good I just have one recommendation. The colour of the spinner is too light coloured in Redeem ITN Rewards screen for themes Light blue and Cardano Video Video2. Could you make it more visible please

@daniloprates A few issues on this PR:

The dropdown for native tokens looks bigger than before and it has a border that exceeds the size of the input. Check this screenshot.
For loading wallets, the spinner should be aligned with the checkmark. Check this screenshot. And for this one, there is no check, but the spinner is too far from the right.

Check this screenshot

Thanks @gabriela-ponce, just pushed a fix for the 3 above.

@gabriela-ponce is this one OK now?

@nikolaglumac I'm still checking this PR, would update the status later 👍

@daniloprates The spinner on ITN rewards looks ok now but on delegation center is too high in comparison.

@gabriela-ponce just pushed a fix for the spinner:
Delegation
Wrong

Fixed

ITN
Before - already correct

After latest changes, remain correct


Crashing on Flutter 3.3.2 on both android and iOS

Hi, I have recently updated to flutter 3.3.2 and I'm using flutter_foreground_task: 3.9.0. As soon as foreground service starts my app is crashing. It's only happening in the release build
Here are the logs from local build:
E/FlutterGeolocator(27431): Geolocator position updates stopped
D/FlutterGeolocator(27431): Stopping location service.
W/FlutterJNI(27431): Tried to send a platform message response, but FlutterJNI was detached from native C++. Could not send. Response ID: 4
Here are the logs from Firebase Crashlytics:
Crashed: io.flutter.1.ui
0  libsystem_kernel.dylib         0x7964 __pthread_kill + 8
1  libsystem_pthread.dylib        0x7378 pthread_kill + 268
2  libsystem_c.dylib              0x1ff50 abort + 164
3  Flutter                        0x583adc (Missing UUID 06c0b1046d24347198d4326e87347d68)
4  Flutter                        0x5dfd50 (Missing UUID 06c0b1046d24347198d4326e87347d68)
5  Flutter                        0x5e4fe8 (Missing UUID 06c0b1046d24347198d4326e87347d68)
6  Flutter                        0x5c0b64 (Missing UUID 06c0b1046d24347198d4326e87347d68)
7  Flutter                        0x5cc9e4 (Missing UUID 06c0b1046d24347198d4326e87347d68)
8  Flutter                        0x3f29f4 (Missing UUID 06c0b1046d24347198d4326e87347d68)
9  Flutter                        0x2f5e8c (Missing UUID 06c0b1046d24347198d4326e87347d68)
10 Flutter                        0x2f91c4 (Missing UUID 06c0b1046d24347198d4326e87347d68)
11 CoreFoundation                 0xae268 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 32
12 CoreFoundation                 0x32c40 __CFRunLoopDoTimer + 1076
13 CoreFoundation                 0x2d43c __CFRunLoopDoTimers + 328
14 CoreFoundation                 0xbc58 __CFRunLoopRun + 1944
15 CoreFoundation                 0x1f3b8 CFRunLoopRunSpecific + 600
16 Flutter                        0x2f9094 (Missing UUID 06c0b1046d24347198d4326e87347d68)
17 Flutter                        0x2f8a94 (Missing UUID 06c0b1046d24347198d4326e87347d68)
18 libsystem_pthread.dylib        0x19a4 _pthread_start + 148
19 libsystem_pthread.dylib        0xea0 thread_start + 8

Hello,
I have the same problem, with the same use case (geolocation) : it works fine in debug mode, but crashes with a Tried to send a platform message response, but FlutterJNI was detached from native C++. Could not send. error on release build.

Has this issues been fixed ?

See :  #116 : sending a map instead of custom object does the trick... It is still a bug.

See : #116 : sending a map instead of custom object does the trick... It is still a bug.

Can you tell me what to do when i want to send object of different class through sendport. In that case I can't parse the map because i won' t know the map belongs to which class.

You would probably serialise the object and parse it on receive, trying to parse it into one of the classes you would expect, or failing otherwise.


converting external links from .md to .rst format

I modified some external links in index.rst to be in .rst format. Later, realized that we are planning to move this index file to markdown format as well, in which case we probably should avoid merging this PR.

:) Sorry for the confusion. I think it's generally better to stick to a single markup language, if we can.
Here's how to do do the conversion from rst->markdown
https://recommonmark.readthedocs.io/en/latest/auto_structify.html#embed-restructuredtext
There's a bit more info in that page that might be useful as well.

Closing this one, as these things are taken care of in #40


Question on customisation / alias

Hi sorry for opening an issue - I  tried to google / stackoverflow for it but did not find help.
What is the best / recommended way to customize aliases ?
( In this case I want to unalias the  general from utility module  p='${(z)PAGER}' )
should I edit   modules/utility/init.zsh ?
or better add unalias p in  runcoms/zshrc
or ?
Thanks - and if there is a better/preferred  way to ask such question let me also know

My personal preference is to add the unalias in your personal zshrc. The provided zshrc is very small and fairly simple, so I'd prefer copying over a symlink.

I'm closing this for now, but there are other threads on customization, particularly #1535
Hope this helped!


Add more logs to ServiceStatus

When we declare a service good due to its reaching the percentage threshold, it is useful to
log information about at least one partition in the resources that are not started up
correctly.
Also included a max number of resources that we log so that we don't get extra long log lines

Codecov Report

Merging #4037 into master will decrease coverage by 16.46%.
The diff coverage is 100%.

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


Create persistent volume claims per tool/version

There has to be one persistent volume per (username, tool, version). Migration has to be possible (can be done manually). Capella workspaces depend on the version.
E.g. on instance xy, we'd like to keep the existing workspaces, but can manually rename the persistent volume claims in the cluster (to map them on the used Capella version).
Right now, the name is determined in _get_claim_name and is the username with some removed characters. If possible, we could add labels with tool and version and select the proper persistent volume by the labels. If not, we have to add the tool and version to the volume name (should be still human readable to allow the renaming).

I also looked into the alternative: one persistent volume with a workspace per tool. This requires slightly more work since we have to make /workspace customizable. It would have the advantage that users can move data from one tool to another, on the other hand we can not easily remove old data for unsupported tool versions.

It would have the advantage that users can move data from one tool to another.

When we have a new Capella version, users have to be able to move their models into the new workspace, otherwise migrations will not work properly (the upload feature doesn't have support for large files yet).


Match and lower ov::Relu

Adds ReLU op matcher and lowering to MLIR named Linalg ops.
Also, adds buffer deallocation passes to prevent memory leaks when temporary buffers are created.
Example with ReLU:
import torch
import torch.nn as nn
import openvino as ov

# Define a synthetic model
class LinearModel(nn.Module):
    def __init__(self, input_size, output_size):
        super(LinearModel, self).__init__()
        self.model = nn.Sequential(
			nn.Linear(input_size, output_size),
			nn.ReLU(),
		)
    def forward(self, a):
        return self.model(a)

# Create an instance of the model
input_size = 10
output_size = 5
model = LinearModel(input_size, output_size)
# Generate random weights
model.model[0].weight.data.normal_(0, 0.01)
model.model[0].bias.data.fill_(0.01)

input_data = torch.tensor(range(1, 10*10+1)).to(torch.float32).view(10, 10)

with torch.no_grad():
    reference = model(input_data)
    print('Reference:\n', reference)

ov_model = ov.convert_model(model, example_input=input_data)

# expect lots of debug output with MLIR fragments before and after lowering in this call:
ov_compiled = ov.compile_model(ov_model, 'CPU')

tested = ov_compiled(input_data)[0]
print('Tested:\n', tested)
diff = reference - tested
print('Reference - Tested:\n', diff)

Can we have this Pytorch example in the repo? Would be nice to share how we're testing them through git.

Can we have this Pytorch example in the repo? Would be nice to share how we're testing them through git.

I'd be happy to gather a few examples. This could be a few random python files in the repo.
But maybe @slyalin has suggestions for better testing or organization approach?

Can we have this Pytorch example in the repo? Would be nice to share how we're testing them through git.

I'd be happy to gather a few examples. This could be a few random python files in the repo. But maybe @slyalin has suggestions for better testing or organization approach?

Please try to put it into https://github.com/slyalin/openvino/blob/mlir/tests/layer_tests/pytorch_tests. Just copy one of the existing tests, and replace a function that implements a target model. There we have some infra for ref/test output comparison and a test can be run in both ov.convert_model mode and in torch.compile modes. Summoning @mvafin for further clarification.
Our tests in MLIR topic are not really pytorch specific, but it is simpler, more attractive and familiar for people to have Pytorch as an input format in this case. So let's keep them as pytorch tests.

@adam-smnk I think the best place for the test will be here https://github.com/openvinotoolkit/openvino/blob/master/tests/layer_tests/py_frontend_tests/test_torch_frontend.py

@adam-smnk I think the best place for the test will be here https://github.com/openvinotoolkit/openvino/blob/master/tests/layer_tests/py_frontend_tests/test_torch_frontend.py

Why? That place is too specific for the FE itself and has random stuff to test pytorch FE functionality with less focus on various operations, we need tests like layer tests (multiple layers).

I think this case is too specific, it can be place in layer_tests/pytorch_tests too, but relu tests there are done with all other activations. So you would need to add a new file with your test. The place I suggested just allows you to create one specific test for one case, its up to you what you like more


Failing to fetch jwks when first request fails

Bug Description
Descibe the bug
We have an issue using the jwksUri in the Request Authentication resource. When we deploy to new environment istiod tries to get the jwks before our authentication service that hosts the jwks is up. This leads to istiod failing to fetch the jwks from our authentication service and in turn use a cached empty jwk to distribute to the envoy sidecars. This means all jwt validation will fail until the istiod successfully fetches the jwk from the jwksUri and that takes at best 20 minutes but usually more. Istiod keep failing to send the requests even after the authentication service is up with the error shown in the log below.
2022-02-18T11:36:54.335425Z error model Failed to fetch public key from "{jwksuri}": Get "{jwksuri}": dial tcp: lookup ... on <IP_ADDRESS>:53: no such host
2022-02-18T11:36:54.335484Z error model Failed to fetch jwt public key from issuer "https://authentication.pr-7419.tst.iasystemet.se/", jwks uri "{jwksuri}": Get "{jwksuri}": dial tcp: lookup curity-runtime.ia-pr-7419-authentication.svc on <IP_ADDRESS>:53: no such host
2022-02-18T11:36:54.335585Z error model Failed to fetch jwt public key from issuer "https://authentication.pr-7419.tst.iasystemet.se/", jwks uri "{jwksuri}": empty public key found in cache

How can we configure istiod to retry to get the jwks?
Version
Istio version:
/usr/local/bin/pilot-discovery version
version.BuildInfo{Version:"1.11.0", GitRevision:"57d639a4fd19ee8c3559b9a4032f91e4d23c6f14", GolangVersion:"go1.16.7", BuildStatus:"Clean", GitTag:"1.11.0"}

kubectl version --short
Client Version: v1.21.0
Server Version: v1.20.5

Additional Information
No response

Currently number of retries in istiod is 0 for fetching publick key from JWKSURI. There are 2 ways you can resolve this -

Add a check in your code to check the status of your jwt-server, once it is ready then only try to add the policy. This will resolve the issue in which istiod is not able to find out jwt-server.
You can modify the no of retry in istiod pilot code which is currently 0. https://github.com/istio/istio/blob/master/pilot/pkg/model/jwks_resolver.go#L250

I think you can configure the PilotJwtPubKeyRefreshInterval to a lower value here: https://github.com/istio/istio/blob/58bf51baa71909c1b16a90d7d5acaf5b2c499a9a/pilot/pkg/features/pilot.go#L497
Also I think we should probably increase the number of retries in istiod to some value larger than 0 now, @aryan16


[19.03] signal-desktop: 1.22.0 -> 1.24.1

Motivation for this change
Backport from master.
The current version in 19.03 has expired, meaning no messages can be sent.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

dup of https://github.com/NixOS/nixpkgs/pull/61886.


Compilation fails with BSEC_<IP_ADDRESS>_Generic_Release_30052022

I followed the "How to install the extension with BSEC" readme steps. I am using BSEC_<IP_ADDRESS>_Generic_Release_30052022. Since the BSEC library name changes depending on version (see also https://github.com/pi3g/bme68x-python-library/issues/14), I just named the folder libbsec and changed the following files:

Click to expand
$ git diff
diff --git a/bme68xmodule.c b/bme68xmodule.c
index d43671b..999286e 100644
--- a/bme68xmodule.c
+++ b/bme68xmodule.c
@@ -18,7 +18,7 @@ uint8_t bsec_state[BSEC_MAX_STATE_BLOB_SIZE];
 uint8_t work_buffer[BSEC_MAX_WORKBUFFER_SIZE];
 uint32_t bsec_state_len = 0;
 bsec_library_return_t bsec_status = BSEC_OK;
-const char *bsec_conf_path = "BSEC_<IP_ADDRESS>_Generic_Release_04302021/config/bsec_sel_iaq_33v_4d/2021_04_29_02_51_bsec_h2s_nonh2s_2_0_6_1 .config";
+const char *bsec_conf_path = "libbsec/config/bsec_sel_iaq_33v_4d/2021_04_29_02_51_bsec_h2s_nonh2s_2_0_6_1 .config";
 FILE *bsec_conf;
 #endif

diff --git a/internal_functions.h b/internal_functions.h
index 9bc1c6e..934f109 100644
--- a/internal_functions.h
+++ b/internal_functions.h
@@ -19,8 +19,8 @@
 #include "BME68x-Sensor-API/bme68x_defs.h"

 #ifdef BSEC
-#include "BSEC_<IP_ADDRESS>_Generic_Release_04302021/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/bsec_interface.h"
-#include "BSEC_<IP_ADDRESS>_Generic_Release_04302021/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/bsec_datatypes.h"
+#include "libbsec/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/bsec_interface.h"
+#include "libbsec/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/bsec_datatypes.h"
 #endif

 /* CPP guard */
diff --git a/setup.py b/setup.py
index e41a4e3..27c66d3 100644
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@ if BSEC:
     ext_comp_args = ['-D BSEC']
     libs = ['pthread', 'm', 'rt', 'algobsec']
     lib_dirs = ['/usr/local/lib',
-                'BSEC_<IP_ADDRESS>_Generic_Release_04302021/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6']
+                'libbsec/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6']
 else:
     ext_comp_args = []
     libs = ['pthread', 'm', 'rt']
@@ -49,7 +49,7 @@ setup(name='bme68x',
       py_modules=['bme68xConstants', 'bsecConstants'],
       package_data={
           'bme68x': [
-               'BSEC_<IP_ADDRESS>_Generic_Release_04302021/config/bsec_sel_iaq_33v_4d/2021_04_29_02_51_bsec_h2s_nonh2s_2_0_6_1 .config',
+               'libbsec/config/bsec_sel_iaq_33v_4d/2021_04_29_02_51_bsec_h2s_nonh2s_2_0_6_1 .config',
           ]
       },
       headers=['BME68x-Sensor-API/bme68x.h',

Sadly, the installation still fails, mainly because BSEC_SAMPLE_RATE_HIGH_PERFORMANCE and BSEC_OUTPUT_COMPENSATED_GAS are undeclared:

Click to expand
bme68x-python-library $ sudo python3 setup.py install
running install
running bdist_egg
running egg_info
writing bme68x.egg-info/PKG-INFO
writing dependency_links to bme68x.egg-info/dependency_links.txt
writing top-level names to bme68x.egg-info/top_level.txt
reading manifest file 'bme68x.egg-info/SOURCES.txt'
writing manifest file 'bme68x.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
running build_ext
building 'bme68x' extension
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/include -I/usr/include/python3.9 -c BME68x-Sensor-API/bme68x.c -o build/temp.linux-armv7l-3.9/BME68x-Sensor-API/bme68x.o -D BSEC
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/include -I/usr/include/python3.9 -c bme68xmodule.c -o build/temp.linux-armv7l-3.9/bme68xmodule.o -D BSEC
bme68xmodule.c:11: warning: "BSEC" redefined
   11 | #define BSEC
      |
<command-line>: note: this is the location of the previous definition
bme68xmodule.c: In function ‘bme_get_sensor_id’:
bme68xmodule.c:338:50: warning: passing argument 2 of ‘bme68x_get_regs’ from incompatible pointer type [-Wincompatible-pointer-types]
  338 |     rslt = bme68x_get_regs(BME68X_REG_UNIQUE_ID, &id_regs, len, &(self->bme));
      |                                                  ^~~~~~~~
      |                                                  |
      |                                                  uint8_t (*)[4] {aka unsigned char (*)[4]}
In file included from internal_functions.h:18,
                 from bme68xmodule.c:4:
BME68x-Sensor-API/bme68x.h:122:51: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘uint8_t (*)[4]’ {aka ‘unsigned char (*)[4]’}
  122 | int8_t bme68x_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, struct bme68x_dev *dev);
      |                                          ~~~~~~~~~^~~~~~~~
bme68xmodule.c: In function ‘bme_subscribe_gas_estimates’:
bme68xmodule.c:388:52: error: ‘BSEC_SAMPLE_RATE_HIGH_PERFORMANCE’ undeclared (first use in this function)
  388 |         requested_virtual_sensors[i].sample_rate = BSEC_SAMPLE_RATE_HIGH_PERFORMANCE;
      |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bme68xmodule.c:388:52: note: each undeclared identifier is reported only once for each function it appears in
bme68xmodule.c: In function ‘bme_subscribe_ai_classes’:
bme68xmodule.c:408:48: error: ‘BSEC_SAMPLE_RATE_HIGH_PERFORMANCE’ undeclared (first use in this function)
  408 |     requested_virtual_sensors[0].sample_rate = BSEC_SAMPLE_RATE_HIGH_PERFORMANCE;
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bme68xmodule.c: In function ‘bme_bsec_process_data’:
bme68xmodule.c:820:15: warning: unused variable ‘data’ [-Wunused-variable]
  820 |     PyObject *data = PyDict_New();
      |               ^~~~
bme68xmodule.c:818:13: warning: unused variable ‘num_bsec_outputs’ [-Wunused-variable]
  818 |     uint8_t num_bsec_outputs = 0;
      |             ^~~~~~~~~~~~~~~~
bme68xmodule.c:817:19: warning: unused variable ‘bsec_outputs’ [-Wunused-variable]
  817 |     bsec_output_t bsec_outputs[BSEC_NUMBER_OUTPUTS];
      |                   ^~~~~~~~~~~~
bme68xmodule.c:740:18: warning: variable ‘inputs’ set but not used [-Wunused-but-set-variable]
  740 |     bsec_input_t inputs[BSEC_MAX_PHYSICAL_SENSOR];
      |                  ^~~~~~
bme68xmodule.c:821:1: warning: no return statement in function returning non-void [-Wreturn-type]
  821 | }
      | ^
bme68xmodule.c: In function ‘bme_get_digital_nose_data’:
bme68xmodule.c:829:20: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long long int’} and ‘uint64_t’ {aka ‘long long unsigned int’} [-Wsign-compare]
  829 |     if (time_stamp >= self->next_call)
      |                    ^~
bme68xmodule.c:1069:42: error: ‘BSEC_OUTPUT_COMPENSATED_GAS’ undeclared (first use in this function)
 1069 |                                     case BSEC_OUTPUT_COMPENSATED_GAS:
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
bme68xmodule.c: In function ‘bme_get_bsec_data’:
bme68xmodule.c:1120:20: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long long int’} and ‘uint64_t’ {aka ‘long long unsigned int’} [-Wsign-compare]
 1120 |     if (time_stamp >= self->next_call)
      |                    ^~
bme68xmodule.c:1331:34: error: ‘BSEC_OUTPUT_COMPENSATED_GAS’ undeclared (first use in this function)
 1331 |                             case BSEC_OUTPUT_COMPENSATED_GAS:
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
bme68xmodule.c: In function ‘bme_enable_gas_estimates’:
bme68xmodule.c:1587:48: error: ‘BSEC_SAMPLE_RATE_HIGH_PERFORMANCE’ undeclared (first use in this function)
 1587 |     requested_virtual_sensors[0].sample_rate = BSEC_SAMPLE_RATE_HIGH_PERFORMANCE;
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At top level:
bme68xmodule.c:737:18: warning: ‘bme_bsec_process_data’ defined but not used [-Wunused-function]
  737 | static PyObject *bme_bsec_process_data(BMEObject *self, bsec_bme_settings_t *sensor_settings, uint8_t i, int64_t time_stamp)
      |                  ^~~~~~~~~~~~~~~~~~~~~
error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1

I guess it is ignoring the bsecConstants.py, because BSEC_SAMPLE_RATE_HIGH_PERFORMANCE is defined there, but I am not sure what the deal with BSEC_OUTPUT_COMPENSATED_GAS is.
My system:
$ uname -a
Linux raspberrypi 5.15.70-v7l+ #1590 SMP Tue Sep 27 15:58:00 BST 2022 armv7l GNU/Linux
$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Just received my bme688 breakout board and I have this same exact problem with the newest version of bsec.  Spent hours trying to fix it. Does anyone have a link for <IP_ADDRESS>?

any news on this issue ? running into the same problem with the new BSEC_<IP_ADDRESS> release

See the steps I set out for the last BSEC update: Issue - Can't Compile because of Library Update?
The crux of it is to rename the folder BSEC_<IP_ADDRESS>_Generic_Release_30052022 to the old name BSEC_<IP_ADDRESS>_Generic_Release_04302021.
Unfortunately this folder name is hard coded into setup.py.
Rename the BSEC folder and follow the notes.
It's a work around, and others have suggested the BSEC version is a parameter or parsed but that is up to PI3G.
Keith

See the steps I set out for the last BSEC update: Issue - Can't Compile because of Library Update? The crux of it is to rename the folder BSEC_<IP_ADDRESS>_Generic_Release_30052022 to the old name BSEC_<IP_ADDRESS>_Generic_Release_04302021.
Unfortunately this folder name is hard coded into setup.py. Rename the BSEC folder and follow the notes.
It's a work around, and others have suggested the BSEC version is a parameter or parsed but that is up to PI3G.
Keith

This method does not work for bsec2.2.x.x

any news on this issue ? running into the same problem with the new BSEC_<IP_ADDRESS> release

After renaming all config files in the code, I got it to compile by additionally getting rid of all references to the following lines;
BSEC_SAMPLE_RATE_HIGH_PERFORMANCE
BSEC_OUTPUT_COMPENSATED_GAS
^these are not used in the newest implementation of bsec 2.2.x.x

The first error is easily fixed by swapping BSEC_SAMPLE_RATE_HIGH_PERFORMANCE to BSEC_SAMPLE_RATE_SCAN which is the same value.  The second error is more complex as it is an enumerated value in the BOSCH header bsec_datatypes.h, but in the PI3G code BSEC_OUTPUT_COMPENSATED_GAS is a virtual sensor and part of a data structure holding output values for the BSEC virtual sensors. I thought the easiest approach was to add the definition back into the BOSCH header (bsec_datatypes.h) like this
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY = 15,
BSEC_OUTPUT_COMPENSATED_GAS = 18,
BSEC_OUTPUT_GAS_PERCENTAGE = 21,
It compiles and installs but is throwing errors "SystemError: ../Objects/longobject.c:415: bad argument to internal function".
So I think BSEC_OUTPUT_COMPENSATED_GAS has to be removed in the PI3G code, from the virtual sensor data structure and its processing, which is more than a quick hack.  It's annoying that BOSCH have made such breaking changes with no information/release note. It's even more annoying that BOSCH have removed the previous versions of the library from their website.

The first error is easily fixed by swapping BSEC_SAMPLE_RATE_HIGH_PERFORMANCE to BSEC_SAMPLE_RATE_SCAN which is the same value. The second error is more complex as it is an enumerated value in the BOSCH header bsec_datatypes.h, but in the PI3G code BSEC_OUTPUT_COMPENSATED_GAS is a virtual sensor and part of a data structure holding output values for the BSEC virtual sensors. I thought the easiest approach was to add the definition back into the BOSCH header (bsec_datatypes.h) like this BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY = 15, BSEC_OUTPUT_COMPENSATED_GAS = 18, BSEC_OUTPUT_GAS_PERCENTAGE = 21,
It compiles and installs but is throwing errors "SystemError: ../Objects/longobject.c:415: bad argument to internal function".
So I think BSEC_OUTPUT_COMPENSATED_GAS has to be removed in the PI3G code, from the virtual sensor data structure and its processing, which is more than a quick hack. It's annoying that BOSCH have made such breaking changes with no information/release note. It's even more annoying that BOSCH have removed the previous versions of the library from their website.

Go read the integration manual in the bsec2.2.x.x file you downloaded. Looks like you found the solution for BSEC_SAMPLE_RATE_HIGH_PERFORMANCE
however,
BSEC_OUTPUT_COMPENSATED_GAS
^this is no longer used at all.

I have read the integration manual.  Table 1.2.4  lists the virtual sensors, and BOSCH have removed the BSEC_OUTPUT_COMPENSATED_GAS sensor. According to the manual. In the <IP_ADDRESS> code it was marked as internal and I think it is very much still there, its just become undocumented.  So put it back into the enumerated list and bingo it compiles and installs.  I have been running my burnin.py program over night and it is still running this morning, using BSEC 2.2.0 and the 1.3v bme688x code.  I ran the  air quality.py example and it was OK, but my sensor apps had a problem as I reported. So my next step is to let the burnin finish and see if the saved config will load, and test some more.
I have also emailed Nathan the PI3G maintainer.

I have read the integration manual. Table 1.2.4 lists the virtual sensors, and BOSCH have removed the BSEC_OUTPUT_COMPENSATED_GAS sensor. According to the guide. In the <IP_ADDRESS> code it was marked as internal and I think it is very much still there, its just become undocumented. So put it back into the enumerated list and bingo it compiles and installs. I have been running my burnin.py program over night and it is still running this morning, using BSEC 2.2.0 and the 1.3v bme688x code. I ran the air quality.py example and it was OK, but my sensor apps had a problem as I reported. So my next step is to let the burnin finish and see if the saved config will load, and test some more.
Just for reference from the <IP_ADDRESS> guide BSEC_OUTPUT_COMPENSATED_GAS is the Gas Resistance after undergoing temp and humidity compensation. I guess they are not happy with the algorithm.
I have also emailed Nathan the PI3G maintainer.

I am able to compile if I change all the fields for BSEC_SAMPLE_RATE_HIGH_PERFORMANCE to BSEC_SAMPLE_RATE_SCAN
And delete all references to BSEC_OUTPUT_COMPENSATED_GAS
I am not sure if this breaks anything, but it works.  I can run bmerawdata.py

All the samples run without error and I can write and read state (but not state written by <IP_ADDRESS>).
So I have had to re-run my burn-in and create a new state file.

Yes there are a quite a few problems to work on: IAQ and CO2 with 2.2.0 are giving crazy values compared to <IP_ADDRESS>.
bmerawdata.py runs but I guess it is failing after some time, and segmentation  fault is not great.
I am running bmerawdata now to see if I can re-create.

Yes there are a quite a few problems to work on: IAQ and CO2 with 2.2.0 are giving crazy values compared to <IP_ADDRESS>.
bmerawdata.py runs but I guess it is failing after some time, and segmentation fault is not great.
I am running bmerawdata now to see if I can re-create.

The segmentation fault error seems it might stemming from a usb keyboard dongle I have plugged in?  Is this even possible?

The crazy values were coming from the API which has been updated to 4.4.7 - https://github.com/BoschSensortec/Bosch-BME68x-Library. The PI3G library has a copy of v4.4.3 embedded as BME68x-Sensor-API. Updating that to v4.4.7 has improved the IAQ and CO2 values.  I have updated my clone here: https://github.com/mcalisterkm/bme68x-python-library-bsec2.2.0.
Try collecting data for 30 min or so with bmerawdata.py.

I just wasted about 4 hours on this including making suggested changes.
Here is what I have so far. I figured out that the old version of the BSEC_Generic_Release had changed so I did a find . -type f -exec grep OLDLIB {} ; -ls in bme68x-python-library and replaced all old references with the new one. Would have been simpler to just rename it in retrospect as suggested.
Then I did as suggested  I change all the fields for BSEC_SAMPLE_RATE_HIGH_PERFORMANCE to BSEC_SAMPLE_RATE_SCAN
And delete all references to BSEC_OUTPUT_COMPENSATED_GAS
Now I'm getting loads of warnings, but in the end his error....
/usr/bin/ld: skipping incompatible BSEC_<IP_ADDRESS>_Generic_Release_30052022/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/libalgobsec.a when searching for -lalgobsec
/usr/bin/ld: cannot find -lalgobsec
collect2: error: ld returned 1 exit status
Any suggestions on how I should proceed would be welcome, and thank you so much in advance.
Charles
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"

p.s. I believe that I loaded the 64 bit version of the OS

There is an ARM V8 binary in BSEC 2.2.0 which is 64 bit. BSEC_<IP_ADDRESS>_Generic_Release_30052022/algo/bin/normal_version/RaspberryPi/PiThree_ArmV8
This code uses the ARM V6 32bit binary, in PiThree_ArmV6, so you will have some work to do.
The API (https://github.com/BoschSensortec/BME68x-Sensor-API) has some C code examples.

I just ran elf read -h on the PiThree_ArmV8 and its 32 bit.
readelf -h libalgobsec.a
File: libalgobsec.a(any.o)
ELF Header:
Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class:                             ELF32
Data:                              2's complement, little endian
Version:                           1 (current)
OS/ABI:                            UNIX - System V
ABI Version:                       0
Type:                              REL (Relocatable file)

Thanks, yes, it behaved liked the last 32-bit library, so I figured as much.
So, it sounds like with a 64-bit OS I'm dead in the water trying to use python with this device. Is that accurate?
I really just want something to read humidity.
Again, thanks!

I think you can run 32 bit library's on 64bit linux, but it required additional config.
Have a look at this article https://www.baeldung.com/linux/compile-32-bit-binary-on-64-bit-os
I also think we need separate issue started for 64bit support.

Hi! Thanks for the suggestions. I opted for using adafruit_bme680 library which seems to work on my '''avant garde''' 64-bit OS :-) and it's giving me numbers. Whether they are real or not is another story, but they look roughly believable.  I'm using the SparkFun Environmental Sensor - BME688 (Qwiic) card.
Ha... Yes after some nearly 30 years of using 32-bit Linux (my first distribution was SUSE in 1995) you might consider that it's time to make a 64-bit available of your software available. After all, not everyone uses 4-bit Microchip CPUs! :-)
Again, I appreciate your help even though I won't be using the software.

The BSEC software is from Bosch Sensortec, and they are focussed on low power devices -   mostly these are 32bit.
Running 64bit on a PI 4 is great but is it not going to last long running from a  3000mAh 3.7v LiPo .  My Pi Zero 2 will last a day if I am lucky, but a Puck.js will last 6 months on a CR2030 coin battery. It's horses for courses.
And if your bragging my Unix Programming Env (Kernigham and Pike) says I bought it in Dec 1985!
Regards
Keith

Again, thank you again for your help! Yes, I can see that there is little marketing reason to consider a 64-bit OS. It would be nice if they posted a disclaimer, but I'm guessing that only one or two people per year try this. :-) I'm happy with the solution that I have; any solution really.
Well... I think that I'm a tad older than you are. I dropped out of the University of Pittsburgh in 1978 to take a job at Carnegie Mellon University in the Computer Science Dept. That was the first time that I used AT&T Unix on a PDP-11(34?) which probably had less processing power than the microcontroller that you are using, and used as much electricity as my house. The only thing that I miss about it were the lights and switches. If you were really good and knew the machine code for the instructions, you could toggle a patch into memory without recompiling and reloading! ;-)
Once again Thank you!
Sincerely,
Charles

I got it up and running with the latest Bosch BSEC API library v<IP_ADDRESS>, BME680. Code in a forked repository below. Definitely hacked together, but feel free to take a look at the modifications made to get this running again.
I did the same suggested before:

Then I did as suggested I change all the fields for BSEC_SAMPLE_RATE_HIGH_PERFORMANCE to BSEC_SAMPLE_RATE_SCAN And delete all references to BSEC_OUTPUT_COMPENSATED_GAS

But also changed some buffer sizes as there is now less data coming in.
Then I rebuilt and it worked as expected after heating and calibration period.
https://github.com/flipthedog/bme68x-python-library/

I am a bit confused as you say your mods are for BSEC 2.2.0 but the code is using includes and configs for BSEC <IP_ADDRESS>:
Internal functions.h -  "BSEC_<IP_ADDRESS>_Generic_Release_04302021/algo/normal_version/bin/RaspberryPi/PiThree_ArmV6/bsec_interface.h”
bme68module.c is using an invalid conf path  - BSEC_<IP_ADDRESS>_Generic_Release_04302021/config/
Have you got both versions of the BSEC libraries on the system you are building on?
Also you say you changed some buffer sizes as there is less data coming in - could you say a bit more on what prompted that?
Regards
Keith
Keith McAlister
@.***

On 5 Jan 2023, at 19:53, flipthedog @.***> wrote:
I got it up and running with the latest Bosch BSEC API library v<IP_ADDRESS>, BME680. Code in a forked repository below. Definitely hacked together, but feel free to take a look at the modifications made to get this running again.
I did the same suggested before:
Then I did as suggested I change all the fields for BSEC_SAMPLE_RATE_HIGH_PERFORMANCE to BSEC_SAMPLE_RATE_SCAN And delete all references to BSEC_OUTPUT_COMPENSATED_GAS
But also changed some buffer sizes as there is now less data coming in.
Then I rebuilt and it worked as expected after heating and calibration period.
https://github.com/flipthedog/bme68x-python-library/
—
Reply to this email directly, view it on GitHub https://github.com/pi3g/bme68x-python-library/issues/17#issuecomment-1372664418, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2Y6GZJLYM6EL52PX2NEV3WQ4RE7ANCNFSM6AAAAAARAGWC6Y.
You are receiving this because you commented.

I was able to install and run on my Raspberry Pi 4 from the folders flipthedog provided. It appears they folders were jsut renamed to old schema rather than updating the setup code.
I was able to get to accuracy 3 but my IAQ will never drop below 50. Once it gets to 50, it begins to recalibrate.

My apologies for the confusion, the reply above is correct. I renamed the folder to the old BSEC version to avoid having to change additional code, this was very hacked together. I can fix it sometime if I have additional time.
With regards to the buffer size change, if you look at internal_functions.c, it appears the latest version of the BSEC library no longer has 14 virtual sensors outputting data. Specifically, requested_virtual_sensors[13].sensor_id = BSEC_OUTPUT_GAS_PERCENTAGE;, is no longer present, hence part of the error in this issue. By removing it and amending the n_requested_virtual_sensors = 14; line to 13, it was able to produce code that runs without errors. However, I have not read and checked this against the BSEC Bosch documentation.
Glad you were able to get it to work, I still have to run the sensor for a while, I will see if I can get a stable IAQ.

In response to IAQ never drops below 50.  The Bosch release note for 2-2-0-0 has a new features list, which notes the change to the adaption points moving from 25 - 250 to 50 - 200. So that's why your IAQ does not go below 50.  Pretty much all BSEC calculated values jumped up with this release.
When you burn in the sensor I suggest you save the config, and then load that config in your code going forward. It helps get to a stable IAQ quickly. I have examples of this here https://github.com/mcalisterkm/p-sensors/tree/master/src/1.3.0/BurnIn
New features list copied from Bosch bsec 2-2-0-0 release note:
New features and changes implemented compared to the previous release | • configuration update, see table 1 below.  • IAQ algorithm improved w/r to interaction and performance by optimized baseline adaptation. Accordingly, the IAQ adaptation points have been updated to 50 & 200 for best user experience (former versions used 25 & 250).  • IAQ output available in continuous mode operation (ODR 1 Hz).  • Temperature-Humidity compensation in IAQ output updated (adopted from BSEC version <IP_ADDRESS>).  • Merged BSEC 1.x and BSEC 2.x (means BSEC <IP_ADDRESS> incl. full functionality of BSEC <IP_ADDRESS>).  • Static code error/warning fixes. | • configuration update, see table 1 below.  • IAQ algorithm improved w/r to interaction and performance by optimized baseline adaptation. Accordingly, the IAQ adaptation points have been updated to 50 & 200 for best user experience (former versions used 25 & 250).  • IAQ output available in continuous mode operation (ODR 1 Hz).  • Temperature-Humidity compensation in IAQ output updated (adopted from BSEC version <IP_ADDRESS>).  • Merged BSEC 1.x and BSEC 2.x (means BSEC <IP_ADDRESS> incl. full functionality of BSEC <IP_ADDRESS>).  • Static code error/warning fixes. |

• configuration update, see table 1 below.  • IAQ algorithm improved w/r to interaction and performance by optimized baseline adaptation. Accordingly, the IAQ adaptation points have been updated to 50 & 200 for best user experience (former versions used 25 & 250).  • IAQ output available in continuous mode operation (ODR 1 Hz).  • Temperature-Humidity compensation in IAQ output updated (adopted from BSEC version <IP_ADDRESS>).  • Merged BSEC 1.x and BSEC 2.x (means BSEC <IP_ADDRESS> incl. full functionality of BSEC <IP_ADDRESS>).  • Static code error/warning fixes. |

In response to flipthedog.
Thanks I now see what you have done. I left the virtual sensors alone and modified the header to add back in BSEC_OUTPUT_GAS_PERCENTAGE. This virtual sensor was marked as internal only in previous releases, and I guessed that they just removed it from the data structure which proved to be correct.
I could merge your changes to remove BSEC_OUTPUT_GAS_PERCENT with my <IP_ADDRESS> clone  (https://github.com/mcalisterkm/bme68x-python-library-bsec2.2.0) as it already has fixes for the <IP_ADDRESS> references and config changes.

I wonder why the new IAQ range is 50 - 200 and why it results in a better user experience.
IAQ algorithm improved w/r to interaction and performance by optimized baseline adaptation. Accordingly, the IAQ adaptation points have been updated to 50 & 200 for best user experience (former versions used 25 & 250).
Would that mean, the improved IAQ algorithm is faster and more accurate in cost of the outlier (range). Maybe a new Sensor will fill this gap ? https://community.bosch-sensortec.com/t5/image/serverpage/image-id/10360i868E116504889E8C/image-size/large?v=v2&px=999

There is considerable traffic on the Bosch Sensortec Community site regarding burn-in and stability of readings for the BME688:
https://community.bosch-sensortec.com/t5/Bosch-Sensortec-Community/ct-p/bst_community
Bosch say it's ok for +-15% variation between sensors in the same environment - which seems to include the same sensor taken out and put back.    It would be handy if Bosch provided some calibration data, but calibration seems to be one for the customer to do.

My apologies for the confusion, the reply above is correct. I renamed the folder to the old BSEC version to avoid having to change additional code, this was very hacked together. I can fix it sometime if I have additional time.
With regards to the buffer size change, if you look at internal_functions.c, it appears the latest version of the BSEC library no longer has 14 virtual sensors outputting data. Specifically, requested_virtual_sensors[13].sensor_id = BSEC_OUTPUT_GAS_PERCENTAGE;, is no longer present, hence part of the error in this issue. By removing it and amending the n_requested_virtual_sensors = 14; line to 13, it was able to produce code that runs without errors. However, I have not read and checked this against the BSEC Bosch documentation.
Glad you were able to get it to work, I still have to run the sensor for a while, I will see if I can get a stable IAQ.

Two problems: a) Each release of the BSEC library comes with an updated API and you updated the library but not the API.
The API is in the folder BME68x-Sensor-API (v4.4.4 in your fork), and the BOSCH SENSORTEC git hub currently has v4.4.7 (https://github.com/boschsensortec/BME68x-Sensor-API). b) You included the BOSCH BSEC library in your fork. Did you check out the licence agreement.

I understand, I will delete my fork due to Licensing issues. My goal was merely to get this Python interface up and running with the pi3g code in this repository.

In order to use the v4.4.7 api do i need to do anything more than replace the API folder with the one you have in the link above?
I have also noticed that the raw pressure coming out of BSEC looks like it is in Pascal and not hecto Pascal. Not sure if this changed or was incorrect in the documentation.

The Integration Guide for <IP_ADDRESS> says Pa - Pressure sensor output of BME68x [Pa].
But I agree with you its changed and used to be hecto pascal, but I am not sure when.
The simple answer is yes it's just a replacement. But the API reflects changes in the BSEC library, and those can be breaking changes as we have seen. The API contains conversion functions that convert BSEC internal values and apply compensation, to human readable values and these can change.  So the API and the BSEC version have to be aligned.


Unable to run dotnet core in AWS ARM based instance (e.g. A1, C6g)

Issue Title
Unable to run dotnet core in AWS ARM based instance (e.g. A1, C6g)
General
I was trying to run ".NET Core 3.1 SDK (v3.1.403) - Linux ARM64 Binaries" in AWS ARM based instance, e.g. A1, C6g. But get below error msg. Does anyone else experience it? Is there a resolution?
[ec2-user@ip-172-31-27-186 dotnet_3]$ ./dotnet -h
Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
at System.Environment.FailFast(System.String)
at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
at System.Globalization.GlobalizationMode..cctor()
at System.Globalization.CultureData.CreateCultureWithInvariantData()
at System.Globalization.CultureData.get_Invariant()
at System.Globalization.CultureInfo..cctor()
at System.String.ToLowerInvariant()
at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetArch()
at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment..cctor()
at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier()
at Microsoft.DotNet.Cli.MulticoreJitProfilePathCalculator.CalculateProfileRootPath()
at Microsoft.DotNet.Cli.MulticoreJitActivator.StartCliProfileOptimization()
at Microsoft.DotNet.Cli.MulticoreJitActivator.TryActivateMulticoreJit()
at Microsoft.DotNet.Cli.Program.Main(System.String[])

To add EC2 AMI name
amzn2-ami-hvm-2.0.20200917.0-arm64-gp2

Oh. I found the way. Should add below
"configProperties": {
"System.Globalization.Invariant": true
}
to sdk/3.1.403/dotnet.runtimeconfig.json file.
To make final content like:
{
"runtimeOptions": {
"tfm": "netcoreapp3.1",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "3.1.9"
},
"configProperties": {
"System.Globalization.Invariant": true
}
}
}

Couldn't find a valid ICU package installed on the system

Have you tried installing ICU for your specific Linux distro?

No reply in 9 days. Closing.


Replace deprecated Transport.Dial with Transport.DialContext

http.Transport.Dial is deprecated.  Other parts of Docker have been updated to use DialContext instead (for example: https://github.com/moby/moby/blob/master/client/options.go#L66), but go-connections is currently still using Dial.
This commit updates go-connections to use DialContext.

How was this change tested? For me it doesn't build:
$ go get golang.org/x/net/proxy
$ go get github.com/pkg/errors
$ go get github.com/stretchr/testify/assert
$ go test ./...
?   	github.com/docker/go-connections	[no test files]
# github.com/docker/go-connections/sockets [github.com/docker/go-connections/sockets.test]
sockets/sockets.go:34:26: dialer.DialContext undefined (type proxy.Dialer has no field or method DialContext)
sockets/sockets_unix.go:24:28: undefined: context
ok  	github.com/docker/go-connections/nat	(cached)
ok  	github.com/docker/go-connections/proxy	(cached)
FAIL	github.com/docker/go-connections/sockets [build failed]
ok  	github.com/docker/go-connections/tlsconfig	(cached)

The naive change just kicks the can a bit further down the road:
diff --git a/sockets/proxy.go b/sockets/proxy.go
index 98e9a1d..36978c8 100644
--- a/sockets/proxy.go
+++ b/sockets/proxy.go
@@ -23,7 +23,7 @@ func GetProxyEnv(key string) string {
 // DialerFromEnvironment takes in a "direct" *net.Dialer and returns a
 // proxy.Dialer which will route the connections through the proxy using the
 // given dialer.
-func DialerFromEnvironment(direct *net.Dialer) (proxy.Dialer, error) {
+func DialerFromEnvironment(direct *net.Dialer) (proxy.ContextDialer, error) {
        allProxy := GetProxyEnv("all_proxy")
        if len(allProxy) == 0 {
                return direct, nil

produces:
$ go test ./...
?   	github.com/docker/go-connections	[no test files]
ok  	github.com/docker/go-connections/nat	(cached)
# github.com/docker/go-connections/sockets [github.com/docker/go-connections/sockets.test]
sockets/proxy.go:44:3: cannot use proxyFromURL (type proxy.Dialer) as type proxy.ContextDialer in return argument:
	proxy.Dialer does not implement proxy.ContextDialer (missing DialContext method)
sockets/sockets_unix.go:24:28: undefined: context
ok  	github.com/docker/go-connections/proxy	(cached)
FAIL	github.com/docker/go-connections/sockets [build failed]
ok  	github.com/docker/go-connections/tlsconfig	(cached)

I can't see a variant of golang.org/x/net/proxy.FromURL which returns something satisfying ContextDialer directly, meaning we would have to a type cast I think and deal with possible errors from that. It also brings a dependency on the very latest x/net since https://github.com/golang/net/commit/7f726cade0ab7c929c16ce0b5b25bd201e25f39f is only from a couple of weeks ago.

How was this change tested? For me it doesn't build

That's weird, I think CI was green 🤔

Oh, wait; there's https://github.com/docker/go-connections/pull/61
Looking at that PR, it looks like CI isn't running 😞

CI doesn't appear to build, just lint and fmt...
I just spotted #61 which I suspect might be the fix.
I also missed #60 reporting this too

CI doesn't appear to build, just lint and fmt...

Correction: + vet which does catch the build errors (iff the CI runs)


Retrieve FFMPEG Process

Hi there.
Is there a way to retrieve the ffmpeg process object? I would very much like to control it.
Thanks!

Sorry no, but as mentioned in #119 you could create the Process yourself.


UCP: Add Unit test in controllers/twophase

Description
Ensure to make Chaos Mesh measure code high quality and more usablity. we should first add more unit tests
The controllers/twophase did not have any test now. We can first improve it to 50%
Score

50

Mentor(s)

@fewdan

Recommended Skills

Golang

Learning Materials

Unit test of chaos-mesh

/pick-up-challenge

/give-up-challenge

/pick-up-challenge

/give-up-challenge

/pick-up-challenge


Add "nice" terminal style stylesheet for javascript html

Adds one single common stylesheet to all javascript/html files.
The files can still be opened in the browser like before, than the styles simply won't apply.
This is meant as an addition to #631 and is part of #577

@nanochess What do you think?

I approve of it! It looks pretty cool, and it fits my philosophy of making it easily accessible.

looks good thank you!!

:tada: Yeay! Next step #631


bug: using "item-remove-animate" with ng-repeat filter causes iOS 7.1 to crash.

Type: bug
Platform: ios 7 webview
Filtering a list of messages in my app causes iOS 7.1 to crash (in both emulator and device). In iOS 8.3 this problem doesn't happen. Isolating the problem I just find out that is caused by the animation that occurs when filtering the list, given by item-remove-animate.
Removing this fixes the problem but I have no animation now.

Greetings @mergin!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Absolutely... Such bug drives me crazy...

Greetings @mergin!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.

This issue is still present.


Optionally write to log file instead of stdout

When writing an interactive or user facing program, writing JSON based log files to standard out is problematic.  We should have a way for log messages to be written to a file instead of stdout for such programs.

The golang log's  SetOutput() would be used for this.  https://pkg.go.dev/log#SetOutput
So just like setting
log.SetFlags(0)

To have the output go to STDERR and a file, it would be something like this:
    aFile, err := os.Open("/path/to/a/logfile")
    log.SetOutput(io.Writer(aFile))

To have the output go to STDERR and a file, it would be something like this:
    aFile, err := os.Open("/path/to/a/logfile")
    log.SetOutput(io.MultiWriter(os.Stderr, aFile))

Pull request:

https://github.com/Senzing/go-logging/pull/65


32 bit Linux

Is there any chance to get this running on a 32 bit x86 Linux machine? I know it’s a dying class of machines, but well the Amiga was sort of 32 bits itself. Maybe I’m not the only one dreaming of a netbook booting directly into homegirl. I tried to compile it myself on a 32 bit Debian 10.2, but it still segfaults on start.

I just ran into that on Fedora.
Do you have the required libs installed?
Which distro?

I think I tried making a 32bit Linux version at some point, but failed to find a 32bit Linux distro that the D compiler worked on.. :/
I'm open to suggestions..

This is as far as I get on 32 bit Debian..

It seems I cannot even compile an empty project on 32bit Debian.. :/

Okay.. there might be hope.. switching to another compiler (LDC) seems to work.. kinda..
It compiles fine and the program even starts with a bootup screen, but the program seems to crash at certain Lua functions..

The problem might be because it couldn't load the Lua library properly (I did have to make changes to bindbc-lua), but it's just strange that some Lua functions seem to work fine (or fail silently), while others result in segfault..
This line seems to be the first roadblock..
https://github.com/poeticAndroid/homegirl/blob/dev/source/program.d#L115

Okay.. with the proper changes to bindbc-lua, everything seems to work fine on other platforms, except 32bit Linux, even with the latest version of LDC..
For some reason it seems to choke on the lua_pcall function.. everything up to that point works fine..

This sound awesome! Sadly, I know nothing about D, but maybe I could help out with some testing.

I'm afraid I'm going to have to forfeit on this one.. I have no idea where to go from here, to make it work on 32 bit..
If anyone else has a solution, feel free to contact me or send me a PR..


Am I missing something?

Hi there,
Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.

@driesvints  Sure, sorry.
FYI I've git it to work - upgrade laravel from 9.15 to ^9.8 did the trick and now it works. Indeed composer create-project installs 9.1.5.
I've just repeated all the steps I did today to reproduce the issue and try to narrow it down but I can no longer reproduce it. 🤪
Looks like leaving the MBP sleep for couple of hours did the trick . Please delete the issue to remove noise from the repo.

I was able to replicate. In my case, running Laravel in a docker container with a different path from where composer create-project laravel/laravel was performed caused cache files to be created with incorrect paths. Once artisan optimize:clear was run in the docker container, .env was read correctly.


How to support Xcode10.2?

Thank you for using Moya 😊
To understand better, can you give some more insights regarding the issue?

Xcode 10.2 requires to build projects and dependencies with Swift 5 which is not supported in Moya I guess (I didn't try it yet).

Same here, with Carthage
*** Valid cache found for Alamofire, skipping build
*** Valid cache found for Result, skipping build
*** Invalid cache found for ReactiveSwift, rebuilding with all downstream dependencies
*** Invalid cache found for RxSwift, rebuilding with all downstream dependencies
*** Downloading RxSwift.framework binary at "Atomic.2"
***  Skipped installing RxSwift.framework binary due to the error:
	"Incompatible Swift version - framework was built with 4.2.1 (swiftlang-1000.11.42 clang-1<IP_ADDRESS>) and the local version is 5.0 (swiftlang-1<IP_ADDRESS> clang-1<IP_ADDRESS>)."

    Falling back to building from the source
*** Building scheme "ReactiveSwift-iOS" in ReactiveSwift.xcworkspace
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -workspace /Users/jdanthinne/Développement/Swift/Apps/GroomService/Carthage/Checkouts/ReactiveSwift/ReactiveSwift.xcworkspace -scheme ReactiveSwift-iOS -configuration Release -derivedDataPath /Users/jdanthinne/Library/Caches/org.carthage.CarthageKit/DerivedData/10.2_10E125/ReactiveSwift/4.0.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/vh/np47mx2j3tl752jkkjh1tyj40000gn/T/ReactiveSwift SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/jdanthinne/Développement/Swift/Apps/GroomService/Carthage/Checkouts/ReactiveSwift)

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/vh/np47mx2j3tl752jkkjh1tyj40000gn/T/carthage-xcodebuild.v7J1VB.log

Got the same issue also.

Please check #1822 😉

Are you planning to release new version of Moya soon? It should be released as soon as Xcode 10.2 is out 😳

FYI, there's a lightweight version of Moya (not dependencies), https://github.com/Flinesoft/Microya, already available. Seems to works fine.

@kientux yes we are planning to release a new version soon. I'm gonna update this thread once it's done.

Does it make sense to change the Swift version of the Moya targets to Swift 5? As far as I checked, no conversions were necessary and all tests run fine. I just had to upgrade the testing deps to newer versions as the versions specified in Cartfile.private were all written in Swift 3 which wont compile with Carthage and Xcode 10.2.

I think that would make sense for the next version, yes.

Hey guys, Moya 13.0.0-beta.1 has been released 🚀
https://github.com/Moya/Moya/releases/tag/13.0.0-beta.1
Let me know if you have any troubles with this version on Xcode 10.2!

Alrighty, seems like no major issues have appeared so I'm gonna release the official 13.0.0 version today (most likely).

Hey all! Moya 13.0.0 is officially released. Have fun and in case something happens, please create new issue.
https://github.com/Moya/Moya/releases/tag/13.0.0


Trying to support Window Controls in my Upcoming Module Window Tabs

I am trying to add support for Window Controls in my Upcoming Module Window Tabs.
Window Tabs adds Tab like grouping to Foundry windows. Best shown than described.

The problem is, when I installed Window Controls to add compatibility, I realized that when you minimize the window that all my tabs are removed. After some research, I found that its because you use .text LINE to set the title of the window on minimize and maximize. The problem is, I store the tabs in the h4.window-title so your module basically wipes out all of my tabs.
I was curious if you had any ideas on how we could get our modules to work together?

Actually, maybe ignore this, I should be able to move my tabs into a new div, this will keep the ui more standard for your module.

So I got the deleting my tabs resolved, minimizing never deletes the tabs, but everything else between our modules just breaks. haha. I am going to see if I can resolve them...

Hey @mouse0270 - sorry for the late reply. Let me know if you need any help, although honestly I am just keeping the modules alive, not working too much on them


feat: upgrade from node12 to node16

Should this be a breaking change?

As far as the public API of this Action is concerned it doesn't break anything... though it does change dependency requirements, those are handled transparently by the GHA runner binary (it handles its own node binaries)... so I think we're okay with it being a minor bump.


[Site Feedback] needs new design specs.

Site Feedback team informed us that with the Think banner pushing the content on the page down, it is causing a problem with Site Feedback display.
The problem
When we display the Think banner and a page has L1 navigation, it obscures the button label.
The solution
[Site Feedback] need new designs that show lower placement of the button (272 px from top) and smaller font size (12px).  The team can implement the design in their codebase.
Additional information
Contact: Jo Welsh

@oliviaflory @DragosRistici @JennySanchez FYI opened this per our slack discussion on May 4.

Design spec
https://ibm.box.com/s/8ao2ohehntsitp95qkv8ey889nk71a9n
The style of the button appears to be tertiary button but current implementation is not showing the correct hover state. I spec'ed it as Tertiary button to avoid creating misalignment on the theoretical level. If Jo's team is interested in updating, it could be a good thing to align better with Carbon. FYI @ljcarot


Export should escape ""

Export (at least to Excel) doesn't escape embedded "" characters, but import gags if they're not escaped. Might be POI or might be converted CSV.

Fixed by escaping on import.