[🐛] Picking MOV videos has a significant delay on iOS

Description
launchImageLibrary takes infinitely long time to resolve the promise for MOV videos
How to repeat issue and example

Record a video from iPhone
Pick it
Observe the delay

Solution
Is there a way to avoid it, or it's a generic limitation of the platform?
Additional Information

Image Picker version: 7.1.0
React Native version: 0.72.7
Platform: iOS

Related to #2101 #2117

+1

Also seeing this on certain devices

I was facing the same issue I switched to https://www.npmjs.com/package/react-native-image-crop-picker librar

Issue happens in this block of code
[provider loadFileRepresentationForTypeIdentifier:(NSString *)kUTTypeMovie completionHandler:^(NSURL * _Nullable url, NSError * _Nullable error) {
                NSDictionary *mappedAsset = [self mapVideoToAsset:url phAsset:asset error:nil];
                if (nil != mappedAsset) {
                    assets[index] = mappedAsset;
                }
                dispatch_group_leave(completionGroup);
            }];

Delay happens because the picker is transcoding the video on the fly.
To skip transcoding, picker configuration PHPickerConfigurationAssetRepresentationModeCurrent should be added,
like this
PHPickerConfiguration *configuration = [ImagePickerUtils makeConfigurationFromOptions:options target:target];
            configuration.preferredAssetRepresentationMode = PHPickerConfigurationAssetRepresentationModeCurrent;
            PHPickerViewController *picker = [[PHPickerViewController alloc] initWithConfiguration:configuration];

If the the authors of this repo could add this line of code, it would help a lot of people
Thanks!

Issue happens in this block of code
[provider loadFileRepresentationForTypeIdentifier:(NSString *)kUTTypeMovie completionHandler:^(NSURL * _Nullable url, NSError * _Nullable error) {
                NSDictionary *mappedAsset = [self mapVideoToAsset:url phAsset:asset error:nil];
                if (nil != mappedAsset) {
                    assets[index] = mappedAsset;
                }
                dispatch_group_leave(completionGroup);
            }];

Delay happens because the picker is transcoding the video on the fly. To skip transcoding, picker configuration PHPickerConfigurationAssetRepresentationModeCurrent should be added, like this
PHPickerConfiguration *configuration = [ImagePickerUtils makeConfigurationFromOptions:options target:target];
            configuration.preferredAssetRepresentationMode = PHPickerConfigurationAssetRepresentationModeCurrent;
            PHPickerViewController *picker = [[PHPickerViewController alloc] initWithConfiguration:configuration];

If the the authors of this repo could add this line of code, it would help a lot of people
Thanks!

Great, I tried this and the performance improved a lot

Issue happens in this block of code
[provider loadFileRepresentationForTypeIdentifier:(NSString *)kUTTypeMovie completionHandler:^(NSURL * _Nullable url, NSError * _Nullable error) {
                NSDictionary *mappedAsset = [self mapVideoToAsset:url phAsset:asset error:nil];
                if (nil != mappedAsset) {
                    assets[index] = mappedAsset;
                }
                dispatch_group_leave(completionGroup);
            }];

Delay happens because the picker is transcoding the video on the fly. To skip transcoding, picker configuration PHPickerConfigurationAssetRepresentationModeCurrent should be added, like this
PHPickerConfiguration *configuration = [ImagePickerUtils makeConfigurationFromOptions:options target:target];
            configuration.preferredAssetRepresentationMode = PHPickerConfigurationAssetRepresentationModeCurrent;
            PHPickerViewController *picker = [[PHPickerViewController alloc] initWithConfiguration:configuration];

If the the authors of this repo could add this line of code, it would help a lot of people
Thanks!

Unfortunately there is also a delay on Android. Is there any way to fix it?

Add Options assetRepresentationMode with current will also resolve this issue.


chore(test): bump django-allauth to 0.62.1

Bumps tests to support django-allauth 0.62.1.
Also fixes some incidental test breakages that came with the version bump.
Fixes #626.

@gekoke Can you also integrate the changes listed here? https://github.com/iMerica/dj-rest-auth/commit/0a2023624cc46e043f2936fcf18882d8b1ae885b -- particularly the get_scope() poses any issue.

Done in 3342e05.
Where our changes diverge, I went with yours - that is:
modified   dj_rest_auth/tests/test_serializers.py
@@ -120,10 +120,7 @@ class TestSocialLoginSerializer(TestCase):
     def setUpTestData(cls):
         cls.request_data = {"access_token": "token1234"}
         cls.request = APIRequestFactory().post(cls.request_data, format='json')
-
-        middleware = SessionMiddleware(get_response=MagicMock())
-        middleware(cls.request)
-
+        cls.request.session = {}
         social_app = SocialApp.objects.create(
             provider='facebook',
             name='Facebook',
@@ -153,7 +150,7 @@ class TestSocialLoginSerializer(TestCase):
         serializer.is_valid()
         self.assertDictEqual(serializer.errors, self.NO_ADAPTER_CLASS_PRESENT)

-    @patch('allauth.socialaccount.providers.facebook.views.FacebookOAuth2Adapter.complete_login')
+    @patch('allauth.socialaccount.providers.facebook.flows.complete_login')
     @patch('allauth.socialaccount.adapter.DefaultSocialAccountAdapter.pre_social_login')
     def test_immediate_http_response_error(self, mock_pre_social_login, mock_fb_complete_login):
         dummy_view = SocialLoginView()

All tests pass on 3342e05.

@gekoke We also need this change: https://github.com/pennersr/dj-rest-auth/commit/4f6ca7664bb22c44d95a8c91714f1802d5c2a184 -- for the upcoming new allauth headless functionality several internals to which dj-rest-auth hooks up are changed.

@pennersr Done in 7eb2ec9

Anything we can do to help expedite this PR?

Anything we can do to help expedite this PR?

willing to help as well.

Merged in latest changes and fixed linting error, but there are still some failing tests related to dependencies.

b53265d doesn't seem right to me, it reverts a hunk from 3342e05


Update deps and unpin minor version updates

Closes: https://github.com/keiranmraine/pidlock/issues/9

thanks for this @sayanarijit I've completed the formal release via gitflow process (I use datasifts git hf extensions).
I've recently started working more with github-action and auto publishing to pypi based on the release process.  I'll try to find some time to sort this and detail the process on the README.  Should probably handle the master->main branch naming switch too.


Fix case sensitivity in 'copy_source' command while specifying space name.

Fix for https://github.com/cloudfoundry/cli/issues/1605
Description of the Change
The copy_source command currently is case-sensitive. As described in the linked Github bug, the CLI is sensitive to the case of the space name. Also, upon further notice, the CLI seems to output the targetSpace and targetOrg as such based on the case entered by the user instead of showing the actual names of the space/org.
The current change addresses the case-sensitive space name issue and also prints the actual space and org name during execution.
Why Is This PR Valuable?
Although this PR is tiny, it makes sure all users that make use of copy-source command  get to see the right space and org details regardless of the case in which they typed in(if the space/org exists) & get to see the error if not.
Applicable Issues
Fixes https://github.com/cloudfoundry/cli/issues/1605
https://www.pivotaltracker.com/story/show/165097075

One of the tests might fail due to https://github.com/hemchander23/cli/blob/dev/cf/commands/application/copy_source.go#L134
since the actual org-name may / may not be equal to the one that the user provided (in terms of case)
the test passes if targetOrgName = targetOrg which defeats the purpose of getting the actual org name & from my perspective the org/space that is shown has to correspond to the actual ones.
Pl. correct me if i am wrong.

Hi @hemchander23 thanks for creating this pull request! Appreciate the help for this issue. We will try to get back to you as soon as we can with feedback on your pr. Thanks again.

Thanks @abbyachau ! Will be glad to hear the feedback. Will incorporate the changes accordingly.  :)

Hi @hemchander23 thanks again for this. Regarding the following:
the CLI seems to output the targetSpace and targetOrg as such based on the case entered by the user instead of showing the actual names of the space/org.

Please could you expand on this, and perhaps provide an example of the issue and the desired change. Thanks.

Hi @abbyachau
When I execute the command, it displays the org and space name as such while the actual names could be different (just case-wise)
the PR ensures that the names displayed post-execution in the logs show the names as seen while running a cf spaces orcf orgscommand
Before the change

after the change

Hi @abbyachau Lemme know if any additional changes need to be done. Would be happy to help ! :)

Hi @hemchander23 !
Thanks so much for this pull request, and apologies for the delay in responding!
First, the basis of your solution (using EqualFold in our string comparison) looks great.  We'd prefer if you kept the logic for finding the Space in findSpaceGUID().  Although no other code calls into this method, we believe it improves the readability of the already fraught Execute() :)
Next, it would be great if you could run the unit tests prior to pushing your change.  It looks like something broke (see the Travis CI build in this PR).
Finally, we wouldn't be able to merge this change without added unit tests that exercise the expected behavior around capitalization.  It it were us, we would probably add a "happy path" test here that would confirm that we can find a space without matching capitalization. This test would fail given the current implementation, and would pass given your fix.
Finally FINALLY (heh) it would be doing us a favor if you could squash your commits so that the merge will result in a "single" change.  And, if we're honest, it'll make Brendan feel better :)
Thanks again!
Steve && @bwasmith

Hi @hemchander23 ,
We are going to move forward on a fix for this issue.
We will use your suggested change. But, given the lack of revisions to original PR and the state of our unit tests, we cannot merge the changes as written.
We plan to make these changes ourselves and close this PR. Please respond ASAP if you plan on addressing our requested changes soon.
Again, apologies for our initial delay in response. We hope that you continue to make contributions to the cf-cli!
Best,
Brendan

Hi @hemchander23,
Thanks very much for your PR! We made a similar change which is now on master and should be
in the next release of the CLI.
Thanks for contributing to the CF CLI!


8.5.4 - Logout session serialization error

Hello,
I have updated a Concrete 8.5.2 site to 8.5.4. This is a multilingual site and when I try to logout an error occurs. This only happens we the language switch block is being used. The problems starts in the block controller view method. Where it calls the method getPreferredSection.
$dl = $this->app->make('multilingual/detector');
$this->set('defaultLocale', $dl->getPreferredSection());

