FCM token update problem

Description
Users of my app claim app notification to be unreliable. As it turns out FCM notifications run fine, after app has run, but then disappears. There is a background FCM topen update problem. I have a corresponding listener in my app, that triggers both, forwarding the token to my apps FCM functions  and to the Twilio stack. My own FCM stuff is working reliably. The Twilio code is a hardly modified copy of your (Java!) demo project.
After checking my (Java) and here (Kotlin) code, without having access to the native parts, it seems like your code makes strong assumption of both uninterrupted network connection and the lifecycle of TwilioApplication and BasicChatClient. Doesn't FCM need a path disregarding this?
Steps to Reproduce

Start the app.
Get notifications.
End the app.
Still get notifications for a while.
Then, you do not get notifications any more.

Expected Behavior
Update FCM token, even when app is not running.
Actual Behavior
Update of FCM token seems to fail often.
Reproduces how Often
As there is timing and Android resource management involved and this is based on user reports I have no data. Some users seem to get notifications only a few minutes after app has run, some do not seem to have a problem.
Chat Android SDK
2.0.8 and 2.0.11 and many older.
Android API
Android 7.1.1 definitely has problems.
Android Device
various reports

Hi,
the demo application FCM code does not handle the backgrounding/shutdown scenario, you should handle that yourself. In the future I may add such handling code to the demo application but it is not present at the moment.

As said the app itself does the successfully, but the suggested call to Twilio code fail.
Problem is, this is a bit of a black box as it ends up calling Twilio components and it is at least not clear to me, what properties this component requires to update the FCM token. I mean you can hardly require a user logon as logon might require user interaction not feasible in background.

You need ay least a working ChatClient, once user is logged in the token can be refreshed in the background without additional interactions.
Your FCM service may arbitrarily defer invoking ChatClient's processing depending on your usecases. E.g only launch ChatClient and handle the push if the app is actually foregrounded.

But then it can hardly be called a push. We would really like to have a message something was happening while App was not running.

You will receive push in the FCMListenerService.. Afterwards its up to you, if you want to grab existing ChatClient, or instantiate a new one, and do something, or just display the push and do nothing until the user actually clicks on it.

The FCM token update can be done in background but it's up to your service called InstanceIDService to handle that.

Your FCM token storage should keep the token somewhere in persistent storage and update it whenever google FCM invokes your InstanceIDService.
You need to do a few checks also: if ChatClient is still up and running, unregister old FCM token and register a new one; if it isn't - start one and register an FCM token for it.

The problem is, that my InstanceIDService needs a full logon for security reasons, however I cannot get a full logon when FCM Token update happens while app is in background. As Twilio-API is using device IDs in many places, I expected it, to attach tokens to device IDs, not accounts.

a full logon for security reasons, however I cannot get a full logon when FCM Token update happens while app is in background

Why not? You have a token, just login using that token and that's it.

My app is built to need a Google Account login to Instances service. This login expires and then I am stuck.

Ok, this does not seem to be related to Twilio then.

Well, yes, but I do not consider this security mechanics too exotic ..

The InstanceIDService is supposed to work without logging in, this is described in Firebase docs and examples.

As I moved on to v3.0 (in production, hopefully soon 4.2.6) and 4.2.5 in test, I cannot give input with these issues any more. Close it, or keep it, I do not mind.

The notification library callbacks have been improved in 5.0.
As this is related to very old version and specifically Google SSO logins, closing it.


Bug in csv image table

In plateK14rep1_20200430_194338_941_IgG there was a \t missing between well_cell_based_score and num_cells in the csv table.
I added it there manually and re-saved the table, but then there were more column names (35) than values (34). So probably, in addition a whole column is missing?

Ok, weird.
We don't write the csv tables any more, and I don't think this can happen in the new hdf5 tables (there are several checks that number of columns and column names agree), but I will leave this open until we checked.

I think this is solved.


