NeedsPermission annotation not passing location services

Overview

Describe the issue briefly
I created a new project from 0 in which I am just trying to access the location of the device trough the FusedLocationApi. After adding the repo and creating the necessary boilerplate code(GoogleApi client and methods) I try to set the last known location of the device inside the onConnected method override. A red line marking that the location request needs to be checked for permission appears and when the app is run I get a null pointer exception on said location.

Expected

What is the expected behavior?
Log.i tag showing the latitude of the user's current location

Actual

What is the actual behavior?
Null pointer exception as the permission has not been granted

Environment

Which library version are you using?
2.3.2
On which devices do you observe the issue?
Emulator running API 23 on Android 6 and Samsung Galaxy s7 running android n(although I guess that is expected since the library is for m)
Note any other information that might be useful

The compiled sdk version is at 25 and the buildToolsversion is 25.0.0, do not know if this would be the main issue but still want to check, and if so how to go around this issue to make this work on all possible versions of Android and sdk build tools.
Reproducible steps

While it's not required, it'd be perfect to add a link to a sample project where you encounter the issue

 @NeedsPermission(Manifest.permission.ACCESS_COARSE_LOCATION)
    public void mLocationSetter(){
        mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); // error starts here
    }

    @Override
    public void onConnected(@Nullable Bundle bundle) {
        mLocationSetter();
        Log.i(TAG, mLastLocation.getLatitude() + "");

    }

The @RuntimePermissions annotation has been included as well as the call to MainActivityPermissionsDispatcher inside the onRequestPermissionResults callback.

Why do you call mLocationSetter()?
Here is readme that explains delegation https://github.com/hotchemi/PermissionsDispatcher#2-delegate-to-generated-class

@AleCx4 You have to call a method which is generated by PermissionsDispatcher, please try again!

I did call the delegation method on my code from before :( I don't know what else to do.

@shiraji The code in question asks for location permissions, I guess you don't really need that part but I wanted to see how would one apply the needs permission anotation in other place.

@AleCx4

You mentioned in the description as below, but it seems mLocationSetter is not generated method by the library right?

  @Override
    public void onConnected(@Nullable Bundle bundle) {
        mLocationSetter();
        Log.i(TAG, mLastLocation.getLatitude() + "");
    }
``

- I'm not sure but `ACCESS_COARSE_LOCATION` is correct? I glanced https://developers.google.com/android/guides/permissions and there's `ACCESS_FINE_LOCATION`.

@hotchemi Fine location is one of them as well. But in this case I am using coarse location https://developer.android.com/reference/android/Manifest.permission.html  and you are correct, mLocationSetter() is not generated by the library :) It is a method that I wrote myself
@NeedsPermission(Manifest.permission.ACCESS_COARSE_LOCATION)
   public void mLocationSetter(){
       mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); // error starts here
   }

Basically, what follows is the line of code that gets the users's location from the FusedLocationAPI which requires permission, because of this I wrapped it up inside a method that uses the @NeedsPermission annotation.
 mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); // error starts here
My issue is, that the above line has the red error underline showing that I need to ask for permissions, even after I did everything in the tutorial README :(

You are asking a different question.
For the lint error, check this https://github.com/hotchemi/PermissionsDispatcher/issues/266#issuecomment-273021915

mLocationSetter() is not generated by the library :)

Please rebuild the project and make sure that you're using annotation processing.

Well this is the whole thing:
@RuntimePermissions
public class MainActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener {

    private static final int MY_REQUEST_PERMISSION_COARSE_LOCATION = 45;
    public static final String TAG = "MAINACTIVITYITS";
    GoogleApiClient mGoogleApiClient;
    Location mLastLocation;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        GoogleApiBuilder();

    }

    public void GoogleApiBuilder() {
        // Create an instance of GoogleAPIClient.
        if (mGoogleApiClient == null) {
            mGoogleApiClient = new GoogleApiClient.Builder(this)
                    .addConnectionCallbacks(this)
                    .addOnConnectionFailedListener(this)
                    .addApi(LocationServices.API)
                    .build();
        }
    }

    @Override
    protected void onStart() {
        mGoogleApiClient.connect();
        super.onStart();
    }

    @Override
    protected void onStop() {
        mGoogleApiClient.disconnect();
        super.onStop();
    }
    @SuppressWarnings("MissingPermission")
    @NeedsPermission(Manifest.permission.ACCESS_FINE_LOCATION)
    public void mLocationSetter(){
        mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
    }

    @Override
    public void onConnected(@Nullable Bundle bundle) {
        mLocationSetter();
        Log.i(TAG, mLastLocation.getLatitude() + "");
        Toast.makeText(this, mLastLocation.getLatitude() + "" , Toast.LENGTH_LONG).show();

    }

    @OnShowRationale(Manifest.permission.ACCESS_COARSE_LOCATION)
    public void locationRationale(PermissionRequest request){
        showRationaleDialog(R.string.permission_coarse_rationale, request);
    }

    @Override
    public void onConnectionSuspended(int i) {

    }

    @Override
    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {

    }

    @Override
    public void onLocationChanged(Location location) {

    }
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        // NOTE: delegate the permission handling to generated method
        MainActivityPermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults);
    }

    private void showRationaleDialog(@StringRes int messageResId, final PermissionRequest request){
        new AlertDialog.Builder(this)
                .setPositiveButton(R.string.button_allow, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        request.proceed();
                    }
                })
                .setNegativeButton(R.string.button_deny, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        request.cancel();
                    }
                })
                .setCancelable(false)
                .setMessage(messageResId)
                .show();

    }
}

What is your problem, now?
I saw a lot of syntax issues. Here is the code I can compile.
@RuntimePermissions
public class MainActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener {

    private static final int MY_REQUEST_PERMISSION_COARSE_LOCATION = 45;
    public static final String TAG = "MAINACTIVITYITS";
    GoogleApiClient mGoogleApiClient;
    Location mLastLocation;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        GoogleApiBuilder();

    }

    public void GoogleApiBuilder() {
        // Create an instance of GoogleAPIClient.
        if (mGoogleApiClient == null) {
            mGoogleApiClient = new GoogleApiClient.Builder(this)
                    .addConnectionCallbacks(this)
                    .addOnConnectionFailedListener(this)
                    .addApi(LocationServices.API)
                    .build();
        }
    }

    @Override
    protected void onStart() {
        mGoogleApiClient.connect();
        super.onStart();
    }

    @Override
    protected void onStop() {
        mGoogleApiClient.disconnect();
        super.onStop();
    }

    @SuppressWarnings("MissingPermission")
    @NeedsPermission(Manifest.permission.ACCESS_FINE_LOCATION)
    public void mLocationSetter() {
        mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
    }

    @Override
    public void onConnected(@Nullable Bundle bundle) {
        MainActivityPermissionsDispatcher.mLocationSetterWithCheck(this);
        Log.i(TAG, mLastLocation.getLatitude() + "");
        Toast.makeText(this, mLastLocation.getLatitude() + "", Toast.LENGTH_LONG).show();

    }

    @OnShowRationale(Manifest.permission.ACCESS_FINE_LOCATION)
    public void locationRationale(PermissionRequest request) {
//        showRationaleDialog(R.string.permission_coarse_rationale, request);
    }

    @Override
    public void onConnectionSuspended(int i) {

    }

    @Override
    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {

    }

    @Override
    public void onLocationChanged(Location location) {

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onProviderDisabled(String provider) {

    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        // NOTE: delegate the permission handling to generated method
        MainActivityPermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults);
    }

    private void showRationaleDialog(@StringRes int messageResId, final PermissionRequest request) {
        new AlertDialog.Builder(this)
                .setPositiveButton(R.string.common_signin_button_text, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        request.proceed();
                    }
                })
                .setNegativeButton(R.string.common_signin_button_text, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        request.cancel();
                    }
                })
                .setCancelable(false)
                .setMessage(messageResId)
                .show();

    }
}

We spent too much time on how to implement getting location. This is not related to PermissionsDispatcher. Since this is the place discussing about PermissionsDispatcher's features, you need to go to StackOverFlow or some other forums that help implementing Android app.


sourcing .zplug/init.zsh disables tmux automatic-rename

Type:

[x] Bug
[ ] Enhancement
[ ] Feature Request
[ ] Question

zplug --version: 2.4.1
zsh --version: 5.3.1
uname -a: Linux GreyGoose 4.10.1-1-ck-skylake #1 SMP PREEMPT Mon Feb 27 14:52:34 EST 2017 x86_64 GNU/Linux

Type: Bug
Minimal zshrc
source ~/.zplug/init.zsh

Step to reproduce

start zsh default configuration inside tmux
make sure automatic-rename is on in tmux.conf
test by running app such as 'htop' and window title should change
source ~/.zplug/init.zsh
now try starting same program and notice the window title no longer changes but is stuck to zsh

I cannot reproduce this. Also, I think this is a not zplug bug.

what is your term variable and terminal emulator. I am using st and tmux-256color

My env is here
$ echo $TERM
screen-256color
$ tmux -V
tmux 2.3

I have no idea how to fix it and what is the cause.

I also had the same problem.
In my case I fixed it with this command.
setopt monitor
I think this is the cause code.
https://github.com/zplug/zplug/pull/355/files#diff-fb361a0797fa562c6352fa10675bfbaaR6

Looks like the lack of monitor identified by @yutakatay is the issue:
Sourced (not working):
$ setopt
alwaystoend
autocd
completeinword
extendedhistory
noflowcontrol
histexpiredupsfirst
histignoredups
histignorespace
histverify
incappendhistory
interactive
login
promptsubst
sharehistory
shinstdin
zle

Not Sourced (working):
$setopt
interactive
login
monitor
shinstdin
zle


Fix minor grammatical issue in documentation.

Why are these changes needed?

Related issue number

Checks