This method  can be found in: public\concrete\src\Multilingual\Service\Detector.php
When a user logs out the method getPreferredSection gets called twice. The second time the variable result is null.
Because of this the information is fetched in code below
if ($result === null) {
            // Use the default site locale
            $locale = $site->getDefaultLocale();
            $home = Section::getByLocale($locale);
            if ($home) {
                $result = [$locale, $home];
            }
        }

The data contains the entity Concrete\Core\Entity\Site\Locale which contains the Site and SiteTree enity.

These get saved to the session.
if ($result !== null && $detector->canSetSessionValue()) {
        $session->set('multilingual_default_locale', $result[0]);
}

This data can not be serialized and gives an error when session_write_close is called. See the error below:
[09-Jul-2020 14:20:52 Etc/GMT-1] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 [internal function]: session_write_close()
#1 {main}
  thrown in [no active file] on line 0
[09-Jul-2020 14:20:52 Etc/GMT-1] PHP Stack trace:
[09-Jul-2020 14:20:52 Etc/GMT-1] PHP   1. {main}() E:\web\public\index.php:0
[09-Jul-2020 14:20:52 Etc/GMT-1] PHP   2. require() E:\web\public\index.php:2
[09-Jul-2020 14:20:52 Etc/GMT-1] PHP   3. Concrete\Core\Application\Application->shutdown($options = *uninitialized*) E:\web\public\concrete\dispatcher.php:52