Update Underground Pass sidebar item requirements

Bucket and Tinderbox can be obtained from the dwarven camp during the quest when they are needed.
Quest sidebar currently doesn't show this:

The plank can also be obtained during the quest

Added in steps to pick up bucket and tinderbox from the dwarven camp.


Wrapper functions for ConvTranspose etc.

It would be great to add a series of wrapper functions for common (de)convolution operations, eg ConvTranspose in PyTorch https://pytorch.org/docs/stable/nn.html#convtranspose2d
Perhaps Jax doesn't need as many as PyTorch (for example, do we really need separate ConvTranspose1D, 2D, and 3D?). However, it would still be very helpful for GANs, VAEs, etc.

I think #592 solved this long-standing issue!


#1525 add SelenideElement execute(Command, Duration) method

Proposed changes
Issue #1525 - Add execute(Command, Duration) method to SelenideElement
Checklist

[x] Checkstyle and unit tests are passed locally with my changes by running gradlew check chrome_headless firefox_headless command
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

@asolntsev it's not easy to understand how the tests should look :)
I made a fix


Fixed number aliases

Adjusted resolve alias to convert all alias values to object format. Tested for not object to catch any non strings like numbers

It works in SLDS and passes tests, let's merge this! Thanks again Micah!


Introduce multi host in pulsar doc

Motivation
Pulsar already have been supported multi host. Introduce them in Pulsar document.

@sijie @Anonymitaet @Jennifer88huang PTAL.

@Anonymitaet Could you please help review this file? Thank you.

@zymap @Jennifer88huang Glad to help.

@Anonymitaet Thanks for your review.

run java8 tests

run java8 tests


Cosmwasm-check: update clap to version 4

Description
Closes: #1518
cosmwasm-check:

Update clap dependency to version 4
Add integration tests

@babadro Could you resolve the changelog conflict and add the PR link to the changelog entry? (see the other entries)
We can merge after that.

We just wrapped up the work to get it merged. Thanks a lot for your contribution!


Supported Versions

In a community meeting, discuss the FreeBSD versions to be supported.

We discussed in person making the cookbook FreeBSD 9.3-RELEASE and newer compatible based upon the current supported release list.


sass-loader: Build AoT Module build failed: No input specified: provide a file name or a source string to process

[X] bug report
ERROR in ./~/css-loader!./~/sass-loader/lib/loader.js!./config/resource-override.js
Module build failed: No input specified: provide a file name or a source string to process
@ ./src/app/components/home/xxxxxx.scss 2:21-134 (After removing this file, I got same issue for another scss)
@ ./src/app/components/home/home.ts
@ ./compiled/src/app/app.module.ngfactory.ts
@ ./src/main.browser.aot.ts
Build AoT success but on checking resources in the final process, the npm quit with this error. Now sass-loader is 6.0.0. Changed to 4.1.1 fixed the problem.
The ExtractTextPlugin may be the problem in some google search but after hiding the relative config in webpack.prod.js, the issue exits.

+1

Can confirm that changing back to 4.1.1 fixes the problem.

The issue is raised on sass-loader also
https://github.com/webpack-contrib/sass-loader/issues/373

Adding a note here, I get this error if the scss file is empty. If I add something like body {} to the file, the compilation works fine

which file you are referring to?

On 6 Mar 2017, at 18:39, Dave Bosley<EMAIL_ADDRESS>wrote:
Adding a note here, I get this error if the scss file is empty. If I add something like body {} to the file, the compilation works fine
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@vincent-cm The errors I get point to the scss files referenced in the styleUrls property of the Component class decorator. When those scss files are empty, I can't even start up the webpack dev server. When I add body {} (or any styles at all) to the file, the webpack dev server compiles everything fine and it runs. But AOT does not work at all. All scss files error when building for AOT.

