writing Datasets in a human readable format

Hi
I see there is a save_to_disk function to save data, but this is not human readable format, is there a way I could save a Dataset object in a human readable  format to a file like json? thanks @lhoestq

AFAIK, there is currently no built-in method on the Dataset object to do this.
However, a workaround is to directly use the Arrow table backing the dataset, but it implies loading the whole dataset in memory (correct me if I'm mistaken @lhoestq).
You can convert the Arrow table to a pandas dataframe to save the data as csv as follows:
arrow_table = dataset.data
dataframe = arrow_table.to_pandas()
dataframe.to_csv("/path/to/file.csv")

Similarly, you can convert the dataset to a Python dict and save it as JSON:
import json
arrow_table = dataset.data
py_dict = arrow_table.to_pydict()
with open("/path/to/file.json", "w+") as f:
    json.dump(py_dict, f)

Indeed this works as long as you have enough memory.
It would be amazing to have export options like csv, json etc. !
It should be doable to implement something that iterates through the dataset batch by batch to write to csv for example.
There is already an export method but currently the only export type that is supported is tfrecords.

Hi! datasets now supports Dataset.to_csv and Dataset.to_json for saving data in a human readable format.


Add an option to allow only unavoidable conflicts (or minimize conflicts)

Right now, if you allow conflicts to happen, the system allows all kinds of conflicts to take place, including ones that are not necessary.
The minimization doesn't need to be perfect. Even something that orders schedules by number of conflicts would be perfect for getting rid of unnecessary conflicts.

Yeah. That's a good idea. On it.

Done.


Still maintained?

I've just found this plugin and immediately liked it (maybe because of its similarity to foundation 😄)
However when seeing all the open PRs (some almost 3 years old) I'm wondering if this project is still maintained.
@rgalus do you have plans to continue working on this?

Hey @SassNinja
I don't really have time to maintain it at the moment but it does not mean that you should not use this library. It works and it is not dependent on any third party code.

glad to hear it's not dead :)
if you like I may help you as collaborator to get some important PRs finished
(e.g. https://github.com/rgalus/sticky-js/pull/59)

I merged this PR and released new version. Enjoy!


Mobiel App - Disaster Check in page

From the profile page when the user clicks on check into a disaster they will be brought to this screen.
This screen is essential is a form that serves the same purpose as the "Make a New Commitment" form found here https://crisischeckin-d.azurewebsites.net/ (login with user: testUser pass: test)
Back End:
This form will write information to the volunteer checkin DB as well as flag a volunteer as checked in to the specific disaster.

@jsturtevant @NaveenP94 please assign me to this one. Thanks.

This says that the profile page will be what is displayed after the logging in but the wire frame shows the CheckIn page for #654 as the page after the login.   This seems to make more sense because everything else will be filtered via disaster on the profile page.

Profile page is correct


uwu: flexible and accurate headers

Problem

our headers has custom format like x_forwarded_for
we cannot parse range headers yet
we cannot use custom headers like headers['X-UPLOAD-ID'] or headers['X-IDEMPOTENCY-KEY']

Fix

Use standard Headers object

https://developer.mozilla.org/en-US/docs/Web/API/Headers

Use a function that lets the user extract custom headers from requests

fix

export constant default_headers
used Map<string, string> instead of Headers for consistency in both request and response object; header keys are now case sensitive
default_headers is global, cannot set custom headers per middleware yet due to chained middleware support


updating the footer

there is no change on hover for all the page links, social media icons present at footer and even no proper spacing and size of feedback and subscribe button.

please assign this to me

these are very small changes can't be grouped under levels,
i can still assign you it under gssoc

thank you @4darsh-Dev , but it will be great if you add a level to.

you need to make more changes rather than just adding hover effect and size changes

yes i will do that.

Hey @dnyandeepchute ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


GH-2255 Drop discontinued 3.x sources

Resolves #2255

Other sources are deeply wired into the core implementation and should be modified within the scope of further refactors.


clicking "run tests" does nothing on "Size Image" page. Please advise

Challenge Size your Images has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.

It looks like you didnt set give the img the class "smaller-image"
Look at my code.

Then it should return an incorrect answer. I submitted this without the answer in. I have the correct answer in and clicking Run Tests produces no result.

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

It shows the cat picture, hahaha. No problem, just delete the first < like this img src="https://bit.ly/fcc-relaxing-cat" alt="A cute orange cat lying on its back. " class="smaller-image">

I've completed Udacity and CA up through Javascript. This is my first time using FCC...using it for redundancy. Clicking "run tests" produces nothing at all, right or wrong.

I understand. Its not the code. Its buggy. Ive refreshed. The code is correct.

Did you give the img a class of "smaller-image"?

Becasue this whole thing happened to me and I got stucked for 2 days thinking the page is buggy.

@salbo98
this is a known bug and will be resolved soon, some times syntax error in the solution results in the button not to work.
Apologies for the inconvenience, as a work around:
Copy your corrected code, reset and refresh the page, then submit the code.
Refer https://github.com/FreeCodeCamp/FreeCodeCamp/issues/9673

Thanks for the help guys !


Fix TypeError in validate command

Summary

When using the command validate in detection task, there is a TypeError in the dictionary that is being saved in a json file.
To reproduce the error:

Create a project and import a dataset (cvat format in my case) for object detection
Execute the command: datum validate -t detection
It appears the following error: TypeError: Dict key must be str

The error appears because there are some keys that are int type, so a second check have been added alongside the check for type tuple.
How to test

Taking into account the fix, if we execute the following command it generates the json file correctly instead of being empty:
datum validate -t detection
Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

Hi, thank you for the fast reply!
I've created this dummy dataset to reproduce the error I was getting. As I could not send the original data I have used some random images to point out the error. Some of the images are duplicated and also the bboxes for the class building does not correspond to an actual building in the image but the idea was to create a silly example to explain the problem to avoid creating a big dataset.
I noticed that the error is raised when there are 'unusual' big/small bboxes as it will be written in the validation report under bbox_distribution_in_label/items_far_from_mean field as shown below. The problem is caused by this "0" that needs to be converted from int to a str.
"building": {
        "width": {
          "items_far_from_mean": {
            "('example_fail/image4', 'annotations')": {
              "0": 4429.0
            }
          },
...

In the same .zip file I have attached the validation_report file generated when it is added the suggested change.

Codecov Report
Base: 83.84% // Head: 83.81% // Decreases project coverage by -0.03% :warning:

Coverage data is based on head (742594a) compared to base (99d0396).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #788      +/-   ##
===========================================
- Coverage    83.84%   83.81%   -0.04%
===========================================
  Files          170      170
  Lines        22558    22558
  Branches      4919     4919
===========================================
- Hits         18914    18907       -7
- Misses        2526     2532       +6
- Partials      1118     1119       +1

Flag
Coverage Δ

ubuntu-20.04_Python-3.10
83.76% <0.00%> (ø)

ubuntu-20.04_Python-3.7
83.39% <0.00%> (-0.06%)
:arrow_down:

ubuntu-20.04_Python-3.8
83.69% <0.00%> (ø)

ubuntu-20.04_Python-3.9
83.69% <0.00%> (-0.01%)
:arrow_down:

windows-2019_Python-3.10
?

windows-2019_Python-3.7
?

windows-2019_Python-3.8
?

windows-2019_Python-3.9
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

datumaro/cli/commands/validate.py
35.61% <0.00%> (ø)

datumaro/plugins/data_formats/mars.py
86.36% <0.00%> (-3.04%)
:arrow_down:

datumaro/util/os_util.py
75.75% <0.00%> (-1.52%)
:arrow_down:

datumaro/util/test_utils.py
88.39% <0.00%> (-1.11%)
:arrow_down:

datumaro/plugins/splitter.py
88.47% <0.00%> (-0.23%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


No colorization and no errors

Description
I can't see any colorization of brackets.
I tried with a .ts and .js file.
There are no errors (in the error / warning section in the status bar at the bottom).
I tried the other similar extension (and less complete, as I understand) and it worked: https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets
But of course I would like to use this extension given the advantages stated in https://github.com/CoenraadS/BracketPair/issues/5#issuecomment-264934372
Here's a screenshot after installing and reloading Visual Studio Code:

Version
I'm on Ubuntu 16.04
Visual Studio Code version:
Version 1.11.2
Commit 6eaebe3b9c70406d67c97779468c324a7a95db0e
Date 2017-04-13T08:01:14.464Z
Shell 1.4.6
Renderer 53.0.2785.143
Node 6.5.0

I just installed the extension, so it should be the latest version, in the Changelog tab the latest release documented is 0.9.1.

Thanks for the report. Unfortunately I am on vacation but hope to fix this
when I return.
On Tue, 18 Apr 2017, 7:13 PM Sebastián Ramírez<EMAIL_ADDRESS>wrote:

Description
I can't see any colorization of brackets.
I tried with a .ts and .js file.
There are no errors (in the error / warning section in the status bar at
the bottom).
I tried the other similar extension (and less complete, as I understand)
and it worked:
https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets
But of course I would like to use this extension given the advantages
stated in #5 (comment)
https://github.com/CoenraadS/BracketPair/issues/5#issuecomment-264934372
Here's a screenshot after installing and reloading Visual Studio Code:
[image: screenshot from 2017-04-18 12-03-58]
https://cloud.githubusercontent.com/assets/1326112/25143274/7007fa56-242f-11e7-8560-cc69aa32e89b.png
Version
I'm on Ubuntu 16.04
Visual Studio Code version:
Version 1.11.2
Commit 6eaebe3b9c70406d67c97779468c324a7a95db0e
Date 2017-04-13T08:01:14.464Z
Shell 1.4.6
Renderer 53.0.2785.143
Node 6.5.0
I just installed the extension, so it should be the latest version, in the
Changelog tab the latest release documented is 0.9.1.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CoenraadS/BracketPair/issues/21, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVa4QBcN-WuESRYy16EWAQV6r-70RIgks5rxO8ngaJpZM4NAose
.

As a temporary workaround you can download an older version from the
Releases section on GitHub and install the old version manually
On Tue, 18 Apr 2017, 7:23 PM Coenraad Stijne<EMAIL_ADDRESS>wrote:

Thanks for the report. Unfortunately I am on vacation but hope to fix this
when I return.
On Tue, 18 Apr 2017, 7:13 PM Sebastián Ramírez<EMAIL_ADDRESS>wrote:

Description
I can't see any colorization of brackets.
I tried with a .ts and .js file.
There are no errors (in the error / warning section in the status bar at
the bottom).
I tried the other similar extension (and less complete, as I understand)
and it worked:
https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets
But of course I would like to use this extension given the advantages
stated in #5 (comment)
https://github.com/CoenraadS/BracketPair/issues/5#issuecomment-264934372
Here's a screenshot after installing and reloading Visual Studio Code:
[image: screenshot from 2017-04-18 12-03-58]
https://cloud.githubusercontent.com/assets/1326112/25143274/7007fa56-242f-11e7-8560-cc69aa32e89b.png
Version
I'm on Ubuntu 16.04
Visual Studio Code version:
Version 1.11.2
Commit 6eaebe3b9c70406d67c97779468c324a7a95db0e
Date 2017-04-13T08:01:14.464Z
Shell 1.4.6
Renderer 53.0.2785.143
Node 6.5.0
I just installed the extension, so it should be the latest version, in
the Changelog tab the latest release documented is 0.9.1.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CoenraadS/BracketPair/issues/21, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVa4QBcN-WuESRYy16EWAQV6r-70RIgks5rxO8ngaJpZM4NAose
.

Most likely I have imported a file with wrong capitalization, because I
only test on Windows which has a case insensitive filesystem
On Tue, 18 Apr 2017, 8:32 PM Sebastián Ramírez<EMAIL_ADDRESS>wrote:

Thanks for the quick response!
I tried downloading and installing version 0.8.7 from the releases tabs
in GitHub but still the same behavior.
I also tried on a Windows 7 with the latest Visual Studio Code and the
latest extension, and there it worked perfectly.
So it seems to be related to Ubuntu / Linux or to my specific environment.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/CoenraadS/BracketPair/issues/21#issuecomment-294939299,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVa4dSkTzGDrbN1zPohTHUjbSWCYauhks5rxQHPgaJpZM4NAose
.

I just setup Ubuntu, however it seems to work ok for me. There was only a capitalisation issue in the test which shouldn't affect the extension. Afraid I can't reproduce this.

Do you have any custom settings?

I just saw that I can turned on "Developer Tools", and there's an error that doesn't appear in the status console.
Here's everything that I get in my console:
Overwriting extension <<.conf>> to now point to mime <<text/x-NGINX>>
Conflict detected, command `workbench.action.openRecent` cannot be triggered due to npm-script.showOutput
Conflict detected, command `workbench.action.openRecent` cannot be triggered due to npm-script.run
Conflict detected, command `workbench.action.openRecent` cannot be triggered due to npm-script.rerun-last-script
Conflict detected, command `workbench.action.openRecent` cannot be triggered due to npm-script.terminate-script
Conflict detected, command `workbench.action.openRecent` cannot be triggered due to npm-script.test
[Extension Host] Activating extension `CoenraadS.bracket-pair-colorizer` failed: Cannot find module './multipleIndexes'.
[Extension Host] Activating extension `CoenraadS.bracket-pair-colorizer` failed:  Cannot find module './multipleIndexes'
[Extension Host] Here is the error stack:  Error: Cannot find module './multipleIndexes'
    at Function.Module._resolveFilename (module.js:455:15)
    at Function.Module._load (module.js:403:25)
    at Function.J.i._load (/usr/share/code/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:374834)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/user/.vscode/extensions/CoenraadS.bracket-pair-colorizer-0.10.1/out/src/lineState.js:4:27)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
Activating extension `CoenraadS.bracket-pair-colorizer` failed: Cannot find module './multipleIndexes'.

Also, I restarted the full system (just in case) and removed completely and re-installed the extension.
Does that log give you any ideas?

Someone else has an identical issue: https://github.com/CoenraadS/BracketPair/issues/20
But atm I have no idea why module multipleIndexes won't load

For some reason during the packaging step, the file multipleIndexes became MultipleIndexes
I just recompiled and it seems ok now, please try the latest version..

Awesome! Thanks for the great work @CoenraadS . It is working now! :tada:

Works for .ts file, but not in html files

I second @dhgiang these '{{ }}' don't work in HTML files in Angular, but you can add this:
[ 			"</", 			">" 		], 		[ 			"<", 			"/>" 		], 		"<>",
So that the html tags colourise too


Fixed camera preview distorted

Hello, following your advice https://github.com/nstudio/nativescript-camera-plus/issues/41#issuecomment-436121475 I modified the getOptimalPreviewSize method, obtaining better results in devices that distorted the preview a lot.

Awesome. I'll look at this and get a fix published as soon as I have some time. It's holiday week here in US so I'm low on free time so feel free to ping me next week on this PR if it's not been merged yet @marcelofb thank you for this ❤


[FEATURE REQUEST]: Image Classification model for uniform aspect ratio images [Not SQUARE]

Hi,
I want to do a simple image classification model through Teachable machine on my dataset of images but i want the model to keep original aspect ratio of images instead of cropping them out into square. Is there a way to do that?
P.S I am very new to ML and AI. So any help will be appreciated.

Hi @uzairjintech, at the moment, I'm afraid we won't be able to implement that feature anytime soon... If I was a JavaScript developer, I would try but I'm not... You're always welcome to add the feature if you can though :)


Flutter Drive not working with flutter_translate

Problem: when you test your app with Flutter Drive - app will stay on White screen while trying to init the app.
To be more specific, this call is never executes:
final delegate = await LocalizationDelegate.create(fallbackLocale: 'en_US', supportedLocales: ['en_US']);
Root cause of the issue is inside locale_file_service.dart - Future getLocaleContent(String file) method.
This code hangs:
return rootBundle.loadString(file);
This code will work:
static Future<String> getLocaleContent(String file) async
    {
        final ByteData data = await rootBundle.load(file);
        if (data == null) return null;
        return utf8.decode(data.buffer.asUint8List());
    }

Underlying reason for that (if qurious  to read) is here:
https://github.com/flutter/flutter/issues/24703

Hi, thanks for reporting this issue but as far as I can see this is an issue with flutter_driver and not flutter_translate?

Yes, this I flutter_driver issue, however it hasn't been resolved for years. So to use flutter_translate together with flutter_driver it's possible to add workaround to flutter_translate.

We have the same issue when running widgets tests, this code will timeout -> final delegate = await LocalizationDelegate.create(fallbackLocale: 'en_US', supportedLocales: ['en_US']);

Having same issue when running widget tests. Please, can you provide an example? Thank you

@bratan , will you make the change?

I have created PR with fix: https://github.com/bratan/flutter_translate/pull/57


Import manager base classes

depends on https://github.com/openprocurement/openprocurement.api/pull/371

Coverage decreased (-0.2%) to 82.59% when pulling 009b37dff0e5059f1a9207c015327375a13bb80f on oleksiyVeretiuk:import_manager_base_classes into 664e747cdabe216741b5d9f3b1ec1d63cc3a0860 on openprocurement:master.


DB schema update scripts

Having update scripts for the database schema will make it a lot easier to make sure that the correct structure is being used and no errors happen.
For this we need to save the current database schema version somewhere in the database, which we can do by adding an extra table, e.g. options. For the future, we could also use this table to save options, like the bot name and API key for example.

Will come with monolog feature
https://github.com/akalongman/php-telegram-bot/issues/167

@MBoretto
This issue here is about DB update scripts that simply update the schema depending on the library version. It's different to the "import all data" that you have implemented with the Monolog PR.
The problem is, that users who haven't logged all the requests, will have the same problem every time the schema is changed, because they can't just reimport everything 😕

ok

Right, I'm at a stage where foreign key constraints are not my best friends 😄
Check out my work so far here:
https://github.com/noplanman/php-telegram-bot/tree/db_schema_update/utils/db-schema-update
This script automatically:

fetches all tags from the live repo
imports and dumps each structure.sql
compares them for changes
creates a migration script for any changes
applies the migration to a test database

It starts at version 0.16.0, as anything before then is very shaky and unstable.
This migration works perfectly when starting with a DB at version 0.16.0, but has issues when starting the migration at any version in between.
Reason for this: drumroll... key constraints!
So I'm in the process of trying to figure out how best to solve this. The problem is, that each time a foreign key is set without explicitly setting a constraint name (via ADD CONSTRAINT \<this-name!>` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`);), a new one with an auto-incremented name is generated (message_ibfk_1, message_ibfk_2, etc.). Because of this, as the migration proceeds, some get removed and re-added, thus making the number go up. So when starting the process somewhere in between, the numbers are wrong, causing issues (e.g. Duplicate foreign key constraint name 'tmp/message_ibfk_X'`).
I'm really working towards a fully automated way of handling this, but it's becoming more and more complex and I'm not sure it's worth it 😕
I might just leave this as is and make dedicated migration scripts manually...
As for any new structure changes, with each change, a migration script is a MUST, to prevent this mess.
What do you think? Any thoughts or ideas?

What about adding a small ORM and stop using FK?

small ORM

Do you have any in mind? Changing and upgrading the database layer is a todo item that has been around for a while, but nobody has found the time yet to think it through and implement it.
As for the migration process, even with a newly designed DB layer, updating to the "new" system will still be very painful. For that reason, some kind of migration scripts need to be made.
I'm looking into https://github.com/robmorgan/phinx, which looks really nice and easy and does the job.
@Sogl Do you have any experience with migrations that might help?

I work with Zend_DB and Laravel Eloquent ORMs and all my projects not using FK now.
Good migration mechanism is present in Laravel and it works with CLI by command php artisan migrate.
That's how it looks in folder structure:

One migration code:
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateTestPositionsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('testPositions', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('positionId')
                ->unsigned()->nullable();
            $table->string('positionName', 255)
                ->nullable();
            $table->integer('testId')
                ->unsigned()->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('testPositions');
    }
}

It seems that Phinx do the same thing, but it contains only migrations, no ORM part.
Also you need to link migrations with php-telegram-bot versions.

@Sogl I think that add a orm is a very good idea. I learned few month ago to use Eloquent  and migration. Implements it requires a bit of time since the table schema is made of several table.
For what concern removing foreign keys is absolutely a bad idea. Foreign keys are database internal check to ensure integrity.

I agree with @MBoretto to keep the foreign keys, as they force the DB to stay "valid".
It would be great to have statistics of how many users have old versions of the bot running, to know if it even makes sense to make fully automated DB update scripts up to this point.
For the future (fingers crossed) when we have an ORM doing the heavy lifting, migrations should be a breeze.
The only ORM I've worked with is RedBean, but am more than happy to learn anything new that does a great job 🎉

At the moment the easiest is to create manual update scripts for any DB changes necessary from release to release.
https://github.com/php-telegram-bot/core/tree/master/utils/db-schema-update


UnicodeDecodeError, for reading a .las file

Describe the bug
In short, I'm trying to convert a .las to a .json file. after I called the set_file('SOME-FILE.las) with the Las-converter tool, UnicodeDecodeError appears. (FYI I'm using the terminal with python 3.9.1)
Screenshots from the terminal
>>> from LAS import Converter
>>> c = Converter()
>>> log = c.set_file("SOME-FILE.las")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/LAS/converter.py", line 64, in set_file
    self.__lines = f.readlines()
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 131: invalid start byte

Desktop (please complete the following information):

OS:  MacOS Big Sur Version 11.2.3

I'm having a similar issue at the sam stage. Running: Jupyter Lab in Python 3.7 on a Win7 x64 machine
---------------------------------------------------------------------------```

UnicodeDecodeError                        Traceback (most recent call last)
 in
1 c = Converter() # create converter object
2
----> 3 log = c.set_file(path+file_las) #return LogWrapper
C:\ProgramData\Anaconda3\envs\py37\lib\site-packages\LAS\converter.py in set_file(self, file)
62             raise Exception("File format no supported!")
63         with open(file, "r") as f:
---> 64             self.__lines = f.readlines()
65         return self.__convert()  # read all lines from data
66
C:\ProgramData\Anaconda3\envs\py37\lib\encodings\cp1252.py in decode(self, input, final)
21 class IncrementalDecoder(codecs.IncrementalDecoder):
22     def decode(self, input, final=False):
---> 23         return codecs.charmap_decode(input,self.errors,decoding_table)[0]
24
25 class StreamWriter(Codec,codecs.StreamWriter):
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 536: character maps to


output-group: new helper

wlr_output_group allows compositors to group multiple outputs
together and manage them as a single wlr_output. It's useful for
output mirroring, and in the future for handling tiled displays.

Thanks a lot, will definitely have a look at this. Unfortunately it will be only later in August when I have a chance to revisit this...

No worries, we aren't in a hurry :)

wlroots has migrated to gitlab.freedesktop.org. This pull request has been moved to:
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3067


A flag to publish if auto publish is on, create drafts otherwise

Is your feature request related to a problem? Please describe.
I'd like to deploy to production when I turn on "auto publish" in the Netlify dashboard, otherwise make drafts.
Describe the solution you'd like
A flag I can set, maybe --prod=auto, that deploys to production if I've enabled that in the dashboard but makes drafts otherwise.
Additional context
I think the way the --prod flag works was changed. I swear I used to do it this way.
Can you submit a pull request?
Not, really. I mean I could look into it I guess but it would take me a long time.

Hi @kasbah, I'm not sure I understand the feature request.
Is it this?

netlify deploy - never deploys to prod.
netlify deploy --prod always to prod.
netlify deploy --prod=auto deploys to prod only if auto publishing is enabled.

Exactly right, yeah.
netlify deploy --prod currently asks this when auto-publishing is off: Would you like to "unlock" deployments for production context to proceed? and you probably want to keep that behaviour?


Docs: Clarified TileMap get_cell method behavior.

Added clarification on TileMap get_cell methods' return value in the case that there is no valid tile in the cell.

Thanks!


Error: Invalid Invalid DOM property class. Did you mean className?

Description:
class is used to describe class at multiple places rather than className

Reference

If this is counted as a valid issue, I would like to work on this as a hacktoberfest participant

Closing this as Duplicate.


Does this library work with sqlx?

I tried using this library with sqlx, but I cannot get it working.
Any ideas how to solve this problem? My goal is to make instrumentedsql work with named queries.
My code
bebfore:
db, err := sqlx.Open("postgres", config.DB.URL)

after:
	sql.Register("instrumented-postgres", instrumentedsql.WrapDriver(&pq.Driver{}, instrumentedsql.WithTracer(opentracingsql.NewTracer())))
	db, err := sql.Open("instrumented-postgres", config.DB.URL)

Tracing works just fine, but now I get "pq: syntax error at end of input" errors.

I managed to get sqlx working with the pq driver and  instrumentedsql using the following code:
	sql.Register("instrumented-postgres", instrumentedsql.WrapDriver(&pq.Driver{}, instrumentedsql.WithTracer(opentracingsql.NewTracer())))
	db, err := sql.Open("instrumented-postgres", config.DB.URL)
        ...
        dbx := sqlx.NewDb(db, "postgres")


DeckSwiper - undefined is not an object (evaluation "item.title")

Hello guys,
I was using deckSwiper two weeks ago and it was working fine (NB 0.5.14). Today I ran my app again and I ran into a few problems:
Requiring unknown module: 'react-native/Libraries/Renderer/src/renderers/native/ReactNativePropRegistry'
I fixed this problem by replacing import ReactNativePropRegistry from 'react-native/Libraries/Renderer/src/renderers/native/ReactNativePropRegistry';
by:
import ReactNativePropRegistry from 'react\lib\ReactNativePropRegistry';
in:
node_modules\react-native-easy-grid\Utils\computeProps.js
and also updated NB to 0.5.18, along with
react: 15.4.0
RN: 0.38.0
After all that, I ran my app and my deckSwiper component was not not working anymore. Instead it was returning only the top of the card (Very weird problem). Then I checked the documentation and I saw that DeckSwiper code example changed a lot.
After trying to run the DeckSwiper example provided in the documentation  I got the following error:
undefined is not an object (evaluation "item.title")
Anyone knows why deckSwiper stopped working in the first place, and why the sample code on native base documentation will not work?
thanks

@brunobraga95 I had the same issue, the example code on the documentation has a few errors.
Here's the corrected snippet:
<DeckSwiper   dataSource={cards}   renderItem={item =>       <Card style={{ elevation: 3 }}>           <CardItem>               <Thumbnail source={item.image} />               <Text>{item.text}</Text>               <Text note>NativeBase</Text>           </CardItem>           <CardItem>               <Image style={{ resizeMode: 'cover', width: null }} source={item.image} />           </CardItem>           <CardItem>               <Icon name="ios-heart" style={{ color: '#ED4A6A' }} />               <Text>{item.name}</Text>           </CardItem>       </Card>   }> </DeckSwiper>
Hope this helps.

@SupriyaKalghatgi Example by @sandeepskak needs to be updated in the docs as well.


Add listByScore (Query ID by score )

This PR fix #6

Hi, sorry for the delay.
The implementation of listByScore is correct, but it should return an Entry, like every other function, along with the rank.
I will make the necessary changes.

Codecov Report

Merging #8 (850fa11) into master (3cb5481) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master        #8   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          358       373   +15
  Branches        82        88    +6
=========================================
+ Hits           358       373   +15

Impacted Files
Coverage Δ

lib/Commands.ts
100.00% <100.00%> (ø)

lib/Leaderboard.ts
100.00% <100.00%> (ø)

tests/redis.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

Everything looks good! I'll merge now.
Thanks for your contribution!

Thank you, mlomb!


Georeference LAS files

Per https://github.com/terraref/reference-data/issues/185#issuecomment-331208513, we need to translate the PLY coordinates to lat/long coordinates in ply2las extractor. Currently, the files use the point-cloud reference, which isn't right.
Completion criteria:

[ ] Update ply2las extractor to create merged LAS file in lat/long
[ ] Update plant_height extractor subset the LAS files  by plot so we can push traits to BETYdb by plot
[ ] Code review (pull request)
[ ] Create sample data
[ ] Review sample data

During the past few days, I did a bunch of tests for georeferencing las files. Since there is no further comment from @jterstriep ,@yanliu-chn , it's not quite clear for me if I am in a right way. Any suggestion is welcome if you have experience in georeferencing las files.
I will list all the potential options below and try to explain the blocking for each option.

[x,y,z] to [lon, lat, elevation] for each point
I totally agree this might be suitable for a subsetting plot level point cloud task, but I will prefer a pure point cloud coordinate without another translate when I use las file. Still I try this, but not succeed. The length of bit for each XYZ coordinate is 32 bit long integer, so the region for X would be [-2147483648,<PHONE_NUMBER>]. The accuracy of laser scanner is 0.01mm, then for a UTM coordinate[408987, 3660091], it requires for a region of[4089870000,<PHONE_NUMBER>0],  which is far beyond the limitation. when I test this, it continues to return a unreasonable value after the translating.

Then I try [x,y,z] to gantry [x,y,z] for each point, it works in this way:

Another option is just modify the offset in the header file, it still works well in [x,y,z] to gantry [x,y,z]:

But it failed when I tried [x,y,z] to MAC[x,y,z], only a few of points remain, I will say it's because of a down accuracy data missing:

@dlebauer That's the situation for now, if the option 3 works for you([x,y,z] to gantry [x,y,z] only modify header), I will upload my code to Github.
Other issue(or further idea):

LAS files is far more structural than ply, more data can be store in LAS, it's not smaller than ply, @solmazhajmohammadi , a merged las is more than 1.7GB while two plys are less than 0.7GB.
LAS now has 4 version of header format and 10 different point format, we are now using header format 1.2 and point format 3.
LAS to plant_height would be another extractor when we decide which option should be used, it should not be here. @craig-willis

I think that for now, if the point clouds can be in gantry[xyz] that will be a good first step, and would be the minimum requirement for a data product sufficient for the first data release.
I am a little confused about how scale and offset work. Is it possible, for example, to have all points in the range [0, 100] and then provide values of scale and offset that would allow users to translate to lat,lon, height?

@dlebauer
In part 2 of option 3, I kind of show the example of providing UTM 12 scale and offset. Let me explain more what I learn in recent days.
In LAS Point format 3, which we are using now, there are 3 different field name: X,Y,Z relate to the coordinate. X, Y, Z are 32bit long integer(if someone is able to convert it to 64bit data, please point me out how could I get that). Remember our resolution of laser scanner is 0.00001 meter, so the limitation range now is [-214748.3648,<PHONE_NUMBER>] meters. If I set the offset to [408987, 3660091] meter which is our MAC coordinate, it will over the limitation. The example of setting offset to [408987, 3660091]m is this picture:

It seems to me that LAS will automatic cut the low bit of data, so only a few X, Y, Z remain in the picture, the resolution is set to 0.1 meter, all points under 0.1m will disappear. It's the same if we use lat/lon, we will lose our high resolution data.

@ZongyangLi thanks for the clarification - I didn't realize that in this last example you had used the scale and offset. I had assumed that the data could be stored in smaller values and that the software would automagically handle the scale and offset. Would it be an option to provide the data in gantry[xyz] and then provide the UTM scale/offset in a descriptive metadata field?
Page 2 of the LAS 1.4 specification says that it supports 64 bit floats. However, if this is a non-trivial task and / or further inflates these files then I this may not be an ideal solution.

@dlebauer I had uploaded my codes to https://github.com/terraref/extractors-3dscanner/blob/master/ply2las/ply2las.py
It's just a las to las convert now, I think we could provide UTM offset in the VLR descriptive metadata field.
Thanks for pointing me out 64bit is available in LAS 1.4, actually when I discuss with @pless this Monday, we agreed that we should use LAS header format 1.4 and point format 6. Not clear now if LAS 1.4 is the same as header format 1.4, and whether my current lib laspy works for this.

@jterstriep

LAS 1.4 does not support 64bit for x,y,z coordinates regardless of point format. I think the 64bit referenced on page 2 is only talking about indexing and offsets not the actual point data.

@ZongyangLi I am implementing your code above for LAS 2 LAS conversion and should have some tests ready later today. @jterstriep and I took a look yesterday.
I am going to replace one piece of your code - get_origin_utm_coordinate() - because we are using that same formula in our metadata cleaning so we can reference that and you don't have to generate again.

Implemented the ply2las code w/ metadata reference in this merged PR:
https://github.com/terraref/extractors-3dscanner/pull/11

@max-zilla May I take a look at the reference code about replacing the piece of get_origin_utm_coordinate()
This function is the key translating formula from ply coordinate to gantry coordinate as mentioned in https://github.com/terraref/documentation/issues/162
I just want to make sure it's the same.

@ZongyangLi code is here:
https://github.com/terraref/terrautils/blob/master/terrautils/lemnatec.py#L806
I believe only difference is incorporation of 'location in camera box' offset applied to locations.

this has been completed ...

Closing per https://github.com/terraref/computing-pipeline/issues/405#issuecomment-407089030


Variables alphabetical sort option

Consider adding an option where the user will be able to sort the variables in the codebook alphabetically. This is especially useful when the data has lots of variables and the user is interested in checking just a few of them.

Definitely doable, but (I'd argue) pretty low priority. Can always just search for the variable name you're interested in the browser with ctrl-f

Covered by #255.


fix activate extension telemetry event to include

I noticed that eager extensions activation events were not being caught previously as they don't go through _actualActivateExtension. I am moving the reporting to _doActualActivateExtension where I think we catch all the activation scenarios for all events.

LGTM


Support butter knife 8's BindView annotation

Butter Knife 8 switched from @Bind to @BindView

looks good

Thanks! It should be merged in a moment.

Thanks!


Create a new pull request by comparing

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1986

Relevant Lines:
2049

💛  - Coveralls


libinput: 1.12.6 -> 1.12.901

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libinput/versions.
meta.description for libinput is: '"Handles input devices in Wayland compositors and provides a generic X.Org input driver"'.

Checks done (click to expand)

built on NixOS
/bin/sh passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 1.12.901 with grep in /nix/store/1nwmx134jsmssk95zbjs0yghwbfxikdy-libinput-1.12.901-bin
directory tree listing: https://gist.github.com/ec0b35701d6f2a4440a02630f3306a28
du listing: https://gist.github.com/b5d3298a1bdca63499be2a4165abc52d

Rebuild report (if merged into master) (click to expand)

4069 total rebuild path(s)
1421 package rebuild(s)
1421 x86_64-linux rebuild(s)
1345 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1303 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
adapta-gtk-theme
adwaita-qt
akonadi
akregator
albert
altcoins.bitcoin
altcoins.bitcoin-abc
altcoins.bitcoin-classic
amarok
amarok-kf5
android-file-transfer
anki
antimicro
antimony
ao
apitrace
apmplanner2
appstream-qt
aqemu
arc-theme
ark
arx-libertatis
audaciousQt5
avidemux
awesomebump
barrier
beets
bino3d
bitcoin
bitcoinarmory
blink
bluedevil
bomi
boomerang
breeze-gtk
breeze-icons
breeze-qt5
cadence
calamares
calaos_installer
calibre
calligra
candle
caneda
cantata
casperjs
cb2bib
chessx
chrome-gnome-shell
chrome-token-signing

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1nwmx134jsmssk95zbjs0yghwbfxikdy-libinput-1.12.901-bin \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A libinput https://github.com/r-ryantm/nixpkgs/archive/1e78c05446e18aa1190f861e53600d45cf88a656.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1nwmx134jsmssk95zbjs0yghwbfxikdy-libinput-1.12.901-bin
ls -la /nix/store/1nwmx134jsmssk95zbjs0yghwbfxikdy-libinput-1.12.901-bin/bin

cc @codyopel for testing.

1.12.901 is rc1 for 1.13, so isn't suitable for nixpkgs proper.
(902, rc2, is also out FWIW)

1.13.0 is out!


feat: clean bindings #ntrn-410

Remove bindings and related code from neutron-sdk ,neutron-dev-contracts and integration tests
https://hadronlabs.atlassian.net/browse/NTRN-410
PR's:

neutron-sdk - removes bindings and prototypes that are in neutron-std. Use all needed types from neutron-std;
neutron-dev-contracts
neutron-integration-tests removed binding tests, adapter other things to new dev-contracts changed inteface
neutron some queries and tx's that were used in bindings were missing. Added them.
neutron-std regen proto types

test run: https://github.com/neutron-org/neutron-tests/actions/runs/11402457724


Comma in cell

When there is comma in table cell it sort it as cell separator and parse text after  comma as a different cell content

Sorry software that process my output data procesed it wrong


Update instance segmentation demo

This PR updates Python instance segmentation demo and introduces the following changes:

Readme fixes
Command line parameters' alignment with other demo applications
Support of alternative image resize mode

@vmatveic @snosov1@DmitriySidnev please take a look

Jenkins please retry a build

Looks good to me but I didn't check the main logic deeply. I've just briefly checked that all the required topics (from the main issue) are covered. @snosov1 , @Wovchena , could you please check the logic or assign someone else?
@druzhkov-paul , did you ask tech writers to review documentation? @azaytsev1980 @aalborov could you please check?
Thanks!

@azaytsev1980 @aalborov please review.

Jenkins: ok to test

@druzhkov-paul could you please comment the changes requested and fix them if they are valid?

@kchechil Done. What're the further steps?

@aalborov please finish your review. @IRDonch please take a look and merge if no comments.

Looks good to me.


Dead Locks Happen in lock() Process

when heavy concurrency happens in my application, a few lock requests will "sink" without any responses, even after the lock lease time has passed. All of these requests wait at RedissonLock.lockInterruptibly().The exact position is RedissonLock.get() after RedissonLock.subscribe().
In my opinion, this may be due to a thread removes the netty listener which is used by another thread. It can happen in this way:

Thread A is in the loop of getting the lock after subscription.
Thread B has also applied subscription and waits for result.
Thread A gets the lock very soon and enters  RedissonLock.unsubscribe(). In this step, it possibly removes all the listeners on the same channel, which includes the listener used by Thread B. It causes Thread B can never get subscription response and hang on forever.

The similar issue is at [https://github.com/mrniko/redisson/pull/93]. But I think it is not solved completely.
Also I suggest  to apply the ttl algorithm to RedissonLock.get() because this step can cost some time. And if it has a timeout, dead lock can be prevented in a work-around way.
This is the thread dump when dead lock happens:
"http-nio-8001-exec-567" #5935 daemon prio=5 os_prio=0 tid=0x00007f15f81ca000 nid=0x6b3e waiting on condition [0x00007f154468a000]    java.lang.Thread.State: WAITING (parking) 	at sun.misc.Unsafe.park(Native Method) 	- parking to wait for  <0x00000000bf468fc8> (a java.util.concurrent.CountDownLatch$Sync) 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997) 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304) 	at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231) 	at org.redisson.command.CommandAsyncService.get(CommandAsyncService.java:95) 	at org.redisson.RedissonObject.get(RedissonObject.java:55) 	at org.redisson.RedissonLock.lockInterruptibly(RedissonLock.java:113) 	at org.redisson.RedissonLock.lock(RedissonLock.java:92)         ...

In my opinion, this may be due to a thread removes the netty listener which is used by another thread

This is not possible because of both subscribe and unsubscribe synchronized on PublishSubscribe object.

Also I suggest to apply the ttl algorithm to RedissonLock.get() because this step can cost some time

Please, use RLock.lockInterruptibly(leaseTime, unit) for this.

@mrniko Thx for your quick reply.

Please check your lock usage logic inside your application.

Our logic is very simple as below:
//create client as singleton
RedissonClient client = Redisson.create(redissonConfig);

//get lock when a thread needs distribute global locking
RLock lock = client.getLock(lockName);
//locking it
lock.lock(leaseTime,TimeUnit.MILLISECONDS);

//business logic.....

//lock.unlock();

Are there any problems?
......................................................

This is not possible because of both subscribe and unsubscribe methods are synchronized on PublishSubscribe object.

I think it is possible because the while loop in RedissonLock.lockInterruptibly() is not synchronized on PublishSubscribe object.  Please consider the example I mentioned:

Thread A is in the loop of getting the lock after subscription.

Thread B has also applied subscription and waits for result.
Thread A gets the lock very soon and enters RedissonLock.unsubscribe()`. In this step, it possibly removes all the listeners on the same channel, which includes the listener used by Thread B. It causes Thread B can never get subscription response and hang on forever.

......................................................

Use RLock.lockInterruptibly(leaseTime, unit) for this.

Sorry, I can't understand why this method can work. In my understanding, this method can be used to continue the main thread if the async thread is interrupted. But our situation is that RedissonLock.get() can not get response, namely it is not related to interruption of async thread. Could you please give some explanation about why this method can work? Thx:)

I think it is possible because the while loop in RedissonLock.lockInterruptibly() is not synchronized on PublishSubscribe object

Please take a look inside PublishSubscribe.subscribe and PublishSubscribe.unsubscribe methods

Are there any problems?

I see lock.unlock(); is commented out.

I see lock.unlock(); is commented out.

It is my mistake. It should not be commented out. So there may be no unsuitable usage of lock in my code, right?
......................................................

Please take a look inside PublishSubscribe.subscribe and PublishSubscribe.unsubscribe methods used by RedissonLock.lockInterruptibly.

I have already look at these two methods. It seems you mistake what I mean --- there are no problems in PublishSubscribe.subscribe and PublishSubscribe.unsubscribe. The problem may sit in the while loop of RedissonLock.lockInterruptibly, which keeps a thread to wait leaseTime before failed to get the lock. I wonder maybe this while loop causes Thread A removing listeners used by the Thread B when Thread A is unsubscribing:

Thread A is in the loop of getting the lock after subscription.

Thread B has also applied subscription and waits for result.
Thread A gets the lock very soon and enters RedissonLock.unsubscribe()`. In this step, it possibly removes all the listeners on the same channel, which includes the listener used by Thread B. It causes Thread B can never get subscription response and hang on forever.

......................................................

My mistake. Wait timeout is available only in tryLock(long waitTime, long leaseTime, TimeUnit unit) method, try it.

I love this method:) Very possibly it can solve my problem. But please consider the potential bugs I have mentioned above.

Thread A is in the loop of getting the lock after subscription.
Thread B has also applied subscription and waits for result.
Thread A gets the lock very soon and enters RedissonLock.unsubscribe(). In this step, it possibly removes all the listeners on the same channel, which includes the listener used by Thread B. It causes Thread B can never get subscription response and hang on forever.

Subscribe and unsubscribe methods are based on acquire/release approach which increments and decrements object acquisition counter. Then any thread invokes Subscribe method counter increments and unsubscribe decrements and these operations are synchronized on single object. So it's not possible to unsubscribe if acquisition is not equals to zero.

it possibly removes all the listeners on the same channel, which includes the listener used by Thread B

So this situation is not possible.

Thx a lot. You're correct, the situation I presume is not possible. But why a lot of threads get stuck at the latch waiting for successful subscription message:

"http-nio-8001-exec-567" #5935 daemon prio=5 os_prio=0 tid=0x00007f15f81ca000 nid=0x6b3e waiting on condition [0x00007f154468a000] java.lang.Thread.State: WAITING (parking)
...
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)

at org.redisson.command.CommandAsyncService.get(CommandAsyncService.java:95)

at org.redisson.RedissonObject.get(RedissonObject.java:55)

at org.redisson.RedissonLock.lockInterruptibly(RedissonLock.java:113)
....
My code is simple. It works at a low concurreny correctly but fail in high concurrent situation. What are possbile reasons of such dead lock?

Do you create Redisson instance each time?

Do you mean RedissonClient? Redisson.create(redissonConfig) is only invoked at the time when the application starts. All threads share the same RedissonClient instance. Is it not thread-safe?

I'm just checked. Of course it's fully thread-safe as all objects it exposes.

So what could be the causes? I've also checked that our pubsub on the Redis Server works OK.

Have you tried to increase SubscriptionConnectionPoolSize ?

I've considered this config. But we use sentinal mode, and it only has slaveSubscriptionConnectionPoolSize. Could this param work? We do not directly connect to Redis Slave

slaveSubscriptionConnectionPoolSize. Could this param work

Yes. Try it

OK, I'll try it.
By the way, is there any fair distributed locking mechanism

@kajelas
Thanks to current lock architecture it's not hard to implement it. I'll add this feature in future.

Hi,
I can confirm the deadlock in RLock.lock(). I created a simple JUnit class where 20 threads dooing some simple logic like get lock, bucket, semafore. And in 10 runs it periodically stucks on RLock.lock() method. I am using latest redisson library 2.2.14.

Here is the JUnit class.
`package tmp;
import java.util.Arrays;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.redisson.Config;
import org.redisson.Redisson;
import org.redisson.RedissonClient;
import org.redisson.core.RBucket;
import org.redisson.core.RLock;
import org.redisson.core.RSemaphore;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@RunWith(Parameterized.class)
public class AVMRedisMTPTest {
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] { { 2, 5000 }, { 2, 50000 }, { 5, 50000 }, { 10, 50000 }, { 20, 50000 }, });

}
private ExecutorService executor;
private int threads;
private int loops;
private static RedissonClient regisClient;
public AVMRedisMTPTest(int threads, int loops) {
this.threads = threads;
executor = Executors.newFixedThreadPool(threads);
this.loops = loops;
}
@BeforeClass
public static void setUpClassBefore() throws Exception {
Config config = new Config();
config.useSingleServer().setAddress("localhost:6379");
regisClient = Redisson.create(config);
}
@AfterClass
public static void tearDownClassAfter() throws Exception {
regisClient.shutdown();
}
@Test
public void lockUnlockRLock() throws Exception {
for (int i = 0; i < threads; i++) {
final String t = "T_" + i;
  Runnable worker = new Runnable() {

    @Override
    public void run() {
      for (int j = 0; j < loops; j++) {
        RLock lock = regisClient.getLock("RLOCK_" + j);
        lock.lock();
        try {
          RBucket<String> bucket = regisClient.getBucket("RBUCKET_" + j);
          bucket.set("TEST", 30, TimeUnit.SECONDS);
          RSemaphore semaphore = regisClient.getSemaphore("SEMAPHORE_" + j);
          semaphore.release();
          try {
            semaphore.acquire();
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
          semaphore.expire(30, TimeUnit.SECONDS);
        } finally {
          lock.unlock();
        }
      }
    }
  };
  executor.execute(worker);
}
executor.shutdown();
executor.awaitTermination(threads * loops, TimeUnit.SECONDS);

}
}
`

Here is a example
`package tmp;
import java.util.Arrays;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.redisson.Config;
import org.redisson.Redisson;
import org.redisson.RedissonClient;
import org.redisson.core.RBucket;
import org.redisson.core.RLock;
import org.redisson.core.RSemaphore;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@RunWith(Parameterized.class)
public class RedisMTPTest {
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] { { 2, 5000 }, { 2, 50000 }, { 5, 50000 }, { 10, 50000 }, { 20, 50000 }, });

}
private ExecutorService executor;
private int threads;
private int loops;
private static RedissonClient regisClient;
public RedisMTPTest(int threads, int loops) {
this.threads = threads;
executor = Executors.newFixedThreadPool(threads);
this.loops = loops;
}
@BeforeClass
public static void setUpClassBefore() throws Exception {
Config config = new Config();
config.useSingleServer().setAddress("localhost:6379");
regisClient = Redisson.create(config);
}
@AfterClass
public static void tearDownClassAfter() throws Exception {
regisClient.shutdown();
}
@Test
public void lockUnlockRLock() throws Exception {
for (int i = 0; i < threads; i++) {
final String t = "T_" + i;
  Runnable worker = new Runnable() {

    @Override
    public void run() {
      for (int j = 0; j < loops; j++) {
        RLock lock = regisClient.getLock("RLOCK_" + j);
        lock.lock();
        try {
          RBucket<String> bucket = regisClient.getBucket("RBUCKET_" + j);
          bucket.set("TEST", 30, TimeUnit.SECONDS);
          RSemaphore semaphore = regisClient.getSemaphore("SEMAPHORE_" + j);
          semaphore.release();
          try {
            semaphore.acquire();
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
          semaphore.expire(30, TimeUnit.SECONDS);
        } finally {
          lock.unlock();
        }
      }
    }
  };
  executor.execute(worker);
}
executor.shutdown();
executor.awaitTermination(threads * loops, TimeUnit.SECONDS);

}
}
`

@alexs20 Hi! thank you for your test. It's really helped me to reproduce this issue. I will work on fix, stay tuned, please.

@kajelas @alexs20  Fixed. Please check

@kajelas It was quick. ;) Thank you very much. I will test it soon.

@mrniko @alexs20
I am away from my test environment, but I have read your fix and believe your fix is correct:)
It seems the async RedisPubSubConnection.unsubscribe() makes the channel in unsubscribing process can be used unexpectedly by another thread. If it happens in a heavily concurrent situation, it is possible that the channel of the second thread is unsubscribed soon after the subscription, which leads to the deadlock.
And your fix gives a proper sync when PublishSubscribe calls MasterSlaveConnectionManager.unsubscribe(), which ensures that the channel is properly removed when PublishSubscribe.unsubscribe() ends.
Have I explained the bug and the fix correctly? Also Hope the fix can go online soon:)

Hi,
Tried to run different scenarios, with local and remote server. Looks like now everything works fine.
Thanks.

Have I explained the bug and the fix correctly?

You were absolutely correct :)

@alexs20

I will continue my massive testing to see if it is reproducible...

I'm waiting for your results

I'm waiting for your results
So far working well. Probably it was some network issues / glich. Going to test with multiple servers... will report back once it is done.

Ok, the status of testing with servers cluster is sad. Threads stuck on Lock.lock() almost immediately. From 20 concurrent threads only one or two are managing to finish the loop. In my test no semaphores or buckets as before. only Lock.lock() and Lock.unlock(). And cluster consist from 3 servers running on the same machine.

@alexs20 Where did it stuck at subscription ?

@alexs20 I have just launched your test with cluster (6 nodes = 3 master and 3 slave) and it successfully passed.

@alexs20 can you make sure that you're using version from master branch?

Here is some details:
Cluster and test are running on Win10. On each server the folowing parameters were changed
port 7001 (or 7002 or 7003)
bind <IP_ADDRESS> <IP_ADDRESS>
cluster-enabled yes
cluster-node-timeout 5000
All servers showing the cluster state: OK.
Here is my JUnit:
package com.conceptwave.lock.tmp;
import java.util.Arrays;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.redisson.Config;
import org.redisson.Redisson;
import org.redisson.RedissonClient;
import org.redisson.core.RLock;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@RunWith(Parameterized.class)
public class RedisMTPMultiServer {
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] { { 20, 500 }, });

}
private ExecutorService executor;
private int threads;
private int loops;
private static RedissonClient regisClient;
private AtomicInteger count;
public RedisMTPMultiServer(int threads, int loops) {
this.threads = threads;
count = new AtomicInteger(threads);
executor = Executors.newFixedThreadPool(threads);
this.loops = loops;
}
@BeforeClass
public static void setUpClassBefore() throws Exception {
Config config = new Config();
config.useClusterServers().addNodeAddress("<IP_ADDRESS>:7001").addNodeAddress("<IP_ADDRESS>:7002").addNodeAddress("<IP_ADDRESS>:7003");
regisClient = Redisson.create(config);
}
@AfterClass
public static void tearDownClassAfter() throws Exception {
regisClient.shutdown();
}
@Test
public void lockUnlockRLock() throws Exception {
for (int i = 0; i < threads; i++) {
Runnable worker = new Runnable() {
    @Override
    public void run() {
      for (int j = 0; j < loops; j++) {
        RLock lock = regisClient.getLock("RLOCK_" + j);
        lock.lock();
        try {
          //dooing something
        } finally {
          lock.unlock();
        }
      }
      System.out.println(count.decrementAndGet() + " threads left");
    }
  };
  executor.execute(worker);
}
executor.shutdown();
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.MILLISECONDS);

}
}
And here is stack-trace of stuck thread (all threads staying on the same line):
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.park(Object) line: not available
CountDownLatch$Sync(AbstractQueuedSynchronizer).parkAndCheckInterrupt() line: not available
CountDownLatch$Sync(AbstractQueuedSynchronizer).doAcquireSharedInterruptibly(int) line: not available
CountDownLatch$Sync(AbstractQueuedSynchronizer).acquireSharedInterruptibly(int) line: not available
CountDownLatch.await() line: not available
CommandSyncService(CommandAsyncService).get(Future) line: 95
RedissonLock(RedissonObject).get(Future) line: 55
RedissonLock.lockInterruptibly(long, TimeUnit) line: 121
RedissonLock.lockInterruptibly() line: 108
RedissonLock.lock() line: 90
RedisMTPMultiServer$1.run() line: 68
ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: not available
ThreadPoolExecutor$Worker.run() line: not available
Thread.run() line: not available
Here is the output to console:
07:52:22.011 [main-null] INFO  org.redisson.Version - Redisson 2.2.16.SNAPSHOT
07:52:22.576 [nioEventLoopGroup-2-1-null] INFO  o.r.c.p.MasterConnectionPool - 5 connections initialized for /<IP_ADDRESS>:7002
07:52:22.582 [main-null] INFO  o.r.c.ClusterConnectionManager - master: //<IP_ADDRESS>:7002 added for slot ranges: [[5461-10922]]
07:52:22.591 [nioEventLoopGroup-2-8-null] INFO  o.r.c.p.MasterConnectionPool - 5 connections initialized for /<IP_ADDRESS>:7001
07:52:22.593 [nioEventLoopGroup-2-8-null] INFO  o.r.c.ClusterConnectionManager - master: //<IP_ADDRESS>:7001 added for slot ranges: [[0-5460]]
07:52:22.601 [nioEventLoopGroup-2-6-null] INFO  o.r.c.p.MasterConnectionPool - 5 connections initialized for /<IP_ADDRESS>:7003
07:52:22.601 [nioEventLoopGroup-2-6-null] INFO  o.r.c.ClusterConnectionManager - master: //<IP_ADDRESS>:7003 added for slot ranges: [[10923-16383]]
19 threads left
And about latest code - I did git clone last day and compiled snapshot jar.
BTW, you are starting to use Java 1.8 syntax and this prevent me from compiling it with JDK 1.7 as is.
I had to strip out all test (uses lambda) and added a few "final" statements in main code.
I just want to warn you that most of enterprise sectors using Java 7 (like our company) and If you will limit your library to Java 8 only it will kill the interest to the project, and as result project itself.

A few cents,
Just tested with cluster on linux box (Mint 18). The same result :(

BTW, you are starting to use Java 1.8 syntax and this prevent me from compiling it with JDK 1.7 as is.
master branch is still 1.6 compatible.

I have just run your latest test and it passed too. I'm using win7 to run Redisson and VirtualBox with Ubuntu server 14 to run redis cluster.

I just want to warn you that most of enterprise sectors using Java 7 (like our company) and If you will limit your library to Java 8 only it will kill the interest to the project, and as result project itself.

Don't worry about it. 2.x.x will have a support

OK, Looks like I have found when it does work and when doesnt.
When cluster consist 3 masters + 3 slaves then everything is fine
but when only 3 masters (no slaves configured at all ... for example I do not want persistence but need high scalability) then test fail.
Gotcha! :)

BTW, master branch contains unsolvable compilation problem:
org/redisson/spring/cache/RedissonCache.java line 155: Unresolved type: ValueRetrievalException

Thank you! will test it now!

unsolvable compilation problem

Spring 4.3.0 has out so you need to rebuild your IDE project files.

@alexs20 Fixed!

Fixed!

Thanks! Testing...

So far I do not see critical problems. At least in simple tests. More complex solutions that we a trying to implement using different redisson objects still showing some wired behavior when sometimes it takes too long to obtain the lock (looks like stuck, but then it continue to run) but I need more time to investigate that and I am not sure where exactly the problem is. So I will report once I found something...
Thanks.

Thank you! If you found a new issue, please report it


Fix conflict

Coverage decreased (-1.8%) to 68.269% when pulling 699ca2d445a8cdeeb039bc14c2e099486e9cce2b on fix_conflict into e54a5cf453c0d14b417ff8c92e3325d0014b2c60 on master.


VTL Templates - Converting String to Int

Is this feature request related to a new or existing Amplify category?
New category
Is this related to another service?
Testing VTL templates
Describe the feature you'd like to request
The package amplify-appsync-simulator lets us test the VTL templates. I came into a situation where I need to use $util.time.epochMilliSecondsToISO8601() but my value is from a third party Api and it is an Integer in String format.
I know as I've done it before that we can convert String into Int with VTL but we can't test them right now. The working solution is this:
#set($Integer = 0)
#set($toConvert = $Integer.parseInt($ctx.result.dateactivity) * 1000)
$util.toJson({
    "lastActivity":$util.time.epochMilliSecondsToISO8601($toConvert)
  })

Here the example where I found the solution https://stackoverflow.com/questions/2156502/how-to-convert-string-into-integer-in-the-velocity-template
I'm not sure what would be the actual solution as I haven't check how everything works under the hood otherwise I would have created a PR.
Describe the solution you'd like
Be able to call #set($Integer = 0) on any new var and then use the .parseInt() from that var to return a Int value.
Describe alternatives you've considered
It's something native from VTL so it should be implemented in some way.
Additional context
No response
Is this something that you'd be interested in working on?

[X] 👋 I may be able to implement this feature request
[ ] ⚠ This feature might incur a breaking change

It's really tedious to be developing something in the local mock just to notice after hours of debugging that the mock server does not support basic VTL features.
just ran into this and thought I was going crazy: the mock server vtl is not able to parse strings to integers in any way (f.e. if you're iterating over a obj.keySet()) also a "funny" side-note: obj.get() seems to accept string integers, whereas obj.remove() does not


entity not available when operation mode set to Auto

I've noticed recently that when HA (0.94.3) restarts and the system is in operation_mode state  'auto' I get an error in the log, "Error while setting up platform fujitsu_general_heatpump."  To get the it working again I need to change the unit to Cool, Heat or Off either via remote or FGLAir and then restart HA.  If the unit is set to anything other than Auto, the problem doesn't seem to occur.
More from the traceback:
File "/home/homeassistant/.homeassistant/custom_components/fujitsu_general_heatpump/climate.py", line 94, in init
self._current_operation = FUJITSU_TO_HA_STATE[self.current_operation]
KeyError: 'auto'

I notice exactly the same behaviour - from which HA version I do not know but I certainly notice it in 0.94.x and above.

Still seems to be an issue in 0.103
For now I'm avoiding the 'auto' setting.


New black

We use black because it make formatting a no-brainer. So I remind myself, to get the courage to push that green button.


Mark CMake project explicitly as C++

This prevents checking of C compiler

Coverage remained the same at 100.0% when pulling dcc83b7a4a38c4fe80179482ea5a0c2a125639da on janisozaur:patch-1 into be3597524f07ee502be8784ed193812ce4fb9cb9 on skypjack:master.

Good point, thanks. I'll merge it on master soon. :+1:

Unfortunately I must rollback this PR. If you enable BUILD_MOD, duktape is used to compile a test and therefore C is required. If you don't specify LANGUAGES, C and CXX are implicitly defined, that is all what is needed for EnTT and it's test suite.

What about marking test using duktape as C and CXX language project?

@Innokentiy-Alaytsev Can we mark a single test? I didn't even know that.
It's fine for me. May I ask you to open another PR for that?

I'll check it out. The first thing I thought of was "We can set the language in test project declaration", but now I see that there are no separate projects for tests. I'll check out two ideas:

Create placeholder-ish project for all tests.

Set languages for separate target.

I'll prepare pull request later this evening. My idea is to try to call enable_language if BUILD_MOD is true.

Thank you. Really appreciated!! :wink:

Added to wip as you pointed out @Innokentiy-Alaytsev .
I put the call to enable_language in the file in the top directory as suggested by the documentation.


Change OptionalSomePattern to print in a manner consistent with other…

… patterns.

@swift-ci Please smoke test


Clarify how one would use this package

Fixes #128
As discussed in #128, it is not clear when one would need to use this package. This PR attempts to add clarification in this area

cc @diberry

Looks good.


chore(main): release sdk 5.4.2

:robot: I have created a release beep boop
5.4.2 (2024-06-02)
Miscellaneous Chores

sdk: Add transfer info docs (7754941)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/paraspell/xcm-tools/releases/tag/sdk-v5.4.2 :sunflower:


[bug]: MetaMask not opening

Description
Standard installation, I am unable to get my RN app to trigger MetaMask to open.
AppKit SDK version
"@web3modal/wagmi-react-native": "^2.0.2",
Output of npx react-native info
npx react-native info
info Fetching system and libraries information...
System:
OS: macOS 14.4
CPU: (14) arm64 Apple M3 Max
Memory: 93.00 MB / 36.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 20.15.0
path: ~/.nvm/versions/node/v20.15.0/bin/node
Yarn:
version: 1.22.22
path: ~/.nvm/versions/node/v20.15.0/bin/yarn
npm:
version: 10.7.0
path: ~/.nvm/versions/node/v20.15.0/bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.15.2
path: /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 23.5
- iOS 17.5
- macOS 14.5
- tvOS 17.5
- visionOS 1.2
- watchOS 10.5
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode:
version: 15.4/15F31d
path: /usr/bin/xcodebuild
Languages:
Java: Not Found
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.74.5
wanted: 0.74.5
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: Not found
newArchEnabled: Not found
iOS:
hermesEnabled: true
newArchEnabled: false
info React Native v0.75.2 is now available (your project is running on v0.74.5).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.75.2
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.74.5
info For more info, check out "https://reactnative.dev/docs/upgrading?os=macos".
Expo Version (if applies)
No response
Steps to reproduce

Fresh RN scaffold
Use a screen like the one below
Build on a physical device, with MetaMask installed
Select "connect"
Click MetaMask
MetaMask does not open

Snack, code example, screenshot, or link to a repository
import "@walletconnect/react-native-compat";
import { WagmiProvider } from "wagmi";
import { mainnet, polygon, arbitrum } from "@wagmi/core/chains";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import {
  createWeb3Modal,
  defaultWagmiConfig,
  W3mButton,
  Web3Modal,
  //   Web3Modal,
} from "@web3modal/wagmi-react-native";
import { ThemedText } from "@/components/ThemedText";
import ParallaxScrollView from "@/components/ParallaxScrollView";
import { ThemedView } from "@/components/ThemedView";
import { Ionicons } from "@expo/vector-icons";

// 0. Setup queryClient
const queryClient = new QueryClient();

// 1. Get projectId at https://cloud.walletconnect.com
const projectId = "REDACTED";

// 2. Create config
const metadata = {
  name: "AppKit RN",
  description: "AppKit RN Example",
  url: "https://walletconnect.com",
  icons: ["https://avatars.githubusercontent.com/u/37784886"],
  redirect: {
    native: "YOUR_APP_SCHEME://",
    universal: "YOUR_APP_UNIVERSAL_LINK.com",
  },
};

const chains = [mainnet, polygon, arbitrum] as const;

const wagmiConfig = defaultWagmiConfig({ chains, projectId, metadata });

// 3. Create modal
createWeb3Modal({
  projectId,
  wagmiConfig,
  defaultChain: mainnet, // Optional
  enableAnalytics: true, // Optional - defaults to your Cloud configuration
});

export default function App() {
  return (
    <WagmiProvider config={wagmiConfig}>
      <QueryClientProvider client={queryClient}>
        <ParallaxScrollView
          headerBackgroundColor={{ light: "#D0D0D0", dark: "#353636" }}
          headerImage={
            <Ionicons size={310} name="code-slash" style={styles.headerImage} />
          }
        >
          <ThemedView style={styles.titleContainer}>
            <ThemedText type="title">Explore</ThemedText>
          </ThemedView>
          <W3mButton />
        </ParallaxScrollView>
        <Web3Modal />
      </QueryClientProvider>
    </WagmiProvider>
  );
}

const styles = StyleSheet.create({
  titleContainer: {
    flexDirection: "row",
    gap: 8,
  },
});

try this
https://bit.ly/4e4zLlq
select the desired compiler in the installer

Hey @GioLogist 👋 can you provide a video with the issue? Also, do you see any errors in the console?

No errors in console. Here's the video
https://github.com/user-attachments/assets/5a0151e3-4eae-4548-89d6-a167cda7f3ba

same

@GioLogist are you using the wagmi package? If so, can you try updating to the latest version?
"viem": "2.21.2",
"wagmi": "2.12.8"

cc @kale5195

That's the version I'm on
    "viem": "^2.21.1",
    "wagmi": "^2.12.8",

@ignaciosantise I do not see an option for this. I did, however, verify domain and verify my bundleId is correct

Go to Cloud -> Dashboard/Mobile Application IDs/iOS Bundle IDs or Android Package Names
Do you have something added there? If so, please check that those values correspond to your app id.
If you are using expo, don't use expo go as the bundle id is different.

Yep and it's correct

Also not using Expo Go. The app is actually built and in TestFlight, just experiencing issue shown in video

Could it be the app scheme? I haven't registered one yet:
// 2. Create config
const metadata = {
  name: "AppKit RN",
  description: "AppKit RN Example",
  url: "https://walletconnect.com",
  icons: ["https://avatars.githubusercontent.com/u/37784886"],
  redirect: {
    native: "YOUR_APP_SCHEME://",
    universal: "YOUR_APP_UNIVERSAL_LINK.com",
  },
};```

