Secondary Display Support

I've been using the preview version of SCRCPY Remote for a little over a week now and I'll be honest - The sheer potential for me has been massive and i believe it's a very productive tool. Once I've confirmed the full extent of it's feature set, I won't hesitate to purchase the full version. I've been able to mirror my Samsung s10e's phone screen with touch input on my iPad with this app and I want to be able to go one step further.

In this image attached is a .bat script I run on my PC to access the second display on my phone while I'm running Samsung Dex on my PC. The --display 2 parameter prompts SCRCPY to mirror the secondary screen on my phone and it speeds up the user experience and productivity on my device. Since SCRCPY Remote is based on the PC version of the software, I was hoping it could be implemented so that accessing the Second display would also be possible in the mobile version.

It has supported add &display-id=2 on URL Scheme, please update to latest TestFlight version.


Settings not available

Hi,
after changing settings to switch audio device with right mouse button, I cant find way to open settings.
Reinstall do not "forget" previous install settings.
How can I access settings?

According to the settings "Right-clicking tray icon opens ... menu when AudioSwitch is open, otherwise quick-switches device".
So, just do a left-click to open the AudioSwitch UI, then do a right-click to access settings menu.

@vdesmet93 thanks for your reply
I made settings quick-switches device option
Now when I do right click I get device switch, left-click does nothing.

I can confirm: On Windows 10 Anniversary Edition, with the above option enabled, there is no way to bring the settings UI up again. Right click switches devices, left click does nothing. I repeat: left clicking the tray icon in this mode does exactly nothing. I am completely locked out of settings now.

My issue "disappeared" after some time
On Sun, 21 Aug 2016, 22:02 Vincent de Smet<EMAIL_ADDRESS>wrote:

Ok, I can't reproduce it on my PC, and I'm not the developer so I don't
know what causes the issue.
But what you should try is, is to edit the settings file manually.
It's located in C:\Users\USERNAME\AppData\Local\AudioSwitch\Settings.xml.
Open the Settings.xml file in an editor, and change the value for
QuickSwitchEnabled to false.
It will probably look like this
true
change it to:
false
Be sure to close the AudioSwitch app first(via Task Manager), then open
the Settings.xml file, edit the file, save it and reopen AudioSwitch.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sirWest/AudioSwitch/issues/88#issuecomment-241275220,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACzuAm5vYjO17AKwRukqVCqTKK6hWfPFks5qiKDXgaJpZM4JQhj8
.


App Engine Standard in Golang

Created a basic sample for Golang using Google App Engine Standard Env. Bot simply returns the text that was sent to it.

Sure once I get some time I'd be happy to do it.

Looks like this effort has stalled (no worries). Closing for now.


cache: allow to set a local proxy endpoint for s3

Hi folks!
At Wikimedia we use Tegola on Kubernetes and recently we noticed a performance regression when the internal S3 endpoint changed its TLS certificate (more info https://phabricator.wikimedia.org/T344324). We currently use version 0.19.x, we haven't tested the more recent ones, but we'd like to use a local sidecar/proxy to improve HTTP connection pooling and similar settings.
We are currently connecting from the pod directly to the internal S3 endpoint, and we may explore other alternatives if you don't like the one proposed in this patch. The only one that comes to mind is adding explicit settings to tune HTTP connection pooling and similar in tegola's AWS sdk config for S3.
Technical details:
If Tegola is configured to use a s3 cache endpoint like http://localhost:1234, the AWS request signing step is not done correctly and the real S3 endpoint will return a HTTP 403 stating that the request signing header value doesn't match what it expects.
This is a typical use case in k8s, where the HTTP connection go through a local sidecar/proxy.
In our case, we have an internal S3 endpoint (implemented via Openstack Swift) and we noticed an increase in CPU usage in the pod running tegola when the TLS cert of the S3 endpoint changed (probably due to high requirements for the Cipher suite). We would like to implement in the local proxy connection pooling and other similar performance improvements, without necessarily changing any of the Tegola's code or settings. We'd also get HTTP metrics for free from the sidecar, without the need of instrumenting Tegola.
Let me know your thoughts! Thanks in advance :)

Pull Request Test Coverage Report for Build e5178b896-PR-992
Details

10 of 23 (43.48%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.009%) to 46.713%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cache/s3/s3.go
10
23
43.48%

Totals

Change from base Build 5563b2dd0:
-0.009%

Covered Lines:
6551

Relevant Lines:
14024

💛  - Coveralls

Hi @ARolek! When you have a moment: what do you think about the PR? It is running in Wikimedia production at the moment, looks working as expected :)

👋 @elukey I will have some time tomorrow to give this a review. Thanks for your submission!


Mast: Watch snapdeal[\W_]+lucky[\W_]+draw[\W_]*+winners

Mast requests the watch of the watch_keyword snapdeal[\W_]*+lucky[\W_]*+draw[\W_]*+winners. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

snapdeal[\W_]*+lucky[\W_]*+draw[\W_]*+winners has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


SPFx Application Customizer, placeholder not re-rendering on page load

Category

[x] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
I've developed an App Customizer/Extension and installed it on a Communication Site. When a page loads the solution should fetch metadata about the page from the Site Pages library and show that metadata in the Bottom PlaceHolder. The metadata shown is FirstPublishedDate and Created By.
Observed Behavior
When i click on a page's URL (we'll call it "PageA.aspx") and the page loads my Bottom Placeholder does not load at all. Refreshing PageA.aspx by hitting F5 brings up the placeholder with the correct metadata. If i navigate to PageB.aspx from PageA.aspx the placeholder from PageA.aspx is still showing, the placeholder is not re-rendered with PageB's metadata. Again, hitting F5 brings up the metadata for PageB.aspx.
When navigating between pages i can clearly see that all content on the page is reloaded except my Bottom Placeholder which does not even "flinch" on each page load.
In Chrome Dev Tools i can see that the script files for the App Customizer are loaded but the code does not run. I've tried setting breakpoints in the onInit function but they are only hit when reloading the page completely, not when navigating to the page for the "first time".
Steps to Reproduce
I followed this guide when developing the customizer: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/build-a-hello-world-extension
I have another App Customizer with almost the same functionality with the same problem.

I just went through this guide once more and the exact same problem occurs: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/using-page-placeholder-with-extensions
This time i set a time stamp to the Top and Bottom placeholders. The placeholders are shown directly when running GULP SERVE and the ?debugManifestsFile= query string parameters are provided.
Navigating away from the initially loaded page makes the ?debugManifestsFile= query string dissappear and the Placeholders should not render right? But the placeholders are still there with the same time stamp as on the previously loaded page. I can navigate to several different pages and the placeholder/time stamp stays the same.
Is it supposed to act this way?

In order to modify the behavior of the application customizer I would recommend hooking up a callback to the navigated event.
In your onInit method you should add something like this.context.application.navigatedEvent.add(this, updateData)
The placeholders changed event triggers when the placeholder changes, but going from one page to the other doesn't change the placeholder themselves.
The application navigated will be triggered after doing the navigation, and the context information should be now up to date.

Hi!
Perfect, that seems to have solved my problem.
Thanks!


Add GeoCAT data to the website

This PR realizes:

#5
#9
Reorder the existing entries in publications.yml in a descending chronology
#11

Let me finish adding the publications as well, then I will ask reviews

Let me finish adding the publications as well, then I will ask reviews

Finished now


reputation: start using IDs in reputation commands

Not being able to use GiveRep, TakeRep and Rep commands with IDs and having to resolve to user mentions instead, has been an inconvenience when using the reputation system. This PR aims to fix this issue by using dcmd.UserID instead of dcmd.User. Tested it on a self-hosted instance and it seems to work fine, wouldn't have PRd if it wasn't for @mrbentarikau showing how their bot does it.

Does userid work with user (nick)names? For example, -rep lemmecry works currently (and it should keep working with this change, imo).

This was done in #1198 so closing.


Fix Rails 7 autoloading issues with SolidusPaypalCommercePlatform

Steps to reproduce

Create a fresh Rails 7 app.
Install Solidus master in the app.
Run rails g solidus:install.
Choose PayPal as the payment method.