After trying a few things out I started looking at the angular2-template-loader. I removed it from my *.ts file loaders and now my AOT build works just fine. I don't see anything affected by this change.
Original .ts file loader config:
{
    test: /\.ts$/,
    use: [{
            loader: '@angularclass/hmr-loader',
            options: {
                pretty: !isProd,
                prod: isProd
            }
        },
        { // MAKE SURE TO CHAIN VANILLA JS CODE, I.E. TS COMPILATION OUTPUT.
            loader: 'ng-router-loader',
            options: {
                loader: 'async-import',
                genDir: 'pkg/compiled',
                aot: AOT
            }
        },
        {
            loader: 'awesome-typescript-loader',
            options: {
                configFileName: 'tsconfig.webpack.json'
            }
        },
        {
            loader: 'angular2-template-loader'
        }
    ],
    exclude: [/\.(spec|e2e)\.ts$/]
},

new config:
{
    test: /\.ts$/,
    use: [{
            loader: '@angularclass/hmr-loader',
            options: {
                pretty: !isProd,
                prod: isProd
            }
        },
        { // MAKE SURE TO CHAIN VANILLA JS CODE, I.E. TS COMPILATION OUTPUT.
            loader: 'ng-router-loader',
            options: {
                loader: 'async-import',
                genDir: 'pkg/compiled',
                aot: AOT
            }
        },
        {
            loader: 'awesome-typescript-loader',
            options: {
                configFileName: 'tsconfig.webpack.json'
            }
        }
    ],
    exclude: [/\.(spec|e2e)\.ts$/]
},

I've also noticed that this error only occurs on UNIX systems. My build will compile in Windows without issue, but will throw this error on a Mac or Linux Box.

@Daeluse I'm on Windows and having this issue.

@DBosley Interesting, on Windows I do get the error if the SASS file is blank, but on Mac/Linux I get the error no matter what.

Upgrading to 6.0.5 fixed problem for me as well


⚠ Bofrost.at has degraded performance

In 0c82c61, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1856 ms

Resolved: Bofrost.at performance has improved in 6606a99.


Api enablement. Lab 5

app, connected to firestore with API

Thanks for the review
Will provide the last PR shorlty.


Proposer keeps increasing tx fee

What:
Proposer keeps increasing tx fee up to tx fee (1.35 ether) and tx does not go through.
Error:
INFO [08-02|22:18:00.232] Start fetching L2 execution engine's transaction pool content
INFO [08-02|22:18:00.233] Transactions lists count                 count=1
INFO [08-02|22:18:00.234] Proposer account information             chainHead=953,451 nonce=7762
WARN [08-02|22:18:00.249] Failed to send propose block transaction, retrying error="replacement transaction underpriced"
INFO [08-02|22:18:00.635] Try replacing a transaction with same nonce sender=0xf nonce=0xc000a0ad48
INFO [08-02|22:18:00.871] Original transaction to replace          sender=0x nonce=0xc000a0ad48 tx="&{inner:0xc000990000 time:{wall:13919170034209547753 ext:281558273544 loc:0x1617fa0} hash:{v:<nil>} size:{v:<nil>} from:{v:<nil>}}"
WARN [08-02|22:18:00.884] Failed to send propose block transaction, retrying error="tx fee (1.35 ether) exceeds the configured cap (1.00 ether)"
WARN [08-02|22:18:01.568] Failed to send propose block transaction, retrying error="replacement transaction underpriced"
INFO [08-02|22:18:02.385] Try replacing a transaction with same nonce sender=0xf nonce=0xc000a0ad48
INFO [08-02|22:18:02.736] Original transaction to replace          sender=0xf nonce=0xc000a0ad48 tx="&{inner:0xc000990000 time:{wall:13919170036197445017 ext:283398687221 loc:0x1617fa0} hash:{v:<nil>} size:{v:<nil>} from:{v:<nil>}}"
WARN [08-02|22:18:02.752] Failed to send propose block transaction, retrying error="tx fee (1.35 ether) exceeds the configured cap (1.00 ether)"
WARN [08-02|22:18:03.845] Failed to send propose block transaction, retrying error="replacement transaction underpriced"
INFO [08-02|22:18:06.486] Try replacing a transaction with same nonce sender=0xf nonce=0xc000a0ad48
INFO [08-02|22:18:06.754] Original transaction to replace          sender=0xf nonce=0xc000a0ad48 tx="&{inner:0xc000990000 time:{wall:13919170040506343374 ext:287412618230 loc:0x1617fa0} hash:{v:<nil>} size:{v:<nil>} from:{v:<nil>}}"