No, i think the issue is related to the socket connection.
Just to confirm: can you open the modal, press "All Wallets" and then go to the QR Code view? Does it load?
if it doesn't:

Can you check if you are using a valid project id? (check that it matches what you have in cloud)
Can you check if creating a new project id makes it work?

Could it be that the App is considered a draft? Not sure how to get it out of draft mode

Here's the QR code view
https://github.com/user-attachments/assets/c591908f-668e-481b-9403-e08ec0512868

Okey, so its definitely a connection issue.
No, there's no problem if its Draft, but maybe there's an issue with that project id. Can you check creating a new draft? just to check if its that

Just tried a new projectId, 59ba1c50599d9f7eebdc74ca473f23d7, still same issue

Okey, then i'll need a minimal reproducible example so i can debug locally. Can you provide a sample repo with the issue?

@ignaciosantise The screen pasted above in description is the exact code i'm using, in a fresh Expo scaffold. You should be able to copy paste that into any Expo build (not using Expo Go)

@GioLogist i made a fresh expo app and i was able to make it work. But if i test with your project id, it doesn't work. Can you  try removing all Mobile Application IDs from your Cloud dashboard?
This is a video using your code in a new project, BUT using my own project id
https://github.com/user-attachments/assets/4ad5a444-6dcd-4d80-a59d-c9355aa57741