Expected result
The installation process should complete.
Actual result
The following error is returned:
/home/gsmendoza/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/solidus_paypal_commerce_platform-0.3.2/lib/solidus_paypal_commerce_platform/engine.rb:18:
in `block in <class:Engine>': uninitialized constant SolidusPaypalCommercePlatform::PaymentMethod (NameError)

Preliminary changes
In order for this PR to pass CI, I have also fixed existing RuboCop offenses in the codebase.
Known issues
When I run bundle exec rake locally, I get the following error:
An error occurred in a `before(:suite)` hook.
Failure/Error: //= link spree/backend/all.js

Sprockets::FileNotFound:
  couldn't find file 'spree/backend/all.js'
  Checked in these paths:
    /home/gsmendoza/repos/solidusio-contrib/solidus_paypal_commerce_platform/spec/dummy/app/assets/config
    /home/gsmendoza/repos/solidusio-contrib/solidus_paypal_commerce_platform/spec/dummy/app/assets/images
    /home/gsmendoza/repos/solidusio-contrib/solidus_paypal_commerce_platform/spec/dummy/app/assets/stylesheets
    /home/gsmendoza/repos/solidusio-contrib/solidus_paypal_commerce_platform/app/assets/javascripts
    /home/gsmendoza/repos/solidusio-contrib/solidus_paypal_commerce_platform/app/assets/stylesheets

However, bundle exec rake runs fine in CI.
I'm able to work around this issue locally by running bundle exec rspec instead.
Since this issue doesn't break CI, I'll investigate it separately.
Next steps
We'll need to release a bumped version of SolidusPaypalCommercePlatform with this fix in order for solidus:install to pick up this change.

What about creating some convenience methods in the parent class of the engine to avoid duplicating this idempotency logic in all extensions?

IMHO, I think idempotence logic can be very variable and specific. I don't think we can make a good abstraction on top of it. It'd be more like a helper module, and being in a different package, the maintenance work would probably make it not worth it.

@kennyadsl I agree with @waiting-for-dev in that idempotence logic can be variable and specific. Nonetheless, for the statements in the solidus_paypal_commerce_platform.add_payment_method initializer, I can think of two ways to refactor those statements:

Convert the collection objects from arrays to sets.
Create an array helper that pushes items to an array if they exist there yet.

@kennyadsl Were you thinking along these lines when you suggested creating convenience methods to avoid duplicating this idempotency logic in all extensions?

Definitely on the long term, I think it's a good idea to convert all these arrays into sets: https://github.com/solidusio/solidus/blob/master/core/lib/spree/app_configuration.rb#L609-L678. Can't think at any reason why it's ok to push duplicate items on all of them.
Unfortunately, if we make that change in core today, it will be only available in 3.2 and we still need to support the same behavior for the other older versions (in this case that helper method would be ok). Even if, if we do support Rails 7 starting from 3.2 only, and this autoloading issue is only present in Rails 7, maybe it's ok to just change that preference value into a set?

IMHO, I think idempotence logic can be very variable and specific. I don't think we can make a good abstraction on top of it. It'd be more like a helper module, and being in a different package, the maintenance work would probably make it not worth it.

Let's change some other extensions before trying to anticipate if we need or not need an abstraction here, and how it should look like. 👍

Even if, if we do support Rails 7 starting from 3.2 only, and this autoloading issue is only present in Rails 7, maybe it's ok to just change that preference value into a set?

Yeah, I also thought about the backward compatible issue. However, what Rails 7 is doing here is fixing a bad practice, so it's good for the code to be within .to_prepare  blocks, and they need to be idempotent from before Rails 7 🤷♂

Yep, but I think it's legit to remove the bad practice only on new Solidus installations. Not ideal, but we won't be dealing with some extra complexity. An alternative could be backport the array -> set change on old versions of Solidus as well, but I'm not sure we can consider that a patch level change, as you said, it's more a bad practice fixing.

Merging since this solves the problem. If we want to keep working on the discussed topics we can open a separate PR.


ReportToFile

Pull Request Test Coverage Report for Build 897654365

46 of 46 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 80.474%

Totals

Change from base Build 894738640:
0.3%

Covered Lines:
2308

Relevant Lines:
2868

💛  - Coveralls


Add GLM.jl models

Codecov Report

Merging #5 (1112c1c) into main (c830cf3) will decrease coverage by 0.19%.
The diff coverage is 95.45%.

@@            Coverage Diff             @@
##             main       #5      +/-   ##
==========================================
- Coverage   96.07%   95.89%   -0.19%
==========================================
  Files           5        6       +1
  Lines          51       73      +22
==========================================
+ Hits           49       70      +21
- Misses          2        3       +1

Files
Coverage Δ

src/StatsLearnModels.jl
100.00% <ø> (ø)

src/models/glm.jl
95.45% <95.45%> (ø)


Public struct fields vs getters/setters

@juniperparsnips commented on #8 that it would be useful to decide when to give a struct getter and setter methods for fields, and when to simply make the fields public.
Rink Runtime started as almost a direct translation of C#, so it used almost all of getters and setters. I thought many were unnecessary in the Rust version.
Some pros of getters:

Easy to add extra checks and logic to the functions
API never changes
Internal details can be hidden

Some pros of public fields:

No boilerplate to write
Easy to find important methods in impls
If needs extra logic later, Rust compiler makes it easy to switch API to getters
Can be restricted to e.g. pub(crate), hiding some internal details

My personal feeling for the cleanest code is to use as few getters and setters as possible, only when needed for doing extra logic, then restrict privacy for the fields only to the scopes they're needed.

I would agree with you. Most of the fields are going to be internal to the crate, so there is no point in creating getter/setter everywhere. As you said, only if there is some complicated logic to set the fields it makes sens to have a setter.

It sounds like we should just proceed with mostly public fields for now, then do a pass over them all sometime, where we restrict visibility e.g. pub(crate) to only the parts of the codebase where it's needed.


Update hellonode.md

updating instructions for people using Docker Toolbox on OSX.
Referencing from https://github.com/boot2docker/boot2docker/issues/412#issuecomment-145242855 proposed by @qguv

I signed it!

Thanks for doing this @kevinll!

Thanks!


add --parent-diff-filename for rbt post

All the logic is already there, only the command line option was missing. This helps (for example) with submitting a review for changes that depend on another review that hasn't been committed yet, which is sadly common in environments that don't use branches (ugh).

Hi. We don't use pull requests. Please post changes on https://reviews.reviewboard.org/


Form required fields do not trigger alert "Required field" if null value

Describe the Bug:
Users should be alerted to required field (even if the field has never had a value, e.g. Position Title)

Probability (how likely the bug is to happen, scored from 1-5): 5
(For example, probability of 5 is something like "it happens to all users every time they log in."
Probability of 1 "only happens to certain users when a really specific and unlikely path is followed.")
Effect (how bad the bug is when it does happen, scored from 1-5): 5
(For example, effect of 5 is "the entire app crashes and makes it unusable for all users" or "the bug causes the wrong data to be saved, with critical information (e.g. payment) being affected."
Effect of 1 is "It makes some styling look a little bit weird.")
Steps to reproduce the behaviour:
Screenshots:
Additional information:

OS: [e.g. iOS]
Browser: [e.g. chrome, safari]
Version: [e.g. 22]
Additional context

https://github.com/rjsf-team/react-jsonschema-form/issues/289
According to this an empty string is still a valid string in the JSON schema spec. What is happening here is in User.tsx the default formData passes in empty strings for fields if there is no data to pre-populate it with causing this to pass validation.
The easiest fix would be to alter UserProfileFormData types to accept string | undefined and change all the "" empty strings to undefined in the User.tsx formData.
We could also look at seeing if we can alter the form validator to trigger an error if a field has empty strings as it is a bit unintuitive even if it is valid by the JSON schema spec.

CHANGES:
export interface UserProfileFormData {
  first_name: string | undefined;
  last_name: string | undefined;
  position_title: string | undefined;
  email: string | undefined;
  phone_number: string | undefined;
}

      formData = {
        first_name: names?.[0] ?? undefined,
        last_name: names?.[1] ?? undefined,
        email: session?.user?.email ?? undefined,
        phone_number: undefined,
        position_title: undefined,
      };

RETURNS:
position_title is still deemed as valid...
(Perhaps) The reason this data passes validation is because the undefined value is considered a valid value for a property in TypeScript when the property is marked as string | undefined. TypeScript allows undefined to be assigned to a property even if the property is marked as required in the schema.
Also tried change:
export interface UserProfileFormData {
  first_name?: string;
  last_name?: string;
  position_title?: string;
  email?: string;
  phone_number?: string;
}

Oh sorry @shon-button, I had just assumed the string | undefined would work. I did try setting some fields to undefined and it did fix the field improperly being validated that you had in the screenshot.


add CLContractHash

discussed here https://github.com/casper-ecosystem/casper-js-sdk/issues/327

it would be better to add CLContractPackageHash here too

yeah good idea @gyroflaw


set_up_benchmarks triggers error around AWSSDK

I've run the Ansible setup scripts on a native Ubuntu box, but after restarting, when I try to run  ./bin/set_up_benchmarks.sh, I'm getting errors about the AWSSDK library. My goal is basically just to profile faasm locally rather than on cloud providers, so if you can clarify the commands or environment variables I need to set, that should be sufficient.
/usr/local/code/faasm master*
❯ ./bin/set_up_benchmarks.sh
/usr/local/code/faasm/bench /usr/local/code/faasm
-- Found LLVM 9.0.1
CMake Warning at CMakeLists.txt:79 (find_package):
  By not providing "Findaws-lambda-runtime.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "aws-lambda-runtime", but CMake did not find one.

  Could not find a package configuration file provided by
  "aws-lambda-runtime" with any of the following names:

    aws-lambda-runtimeConfig.cmake
    aws-lambda-runtime-config.cmake

  Add the installation prefix of "aws-lambda-runtime" to CMAKE_PREFIX_PATH or
  set "aws-lambda-runtime_DIR" to a directory containing one of the above
  files.  If "aws-lambda-runtime" provides a separate development package or
  SDK, be sure it has been installed.

CMake Error at CMakeLists.txt:82 (find_package):
  By not providing "FindAWSSDK.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "AWSSDK", but
  CMake did not find one.

  Could not find a package configuration file provided by "AWSSDK" with any
  of the following names:

    AWSSDKConfig.cmake
    awssdk-config.cmake

  Add the installation prefix of "AWSSDK" to CMAKE_PREFIX_PATH or set
  "AWSSDK_DIR" to a directory containing one of the above files.  If "AWSSDK"
  provides a separate development package or SDK, be sure it has been
  installed.

-- Configuring incomplete, errors occurred!
See also "/usr/local/code/faasm/bench/CMakeFiles/CMakeOutput.log".

Ah yes, there is a switch to turn off the AWS support but it was "on" by default and missed a couple of things. The PR above should have fixed it and it's now off by default too. Thanks again for the interest and for persevering! As always let me know if there are any more issues.

I'm not sure if I didn't notice it properly before or if something has changed (probably the former), but the setup playbook is not running to completion. I can't accurately validate this fix until those issues are resolved.
Thank you for your help with this! I appreciate the responsiveness! 👏

Ok, I was able to figure out a workaround, and this didn't hang on the AWS SDK any longer. This can probably be closed.

Ok great! Which setup playbook do you mean? The AWS one? I'll have a look and fix it.
Cheers

Ah just seen all the other issues, thanks for the detail! I'll dig into them.


Update version.py version to 1.2.0.dev for docs

Part of the version 1.1.0 release process (step 10 for a minor release).

Codecov Report

Merging #1761 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1761   +/-   ##
=======================================
  Coverage   98.58%   98.58%
=======================================
  Files          59       59
  Lines        2896     2896
=======================================
  Hits         2855     2855
  Misses         41       41


Alpha is multiplied with RGB

Hi Guys,
I don't know what I'm doing wrong, but it seems that the alpha is always multiplied with the rgb values. Do I need to set any specific values? I can't find a tutorial for using pngjs2. (I mean when saving the file)

the output should be an array of numbers, size equaling width * height * 4. Each pixel is 4 bytes, R,G,B,A
pngsjs2 shouldn't be multiplying any alpha values, but it may depend on the png being parsed - is it all transparent png's you are having a problem with or just one? the readme is our documentation.

Hi lukeapage,
thanks for your quick reply.
Reading the files works absolutely fine for me, the RGBA values are all correct.
In:
var image = new PNG({ filterType: -1, width: 1024, height: 1024 });
fs.createReadStream(file).pipe(new PNG({ filterType: -1 })).on('parsed', function() {
  this.bitblt(image, 0, 0, Math.min(image.width, this.width), Math.min(image.height, this.height), 0, 0);
});

image.data contains all the correct rgba values,
Now I manipulate the data,
function setPixel(x, y, r, g) {
  var i = (y * image.width + x) << 2;
  image.data[i] = r; // r channel
  image.data[i+1] = g; // g channel
  image.data[i+3] = 10; // a channel
}

Out:
image.pack().pipe(fs.createWriteStream(file)).on('finish', function() {
  //...
});

I also tried with filterType: 0 but no difference.
To make it simpler:
var fs = require('fs');
var PNG = require('pngjs2').PNG;

var image = new PNG({ filterType: -1, width: 10, height: 10 });
for(var idx = 0; idx < image.width * image.height * 4; idx += 4) {
  image.data[idx] = 1;
  image.data[idx+1] = 2;
  image.data[idx+2] = 3;
  image.data[idx+3] = 4;
}

image.pack().pipe(fs.createWriteStream('test.png')).on('finish', function() {
  console.log("file saved");
});

Results in [0,0,0,4,0,0,0,4,0,0,0,4,...]
Doesn't matter which filterType I choose. Any Idea why this happens?

hrmm strange,  I will have to debug.

I think the issue is not in your lib but instead canvas is premultiplying the alpha. Which I didn't expect. I think this can be closed now.

great news,  thanks for letting me know.


Align with latest draft-shan-ppm-dap-taskprov

Reorder parameters in Prio3SumVecField64MultiproofHmacSha256Aes128

Add a length prefix to VdafConfig, QueryConfig, and DpConfig and
remove the inner length prefix.

Before merging I'm gonna remove some unwrap I realized aren't necessary and I'm going to add regression tests for dap02.

Rebased, added regression test, and removed some unnecessary panics.


performance / pragma warning - does _anchor need to be volatile when all exchanges are interlocked?

Although it is possible to perform an Interlocked.Exchange / Interlocked.CompareExchange on a volatile field, and as Microsoft notes, there are cases like this where the warning can be disabled.
However, my understanding is that, as long as all updates to the field are interlocked, the volatile modifier is not needed. The call to Interlocked.*Exchange will ensure that cache is flushed and that subsequent reads will get the updated value, as described in this answer on StackOverflow.
Perhaps there are certain cases where this is necessary; e.g. if you cannot guarantee that all updates will be interlocked, you might mark it as volatile just to be on the safe side. But that does not seem to be relevant for a private field like _anchor.
To improve efficiency and also remove the need for the pragma warning disable, I suggest removing the volatile modifier from _anchor. Or, if there is a reason why it is still required, for performance or otherwise, please advise.

It would be necessary to change 4 places where there is a direct assignment to _anchor, one in the constructor, two in InitializeFromCollection, and one in Clear, to use Interlocked.Exchange(ref _anchor, new Anchor(...)) instead. Beyond that it would also be advisable to mark _anchor as private rather than internal, to ensure that there is no uncontrolled access or direct writes to the field.


Update index.md

better Spanish wording

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Your PR was marked invalid almost automatically, because even though you checked box #2 (shown below), you did not actual do what it state.
 My pull request has a descriptive title (not a vague title like Update index.md)

Commits should have short but useful descriptions of what you are doing. It helps us in the review process. With the sheer volume of PRs we are getting right now, we focus on the ones where the contributor has made the effort to follow the process. You have no idea how many of the "update index.md" are just a bot making a one character change.
Just update your PR title and tag me and I will review it personally.


Adjust basic pages to use of GitHub (GH-8)

Remove (or demote) references to Mercurial and re-work the release process description.

Not ready to merge yet, as I haven't finished tweaking.
Why doesn't GH-8 in the title hyperlink to issue #8 ?


Remove ErrorInformationLeak state and fix channel recovery

Splicing makes the handling of multi devices more difficult, because an unknown spending tx could in fact be a splice tx. There was no real utility to the InformationLeak state so we remove it entirely.
There is another subtelty: when we recover from an outdated state, we also need to update the watches, because the recovered state may be one or several splices ahead. The easiest way to do that is to recreate the channel, just like if we recovered from zero.
This leads to a nice refactoring of the recovery process, where both cases (recover from scratch / recover from outdated) happen at the same place, in the Peer.

I slightly improved the peer tests in https://github.com/ACINQ/lightning-kmp/commit/8d4da59bd9505e595462b9548b1faa4638aa41f5 to verify that the restored state matches the latest state for which we sent a backup. Can you cherry-pick that commit?

Thanks, done in f9a574a.


Images not showing up and sometimes disappear

Is this a bug report or a feature request?
Bug Report
Environment
Environment:
React: 16.9
React native: 0.61.5
react-native-render-html: 4.2.0
Target Platform:
iOS (10.3)
With React Native 0.61.5 and iOS 13, the images in the html sometimes do not show up at all and sometimes if they do, they disappear after a moment is the focus changes from the view.

@Krypternite Are you still facing this issue?

I'm closing because this issue does not follow our contribution guidelines. We are working on our free time and need a full reproduction to investigate. You are welcomed to post a new compliant issue.


update pip 8.0.0 and its complication on Travis

pip is upgraded to 8.0.0 and the link to get-pip.py needs to be updated.
The site packages argparse and pyyaml on Travis are installed by distutils and the new pip refuses to upgrade them.  So I uninstall and reinstall them using sudo pip, which would load the site's 7.1.2 pip instead of the installed 8.0.0 one.
If you wonder why not just use pip 7.1.2 for everything at the very beginning, I tried, but it won't concede: https://travis-ci.org/simphony/simphony-framework/jobs/103801474

Aha!  Look at this:

PIP Release Note
8.0.1 (2016-01-21)
Upgrading a distutils installed item that is installed outside of a virtual environment, while inside of a virtual environment will no longer warn or error.

@itziakos PIP rolled back on their decision to remove the ability to uninstall distutils installed items until a future date.  Now the PR is trivial.

@kitchoi, since it looks that test-framework tests everithing and there is no time out we can probably remove the second build setup. Other than that :+1:

Yeah.  Merging.


meta data extraction

Hi,
I am using the parser interface to extract the meta data and content from documents. Is there any python wrapper to extract specific fields like author, creation time etc.. I see that the json key returned is different for different types of documents. It appears that java has an API to do this ?
Thank you.

I am sorry I think the json keys are the same across documents. Some of them are unavailable may be because the meta of the document does not contain them. Thank you.


Chnage whole frontend UI

currently my frontend is bland and boring use animations (framer motion) but also colours and designs to make the look of the website look nice

There are several components to change which are:

Login (done)
Dashboard
Quote
Settings Page
Add about me page
Add filter option on quote

Finished Quote page will now move onto the rest


soft_pmap requests way too much memory

When I use soft_pmap for SPMD over the leading dimensions of some arrays, the memory allocation is enormous (apparently requesting as much memory as vmap would).
In the case I'm using it, the leading dimension is ~2.9million. It appears that soft_pmap is requesting way too much memory, as I get this error:
RuntimeError: Resource exhausted: Failed to allocate request for 1.33TiB

When it should be requesting on the order of MB of memory. As a solution I have tried using pmap iteratively from the python shell but face some sort of race condition that prevents this #5065.
jaxjax==0.2.6
jaxlib==0.1.57

@mattjj I think you're the guy for soft_pmap stuff.

We're working to replace soft_pmap. It was always a placeholder for something better! cc @apaszke @jekbradbury @froystig
I'm not sure if you're running into a known issue or not, but there are known issues with soft_pmap and memory. If you could provide a repro, we might be able to advise a workaround. Or we might be able to advise you to start using the new thing, xmap, which generalizes and replaces soft_pmap. (I'm not sure if the new thing solves your use case yet though.)

Thanks @mattjj, so it sounds like at JAX you're putting more attention into the distribution side now? Is it possible to have a small  update on roadmap/timeline of some features?

Hi @Joshuaalbert! We've revamped the implementation of soft_pmap (in terms of xmap which really is a better tool for this job) and so hopefully your issue should be gone. Do you have any way for us to reproduce this, or do you think it's ok to close this one?

I haven't tried to reproduce this. Could you give some good documentation of xmap and when it should be used?

Here you go. I'll close the issue for now, but please reopen in case you do manage to get a self-contained example that we could use to reproduce the problem.


lnrpc: Add subscribe peer events rpc

This PR adds a subscribe peer events rpc stream, following on from #3354. The motivation for adding this stream would be to provide information for people who want to write their own autopilot logic external to LND.
Pull Request Checklist

[x] All changes are Go version 1.12 compliant
[x] Code is commented, has been formatted with go fmt and lines are wrapped at 80
[x] Running make check, go vet andmake lint ok
[x] All commits are logically structured, build properly and pass tests

Code LGTM! Question more becomes whether this RPC is useful to expose

I think that it's useful in the context of people building their own channel closing logic? If we're going to expose the final channel insights metrics (rather than time series), be it an all time value of with start/end params, I think that it makes sense to expose the individual elements over RPC so that people can easily build from scratch if they want to.

LGTM. As far as the RPC, are there any plans to extend it with other notification types that could make it more useful to expose?

None at present, but I can look into it if online/offline aren't enough to justify adding a new endpoint?

Also useful for wallets that want to show the number of connected peers without having to poll listpeers I think :)

This one has been sitting around for a while now. Should I rebase for merge or close because we don't want to add this rpc endpoint?

I think it is still useful, but we can let it sit around a bit longer until someone has a specific use case for it in mind.

Ok cool 😀 didn’t want to leave it hanging around without following up.

I have a usecase :)
In my Wallet, I display a list of currently connected peers. Wherever possible, I use subscriptions to make the app feel more responsive and dynamic. Subscribing to this means I don't have to implement pull to refresh and save some bytes of data transfered.
https://github.com/fusion44/sendmany/blob/master/docs/screenshots/screenshot_3.png

I have a usecase :)

Awesome!
Rebased on master just in case we want to merge this :D

Needs another rebase! 😅

rerebased 😂 going to add it to the 0.9 milestone so it gets some attention


Added setPlaceholder for RichEditor

changed two files: editor.js and RichEditor.js
For adding new props "setPlaceholder" to the component

LGTM


backup: unblock worker by releasing lock as soon as possible

What have you changed?
Backup is designed with concurrency in mind, TiKV allows running backup in multi-threads. However recent change makes workers hold a lock during the entire backup, as a result, workers are blocked by each other.
What is the type of the changes?

Bugfix (a change which fixes an issue)

How is the PR tested?

Manual test (add detailed scripts or steps below)
Run br backup full -s "local://tmp"

Does this PR affect documentation (docs) or should it be mentioned in the release notes?
No.
Does this PR affect tidb-ansible?
No.

/run-all-tests

/release

/run-cherry-pick


Added voice_chat to eval list

Signed-off-by: Daniel Brown<EMAIL_ADDRESS>

I think we should allow eval in the whole VOICE category instead of manually allowing every channel.

I think we should allow eval in the whole VOICE category instead of manually allowing every channel.

Fair point, changing now.


Total cols must be divisible by 2

Hello,
Thanks for taking time to look into this issue.
I am attempting to follow the config template running it with sky130 tech config, but got below error.
Characterization is disabled (using analytical delay models) (analytical_delay=False to simulate).
ERROR: file sram_config.py: line 132: Invalid number of cols including rbl(s): 257. Total cols must be divisible by 2

The config used is
# Data word size
word_size = 32

# Number of words in the memory
num_words = 1024

# Technology to use in $OPENRAM_TECH
tech_name = "sky130"

# You can use the technology nominal corner only
# nominal_corner_only = True

process_corners = ["SS", "TT", "FF"]
# process_corners = ["TT"]

# Voltage corners to characterize
supply_voltages = [ 1.8 ]
# supply_voltages = [ 3.0, 3.3, 3.5 ]

# Temperature corners to characterize
# temperatures = [ 0, 25 100]

# Output directory for the results
output_path = "temp"
# Output file base name
output_name = "sram_{0}_{1}_{2}".format(word_size,num_words,tech_name)

# Disable analytical models for full characterization (WARNING: slow!)
# analytical_delay = False

Debug output
Technology: sky130
Total size: 32768 bits
WARNING: file globals.py: line 633: Characterizing large memories (32768) will have a large run-time.
Word size: 32
Words: 1024
Banks: 1
Write size: None
RW ports: 1
R-only ports: 0
W-only ports: 0
DRC/LVS/PEX is only run on the top-level design to save run-time (inline_lvsdrc=True to do inline checking).
DRC/LVS/PEX is disabled (check_lvsdrc=True to enable).
Performing simulation-based characterization with ngspice
Trimming netlist to speed up characterization (trim_netlist=False to disable).
ERROR: file sram_config.py: line 132: Invalid number of cols including rbl(s): 257. Total cols must be divisible by 2

Thank you!

Due to the bitcell lithography, sky130 requires an even number of rows and columns for the single port macros. We also use a dummy row and replica column for timing so this adds one of each. To even it out, you need to add a spare row and column with:
num_spare_cols=1
num_spare_rows=1

Thank you!


Rename bin/test to bin/verify-exercises

No, we don't (yet) explicitly mention the test script: https://exercism.org/docs/building/tracks/new/setup-continuous-integration


Emit warning-level logs to syslog when log directory is unset

Description of change
We disabled logging to a file by default in #373. But we'd still like to have a default home for high-severity messages, which is exactly what syslog is for.
This PR is the bare minimum to get tracing-style structured logging into syslog. I hardcoded the verbosity to warn,awscrt=off and didn't think too hard about configuration: the syslog logger is on whenever the --log-directory flag isn't set. Because I didn't think too hard about it, I also didn't update docs/LOGGING.md yet.
This PR is two commits:

Move the logging module from main.rs to its own file, just because it was getting big. No other code changes here.
Actually implement the syslog logger and plumb it into logging.rs.

Does this change impact existing behavior?
No.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).

Plan to finish review here tomorrow morning. Needed to learn a bit about syslog and tracing_subscriber layers.


Added WASD keys and speed variable

added WASD keys to move the snake and a variable SPEED to customize it to add different levels of difficulty in the future

Hi, thanks for the PR! I like extracting SPEED, but in terms of direction control, I'd like to keep the Vim style :)

de gustibus is not disputandum :)
so this is the reason for which I added also WASD combination
anyone can use the preferred keys, both works


install clair local and raise error "pq: column "parent_id" does not exist"

go/bin/clair --config=config.yaml
{"Event":"running database migrations","Level":"info","Location":"pgsql.go:216","Time":"2018-08-08 17:01:47.110491"}
{"Event":"pgsql: an error occured while running migrations: migration 2 failed: pq: column \"parent_id\" does not exist","Level":"fatal","Location":"main.go:96","Time":"2018-08-08 17:01:47.118618"}

Please check if your database is clean/empty/new.

@KeyboardNerd My db is not empty. At last I change to clairctl with clair, and run successfully. Thank you.


cmd/govim: investigate the use of completeopt+=popup in Vim

As of https://github.com/vim/vim/commit/576a4a6ff14da876d7c4418e5f27e926fcfa8d2a, Vim now has the ability to show extra completion information (e.g. docs) in a popup window.
We should investigate the use of that.
Dependent on upgrading to a later version of gopls, which is currently https://github.com/myitcv/govim/pull/444

Closing in favour of #392


Cleaning up atom instructions

Just some clean up in the wording and making sure the images are properly sized :)

r+, but could you rebase please?

Messed up the git branch. Will open a new pr with updates

updates in pr #620


Missing support for some primitive types: char, byte, short, long

Issue Description:
The current Rust-JNI integration lacks support for some essential Java primitive types, including char, byte, short, and long. This limitation is causing compatibility issues when attempting to pass these types between Rust and Java/Kotlin codebases.
Steps to Reproduce:

Open the sample project.
Remove the rust folder if it exists.
Run the project to regenerate the rust folder.
Remove the rust folder again.
Modify the auto-generated sayHello method in the MainActivity to use one of the unsupported primitive types (char, byte, short, long).
Run the project again

Expected Behavior:
The Java/Kotlin primitive types should be fully supported and seamlessly transferred to Rust, ensuring correct type handling and conversion without compatibility issues.

I checked out PR #7 and It looks good, though the tests are a bit hard to follow.
From this I can see that one of your goals is to also completely generate the Class with the native functions without any work from the user. I have recently been working on a Rust crate that could help with this. Let me know if it would be something you would be interested in using for this project.

Oh and right now the crate isn't published and doesn't have any documentation page, but I should be uploading that very soon.

about the goals: My minimal is to make it as easy to work with Rust as it is with C++
Could you explain more about that other project and how that could help us here?  Feel free to ping me on discord:  andre.ce89#5525
about the doc: I agree, there are some gaps between the recent changes and the doc.

Fixed by https://github.com/andrefigas/RustJNI/pull/7


Github standards should only be in wiki pages

The github standards should only be in the wiki pages and the readme should link to it.

Issue has been resolved.


Fix incorrect generation of iat in jwt

in src/helpers/auth.js, you have a helper function to generate the iat which indicates the age of the jwt.
iat: Math.floor(Date.now / 1000),

will always give
 Nan

It should have been
iat: Math.floor(Date.now() / 1000),   //notice the corrected braces after Date.now

Your API infact seems to only accept incorrect iat.
when we pass a valid iat on prod - we get the error
Token used before issue

This error and validation did not happen on staging

Hey, we chose to use Date.now as it'll be computed at runtime.  A more detailed explanation can be found here.
Date.now does work. PFB the tokens, it does contain the iat property.
> jwt.sign( { aud: "123", iat: Math.floor(Date.now() / 1000), jti: uuid.v4() }, '123' );
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiIxMjMiLCJpYXQiOjE2MjYyMzkwMzAsImp0aSI6IjliN2QwMWJlLTZhNzUtNDZjMS1iNjU4LTQwZWI2ZjdkMzNlZCJ9.CjMu47eLd_CS695P51zDORK25nPOA_JdD1ON65ia7d0'

> jwt.sign( { aud: "123", iat: Math.floor(Date.now / 1000), jti: uuid.v4() }, '123' );
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiIxMjMiLCJpYXQiOjE2MjYyMzkwMzQsImp0aSI6IjdiOTU4ZTdhLWQxNTktNDM0YS05YzUwLTUyNmM2NzFlZGU1ZCJ9.VlPydKuZyRusQJQRD-D1Z8qUbAs8gwnK4rMahASpCiI'


suggestion on project and perspective

Describe the bug
https://www.berrycast.com/conversations/908f28be-1df2-5cdc-bba6-468faef4f26e

https://www.berrycast.com/conversations/d9f7466b-c6c9-57f0-a49b-b0bf0067e46e


Sorting report by no defined key

The "Phys. Inventory List" (REP722) is not possible to sort by bin.
I want some way to add sorting fields to a report, build in AL, which does not appares in the table key.
I have red through "Creating Keys for Base Application is Essential #730", as you do not support adding Bin Code to the key for table "Item Journal Line (83)". The forum also comment "field mirroring", but find it as horrible workaround.

This is currently not possible until #730 is solved.


Upgrade disgord version

Hi, just notifying that Discord decided to do a breaking change to their API that takes place within less than a month. Because of this I suggest upgrading to v0.11 (the latest release) such that your application does not cease to function. Sorry about the inconvenience!
Source: https://github.com/discordapp/discord-api-docs/pull/967

Ops: v0.10.4 should also support this, in case upgrading from v0.10 to v0.11 causes issues.

Thanks for the heads up!
Fixed in commit a25be55 and release v0.0.7


Live+Beta with one command?

I have 2 apps in instabug, one for TestFlight, the other for the App Store. I was planning on just uploading my DYSMs to both apps when I release for either. My thought is it's harmless to upload a DYSM for a build that doesn't exist, since Instabug won't use it
    download_dysm(...)
    instabug_official(
      api_token: instabug_beta_application_id
    )
    instabug_official(
      api_token: instabug_beta_application_id
    )
    clean_build_artifacts

It looks like running instabug_official deletes the DYSM, so the first call succeeds, the second fails with
[16:04:23]: Fastlane dSYMs file is not found! make sure you're using Fastlane action [download_dsyms] to download your dSYMs from App Store Connect

Is there some way to upload my DYSM to both apps in one command?
If not, how should I fix this? Do we need to patch this command to not delete the DYSMs after uploading? I'd rather have that happen than me passing through whether I'm uploading to TestFlight or the App Store, and picking which api_token to use based on that

Hi @AndrewSB,
In order to understand you well. I think the TestFlight build is the same build as the AppStore build. So, Why do you need to upload it again?
Note: If you upload the DSYMs on the beat token and you got a crash on the live one it will be symbolicated as long as the UUID is matched.

Got it. I can illustrate better with an example of a set of deployments:
1.3 (1) -> TF
1.3 (2) -> TF
1.3 (3) -> TF
1.3 (3) -> App Store
1.3 (4) -> TF
1.3.1 (1) -> TF
1.3.1 (1) -> App Store
So if I understand you correctly, I can simply upload DYSMs to the beta api_key, and crashes will be symbolicated for either build, assuming the hashes match.

Yes, Exactly 👌
Also, please tell me if anything go wrong.


Latex Memory Size Issues

Very nice that you realized violin plots for tikz. Thank you!
Unfortunately, violin plots often result out of many data points.
Do you have a solution for memory size issues with latex in mind?

Hello @Ahoybrause,
Thanks for the kind words.
Are you using pdflatex to compile your documents? If yes, the problem might be solved by switching to the lualatex executable (which also comes with most TeX distributions and should work as a drop-in replacement, requiring no modifications of the source files).
If such change is impossible, you could increase the amount of memory available to TeX. This is a distribution-specific configuration, and without further details nothing else can be said. However, instructions for TeXLive (and similar distributions) and MiKTeX are available in sections 6.1 and mainly 6.2 of the manual of the package pgfplots.
Specifically about tikzviolinplots, you can change the number of samples (with the samples option, for both \violinplot and \violinplotwholefile). Reducing it increases the number of points that can be plotted without problems; however, the smoothness of the curves is visibly impacted for very low values.
Finally, it might be useful to check if the number of data points can't be, somehow, reduced; plotting your curves with only a small random sample of your data points might be, visually, indistinguishable from plotting your whole data set.
Best regards,
Pedro Callil.


IA-3102: Permissions : Org unit “view only” permission

Explain what problem this PR is resolving

Permissions : Org unit “view only” permission
Related JIRA tickets : IA-3102

Self proofreading checklist

[x] Did I use eslint and black formatters
[ ] Is my code clear enough and well documented
[ ] Are my typescript files well typed
[x] New translations have been added or updated if new strings have been introduced in the frontend
[ ] My migrations file are included
[x] Are there enough tests
[ ] Documentation has been included (for new feature)

Changes

Add new Organisation units - Read permission
Check on create_org_unit and edit org unit the Organisation units management permission
Hide some button and action if the user has not Organisation units management permission on frontend

How to test

Create or update a user and remove the Organisation units management and add Organisation units - Read permission to it
Check all the actions for create and update org units are possible

Print screen / video
Screencast from 2024-08-19 14-23-35.webm
Notes
Things that the reviewers should know: known bugs that are out of the scope of the PR, other trade-offs that were made.
If the PR depends on a PR in bluesquare-components, or merges into another PR (i.o. main), it should also be mentioned here

I've tested it locally by adding just the read-only perm to a user but I can't see any org unit in the list and I've got a bunch of 403.
Is this normal?
Screen.Recording.2024-08-21.at.15.54.46.mov

That's right, I omitted the read permission on the groups, data source. It is fixed with the commit

Almost good to me.
My last concern is a UI problem:

if you can just READ org units
only form buttons are removed
so you still see inputs elements
this can make a user believe an input can be changed

I guess it's OK because there are no spec on this in the Jira ticket…
What do you think?

Almost good to me.
My last concern is a UI problem:
* if you can just READ org units

* only form buttons are removed

* so you still see inputs elements

* this can make a user believe an input can be changed

I guess it's OK because there are no spec on this in the Jira ticket…
What do you think?

I think you are right we should disable the inputs too. Thank you, let me fix it!

Almost good to me.
My last concern is a UI problem:
* if you can just READ org units

* only form buttons are removed

* so you still see inputs elements

* this can make a user believe an input can be changed

I guess it's OK because there are no spec on this in the Jira ticket…
What do you think?

I'v just pushed the commit about disabling inputs when the use has not org unit managament permission. But there is on input  <InputComponent                 keyValue="aliases"                 onChange={onChangeInfo}                 value={orgUnitState.aliases.value}                 type="arrayInput"             /> Which I made a fix but which I think the change(disabled should be added to bluesquare-component)


Refactor collector image build

Description
This refactor makes building of the collector image more streamlined.
This is achieved by removing the intermediate bundle and directly
copying the needed files into the image itself.
Some other minor changes have also been made across the repository:

Created a single make target for running linters on CI.
Created a dedicated CI image that replaces the old root/src images in
OSCI.

Checklist

[x] Investigated and inspected CI test results
[ ] Updated documentation accordingly

Automated testing

[ ] Added unit tests
[ ] Added integration tests
[ ] Added regression tests

If any of these don't apply, please comment below.
Testing Performed
Rehearsed on openshift/release#32351

/test all


Remove ballerina from pkg installer

Purpose

Removes ballerina from mac installer

Codecov Report

Merging #345 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #345   +/-   ##
=======================================
  Coverage   65.36%   65.36%
=======================================
  Files          28       28
  Lines         716      716
  Branches       51       51
=======================================
  Hits          468      468
  Misses        214      214
  Partials       34       34

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 c0e79d8...235a0cb. Read the comment docs.


Added the ability to use oninput instead of onchange

This is created so that it can be enabled that when a value is written it is modified immediately, and thus, for example, the validation does not have to wait for it to be executed when the focus of the input is lost

Hi @bikotoru,
Thank you for the PR. I am afraid I see one major issue in the implementation - the @oninput event is always handled which will cause a server roundtrip on every key press and affect all existing implementations potentially hurting performance. We can't accept this pull request in its current state as it changes the existing behavior too drastically.

There is a solution to this inconvenience since the interaction with the user makes it unnatural.??


Setup DiscourseConnect - Official Single-Sign-On for Discourse (SSO)

Let's completely outsource all user registration and login from Discourse to our app.
https://meta.discourse.org/t/setup-discourseconnect-official-single-sign-on-for-discourse-sso/13045

I gave it some thought over the weekend I think we should table for later improvements to the App - Forum integration. I will add it as one of the tasks for future and try getting funding for it. I decided that because I realised that Forum will probably mostly be used by proposers and we can hand-hold them during the process. It doesn't affect donor's experience.


processState return wrong location

processState is returning NaN values
let kalmanLocation = hcKalmanFilter.processState(currentLocation: location)
return kalmanLocation

having location =  <+41.14267000,+1.40481000> +/- 5.00m (speed -1.00 mps / course -1.00) @ 14/09/2017, 10:01:26 Central European Summer Time
returns: <nan,nan> +/- 0.00m (speed -1.00 mps / course -1.00) @ 14/09/2017, 10:01:29 Central European Summer Time

After some trials, no returns valid values :S

Hi,
We tried to replicate this but we are never getting NaN values. Can you please tell us bit more how we can replicate this situation? If you provide us with more details we will do our best to find and fix problem.

I am experiencing the same problem. Getting NaN values. Any preprocessing is needed for all the locations?

Hi,
Can you send use example values that you use when you get NaN values? We tried to test this out and was not able to get that results. I tried to get more info what values are making the library to return NaN values but did not get a replay on it.

Hi, I have the same issue .. repeatedly ... did you find a solution meanwhile, or can I help you by providing data?

@Hypercubesoft we are getting the same issue we are passing location updates from didUpdateLocations and every once in a while we are getting NA values from the library. We are using it inside an Objective C app with a wrapper just passing data through. Is there something we need to do differently?

We have worked around this by resetting the filter when we get one of these values. It seems like the library enters this state somehow and can't recover. We have also tried to reproduce this issue consistently without much success, but it happens very consistently without trying, just not in a consistently repeatable way.
We are more than willing to help debug, I am not sure why this issue was closed it is still happening.
@Hypercubesoft


Unsubscribe before consumer closes

Hi,
I'm looking for a way to unsubscribe before consumer closes using consumer.unsubscribe method.
    source(() => consumer)
      .watchTermination()((_,done) => {
        done.onComplete {
          case Success(_) => {
            logger.info("Completed successfully")
            consumer.unsubscribe
          }
          case Failure(ex) => {
            logger.error(s"Completed with failure : $ex")
            consumer.unsubscribe
          }
        }
      })
      .map(_.value.toString)

I tried this, I have an error: consumer was already closed.
Did you already manage to auto unsubscribe when no consumer exists? I think it's configurable on pulsar side (it's used for functions and bypassable using cleanSubscription on function configuration).

Hum it seems that unsubscribe is for consumer and for not for unsubscription like bin/pulsar-admin topics unsubscribe command. I will check how it's possible to add it to pulsar4s.


Web formatting - missing css styles?

Hi guys,
I need your help. After manual installation on Debian 8 I am getting these outputs from SERVERIP:3000

I think i might have forgotten something in .env. Rake status and check are OK. But I think that page css style
is missing. If i check css I get
<!DOCTYPE html>

  <title>The page you were looking for doesn't exist (404)</title>

The page you were looking for doesn't exist.

You may have mistyped the address or the page may have moved.

Thank you for your help!

Hi @tom130,
when you are done with the manual installation guide the server should not be running on port 3000 but be proxied by nginx via port 80. After you start huginn and nginx, the instance should be accessigble via http://<service_ip>

Hi @dsander ,
so I started from clean OS install again :/. And I get 502 Bad Gateway.
Let´s recapitulate, what I did:

followed all commands instead of setting SSL
changed in .env database credetials (and DATABASE_NAME=huginn_production) and uncommented RAILS_ENV=production
uncommented in Procfile production
web: bundle exec unicorn -c config/unicorn.rb
jobs: bundle exec rails runner bin/threaded.rb
of course reexported

and the output from sudo rake production:status is nothing, only development with that port slightly works (which causes the missing css)
Debugs:
/home/huginn/huginn/log/unicorn.log: No such file or directory
/home/huginn/huginn/log/production.log last info from migration
/home/huginn/huginn/log/*/current No such file or directory
Docker works, but I would like to use SSL certificate and IMHO safer manual installation
Should I try Wheezy?

You did start the instance with sudo rake production:start after reexporting, right?
The process you described read correct to me, not sure if if the leading spaces in front of  web and  jobs in your Procfile might be causing problems.
Jessi should work fine, at at least it did when I last tested the installation a few months ago.

I had similar issue when I did HTTPS commands listed here
https://github.com/cantino/huginn/blob/master/doc/manual/installation.md#using-https
I had to go back and re-enter FQDN in NGINX config which solved it.

Hi @signallhill,
Firstly I thought that nginx is causing this problem, but now I don`t have any Huginn instance running. So maybe I would focus on Ruby?
@dsander thank you for your notes, I will definitely look into that spaces. And yes I started the instance :)