After 12hrs proposer being stopped - issue still persists:
WARN [08-03|11:50:28.248] Failed to send propose block transaction, retrying error="replacement transaction underpriced"
INFO [08-03|11:50:28.704] Try replacing a transaction with same nonce sender=0xfbfd4F6993BC0D3481B9bf61AD0892f817a2e7aC nonce=0xc0002919f0
INFO [08-03|11:50:28.892] Original transaction to replace          sender=0xf nonce=0xc0002919f0 tx="&{inner:0xc0003ee080 time:{wall:13919222376997680564 ext:186657959779 loc:0x1617fa0} hash:{v:<nil>} size:{v:<nil>} from:{v:<nil>}}"
ERROR[08-03|11:51:28.905] Proposing operation error                error="failed to propose transactions: failed to propose transactions: context deadline exceeded"


Boost.GIL 3 ideas from the past

These ideas are old and might be obsolete.

make sure not only integral types can the base type when creating a pixel type. See packed_pixel_t

outsource io_new's bit_operations

outsource io_new's io_devices

use boost::fusion for defining pixel and color spaces. See emails

using variadic templates will help

make use of overlapping functionality with boost::geometry, like point type registration. See Andrew Hundt's email from 2013/03/13

pixel should have a begin() and end() members.

make Alignment a template parameter for image class

make use of c++11 features, like delegating constructor

look at the cairo proposal: https://groups.google.com/a/isocpp.org/forum/#!msg/graphics/UfvaqOyQbQ4/mv0CJS2mRtYJ

reference implementation: https://github.com/mikebmcl/N3888_RefImpl

pixman

http://developers.slashdot.org/story/14/01/04/2115249/cairo-2d-graphics-may-become-part-of-iso-c

I've taken the liberty to make the title and clearer, searchable and here too https://github.com/boostorg/gil/projects/2
Current master and develop are at Boost.GIL 2, correct?

Yes, I think so.

Right, thanks for clarification.
It seems a bit confusing to not to refer to Boost versions, unless there is <boost/gil/version.hpp, like in boost/beast/version.hpp or boost/spirit/version.hpp and others.

I have added version.hpp and raised the develop version to 2.2. Indicating the new extensions, like io and toolbox.

Sounds good!

make use of c++11 features

Although I would welcome complete switch to C++11 that opens possibility to refactor/simpliy the library implementation, I think this is too early to set requirement of C++11:

Does Boost allow to bump minimum requirement for an existing library? I'm not sure.
When that should happen, before or after the new IO is released? I'd vote for after.

/cc @stefanseefeld

I'm not sure there are any fixed rules as to whether we are allowed to make C++11 a requirement. Let's discuss this based on specific goals: can you give a specific example where using a C++11 feature would help ?
I'm reluctant of adding dependencies on other boost libraries (in particular if they are not part of the core set of libraries, such as boost::fusion).

yeah, definitely after The Grand Merge, which will happen after the current release is complete. I'm confident I'll have the documentation refactoring complete by then...
Any news on the checksum issue with variant=release ?

Moving this to a wiki.

https://github.com/boostorg/gil/wiki/gil-3-Ideas

Closing?

Issue is not the format I thing. A wiki seems better.

Yes, so my question was if this shouldn't be closed, or you want to keep it open?