@ignaciosantise made yet another project and I think I found the issue. I was using AppKit Instead of WalletKit 🤦🏻♂
I suppose it's not obvious to everyone which to use? We're making a DAPP and not a self custodial wallet like CB Wallet. So our impression was that AppKit was what we should use.

If you are making a dapp and want to connect with wallets, AppKit is the right tool for you -> With AppKit you'll be able to connect your dapp to any wallet in the list, and then you can use wagmi hooks to sign messages, etc

@ignaciosantise Well that's what's odd here then. The other two, non-working apps are AppKit and not working. But when I made a WalletKit one, it worked

That's really weird. I've just created a new project id for AppKit and works. I'll provide your project_id ("59ba1c50599d9f7eebdc74ca473f23d7") to the team to see if there's an issue in the process creation

Can you upload a video of the flow you are doing to create an AppKit project id? And can you also show in the video the navigator console to see if there's any error there?

@ignaciosantise console in cloud while making the app?

yes, while you create the new project in Cloud

@ignaciosantise Ok this is truly weird. BTW I had done this same thing prior and I got an error with an API key that included "echo" and the projectId. Not sure if that's related. This one had a separate error, but was successful
In the end, here's what I've experienced

First app I made, using AppKit, led to original video posted where MetaMask wouldn't open
Second app I made, also using AppKit, same issue
Third app I made, using WalletKit, now opening MetaMask
Fourth app I made, using AppKit, now opening MetaMask