[ ] I've included any doc changes needed for https://ag2ai.github.io/ag2/. See https://ag2ai.github.io/ag2/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Good catch! Thanks for the fix.  What's your discod id?

Good catch! Thanks for the fix.  What's your discod id?

i am on the discord, my id is kartikxramesh


Add panic phase

This change is

crates/cairo-lang-lowering/src/lower/mod.rs line 119 at r1 (raw file):
Previously, spapinistarkware (Shahar Papini) wrote…
No error, means it is reachable.
If this statment passes to the next one, it means we have a flow error, and thus we are unreachable, and then, we don't need to continue with the loop.

why does error mean it is reachable?

crates/cairo-lang-lowering/src/lower/scope.rs line 60 at r2 (raw file):

    /// expression).
    Callsite(Option<LivingVar>),
    /// Returns from the function. `refs` are the reverence variables (including implicits).

Suggestion:
reference

crates/cairo-lang-lowering/src/lower/scope.rs line 64 at r2 (raw file):

    /// functions).
    Return { refs: Vec<LivingVar>, returns: Vec<LivingVar> },
    /// Exits the function with a panic. `refs` are the reverence variables (including implicits).

Suggestion:
reference

crates/cairo-lang-lowering/src/panic/mod.rs line 30 at r2 (raw file):

    ctx.variables = lowered.variables.clone();

    // Skip this phase for non panicable functions.

btw, for early return you don't need the reference information?
Suggestion:
 // non panicable functions, the conversion from structured to flat is trivial.

crates/cairo-lang-lowering/src/panic/mod.rs line 176 at r2 (raw file):
Previously, spapinistarkware (Shahar Papini) wrote…
It's already one function call. I made it a bit shorter. Is this better?

I mean a function that return both variants.

crates/cairo-lang-sierra-generator/src/lifetime_test_data/match line 141 at r2 (raw file):
Previously, spapinistarkware (Shahar Papini) wrote…
No.

it would have been easier to review as a separate PR.

crates/cairo-lang-lowering/src/lower/mod.rs line 119 at r1 (raw file):
Previously, spapinistarkware (Shahar Papini) wrote…
LoweringFlowError is either Failed, Return, Panic or Unreachable. Failed means there is a real diagnostic somewhere. Others just means we got to a point that makes the current computation unreachable, like 5 + {panic();}

I don't like it, but its not blocking.


[epic] cadl, versioning

epic: https://github.com/Azure/cadl-azure/issues/1945
Service Version
FooServiceVersion class Include all versions in @versioned of Foo service/namespace.
https://github.com/microsoft/cadl/tree/main/packages/versioning#enable-versioning-for-service-or-library
Default is latest. User can choose another version when building the Client. This is existing pattern in data-plane SDK.
added

For API or model, NOOP.

For model property, likely NOOP, as added should always be an optional property.

For API parameter, it depends on feature of option bag https://github.com/Azure/autorest.java/issues/1846.

If option bag, same as model. No change to method signature.
If API, require an overload of bar(..) (v1) and bar(.., addedParameter) (v2)

renamedFrom

For API or model, TBD. We can generate both with new name and old name. But why do we even allow this, as this rename is of no value for REST, and old name stays forever in SDK for backward-compatibility. Adding a @friendlyName to let SDK generate old name after rename seems a better solution.

For model property, generate setter/getter of new name and old name (old setter/getter calls new setter/getter). (variable can use @JsonAlias for old name on JSON). Setter/getter of old name will have @Deprecated on it to point to new name.

For API parameter, likely NOOP, as method signature is not affected by parameter name.

If option bag, similar to model

low priority
madeOptional

For model property, require an overload on ctor of foo(.., madeOptionalParameter) (v1) and foo(..) (v2).

For API parameter, it depends on feature of option bag (and may depends on required parameter get to option bag or not). No change to method signature.

If option bag, same as model
If API, require an overload of bar(.., madeOptionalParameter) (v1) and bar(..) (v2)

removed
TBD, I am not sure whether this is allowed or not. Having deleted model or API or property in SDK is quite confusing to customer that only uses the latest version (expect most of the customer in this category).
no priority
Verification based on api-version
Context: usually DPG does not do any client validation.
Do we need client do validation and throw error, if e.g. property added in v2 is used when ServiceVersion set to v1?
<-- this one get to be complicated
no priority Current plan is no validation. Service should return error if version and schema not match.

https://github.com/Azure/autorest.java/issues/1884
https://github.com/Azure/autorest.java/issues/1885
https://github.com/Azure/autorest.java/issues/1886
https://github.com/Azure/autorest.java/issues/1887
https://github.com/Azure/autorest.java/issues/1888

This issue captures the design.
Implementation tasks is moved to Backlog, as they are not required in DPG 2.0


Could this be used in an async function?

Hi,
I am trying to use this library the way it is described here:- https://stackoverflow.com/questions/42020911/i-am-finding-trouble-using-log4js-protractor-appender
for my protractor-cucumber-typescript framework. And I have remodeled the appenders as per this article:https://stackoverflow.com/questions/45153599/error-with-log4js-configuration-must-have-a-property-appenders-of-type-object/45167568#45167568
Here is how I am using the logger in my step defs
    Given(/^I am on the Google site for "(.*?)"$/, async (text) => {
        await toplinks.navigate_SearchImages();
        let textUI = await toplinks.getText_Search();
        browser.logger.info("This is what I am looking for");
        await expect(textUI).equal('Feeling Lucky');
    });

When the code runs this does not print out anything in the console or in the file. 1) Can this library be used with async functions 2) Am I using it the right way 3) Could someone please add an example for protractor in documentation?
Thanks

Hi!
There is no reason why async should be different, since this plugin only wraps the console call within Protractor's controlFlow.
Can you try this code and tell me if you're having the same issue?
    Given(/^I am on the Google site for "(.*?)"$/, (text) => {
        toplinks.navigate_SearchImages()
            .then(() => toplinks.getText_Search())
            .then((textUI) => {
                browser.logger.info("This is what I am looking for");
                expect(textUI).equal('Feeling Lucky');
            });
        });
    });

    toplinks.navigate_SearchImages()

Hi,
I think, I have at least found the problem. I think the logger works as it is. A config file setting is causing problem and I am not sure how to resolve it. The property "shardTestFiles:" when set to "true" helps in parallel execution but the log info doesn't get printed to console. but when it is set to "false" I see the log info getting printed. below is the snippet from my config.ts
 beforeLaunch: () => {
        console.log("inside beforeLaunch");
        if (fs.existsSync('./logs/ExecutionLog.log')) {
            fs.unlinkSync('./logs/ExecutionLog.log')
        }
        log4js.configure({
            appenders: {
                fileLog: { type: 'file', filename: './logs/ExecutionLog.log' },
                console: { type: 'log4js-protractor-appender' }
            },
            categories: {
                file: { appenders: ['fileLog'], level: 'info' },
                another: { appenders: ['console'], level: 'info' },
                default: { appenders: ['console', 'fileLog'], level: 'info' }
            }
        });
    },

onPrepare: () => {
        console.log("inside onPrepare");
        browser.logger = log4js.getLogger('another');
        browser.ignoreSynchronization = true;
        browser.manage().timeouts().implicitlyWait(12000);
        browser.manage().window().maximize();
        Reporter.createDirectory(jsonReports);
    },

The reason why I am initiating this in config.ts is it have to globally attached to the browser object. The OnPrepare() function gets executed before every test and beforeLaunch() function gets executed only once before all tests. I am not sure why "shardTestFiles:true" would not print logs to console.


Featured project

Coverage increased (+0.62%) to 71.43% when pulling 37e1edf0ebdab63ff005d724eee12250f7d829b4 on featured-project into e57d6e99ea79d7a9129d870185c70cb9ed0add27 on master.


[@now/node] Body parser helper does not cast bracket notated fields to an array

The built-in Node querystring package does not support arrays or nested objects. Perhaps this isn't something you'd want to support but I thought I'd open an issue to start the discussion. If this is the intended behaviour, then please disregard.
Replication
Try POSTing a body using application/x-www-form-urlencoded with fields containing an array like so:
options[0]=one&options[1]=two&options[2]=three

The values returned by req.body will be:
{
   "options[0]": "one",
   "options[1]": "two",
   "options[2]": "three"
}

Expected Behaviour
The req.body object should contain a value of:
{
   "options": [
      "one",
      "two",
      "three"
   ]
}

Relevant code in the @now/node builder here: https://github.com/zeit/now/blob/canary/packages/now-node/src/helpers.ts#L33

It was not implemented because it is considered an extended feature of Express.
https://github.com/expressjs/body-parser#extended
We will consider adding this feature in the future, thanks!

Makes sense! Is there a particular reason to mirror Express? I know it's probably the most popular but it's not exactly the most performant.
I'd be happy to create a PR to help out. I could see it as another configuration setting in the now.json file – perhaps something like this, especially if you want to stay aligned with Express:
{
  "builds": [
    {
      "src": "my-file.js",
      "use": "@now/node",
      "config": { "helpers": { "enabled": true, "extended": true } }
    }
  ]
}

For that example, you'd have to expose to config object to the helpers.js file, but it could be doable.

Thank you for creating this issue!
Please note that – in order for us to be able to handle each feature request with care – we have to consume all of them through a unified pipeline that makes it easier for us to prioritize, track and progress on the features our user base is interested in.
In turn, the Issues tab on this repository is best only be used for reporting bugs, which we can immediately act on.
For well-explained feature requests (like the one you just posted), please contact us at<EMAIL_ADDRESS>so that we can consider adding it to our roadmap.


Update examples that had bigquery.table

bigquery has no method table, but dataset does.
Fixes internal bug

Thank you!


Support generation of java gRPC source code in the generation phase.

At present, the pipeline won't build the source code until publish/package phase. The grpc generation output is a gradle build file, so the user needs to manually run the gradle task and retrieve the source code from the generated/ directory.