As mentioned in Slack this is similar to #8791. There the issue was fixed by adding serialize/unserialize to the offending object. In this case the main question would be: why should the Locale, Site or SiteTree need to be stored in the session (it is only stored in some instances, but not always).
If any are required; can you remove the CLosures or add the exact same as the solution to the mentioned issue (see PR #8793), where serialize stores the ID and unserialize builds a new object from the stored ID? That approach could be applied to either the Locale object or if need be on Site and/or SiteTree...

Related issue on concrete5 tracker:
https://www.concrete5.org/developers/bugs/8-5-0/uncaught-exception-on-session_write_close-after-upgrade-to-8.5.3/

Still, I can't understand why this bug happens after upgrade to 8.5.3+, but I made a pull request to fix this issue. Please take a look.

Bumped into this as well after updating from 8.5.1 to 8.5.4.
@hissy - The fixes you made at #9026 never got to the develop branch for some reason, which is why I made #9290.
Looking at the detector code in 8.5.1, it seems to not have changed regarding the problematic part. My best guess is that in 8.5.1 there were no closures stored in the site configuration object. I further explained my findings here:
https://github.com/concrete5/concrete5/pull/9290#issuecomment-737091170
The bad part about this bug was that it could jam the whole PHP worker process when running under PHP-FPM. This is because the following request for the same user would jam when waiting for the session file to be unlocked by the previous process. Which never happened because of this failure.

IMO @andrew should pick my fix into the develop branch too.

@hissy you probably mean @aembler


copilot

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Platform

OS: [e.g. Windows, Mac]
IDE: [e.g. Visual Studio, VS Code]
Language: [e.g. C#, Python]
Source: [e.g. NuGet package version 0.1.0, pip package version 0.1.0, main branch of repository]

Additional context
Add any other context about the problem here.

Hi @tanxiaoling1 , I am closing this issue due to lack of relevancy.


riscv: move arch_is_user_contex() to a TLS-based implementation

This is just goodness. My own crazy arch_is_user_contex() SMP code
is now gone and things are more efficient than ever even on non-SMP.

After some delay due to yet another QEMU bug that needed figuring out, here the updated version rebased on latest main.

@kgugala @fkokosinski can you please review?

In the previous non-exception non-smp implementation, the flag was protected from being written to by the user task, is this still the case?

In the previous non-exception non-smp implementation, the flag was protected
from being written to by the user task, is this still the case?

No. However if the user task changes the flag to pretend being a kernel
task without having kernel privileges it will fault and be killed.


Enable using gRPC client for GCS

GCP has an experimental feature which allows using gRPC when talking to GCS. For the time being, it requires buckets to be explicitly added to an allowlist, but eventually the feature will become GA.
This commit allows using a gRPC client when creating a GCS bucket by toggling a boolean flag in the bucket config.

[x] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Allow using gRPC for GCS buckets.

Verification

@saswatamcode any thoughts on this one?


chore(TransitionGroup): remove deprecated lifecycle methods

Related to #3919.
Removes the usage of deprecated lifecycle methods in TransitionGroup.

Codecov Report

Merging #3970 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #3970   +/-   ##
=======================================
  Coverage   99.84%   99.84%
=======================================
  Files         178      180    +2
  Lines        3148     3171   +23
=======================================
+ Hits         3143     3166   +23
  Misses          5        5

Impacted Files
Coverage Δ

src/modules/Transition/utils/childMapping.js
100.00% <ø> (ø)

src/modules/Transition/TransitionGroup.js
100.00% <100.00%> (ø)

src/modules/Transition/utils/wrapChild.js
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 bd92e01...d085022. Read the comment docs.


Add readFeatures and readProjection as MVT experimental API

My motivation to have these exposed are that they are needed if you want to implement a custom tileLoadFunction.

Looks good, thanks @bjornharrtell. Will merge when green.


Getting segmentation fault and audio crash when running from stock Raspbian

I am trying to get the AIY kit up without the Google supplied image. I have followed the steps in the HACKING.md file, however, when I start the service I see...
pi@raspberrypi:~/code/voice-recognizer-raspi $ source env/bin/activate(env) pi@raspberrypi:~/code/voice-recognizer-raspi $ python3 src/assistant_library_demo.py
ALSA lib pcm.c:8403:(snd_pcm_set_params) Rate doesn't match (requested 16000Hz, get 48000Hz)
[1215:1253:ERROR:audio_input_processor.cc(755)] Input error
Say "OK, Google" then speak, or press Ctrl+C to quit...
Segmentation fault

I am using the stock AIY kit. Also when I try to run make I get...
(env) pi@raspberrypi:~/code/voice-recognizer-raspi $ make
PYTHONPATH=$PWD/src python3 -m unittest discover tests
Traceback (most recent call last):
  File "/usr/lib/python3.5/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3.5/unittest/__main__.py", line 18, in <module>
    main(module=None)
  File "/usr/lib/python3.5/unittest/main.py", line 93, in __init__
    self.parseArgs(argv)
  File "/usr/lib/python3.5/unittest/main.py", line 117, in parseArgs
    self._do_discovery(argv[2:])
  File "/usr/lib/python3.5/unittest/main.py", line 228, in _do_discovery
    self.test = loader.discover(self.start, self.pattern, self.top)
  File "/usr/lib/python3.5/unittest/loader.py", line 338, in discover
    raise ImportError('Start directory is not importable: %r' % start_dir)
ImportError: Start directory is not importable: 'tests'
Makefile:6: recipe for target 'check' failed
make: *** [check] Error 1

Also when I run alsa_info I see '/sys/module/snd_soc_googlevoicehat_soundcard/parameters/*': No such file or directory

If you open the asoundrc, you can see that the raspbian would have populated it with a audio config on its own. Either clear that or copy paste the contents of asound.conf into asoundrc. You should be good to go..

@shivasiddharth yeah I had a hard time deciding where to open it thanks!


Question about sleep and wakeup

Hello,
I went through the spec sheet of the PMS5003 and I have a couple of question about sleep/wake that I couldn't find in the specsheet neither the lib documentation and I hope you can help me with them.
Question

Does the WakeUp/Sleep works in active mode or only in passive mode ?
Is the PIN 3 (SET) needed for that ? Or does the commands goes through the normal serial port ?

Hello. As i remember (I don't own any PMS5003):

Sleep/WakeUp works both in active and passive mode
(for sure) PIN3 is not needed. You can send CMD_SLEEP = __uint24{ 0x0000e4 } or use PIN 3 - any of them

@jbanaszczyk Thanks for those infos :)


Get IP from running virtualbox machine

ENVIRONMENT

Operating System: Linux 5.12.9-1-MANJARO x86_64 21.0.7 Ornara
Python version: Python 3.9.5
VirtualBox version: 6.1
VirtualBox SDK version: 6.1.22
Location where VirtualBox SDK is installed: /home/akozyreva/projects/ftp-testing/
virtualbox-python / pyvbox version: 2.1.1
[x] Happens in latest master branch?

SUMMARY
I have installed Ubuntu Server in Virtualbox. I can run this machine, using code from documentation.
import virtualbox
vbox = virtualbox.VirtualBox()
session = virtualbox.Session()

print([m.name for m in vbox.machines])
machine = vbox.find_machine('Ubuntu Server')
proc = machine.launch_vm_process(session, "gui", [])
proc.wait_for_completion()

Then I need to retrieve somehow public IP from that machine. Inside of virtualbox I can run ifconfig and get public IP. How can I do it via virtualbox-python package?

Hum, that's why I came to the SDK today. :+1:
I don't know yet but, assuming you'd have installed the guest additions, the following would work
vboxmanage guestproperty enumerate "Alpine 01" | grep VirtualBox/GuestInfo/Net/1/V4/IP

Let's see if there is a guestproperty object somewhere.

Closing this, thanks @alainpannetier!


I break the blocks, but nothing falls out 1.20.1

Hello!
I put Zenith and Zenith's Attributes mods on my build. Minecraft and the world loaded as usual, but when you try to break any block, after breaking it, nothing falls out. No matter what tool I use, nothing falls out of the destroyed blocks.

Could I have some more info, like modlist?
Can you recreate with just zenith attributes or do you need zenith as well?

@TheWinABagel this was an issue with portinglib. See https://github.com/TheWinABagel/ZenithAttributes/issues/3

Fixed with latest porting lib, update to 1.1.0


chore: factorize nginx ingresses values

This pull request factorizes common values for the private and public nginx-ingress services running on all clusters.
Extracted from #3194

For temp-privatek8s:
-   whitelist-source-range: "<IP_ADDRESS>/20,<IP_ADDRESS>/22"`

For prodpublick8s:
-             - --ingress-class=private-ingress
+             - --ingress-class=nginx

@lemeurherve you can proceed to merge when you want: the only failing check is updatecli diff.
The helmfile diff is ok for me now.


Top level this is replaced by undefined

See #298

Problem comes from https://github.com/babel/babel/issues/562
I tried to introduce my own (function() { ... }).call(this) IIFE at top level but babel is stubborn and keeps replacing the this by undefined.

The solution seems to be to blacklist the strict plugin. It can be done via .streamline.json:
{
  "runtime": "callbacks",
  "babel": {
    "blacklist": ["strict"]
  }
}

I'd rather keep this plugin enabled by default.

Good to know that ES6 modules explicitly define this as undefined — so my use of top-level this isn't wise anymore. Agreed Streamline shouldn't change this by default. Maybe this could be documented, e.g. in the FAQ. Thanks!

There was nevertheless a problem with the wrapper that streamline is generating if it detects async calls at top level. I'm fixing it in the plugin.


Enable and validate user ability to provide specific   landmark points for Nystroem kernel approximation.

Hi all, this is the second run on kernel_approximation. This time, comments have been added, tests have been reworked, flake8 design has been checked, and changes have been added to the documentation. Also made the changes noted earlier by @rosecers. Any suggestions are welcome.

Hey @hurricane642 and @bhelfrecht. This is almost there, but still needs work. You should create a new PR that contains the requested changes and a better PR message.
Still remaining:

You need to add documentation to doc/modules/kernel_approximation.rst

All CI must pass

your tests need better explanation and documentation.

The PR itself needs to reference the issue it addresses (see the scikit-cosmo notes for this)

Including the scikit-learn checklist is also very useful in the PR to show that you have taken everything into account(https://scikit-learn.org/stable/developers/contributing.html, see below)

[ ] Give your pull request a helpful title that summarises what your contribution does. This title will often become the commit message once merged so it should summarise your contribution for posterity. In some cases “Fix ” is enough. “Fix #” is never a good title.

[ ]  Make sure your code passes the tests. The whole test suite can be run with pytest, but it is usually not recommended since it takes a long time. It is often enough to only run the test related to your changes: for example, if you changed something in sklearn/linear_model/logistic.py, running the following commands will usually be enough:

[ ]  pytest sklearn/linear_model/logistic.py to make sure the doctest examples are correct

[ ]  pytest sklearn/linear_model/tests/test_logistic.py to run the tests specific to the file

[ ]  pytest sklearn/linear_model to test the whole linear_model module

[ ]  pytest doc/modules/linear_model.rst to make sure the user guide examples are correct.

[ ]  pytest sklearn/tests/test_common.py -k LogisticRegression to run all our estimator checks (specifically for LogisticRegression, if that’s the estimator you changed).

[ ]  Make sure your code is properly commented and documented, and make sure the documentation renders properly. To build the documentation, please refer to our Documentation guidelines. The CI will also build the docs: please refer to Generated documentation on CircleCI.

[ ]  Tests are necessary for enhancements to be accepted. Bug-fixes or new features should be provided with non-regression tests. These tests verify the correct behavior of the fix or feature. In this manner, further modifications on the code base are granted to be consistent with the desired behavior. In the case of bug fixes, at the time of the PR, the non-regression tests should fail for the code base in the main branch and pass for the PR code.

[ ]  Make sure that your PR does not add PEP8 violations. To check the code that you changed, you can run the following command (see above to set up the upstream remote): git diff upstream/main -u -- "*.py" | flake8 --diff or make flake8-diff which should work on unix-like system.

[ ]  Follow the Coding guidelines.

[ ]  When applicable, use the validation tools and scripts in the sklearn.utils submodule. A list of utility routines available for developers can be found in the Utilities for Developers page.

[ ]  Often pull requests resolve one or more other issues (or pull requests). If merging your pull request means that some other issues/PRs should be closed, you should use keywords to create link to them (e.g., Fixes scikit-learn#1234; multiple issues/PRs are allowed as long as each one is preceded by a keyword). Upon merging, those issues/PRs will automatically be closed by GitHub. If your pull request is simply related to some other issues/PRs, create a link to them without using the keywords (e.g., See also scikit-learn#1234).

[ ]  PRs should often substantiate the change, through benchmarks of performance and efficiency (see Monitoring performance) or through examples of usage. Examples also illustrate the features and intricacies of the library to users. Have a look at other examples in the examples/ directory for reference. Examples should demonstrate why the new functionality is useful in practice and, if possible, compare it to other methods available in scikit-learn.

[ ]  New features often need to be illustrated with narrative documentation in the user guide, with small code snippets. If relevant, please also add references in the literature, with PDF links when possible.

[ ]  The user guide should also include expected time and space complexity of the algorithm and scalability, e.g. “this algorithm can scale to a large number of samples > 100000, but does not scale in dimensionality: n_features is expected to be lower than 100”.

Now, I think we need to double-check the documentation, and in general we can already do a clean PR in sklearn.


Proposal to add {calculator} property to opt_options

I propose to add a {calculator} property to the MarkerClusterer constructor's opt_options parameter.
Right now, the built-in cluster calculator computes the marker count to be placed on the cluster-marker. But a custom calculator can compute other statistics to display, make different choices about style selection, or add other properties to the <div> containing the cluster marker.

Closing because the Plus version contains this feature.


Implement search workflow

Link to ticket here.
This PR finalises the implementation for the search worfklow, making use of the CommCare Support Library to implement the necessary callback to CommCare.
To better handle all the potential threshold params for both the face and finger biometrics, a ParamManager class has been implemented to handle holding parameter values with validation.
Some input parameters, such as the case_id and template, are required for the different workflows. Extra validation has been implemented where, if a required parameter does not exist, then the user gets given an appropriate error message that blocks them from being able to start capture.

Support Library changes have been implemented so closing this off to create PRs with new changes in.


[C++] xthread:  0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF

I want to read frozen graph from file.
So I have class A:
class A
{
     std::shared_ptr<B> b_ptr;
public:
     A()
     {
         b_ptr.reset(new B());
     }
};

class B:
using namespace tensorflow;
class B
{
     SessionOptions _sessionOptions;
     std::unique_ptr<Session> _session;
     GraphDef _graph;
     std::shared_ptr<std::thread> _thread;
public:
     B()
     {
         graph::SetDefaultDevice("/cpu:0", &_graph);
         ConfigProto& config = _sessionOptions.config;
	 config.set_intra_op_parallelism_threads(1);
	 _session.reset(NewSession(_sessionOptions));
         ReadBinaryProto(Env::Default(), "path/to/graph", &_graph);
	 _session->Create(_graph);
         _thread.reset(new std::thread(&B::Task, this));
     }
     void Task();
}

And I have the problem mentioned above when I read frozen graph with ReadBinaryProto  I create session. If I comment a line _thread.reset(new std::thread(&B::Task, this)), this code will return successfully. If I comment all the code refered with tensorflow it will return successfully too.

Are you using the C++ api (not loading a shared library)? Did you try building with asan/msan?
@asimshankar might have some insight.

I load tensorflow as shared library. No, I didn't

How are you linking your library? Against which proto library?
CC @keveman

I apologize for not mentioning this earlier. I use windows. I run cmake build it via MSBUILD. Then I include tensorflow lib and other dependencies in my linker options. So how I mentioned earlier If I do not create another thread, it works good.

Are you running MSVCRTD ? (debug version) Are you building in debug? What does Task do?
Could you also check the status codes with CHECK_OK(..) around ReadBinaryProto and SetDefaultDevice and Session::Create?

As I know tensowflow cannot be built in debug ?!
I am running Release version.
Task has infinite loop that run tensorflow session and postprocess its results.
I check the status codes in my code. I didn't add them in order to reduce code size.

Any chance you could get the stack traces? Does it crash during program exit, or before?

I was wrong. It fails when session resets:
_session.reset(NewSession(_sessionOptions));

OK, what does the status return?

It does not return any status. It throws exception.

Any chance to get the stack trace?

This is everything that i managed to get:
>	TestTensorflow.exe!std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl B::*)(void) __ptr64,B * __ptr64>,std::default_delete<std::tuple<void (__cdecl B::*)(void) __ptr64,B * __ptr64> > > >::_Run(std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl B::*)(void),B *>,std::default_delete<std::tuple<void (__cdecl B::*)(void),B *> > > > * _Ln) Line 247	C++

 	TestTensorflow.exe!std::_Pad::_Call_func(void * _Data) Line 210	C++

 	ucrtbase.dll!_o__realloc_base()	Unknown

 	kernel32.dll!BaseThreadInitThunk()	Unknown

 	ntdll.dll!RtlUserThreadStart()	Unknown

I solved this problem using tensorflow::thread::ThreadPool instread of std::thread

If you have solved it please close it. On the other hand, this problem is difficult to help you solve since you didn't give us the code in B::Task. You also didn't show us the calling code. I'd guess that B was getting destroyed because A was getting destroyed after your main thread died but the thread you started survived and accessed this now deleted memory. It's also unclear why you made b_ptr shared and the thread ptr shared. You should prefer unique_ptr's unless you absolutely need shared ownership.

Ok. I delete all my code from B::Task(). Now this method doing nothing. And I still have the error.
Calling code something like this:
A a();

Where does it crash? During deletion of a or at program exit?

Neither.
It crashes in this line:
ReadBinaryProto(Env::Default(), "path/to/graph", &_graph);

BTW, SetDefaultDevice won't do anything since the graph is empty when you start.
Did you call
  tensorflow::port::InitMain(argv[0], &argc, &argv);

No, I didn't.
What should I do if I don't want to read params from command line arguments?

Just construct a simple argv which has only one element.

Closing due to lack of recent activity. Please reopen if this is still an issue.

@sergeyshilin Did you ever figure out a solution to this? I have the same need of debug with a tensorflow dependency

@jtavrisov, it does not seem to have a solution for now, because tensorflow simply does not support a Debug mode. I decided to switch to a Release mode with no optimization properties, therefore I still can debug my own application and use tensorflow library without debugging it. To do so in VS, Microsoft suggests to follow the instruction https://msdn.microsoft.com/en-us/library/fsk896zz.aspx

I have the same problem.
@sergeyshilin do you know whether this problem is solved by now or is it still not possible to run Tensorflow in Debug mode in C++?


[WIP] Create Light Casters Tutorials

Summary of the PR
Create multiple tutorials to demonstrate the different types of light casters to loosely follow chapters 16 and 17 of LearnOpenGL.
The following tutorials will be created:

[ ] 3.6.1 for Directional Light
[ ] 3.6.2 for Point Light
[ ] 3.6.3 for Spotlight
[ ] 3.6.4 for Multiple light casters in use at once

This PR seems to have gone stale. Closing for now, but feel free to reopen it if progress continues :D


applications

Wikipedia has lists applications of machine learning and deep learning.
This is a table of applications:

domain
node prediction
edge prediction

molecule
given molecule A and disease D, does A causes D?
given molecule A and molecule B, does A interact with B?

disease
?
given disease D and symptom S, does D causes S?

advertisement
given person P and service/product S, does P want S?
given person P and person Q, does P want to be a friend of Q?

recommendation
?
?

detection
?
?

Are advertisement systems and recommendation systems the same?  I think I should study more on them.

This issue has been decomposed into many domain specific applications.


Deploy etcd nodes on OpenStack Controller nodes

Due to storage latency requirements for etcd, we found in 3.4 testing that putting etcd inside a VM backed by rotational disks (via ceph) was unstable.  We moved etcd to the OpenStack controllers, which use local disk, was sufficient to stabilize etcd.
Ceph also takes this approach by colocating it's Monitor nodes on OpenStack controllers.  Feedback on this colocation approach internally has been positive.

Hi @jeremyeder  Can you please share more details on that?
How can I reproduce the issue and check if it affects my installation too?
Thx++,
R.

You just need to provide etcd with sufficiently performant storage.  If you're affected by this, you will see errors and warnings in the etcd logs.


Add support for swift-argument-parser, swift-driver and yams

@swift-ci test

merged to unblock CI


github actions, publish: Remove leftover env var

Signed-off-by: Orel Misan<EMAIL_ADDRESS>

Fixed in PR #123.


add more test data

[x] add article to test Typography
[x] add 30 rows of article data.
[x] add dummy marriage announcement data
[x] add dummy organization, position, structure, and member data

:tada: This issue has been resolved in version 1.0.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0-beta.1 :tada:
The release is available on:

GitHub release
v1.0.0-beta.1

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0-beta.1 :tada:
The release is available on:

GitHub release
v1.0.0-beta.1

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0-beta.1 :tada:
The release is available on:

GitHub release
v1.0.0-beta.1

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0-beta.1 :tada:
The release is available on:

GitHub release
v1.0.0-beta.1

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0-beta.1 :tada:
The release is available on:

GitHub release
v1.0.0-beta.1

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0-beta.1 :tada:
The release is available on:

GitHub release
v1.0.0-beta.1

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0-beta.1 :tada:
The release is available on:

GitHub release
v1.0.0-beta.1

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on:

GitHub release
v1.0.0

Your semantic-release bot :package::rocket:


doubling of accented foreign characters

VSCode Version: Code - Insiders 1.8.0-insider (9b06d4392aeac3af2e9da58838a518bba325d23a, 2016-11-18T08:59:27.025Z)
OS Version: Darwin x64 15.6.0
Extensions:

Extension
Author
Version

aurelia
AureliaEffect
0.1.10

vscode-eslint
dbaeumer
1.1.0

Theme-MarkdownKit
ms-vscode
0.1.1

wordcount
ms-vscode
0.1.0

Steps to Reproduce:

on a mac switch to the greek keyboard
press the two-key combination to produce the accented version of any vowel of the greek alphabet (e.g. ά, έ, ί, ό, ή, ύ, ώ)
you get the expected accented character
now press any other character or space
you get another copy of the accented character, followed by the character you just entered

This behaviour first appeared very recently (no more than a week, I would say) and renders VS Code nearly unusable. I'll try to check if it is also happens on Windows.
Thanks in advance for your attention

The Windows version (1.8.0-insider) doesn't seem to have this problem.

Dup of #15765.


making more arguments implicit and trying to avoid some '@'s

This PR is meant to be a repository of suggestions, only
There are still 4 errors I wasn't able to figure out, but I believe you guys will have an easier time as you have more context on those attributes of MonadParsec 👍🏼

This PR draft was used extensively for inspiration, thank you, Arthur!


Input is too long for requested model

Getting this error on one of my chats.
[ERROR] EventStreamError: An error occurred (validationException) when calling the InvokeModelWithResponseStream operation: Input is too long for requested model.
Traceback (most recent call last):
File "/var/task/app/websocket.py", line 84, in handler
for chunk in generate_chunk(stream):
File "/var/task/app/websocket.py", line 23, in generate_chunk
for event in stream:
File "/var/lang/lib/python3.11/site-packages/botocore/eventstream.py", line 603, in iter
parsed_event = self._parse_event(event)
File "/var/lang/lib/python3.11/site-packages/botocore/eventstream.py", line 619, in _parse_event
raise EventStreamError(parsed_response, self._operation_name)

Please try the latest version. If you still have the same issue, please create another issue with more information such as reproduction step. thank you


Proposal to add author name and page count

🚀 Feature
A clear and concise description of what the feature is.
As Google books API also give information about author and number of pages book have
i will would like to add them in on the page so that user wont get confuse between two books with same name.

i already add the author name with book title


new DataSources tutorial

This PR adds a new DataSources tutorial.
Sneak peek on how it renders:

The Vale errors should be fixed now. Feel free to reach out if you have any questions!


Allow prompt_templates without %s

This makes it possible to specify empty prompts in the configuration

Can you please describe who would want this in which situation?
Related issues/PRs: #131, #185, #442, #671

Thanks for linking the related issues/PRs, @mgeier. That solves my problem 👍.


Filtering results based on other fields with readonly fields

This is using the following example but the other field (continent in the example) is a readonly field:
https://django-autocomplete-light.readthedocs.io/en/master/tutorial.html#filtering-results-based-on-the-value-of-other-fields-in-the-form
I have an admin class that once the Country instance is created the continent foreign key becomes readonly. I use this pattern quite a lot to prevent users moving data around in weird ways:
@admin.register(models.Country)
class CountryAdmin(admin.ModelAdmin):
    fields = ["continent"]

    def get_readonly_fields(self, request, obj=None):
        return ["continent"] if obj else []

The "continent" foreign key becomes readonly when editing existing records only.
Now when using that in combination with forward=["continent"] on the form field, off course that only works if the continent form field isn't readonly. Otherwise continent isn't forwarded.
It would be nice that forward= would also work on readonly fields.
I'll see if I can code around it for now somehow, but it would definitely be nice if forward=["continent"] would also work for readonly fields on the admin class.

I think the easiest is to add an hidden input with the continent, does that work for you ?

Yeah I was trying something along those lines earlier, I realised that readonly fields probably aren't form fields, so I must add a hidden field.
I'll have another go at it, it gets tricky because I also was using this model as a tabular inline and for inlines you have another problem that the inline doesn't know it's parent yet until it is saved once and has an id.
Happy to close this issue as I realise it's probably not really in scope, but an interesting thing to run into.


chore(bb): upgrade to clang16 for Linux builds

resolves #1698
Code taken from @ludamad -- I tested it on a fork to make sure it compiles.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

The fact that Mac compiles is a bit weird unless Xcode14 includes a higher version of clang

The reason is because Apple Clang version is not the same as regular clang version.
See here for the release notes for Xcode 14.3. In particular, this Apple Clang 14 version supports P2128R6.
Looking at the llvm clang version which supports P2128R6 here, its clang15


Debug left over containers.

Recently, DockerSuite.TestRmContainerWithRemovedVolume started failing
due to container name conflict. However, this should not theoritically
happen because the container running the docker tests (DinD) is
destroyed and recreated for every integration test run.
This change prints all containers, to confirm whether there is indeed a
name conflict or if another error is masking itself here.
Failing test reference:
https://jenkins.dockerproject.org/job/Docker-PRs/23445/console
https://jenkins.dockerproject.org/job/Docker-PRs/23441/console
Signed-off-by: Anusha Ragunathan<EMAIL_ADDRESS>

I'm not sure we should add this.
It's helpful for debugging a failing test while working, but not sure otherwise.

@cpuguy83 : We should add this, precisely for debugging the test. Once it is rootcaused, I'll remove this change.

The test failures have disappeared. There are no open issues pointing to this test and I checked the last 5 failures on Docker-PR and Docker-PR-experimental and the failures are not due to this issue. We can wait another day and close this PR, if no one complains about the test failure anymore.

@anusha-ragunathan Good to close now?

Yes

:heart: thanks!


Refactored the directive to be configurable

the sendRequest has been replaced with a promise passed via the configuration scope;
merchantId and environment are configurable from the configuration scope;
the module is now self contained and can be imported in your app module dependencies without changes;

Thanks for your PR.  I'm not understanding your intent here.  What is the benefit of factoring out the url as an input that requires a promise to be defined in an external controller?

The benefit of the url as promise is that usually you want to create a paypal payment only when the user want to pay (e.g. when he click on the button). The promise allows you:

to have all the url grabbing/manipulation code defined externally (separation of concerns). The module is reusable without change and every developer could have a different backend output;
to call the server function that returns the url only when the button is clicked (like you do now);

In my case, I have a json output from the server with the url and other fields: with the external promise I can keep the module clean because both the $http call and the response manipulation that extract the url are defined externally (in the promise).
About the benefit of placing the directive in an IIFE you can read angular-styleguide/iife. Also, this will allows us to write the directive as a function and only bind the function name to the directive declaration. See angular-styleguide/directives (but I didn't do it yet).
I hope my answer was clear.

Thanks for clarifying 👍
On the separation of concerns point, it's not clear to me why you'd want the server call for the url to be controller-specific, as I would imagine most apps will make the same call regardless of button placement.  In this case, it makes more sense (to me) for that to functionality to live inside the button itself.  If your app makes different url calls based on the controller within your app, then I agree it makes sense to factor as you have done, but I don't think this will be the most common use case.
On the IIFE point, the pattern is different here than in the styleguide you mentioned.  There is no pollution of the global namespace with named controller functions, and thus no need to encapsulate them.  Note that the code uses an anonymous function instead of a named one.
That said, if you want to submit a PR to bring in line with the styleguide a la:
angular
    .module('paypal-checkout')
    .directive("paypalCheckout", function(...

Then I am happy to pull that in.  Thanks!

You're right when you say:

as I would imagine most apps will make the same call regardless of button placement
and, yes:
If your app makes different url calls based on the controller within your app [...] I don't think this will be the most common use case
My app, indeed, has only one url to call and only one controller that shows the button (this is a common use case, I think). And because the server call differs from app to app, it's a good point, at least for me, to have this logic out of the directive.

Moreover, the complete external configuration allows you to make a bower/npm module for this useful directive. In this way, anyone could add the paypal checkout without manually copying files :).

I do appreciate your enthusiasm for this directive.  I think we have different coding preferences though :)
For me, this is a simple directive that is easy for anyone to understand and edit for their own needs.  The approach of refactoring outside of the directive makes perfect sense to me; I just think it is overkill for something so simple.  Adding a promise object to the input and increasing documentation both add complexity where I don't believe it is needed.
If you want to fork and take the promise + bower/npm approach, I think there will be people out there that prefer that way just as you do.  So if you want to do it, I won't complain 👍

Don't worry, I understand.
Just merge, if you want, the pieces of code that you think are useful to your directive, otherwise close directly this PR.
If I have time, I'll create a promise+bower/npm version of this directive. I'll mention the original repo in the documentation.
Thank you again for your work.

Updated IIFE and directive declaration per style guide with https://github.com/twler/angular-paypal-checkout/commit/466f10e0dc7aab3e97e95024169f07738c780edc
Thanks for your help on this 👍


Feature: gtk3 updates

Note, in this PR, might play around with the idea of breaking up each layer into different parts, to speed up builds of prebaked images.
Currently, this bad boy is pretty big :(
<none>                                     <none>              bab7ceb7b9c1        24 minutes ago      4.376 GB

Merging. Then will work on openssh feature.


Updated README.md with sbt console example

Added a couple of lines on creating the project from sbt console
Looks like this on github.com

this seems like a good addition, but I don't think "enter the name of the artifact you would like to use" is clear wording. perhaps something like "enter any name you want, for example 'hello'"?


Dodata vest za vdl

👷 Deploy Preview for balkantransport processing.
🔨 Explore the source changes: 8c018a9ad762058fe31698575cf59dada93cbaf3
🔍 Inspect the deploy log: https://app.netlify.com/sites/balkantransport/deploys/61a92b9b3498b200078b6e19


Integration error

I tried to integrate within Home Assistant instance on Raspberry. I only get the error message "Couldnt integrate".
where can i find the actuel problem?
kind regards

In the log ?

Same problem here. Both energy sensors are in Watt as required. The log does not reveal what the exact issue is. Log entry :
Error during setup of component solar_optimizer
07:42:52 – (ERROR) setup.py
Your 'devices' configuration is wrong. SolarOptimizer will not be operational until you fix it
07:42:52 – (ERROR) Solar Optimizer (custom integration)
'NoneType' object has no attribute 'get'
07:42:52 – (ERROR) Solar Optimizer (custom integration)

You have a syntax error in your configuration.yaml. Your 'devices' configuration is wrong.
Can you post here your configuration.yaml hidding secrets et formatting with the <> (code markers)

This is my config file for the devices:

`devices:

name: "Boiler Charger"
The switch that controls the boiler
entity_id: "switch.boiler"
the power of this boiler
power_max: 2000
Always usable
check_usable_template: "{{ True }}"
15 min minimum activation
duration_min: 15
5 min deactivation minimum
duration_stop_min: 5
On enable/disable via a service call
action_mode: "service_call"
The service enabling the switch
activation_service: "switch/turn_on"
The service to deactivate the switch
deactivation_service: "switch/turn_off"`

Additional info .. I got it working now, forgot the algorithm section. However ... I have no clue how to define this for a power plug (with energy metering) as in my case :

When you post yaml, you should use the <> formatter option. Else it is not possible to see the real indentation problems or else.
For the algorithm options, don't touch it at first try. The default values works for every one.

Can you please close the ticket if it is now ok ?

Sure but I cannot close it as I am not the original author.

Hello @christiandulle , is it ok for you ? Can you close the ticket if yes.


Bluetooth: GATT: Fix gatt indicate using wrong pointer for attribute

Fix bt_gatt_indicate using the wrong attribute pointer when a uuid was
provided as input.

@Vudentz Both indicate and notify requires to provide attr as a starting point for the UUID search. Would it make sense to allow setting the attr to NULL and searching the entire database?
Or possibly making the lookup function an API function as was suggested once, to allow the application to only do the lookup once?

Note: I haven't received any bug reports on this. Just accidentally stumbled across this. But now it matches the notify function. Which seems to be the better tested one (it is used with UUID in the shell for example)

@Vudentz Both indicate and notify requires to provide attr as a starting point for the UUID search. Would it make sense to allow setting the attr to NULL and searching the entire database?

The intention was to avoid doing a global lookup given that it could use bt_gatt_foreach_attr_type instead.

Or possibly making the lookup function an API function as was suggested once, to allow the application to only do the lookup once?

There is a lookup function already: bt_gatt_foreach_attr_type


Competitions Rework

WARNING: this will remove all competition entries
You shouldn't be running a prod version of this yet anyway.

Closes #16


docs: Add that the number_of_rows will be set to 0 when removing the last column

Closes #276
Summary of Changes
When removing the only column in a 1-column-table, the number_of_rows property is set to 0. This behaviour should be documented in the Table class docstring as well as in the following methods: Table.keep_only_columns, Table.remove_columns, Table.remove_columns_with_missing_values and Table.remove_columns_with_non_numerical_values.

🦙 MegaLinter status: ✅ SUCCESS

Descriptor
Linter
Files
Fixed
Errors
Elapsed time

✅ PYTHON
black
1
0
0
0.63s

✅ PYTHON
mypy
1

0
1.76s

✅ PYTHON
ruff
1
0
0
0.03s

✅ REPOSITORY
git_diff
yes

no
0.01s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff
MegaLinter is graciously provided by

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

v0.14.0
GitHub release

Your semantic-release bot :package::rocket:


New SLURM-configuration logic (where? in config files or in submission-script preparation?)

Right now, a SLURM configuration file for FRACTAL may look like the one below, where we list a few pre-made "operation modes" ("cpu-low", "cpu-mid", "gpu", ...) and define the corresponding SLURM options for each one of them. These options are meant to be used in a single-task SLURM job, which guarantees that (if we choose them carefully the first time) we won't hit any error like "it's impossible to allocate the required resources". If, for instance, the maximum memory per node is 62G, then all of the operation modes listed below will eventually fit in in one of the nodes.
{
    "cpu-low": {
        "partition": "main",
        "mem": "7g",
        "cpus-per-task": "1"
    },
    "cpu-mid": {
        "partition": "main",
        "mem": "15g",
        "cpus-per-task": "4"
    },
    "cpu-high": {
        "partition": "main",
        "mem": "61g",
        "nodes": "1",
        "cpus-per-task": "16"
    },
    "gpu": {
        "partition": "gpu",
        "mem": "61g"
    }
}

This assumption breaks with #572, since a single SLURM job may now be made of multiple Fractal tasks to be run in parallel.
For instance if we include a memory-heavy Fractal task as cpu-high, but then try to combine two such Fractal tasks in the same job to be run in parallel, then SLURM won't ever schedule this job because there is no node with 61*2=122 memory that can be allocated.

This means that #572 adds one more failure modes, which boils down to "the user chose a value of n_parallel_ftasks_per_script which collides with the available resources". At a difference with the current configuration, the value of n_parallel_ftasks_per_script is a global variable that is set for the whole fractal-server instance (or at least that's my guess), but rather something which changes dynamically. For this reason the check need to be repeated for each Fractal-task execution.
Questions:

How flexible do we expect the setting of n_parallel_ftasks_per_script to be? See #577.
How could we prevent or handle the failure mode mentioned above?

One possible solution is to add one more field to the configuration file entries, called for instance "maximum_parallelism". For the example above, we would set it as follows:
Operation mode, maximum_parallelism
cpu-low         8
cpu-mid         4
cpu-high        1
gpu             1

and then we would fail any time a user tries to combine more than maximum_parallelism Fractal tasks to run simultaneously as part of a single SLURM job.

Side note about:

Questions:

How flexible do we expect the setting of n_parallel_ftasks_per_script to be? See #577.
How could we prevent or handle the failure mode mentioned above?

A single decision may answer both questions, for instance if we decide that n_parallel_ftasks_per_script becomes part of the specification of a given operation mode, as in
{
    "cpu-low": {
        "partition": "main",
        "mem": "7g",
        "cpus-per-task": "1"
        "n_parallel_ftasks_per_script": "8"
    },
...
}

Very good discussion!

the value of n_parallel_ftasks_per_script is a global variable that is set for the whole fractal-server instance (or at least that's my guess), but rather something which changes dynamically.

I would also assume that this can vary by task.
In general, we started with Executors to have an easier setup and because Parsl is thinking in executors. I don't think we need to always think in executors necessarily, at least not as something that's exposed to the user.
I'll put down some thought on what we'd want to achieve and we can then discuss whether the executor setup is how we want to do this or if there's another approach we'd want to take.

Each Fractal setup will run on a given infrastructure with defined node-sizes. The user shouldn't need to worry about those.
Each Fractal task will require a certain amount of CPU, memory, GPU and potentially runtime. We should have good defaults, but make it possible for the users to adapt here. Users may need to adapt these "per task" parameters sometimes.
Other important parameters are n_ftasks_per_script and n_parallel_ftasks_per_script. The n_ftasks_per_script is mostly defined by the architecture Fractal is running on (i.e. rules on max job numbers at FMI, trade-offs of how fast slurm jobs can be submitted at UZH etc.). Most users shouldn't have to change this parameter. It should mostly be the same for the whole deployment, with some optional overwrite by power users?
n_parallel_ftasks_per_script is something that needs to vary by tasks (e.g. GPU tasks will always be 1 - low, CPU tasks may be something like 4-96, depending on the setup). I would again imagine reasonable defaults being set for the specific Fractal instance, but some way for the user to overwrite them.

Based on those parameters, how do we design the slurm jobs & their requirements?
Do we have preset executors and just fit it in the "smallest" fitting executor?
i.e. if we need 17 GBs of RAM, do we start a slurm script with 17 GB of RAM requirement or the CPU-high executor with 61 GB of RAM?
How do we handle user input that would not work?
i.e. at UZH, max memory (for most nodes) is ~62 GB. What if a users wants to run n_parallel_ftasks_per_script = 4 and each task needs 60 GB of RAM?
Overall, we'll need to have some definition of "available nodes". Maybe via executors, maybe somehow else.
If a user changes n_ftasks_per_script into something sub-optimal, that's mostly a user issue (i.e. things may run slower if everything is in 1 job).
If a users sets n_parallel_ftasks_per_script + requirements that don't match, we could also consider n_parallel_ftasks_per_script as "maximum number of jobs that run in parallel",
i.e. if a user requests n_parallel_ftasks_per_script = 4 and each task needs 60 GB of RAM, we run it with n_parallel_ftasks_per_script=1 on cpu-high
if a user requests n_parallel_ftasks_per_script = 4 and each task needs 30 GB of RAM, we run it with n_parallel_ftasks_per_script=2 on cpu-high

n_parallel_ftasks_per_script as "maximum number of jobs that run in parallel"

No.

Here is a brief update on how different SLURM parameters are defined in the current version of #582 (e.g as of https://github.com/fractal-analytics-platform/fractal-server/pull/582/commits/9b48c47eb2936c2ae80c5780a55e23a3b08d965c). This mostly works, but it is obviously open to comments and requests for changes.

The goal of what I describe here is to fill in the values of the attributes in the SlurmConfig class below. For the record, this is done in the set_slurm_config function, so that what we are discussing here is exactly the implementation of this function.
class SlurmConfig(BaseModel, extra=Extra.forbid):
    """
    Abstraction for SLURM parameters
    """

    # Required SLURM parameters (note that the integer attributes are those
    # that will need to scale up with the number of parallel tasks per job)
    partition: str
    cpus_per_task: int
    mem_per_task_MB: int

    # Optional SLURM parameters
    job_name: Optional[str] = None
    constraint: Optional[str] = None
    gres: Optional[str] = None
    time: Optional[str] = None  # FIXME: this will need to scale up with #tasks
    account: Optional[str] = None

    # Free-field attribute for extra lines to be added to the SLURM job
    # preamble
    extra_lines: Optional[List[str]] = Field(default_factory=list)

    # Metaparameters needed to combine multiple tasks in each SLURM job
    n_ftasks_per_script: Optional[int] = None            # If None, we will use some heuristic to set it
    n_parallel_ftasks_per_script: Optional[int] = None   # If None, we will use some heuristic to set it
    target_cpus_per_job: int
    max_cpus_per_job: int
    target_mem_per_job: int
    max_mem_per_job: int
    target_num_jobs: int
    max_num_jobs: int

Note that there is a list of SLURM options which is "natively" supported, while any "unexpected" option would need to enter the extra_lines attribute. Suggestions of other relevant options to include are welcome.

Briefly, the list of sources (starting with the highest-priority one) is:

meta attribute of a WorkflowTask
meta attribute of the Task associated to a WorkflowTask;
Variables coming from a site-specific Fractal SLURM configuration file.

The structure of items 1 and 2 is the same as for the arguments, where anything which is defined in the WorkflowTask overrides Task arguments. These two sources are used for all SLURM-option attributes (and for an additional needs_gpu=True/False flag), but not for the heuristic metaparameters.
The structure of item 3 and its relation with the attributes above require a more detailed explanation.

An example of a Fractal SLURM configuration file could be like
{
  # Default SLURM options
  "partition": "main",
  "extra_lines": ["#SBATCH --some-option=some-value"]
  # GPU-specific SLURM options
  "if_needs_gpu": {
    "partition": "gpu",  # if different from the default one
    "gres": "gpu:1",
    "constraint": "gpuram32gb",
    "extra_lines": ["#SBATCH --some-gpu-option=some-gpu-value"]
  },
  # Options for task batching into multitask SLURM jobs
  "cpus_per_job": {"target": 8, "max": 16},
  "mem_per_job": {"target": 32000, "max": 62000},
  "number_of_jobs": {"target": 10, "max": 100}
}

This file includes three blocks:

Default SLURM options represent the lowest-priority source. This block can accept any of the keys mentioned above (cpus_per_task, mem, gres, account, ...).
The if_needs_gpu block includes a set of options that are appended to the default ones (and take priority, in case of overlap) whenever a WorkflowTask (or its corresponding Task) has WorkflowTask.meta["needs_gpu"] = True. This block is meant to host all options that are needed to run SLURM jobs on GPUs, in a specific cluster. Examples would be {"partition": "gpu"} or {"gres": "gpu:1", "constraint": "gpuram32gb"}.
The three keys at the end (cpus_per_job, mem_per_job and number_of_jobs) are the metaparameters that enter the heuristics in #577, and once again they are specific to the cluster where fractal-server is running.

Note: the default/gpu blocks accept many SLURM options, and they could in principle be used as two cpu/gpu "executors" (defined as we did with the legacy SLURM backend), but this is not the usage I suggest. In my opinion, definition of memory/cpu requirements should rather be at the Task or WorkflowTask level, and the default/gpu blocks should only include very general options like the partition name or some gpu-specific option.

Thanks for the great overview. Looks very nice to me! I'll have to test it to give finer feedback, but on the conceptual level, I don't see any issues with it.
Would also be flexible enough to e.g. have a default amount of memory & CPUs set per task, but we could provide template workflows for things that deviate a lot from normal expectations (=> just workflows to be imported), i.e. a 2D processing template that requests less RAM or a large 3D template that requests more :)


Cannot remove broken snapshot

Output of restic version
restic 0.10.0 compiled with go1.15.2 on linux/amd64
How did you run restic exactly?
$ restic --repo=sftp:...:... --password-file=... check
using temporary cache in /tmp/restic-check-cache-308261100
repository 7ab848e2 opened successfully, password is correct
created new cache in /tmp/restic-check-cache-308261100
create exclusive lock for repository
load indexes
check all packs
check snapshots, trees and blobs
error: load <snapshot/56c17514f8>: invalid data returned
Fatal: repository contains errors
$ restic --repo=sftp:...:... --password-file=... forget 56c17514f8
repository 7ab848e2 opened successfully, password is correct
Ignoring "56c17514f8ad85451bb4be440a1aac375260eb66b02abe6bda9345de32a20f68", could not load snapshot: load <snapshot/56c17514f8>: invalid data returned

What backend/server/service did you use to store the repository?
SFTP
Expected behavior

Snapshots should ideally not break.
There should be some way to recover easily from a broken snapshot.

Actual behavior

Unable to forget a broken snapshot.

The respective snapshot file is empty (0B).
Steps to reproduce the behavior / Do you have any idea what may have caused this?

No real clue. The error was maybe caused by killing restic during backup or by unreliable network connection. Data corruption cannot be excluded.

Do you have an idea how to solve the issue?

Manually removing the affected snapshot file (that worked).

Did restic help you today? Did it make you happy in any way?

Being able to efficiently back up a 300GB HDD on a Raspberry Pi 3. (Not related to this issue)

That error looks like an interrupted upload. The upload via SFTP is currently not atomic, such that you can end up with incomplete or empty files when interrupted at just the wrong point in time. However, this is just a nuisance, as the upload was never completed these also aren't used for a snapshot.
Although it would be possible to modify forget to resolve snapshots in a special way when specified as IDs, that would just hide the problem. So I guess it's best to resolve this properly (which will take some time).

So nice to see this. Thank you so much for removing this pain point!


[Smoke Tests] Fix Build Errors

Summary
The focus of these changes is to fix the build errors resulting from package version conflicts.
Last Upstream Rebase
Wednesday, March 3, 10:00am (EST)

/azp run net - smoke-tests

Wow, you got smoke tests to pass! :)

Is there some reason we can't/don't want to use the eng/Packages.Data.props file for package versions?

@benbp would be the authoritative voice as he had been working on some revisions here;  the last I recall,  the pipeline was pulling the latest dev packages and rewriting the references.   Using the central versions, I think, would help to reduce contention like this in the future.

Yeah the local versions are overwritten, and we had only discussed a better way to set them in the context of local testing. I think this sounds like a good approach.


fix(sfc-playground): remove comments in PROD mode to align with default behavior

Align with the default behavior: https://vuejs.org/api/application.html#app-config-compileroptions-comments

This looks very similar to #9594. For the same reasons I gave at https://github.com/vuejs/core/pull/9594#issuecomment-2060214758, I don't think we should make this change.

Closing as duplicate


API-1835: add the ability to produce events into specific namespaces

I think we covered this one this morning and Lucasz was onboard.
/hold cancel


Tech Spike: Determine App Platform

Figure out what app platform we will be using

Needs to be able to maintain generic strings for parts of the site
Needs to be able to easily add blog entries
Needs to be able to easily add portfolio projects

Will be using Apostrophe CMS, Node-based CMS that stores as static pages


Remarks about replacement of Unicode surrogates

The PLC parser uses Data.Text.pack when parsing Unicode strings, which replaces surrogate character codes with U+FFFE.  This adds a comment and a remark in the specification to explain that.

This has been stuck in  a queue for about a week.  It's just modifiying some documents, so I'll merge it without waiting for CI.


Feature Request: Submit with cmd + enter

Right now, you have to click the button to submit the thought.
To work only with keyboard and hence be quicker, it would be nice if you could submit with cmd + enter.

Unless I miss something, this can be solved via Javascript:
thoughtInputEl.addEventListener('keydown', handleKeyDown);

function handleKeyDown(event) {
  // Check if the user hit Cmd+Enter (or Ctrl+Enter on Windows)
  if ((event.metaKey || event.ctrlKey) && event.key === 'Enter') {
    event.preventDefault(); // Prevent the default action (inserting a new line)
    // Now call the existing saveThoughtBtn click handler
    saveThoughtBtn.click();
  }
}

Closed via https://github.com/minthemiddle/Quick-Capture/commit/2ff2f1e29e8ac9d54d72c0e1b8a201f283859d55


fix: arbitrary change to trigger release

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Should be able to get the logs after the pods exit

Currently if the pod exits, users cannot get the log via journalctl:
sudo journalctl -M rkt-5c8edd13-29aa-4bbc-bfef-b41d6fec1cdd -u etcd
Failed to open journal: Host is down

This is unfriendly for debugging what has happened before the pod exits. I wish to get the logs of the pod even after the pod fails(before it's gc'd).

I mentioned a way to do this in https://github.com/coreos/rkt/issues/818#issuecomment-128640533
# journalctl -m _HOSTNAME=rkt-5c8edd13-29aa-4bbc-bfef-b41d6fec1cdd -u etcd

Do we need to access the logs also if the overlay fs was unmounted (e.g. reboot)? If so, we'd need to reconstruct the pod's filesystem.

@iaguis Tried with --no-overlay, still says Host is down.

@iaguis Tried with --no-overlay, still says Host is down.

To be clear, journalctl -M only works if the container is running. To get the logs after that, you need to run journalctl -m _HOSTNAME=machine-name (note the lower case m).

@iaguis Sorry, I was blind =_=

Closing for now as being able to get logs after exit (before reboot/gc) is sufficient for now.

To be clear, journalctl -M only works if the container is running. To get the logs after that, you need to run journalctl -m _HOSTNAME=machine-name (note the lower case m).

@iaguis this is not documented. using-rkt-with-systemd.md just mentions -M but not -m... should it be added?
Also, it does not work on Ubuntu because persistent journal storage is not enabled on Ubuntu (can be fixed with sudo mkdir /var/log/journal). Should this be documented somewhere as well?
/cc @blixtra

journalctl -m _HOSTNAME=machine-name should be documented in https://github.com/kinvolk/rkt/blob/ckuehl/implement-pod-export/Documentation/commands.md#accessing-logs-via-journalctl


chore: optimize related_change_recursive_query

Fixes: https://github.com/flanksource/duty/issues/1159


Vague framework star rating system

The star rating for enterprise and consumer apps is vague and needs an explanation.

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

ID: 0f4f71cb-6d3d-beec-7f5a-e9f7de83245e
Version Independent ID: 0f4f71cb-6d3d-beec-7f5a-e9f7de83245e
Content: Windows app development - options and features - Windows apps
Content Source: hub/apps/get-started/dev-options.md
Product: reunion
Technology: get-started
GitHub Login: @alvinashcraft
Microsoft Alias: aashcraft

I think we're going to remove these two rows and find a better way to communicate the differences between the frameworks. This page is meant to be a comparison without providing recommendations, and the ratings rows are working against that goal.

@alvinashcraft I mean I appreciate the honesty here... it does beg the question why WinUI isn't going for getting 5 stars here, but I guess that's a question for the sdk team, not the doc itself.

I did remove them, and I'll think of some additional features to compare instead. The table fits better on the screen now too.


Inpainting only works with 512x512 using stable-fast

I have tested in many different ways. The exact same codes and parameters work with AutoPipelineForInpainting (also tried StableDiffusionInpaintPipeline) using EulerAncestralDiscreteScheduler, but it doesn't with stable-fast. However, if I don't touch anything in the codes and provide a 512x512 image, 512x512 mask, stable-fast works as expected (AND FAST!). I have no idea why it happens. Using diffusers==0.26.2
The GPU is RTX4090. I have tried with many dimensions.
Behavior: It gets stuck at 0% without any errors
0%|          | 0/30 [00:00<?, ?it/s]
The script below either uses stable-fast (it is warmed up, just like examples, using 512x512, and no issues during that phase) or I can disable and test without stable-fast, same parameters (AutoPipelineForInpainting, EulerAncestralDiscreteScheduler) and same images, same codes, works as intended.
        # pipeline here is either warmed up stable-fast thingy, or AutoPipelineForInpainting
	repainted_image = pipeline(
		prompt=pos,
		negative_prompt=neg,
		guidance_scale=cfg,
		width=width,
		height=height,
		image=original,
		mask_image=mask,
		strength=1,
		num_inference_steps=steps,
		num_images_per_prompt=1,
		generator=generator,
	).images[0]

TL:DR; 512x512 works with both stable-fast and without, anything else only works if I don't use stable-fast.
PS: No issues with StableDiffusionPipeline, just inpainting.
PPS: Thanks for the great work.

Update: I think loras don't work with StableDiffusionPipeline (with stable-fast) after updating diffusers. I will try downgrading tomorrow since I haven't tested stable-fast inpainting with previous version of diffusers and report back. let me know if there is any other info I can provide.

I have downgraded and the issue persists. Also, textual inversion and loras don't work for some reason.
After importing the lora, I'm doing this:
                pipeline.unload_lora_weights()
		for lora in loras:
			pipeline.load_lora_weights(f'./lora/{lora}.safetensors', weight_name=f'{lora}.safetensors', adapter_name=lora, local_files_only=True)

		pipeline.set_adapters(loras, adapter_weights=weights)

Text2Image generation is successful, but no loras loaded/used. When I run it without stable-fast, they work just fine.

@lunatolun You could give a full script so that the problem can be reproduced.

Do you get segment fault when using other resolutions?  I encountered the same situation, and later found that it was because there were multiple branches in the up and down sampling, but after stable-fast compile, some branches might not be compiled into the graph. If there are only the above branches, and the feature length and width are no longer divisible by 2, then an error will occur.
`
code from /diffusers/models/resnet.py
    if output_size is None:
        hidden_states = F.interpolate(hidden_states, scale_factor=2.0, mode="nearest")
    else:
        hidden_states = F.interpolate(hidden_states, size=output_size, mode="nearest")

`


Improve username behavior

Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

fixed errors in validation.py


Improvement make timeout of restore job's dispatching task progress configuable

when a restore job which has a plenty of replicas, it may fail due to timeout. The error message is：
[RestoreJob.checkAndPrepareMeta():782] begin to send create replica tasks to BE for restore. total 381344 tasks. timeout: 600000
Currently, the max value of timeout is fixed, it's not suitable for such cases.
Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[x] Has document been added or modified
[ ] Does it need to update dependencies
[x] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Oracle ledger object does not expose OracleDocumentID field (Version: rippled-2.2.3)

Issue Description
OracleDocumentID is an important field for Oracle objects. It is a required field while creating a new Oracle, but rippled doesn't return this field when querying the ledger object via ledger_entry, account_objects and possibly other methods.
If OracleDocumentID is not discoverable via available methods, it would be difficult to delete the Oracle since OracleDelete transaction takes OracleDocumentID as a required parameter.
Steps to Reproduce
Fetch an Oracle object using ledger_entry command.
curl -H 'Content-Type: application/json' -d '{"method":"ledger_entry","params":[{"index":"28716548F718BE307D1492BABDF21C5D71CD8248F6D5FC591BE598E6BC6E2692","ledger_index":"validated"}]}' https://s1.ripple.com:51234/

Example: https://explorer.xrplf.org/entry/28716548F718BE307D1492BABDF21C5D71CD8248F6D5FC591BE598E6BC6E2692
Expected Result
Oracle object returned by rippled should contain OracleDocumentID field.
Actual Result
Oracle object returned by rippled does not contain OracleDocumentID field.
Environment
Using rippled-2.2.3.
Supporting Files

OracleDocumentID seems to be missing from the Oracle object
https://github.com/XRPLF/rippled/blob/a76809a3fd3402f97d87fc3f3944108aedd81a6d/include/xrpl/protocol/detail/ledger_entries.macro#L384-L394


SM9性能这么低吗，1秒签名只能签3次

Doing sm9 sign                 for 10s:  33 times sign SM9's in 9.99s
Doing sm9 exch tests        for 10s:  10 times exch SM9's in 9.98s
Doing sm9 key wrap tests for 10s:  20 times key wrap SM9's in 9.99s
Doing sm9 encrypt tests   for 10s:  20 times encrypt SM9's in 9.85s

GmSSL的SM9实现还没有优化。


UserPassesTestMixin for currently logged in user

I have a mixin I often need to use that is built off django.contrib.auth.mixins.UserPassesTestMixin that limits permission of the currently logged in user to only be able to change models that they own. It looks something like this:
class UserPermissionMixin(UserPassesTestMixin):
    def test_func(self):
        current_user = self.request.user
        if current_user == self.model.user:
            return True
        return False

Would this be something that I could generalize and submit a pull request for django-extensions?

I don't think we have any permissions yet in django-extensions :-)
Thinking about it, from personal experience I have a similar mixins which are copied in quite a number of projects. Others probably do the same making it a good candidate to include IMO.
What I would like to see if the ability to change the model attribute. Something like:
class UserPermissionMixin(AccessMixin):
    user_permission_model_attribute = "user"

    def get_user_permission_model_attribute(self):
        return self.user_permission_model_attribute

    def test_func(self):
        model_attr = self.get_user_permission_model_attribute()
        current_user = self.request.user
        model_user = getattr(self.model, model_attr)
        current_user = self.request.user

        if current_user == model_user:
            return True

        return False

This would allow for more flexibility. eg: you could have a class with an owner attribute.
Maybe also add the ability for user_permission_model_attribute to be a relationship, such as in the case of model with something like an attendees attribute.
Also a similar class for groups would make sense :-)
Anyways, I would love to accept a PR for this. Specially if we can make the class generic and easy to use enough that it would appeal to a broad number of users.
Now the only downside to a PR right now is that it would also require some of the boilerplate for things like docs, tests (we should aim for 100% coverage for permission mixins), etc to be written since this is the first permissions extension.

Great! Where would be an appropriate place for this? Since the structure is similar to Django, should it be from django_extensions.contrib.auth.mixins import UserPermissionMixin?

Think we can skip the contrib part and go with django_extensions.auth.mixins :-)

I'm writing up the docs, but I'm not comfortable writing tests for django extensions. Can I submit the pull request with docs and source code, and then get an idea for the tests after?

I've got some code ready, but since this is my first contribution to Django Extensions, can I get another eye on it before? I could just submit a PR, but wanted to let you know that it's probably about 50% at this point.

sure no problem, happy to take a look, we are very happy with all contributions !
you can submit a PR, attach a patch here or email me (trbs at trbs dot net), all fine by me :-)

I'll submit a PR and go from there. Thanks!

can I pick this up?

There is an open Pull Request to just get the finishing touches on it.

i'll close the issue and lets finish the PR :-)


Tooltip

Known bug, tooltip doesn't follow the window.

@sgaragagghu Thank you for your great efforts!

I know, this PR is already merged, but I will add some comments.


home fixes

Codecov Report

Merging #176 (bb689f4) into master (16c2d0f) will decrease coverage by 0.00%.
The diff coverage is 60.00%.

@@            Coverage Diff             @@
##           master     #176      +/-   ##
==========================================
- Coverage   79.84%   79.84%   -0.01%
==========================================
  Files         124      124
  Lines       11522    11526       +4
  Branches     1207     1207
==========================================
+ Hits         9200     9203       +3
- Misses       2322     2323       +1

Flag
Coverage Δ

unittests
79.84% <60.00%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

packages/lib/components/slider/slider.tsx
7.92% <0.00%> (-0.04%)
:arrow_down:

packages/lib/components/common/utils.ts
97.36% <100.00%> (+0.22%)
:arrow_up:

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


Cannot read properties of null (reading 'street')

Hi,
I just installed the plugin but it didnt seem to work.
I dialed in my account and it states:
[28/07/2022, 10:39:05] [Easee Wallbox] Found account for NAME SURNAME
Where my name is written correctly. So its seems to authenticate correctly.
Later in the log I see this:
[28/07/2022, 10:39:05] [Easee Wallbox] Failed to get info for build TypeError: Cannot read properties of null (reading 'street')
    at /usr/lib/node_modules/homebridge-easee/easeeplatform.js:84:66
    at Array.filter (<anonymous>)
    at /usr/lib/node_modules/homebridge-easee/easeeplatform.js:83:21
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

Since I only have one chargeberry, I've not put a street in the configuration. The Wallbox is definetely online ans accessible.
Setting a street does not change the behavior.

It is expecting a street on the Easee account side. You could try adding one to your charger's account.
The plugin can be blank or it can have a matching address

Thanks! Adding a street in the easee app made it work.


autogen.io.websockets can't handle a JSON with a \n newline character in it

Describe the bug
[Bug]: WARNING:autogen.io.websockets: - IOWebsockets._handler(): Error in on_connect: Invalid control character at: line 1 column 65 (char 64)
Whenever I receive a JSON with a newline character (\n) I get this error.  This error originates within autogen's websockets package.  How do I stop this from happening?  Is there a way to set json strict to False for that module?
Steps to reproduce

Run the autogen websockets .ipynb
Send a json that includes the \n newline character

Model Used
gpt-4
Expected Behavior
It should have worked without any issues
Screenshots and logs

Additional Information
Autogen version: newest version
OS: Linux and Windows
Python version: 3.9

I was wrong, the mistake was in my own code.  This issue can be solved by doing json.loads("request", strict=False)


Fixes links to IDE setup documentation in Config repo

The links to the OSGP Config GitHub repository sections on setting up
Eclipse or IntelliJ for working on the OSGP code base pointed to the
feature branch in which this documentation was last updated.
The Git branch reference is updated to development.

All is well.


Keyboard in Spectrum Fri 6 Oct build

When entering a frequency - button [5]  in the spectrum the numbers entered are wrong. Eg press 1, 2 comes up, press 0, 1 comes up on screen and so on.
Not sure if its the Spectrum or a small bug??

Fixed, v0.8 release available, thanks for reporting.


web. Store.Chat don't work show undefined

Advertising of monetized Frameworks is strictly forbidden and will be reported

[ ] The language must be English, if you are not fluent in English consider using: https://www.deepl.com/translator if it supports your native language

[ ] Please check if any other issue already adresses your concerns or if a recent PR is already fixing the mentioned issue

[ ] Please make sure to format your code, and to mark your code as such, with the provided tools from github (upper right of this box)

[ ] Please state your Operating System (inlcuding version), your Python Version, and your installation way (pip, from repo) and if you are running it inside a docker container

[ ] Note that the pip installation might be behind, so try to fix your issue with a pull from the repo and update to the most recent version

[ ] Follow the Stackoverflow Guidelines (https://stackoverflow.com/help/how-to-ask) when in need of help

[ ] Consider posting your question on Stackoverflow if it is a general programming question

[ ] There will be no support for spamming, or other mischief

[ ] There will be no support for finding professionals

See #888

It's still now working
Unable to get window.WAPI.getAllContacts() -> returns error 'Cannot read property 'map' of undefined at Object.window.WAPI.getAllContacts'
window.Store.Chat is undefined


Task initializeSonatypeStagingRepository fails when using gradle-setup action

Hi, thanks for your plugin which helps a lot.
I use the plugin in a GitHub workflow which can be summarized like this:
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-java@v4
        # with: env variables and secrets
      - uses: gradle/gradle-build-action@v3
      - run: ./gradlew clean publishToSonatype closeAndReleaseSonatypeStagingRepository
        # with: env variables and secrets

Works fine.
I've recently replaced gradle/gradle-build-action@v3 (which is deprecated) with gradle/actions/setup-gradle@v3.
Then, I have this error:
Run ./gradlew clean publishToSonatype closeAndReleaseSonatypeStagingRepository
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :model:clean UP-TO-DATE

> Task :initializeSonatypeStagingRepository FAILED
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':initializeSonatypeStagingRepository'.
2 actionable tasks: 1 executed, 1 up-to-date
> Failed to load staging profiles, server at https://oss.sonatype.org/service/local/ responded with status code 403, body:

      <title>403 - Forbidden</title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

      <link rel="icon" type="image/png" href="https://oss.sonatype.org/favicon.png">

      <link rel="stylesheet" href="https://oss.sonatype.org/static/css/Sonatype-content.css?2.15.1-02" type="text/css" media="screen" title="no title" charset="utf-8">

403 - Forbidden

Forbidden

Gradle wrapper version used: 8.6
Actions gradle-build-action and actions/setup-gradle are supposed to be functionally identical, so it might be an issue on their side in the end.
Yet, I thought you might have an idea / ways to reproduce the bug and diagnose why the error happens.

I got the same error, but I think that has to do with Sonatype changing its authentication system. Did you check that you can still login on https://oss.sonatype.org/?

I would also recommend generating the new token. Some other people were reporting the similar problem on the Sonatype mailing list recently.

Thanks for the quick answers. I should have precised that I managed to publish a few minutes after receving the 403 error by using back the "gradle-build-action".
A sonatype login could look coherent indeed, yet it seems that it doesn't match in my case:

Jul 12, at morning: the user token was changed
Jul 12, afternoon: a publication succeeded (using gradle-build-action@v3 in the workflow)
Jul 19: publication fails (using actions/setup-gradle@v3)
Jul 19, few minutes after, using gradle-build-action@v3 back: publication succeeded

Seems like something weird happens with caching, but I'm having a hard time understanding what that could be: maybe definitely an issue for the gradle setup action.

I'm getting the same 401s now. Any news on this?

@joffrey-bion Is this still happening after 12-24 hours?

Yes, the first occurrence was about 4 days ago, and I'm still facing the issue in multiple repositories. For example:
https://github.com/joffrey-bion/socketio-kotlin/actions/workflows/release.yml

Have you re-generated your Nexus token (and updated in in GH)?

Yes, sorry not to have mentioned this more clearly. I generated a new token and updated my repo secrets with it.

It looks like for some repos the failure correlates with the upgrade to Gradle 8.10, but that might be a red herring, because at least one of my repos could be published with Gradle 8.10 and setup-gradle v4.

Ok sorry for the noise about this, the 401s were caused because of unfortunate naming of secrets, and I had swapped the username and password. All good now.

@joffrey-bion Thanks for the update!
@nsenave Have you manager to solve the problem with your repo?

Situation didn't change for me since my last comment, I'll give it another try and keep you informed.

Same issue happened with me; I'm sure that all my secrets are correct!
https://github.com/OneBusAway/kotlin-sdk/actions/runs/11241615588/job/31254075229
Do you guys generate tokens from here?
https://central.sonatype.com/account

Do you guys generate tokens from here?

No that's for the new Publisher Api. I think you probably still need to generate your token for OSSRH in the Nexus:
https://oss.sonatype.org/#welcome
You can log in in the top right, then click on your logged in username in the same place, and open your Profile.
Then, change the drop down (just below the tab headers) from Summary to User Token.
From there, you can regenerate a new token for the "old way" of publishing.


Info Box Width

Hey there,
Sometimes, the data displayed in the info box is so wide that it covers up the cursor like so:

In the above screenshot, my cursor is on line 7 but it's completely hidden.
It would be great if kak-lsp could configure the width of the info box. I think this is possible, as this is something that another kak package does here: https://gitlab.com/kstr0k/fast-context.kak/-/blob/master/rc/context.kak#L22

(There are multiple long-standing issues with the info box; they are referenced in https://github.com/kak-lsp/kak-lsp/issues/514 which suggest a more flexible solution.)
Ok I think we can compute a max width based on the window width, but that won't solve the cursor problem.
It's probably still worth it. We should try to find a sensible default; if thats not enough we can also add an option to configure the number of columns, similar to lsp_hover_max_lines
What should we do with long lines, soft-wrap them or truncate? We already truncate lines beyond lsp_hover_max_lines.

I think soft-wrapping would make most sense, but that's just my intuition

we now have lsp-hover-buffer (bound to H in the lsp user mode), maybe that's a good alternative


Feedback Sessions Improvement

This issue will host feedback received from our walkthrough sessions of balena Getting Started
Andre: https://docs.google.com/document/d/13mRBuUuT6dc8U1acNl0od3vdxZs1DLyNpZvnUwFGEZ4/edit

File has been deleted


Add support for COMMAND SET VMRELOCATE * DOMAIN Z15ONLY

Add support for COMMAND SET VMRELOCATE * DOMAIN Z15ONLY
so that we can set those domain values in the code to provide granularity

@bjhuangr another one :)


Working with react-hot-loader

Thanks for creating this amazing tool!
We love it so much that we want to use it as a playground when we develop our react component library. But we couldn't find a way to integrate rsg with react-hot-loader, which requires webpack.
Is there an easy way to do this? Or maybe we can extract the core logics from rsg to a separate module so we can develop a webpack loader using that?

I don't think there's an easy way - it would require refactoring since browserify is mixed into the code / workflow.
The authors of this project is pretty responsive to architectural changes - I wouldn't hesitate in trying to refactor the project to selectively use browserify/webpack and would recommend that if you have the time, give it a try.

Forked as https://www.npmjs.com/package/rsg-alt


How to use Lookup Filter to Video?

I can use lookup filter to Still photos. But don't know how to use look filter over a Video.
Is there any way to add lookup filter in AVPlayer?

You can read the video CVPixelBuffer and then add lookup filter.
You can see if Harbeth is what you want!