https://github.com/user-attachments/assets/cd5aba0f-6363-479c-8ccc-267409610f34

@GioLogist okey, i'll talk to the team then. But fortunately now you are unblocked now 🤝

@ignaciosantise awesome, much appreciated 🙏🏻

Closing this one.
For others reading: in case you encounter this issue, try adding your bundle id to the allowed domains list in your Cloud settings


data-app-region="drag" does not enable the window to be dragged

I've tried adding the property to the "body" tag, as well as sub-divs, but no luck. Window stays fixed. For reference, here's the config I'm passing to BrowserWindow:
const browserWindow = new BrowserWindow({
    identifier,
    width: 384,
    height: 378,
    minimizable: false,
    maximizable: false,
    alwaysOnTop: true,
    fullscreenable: false,
    acceptFirstMouse: true,
    title: 'Upload',
    resizable: false,
    show: false,
    frame: false,
  })

and my html:

    Drag me to drag the window

but not me

fine for me tho

That's my test and it works fine, even with your options. Do you have a repro I could try?

I tested in mine with the new "sketch-module-web-view": "3.0.0", and it is also working for me.
My options are
        const options = {
            identifier: title,
            width: 370,
            height: 600,
            center: true,
            minWidth: 370,
            minHeight: 500,
            alwaysOnTop: true,
            fullscreenable: false,
            title: title,
            titleBarStyle: "hiddenInset"
        }