@michaelbausor I think we can close this issue. The artman already produces the grpc source code.


[Select] Test if child passed to onChange handler

Add a test case for #12739

@akaxiaok Thanks for the test case 👍


Indexer edition 2024

This PR is implementing the indexer edition 2024, largely inspired by the ideas from this blog post.
Features

Stream-first approach to reading documents.
Minimum disk write operations.
RAM usage-first approach to avoid modifying common bitmaps on disk but in memory.
Reduced LMDB fragmentation by writing entries only once...
...computing the final version of the entries in parallel...
...and storing them in write-optimized data structures before sending them to the BTree (LMDB).
Indexing in multiple transactions to improve large dataset support (dumps).

To Do

[x] (partial support) Add the support for nested primary key.

[ ] Support fields that contain flat dots, i.e., "my.primary.key", "my.primary: { key }".

[x] When appending document changes operations in the HashMap, remove operations preceding a reset (deletion, replacement) so that we can sort by either the first or last change (update, replacement).
[ ] Plug the rayon ThreadPool back.
[ ] Add the support for facets (facet levels, facet search synchronous for now).
[ ] Add the support for prefixes (synchronous for now).
[ ] Add the support for vector extractions and arroy (synchronous for now).
[ ] Add the support for geo fields.
[ ] Add the support for dumps.
[ ] Control the memory consumption (mostly around LruCache x Sorters).
[ ] Merge and release a new version of grenad.
[ ] Merge and release a new version of obkv.

To Do Next

[ ] Optimize everything.
[ ] Remove the docid fid facet value database and fetch it from the document directly.
[ ] Support Rhai functions.
[ ] Support compression of documents (it should done by the merger. It must be done on the rayon pool).
[ ] Move the tests out of the source files (to speed up Rust Analyzer).
[ ] Probably stop using grenad and choose a simpler, mmap, and typed alternative.
[ ] Directly write the update from the user in the file store update file (do not use a temp file) and convert everything to NDJSON.

To consider

[ ] Optimizing string handling during indexing and tokenization

[ ] Use Small String Optimization
[ ] Use string interning
[ ] Allow referencing the base payload for the entire duration of the indexing when normalization did not modify the token

/bench workloads/hackernews*

/bench workloads/hackernews.json workloads/hackernews-ignore-first-100k.json workloads/movies.json

/bench workloads/hackernews.json workloads/movies.json


Harmonization of Metier L6 and Gear L4: New Gear L4 LH

For bycatch submission, Spanish submitters needed Gear L4 LH, corresponding to Metier L6 LH

I contacted ISSG, Josefine Egekvist and she agreed that this is needed. I cretaed the generic LH in GearL4.

@odontaster to check the reference for Gear types L4 in DCF/JRC list(s)

Dear Adriana,
I brought up this issue to the chairs for the gear type to match the metier LH_. Since the code LH is not foreseen in the COMMISSION DELEGATED DECISION (EU) 2021/1167 and it is not used by the fleet economic data call they did not think it would be crucial to include this.
In the gear list of the FDI data call there are already the 2 following gear codes:
Handlines and pole-lines (mechanised) LHM
Handlines and pole-lines (hand-operated) LHP
that specifies the LH. But you think this would not be sufficient? maybe I misunderstood something.
Warm greetings from Ispra.
Kind regards,
Zeynep

In the light of this, I would reject this request.


Potential double free of messages

For context this is a bug i encountered in a modified version of openthread. I am unsure if it is possible to trigger this specific code path in an unmodified version of openthread. However, it seems like checks to prevent this should be added in code.
The bug is a double free of a message which is both marked as a direct transmission as well as a indirect transmission. In particular it is triggered if the following sequence happens:

Message is set as the next indirect transmission for a child
MeshForwarder::PrepareNextDirectTransmission is called
Route update for the direct transmission fails
The default error handler case in MeshForwarder::PrepareNextDirectTransmission frees the message without checking if it has any indirect transmissions pending.
Indirect transmission finishes. Causes a second free of the already freed message.

As i said i am unsure if it is possible to trigger this without modifications. However other direct transmit functions (for example MeshForwarder::UpdateSendMessage) do correctly check for pending indirect transmissions so it seems like something that should be covered.

@CodingRays , thanks for raising this issue.
It looks like the line you highlighted:
https://github.com/openthread/openthread/blob/aebecca9649704c1318228e6da562eaa7c1ed156/src/core/thread/mesh_forwarder.cpp#L657
Should be replaced with a call to:
https://github.com/openthread/openthread/blob/aebecca9649704c1318228e6da562eaa7c1ed156/src/core/thread/mesh_forwarder.cpp#L1351

Thanks @CodingRays for debugging, finding and reporting this. I just submitted https://github.com/openthread/openthread/pull/10471.
I agree it would be definitely better/safer to use the RemoveMessageIfNoPendingTx() instead.
I expect this scenario to be unlikely. An error in PrepareNextDirectTransmission() usually comes from error = UpdateIp6Routes() failing to find a next hop towards the destination of message. Typically, only multicast messages would be queued for both indirect tx to children and direct tx, and then UpdateIp6Routes() wouldn't fail for broadcast destination.


mujoco_py out of date.

any plan updating to mujoco?

Hello @flydragon2018, following the conclusion of the DexMV project, we discovered that the MuJoCo simulator doesn't quite meet the requirements of some specific dexterous task. Therefore, we've transitioned to using the SAPIEN simulator which offers superior physical simulation capabilities.
Consequently, the repository is provided as-is. We regret to inform you that we won't be updating or maintaining newer versions of MuJoCo.


Cannot access 'vn' before initialization

I have integrated Microsoft azure speech to text in my angular 8 application.
It is working on locally but when i deployed my code to test env it's giving me error 'Cannot access 'vn' before initialization' on this line const sdk = require('microsoft-cognitiveservices-speech-sdk');.
My test env is unsecured network.
Below is my code:
starAudioRecording() {
const audioConstraints = {
audio: true,
video: false
};
navigator.mediaDevices
.getUserMedia(audioConstraints)
.then(this.successCallback.bind(this), this.errorCallback.bind(this));
}
successCallback(stream) {
    const options = {
        mimeType: 'audio/wav',
        numberOfAudioChannels: 1
    };
    const StereoAudioRecorder = RecordRTC.StereoAudioRecorder;
    this.recorder = new StereoAudioRecorder(stream, options);
    this.recorder.record();
}

stopRecording() {
    setTimeout(() => {
        this.recorder.stop(this.processRecording.bind(this));
    }, 1000);
}

processRecording(blob) {
    console.log(blob);
    this.blob = URL.createObjectURL(blob);
    setTimeout(() => {
        const fileObject = new File([blob], 'audio.wav');
        this.RecognizerStart(fileObject);
    }, 1000);
}

errorCallback(error) {
    console.log('Can not play audio in your browser');
    this.resultText = 'media is not supported in your browser';
}

RecognizerStart(audioFile) {
    const sdk = require('microsoft-cognitiveservices-speech-sdk');
    console.log(sdk);
    const audioConfig = sdk.AudioConfig.fromWavFileInput(audioFile);
    console.log('audioConfig' + audioConfig);
    const speechConfig = sdk.SpeechConfig.fromSubscription('29d1eb8c7bef4d7dadd0d5ea9d22ac20', 'centralindia');
    console.log('speechConfig' + speechConfig);
    speechConfig.speechRecognitionLanguage = 'en-US';
    let recognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);
    console.log('recognizer' + recognizer);
    // Start the recognizer and wait for a result.
    recognizer.recognizeOnceAsync(
        result => {
            console.log(result.text);
            this.resultText = result.text;
            recognizer.close();
            recognizer = undefined;
        },
        err => {
            console.log('err - ' + err);

            recognizer.close();
            recognizer = undefined;
        }
    );
}

Apologies for the late reply here
This repo is for the various docs under https://docs.microsoft.com/javascript/api
Your problem seems to be with the microsoft-cognitiveservices-speech-sdk package. Issues for this package can be logged at https://github.com/Microsoft/cognitive-services-speech-sdk-js


[BUG] - Remix + Netlify + NextUI: "document is not defined"

NextUI Version
2.4.8
Describe the bug
When attempting to serve a Remix+NextUI application to Netlify (either functions or to the edge), receive a ReferenceError: document is not defined when serving the application
Taking NextUI components out of the application and the error does not occur.
Your Example Website or App
https://github.com/drovani/remix-nextui-netlify-edge
Steps to Reproduce the Bug or Issue

Create a new Remix app to deploy to Netlify

npx create-remix@latest --template netlify/remix-template

Install Tailwind CSS with Remix

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init --ts -p
Update ./tailwind.config.ts
Create ./app/tailwind.css
Add LinksFunction export to ./app/root.tsx

Run npm build && netlify serve to validate that solution executes as expected.
Implement NextUI in Remix

npm i @nextui-org/react framer-motion
Update ./tailwind.config.ts with NextUI plugin
Add NextUIProvider wrapper around the app in ./app/root.tsx

Run npm build && netlify serve to validate that solution still executes as expected.
Add any NextUI component to the ./app/routes/_index.tsx component

Example: replace the first nchor tag with a <Link> component
-or- add a <Button>Clickable</Button> component
-or- add a <Snippet>snippet</Snippet> component