Ok, thank you @dsander . The problem was in spaces in Procfile.

I'm going to close this issue.  Please reopen if you want to discuss further.


Define returning properties with unknown values

Fixes #152
Fixes #163
REQUIRED properties with an unknown value MUST be returned (unless it is left out through the use of, e.g., response_fields).
OPTIONAL properties with an unknown value MAY be returned, but if they left out in a full response, the client MUST assume they have an unknown value, i.e., is null.
Furthermore, I removed some EOL single trailing spaces and split up a line to keep with the sentiment of having a single line per complete sentence.

It does not regulate the handling of values inside property data structures that can be null.

I'm not exactly sure what this means. In my understanding, the specification describes what values MUST, SHOULD or MAY be returned when a valid request is submitted. These values then MUST be expected and correctly handled by a client; in particular, the client MAY NOT "hang" or otherwise crash, or complain with an error message, when a property with a null value is returned by an OPTiMaDe server. To that extent, the specification mandates the handling of null values; it can not be otherwise.
Of course the specification does not say what the client should do with these null values once they are recognised; the client my ignore them, or store them explicitly, or substitute by defaults, or what not. I think this is application dependent. If this is what the above sentence means, then to me it is an pbvious consequence of the scope of the OPTiMaDe specification.
Thus, I would suggest to remove this sentence.