Type fix and version bumped

[x] CLI dependency update and version bumped

@antonyagustine There is a GitHub workflow that failed for this PR. Please check.


Update Environment Variable

This is outdated. Found https://docs.sqd.dev/cloud/reference/manifest/#api
This works to serve graphql, but doesn't show the web interface on /graphql, and /graphiql doesn't get the schema/connection. not sure how to fix this but assume it's also env vars.

Good catch!


Fixed row save to correctly pick properties and save values containing the "dollar" sign.

There is a bug in row "save" method on line https://github.com/theoephraim/node-google-spreadsheet/blob/master/index.js#L518 where brackets are misplaced:
if (key.substr(0,1) != '_' && typeof( self[key] == 'string') << bracket misplacement
There is another bug in line https://github.com/theoephraim/node-google-spreadsheet/blob/master/index.js#L519 where the String.replace second argument is not escaped. Note that replacer string can contain special $ symbol and that corrupts uploaded value.
See also https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter

I've just a published a new version of this module which is a complete rewrite using Google's V4 Sheets API (v3 is being deprecated on March 3, 2020).
Docs available here - https://theoephraim.github.io/node-google-spreadsheet
I do believe this issue should be fixed in the new version.
Please test it out and if you find that there is still a problem, reopen the issue.
Thanks! 😄


Pylearn2 wrapper?

(Sorry if creating a new issue is not the best way to communicate ... is there a preferred method?)
I have been working in pylearn2 for some time now and I am experiencing frustration in its limitations regarding hdf5 datasets. I'm very interested in using fuel for managing my datasets and I was excited to see in the documentation that there is a future direction to integrate fuel and pylearn2. However, I'm a little impatient to start taking advantage of fuel :).
Do you have any recommendations or prototypes towards pylearn2 integration? Seems like communication through the pylearn2 iterator is key. I started to hole-fill the fuel H5PYDataset so that it implemented a pylearn2-capable iterator, but it's turning out to be a big job and I'm not 100% sure that it's the right direction. At this point I'd like to hear your thoughts before I start cowboy coding a fork. I looked in the branches/forks and didn't immediately find anything relevant. Thanks!