Run npm build && netlify serve and observe the following error:◈ Loaded edge function remix-server
[remix-server] ReferenceError: document is not defined
    at $431fbd86ca7dc216$export$b204af158042fbac (file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:14439:155)
    at $431fbd86ca7dc216$export$f21a1ffae260145a (file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:14443:15)
    at $507fabe10e71c6fb$var$setupGlobalFocusEvents (file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:15512:86)
    at $507fabe10e71c6fb$export$ec71b4b83ac08ec3 (file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:15605:3)
    at $f7dceffc5ad7768b$export$4e328f61c538687f (file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:15716:3)
    at useLink (file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:18728:53)
    at file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:18762:7
    at Wc (file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:13602:13)
    at Zc (file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:13727:13)
    at Z$1 (file:///home/drovani/remix-nextui-netlify-edge/build/server/assets/server-build-CTJ-Eq0G.js:13784:9)

Reset the nchor tag back to the HTML element and rerun npm build && netlify serve; all is well.

Expected behavior
As a website builder, I would expect that NextUI would work in a functions environment seamlessly along with the Remix application.
Screenshots or Videos
No response
Operating System Version

OS: WSL; though this is specific to Netlify

Browser
Chrome

I am experiencing this issue with Remix + NextUI deployed on Vercel.

ReferenceError: document is not defined at (node_modules/.pnpm/react-textarea-autosize@8.5.5_@types+react@18.3.12_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js:97:0)

My setup is as follows:
edge-example.tsx
export const config = { runtime: "edge" };

export default function Edge() {
  return
Hello from Edge
;
}

And in root.tsx:
// ...

  <NextUIProvider>
    {children}
    <ScrollRestoration />


feat: intergrate shadcn form components

#11  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @kleva-j and the rest of your teammates on  Graphite


Can't stop show notification when the app is foreground.

Bug report
Describe the bug
I use turn on and off notification feature. in firebase_messaging: ^7.0.3 version, it's work well but not work in ^8.0.0-dev.15.
I can't stop showing foreground notification.
^7.0.3 registerNotification
  void registerNotification() {
    firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        showNotification(message);
      },
      onBackgroundMessage: Platform.isIOS ? null : myBackgroundMessageHandler,
      onLaunch: (Map<String, dynamic> message) async {
        onSelectNotification(jsonEncode(message));
      },
      onResume: (Map<String, dynamic> message) async {
        onSelectNotification(jsonEncode(message));
      },
    );
    firebaseMessaging.getToken().then(_addToken);
  }

^8.0.0-dev.15 registerNotification.
  void registerNotification() async {
    //Can't stop showing foreground notification
    FirebaseMessaging.onMessage.listen((RemoteMessage message) {
      showNotification(message.notification);
    });

    FirebaseMessaging.onBackgroundMessage(myBackgroundMessageHandler);

    firebaseMessaging.getToken().then(_addToken);
  }

I manage to stop notification from showNotification function, in version 8 , foreground notification is showing notification itself not from my showNotificaion function.
Platform: Android

Hi @shinewanna
Does the issue persist on the latest version of the package?
Could you provide a minimal complete reproducible code sample?
Could you please provide your flutter doctor -v and flutter pub deps -- --style=compact?
Thank you

I can't update the plugin to latest one cause of package conflict. So i use ^8.0.0-dev.15 for fixing conflict.
Simple way to reproduce the issue bro.
Create a new project and use firebase_messaging with ^8.0.0-dev.15, and u'll see, it won't work as except but work as excepted in version 7.0.3

So do you mean that the onMessage stream doesn't fire when the event is received or what? I have no idea what your showNotification method does. Checking this with the official example the stream fires and it shows a local notification with the specified parameters so I'm not sure what exactly you are referring to here.

yes onMessage doesn't listen foreground notification, it show itself
showNotification method is just showing the title and body with LocalNotification plugin.

So the official example doesn't work for you either?
https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_messaging/firebase_messaging/example/lib
Have you tried adding a print to make sure the issue is the stream?

So the official example doesn't work for you either?
https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_messaging/firebase_messaging/example/lib
Have you tried adding a print to make sure the issue is the stream?

Yes, i printed in stream, it's only showing in app notification print.
Now, i updated to firebase and flutter latest version. My question is how i make a switch to showing notification and stop showing notification.

So the stream is receiving notifications? I don't really understand the question here. If you don't show the notification in the local notifications high importance channel it will not show up.

The stream is not receiving foreground notification. It's receiving only in app notification. Foreground notification is shown by itself, it's not streamming from onMessage. So foreground notification is not using my local notification method. Do u understand my problem sir?
I know the things is stop showing notification from onMessage stream but in app is foreground it's not using my local notification. Firebase shown by itself. I don't know how to explain more. Plz create new project and try to stop foreground notification then u'll know.

As mentioned before it would be really helpful if you could provide minimal complete reproducible code sample to demonstrate the exact issue.

Finally, i found the bug, onMessage is calling and firebase is showing itself notification also.
So the notifications are appearing twice in android.
When i stop showing from onMessage, the default one is always showing. That's what i have as bug, please fix the the issue. Firebase is sending and showing itself and send from onMessage also. It's only happen in foreground.

As I mentioned the foreground notification is only shown as a heads up notification if you use the high priority notification channel. You still have not provided a complete code sample to demonstrate the issue and there is no such issue with the official example.
You need to provide some actual code that demonstrates this double notification issue.

You can see, two notifications from below screenshot. I just send the from UI one time but it appear from onMessage once and itself once.

UI, just click floating action button and go to the foreground. I added delay 2 second, you can go foreground gently. In app notification is work well. My raised problem is foreground problem, please keep that in mind.

Add your google-sevice.json and add Firebase Messaging Server Token in app-constant as i show from below screenshot. Replace the serverToken key to yours.

And I don't have that much time to quickly reproduce the problem, I want to reproduce the good sample code, so it takes time, I hope you'll understand. Now, sample project is done. You can fetch the code from my github. Github sample project link is https://github.com/shinewanna/github-page-test.

I ran the code you provided with
environment:
  sdk: ">=2.9.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^1.1.0
  firebase_messaging: ^9.1.3
  flutter_local_notifications: ^5.0.0+1
  dio: ^4.0.0
  shared_preferences: ^2.0.5

flutter doctor -v
[√] Flutter (Channel master, 2.3.0-1.0.pre.104, on Microsoft Windows [Version 10.0.19041.928], locale et-EE)
    • Flutter version 2.3.0-1.0.pre.104 at C:\Development\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6338bc0288 (3 hours ago), 2021-04-27 05:59:01 -0400
    • Engine revision 019a49948e
    • Dart version 2.14.0 (build 2.14.0-46.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7199119\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7199119
    • Flutter plugin version 55.1.1
    • Dart plugin version 201.9380
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2021.1)
    • IntelliJ at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\211.6693.111
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] Connected device (4 available)
    • SM G950F (mobile) • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
    • Windows (desktop) • windows            • windows-x64    • Microsoft Windows [Version 10.0.19041.928]
    • Chrome (web)      • chrome             • web-javascript • Google Chrome 90.0.4430.85
    • Edge (web)        • edge               • web-javascript • Microsoft Edge 90.0.818.46

• No issues found!

Only one notification is shown.
Could you try it with the latest version of the package? What device is this happening on?

All of my devices receiving two notifications, please test properly. Did you click the send button and go to foreground like below gif. If you are in app, notification will show properly, but show twice in foreground, check from below link.
Gif Link

Oh well that finally explains the issue. You meant go to background not foreground. Since you are calling the showNotification function in the background message handler it is showing the notification twice.
If you wish to only show the notification using the local notification package (not sure why you would do this, you can customize the notification using the payload itself, but its up to you) then you can remove the notification part of the payload and just use the data to send a title and body to use in the local notification package.
Closing this since the package is working as expected here.

Hay, my question is I want to stop and start show notification by switch button. What i need is, I want to show notification with switch. the notification should not show, when user switch off the notification. I can only done with local notification, that's why i use local notification for switch off and on the notification. I hope u'll understand.

There are a couple of ways this can be done without having to use local notifications. The FCM HTTP v1 API has a condition send destination that you can use to define some boolean logic for if you want to send the notification at all or not.
https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages
It's also possible to just use subscribing to topics and unsubscribing from them for this logic. Another way is if you use Cloud Functions to send notifications with some more advanced logic you can add some conditional logic in your function to determine whether to send a notification to a user or not.
The point is: Don't send the notification to the user at all if they don't want to receive it.
The package (and the native Firebase SDKs that define the behavior of it) are designed to receive these notifications unless the device permissions have blocked them.

Ok, can i know more of other.
 _firebaseMessaging.sendMessage(to:'token');

there's a sendMessage, use for what.
I'm not sure. Is this send fcm notification without calling custom api call?


Limited div affects AOS

This is:

Bug

Specifications

AOS version: 2.1.1
OS: windows 10
Browser: Chrome

Expected Behavior
It should affect all of my declared div, ()
Actual Behavior
I have a lot of divs (87 divs) that declare to animate, but it seems AOs has a limit.

@kzeke I have tested version 2.1.1 with up to 135 divs, and there are no issues or limits. Could you share a code example? It sounds like this is not an issue with AOS.

Same here. I have 24 divs that declared with AOS, but when I declared to more than 24, it won't show up/ hidden.


Add metrics for ClusterQueue usage

What would you like to be added:
Usage metrics for ClusterQueue quotas.
To uniquely identify the resources, we need the following labels: cluster_queue, flavor, resource.
Note that, depending on the number of ClusterQueues, ResourceFlavors and resources, these set of labels could have a big cardinality. For this reason, we need to make this metric opt-in. Additionally, we need to make sure to delete the metrics as ClusterQueues get deleted.
Why is this needed:
Administrators need these metrics to build dashboards and track usage.
Completion requirements:
This enhancement requires the following artifacts:

[ ] Design doc
[ ] API change
[x] Docs update

The artifacts should be linked in subsequent comments.

/assign


Add an extras_require entry for the optional watchdog dependency

The reloader feature has an optional dependency on watchdog:
http://werkzeug.pocoo.org/docs/0.11/serving/#reloader
This change allows the use of Werkzeug[watchdog] in requirements files, which makes the reason behind the dependency clearer, and also allows for version specifiers to be more easily introduced in the future, should there be incompatibilities with certain versions of watchdog.
Fixes #929.

Thanks!


assign testrail cases even if suiteId is not accessible