The sentence is originally written by @rartino, I merely moved it further up in this section (it was last before) and may have no meaning anymore with my changes?
I will agree it is not easy to parse for me either, since I am also unsure what exactly is meant by "property data structures". I will wait a bit for @rartino to respond and then I will try and clarify the sentence - or remove it :)

It does not regulate the handling of values inside property data structures that can be null.

This formulation does not originate from me, but (I think), @ctoher.
Nevertheless, I believe I understand what it says: the directives in this section only describe conformity with regards to "the whole property" being unknown, as in: chemical_formula_hill = null. In addition to what is being said in this section, one should be prepared on that section 6 defines properties as lists or dictionaries, in which null can carry a special meaning. E.g., the definition of cartesian_site_positions may say that a null value indicates an unknown position.
I'd be happy to see a reformulation in this PR of the sentence that explains this better. (Or as a separate PR.)

I have tried to divide my additions and minor corrections into separate commits, i.e., you should be able to see the actual changes, simply disregard the changes in commit 34157ee.

It does not regulate the handling of values inside property data structures that can be null.

This formulation does not originate from me, but (I think), @ctoher.

My bad, sorry.

I'd be happy to see a reformulation in this PR of the sentence that explains this better. (Or as a separate PR.)

Hereby done with the last commit, 67beb06.