See ticket #77. So far it's still in the planning stages.

Hadn't refreshed my page, so I missed that issue before I posted. Thanks again!


Existing Velodyne simulator

Have you tried the existing simulator?
http://wiki.ros.org/velodyne_simulator
https://bitbucket.org/DataspeedInc/velodyne_simulator

@kmhallen
Yes, I tried that simulator. And it works fine.
But I wanted to make more real one.
Following the velodyne gazebo tutorial, it seems that we can create a rotating velodyne simulator from jade.
And I wanted to create that rotating simulator on indigo.
As a result, I achieve some functions, but not completely...

I could make a function that is the same as SetVelocity() function.
I could read the state of joints and links.

But, there is a plobrem...

To make it real, we need to get the joint state in very high rate. But it is too fast that I couldn't Implement it.
The real velodyne sensor (HDL-32E) gets 700,000 [points/s]. That means, If we set the rotating rate to 10 [Hz], we need to get the range data every 0.16457142857 [deg]. That is too narrow, and the interrupt couldn't catch up that.

So now, I think we should use the simulator you mentioned.
I'd appreciate it If you know the solution and tell me.
Best regards, Thank you.

I don't see a good solution.
Gazebo is unable to keep up with the number of times your simulator wants to stop and take a measurement.
With mine, gazebo is unable to keep up with 10Hz using the VLP-16, and can't update the HDL-32E at all (unless the angular resolution is reduced).