in #1650 we found that suite is not accessible when -Dtest=.. filter is used for launching.
so current limitation to skip testrail cases linking if no testrail suiteId is detected looks overwhelming.
let's investigate possibility to make suiteid optional

done. tested on mine own using snapshot build


Filtering dependency errors?

How do we programmatically filter dependency errors? I've successfully filtered post and get exceptions but cannot find how to filter dependencies.
[Enter feedback here]

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

ID: c4ded2ce-d8c3-7118-bec9-865f6225dbe0
Version Independent ID: a4089752-177c-866c-7237-3ac02c7750d9
Content: Dependency Tracking in Azure Application Insights - Azure Monitor
Content Source: articles/azure-monitor/app/asp-net-dependencies.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @bwren
Microsoft Alias: lagayhar

Thanks for the feedback! We are currently investigating and will update you shortly.

@larrybud2004, Can you please clarify the question a bit further?
Based on my understanding, here are some resources that could help you with tracking dependency call failures

Failed requests from Portal.
Log Analytics query. This option can be clubbed with LogAnalytics API to get data from you application code.

@larrybud2004, Please let me know if you had a chance to review the comment above and let me know if you have any questions.

We will now proceed to close this thread as we have not heard back from you. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.


move cli to separate project

it will help to use mdast in the browser because in the browser nobody need cli. what do you think?

Thanks for the Q @iamstarkov.
First, I think the thing you’re trying to do doesn’t match with the motivation. mdast is installable and usable in the browser already. Sure, you’ll have to download a view more dependencies when using npm, but not that many.
However, I’ve been thinking about this too for a while. The most important reason for breaking the two apart is because they’re pretty different, so separate version control seems useful.
But, the main reason for keeping them together is marketing. I feel it’s much easier to grasp for newcomers when they’re together.
Instead of splitting between API and CLI, I feel for example externalising the parser, the compiler, and several submodules of the CLIs to be much more useful and interesting!

sounds like a good plan!

I still like the idea, and I’m going to implement it somewhere in the future, I’ll re-open when I start working on it.


Add a Gitter chat badge to README.md

strongloop-community/loopback-connector-elastic-search now has a Chat Room on Gitter
@pulkitsinghal has just created a chat room. You can visit it here: https://gitter.im/strongloop-community/loopback-connector-elastic-search.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Can one of the admins verify this patch? To accept patch and trigger a build add comment ".ok\W+to\W+test."


Update dead links and copy edit