I have approved, and this PR only waits for @sauliusg to dismiss his change request, because I think the PR is a great improvement of what is in the spec right now.
However, before merging, maybe we should thinking about this:

REQUIRED properties with an unknown value MUST be returned in the response, unless explicitly left out (e.g., by using response_fields, see section 4.4.1. URL Query Parameters).

Does this mean that any REQUIRED property may be returned with the value null? Because then that means a client cannot rely on any property being set to the expected value. Or does this only apply to REQUIRED properties that specify that they may be set to null? (Because we have none of those...)
This seems quite unclear presently, which isn't great for the specification.

@rartino wrote:

this PR puts back all_coordinates_known, which it should not. The text about unknown coordinates should be returned to the state it had in commit d1b7c1e

I did not dig deep into the discussions about the all_coordinates_known property, but I agree that it is a kind of obsolete and duplicates information of the coordinate section (and raises the question what do we do if the all_coordinates_known value contradicts what is actually presented in the coordinates).
I suggest that this is sorted out and then @rartino gives the final review.

This version looks good to me. Thanks for fixing #163 in this (right, that is intentional?)

Yes that is intentional. I will add it to the "Fixes xxx" in the first comment.

I have now changed "Giovanni's" commit, removing all_coordinates_known.
It seems all should be okay now according to the PRs mentioned in my previous comment. However, if any of you find an even newer change, please don't refrain from making yourselves heard.