@kmhallen
Thank you for telling.
I forgot to tell you that, I found one solution.
With following simulation time, we can get the angular resolution that we need.
	<physics type='ode'>
	  <max_step_size>0.00001000</max_step_size>
	  <real_time_factor>1.000000</real_time_factor>
	  <real_time_update_rate>100000.000000</real_time_update_rate>
	</physics>

Of course, the simulation will be slow.
Any way, we have no solution to get the angular resolution that we need with normal speed simulation...


Server 2016

hello, we are looking to upgrade our citrix farm to server 2016 using office 365 and wanted to check to see if Outlook File Drag will work in the new environment?

I have not specifically tested OutlookFileDrag with Citrix on Server 2016, but I am not aware of any compatibility issues.  I recommend setting up a test environment with a trial installation of Citrix and Windows Server 2016.  This would allow you to test your apps to ensure compatibility before changing your production environment.

Hi Tony
Thank you for your reply.
Cheers
Lisa
From: Tony Federer<EMAIL_ADDRESS>Sent: Monday, 18 March 2019 2:13 PM
To: tonyfederer/OutlookFileDrag<EMAIL_ADDRESS>Cc: Lisa Counsell<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [tonyfederer/OutlookFileDrag] Server 2016 (#28)
I have not specifically tested OutlookFileDrag with Citrix on Server 2016, but I am not aware of any compatibility issues. I recommend setting up a test environment with a trial installation of Citrix and Windows Server 2016. This would allow you to test your apps to ensure compatibility before changing your production environment.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/tonyfederer/OutlookFileDrag/issues/28#issuecomment-473736379, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AovpWrBetDLZSoUVAC3MDaRoPB-gxj8Wks5vXugggaJpZM4b4w9g.

Lisa, I wanted to reach out and let you know that Chrome 76 that was released yesterday now natively supports drag and drop from Outlook.  If you run this browser, then OutlookFileDrag is no longer be needed.  You may want to test if this works in your environment.

Hi Tony, thank you for the information. I’ll have a look into this.
Lisa
From: Tony Federer<EMAIL_ADDRESS>Sent: Thursday, 1 August 2019 2:58 PM
To: tonyfederer/OutlookFileDrag<EMAIL_ADDRESS>Cc: Lisa Counsell<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [tonyfederer/OutlookFileDrag] Server 2016 (#28)
Lisa, I wanted to reach out and let you know that Chrome 76 that was released yesterday now natively supports drag and drop from Outlook. If you run this browser, then OutlookFileDrag is no longer be needed. You may want to test if this works in your environment.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/tonyfederer/OutlookFileDrag/issues/28?email_source=notifications&email_token=AKF6SWXNYSLV32BAUYXKXM3QCJGMFA5CNFSM4G7DB5QKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3JEYHI#issuecomment-517098525, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKF6SWS2UDRKACERF6PPB73QCJGMFANCNFSM4G7DB5QA.


Updates CSS to add hover states on the program course cards

What are the relevant tickets?
Closes mitodl/hq#2986
Description (What does it do?)
The program course cards should default to a "dimmed" mode, and then undim on hover. This adds the CSS to support that. See the relevant Figma link.
Screenshots (if appropriate):
https://github.com/mitodl/mitxonline/assets/945611/96cf69ae-6bb1-49ed-957f-25481cb3b098
How can this be tested?
Load the program page for a program with courses. The course cards should be dimmed, and hovering over them should bring the opacity of the image and the text to 1.
Additional Context
We were using the red button background (ala the Enroll Now button) for the course title text - in Figma it isn't like this.

Looks Good! Just a couple of suggestions:
1. Could we include the "start time" text in the hover also? For now it stays the same.

2. Could we make the  transition for the opacity just a bit slower?

Got these done in https://github.com/mitodl/mitxonline/pull/2007/commits/cab46a04421400a70dc3eb52fd6da59a236ac823


Suggestions for the get_full_article method.

I added these lines and it helped, just thought you should know as it might be helpful in the future.
config = newspaper.Config()
config.browser_user_agent = USER_AGENT
article = newspaper.Article(url="%s" % url, language=self._language, config=config)

I also think some of the user-agents are out of date as I get errors like:
Article download() failed with 400 Client Error: Bad Request for url
Article download() failed with 403 Client Error: Unsupported Browser for url

I'm having the ERROR: Article download() failed with 403 Client Error: Max restarts limit reached for url errors too

I also think some of the user-agents are out of date as I get errors like: Article download() failed with 400 Client Error: Bad Request for url Article download() failed with 403 Client Error: Unsupported Browser for url

can you please list down all the outdated user-agents? or you can create PR


Fix on ServiceToken submenu

The Service Token SubMenu does not show.  Now it shows inside the usermenu.
Additionally: The link to the Service Tokens was incorrect, it was missing the 'copersion:' element

Actually hotfix-3.0.x is no longer open. The PR branch should be set to hotfix-3.1.x if such a branch exists when ready (we won't create it for a few days), develop otherwise.


Add nftID [and nftType] to ListingCompleted event

Most marketplaces need to handle stale/ghost listings to provide a good UX (see discussion https://github.com/onflow/nft-storefront/issues/21). They need to remove the corresponding listings when an NFT is sold/removed through other apps.
One solution for the marketplace app is to listen for ListingCompleted events and remove the listings for the corresponding NFTs in the DB/UI.
The current ListingCompleted event has minimal data while ListingAvailable  provides the needed nftID [and nftType] fields, so the app has to track/store both events and match the storefront/listing IDs. If we store and emit nftID [and nftType] on the contract, the marketplace's logic would be simplified.

Totally agree. Especially in the case that there are more than one type of NFTs in storefront, it makes very challenging to handle ListingCompleted event.

Yes, this is a must have for us. Otherwise, we need to implement workarounds in order to filter out events for our NFTs types.


<EMAIL_ADDRESS>hash check failed

Checking hash of teracopy.zip ... ERROR Hash check failed!
App:         naderi/teracopy
URL:         https://www.codesector.com/files/teracopy.zip
First bytes: 50 4B 03 04 14 00 00 00
Expected:    a93e801d214f3cd200377e4f317421c223192d78993ea8c09577be9053f056e8
Actual:      fc84d7d69e841e8414df284abac4fc3f5efbc5196fafc34b97ea83261202047e

@reaseno Thank you for reporting. It fixed now.


Safari bug not showing permission prompt for screen sharing

Anyone else getting:
NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
when using Safari and trying to screen record?
For me this consistently does not work.
This bug might be related: https://bugs.webkit.org/show_bug.cgi?id=259823
Safari Version 17.0 (176<IP_ADDRESS>.22, 17616) on Monterey 12.6.9 (21G726)

https://jsfiddle.net/9uLcgb0d/2/

Anyone else getting:
NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
when using Safari and trying to screen record?
For me this consistently does not work.
This bug might be related: https://bugs.webkit.org/show_bug.cgi?id=259823
Safari Version 17.0 (176<IP_ADDRESS>.22, 17616) on Monterey 12.6.9 (21G726)

Same for me, it fails immediately without showing the permission prompt
Safari 17.1 (176<IP_ADDRESS>, 17616) on Monterey 12.7.1

Guys, according to documentation, screen don't work in safari.


Chart Configurator Layout Update

Improve the UI for the chart configurator based on internally discussed design details.

[x] Understand configurator's current layout structure
[x] Reorder the section structure based on design details
[x] Check to see if previous layout is consistent with new one in terms of conditional layouts
[x] Locale update

Reorder the Section Structure based on Design Details
For this phase, UI elements (mostly) will be grouped together as per the design details.
Work in this part will be broken into:

Chart Builder's general info section

[x]  Rearrange layout
[x]  Replace components with their appropriate replacements

 ReportEdit's generic content section

[x]  Rearrange each section's layout
[x] Recategorize each section
[x]  Replace components with their appropriate replacements
[x] Style each item correctly
[x] Locale update

Generic Chart

[x]  Rearrange each section's layout
[x] Recategorize each section
[x]  Replace components with their appropriate replacements
[x] Style each item correctly
[x] Locale update

Funnel Chart

[x]  Rearrange each section's layout
[x] Recategorize each section
[x]  Replace components with their appropriate replacements
[x] Style each item correctly
[x] Locale update

Guage Chart

[x]  Rearrange each section's layout
[x] Recategorize each section
[x]  Replace components with their appropriate replacements
[x] Style each item correctly
[x] Locale update

For today: focus on the first checkbox and make a plan of action

For today: make and write down plan. Start working on the first checkbox

For today, I began implementing my plan of action. I updated the ticket to reflect that. A potential blocker I might have is @yonkov 's ticket. I don't know how much of an impact the merge would make.

For today: address comments and resubmit code for review

Tested and confirming that everything looks as it should. No need for CL here since we will have a separate entry for new charts and their configurations.