Copy edit for consistency and more positive & welcoming tone (do this, not don't do that)
No issue, but related to PR #6725
Changes proposed in this pull request:

test all links and fix several links which are either completely dead or point to wiki stub pages which point somewhere else
change all headings to be action oriented
rephrase prohibitions and warnings as positives (ie do it this way, not don't do it that way)
add a category for peer support
small grammar and spelling fixes throughout

There was a reference to clicking on the "Edit" button on the docs. I'm guessing that this is left over from the wiki and doesn't actually work on the web site. Anyone know for sure?

Thank you, @tfmorris, for updating the document. I like the more positive tone.  I also noticed that in the document, we don't refer to designer, even though we have contributing as a designer guide

There was a reference to clicking on the "Edit" button on the docs. I'm guessing that this is left over from the wiki and doesn't actually work on the web site. Anyone know for sure?

The edit button is at the bottom of the page. It will open the related file in the OpenRefine/openrefine.org repo.

I have been thinking for a while that it would be simpler to just redirect people to https://openrefine.org/docs/technical-reference/contributing, which we have been working on improving quite a lot recently. I think it makes little sense to maintain this information in two places.

@wetneb I agree that we should avoid duplicate content and follow the Don't Repeat Yourself (DRY) principle for our documentation. However, I also believe it's important that the information is available directly on the OpenRefine/OpenRefine repository for those accessing the project only from Github or a clone of the project. Since GitHub recommends having a set of community health files, I think a lot of people expect to find that information directly in the repository.

I would definitely keep a CONTRIBUTING.md file at the root of the repository, but I would propose that it contains just a short text redirecting the reader to the online documentation, such as:
Thank you for your interest in contributing to OpenRefine! Our documentation for new contributors is at:
https://openrefine.org/docs/technical-reference/contributing

I think new contributors will generally have internet access (given that they were able to clone the repository in the first place), so it shouldn't be too much of a restriction.
Here are examples of other projects which do something similar:

https://github.com/organicmaps/organicmaps/blob/master/CONTRIBUTING.md
https://codeberg.org/forgejo/forgejo/src/branch/forgejo/CONTRIBUTING.md
https://github.com/mattermost/mattermost/blob/master/CONTRIBUTING.md

I would propose to:

merge this as is
improve the documentation on the website with whatever information is in CONTRIBUTING.md and not there yet
change CONTRIBUTING.md to be a redirection to the website as suggested above

This way @tfmorris' work is not lost and we stop maintaining the same information in two places and in two different formats.

I think I've address all of Martin's comments. Since this is not primarily focused on developers, I'm fine with moving it to the website.

I agree to merge as-is and the plan outlined by @wetneb  I created https://github.com/OpenRefine/openrefine.org/issues/362 to track it


TargetPlatform for web doesn't exist

TargetPlaform for a web application doesn't exist.
The TargetPlatform enum on flutter/common/flutter/packages/flutter/lib/src/foundation/platform.dart doesn't contains a value for a web application.
When Theme.of(context).platform is used on a web application, the platform value returned is the platform that is hosting the application, for example, linux.

Yes, I  know it that Theme.of(context). platform enum is mainly to style the UI elements. It's for that reason that  TargetPlatform would has an enum for web.
Another good reason is for testing. If the same code could be run in different environments (including web), and have style UI elements that have some specific details for web, how to test it? When the test runs, kIsWeb is false.


propose HIPE: Concurrency Improvement

Libindy show provide better requests concurrency and performance in parallel requests
processing environment.
Note that this proposal can look a bit technical for HIPE, but some possible
options can significantly affect community and libindy developer experience.
So i suggest to discuss it this way.

Rendered text

I am uneasy about this proposal. We are assuming a lot of responsibility for concurrency inside libindy, and making libindy fairly complex as a result. Some of the core things that libindy does are inherently asynchronous, such as interacting with a remote ledger. But I feel like crypto calls are inherently synchronous and should not be using a command object and a dispatch thread at all. By modeling such things as asynchronous, we are requiring consumers of crypto to model these synchronous operations as asynchronous with callbacks, and we are taking away from application code the ability to parallelize or serialize per its preference. In addition, I fear that the way we provide the concurrency inside libindy may limit its usefulness in certain embedded environments or on certain mobile platforms where concurrency assumptions may not fit the ones we've picked as our least common denominator.
There are two counter arguments to my worry, that I think are important:

If we don't do keep interfaces the same and build all the concurrency support into libindy in the way Slava proposes, we will have a lot of rewrite work. Slava makes this point in the HIPE, and I agree with it--but I don't think it ends all discussion. If we really are doing the wrong thing with the current interface, then we'd be far better off to rewrite now, before massive codebases get built on a flawed foundation, than to perpetuate a mistake. I think that the rewrite costs, while painful, would be bearable today. In a year, not so much.

Far more compelling in my mind is this counter-argument: Although crypto might be an example of inherently synchronous stuff in libindy, and although we might come up with a few other synchronous things as well, we might expect such functionality to rarely be consumed by itself. That is, most of the time we expect to be combining crypto and async comm. If this is true, that combining such calls is nearly always how the functionality is consumed, then keeping the crypto purely synchronous doesn't buy anybody a lot.

In general idea of synchronous crypto looks ok for me too, but there is significant factor that makes our crypto endpoints very similar to pool requests endpoints. We don’t have just crypto. All crypto calls involves wallet and causes long file reading/writing or waiting on network sockets. So they are blocking io/cpu intensive operations. Modelling calls like this in a blocking API way will significantly complicate the most of applications.
I am a bit sceptic about the point that it will simplify libindy. Usually providing blocking thread-safe API wihtout dispatcher thread is more complex task than providing non-blocking API.

That's a good response, Slava. Thank you for thinking about my concerns. I would love hear what other people think about this topic. Are there members of the indy-sdk team, or coders out there in the community, that feel able to chime in?

As discussed in the Maintainers call and the WG call we had a call on this topic today and thw consensus was we are ready to move forward on this HIPE after a week comment period which starts today.  Please comment on this PR if you have blocking issues or feedback you'd like to see incorporated.

Some of the Indy maintainers got together to discuss this interactively. We acknowledged that there's a tension here. If we take the approach advocated in this HIPE, almost nothing has to change in the APIs or wrappers, and client code only has to decide how big of a thread pool it wants. Libindy will become more capable of taking advantage of whatever concurrency is allowed by its host platform. And application developers will get certain concurrency benefits without thinking about them very much. Those are all good things. It would mean, for example, that TOB's use case where they're issuing 1.5M credentials will run drastically faster and will not block other indy operations.
On the other hand, this approach introduces some internal complexity into libindy that will have a carrying cost, and it requires that libindy run only on platforms that are capable of supporting sophisticated threading concepts. This may eliminate IoT things with embedded OSes, for example. Also, this approach is not very friendly to applications that want to be written for, and run as, synchronous processes.
After a lot of discussion, we concluded that the benefits outweigh the drawbacks, so we will vote in favor of the HIPE. However, we want to do some research about what a synchronous API might look like because it may be desirable to wrap async libindy with a thin veneer that makes it friendly to synchronous use. That research is not a dependency of merging the HIPE, but should still be scheduled. Also, we concluded that for the benefit of the embedded/IoT use case (which relates to so-called "static agents"), we are probably going to have to commit to an ultra-simple library sharing some DNA with libindy, but lacking support for the ledger or wallets (the main things that must be asynchronous). This library would be synchronous and would probably have just the functions needed to package and encrypt messages, and to unpackage and decrypt them. Perhaps it would be indy-crypto, or perhaps something different...
We'll now move this HIPE to a final comment period.

Waiting period announced in Maintainers meeting has elapsed, please handle further issues as new PRs against this HIPE.


Update VulkanTexture.hpp, fixed assignment

Hi,
imageLayout = imageLayout; doesn't make any sense, so I thought to assign it to the class variable..

I see, that's wrong, though it's in the linear tiling path that's never actually used. Will push a correct fix for this.


Issue 12421 - Allow simpler syntax for lambda template declarations

https://issues.dlang.org/show_bug.cgi?id=12421
Corresponding compiler change: D-Programming-Language/dmd#3638

Thanks, the feature is not in stable and will be released w/ 2.070 though. I'll fix this.

Ah, sorry...

I reverted this, see
https://github.com/D-Programming-Language/dmd/pull/5251
https://github.com/D-Programming-Language/dlang.org/pull/1148


XChartPanel::updateSeries fails if series size changes

The updateSeries fails if the new series has different size. This is because the x,y and error bars are updated sequentially.

I implemented a slightly different approach. Thanks for bringing this issue to light!


code releasing

hello, whether or when the source code of this exllent work will release thanks!

I'll open source when my paper is submitted, which should be soon.


pdftopdf loses entered form data when flattening the PDF

OS: Debian testing,
cups-filters: 1.28.16-1+build3
How to reproduce:

Create or find a PDF form
Fill it out
Save as a PDF
Print via lp command.

When opened with a PDF viewer, the form will have the entered data. However, when printed, the data will be lost.
It seems that pdftopdf filter is doing this. Running cupsfilter to apply just the pdftopdf filter to a simple form.pdf file returns a flattened file with no entered data.
cupsfilter -o media=letter -o fit-to-page -o colormodel=cmyk -o pagesize=letter -p /usr/share/ppd/cupsfilters/Ricoh-PDF_Printer-PDF.ppd -m application/vnd.cups-pdf form.pdf >form-flattened.pdf

Original form.pdf and resulting form-flattened.pdf are attached.
Note how the Question 1 is still there, but the answer 444 is lost in the flattened document.

I've been a bit swamped but will try to find time to look at this in the next few days.

Sorry for the long delay. I have identified the issue, and it's basically a one-line change. What I need to do is figure out how we've gone this many years without having seen this before, because it seems like a really obvious mistake. I also need to make sure I have a test case for it. I'll try to get a fix in main this weekend if possible.

I'm going to work this as qpdf/qpdf#949 which is caused by the same underlying issue.

I figured out what's going on here. The PDF file in question is using the /AS key (appearance state) incorrectly, but qpdf can easily work around it.

I have installed QPDF 11.4.0 as of https://github.com/qpdf/qpdf/issues/949 now and tested the command line of the initial posting again. The new QPDF indeed fixes this bug. Closing ...

Thanks a lot for the quick fix and release, @jberkenbilt !


[C++] get_fragments filter argument not filtering on statistics

Describe the bug, including details regarding any error messages, version, and platform.
Based on the documentation
https://arrow.apache.org/docs/6.0/python/generated/pyarrow.dataset.Dataset.html#pyarrow.dataset.Dataset.get_fragments
Return fragments matching the optional filter, either using the partition_expression or internal information like Parquet’s statistics.
I would have assumed that the following code would return only one fragment. However, the expression seems to be applied only to the partitions as both fragments are being returned even though only one matches the predicate if you look at the statitics
import pyarrow.dataset as pds
import pandas as pd

ds_path = './my_dataset'
df = pd.DataFrame({
    'A': [1,2],
    'B': [1,2]
})
df.to_parquet(ds_path, partition_cols=['A'])

pdataset = pds.dataset(ds_path, format='parquet', partitioning='hive')

fragments = pdataset.get_fragments(
    filter=(pds.field('B') == 1)
)

for f in fragments:
    print('-------------')
    print(f.path)
    print(f.to_table())
    for row_group in f.row_groups:
        print(row_group.statistics)

Version
'11.0.0'
Component(s)
Python

I've labeled this C++ since the eventual fix will probably need to be there.  You are correct that row group filtering is not currently happening in get_fragments.  It may not be the simplest thing to fix.  I suspect that comment is from the legacy parquet dataset which may have operated in this fashion.
Unfortunately, we do not load the parquet metadata for every single fragment when a dataset is created.  In fact, if you specify a list of files and a schema at dataset creation, we won't load any data at all from disk.  So we don't have the statistics at this point.


Show embedded Entry Widget view in the example app

Jira issue:
https://glia.atlassian.net/browse/MOB-3714
What was solved?
Add ability to show embedded Entry Widget view in the example app
Release notes:

[ ] Feature
[x] Ignore
[ ] Release notes (Is it clear from the description here?)
[ ] Migration guide (If changes are needed for integrator already using the SDK - what needs to be communicated? Add underneath please)

Additional info:

[ ] Is the feature sufficiently tested? All tests fixed? Necessary unit, acceptance, snapshots added? Check that at least new public classes & methods are covered with unit tests
[ ] Did you add logging beneficial for troubleshooting of customer issues?
[ ] Did you add new logging? We would like the logging between platforms to be similar. Refer to Logging from Android SDKs → Things to consider for newly added logs in Confluence for more information.

Screenshots:
https://github.com/user-attachments/assets/cfb91125-b702-4e74-b38e-a0d68891d5cd

I added changes:

The Entry Widget add not in the bottom container to test its height changes.
The container for the Entry Widget looks according to the design.

https://github.com/user-attachments/assets/cfb91125-b702-4e74-b38e-a0d68891d5cd

!squash


hangs on windows

install python 2.7 for windows
use pip to install nodemcu-uploader
try to run nodemcu-uploader and it hangs:
C:\Users\drink>nodemcu-uploader.py --verbose -p COM7 -b 9600 file list
write: ;
Can't be broken, have to close cmd window
Try to connect with ESPlorer... works right away.
Doesn't work on windows python.

Which version of Windows and is it 32 or 64 bit python?

Win7 x64, 64 bit python. Sorry for lack of detail.

Nah, sorry for the lack of testing. Windows isn't my platform of choice when it comes to nodemcu development and this is actually my first time packaging a python application so...
But improvements are comming

Could you please checkout the "next" branch and do a
python setup.py install

And then try
nodemcu-uploader --verbose -p COM7 file list

I don't have a nodemcu to test on with me.

next is now merged into master

Sorry, downloaded it and tried it but now I can't get anything to talk to
my ESP-01s. I did use the windows uploader since my last test, though, and
THAT worked. I am now waiting for an ESP-01 programmer to show up and a new
serial interface to go with it so that I can rule out my hardware.
On Mon, Jan 25, 2016 at 2:47 AM Peter Magnusson<EMAIL_ADDRESS>wrote:

next is now merged into master
—
Reply to this email directly or view it on GitHub
https://github.com/kmpm/nodemcu-uploader/issues/31#issuecomment-174467717
.

I have ordered some new hardware as well (it's in the mail) since every ESP module I got is now installed somewhere.

I can confirm it as well.
It doesn't hang with pyserial >= 3.0 but there are other windows issues that are probably related. See #38.
What kind of serial port hardware do you have. Is it an usb adapter, on motherboard or what?

Official FTDI adapter on USB. About to try a CH340 or whatever they are
called, when it arrives.
On Thu, Jan 28, 2016 at 12:00 AM Peter Magnusson<EMAIL_ADDRESS>wrote:

I can confirm it as well.
It doesn't hang with pyserial >= 3.0 but there are other windows issues
that are probably related. See #38
https://github.com/kmpm/nodemcu-uploader/issues/38.
What kind of serial port hardware do you have. Is it an usb adapter, on
motherboard or what?
—
Reply to this email directly or view it on GitHub
https://github.com/kmpm/nodemcu-uploader/issues/31#issuecomment-176043895
.


add function for uploading systeminfo to azure database

Just draft

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2243

Relevant Lines:
2839

💛  - Coveralls


Display only gallery option in picker

Currently in the SDK we've default options as either we can select images/videos from library or we can take it using camera. But it would be useful if SDK provides options so we can set only option from (library or photos or videos) for media selection.

@ChintanWeapp, I added a logic for Video Only which you can easily duplicate for library only or photo only.  I created a PR to see if it can be implemented here.
https://github.com/Yummypets/YPImagePicker/pull/21

@ChintanWeapp, @eddieespinal
I was thinking that in a later version we could have something like:
screensToDisplay = [.album, .library, .video]

(Don't pay attention to the naming)
Such a thing would enable to customise the screens shown with a simple api.
for instance :
screensToDisplay = [.library] // Photo only

Let me know if you like the idea :)

@s4cha I like that solution, let me know if you need help with the integration.

@s4cha https://github.com/s4cha  I think that is a good idea.
On Fri, Feb 2, 2018 at 4:01 AM, Eddie Espinal<EMAIL_ADDRESS>wrote:

@s4cha https://github.com/s4cha I like that solution, let me know if
you need help with the integration.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Yummypets/YPImagePicker/issues/22#issuecomment-362424322,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AgpxIAkRvOmHtWvmOztuEIWODYNjEvqiks5tQjtQgaJpZM4R1DuD
.

Here is the link of the PR :) https://github.com/Yummypets/YPImagePicker/pull/23

@ChintanWeapp
You should be able to do what you wanted in the latest version with:
config.screens = [.library]

https://github.com/Yummypets/YPImagePicker/releases/tag/2.6.0
Hope it helps :)

@ChintanWeapp @eddieespinal closing this for now as this is now supported in the latest version :)


Fix bug: fetchOrganizationData is executed twice

How to reproduce:
$ node app.js
Server running at http://<IP_ADDRESS>:3000/
fetchOrganizationData
org: [object Object]
apps: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
fetchOrganizationData
org: [object Object]
apps: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