So is "the database just can't provide this piece of information" == "value for this entry is unknown"? I feel this is true, but want to clarify.

Your feeling do not betray you. This is what the spec should say now (and probably even did before) :)

I will just wait to hear from @rartino if I fixed the issue of removing again all_coordinates_known properly and whatever else I may have cooked up :sweat_smile:

Thanks for the continued work on this! But, sorry, it is not quite there yet. Your fix of #163 still leaves references to all_coordinates_known in the description of cartesian_site_positions.

Thanks for catching this!

Note that apart from bringing in the relevant change in this section from d1b7c1e, I have here reverted your own addition of the type being specified as "list of list of floats and/or unknown values" and gone back to "list of list of floats". This is because the way I look at types the type of this property still is "list of list of floats", only, just like in any list of floats (according to our term definitions), elements in that list are allowed to be null/unknown. (In my opinion this is the the most correct way to do it, but I also don't feel extremely strongly against the explicit mentioning of unknowns if others want that.)

Since null or unknown value has a very specific meaning in cartesian_site_positions, I felt it was appropriate to add it.
Whereas for other properties, an unknown value, is exactly that, a value to represent the property's value is unknown. However, for cartesian_site_positions one may actively use the unknown value to represent a specific type of species.
What do you think?

Since null or unknown value has a very specific meaning in cartesian_site_positions, I felt it was appropriate to add it.
Whereas for other properties, an unknown value, is exactly that, a value to represent the property's value is unknown. However, for cartesian_site_positions one may actively use the unknown value to represent a specific type of species.

But the importance and meaning of null has very little to do with the type. In a type-strong language when declaring types, they are not influenced by concerns like this. I could see your point if we were labeling this "structure". But in my opinion whether items can be null or not is not part of the type.
From a more practical standpoint, I will probably want to use these in a data structure in my implementation to be used for automatic type conformity checks. For this the "comment" about nulls is a distraction I will have to remove when I build that data structure.
But, I've already approved the PR because I don't feel very strongly about this. So, if you disagree, go ahead and merge.

Philosophical question: suppose a database provider decides/is forced to not provide values for REQUIRED property, say chemical_formula_anonymous. So is "the database just can't provide this piece of information" == "value for this entry is unknown"? I feel this is true, but want to clarify.

I think in this case it is true if we clarify: "value for this entry is unknown to the database".


Trying to remove a view index above child count

Hello, I am facing the Issue "trying to remove a view index above child count" on version
"react-native": "0.62.2"
It only fails in production mode that too only on Android devices. And yes I am not Using onLayoutAnimations anywhere in the application
The Error details can be found here:
com.facebook.react.uimanager.IllegalViewOperationException: Trying to remove a view index above child count 3 view tag: 2609
detail: View tag:2609
children(2): [
2593,2597,
],
indicesToRemove(1): [
3,
],
tagsToDelete(1): [
2607,
]
at com.facebook.react.uimanager.NativeViewHierarchyManager.manageChildren(NativeViewHierarchyManager.java:435)
at com.facebook.react.uimanager.UIViewOperationQueue$ManageChildrenOperation.execute(UIViewOperationQueue.java:206)
at com.facebook.react.uimanager.UIViewOperationQueue$1.run(UIViewOperationQueue.java:792)
at com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches(UIViewOperationQueue.java:903)
at com.facebook.react.uimanager.UIViewOperationQueue.access$2400(UIViewOperationQueue.java:43)
at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:963)
at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:947)
at android.view.Choreographer.doCallbacks(Choreographer.java:761)
at android.view.Choreographer.doFrame(Choreographer.java:693)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

I am also facing the same issue. For me also, It only fails in production mode.
"react-native": "0.61.4".
Error:
com.facebook.react.uimanager.IllegalViewOperationException · Trying to remove a view index above child count 0 view tag: 275 detail: View tag:275 children(0): [ ], indicesToRemove(1): [ 0, ], tagsToDelete(1): [ 677, ].

your post are unreadable.

com.facebook.react.uimanager.IllegalViewOperationException: Trying to remove a view index above child count 3 view tag: 2609
 detail: View tag:2609
  children(2): [
2593,2597,
 ],
  indicesToRemove(1): [
3,
 ],
  tagsToDelete(1): [
2607,
 ]

    at com.facebook.react.uimanager.NativeViewHierarchyManager.manageChildren(NativeViewHierarchyManager.java:435)
    at com.facebook.react.uimanager.UIViewOperationQueue$ManageChildrenOperation.execute(UIViewOperationQueue.java:206)
    at com.facebook.react.uimanager.UIViewOperationQueue$1.run(UIViewOperationQueue.java:792)
    at com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches(UIViewOperationQueue.java:903)
    at com.facebook.react.uimanager.UIViewOperationQueue.access$2400(UIViewOperationQueue.java:43)
    at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:963)
    at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
    at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
    at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:947)
    at android.view.Choreographer.doCallbacks(Choreographer.java:761)
    at android.view.Choreographer.doFrame(Choreographer.java:693)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6669)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

@fabriziobertoglio1987 Please find the below whole error details :
com.facebook.react.uimanager.IllegalViewOperationException · Trying to remove a view index above child count 0 view tag: 3005 detail: View tag:3005 children(0): [ ], indicesToRemove(1): [ 0, ], tagsToDelete(1): [ 3165, ]
NativeViewHierarchyManager.java:434com.facebook.react.uimanager.NativeViewHierarchyManager.manageChildren
UIViewOperationQueue.java:205com.facebook.react.uimanager.UIViewOperationQueue$ManageChildrenOperation.execute
UIViewOperationQueue.java:779com.facebook.react.uimanager.UIViewOperationQueue$1.run
UIViewOperationQueue.java:888com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches
UIViewOperationQueue.java:42com.facebook.react.uimanager.UIViewOperationQueue.access$2200
UIViewOperationQueue.java:948com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded
GuardedFrameCallback.java:28com.facebook.react.uimanager.GuardedFrameCallback.doFrame
ReactChoreographer.java:174com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame
ChoreographerCompat.java:84com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame
Choreographer.java:994android.view.Choreographer$CallbackRecord.run
Choreographer.java:794android.view.Choreographer.doCallbacks
Choreographer.java:725android.view.Choreographer.doFrame
Choreographer.java:981android.view.Choreographer$FrameDisplayEventReceiver.run
Handler.java:883android.os.Handler.handleCallback
Handler.java:100android.os.Handler.dispatchMessage
Looper.java:237android.os.Looper.loop
ActivityThread.java:7811android.app.ActivityThread.main
Method.java:-2java.lang.reflect.Method.invoke
RuntimeInit.java:493com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run
ZygoteInit.java:1076com.android.internal.os.ZygoteInit.main