I think I broken the link by renaming the wiki page, here it is
https://github.com/boostorg/gil/wiki/Boost.GIL-3-Ideas


Make the About Us page more attractive

Is your feature request related to a problem? Please describe.
This will make the about us page more attractive if we change the styling of the stimulator button.

Describe the solution you'd like
Here, we can make the stimulator button active in the HTML codes and at the same time user the hover option in the CSS properties giving it the same properties and color.
Are you working on this? (Yes/No)
yes but I hope to get some guidance

@Simer13 are you taking about *simulator button in navbar?

yes @vedant-jain03

Hey @Simer13 May I work on this issue if you don't mind?


Case sensitive when searching in Cyrillic

Description
Case sensitive when searching in Cyrillic.
Steps to reproduce
Go to Search field, type keyword, for example in cyryllic - пример. After type same keyword in uppercase (ПРИМЕР).
Expected Behavior
Search resulst are equal
Actual Behavior
Search resulst are not equal
Metadata
Typesense Version: typesense:0.24.0
Docusaurus Version: 2.2.0
docusaurus-theme-search-typesense Version: 0.8.0

This requires tweaking the Typesense schema generated by typesense-docsearch-scraper to include a locale: xyz parameter to each field definition here: https://github.com/typesense/typesense-docsearch-scraper/blob/a005d7a8bbd45bd71fd3895024f05663e9f797c6/scraper/src/typesense_helper.py#L36-L51
So you would have to fork the scraper, and change the field definition to for eg:
{'name': 'hierarchy.lvl0', 'type': 'string', 'facet': True, 'optional': True, 'locale': 'ro'},


Added instructions for installing Heroicons with yarn in React and Vue projects

Updated the README.md with detailed instructions on how to install and use Heroicons in React and Vue projects using both npm and yarn. This update provides clear guidance for developers who prefer using yarn as their package manager. The changes include the addition of yarn installation commands.

Hey! Going to stick to just npm, anyone intentionally using a different package manager like yarn, pnpm, bun, etc. will already know how to install dependencies with their preferred tool. Thanks!


Fixed some broken links

Changed the format so links that were broken when clicked now work

Hi @federicoemartinez!
Thank you so much for your contribution. Unfortunately, I somehow overlooked it during the last few months and, in between made the changes myself without paying attention to this PR.
Still, I wanted to say thanks for your help!


How to exclude certain array items from total item count on current page

Thanks so much for putting this directive together Micheal - it is incredibly useful! I just have one small issue I needed your help with.
Description of issue:
Say I have a list of employee users:
[
{ name: "A", showUser: true}
{ name: "B", showUser: true}
{ name: "C", showUser: false}
]
Imagine this list is 100+ people with the same properties. Out of this list, I'd like the pagination directive to only consider users with showUser set to true when considering which users to show on every page. Basically, if out of the first 40 elements in the list, only 25 of them have showUser set to true, I would want the pagination directive to only display these users whenever show 25 options for pagination is selected. I cannot splice these users from the array as they are needed for other parts of my code.
Demo: http://plnkr.co/edit/ZBQHyxutyqAQpbCljIIo?p=preview
In the plunk above, I want to not include any of the sequences that have firstSequence: "true"
Hope I explained my issue well enough - thanks for your help!

http://plnkr.co/edit/4NBH8u
It's be a little late, but it might help someone.
This can be done with a standard AngularJS filter.

{{ item }}


feat: only change url while users search when this application thinks they're done typing

It would be nice if the url only updated when the user is done typing.

It kind of clutters search histories and makes things harder to find when trying to find a previously visited website.
Is there a way for us to wait until there's been no keystrokes for, maybe 500ms, before asking freesound for search results?
This might also help with rate limits, too.

Yea I agree. The solution is to only update the URL after we fetch results.


examples

Can you add examples to your documentation that shows how to generate the thermodynamic plots we've been making?

Added that to the documentation page in the "getting started" section