@repoman Any theories to why this is happening?

@repoman Any theories to why this is happening?

I think the second request is the browser trying to get the favicon. And then that request is handled by the same server http code, so fetchApps is run. It can be fixed by making a own handler for the favicon, or using express with some routing setup so that certain requests use certain handlers.

Was fixed in #11. Closing.


Updated bullet.h to fix the build error

It was asking for it to make it public ~ I am not a programmer

The changes are fine, there's only the line spacing formatting left to fix.


Java heap space error while importing data: no solutions found

I cannot import a table of 10 millions of records, neither from a csv file, nor from a table of another database. I have tried with:

changing parameters in dbeaver.ini file:

-Xms512m
-Xmx8192m

making import with "by segments" option

reducing fetching parameter and "commit after rows" parameters

but without success.
Is there any other suggestion? I don't understand why this abnormal use of memory.
Thanks.

Windows 10
DBeaver version: 21.0.1
Database: HSQL, with default driver

Please send log files.

Thanks. Database is HSQL embedded. I have checked all log files. The only entrance is in metadata.log:
!ENTRY org.eclipse.ui 4 0 2021-04-08 16:57:46.484
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.OutOfMemoryError: Java heap space
!ENTRY org.jkiss.dbeaver.model 4 0 2021-04-08 16:57:59.452
!MESSAGE Event loop exception
!SUBENTRY 1 org.jkiss.dbeaver.model 4 0 2021-04-08 16:57:59.452
!MESSAGE Java heap space
!STACK 0
java.lang.OutOfMemoryError: Java heap space
The behaviour is an increasing of memory usage (to the maximum specified in dbeaver.ini), 100% of cpu used (may be due to java gargabe collector) and dbeaver process unresponsive (I have to kill it).
This is my dbeaver.ini file:
-startup
plugins/org.eclipse.equinox.launcher_1.6.0.v20200915-1508.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.0.v20200915-1442
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Xms512m
-Xmx4096m

I caught the similar issue when I tried to fetch all rows of 5.1G  table
DBeaver command: fetch all rows of Clickhouse table default.ontime

.log
dbeaver-debug.log

I still have the same problem. I have also tried with other database (duckdb), importing from csv files or other database table with more than 100000 records: I always experience an abnormal use of memory, and eventually a crash.

Please tell, is your database in-memory? It can be a reason of the issue.

No, it is not "in-memory".

Hi I've set -Xmx4096m in dbeaver.ini, when I try to export an 230GB TiDB to local postgresDB, it still raise 'java heap ... ' exception.
any ideas on this issue?
thanks


bevy_ecs example from README does not compile

Bevy version

bevy_ecs 0.5.0
rustc 1.56.0-nightly (ccffcafd5 2021-08-11)

Operating system & version
Windows 10
What you did
I tried to compile the example from the bevy_ecs README.
What you expected to happen
The example compiles.
What actually happened
The example failed to compile with the following error:
error[E0277]: the trait bound `for<'r, 's, 't0> fn(bevy_ecs::system::Query<'r, (&'s mut Position, &'t0 Velocity)>) {movement}: From<for<'r, 's, 't0> fn(bevy_ecs::system::Query<'r, (&'s mut Position, &'t0 Velocity)>) {movement}>` is not satisfied
   --> src\main.rs:118:22
    |
118 |         .with_system(movement)
    |                      ^^^^^^^^
    |                      |
    |                      expected an implementor of trait `From<for<'r, 's, 't0> fn(bevy_ecs::system::Query<'r, (&'s mut Position, &'t0 Velocity)>) {movement}>`
    |                      help: consider borrowing here: `&movement`
    |
    = note: required because of the requirements on the impl of `From<for<'r, 's, 't0> fn(bevy_ecs::system::Query<'r, (&'s mut Position, &'t0 Velocity)>) {movement}>` for `SystemDescriptor`
    = note: required because of the requirements on the impl of `Into<SystemDescriptor>` for `for<'r, 's, 't0> fn(bevy_ecs::system::Query<'r, (&'s mut Position, &'t0 Velocity)>) {movement}`

For more information about this error, try `rustc --explain E0277`.

That readme contains changes from the 0.6 Release.
The change you encountered was that the .system() call is now optional.
Changing that line to .with_system(movement.system()) should stop that error.
(Though there could still be other changes)

The examples on the main branch only work with the bevy version on the main branch. For bevy 0.5.0 you will need to look at https://github.com/bevyengine/bevy/tree/v0.5.0/examples

Closing out for now <3 I do wish we had better tools to communicate this, but this isn't quite the place for that.

@MinerSebas Thanks, that fixes it.


TLS 1.3: Packet Leak in Receive Path.

Hi,
We are trying to enable NetXSecure with TLS 1.3 on our platforms. As part of our testing, we found that a testcase that does TLS Client Connect -> Send -> Receive -> Disconnect is causing a packet leak and if this test is run in a loop, we eventually run out of packets.
With our debugging, we observed that during receive, we use nx_secure_tls_session_receive() api, which internally invokes _nx_secure_tls_record_chained_packet_decrypt(). This function allocates packets for both application data and Post Handshake messages, but the packets allocated for Post Handshake messages are not getting freed and causing the packet leak. In our test code, after Send -> Receive, we also invoke nx_secure_tls_session_end() and nx_secure_tls_session_delete(), but still these packets allocated for Post Handshake Messages are not freed.
We don't see any such issue with TLS 1.2, this might be because there are no Post Handshake messages involved in TLS 1.2.
We used NetXDuo-v6.2.0 as TLS 1.3 client (NX_SECURE_TLS_ENABLE_TLS_1_3 Enabled) and a Local Python Server (Python 3.7.7).

Thanks for your report, we are looking into this issue.

Hi..Can you please let us know if the fix for this issue is available in v6.2.1_rel. If not please let us know when will it be available.

It is available in v6.2.1_rel, please try it and see if this fixes your issue.


WIP Sinatra migration

The main page is almost done and the icones on the nav bar will be added later. The progess bar will push the number to the right side only if the width is smaller than 10%(may be more readable than all the numbers on the right?) I'm working on the subpages of different clusters.

In regards to the progress bar:

The progress bar will push the number to the right side only if the width is smaller than 10%(may be more readable than all the numbers on the right?)

I'd keep the numbers to the right side for consistency. It will simplify the code a little bit further too.

For your commits, add more detailed commit messages. See https://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message for some helpful tips. For the existing commits, you can actually do an interactive rebase to replay the commits and quickly edit all of the commit messages with something more appropriate. Remind me and I'll show you how to do this next week when I'm back in the office.

Rename the "classes" directory to "lib"

Inline the public/scripts/application.js and public/stylesheet/application.css into the layout in


configuration field type

Pull Request Test Coverage Report for Build 15

4 of 5 (80.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.8%) to 76.596%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/coffee/synyx/frontpage/plugin/rss/RSSPlugin.java
4
5
80.0%

Totals

Change from base Build 12:
-0.8%

Covered Lines:
72

Relevant Lines:
94

💛  - Coveralls


Design for handling error codes

IIUC, the rationale behind the current design for handling error code is to separate the rendering from the code generating the diagnostic.
Trying to use the library in a project, I realize that if there are multiple diagnostics but I want to use the rendering only at once place in my code, this is not convenient to use since I need to export multiple definitions and it may not compose that well if I have multiple definitions of error codes. In that case, they need to be wrapped.
Moreover, the library does not ensure the uniqueness of the representation of the error code.
Have you considered a design where the library exports a type code with some constructors. And it is the library that handles the rendering?
Probably the user must provide optionally a code and a number. Then it is the responsibility of each library to provide such a mapping from any error type the user's library is using instead of doing this mapping by the renderer. This way, we recover some locality property.
If the library maintains some global state, it can also check where a code is not registered twice.

By the way, at the moment, there is no way to opt-out from the error code (like for an Help message). Maybe code_to_string should return an option? Or the engine should handle the empty string in a particular way.

Trying to use the library in a project, I realize that if there are multiple diagnostics but I want to use the rendering only at once place in my code, this is not convenient to use since I need to export multiple definitions and it may not compose that well if I have multiple definitions of error codes. In that case, they need to be wrapped.

The design of error codes was to be as agnostic as possible (hence why we parameterise the types and require a code_to_string function for rendering).
For your use-case, to avoid wrapping multiple definitions I suggest the following:

Polymorphic variants
Extensible variants
A single large closed variant for error codes (this is what rustc does)


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1881 ms

Resolved: Bofrost.at performance has improved in 7901f3c.


[bug] Permissions are not remembered for a webview

Describe the bug
I am working on an app that needs to record audio from the user's microphone. I added the required permissions in Info.plist  and once I hit record for the first part two dialogs open. The first one I assume is an application level one and the other one is within the webview. I can basically hit record as many times as I want and permissions are not requested again but if I quit the app and I open it again the first dialog (the application level one) doens't appear but the webview one appears again.
I am using Tauri V2 and it doesn't matter wether I am in dev or in a build.
System: MacOS with M1 chip
TLDR: Microphone permissions for the webview are requested everytime I quit the app.

Reproduction
https://github.com/AlexMenor/tauri-mic-permissions-issue
Expected behavior
Prompt should only be opened once (and ideally only the application level one)
Full tauri info output
[✔] Environment
    - OS: Mac OS 14.2.1 X64
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.76.0 (07dca489a 2024-02-04)
    ✔ cargo: 1.76.0 (c84b36747 2024-01-18)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-aarch64-apple-darwin (default)
    - node: 20.11.0
    - npm: 10.2.4

[-] Packages
    - tauri [RUST]: 2.0.0-beta.2
    - tauri-build [RUST]: 2.0.0-beta.1
    - wry [RUST]: 0.35.2
    - tao [RUST]: 0.25.0
    - @tauri-apps/api [NPM]: 2.0.0-beta.0
    - @tauri-apps/cli [NPM]: 2.0.0-beta.1

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:1420/
    - framework: React
    - bundler: Vite