I also got this error in version 0.63.1. There is a solution?

@sonam1409 to fix runtime errors in react-native sourcecode we need:

the developer needs to reproduce his issue in a Minimal Reproducible Example
We need to debug the sourcecode to find an issue

Thanks
Best Regards
Fabrizio Bertoglio

I observe this issue in my project using RN 0.63.2
System:
    OS: macOS 11.2.3
    CPU: (16) x64 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
    Memory: 18.88 GB / 64.00 GB
    Shell: 5.0.18 - /usr/local/bin/bash
  Binaries:
    Node: 12.19.0 - ~/.nvm/versions/node/v12.19.0/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 7.5.4 - ~/.nvm/versions/node/v12.19.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.0 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK:
      API Levels: 27, 28, 29
      Build Tools: 23.0.1, 23.0.2, 23.0.3, 24.0.0, 25.0.0, 25.0.1, 25.0.2, 25.0.3, 26.0.1, 26.0.2, 27.0.2, 27.0.3, 28.0.0, 28.0.2, 28.0.3, 29.0.0, 29.0.2, 29.0.3
      System Images: android-18 | Google APIs Intel x86 Atom, android-27 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 3.6 AI-192.7<IP_ADDRESS>08749
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_275 - /usr/bin/javac
    Python: 2.7.16 - /usr/local/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: 0.63.2 => 0.63.2
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Also seeing this on RN 0.64.1, only in the release build. It is not deterministic as far as I can tell. I'm not sure it's possible to make a minimal reproduction of this issue since there doesn't appear to be a clear case in which it arises. It appears random and only in release builds on user's devices which makes it significantly harder to analyze.
Somebody familiar with the native Android code having a look at possible situations where this could arise would likely be the best way to start figuring out a resolution for this.

I am facing the same issue on my react native application, It keeps on showing this error

@fabriziobertoglio1987

Hit that issue as well. Any update on that? Or workaround?

I have found a workaround that worked for me
On Fri, 9 Jul 2021, 11:21 pm Sasha Kuchaiev, @.***>
wrote:

Hit that issue as well. Any update on that? Or workaround?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/28905#issuecomment-877373035,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASLNXNV3SCCCNEWMK7TDJ7LTW44Z3ANCNFSM4NBVTH6A
.

I have found a workaround that worked for me
…
On Fri, 9 Jul 2021, 11:21 pm Sasha Kuchaiev, @.***> wrote: Hit that issue as well. Any update on that? Or workaround? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#28905 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASLNXNV3SCCCNEWMK7TDJ7LTW44Z3ANCNFSM4NBVTH6A .

How!!!

So basically in my scenario it was crashing on map and I solved it by
giving the Key prop to it
On Sat, 10 Jul 2021, 12:55 am Sasha Kuchaiev, @.***>
wrote:

I have found a workaround that worked for me
… <#m_878680268158964415_>
On Fri, 9 Jul 2021, 11:21 pm Sasha Kuchaiev, @.***> wrote: Hit that
issue as well. Any update on that? Or workaround? — You are receiving this
because you commented. Reply to this email directly, view it on GitHub <#28905
(comment)
https://github.com/facebook/react-native/issues/28905#issuecomment-877373035>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASLNXNV3SCCCNEWMK7TDJ7LTW44Z3ANCNFSM4NBVTH6A
.
How?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/28905#issuecomment-877422242,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASLNXNTCUF3LCL2EOXPVTXTTW5H2VANCNFSM4NBVTH6A
.

Giving key doesn't work too
Tried removing this but it's not a perfect solution
if (Platform.OS === 'android') {
if (UIManager.setLayoutAnimationEnabledExperimental) {
UIManager.setLayoutAnimationEnabledExperimental(true)
}
}

If you are using ListFooterComponent or ListHeaderComponent don't render a false value (null, undefined, ...etc) , for that case, returns a Fragment (<></>)
This resolved my problem.
Example
Wrong:
ListFooterComponent={showFooter && <Footer {...footerProps} />}
Correct:
ListFooterComponent={showFooter ? <Footer {...footerProps} /> : <></>}

In my case, adding the style {borderWidth: 1} to a parent View in a hierarchy of views made the error go away. I don’t know why. I just stumbled on it when trying to find the cause of the error...


The Buy icon is not correct.

-The icon is still not correct.

@cakesoft-swati What is the correct icon?

@cakesoft-swati What is the correct icon?

@AliMeer - it is cut in the current view. The Bitcoin ball and arrow both are cutting

@AliMeer - it is cut in the current view. The Bitcoin ball and arrow both are cutting

-Verified this issue on Dev app v1.4.2(208)

-Verified this issue on Dev app v1.4.2(208)


docs: remove future work for new keywords of Cactbot Highlight

Since it is implemented already in the latest release

I've been using the Cactbot Highlight as well, thanks.


OnlyOffice still in english, but choice is french :

Hello i have just installed the docker comunity version :
so my configuration is in french :

but all my onlyOffice is in english, why the language is not in french after changing this parameter
thanks to all

You can change your language on profile page
and you can change the language on the settings page for all users (your screen)
Please check your profile page products/people/profile.aspx

My profil page is FRENCH,
but onlyOffice is still in english

interface in english :

The problem is repeated with other languages? For example, German?

Yes
the german i selected,but evrything is in english

@ychoucha, please try to restart the community server container. If this does not help, try to re-install the product.

ok works with a reinstall.
can we add a sharing windows diretly in onlyoffice access ?
how sync files to onlyoffice and windows directory share ?
Exemple :
i works on many document like this :
//filesServer01/Documents/cafe/Ambra
how access directly on this directory and add and remove files directly from onlyOffice ?
thanks

@ychoucha, please set up access to windows folders/directories through WebDAV.

Hello,
thanks, but not working :

Open new issue with this question


Ian todo

implement:

[x] GenerateButtonsWithPanels
[x] button_handle2opts
[x] integrate GenerateButtonsWithPanels in Custom_OptionGUI
[x] Correct VarNames in all functions
[ ] Change Protocol files in folder data (Create a Parameters.mat for all methods)
[x] Finish implementing Sim_Single_Voxel_Curve into qMT_SPGR ....
[x] elargir bouttons de GenerateButtonsWithPanels (hors panels). Add Scale when calling GenerateButtonsWithPanels in CustomOption_GUI
[x] Delete SfTable if user cancel
[ ] Update function FitGo_FitData(hObject, eventdata, handles) (e.g. remove 'Prot','FitOpt)

@tanguyduval What do you mean by your SPGR_sim question? I glanced at the function, and it doesn't appear that M0r as an input to the function (well, I guess it is by default, through the Sim input). M0r doesn't appear in the GUI as well. What exactly are you asking to be changed here? M0r is used in simulating the signal evolution through the M0 parameter, and appears to be strictly necessary to do so.

We saw with Ian that M0r is by default in the DefaultSim.mat
In a commit, we removed M0r because it's confusing to need M0f, F and M0r as input (structure Param).

@IanGagnon7, can you please check when done ;-) . qMT methods as classes should be available soon...

Ok, I was just afraid you were going to refractor the M0 variable in SPGR_sim to not contain the M0r variable, as that type of huge scale refactoring (since the simulation/fitting needs M0r I believe in the 4th array val of M0) could be very sensitive to introducing bugs, particularly since none of the qMT functions are unit tested...

qMT methods as classes should be available soon...

@tanguyduval @IanGagnon7  Will all the functions in /Model_Functions/SPGR_fun/functions/ remain unchanged after this "qMT method class" addition? The projects that I'm working on that use qMRILab as a submodule are using these functions extensively.
Cheers,
Mathieu

Ok thanks, we will add testing functions for the simulations.
I'm afraid that the refactoring will impact your functions. That wouldn't be clean to have two versions for all qMT methods... We'll contact you when we are ready to integrate your CRLB optimization.
Best,
Tanguy

Hmm ok, I might need to simply stop contributing/using this version of the repo for a while, and continue my contributions in my of the repo if that's the case.
I'm too deep in my project to handle an unannounced major modification to features like this.
Cheers,
Mathieu

I am swamped at OHBM, sorry I couldn't act quicker. Obviously we need to make a plan of attack, but I don't understand the problem. The new features are really not a priority, so I'd advise waiting until Mathieu is done whatever it is he is doing. You can always work on another fork.
Starting in July we will have regular meetings to avoid issues like these.
Learning as I go,
Nikola

By 'you' I meant Tanguy and Ian. What's the time scale of the wait? Hours, days, weeks?

No worries Nikola; even if the code here was completely changed, I could keep doing my work on my forked repo (I actually have my fork as a submodule, not this one.) or by reverting to a previous commit number. But I like to keep my submodules of qMRI up to date when possible, to be able to push any bug fixes that I might find as I explore it, or improve on the documentation.
With the magic of version control, I could keep working on my project in its current state by simply not pulling the recent commits of this repository, or branching at a commit prior to the changes! =)
@tanguyduval @IanGagnon7 If/when you do make a major change like removing the old qMT functions and replacing it with a class, please tag that commit with a description (and maybe a version number?) so that it can easily be identified. See: https://git-scm.com/book/en/v2/Git-Basics-Tagging and https://stackoverflow.com/questions/5195859/push-a-tag-to-a-remote-repository-using-git

Hi everyone,
I'll make a separate branch with Ian modifications.
We didn't change the core qMT functions, we just made cleaner the required inputs (e.g. removed Param.M0r).  We refactored the code by moving some codes, part of qMTLab.m, in independent functions or inside the new qMT classes.
I know that your CRLB optimization project is massive (I have your OneDrive link). I'll integrate it without modifying your code, just interfacing your inputs/outputs. Is it ready? Do you have an example script? This work will be done on a separate branch.
Best,
Tanguy