Stack trace
No response
Additional context
No response

Could be this patch for 14.0 - getDisplayMedia() does not work on MacOS Sonoma 14.0+
On 14.0, the first prompt will not show up, and If the second prompt (for 'localhost') is suppressed, it will deny the permission request.
If Apple decides to change the behavior again in the latest macOS, maybe we should also revert the fix back?


Support RLP encoding/decoding

@ImJeremyHe please add details on what needs to be done here. It would be good to do this earlier rather than later otherwise we need to maintain backwards compatibility.

This issue was because we needed to encode types into RLP previously. This isn't an issue anymore and users don't suppose to encode/decode the espresso go types in RLP.


Something wrong with clipboard() function - use backticks `` to refer to variables

Just made a simple .tag file:
keyboard [ctrl]a
keyboard [ctrl]c
text_contents = clipboard()
read text_contents to cell_1

It produces this output error:
keyboard [enter]
keyboard [ctrl]a
keyboard [ctrl]c
read text_contents to cell_1
ERROR - cannot find text_contents

Did I make a mistake?

Hi Ryan, is it you want to copy some text value into clipboard and then access it via a variable?
Below steps will read into the variable already -
keyboard [ctrl]a
keyboard [ctrl]c
text_contents = clipboard()

To use the variable, use backticks `` to let TagUI know that you are referring to a variable and not the text text_contents
echo `text_contents`

For read step, it is to read the value of a UI element and save the value to the variable provided.
If you want to type some copied text from clipboard into a UI element with identifier cell_1, you can do -
type cell_1 as `text_contents`

Also, you can insert the live step anything in your flow to pause execution and run everything interactively to test -
live

The live mode can also be invoked from the command prompt with tagui live

Oh I see, it solved my issue. Noted with thanks Ken, much appreciated.


IOS 14 login Issue

Hi
I installed the plugin in my simulator IOS 14.2, but appear that while it try to login is stuck with password.
I have checked it in iOS 13.3 and work fine.

Same issue

Same here, any workaround? HELP!

All good on iOS 14.5

USE SIMULATOR WITH VERSION 13.5 IN XCODE

yes :)

still facing this issue

i am also facing issue, any solution


Will the Plugin work on Android 7.1?

I still need to support Android 7.1 (API 25).  The doc indicates it needs API 26, but 25 still can use Firebase.   Does it work on 25?
Is there a complete walkthrough for this plugin?

Yes works on 7.1 just needs API 26 as compilation target.


NoMethodError: undefined method `example_group' for nil:NilClass

I'm not sure what's triggering this, yet.
        # @private
        class LogSubscriber < ::ActiveSupport::LogSubscriber
          def current_example_group
            RSpec.current_example.example_group
          end

          def render_template(_event)
            return if current_example_group.render_views?
            info("  Template rendering was prevented by rspec-rails. Use `render_views` to verify rendered view contents if necessary.")
          end
        end

[<IP_ADDRESS>] [bc765ac7-e5e6-4d8f-894f-707b2ce4b309]   Rendered layouts/authentication.html.haml (17.1ms)
[<IP_ADDRESS>] [bc765ac7-e5e6-4d8f-894f-707b2ce4b309] Could not log "render_template.action_view" event. NoMethodError: undefined method `render_views?' for RSpec::ExampleGroups::OAuth2Authorization:Class
 Could not log "render_template.action_view" event. NoMethodError: undefined method `example_group' for nil:NilClass
[
    "/Users/kain/.rvm/gems/ruby-2.4.1/gems/rspec-rails-3.6.0.beta2/lib/rspec/rails/view_rendering.rb:67:in `current_example_group'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/gems/rspec-rails-3.6.0.beta2/lib/rspec/rails/view_rendering.rb:71:in `render_template'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/subscriber.rb:95:in `finish'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/log_subscriber.rb:83:in `finish'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/notifications/fanout.rb:102:in `finish'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/notifications/fanout.rb:46:in `block in finish'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/notifications/fanout.rb:46:in `each'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/notifications/fanout.rb:46:in `finish'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/notifications/instrumenter.rb:42:in `finish_with_state'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/notifications/instrumenter.rb:27:in `instrument'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/notifications.rb:164:in `instrument'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionview/lib/action_view/renderer/abstract_renderer.rb:41:in `instrument'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionview/lib/action_view/renderer/template_renderer.rb:53:in `block in render_template'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionview/lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionview/lib/action_view/renderer/template_renderer.rb:52:in `render_template'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionview/lib/action_view/renderer/template_renderer.rb:14:in `render'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionview/lib/action_view/renderer/renderer.rb:42:in `render_template'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionview/lib/action_view/renderer/renderer.rb:23:in `render'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionview/lib/action_view/rendering.rb:104:in `_render_template'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionpack/lib/action_controller/metal/streaming.rb:217:in `_render_template'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionview/lib/action_view/rendering.rb:83:in `render_to_body'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionpack/lib/action_controller/metal/rendering.rb:52:in `render_to_body'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionpack/lib/action_controller/metal/renderers.rb:142:in `render_to_body'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionpack/lib/abstract_controller/rendering.rb:26:in `render'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionpack/lib/action_controller/metal/rendering.rb:36:in `render'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionpack/lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/core_ext/benchmark.rb:12:in `block in ms'",
    "/Users/kain/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/benchmark.rb:308:in `realtime'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activesupport/lib/active_support/core_ext/benchmark.rb:12:in `ms'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionpack/lib/action_controller/metal/instrumentation.rb:44:in `block in render'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionpack/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/activerecord/lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/bundler/gems/rails-ec9b4d39108d/actionpack/lib/action_controller/metal/instrumentation.rb:43:in `render'",
    "/Users/kain/.rvm/gems/ruby-2.4.1/gems/high_voltage-3.0.0/app/controllers/concerns/high_voltage/static_page.rb:19:in `show'",

The error your seeing is a symptom of the initial error which is quite subtly mentioned:
NoMethodError: undefined method render_views?' for RSpec::ExampleGroups::OAuth2Authorization:Class`
Likely that example group doesn't have the required type metadata and so breaks causing the later logging error.

it's in spec/features and it's marked with type: :feature, it does not use render views. is this supposed to happen?

@masterkain could you possibly post a snippet of your original spec file? There may be a chance that it doesn't recognise that you are trying to process a view spec.
The metadata or the directory in which your test has been placed in may possibly be causing the issue.

I can confirm that this is also an issue in my application. With rspec 3.6.0, I get undefined method render_views?, but not with 3.5.4.
I was using config.infer_spec_type_from_file_location!, but disabling that and explicitly adding type: :feature doesn't change anything.

I had the same issue and solved it by replacing RSpec.feature with describe in my specs.

Any news on this?

@lucascaton @marktran @masterkain
Thanks for the issue. We need a little more detail to be able to reproduce this.
Could you please provide us with a rails app that we can clone that demonstrates the issue. Specifically it'd be great if

you could rails new an application and commit
make all the changes necessary to reproduce the issue and commit

then, provide us with a description of how to clone your application and reproduce the issue.
Thanks :)

@samphippen I think you'll be able to see the error if you add the following line to your config/environments/test.rb:
config.logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT))

This is an app that reproduces the issue: github.com/lucascaton/example.

I am getting this also.

A trimmed down version that causes the error (only happens in conjunction with deliver_later)
The mailer that triggers the log message
The RSpec config

Hope that helps - I am still not sure what the issue is. I started seeing the issue after the Rails 5.1 upgrade.

The Needs reproduction case label no longer applies since lucascaton offered a rails app and yujinakayama added a repro spec in #1818.

Also seeing this on a mailer test in a Rails 5.1 app after upgrading from rspec-rails 3.5.2 to 3.6. Reverting to 3.5.2 for the time being to keep the log at bay.

I've just created #1827 which extends upon #1818 which fixes those errors for me and keeps the logs clean.
In my case the request came via the capybara webdriver and RSpec.current_example is nil then causing the error in the title. @yujinakayama's spec repro in #1818 points to the cause being that FeatureExampleGroup doesn't include RSpec::Rails::ViewRendering while ControllerExampleGroup does. That's why that PR #1732 works for controller specs but it seems to break for feature specs.

right now I'm also conflicted with this issue, and error message is like following:
I, [2017-06-01T10:17:15.420440 #18316]  INFO -- :   Rendered inline template (2.0ms) E, [2017-06-01T10:17:15.422844 #18316] ERROR -- : Could not log "render_template.action_view" event. NoMethodError: undefined method example_group' for nil:NilClass ["/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-rails-3.6.0/lib/rspec/rails/view_rendering.rb:67:in `current_example_group'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-rails-3.6.0/lib/rspec/rails/view_rendering.rb:71:in `render_template'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/subscriber.rb:100:in `finish'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/log_subscriber.rb:83:in `finish'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/fanout.rb:102:in `finish'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/fanout.rb:46:in `block in finish'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/fanout.rb:46:in `each'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/fanout.rb:46:in `finish'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/instrumenter.rb:36:in `finish'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications/instrumenter.rb:25:in `instrument'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/notifications.rb:164:in `instrument'", "/home/vagrant/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/actionview-4.2.1/lib/action_view/renderer/abstract_renderer.rb:39:in `instrument'", `

I'm seeing this error too, in mailer specs under rspec-rails 3.6.0. Under rspec-rails 3.5.2 there is no error. Looks like #1827 has stalled? Is there anything I can do to help?

Hope @aCandidMind and @JonRowe  could make progress with [#1827] quickly (https://github.com/rspec/rspec-rails/pull/1827)

I believe #1831 fixes this.

I can confirm that #1831 fixes the issue for me (which I can see on 3.6.0 and on rspec-rails/master)

s/fixes/silences

Closed by #1831