Hi Tanguy,
Don't integrate my crlb code in this repo. I want to wait until my paper is submitted or accepted before making it public, and I will include a link to my own repo in the paper (as well as to qMRLab).
Afterwards, we can discuss either merging my code in qMRLab, or simply including it as a submodule. The code I sent you is not up to date also, my private repo is the most up to date.
Cheers,
Mathieu

Ok I see, So I'll do a local branch for your integration and won't push it. I'll share it with you privatly.

Ok thanks!

Hi @mathieuboudreau ,
In the SIR-FSE model, Sr value is found by simulation (with the function computeSr which uses Bloch equation), but is it normal that we need to assume values for all theses MT parameters (F, kf, kr, R1f, R1r, T2f, T2r, M0f and lineshape) when Sr should only depends on the lineshape and the T2r according to J.-F. CABANA paper on qMTLab in the SIR-FSE section, "The value of Sr can be determined by numerical simulations and depends on the lineshape of the restricted pool and the assumed value of T2r"?
Best,
Ian

Hi Ian,
I'm not completely familiar with the SIR-FSE code; is this the function you're talking about?
I don't see this function requiring all the parameters you mentioned. They may be contained in the structure Param, but I can see @jfcabana chose to give then entire Param structure instead of only giving T2r and the lineshape as arguments. The Param structure gives a single container for all parameters, and ensures parameter consistency between function calls. I definitely prefer keeping all the tissue parameters in a single structure, instead of keeping them separate and only giving specific ones as arguments (which makes it much harder to debug later on, and has the potential of causing variable naming conflicts if you're not careful).
Have you encountered a specific issue that giving the entire Param structure as an argument is being problematic for you?
@jfcabana care to chime in?

+++ Technically, I think that function also uses F implicitely, through Param.M0r (and Param.M0f), since F is Param.M0r/Param.M0f and Param.M0f is set to 1 (I think?).

Oh wait, I see what you mean for the Bloch simulation line here.
Hmm, you'll have to ask @jfcabana - I don't know if he still gets email alerts for the GitHub messages here, so it might be useful for you to email him to discuss his implementation of SIR-FSE - I'm not familiar enough to comment more on it.

I think what JF meant in the lquote you specified is that itdoes depend on those two, but I don't think he meant that it doesnt depend on the other parameters? All MT effects share the coupled equations in the Bloch function I believe, so it makes sense to me at first glance that these simulations would require those parameters as well.

I think you just found it, all the parameters I enumerate you are needed to calculate the magnetization vector [Mxf, Myf, Mzf, Mzr] called M_temp in the function. So we needed them all to compute the Sr!
And I found the proof in qMTLab paper: "Model parameters available for fitting are: F, krf, R1f, R1r, Sf, Sr, and M0f. The starting (or fixed) value of Sr can be computed directly in the interface, by setting the assumed mean MT parameters (T2r in particular), and clicking on “Compute Sr.” This will perform a simulation of the inversion pulse, and compute the fraction of the restricted pool magnetization after vs. before the pulse. This value is strongly dependent on the lineshape of the restricted pool and on T2r."
Thank you @mathieuboudreau!

Great! - feel free to message me for anything else!
Good luck!

Hello @IanGagnon7 and @mathieuboudreau ,
Yes you pretty much figured this out correctly :)
The computation of Sr is based on the full Bloch equations, and thus is dependant on all parameters. But the ones that are the more important are the lineshape of the restricted pool and T2r. Sr is still dependant on the other parameters, but since the inversion pulse is of very short duration, not much MT or T1 recovery is going on during that time.
From what I remember, I think in the original SIR-FSE method paper from Gochberg, they assume no MT or T1 recovery during the inversion pulse for the computation of Sr, but I'm not sure. I just thought it made more sense to include it, based on average values of parameters that could be in the ballpark of the tissue you are measuring. Anyway, I think the effect is very small on Sr, but not zero. You could try it in the software by varying MT parameters to see the effect on Sr...
And thanks guys for all the work you are putting in this! I moved on to other projects, not even involving MRI now, so I kind of have to let my baby grow up in the hands of other experts now :)
Cheers!

Hi guys,
One problem is still present..
Why do you force Sf values to be positive? https://github.com/neuropoly/qMRLab/blob/master/Models_Functions/SIRFSEfun/functions/SIRFSE_fit.m#L49
It prevents good fitting because Sf is usually negative:
without absolute:

with absolute:

Thanks,
Tanguy

@jfcabana will be better at answering this one, I'm not sure of the answer.

@tanguyduval It's odd because in JF's qMTLab paper, Figure 5 shows a dataset similar to yours and the fit is great.
And if you look at "Blame" in the function you linked, he hasn't changed that line since the paper was published.
Did you test to see if this "bug"/bad fit is present in a commit closer to the paper submission (e.g. https://github.com/neuropoly/qMTLab)? If it worked then and not now, I doubt that the abs() is the bug, and likely more a bug introduced elsewhere since then.

Hi guys,
Sf is indeed a negative value. I can't remember exactly why I introduced the abs() in the Fit struct, but I know it was a quick workaround to fix some bug... The code is working fine in my implementation of qMTLab as it was when the paper was published. Maybe something changed in the way the curve gets computed/plotted?
Anyways, the abs() doesn't affect the fitting, as it is applied only after the fit is done. It only affect displayed curve. You could remove it if you want/need to, as long as results are consistent. If you do so, you would also need to change line 6 here  :
xFit = [Fit.F, Fit.kr, Fit.R1f, Fit.R1r, -1*Fit.Sf, Fit.Sr, Fit.M0f]; -> xFit = [Fit.F, Fit.kr, Fit.R1f, Fit.R1r, Fit.Sf, Fit.Sr, Fit.M0f];
Cheers!

Ok thank you Mathieu and JF, I didn't noticed that it was done after the fitting...
Both the original SIRFSE method and the new one are working properly. I corrected this in d6513b454dd70c76c96fd2546a01a475132f1d0a

Great! A+

@IanGagnon7 All script in External come from FileExchange. You don't need to write an email to each author, but you need to create a folder per file with the license file attached.
To get the license, go on https://www.mathworks.com/matlabcentral/fileexchange/, search for the script, and click on view license.. It's the same license all the time but author and date change (Matlab's FileExchange has a unique copyright)

@tanguyduval I just checked, and it appears that NODDI uses the Open Source-approved Artistic Licence 2.0, which means we could be including it directly in our own repo (tl;dr of the license, full license explanation).
Is there a reason why we don't? Is it too large, or does it change frequently?

done in f8012ee04b4357e50d833044108e5049b501430e
Thanks!

Ah ha! Nice! I had listed NODDI as an external dependency in the README file (because I had to download it myself to get it working previously). I think it could be removed now right?

Oh yes you can :-)

@IanGagnon7 I modified some of your tasks (notably qMRLab.fig ), so pull to prevent conflicts!

@IanGagnon7 @tanguyduval FYI, I increased the upperbound for kr in SPGR modulaire from 30 to 500 in this commit today.
kr's typical values are actually around 30 (see Sled et al's 2001 paper, or any other SPGR qMT papers), so an upper bound this low is too short of a limit, and also propagates errors to F and R1f (as they are all closely related). I noticed this insufficient limit this morning while doing some Monte Carlo on an old commit - I think JF might have initially used that limit for kf (which has values typically around 5), but forgot to update the up when he switched from kf->kr.
For low SNR values, kf's upperbound could even be upped a bit more, as it's a very unstable parameter, however 500 sounded like a good typical UB for me for most cases.

Also, when this branch finally does get merged, can we do it through a Github pull reques,t instead of simply "git merge", and leave the pull request up for a few days? It would be best if we could take a look at all the file changes before fully merging, to ensure that no file was deleted accidentally and lost/forgotten in this major update.

Happy to see this effort evolve organically!
At some point at the end of summer I would like us to start with bi-weekly
meetings where we come up with a feasible long-term strategy. I am back
from e-mail hiatus, so feel free to follow up with me.
On Fri, Jul 21, 2017 at 4:01 PM, Mathieu Boudreau<EMAIL_ADDRESS>wrote:

Also, when this branch finally does get merged, can we do it through a
Github pull reques,t instead of simply "git merge", and leave the pull
request up for a few days? It would be best if we could take a look at all
the file changes before fully merging, to ensure that no file was deleted
accidentally and lost/forgotten in this major update.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/neuropoly/qMRLab/issues/39#issuecomment-317009231,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab6A29Cj_ziYVL4l9-l1EHLfXcYF_WThks5sQK9CgaJpZM4OHQzH
.

@mathieuboudreau  I am ready to make the pull request of my branch, I would only have to remove the "old" qMT models and the word "modulaire" from the "new" qMT models to make them official! Is that ok for you Mathieu? Let me know if you would prefer to wait a little bit or if there are things you'd like me to change.
Best,
Ian

@IanGagnon7 Sure go ahead! I'm working off my fork right now anyways, so if it's buggy it won't affect my stuff.
Cheers,
Mathieu

@IanGagnon7 After your remove the "old" qMT Models and everything else needed, but before you push the branch, try and run all the tests to make sure that they all pass (there's not whole-code coverage yet, but at least some coverage).
You can do it by running this command from the qMRLab repository folder in Matlab: result = runtests(pwd, 'Recursively', true)

Add acknoledgements for the core functions.
For instance in MWF:
`
% ----------------------------------------------------------------------------------------------------
% Written by: Ian Gagnon, 2017
% Core functions written by: Eva Alonso Ortiz, 20??
% Reference: FILL
% ----------------------------------------------------------------------------------------------------

Also ask Tung for the references!

@tanguyduval writing acknowledgments for all the core functions (e.g. Written by: ) would get messy and inaccurate for a while, no? Especially since we are keeping the package open sourced, and anyone can contribute/change the files. It can be easy to lose track over a while as well, no?
Isn't the repository license and git history sufficient? The authors of the files are stored in the git history anyhow. Or maybe we could add a generic "Copyright Neuropoly" to all the files instead?

Adding references to the original papers/equations would be great though.

Agree with Matt, reference the paper, as these fits have been passed on for
generations
P.S. Sent from a cell phone, please excuse the terseness.
On Jul 28, 2017 9:48 PM, "Mathieu Boudreau"<EMAIL_ADDRESS>wrote:

Adding references to the original papers/equations would be great though.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/neuropoly/qMRLab/issues/39#issuecomment-318745945,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab6A2_1fwRP1rkNGZU6XymHbvf2tUKcHks5sSjr6gaJpZM4OHQzH
.

@IanGagnon7 good job!