'FakePaymentsView' object has no attribute 'request'

Hello,
i got this error with django 1.4.7 and django-plans last version. Debug show me these lines as error:
**
**def get_queryset(self):
return super(FakePaymentsView, self).get_queryset().filter(user=self.request.user)
def dispatch(self, _args, *_kwargs):
if not getattr(settings, 'DEBUG', False):
return HttpResponseForbidden('This view is accessible only in debug mode.')
*_self.object = self.get_object()
return super(FakePaymentsView, self).dispatch(_args, **kwargs)
django-plans works fine with dj 1.6.2 and demo folder, but with 1.4.7 version these two methods ask me to resolve an error hard for me.
Can you help me
thanks
marco

This is an old issue from unsupported version of Django.
If this happens please feel free to re-open.


Remove metrics from the gRPC client

Requirements
The gRPC client module should not have a dependency on metrics (metrics will be in a new stand-alone module).
Once this is complete it should be possible to remove this dependency from helidon-grpc-client:
<dependency>
    <groupId>io.helidon.metrics</groupId>
    <artifactId>helidon-metrics</artifactId>
    <version>${project.version}</version>
</dependency>

Tasks
Remove the metricType field from both the ClientServiceDescriptor and ClientMethodDescriptor classes as well as corresponding builders and tests.
NOTE: this work needs to be done on a branch and merged into the grpc-client branch.

Created pull request: https://github.com/aseovic/helidon/pull/85


Child View have a 1pixel gap between them

Description
I have a simple layout.

View A: filling whole screen (flexDirection: column)

View B and View C = under View A. View B (flex: 25)  View C (flex 75)

View D and View E = under View C

Everything works fine in the emulator but when i build an apk and try it on a phone there is a white line between View D and View E. I have no idea what causes it.
Link to SO question with screenshots: http://stackoverflow.com/questions/42565184/react-native-unexplainable-space-between-two-views
Additional Information

React Native version: 0.41.2
Platform: Android

Have you tried an emulator with the same resolution and display settings as your phone? You may be able to reproduce it. Please also report the size of your phone screen and the version of Android.

I had a similar issue without flexbox. My designer gave me sizes with decimal places, resulting height:132*0.302. It works okay for most cases, but when I tried to stack multiple instances of them (simple map(data, <Item style={ { height:132*0.302} } />) with or without StyleSheet.create ) they started pushing each other randomly as if I had put {marginTop: Math.random()* StyleSheet.hairlineWidth }
It seemed like a rounding error for me, so I put Math.round(132*0.302) and the issue was fixed.

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!
If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.


CloudContext.Clients.CreateManagementClient(credentials) Not Found

After upgrading to 2.0 calls like CloudContext.Clients.CreateManagementClient(credentials) are not compiling.  Did it move?  Thanks.

This was removed in the major version update.
Please use the constructor of the specific management client, i.e. var client = new ManagementClient(credentials)...

using the constructor gives invalid parameter errors


[firebase_database][firebase_animated_list] 'assert', 'throw', 'throwIf' statements do not exit the FirebaseAnimatedList widget.

Describe the bug
I am attempting to debug the chat messaging function of my app, which makes use of FirebaseAnimatedList (with sort option). The reason for needing to debug is that I am experiencing the following error message, on occasion, which I believe is being caused by a corrupt (incomplete) error message returned from the db in the snapshot:

E/flutter ( 5081): [ERROR:flutter/flow/layers/transform_layer.cc(22)] TransformLayer is constructed with an invalid matrix.

When this error occurs, the app appears to freeze although I am sure it is looping internally (Flutter engine maybe). Obviously, I need to fix this before going live.
My normal debugging approach is to use the VSCode debug facility and to include print and assert statements at strategic points in the code. However, when I use assert or even throw in the  itemBuilder: section of the FirebaseAnimatedList widget defintion, the app does not terminate but instead shows the same error on the console as above. I can see that an assert  or throw is being triggered by following the progress in the debugger and therefore it is now the assert  or throw and the subsequent break out of that cycle of the loop that is producing the same error message.  Problem is that itemBuilder continues to build and go round the loop again...which then either freezes the app or loops internally (Flutter engine). The print statement works fine, of course. Hope this is clear.
Surely, the assert or throw should exit the itemBuilder completely? It seems to do so in a ListView.builder itemBuilder: section with no issues.
To Reproduce
Here is a code snippet from my app. None of the assert or throw statements terminate the itemBuilder loop although they are triggering when I manipulate the message data to meet their logic.
FirebaseAnimatedList(
  query: <my messages firebase reference>,
  padding: const EdgeInsets.all(8.0),
  reverse: true,
  sort: (a, b) => (b.value["srtTs"] as int)
          .compareTo(a.value["srtTs"] as int),
  itemBuilder: (_, DataSnapshot messageSnapshot,
      Animation<double> animation, int index) {
    _message = null;
    assert(messageSnapshot != null);
    _message = Message.fromSnapshot(messageSnapshot);
    assert(_message.senderIdInPositionOne != null);
    assert(_message.sortTimestamp != null);
    assert(_message.timestamp != null);

    print("_message: $_message");

    throwIf(_message.senderIdInPositionOne == null, "thrown");
    throw "Test throw in itemBuilder";

    return ChatMessageListItem(
      message: _message,
      animation: animation,
    );
  }
);

Expected behavior
I would expect the assert or throw to exit the itemBuilder loop and the FirebaseAnimiatedList widget completely. I could then catch and process the error in the try / catch construct that surrounds this code in my app. I have to be able to terminate the build loop and throw a proper error in the app when I detect corrupt messages.

Hi @GrahamDi
Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with FlutterFire itself,
if you disagree please write in the comments and I will reopen it
Thank you

@iapicca Thanks for your response and I will do as you suggest. However, I don't see why this is not an issue with 'FlutterFire itself'.
FirebaseAnimatedList is a class within the firebase_animated_list library, which is itself part of the firebase_database library, which is listed on your FlutterFire read me page as one of the 'Available FlutterFire plugins'  (https://github.com/FirebaseExtended/flutterfire/blob/master/README.md)
Please explain to me how it is not a FlutterFire issue, therefore?

Hi @GrahamDi
can you please provide your flutter doctor -v ,
your flutter run --verbose
and your pubspec.yaml
or if possible a reproducible minimal code sample.
Thank you

@iapicca Thanks. I will get something back to you within the next 24 hours.

@iapicca
I decided to do a bit more investigation by trying assert(true==false); in the itemBuilder: property of a ListView.builder surrounded by a try / catch structure and found the same issue. I had assumed that the assert or throw would immediately break out of the loop to the catch block. This is not the case.
In order for asserts and throws to work within the itemBuilder: property, the try / catch has to be within itemBuilder: as well. So I have learnt something and your are quite right, this is not a FlutterFire issue :-)  Apologies.
Closing this issue now.


[v2.2.4] Openstack cluster creating failed: ssh private key is filled with the path

Version: v2.2.4
What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Create a new cluster with openstack cloudprovider.
Waiting for instance creation.
The cluster creation failed due to waiting too long for ssh avability.
To understand what is going wrong, I try to download instance keys through rancher. It appears that the id_rsa is filled with the file path instead of the content of the file.
rollback to 2.2.3 corrected the issue.

@antoine-rehm When creating openstack cluster, are you providing a privateKeyFile in the node template which points to a file location ?

@sangeethah Yes, I provided an absolute path in the privateKeyFile it's work in rancher 2.2.3 but not in 2.2.4.
If i filled the privateKeyFile input with some random text, the instance keys zip have a id_rsa file with this random text.

@antoine-rehm In rancher server version - v2.2.4 , we have changed all  file path related fields to content based fields in node template drivers. As part of this fix , privateKeyFile field was modified to start accepting actual contents of the private keys instead of an absolute file path containing the key content. We will have this change documented . The description field had been changed to reflect this change but we will have better documentation around the changes being made.

If you have the actual key contents entered in privateKeyFile, you should be able to get the nodes to provision successfully.

@sangeethah Ok, thanks you for the explanation about the new input form.
But to make it work I tried to simply paste the content of the privatekey but it didn't work.
Next, I tried to make it one line it didn't work.
By now, the only solution that work is to edit the value through the api and replace new line with \n (if you paste \n in the form the value become \n ).

We're working on a fix that will make this multi-line

@antoine-rehm what version of openstack are you using? I'm trying to test Rancher's openstack integration and need this as a data point.

@sangeethah this should have been moved over to test awhile ago

UI support for Multiline fields has been validated as part of - https://github.com/rancher/rancher/issues/20789

@cjellick @sangeethah Thanks for your work, sorry to not response about openstack version. I was in vacation. I will test the new field when 2.2.5 is out.


sbt-version-policy 3.1.0 (was 2.1.3)

About this PR
📦 Updates ch.epfl.scala:sbt-version-policy from 2.1.3 to 3.1.0 ⚠
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.epfl.scala", artifactId = "sbt-version-policy" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "ch.epfl.scala", artifactId = "sbt-version-policy" }
}]

labels: sbt-plugin-update, early-semver-major, semver-spec-major, version-scheme:early-semver, commit-count:1

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1360

Relevant Lines:
1445

💛  - Coveralls


Address json serialization for global slots not differentiating between Since_genesis and Since_hard_fork

https://o1-labs.slack.com/archives/C02ASV6BZCY/p1696542386144349


Disorder strategy from byeDPI

Allows to send TCP packets out of order
This is achieved by sending some packets with TTL=1, and then setting TTL back to normal.
Tested with the following command:
go run *.go -timeout 1000 -transport "override:host=<IP_ADDRESS>|disorder:0|split:123" -method HEAD -v https://meduza.io/

This splits the TCP request at position 123, at SNI record: medu is in packet 0, za.io is in packet 1.
The network filters will receive a packet containing za.io first, then another packet with medu.
The receiver will then reassemble the packets in it's TCP stack.
Can be combined with tlsfrag as well like this:
go run *.go -timeout 1000 -transport "override:host=<IP_ADDRESS>|disorder:0|tlsfrag:1" -method HEAD -v https://meduza.io/

Made changes to address comments, thanks!


added examples to library

To give quick feel of library without touch! :)

Hi @mitchellh
Is it a valid PR? Do you want library to have examples otherwise I will close it?
Thanks


New method to add new column

I added the functionnality to be able to add a new column.
For example, in case user would like to add an action column to edit, delete or whatever else without having to do it in javascript.
Example :
in javascript, add new column (in datatable init options)
columns: [
    { data: "action", orderable: false, searchable: false }
]

in php, use new method add
$dt->add('action', function($data){
    // return an edit link in new column action
    return "edit";
});

I'm not sure of this if this is necessary.
I do the same with:

$dt->query("select id, column1, id as action");

$dt->edit('action', function($data){
    // return an edit link in new column action
    return "edit";
});

It's just not very intuitive to do edit to add a column not out of the query. For me edit(), it's to modify a column resulting from the query and add() allows to add an extra column. Moreover, it adds a little more control over what you want to do exactly.

Hm.. I'll leave this pull request here for a while. i want to think about it.

since it has no effect on the core functionality, i think there is no problem adding this.
thank you.


[MatPaginator] - Docs about MatPaginatorIntl

Bug, feature request, or proposal:
Feature request.
What is the expected behavior?
I'd expect at least an example showing how to use MatPaginatorIntl and if possible, an example showing, how we (developers) change the labels at runtime (useful for multilingual apps).
What is the current behavior?
There are no examples.

1.Create a customIntl extends MatPaginatorIntl.You can replace lables of you own.
export class CustomMatPaginatorIntl extends MatPaginatorIntl {
  itemsPerPageLabel = 'number of page';
  nextPageLabel     = 'next';
  previousPageLabel = 'previous';

  getRangeLabel = function (page, pageSize, length) {
    if (length === 0 || pageSize === 0) {
      return '0 od ' + length;
    }
    length = Math.max(length, 0);
    const startIndex = page * pageSize;
    // If the start index exceeds the list length, do not try and fix the end index to the end.
    const endIndex = startIndex < length ?
      Math.min(startIndex + pageSize, length) :
      startIndex + pageSize;
    return startIndex + 1 + ' - ' + endIndex + ' / ' + length;
  };
}

2.add a customIntl to you module where you import the MatPaginator.
imports: [
       ...
       MatPaginatorModule,
],
providers: [
     ...
    {provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl}
  ]

Thanks for the example, however I'm asking for it to be documented, so every ppl can access this in https://material.angular.io/paginator. (Also the support for change labels at runtime if possible).

Can this whole thing better be replaced with something better? The solution to create a seperate internationalization file for every component in angular material seems insane for just translating a few strings. Why cant this be exposed as an object property to the normal paginator...


[CHALLENGE SUBMISSION] 9

Please provide the following information for your submission:
What is your name? (First, Last)
Marcus Turewicz
Where is your GitHub Repo ?(With your challenge solution)
https://github.com/marcusturewicz/25-days-of-serverless-challenge/tree/master/Day-09
What Challenge is this for? (Challenge number between 1 and 25)
9
(Optional) Anything else we should know? e.g., language used, location, blog post?
Python Azure Function, GitHub webhook and PyGithub pip package.
Create issues in https://github.com/marcusturewicz/thankyou and you will be thanked by me, serverlessly, of course!
See repo README for further details.

From all of us on the Cloud Advocacy team at Microsoft, thank you @marcusturewicz for creating this issue!
Have a Happy Holiday season!

Thanks - Great example of python and azure functions

We checked out your repository. We're thrilled to say your solution is now listed in our Hall of Fame
Thank you for your contributions!
This issue is now resolved! 🎉


Document source of python 3.4 libraries bundled with releases

As the title says, the source of all the python 3.4 libraries bundled with releases is unknown.
It would also be good to have the actual makefile used for releases, so proper rpms can be made

@stepps it sounds like you are packaging for some specific linux distribution and you want to create everything from sources. Maybe if you use the procedure used when installing from github repo checkout (or the tarball with the pure sources), this is closer to what you want (as there is only source in there). I think most of these binary (*.so) files you see in the binary packages are not needed for a distribution package as they will be provided by external dependencies (like openssl, llfuse).
Aside from build dependencies (cython, headerfiles, ... - see docs), there is only python-msgpack as python dependency (available from pypi).

close?

Yes, thanks


climate.mqtt able to adjust target_temperature_step to 0.5

Home Assistant release with the issue:
0.78.0 (it's a wish, not an issue)
Last working Home Assistant release (if known):
Not applicable
Operating environment (Hass.io/Docker/Windows/etc.):
Hass.io
Component/platform:
https://www.home-assistant.io/components/climate.mqtt
Description of problem:
Would be nice if i could adjust the temperature step to 0.5 in the configuration file (currently hardcoded as 1 in the component file).
Now i have to copy it as custom component and adjust the file manually.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
climate:
  - platform: mqtt
    name: Anna Thermostaat
    current_temperature_topic: anna/get/sensors
    current_temperature_template: '{{ value_json.Current.Temperature }}'
    temperature_command_topic: anna/set/string
    temperature_state_topic: anna/get/sensors
    temperature_state_template: '{{ value_json.Thermostat.Temperature }}'
    mode_state_topic: anna/get/state
    modes:
     - uit
     - verwarmen

Traceback (if applicable):

Additional information:

This is for bugs only. Feature and enhancement requests should go in our community forum: https://community.home-assistant.io/c/feature-requests


ColVis plugin regression after 1.10.7 update

Hi Alan,
I use jQuery 1.11.0, ColVis 1.1.2 and DataTables 1.10.6
After upgrading to 1.10.7 I got this error when I show/hide columns via ColVis menu:

Uncaught TypeError: Cannot read property 'style' of undefined

in this fragment of code (line 4165)
            for ( i=0 ; i<visibleColumns.length ; i++ ) {
                column = columns[ visibleColumns[i] ];

                headerCells[i].style.width = column.sWidthOrig !== null && column.sWidthOrig !== '' ?
                    _fnStringToCss( column.sWidthOrig ) :
                    '';
            }

Can you link to a test case showing the issue please?

I cannot reproduce the issue on simple demo data http://jsfiddle.net/irsick/66z27jxu/,
however it exist on my overcomplicated production code which uses almost all plugins and custom sort feature.
I'll close this ticket for now until I'll find a way to reproduce test case. Thanks for quick response.

There is this thread in the DataTables forums which might be related. I'm going to look into that shortly - you might want to keep an eye on that thread for the fix being posted and then try that version.

Thanks for pointing. I got exactly the same issue and I was able to reproduce it.
http://jsfiddle.net/irsick/66z27jxu/2/
The key is
 "scrollX": true

Good to hear - let's track this just in the forums if that is okay so there is only one thread for the bug.

Fixed in this commit. This repo is rebuilding atm.


SAK-45569 Set sakai.content.resourceLimit default to 5000

Avoid out of memory issues.

I don't actually know if 5000 is low enough to avoid running into memory issues on a reasonably-sized app server. Happy to change it if anyone feels this should be lower.
The issues we've seen have been with much larger collections (e.g. all user workspaces, >190K).


please help me i having wrong path issue

Issue Template
Please use this template!
Initial Check

If the issue is a request please specify that it is a request in the title (Example: [REQUEST] more features). If this is a question regarding 'twint' please specify that it's a question in the title (Example: [QUESTION] What is x?). Please only submit issues related to 'twint'. Thanks.

Make sure you've checked the following:

[] Python version is 3.6;
[] Updated Twint with pip3 install --user --upgrade -e git+https://github.com/twintproject/twint.git@origin/master#egg=twint;
[] I have searched the issues and there are no duplicates of this issue/question/request.

Command Ran

pip3 install . -r requirements.txt

Description of Issue

WARNING: The script twint is installed in '/home/abhin/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

Environment Details

kali linux

@Netcracke - I probably don't have the solution you want but I have a workaround that I have been using. Alternatively to adding that directory to your echo $PATH variable  you can do the following:
cd /home/abhin/.local/bin and then run any twint command such as python twint -s "OSINT"
If that works then you know twint is installed and working.
You can then either choose to navigate into this directory every time you use twint or you can create a symlink in another directory to the directory where it is installed and navigate to that directory whenever you work with twint.
Personally, I did the latter: ln -s /home/{USR}/.local/bin/twint /home/{USR}/Tools/tradecraft/OSINT/Twint/
An example of workflow: When using twint in an investigation I cd /home/{USR}/Tools/tradecraft/OSINT/Twint/ and create a new project folder specific to the investigation. Then I cd {PROJECT} and proceed to run my commands in there and any output will be properly cataloged stored in an easy place to find.
Hope this helped!


kapp-controller leader election should provide safety during update operations

Describe the problem/challenge you have

no way to configure leader election for kapp-controller

Describe the solution you'd like

we'd like a better guarantee for limiting the number of active kapp-controller reconcilers to 1 during rolling upgrades of our cluster

Anything else you would like to add:
[Additional information that will assist in solving the issue.]

Vote on this request
This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.
👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"
We are also happy to receive and review Pull Requests if you want to help working on this issue.

@jdef Thanks for filing this issue. Can you share more about how you're using kapp-controller?  Right now there's not really a way to run multiple kapp-controllers at once

we're just getting started with it. it looks to be running an apiservice
(at least, there's an apiservice resource included in resources.yml) but
there's only a single replica. our concerns:
(a) if it's in ANY kind of api/controlplane hot-path, it should be HA (for
us, that translates to more than a single replica); which leads to ...
(b) added insurance that no more than 1 replica is attempting to reconcile
applications/packages (no split-brain, ever, please)
if i trusted Deployment more to guard against split-brain, maybe i'd feel
better. i don't, because i've seen meltdowns from such assumptions. leader
election has proven much more reliable along these lines. if we're going to
run this in prod envs, we'd like it to meet our prod standards.
HTH
On Mon, Aug 22, 2022 at 11:16 AM Joe Kimmel @.***>
wrote:

@jdef https://github.com/jdef Thanks for filing this issue. Can you
share more about how you're using kapp-controller? Right now there's not
really a way to run multiple kapp-controllers at once
—
Reply to this email directly, view it on GitHub
https://github.com/vmware-tanzu/carvel-kapp-controller/issues/838#issuecomment-1222503287,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR5KLD447FAH4JUTIVOO4DV2OKWXANCNFSM57HXYTOQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
James DeFelice

Any other thoughts here from the KC team?
On Mon, Aug 22, 2022, 5:33 PM James DeFelice @.***>
wrote:

we're just getting started with it. it looks to be running an apiservice
(at least, there's an apiservice resource included in resources.yml) but
there's only a single replica. our concerns:
(a) if it's in ANY kind of api/controlplane hot-path, it should be HA (for
us, that translates to more than a single replica); which leads to ...
(b) added insurance that no more than 1 replica is attempting to reconcile
applications/packages (no split-brain, ever, please)
if i trusted Deployment more to guard against split-brain, maybe i'd feel
better. i don't, because i've seen meltdowns from such assumptions. leader
election has proven much more reliable along these lines. if we're going to
run this in prod envs, we'd like it to meet our prod standards.
HTH
On Mon, Aug 22, 2022 at 11:16 AM Joe Kimmel @.***>
wrote:

@jdef https://github.com/jdef Thanks for filing this issue. Can you
share more about how you're using kapp-controller? Right now there's not
really a way to run multiple kapp-controllers at once
—
Reply to this email directly, view it on GitHub
https://github.com/vmware-tanzu/carvel-kapp-controller/issues/838#issuecomment-1222503287,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR5KLD447FAH4JUTIVOO4DV2OKWXANCNFSM57HXYTOQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
James DeFelice

hi @jdef  - I just realized the maintainers had a sort of unfinished exchange that we hadn't percolated back out to you, sorry about that!
It seems like we'd be open to adding a leader/follower lease setup, similar to the k8s core controllers- would that satisfy your concerns?  I think this is something we'd be happy to do eventually and/or accept contributions for.

Yep that would work fine, thanks.
On Sat, Sep 3, 2022, 5:03 PM Joe Kimmel @.***> wrote:

hi @jdef https://github.com/jdef - I just realized the maintainers had
a sort of unfinished exchange that we hadn't percolated back out to you,
sorry about that!
It seems like we'd be open to adding a leader/follower lease setup,
similar to the k8s core controllers- would that satisfy your concerns? I
think this is something we'd be happy to do eventually and/or accept
contributions for.
—
Reply to this email directly, view it on GitHub
https://github.com/vmware-tanzu/carvel-kapp-controller/issues/838#issuecomment-1236198124,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR5KLB2S7I3AHJEO5NZYHLV4O4J5ANCNFSM57HXYTOQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @joe-kimmel-vmw, you mean using something like the leaderelection library from client-go, right? If that's the case, I'd be willing to work on this.

That's what I had in mind
On Wed, Oct 5, 2022, 2:40 AM Víctor Martínez Bevià @.***>
wrote:

Hi @joe-kimmel-vmw https://github.com/joe-kimmel-vmw, you mean using
something like the leaderelection
https://github.com/kubernetes/client-go/tree/master/tools/leaderelection
library from client-go, right? If that's the case, I'd be willing to work
on this.
—
Reply to this email directly, view it on GitHub
https://github.com/vmware-tanzu/carvel-kapp-controller/issues/838#issuecomment-1268010533,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR5KLFJKL7SGCN5ENQC7ITWBUPEFANCNFSM57HXYTOQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I will look into this assign me this issue!

/assign

@basit9958 Thank you for showing interest in working on the issue ❤
I have assigned the issue to you. I would also recommend going through the previously closed PR and and the comments there.


Metadata Util library for carto.geopkg files

Context
Currently users are able to export their maps into a .geopkg file containing the geo data and style information.  When they import the .geopkg file it will create a brand new dataset for the user.  However in some cases the data they are exporting may be synchronization datasets or referenced via Postgres FDW and the user may wish to retain these properties.  We would like to create a new .carto.geopkg file which store these data storage attributes following the geopkg spec per http://www.geopackage.org/spec/#extension_metadata.
In order to facilitate writing and reading this information during export and import respectively a library to write the metadata should be created.

@gfiorav for awareness


Incorrectly labeled some images from training set

Some images from the training set are incorrectly labeled.
Attached you can see the new annotation files correcting the errors
FLIR_20538.txt
FLIR_20773.txt
FLIR_20922.txt
FLIR_21033.txt
FLIR_20354.txt
FLIR_20355.txt
FLIR_20376.txt
FLIR_20377.txt
FLIR_20378.txt

Thanks for pointing that out, I believe some of the images are from an earlier experiment where some objects are not fully labeled. Will replace them with the correct labeling.

Some images from the training set are incorrectly labeled. Attached you can see the new annotation files correcting the errors
FLIR_20538.txt FLIR_20773.txt FLIR_20922.txt FLIR_21033.txt FLIR_20354.txt FLIR_20355.txt FLIR_20376.txt FLIR_20377.txt FLIR_20378.txt

Thanks for pointing that out, I believe some of the images are from an earlier experiment where some objects are not fully labeled. Will replace them with the correct labeling.


Allow to ignore duplicate entires when adding files to SQL project.

This change introduces new boolean flag for addToProject, addScriptItem and addFolderItem APIs that allows to skip files/folders if they are already included in the project file. Original behavior was to throw an error if duplicate entry is encountered, so I kept that as a default (new flag is not set). This new flag allows to reuse the de-dupe code that we otherwise have to add to each consumer of the API.
I started by fixing the original behavior, as it was not always working as expected. In our extension that relies on addToProject API we've hit an issue where duplicate items were added and no errors were thrown. There was a test for this scenario, but unfortunately the test had few bugs in it as well, so I addressed that first. First issue with the test code was missing await on the testUtils.shouldThrowSpecificError calls, so test was not actually testing anything. After adding missing keywords, I hit an issue where exception was not thrown, but this turned out to be different issue, compared to what we were hitting. In the test code, it was using the very first folder from the generate list of test entries. This folder was actually the root of the project (where sqlproj file is located), and addToProject API had a special case to ignore the root. This means neither first call nor second call was actually adding anything to the project and no errors were produced. I fixed this problem by using next available folder in the generated files list.
After addressing the test code I could not reproduce the issue that we were seeing with duplicate entries being added, everything was working as expected and errors were thrown. I started adding more tests that better resemble our production scenario - add files in subfolders, add files to existing project, rather than a new one. Finally I was able to reproduce the problem in tests when adding a file in a subfolder to an existing project. After investigation this turned out to be an issue with mismatch in how relativePath is maintained within the FileProjectEntry. When loading an existing project, relativePath is populated based on the value of the Include attribute of the Build item. This attribute is normalized to Windows-style path, using \, so for nested file you will have folder\file.sql. When adding new item to the project, one could pass either Windows or Unix-style path (folder/file.sql), so the path comparison between loaded Windows-style path and newly added Unix-style path was failing, resulting in them being treated as different items. In fact, addToProject API that we were using was relying on Uri helpers to extract relative path, thus the path was forced to be Unix-style and path was never the same as the loaded one. After this discovery I added a dedicated test to validate the round-trip of the relativePath for serialized and desirialized project file.
In order to address this problem, I updated the factory method createFileProjectEntry to always run utils.convertSlashesForSqlProj on the relative path to ensure we have Windows-style path stored in there. I also optimized the helper code slightly to not do split/join, if there are no split points in the input string, which should eliminate unnecessary array instantiation. It is worth mentioning that I had to normalize the input relative paths in the addScriptItem and addFolderItem APIs, because there is no guarantee that they will be Windows-style when we try to compare them to relativePath of the existing project items.
Finally I was able to add a simply flag and update the condition to return existing record, if duplicates were allowed. I also updated typings file for the extension and added tests to cover this scenario.

Pull Request Test Coverage Report for Build 811937644

19 of 19 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 43.571%

Totals

Change from base Build 811761796:
0.02%

Covered Lines:
26483

Relevant Lines:
55324

💛  - Coveralls

I should also mention that treating buildElements[b].getAttribute(constants.Include) as a relative path to the item is not correct to begin with: Include attribute is an expression, not a path, it can be file1.sql;file2.sql or **\*.sql with Exclude="**\obj\*.sql". You need to run msbuild to evaluate the item groups and I did not address that issue with this change.

I'm missing something fundamental about this delta... what are the situations where we would ever want duplicates added to the project's list of files (and not ignore them)?
I think a better model would be for the caller of addFile() to check to make sure whatever they're adding isn't a duplicate via a file list property first (or dedupe their list of to-be-added files) before making the call.  For a situation where this selection isn't controlled by us (e.g. a user adding an existing file, or typing in a duplicate file name), it'll detect the duplicate, throw an error, and that error would then be caught and handled appropriately by the caller (descriptive message/toast).

@Benjin

what are the situations where we would ever want duplicates added to the project's list of files (and not ignore them)?

I don't know, probably none (although Visual Studio allows it and displays them properly as two items). This change is not enabling that scenario, but rather prevents it - before this change it was possible to have duplicates added to the project when calling addToProject (bug).

I think a better model would be for the caller of addFile() to check to make sure whatever they're adding isn't a duplicate via a file list property first (or dedupe their list of to-be-added files) before making the call.

This is exactly what we are trying to avoid, as description for the change clearly states:

This new flag allows to reuse the de-dupe code that we otherwise have to add to each consumer of the API.

Code duplication, in general, is not considered a "better model" by any stretch. Few options we have here is:

Have separate package with helper methods that would implement such common functionality as de-dupe
Extract de-dupe logic to a separate helper class that can be exposed by this extension through factory method or as a static instance

After looking at the code, I noticed that there was already a validation for duplicate items, which would run for each file-add operation anyway, so I decided it will be more efficient in terms of performance to rely on the existing validation and just allow the caller to control the behavior - whether you want an error or silently continue, i.e. TryParse vs Parse, PowerShell's -ErrorAction, etc.
Typical reason why this is preferred is a typical TOCTOU race condition - unless project API allows an exclusive lock of the project, there will be no way for the caller to actually safely check whether item is duplicate or not within the single ADS session itself, as another caller can add a file after we check that file is not there, therefore better model is usually considered to rely on exceptions/return codes rather than "check now and act later". The implementation in this change allows that. We could probably run addScriptItem/addFolderItem directly for each and every item and catch the error, but ultimately it would be more efficient to have the same "silently ignore" flag instead of constantly throwing and catching.
Whether you want to prevent the TOCTOU between your extension and file system - is up to you. I'd assume you do want that based on what you said - there are probably no cases where we want to have duplicates. I believe there is another workitem already somewhere to throw if project has changed after it was read by the extension, so it should cover it, me thinks. I did not touch extension to file system communication, as we act as a caller for this API and my main focus was to ensure that between our extensions and your public API surface we are somewhat safe.


[Bug]: Compilation does not export the chunkGroups variable, and using getStats().toJson({ chunkGroups: true }) does not return data with the origins variable included.

System Info
node version 18
relative package @ecom/pb-route-chunks-preload-plugin
Details
I encountered an API conversion issue while upgrading Rspack and adapting a webpack plugin. After using the recommended approach to retrieve chunkGroups data, I found that some fields were missing.
Reproduce link
No response
Reproduce Steps
install @ecom/pb-route-chunks-preload-plugin for test

Seems that chunk groups in webpack stats don't has origins too. The origins is only in chunk group objects. So need to add an API on JavaScript chunk group API.

Seems that chunk groups in webpack stats don't has origins too. The origins is only in chunk group objects. So need to add an API on JavaScript chunk group API.

So when will I be able to access this variable, and will its data structure be the same as in webpack? Is there any plan to support this?

Seems that chunk groups in webpack stats don't has origins too. The origins is only in chunk group objects. So need to add an API on JavaScript chunk group API.

So when will I be able to access this variable, and will its data structure be the same as in webpack? Is there any plan to support this?

should be released in 1.0.3 next tuesday


Cant get the camera to open in Ionic 4

Hi all,
I am trying to use this QR scanner with an Ionic 4 project, but just cant seem to get it to open the camera. I have implemented the example as per the Ionic 4 docs (https://beta.ionicframework.com/docs/native/qr-scanner/) as here:
...
import {QRScanner, QRScannerStatus} from '@ionic-native/qr-scanner/ngx';
...

export class CardPage {

    ...

    payment() {
        console.log('Scan start');

        this.qrScanner.getStatus().then((status) => {
            console.log(status)
        });

        this.qrScanner.prepare()
            .then((status: QRScannerStatus) => {
                console.log('Scan status', status);
                if (status.authorized) {
                    // camera permission was granted

                    // start scanning
                    let scanSub = this.qrScanner.scan().subscribe((text: string) => {
                        console.log('Scanned something', text);

                        this.qrScanner.hide(); // hide camera preview
                        scanSub.unsubscribe(); // stop scanning
                    });

                    this.showCamera();

                    this.qrScanner.resumePreview();

                    // show camera preview
                    this.qrScanner.show()
                        .then((data: QRScannerStatus) => {
                            console.log('datashowing', data.showing);
                        }, err => {
                            console.log('show error', err);
                        });

                } else if (status.denied) {
                    // camera permission was permanently denied
                    // you must use QRScanner.openSettings() method to guide the user to the settings page
                    // then they can grant the permission from there
                } else {
                    // permission was denied, but not permanently. You can ask for permission again at a later time.
                }
            })
            .catch((e: any) => console.log('Scan error is', e));
    }

    showCamera() {
        (window.document.querySelector('ion-app') as HTMLElement).classList.add('cameraView');
    }

    hideCamera() {
        (window.document.querySelector('ion-app') as HTMLElement).classList.remove('cameraView');
        let content = <HTMLElement>document.getElementsByTagName("body")[0];
        content.style.background = "white !important";
    }

...

}

Which when clicking the button that fires payment() does initial give me the prompt to allow permissions for the camera, but after pressing yes nothing happens. The console logs are firing, even the one after the show() promise of console.log('datashowing', data.showing); so the function is working, but the camera just doesn't show up
I found this issue (https://github.com/bitpay/cordova-plugin-qrscanner/issues/156#issuecomment-387002328) which suggests that we need to make the ion-app element have a transparent background which I have implemented in the above code and by using inspector I can see that its being applied, but that doesn't help.
Does anyone know what is wrong?
This is happening in both Android emulator (API 26) and iOS simulator (iOS 11)
I realise this is not specifically an Ionic git repo but the Ionic docs point here.
Ionic info below
Ionic:
ionic (Ionic CLI)             : 4.2.1
Ionic Framework               : @ionic/angular 4.0.0-beta.12
@angular-devkit/build-angular : 0.7.5
@angular-devkit/schematics    : 0.7.5
@angular/cli                  : 6.1.5
@ionic/angular-toolkit        : 1.0.0
Cordova:
cordova (Cordova CLI) : 8.1.1<EMAIL_ADDRESS>Cordova Platforms     : android 7.1.1, browser 5.0.4
Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.2.0, (and 6 other plugins)

Ok I missed some very obvious

What CSS do you have in the .cameraView class?
The way I had to do it was to set the display to none.
const ionApp = <HTMLElement>document.getElementsByTagName('ion-app')[0];

const startScanner = () => {
            scanSub = this.qrScanner.scan().subscribe((text: string) => {
                console.log(text);
            });

            this.qrScanner.show();
            ionApp.style.display = 'none';
});

const closeScanner = () => {
            this.qrScanner.hide();
            scanSub.unsubscribe();
            ionApp.style.display = 'block';
});

@ireade  Thank you that does work - you can see the camera now! However it means that we can't add any elements into the body to use as close or scan buttons, right? How did you get around that?

@onfire Great!
Yes you're correct, this method completely hides the application so you can't add a close button. I used a timeout so the scanner automatically closes after 10 seconds, but this isn't really ideal. I'm actually currently trying to figure out a better solution, testing out hiding only part of the app instead or something like that.

Hey ! I got the same problem, thank you for the solution ! I'm now trying to display some stuff in front of the preview. Keep me updated if you find out how !

Temporary solution, you can remove the "hydrated" class from all ion-contents and it will work out.
   showCamera() {
        // Don't exactly know why, but it doesn't work without a timeout (maybe the animation?)
        setTimeout(() => {
            window.document.querySelectorAll('ion-content').forEach(element => {
                element.classList.remove('hydrated');
            });
        }, 300);
    }

    hideCamera() {
        window.document.querySelectorAll('ion-content').forEach(element => {
            element.classList.toggle('hydrated');
        });
    }

This is related to shadow DOM styling, which I just heard about on ionic v4 haha, don't know if this is the best solution but it works.
  showCamera() {
        window.document.querySelectorAll('ion-content')
              .forEach(element => {
                  const element1 = element.shadowRoot.querySelector('style');
                  element1.innerHTML = element1.innerHTML
                                               .replace('--background:var(--ion-background-color,#fff);', '--background: transparent');
              });
    }

    hideCamera() {
        window.document.querySelectorAll('ion-content')
              .forEach(element => {
                  const element1 = element.shadowRoot.querySelector('style');
                  element1.innerHTML = element1.innerHTML
                                               .replace('--background: transparent', '--background:var(--ion-background-color,#fff);');
              });
    }

So I've sort of solved this. It's a bit of a hacky solution, but it works for me.
Instead of hiding the app entirely, I added a class to the html element:
const startScanner = () => {
            // Show scanner

            const rootElement = <HTMLElement>document.getElementsByTagName('html')[0];
            rootElement.classList.add('qr-scanner-open');
});

const closeScanner = () => {
            // Hide and unsubscribe from scanner

            const rootElement = <HTMLElement>document.getElementsByTagName('html')[0];
            rootElement.classList.remove('qr-scanner-open');
});

In my HTML, I added a Close scanner button just inside the ion-content
<ion-header>

</ion-header>

<ion-content >

        <ion-button (click)="closeScanner()" color="warning">
            Close Scanner
        </ion-button>

</ion-content>

<ion-footer>

</ion-footer>

Finally, in my CSS, I hid everything on the page besides the scanner button, and changed the height of the application to be smaller and only be large enough to show the close scanner button:
#close-scanner-button {
    display: none;
}

html.qr-scanner-open {

    ion-app,
    ion-content {
        height: 70px !important;
    }

    ion-content {
        --overflow: hidden !important;
    }

    ion-header,
    ion-footer,
    ion-content > *:not(#close-scanner-button) {
        display: none;
    }

    #close-scanner-button {
        display: block;
    }
}

The result is something like this:

@onfire @OhYuuKii

@ireade Nice work, I've just quickly tried implementing this and it's working for me too

Thank you @ireade . it's Working for me too.

@ireade hi,
I need to create a custom QRCode reader. Your solution just allows me to have a header.
Do you have any idea how I can have this type of screen?

thx

Please guys, I desperately need a solution or a tutorial, how I can add an UI on top of this scanner, since I can't just show a full screen camera preview, with the hacky solution <HTMLElement>document.getElementsByTagName('ion-app')[0].style.display = none
I am sitting the whole week trying to get a QRScanner working on my ionic 4 App. :(

Please guys, I desperately need a solution or a tutorial, how I can add an UI on top of this scanner, since I can't just show a full screen camera preview, with the hacky solution <HTMLElement>document.getElementsByTagName('ion-app')[0].style.display = none
I am sitting the whole week trying to get a QRScanner working on my ionic 4 App. :(
the solution with simply putting following code into my scss also doesn't work
ion-content { --background: none transparent; }

this is meant to put on your page.. and do not mix with the above solution... ion-app will make the whole page display none...

what do you mean with "put on your page"?
I have this in html
`

qrscanner

`
and this in scss
ion-content { --background: none transparent; }
I don't see any camera preview

hey, thanks
why is ion-content {     --background: var(--ion-background-color, transparent)   } alone in scss not enough? I just don't get it :/

thanks! I made it work!
I am wondering if there could be a better solution than inject css at runtime to make everything transparent until CameraPreview can be seen, I have to hardcode every possible html element...

Here is my solution using angular. Basically, I have a flag on ion-content to turn on and off a css class:
<ion-content [class.show-qr-scanner]="isOn">
       <-- other content here -->
</ion-content>

.show-qr-scanner {
  display: none;
}

import { Component, OnInit } from '@angular/core';

import { QRScanner, QRScannerStatus } from '@ionic-native/qr-scanner/ngx';

@Component({
  selector: 'app-qr-scanner',
  templateUrl: './qr-scanner.page.html',
  styleUrls: ['./qr-scanner.page.scss'],
})
export class QrScannerPage implements OnInit {

  isOn = false;
  scanSub;

  constructor(
    private qrScanner: QRScanner
  ) {
  }

  ngOnInit() {
  }

  startScanner() {
    // Optionally request the permission early
    this.qrScanner.prepare()
      .then((status: QRScannerStatus) => {
        if (status.authorized) {
          // camera permission was granted

          this.isOn = true;

          // start scanning
          this.scanSub = this.qrScanner.scan().subscribe((text: string) => {
            console.log('Scanned something', text);

            this.qrScanner.hide(); // hide camera preview
            this.scanSub.unsubscribe(); // stop scanning
          });

          this.qrScanner.show().then((data) => {
            console.log('DATA', data);
          }).catch((err) => {
            console.log('Err', err);
          });

        } else if (status.denied) {
          // camera permission was permanently denied
          // you must use QRScanner.openSettings() method to guide the user to the settings page
          // then they can grant the permission from there
          this.qrScanner.openSettings();
        } else {
          // permission was denied, but not permanently. You can ask for permission again at a later time.
        }
      })
      .catch((e: any) => console.log('Error is', e));
  }

}

I got same problem now.
anyone can share full source?
thank you

@onfire  could you provide full example for this?

please help.

@devotebest have you tried these?
https://github.com/bitpay/cordova-plugin-qrscanner/issues/204#issuecomment-435613582

yes,  camera is not opening.

@devotebest have you try  https://github.com/bitpay/cordova-plugin-qrscanner/issues/204#issuecomment-475098225  ?
it work for me

This is related to shadow DOM styling, which I just heard about on ionic v4 haha, don't know if this is the best solution but it works.
Solution 1 - Recommended
You can put this css on your component's scss.
ion-content {
  --background: none transparent;
}

Solution 2
    showCamera() {
        setTimeout(() => {
            window.document.querySelectorAll('ion-content')
                  .forEach(element => {
                      const element1 = element.shadowRoot.querySelector('style');
                      element1.innerHTML = element1.innerHTML
                                                   .replace('--background:var(--ion-background-color,#fff);', '--background: transparent');
                  });
        }, 300);
    }

    hideCamera() {
        window.document.querySelectorAll('ion-content')
              .forEach(element => {
                  const element1 = element.shadowRoot.querySelector('style');
                  element1.innerHTML = element1.innerHTML
                                               .replace('--background: transparent', '--background:var(--ion-background-color,#fff);');
              });
    }

it work for me

I got same problem now.
anyone can share full source?
thank you

https://github.com/ken-y2017/ionic4-qrscanner

<ion-content no-scroll [ngClass]="{'transparentBody':isCameraShown}">
.transparentBody {
background: transparent none !important;
--background: none transparent;
}
showCamera() {
window.document.querySelector('ion-app').classList.add('transparentBody')
}
hideCamera() {
window.document.querySelector('ion-app').classList.remove('transparentBody')
}

Hi I am also using QR Scanner. My problem is that when I navigate to other page and navigate again to the page where QR Scanner is implemented , after triggering the scan function , my qrScanner.destroy() wont remove my instance and camera works in the background.
`scan(): Promise {
let scanSub: any;
let ionApp =  document.getElementsByTagName('app-root')[0];
let closeBtn =  document.getElementById('close-btn');
let  radar =  document.getElementById('radar');
    return new Promise<any>((resolve, reject) => {

        closeBtn.style.display = 'block';
        radar.style.display = 'block';
        closeBtn.addEventListener('click', () => {
            scanSub.unsubscribe();
            ionApp.style.display = 'block';
            closeBtn.style.display = 'none';
            radar.style.display = 'none';
            this.qrScanner.hide();
            this.qrScanner.destroy();
        });

        scanSub = this.qrScanner.scan().subscribe((text: string) => {
            resolve(text);
        });

        //show camera preview
        ionApp.style.display = 'none';
        this.qrScanner.useCamera(0);
        this.qrScanner.show();
    });
}`

I was unable to solve this with any solutions above for my Ionic v4 app. I solved it this way:
  ionViewDidEnter() {

    window.document.querySelector('#qr-scanner').shadowRoot.querySelector('main').style.background = 'transparent';
    window.document.body.style.background = 'transparent';
    const appRoot = window.document.querySelector('app-root') as HTMLElement;
    appRoot.style.background = 'transparent';
    const ionApp = window.document.querySelector('ion-app') as HTMLElement;
    ionApp.style.background = 'transparent';

    this.openQrScanner();
  }

window.document.querySelector('#qr-scanner').shadowRoot.querySelector('main').style.background = 'transparent';
    window.document.body.style.background = 'transparent';
    const appRoot = window.document.querySelector('app-root') as HTMLElement;
    appRoot.style.background = 'transparent';
    const ionApp = window.document.querySelector('ion-app') as HTMLElement;
    ionApp.style.background = 'transparent';

To which element need to assign id="qr-scanner"?
Help really appreciated.

This works nicely for me: https://edupala.com/ionic-qr-scanner/

This is related to shadow DOM styling, which I just heard about on ionic v4 haha, don't know if this is the best solution but it works.
Solution 1 - Recommended
You can put this css on your component's scss.
ion-content {
  --background: none transparent;
}

Solution 2
    showCamera() {
        setTimeout(() => {
            window.document.querySelectorAll('ion-content')
                  .forEach(element => {
                      const element1 = element.shadowRoot.querySelector('style');
                      element1.innerHTML = element1.innerHTML
                                                   .replace('--background:var(--ion-background-color,#fff);', '--background: transparent');
                  });
        }, 300);
    }

    hideCamera() {
        window.document.querySelectorAll('ion-content')
              .forEach(element => {
                  const element1 = element.shadowRoot.querySelector('style');
                  element1.innerHTML = element1.innerHTML
                                               .replace('--background: transparent', '--background:var(--ion-background-color,#fff);');
              });
    }

it works :)

I found a quite nice solution too. You can use Angulars [class.hide]="scannerOpen" to attach a class with the background CSS var if you need it and hide elements based on that variable too.
.hide {
  --background: none transparent;
}

Template:
<ion-header [translucent]="true">
  <ion-toolbar>
    <ion-buttons slot="start">
      <ion-menu-button></ion-menu-button>
    </ion-buttons>
    <ion-title>Open</ion-title>
  </ion-toolbar>
</ion-header>

<ion-content [fullscreen]="true" [class.hide]="scannerShown">
  <ion-header collapse="condense">
    <ion-toolbar>
      <ion-title size="large">Open box</ion-title>
    </ion-toolbar>
  </ion-header>

Open box

    <ion-button (click)="scan()">
      <ion-icon name="qr-code" slot="start"></ion-icon>
      Scan QR code
    </ion-button>

     Scanned data is:

    {{data}}

</ion-content>

Page
import { Component, OnInit, ViewChild } from '@angular/core';
import { QRScanner, QRScannerStatus } from '@ionic-native/qr-scanner/ngx';
import { IonContent } from '@ionic/angular';

@Component({
  selector: 'app-login',
  templateUrl: './open.page.html',
  styleUrls: ['./open.page.scss'],
})
export class OpenPage {
  public data: string;
  public scannerShown: boolean;

  constructor(private qrScanner: QRScanner) { }

  scan() {
    // Optionally request the permission early
    this.qrScanner.prepare()
      .then((status: QRScannerStatus) => {
        console.debug(status);
        if (status.authorized) {
          // camera permission was granted

          // start scanning
          const scanSub = this.qrScanner.scan().subscribe((text: string) => {
            console.log('Scanned something', text);
            this.data = text;

            this.qrScanner.hide(); // hide camera preview
            this.scannerShown = false;
            scanSub.unsubscribe(); // stop scanning
          });
          this.qrScanner.show().then((showStatus) => console.debug('show status', showStatus)).catch((e) => console.error('show error', e));
          this.scannerShown = true;

        } else if (status.denied) {
          // camera permission was permanently denied
          // you must use QRScanner.openSettings() method to guide the user to the settings page
          // then they can grant the permission from there
        } else {
          // permission was denied, but not permanently. You can ask for permission again at a later time.
        }
      })
      .catch((e: any) => console.log('Error is', e));

  }

}

mine was not visible because of DARK MODE in phone setting is enabled


DOC: update link to docs in the README

The current link points to an old version of the docs (1.7.0), while the readthedocs link should be up to date.

Coverage remained the same at 83.174% when pulling 663dea53d997596124e268e34dd3bb81038fa71f on jorisvandenbossche:patch-1 into 21b90419967a730f7323aad35fecd2721e79aa17 on Toblerity:master.

Coverage remained the same at 83.174% when pulling 663dea53d997596124e268e34dd3bb81038fa71f on jorisvandenbossche:patch-1 into 21b90419967a730f7323aad35fecd2721e79aa17 on Toblerity:master.

Coverage remained the same at 83.174% when pulling 663dea53d997596124e268e34dd3bb81038fa71f on jorisvandenbossche:patch-1 into 21b90419967a730f7323aad35fecd2721e79aa17 on Toblerity:master.


bug: iOS 13 word pasting auto space exceeds text max length

Bug Report
iOS 13 word pasting auto space exceeds text max length
Ionic version:
4-5
(tested on both 4 and 5)
Current behavior:
Paste word on text / text area,
word length exceeds 1 than input maxlength
Expected behavior:
text input should only be allowed to have max length of maxlength
Steps to reproduce:
repo: https://github.com/Wingzzzzz/test-ios13-text-maxlength-overflow

build and run on iOS 13
prepare cut and paste with content "12"
paste word on either input(text) / textarea
repeat 3. few times
result: "12 12 12 12"
length: 11
max length: 10

Other information:
This is a bug i am not certain related party:
ionic / angular / cordova / iOS 13 / webkit
Wide guess: If not ionic, iOS 13 word pasting auto space directly injects value to field and bypasses normal html max length attribute
Ionic info:
Ionic:

   Ionic CLI                     : 5.4.5 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 5.0.4
   @angular-devkit/build-angular : 0.803.25
   @angular-devkit/schematics    : 8.3.25
   @angular/cli                  : 8.3.25
   @ionic/angular-toolkit        : 2.2.0

Cordova:

   Cordova CLI       : 9.0.0<EMAIL_ADDRESS>   Cordova Platforms : ios 5.1.1
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 4 other plugins)

Utility:

   cordova-res : 0.8.1 (update available: 0.9.0)
   native-run  : not installed

System:

   Android SDK Tools : 26.1.1
   ios-deploy        : 1.9.4
   ios-sim           : 8.0.2
   NodeJS            : v12.15.0
   npm               : 6.13.4
   OS                : macOS Mojave
   Xcode             : Xcode 11.2.1 Build version 11B500

Thanks for the issue. I am going to close this as this is not a bug in Ionic Framework.
I was able to reproduce this outside of Ionic. It looks like a bug in iOS: https://codepen.io/liamdebeasi/pen/dyozzrP


Pagination of lists error - do not display if no more to show

Hello,
i have noticed that in all instances where there is the ability to add a list of pages or posts or events to a page, and you get the option to paginate... that the pagination shows no matter what.... and if there are NO more links to show in the list.. it simply disappears.
this is causing some pretty severe confusion among site visitors,and im getting a few emails about it already.
is there any way to stop the display of the "next" link for pagination if there is nothing to paginate?
for example... if you have two events, and you choose to paginate by 10... the pagination link shows below the two events, but it should never show unless there are additional events or lists to show.  when you click that link and there is nothing to show, the entire block of content disappears, no message no nothing.

While it seems that the "next" button is now hidden when there are no more pages to to browse, the numbered page buttons still are. See the screenshot I have taken from respondcms.com's blog.


Playground (http://play-anko.appspot.com/) returns 500

http://play-anko.appspot.com/:
Error: Server Error
The server encountered an error and could not complete your request.
Please try again in 30 seconds.

Fixed.

Thanks!


Added ERC20 events for compatibility with legacy Ðapps

Trigger ERC20 event for compatibility with legacy ERC20 compatible only Ðapps
Trigger ERC223 event for new ERC223 compatible Ðapps

Backwards compatibility with ERC20 token standard is not a goal of ERC223 token standard.
As a result, ERC20 events are implementation details, there is no need to standardized them.

I don't see any reasons to maintain backwards compatibility with ERC20 tokens. ERC223 is designed to be a standard for both chains Ethereum and EthereumClassic. There are no ERC20 tokens on the ETC. I don't want them to appear because I don't want ETC users to lose money.
If there are no ERC20 tokens and there is no reason to develop them I don't see any reasons to keep backwards compatibility in the standard.
Also there is a separate branch that aims to keep backwards compatibility with ERC20: https://github.com/Dexaran/ERC23-tokens/tree/ERC20_compatible

I see @Dexaran you just created the ERC20_compatible branch to keep backwards compatibility with ERC20. Great! I also see the difference of the ERC20_compatible ERC223 and master ERC223 implementations is just an extra event to be triggered. So I suggest people who are creating tokens for either Ethereum to use the ERC20_compatible version just in the case of an Ethereum Ðapp awaiting ERC20 events to work flawlessly with ERC223 tokens. I mean what is the additional cost of an extra event being triggered? Does it outweight the benefit the compatibility brings? I don't think so.

In the standard it is stated that ERC223 tokens are backwards compatible. But if ERC20 event is not triggered in fact it will not be.
The classical example is a token wallet which was designed to hold ERC20 tokens when there was no ERC223 standard yet. Users trying to send ERC223 tokens to that wallet would probably face application malfunction due to the fact that the wallet would be awaiting an ERC20 event that would never happen.

The phrase "standard backward compatibility" means that it is possible to create a token that will work with DApps, which are designed to work with ERC20 and ERC223.
There is a possibility to implement approve + transferFrom mechanism in ERC20_compatible version of ERC223 token also but I will not recommend to use it.

I mean what is the additional cost of an extra event being triggered? Does it outweight the benefit the compatibility brings?

The ERC223 token standard is designed to be a standard for digital assets on both ETH and ETC chains. There are no ERC20 tokens on ETC chain. There is no benefit from backward compatibility with non-existent things.


Can't right-click delete document in a collection which has Shard Key

Repro steps:

Select a document
Right-click to delete it

Action: cosmosDB.deleteMongoDocument
Error type: 61
Error Message: query in command must target a single shard key
Version: 0.10.2
OS: win32
Product: Visual Studio Code - Insiders
Product Version: 1.35.0-insider
Language: en

Call Stack
Function.MongoError.create mongodb-core/error.js:31:11
pool.js:497:72mongodb-core/pool.js:497:72
authenticateStragglers mongodb-core/pool.js:443:16
Connection.Pool.socketCount [as messageHandler] mongodb-core/pool.js:477:5
TLSSocket.dataHandler mongodb-core/connection.js:333:22
TLSSocket.emit events.js:182:13
addChunk _stream_readable.js:279:12
readableAddChunk _stream_readable.js:264:11
TLSSocket.Readable.push _stream_readable.js:219:10
TLSWrap.onread net.js:636:20

@JenniferWood thanks for the report. Did you create the sharded collections in the extension?

We have a similiar issue with the Data Explorer from the Azure Portal.
When clicking on the "delete" button of a document in a collection with a shared key, it does nothing.
In the browser console we have a 400 error with the message "Command delete failed: query in command must target a single shard key."
We can't update a document in this collection. In this case, we get a popup with "Command update failed: query in command must target a single shard key."
We also tried with the shell from the Data Explorer and we have the same issue. Currently, we have no way to update or delete our document.
It looks like there is a serious issue with the Portal Data Explorer :(

Have the same issue in VS code:
right click on collection | new document.

This issue has become stale and is at risk of being closed. The community has 60 days to upvote the issue. If it receives 5 upvotes we will keep it open and take another look. If not, we will close it. To learn more about how we handle issues, please see our documentation.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Don't export users with unsynched tables

Fixes #12588.
Supersedes #12698. cc @javitonino (I was using the wrong branch and target branch can't be changed).

Retest this please

Back to CR after you great catch, @amartinj !


how to use deno docker in gitlab runner?

this is the .gitlab-ci.yml file:
build:
  image:
    name: "hayd/debian-deno:latest"
  script:
    - echo hello

and gets the error:
Skipping Git submodules setup
Executing "step_script" stage of the job script
/bin/sh: 0: Can't open sh

If I add entrypoint like this:
build:
  image:
    name: "hayd/debian-deno:latest"
    entrypoint: ["/bin/sh"]
  script:
    - echo hello

still gets another error:
Skipping Git submodules setup
Executing "step_script" stage of the job script
error: Found argument 'sh' which wasn't expected, or isn't valid in this context

USAGE:
    deno [OPTIONS] [SUBCOMMAND]

For more information try --help

cc @DanielRamosAcosta  is this related/what you mentioned in #57 ?

what happens if you change the entrypoint?
entrypoint: [""]

what happens if you change the entrypoint?
entrypoint: [""]

It works! thanks very much.
@hayd I've read the thread #57 but I have no idea if they are related since I'm new to gitlab ci and docker and deno.

should be fixed in 1.2.3


Make charm's images configurable in track/ branch

Description
The goal of this task is to make all images configurable so that when this charm is deployed in an airgapped environment, all image resources are pulled from an arbitrary local container image registry (avoiding pulling images from the internet).
This serves as a tracking issue for the required changes and backports to the latest stable track/* Github branch.
TL;DR
Mark the following as done

[ ] Required changes (in metadata.yaml, config.yaml, src/charm.py)
[ ] Test on airgap environment
[ ] Publish to /stable

Required changes

WARNING: No breaking changes should be backported into the track/<version> branch. A breaking change can be anything that requires extra steps to refresh from the previous /stable other than just juju refresh. Please avoid at all costs these situations.

The following files have to be modified and/or verified to enable image configuration:

metadata.yaml - the container image(s) of the workload containers have to be specified in this file. This only applies to sidecar charms. Example:

containers:
  training-operator:
    resource: training-operator-image
resources:
  training-operator-image:
    type: oci-image
    description: OCI image for training-operator
    upstream-source: kubeflow/training-operator:v1-855e096

config.yaml - in case the charm deploys containers that are used by resource(s) the operator creates. Example:

apiVersion: v1
kind: ConfigMap
metadata:
  name: seldon-config
  namespace: {{ namespace }}
data:
  predictor_servers: |-
    {
        "TENSORFLOW_SERVER": {
          "protocols" : {
            "tensorflow": {
              "image": "tensorflow/serving", <--- this image should be configurable
              "defaultImageVersion": "2.1.0"
              },
            "seldon": {
              "image": "seldonio/tfserving-proxy",
              "defaultImageVersion": "1.15.0"
              }
            }
        },
...

tools/get-images.sh - is a bash script that returns a list of all the images that are used by this charm. In the case of a multi-charm repo, this is located at the root of the repo and gathers images from all charms in it.

src/charm.py - verify that nothing inside the charm code is calling a subprocess that requires internet connection.

Testing

Spin up an airgap environment following https://github.com/canonical/bundle-kubeflow/pull/682 and https://github.com/canonical/bundle-kubeflow/issues/703#issuecomment-1729826733

Build the charm making sure that all the changes for airgap are in place.

Deploy the charms manually and observe the charm go to active and idle.

Additionally, run integration tests or simulate them. For instance, creating a workload (like a PytorchJob, a SeldonDeployment, etc.).

Publishing
After completing the changes and testing, this charm has to be published to its stable risk in Charmhub. For that you must wait for the charm to be published to /edge, which is the revision to be promoted to /stable. Use the workflow dispatch for this (Actions>Release charm to other tracks...>Run workflow).

Minio-operator does not need any extra configuration since

image is already in metadata.yaml file
no images in config.yaml file neither is there a .json or sth else with custom images
get images script is the same in main and track/ckf-1.7.
Thus, its image is already configurable.

Closing the issue then, since no extra work is needed.


How to make new windows float by default?

Thanks for putting so much time into this amazing project!
Everything has been working great except I can't seem to find a way to get new windows to float by default.
I've tried setting window_float_next 1 in my .chunkwmrc as well as commenting out the following as suggesting in this issue but I still can't seem to get it to work :(
chunkc set bsp_spawn_left                0
chunkc set bsp_optimal_ratio             1.618
chunkc set bsp_split_mode                optimal
chunkc set bsp_split_ratio               0.5

Other than these settings my .chunkwmrc is exactly like the sample config.

You need to edit this line in your config to be float instead of bsp https://github.com/koekeishiya/chunkwm/blob/master/examples/chunkwmrc#L21
You probably want to delete line 22 and 23 as well then.

That did it, thanks!


Auto reload when ENVIRONMENT==local

Closes #212

There something weird with actions as they don't seems to run on the latest commit

closed in favor or #231


Will panic soon when visit pprof web page

go1.19 amd64 macos
import (
	"net/http"
	_ "net/http/pprof"
)
func Test(t *testing.T)
	go func() {
		log.Println(http.ListenAndServe(":6060", nil))
	}()
        // call loaded module here

module is
package a

import "fmt"
import "time"

func main() (output int) {
	var m = map[string]int{}
	for i := 0; i < 100; i++ {
		m[fmt.Sprintf("%v", i)] = i
	}
	time.Sleep(time.Second / 1000)
	return m["1"]
}

after start, that is ok until I visit the pprof page  http://<IP_ADDRESS>:6060/debug/pprof/heap?debug=1
then got a panic

func funcfile(f funcInfo, fileno int32) string {
	datap := f.datap
	if !f.valid() {
		return "?"
	}
	// Make sure the cu index and file offset are valid
	// println("debug", f.cuOffset, uint32(fileno), len(datap.cutab))
	if fileoff := datap.cutab[f.cuOffset+uint32(fileno)]; fileoff != ^uint32(0) {
		return gostringnocopy(&datap.filetab[fileoff])
	}
	// pcln section is corrupt.
	return "?"
}

panic at datap.cutab[f.cuOffset+uint32(fileno)] because fatal error: index out of range

(Fixed in my fork)

@eh-steve @pkujhd
While using pprof, I encountered another issue. When I extracted the function address from the symbol address map and forcefully cast it into a Go function, everything would work fine if I didn't refresh the pprof web page. However, if I refreshed the page a few times, it would panic after a few seconds.
Then, I tested it with eh-steve's repo and found that his program did not have this issue.
Upon comparing this repo with eh-steve's repo, I discovered that the difference was that eh-steve wrapped the function pointer with an interface, instead of directly using unsafe.Pointer for conversion.
below, I've listed two version snippets, where version 1 has error and version 2 works correctly.
version1 (bad):
https://github.com/pkujhd/goloader/blob/master/examples/loader/loader.go#L91
func Fn[T any](p *Proxy, funcname string) T {
	const defaultpkgname = "<unlinkable>"

	fn := unsafe.Pointer(p.Symbols[defaultpkgname+"."+funcname])
	fnptr := (uintptr)(unsafe.Pointer(&fn))
	return *(*T)(unsafe.Pointer(&fnptr))
}

version2 (ok):
func Fn[T any](p *Proxy, funcname string) T {
	const defaultpkgname = "<unlinkable>"

	fn_addr := unsafe.Pointer(p.Symbols[defaultpkgname+"."+funcname])

	var val interface{}
	{
		var fn T
		val = fn
		valp := (*[2]unsafe.Pointer)(unsafe.Pointer(&val))
		(*valp)[1] = unsafe.Pointer(&fn_addr)
	}

	return val.(T)
}

but I'm not clear about the underlying reason. If anyone knows, please let me know.

This issue is unrelated to the first one, likely to do with the unsafe.Pointer holding the function entrypoint being GC'd too early because of the cast to uintptr, whereas the interface{} will be treated correctly by the GC

This bug is the profiler to hold the export function's ptr.
Error caused by the profiler accessing invalid memory after module uninstallation.
The plugin module uses moduledata.ptab to store exported variables and functions. i consider using a similar solution to avoid issues, but it requires that the package name must be main and additional compilation parameters "-dynlink -complete -p packagename" must be added
On the branch of eh Steve, the compiler was modified to force it to export types

This bug is the profiler to hold the export function's ptr.
Error caused by the profiler accessing invalid memory after module uninstallation.

No it isn't? The first bug is due to the incorrect layout of pclntab and cutab, and the second bug is due to the GC of the value behind a uintptr funcptr that should have been an unsafe.Pointer or interface{}, not to do with any module unloading.

On the branch of eh-steve, the compiler was modified to force it to export types

My compiler patch makes it simpler to construct an interface{} from any exported symbols in any package regardless of whether it's main or not, and it prevents the GC from collecting funcptrs because they're stored in an interface{} with the correct type, but that isn't strictly required (if you pass around an unsafe.Pointer instead of uintptr, the second bug will probably not recur)

This bug is the profiler to hold the export function's ptr.
Error caused by the profiler accessing invalid memory after module uninstallation.

No it isn't? The first bug is due to the incorrect layout of pclntab and cutab (fixed on my branch), and the second bug is due to the GC of the value behind a uintptr funcptr that should have been an unsafe.Pointer or interface{}, not to do with any module unloading.

On the branch of eh-steve, the compiler was modified to force it to export types

My compiler patch makes it simpler to construct an interface{} from any exported symbols in any package regardless of whether it's main or not, and it prevents the GC from collecting funcptrs because they're stored in an interface{} with the correct type, but that isn't strictly required (if you pass around an unsafe.Pointer instead of uintptr, the second bug will probably not recur, even on your branch)

the first panic with invalid PCFile are already fixed on commit https://github.com/pkujhd/goloader/commit/f7a07e8dd1eb5675f55e17f18d76660b86b9653f


Nginx logging broken

When following the linked advice for nginx logging, the log processing breaks.
Steps to reproduce the issue:

Follow the advice for improving nginx logging in: https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/#metrics-collection-nginx-logs
Check nginx log entries
Processing is broken, no attributes are shown

It can be fixed again by the user with these steps:

Clone the nginx log pipeline
Edit Grok Parser: Parsing Nginx logs
In parsing rules, add this line after the access.combined ... line: access.nginx %{access.common} %{_response_time} "%{_referer}" "%{_user_agent}"( "%{_x_forwarded_for}")?.*
Go to Advanced Rules -> Helper Rules
Add the line: _response_time %{number:duration}

Describe the results you expected:
It would be great if either:

the default nginx parsing rules included these lines by default, so they don't break
the linked article explained how to un-break the log parsing

Hello @Matt-Yorkley ,
You definitely have a point. Currently the Nginx integration covers the default nginx format which do not include the response time in it.
But in the blogpost we recommend to add it and we should definitely cover this format as well.
We will definitely add this and update the documentation as well to recommend this format.

Hello @Matt-Yorkley ,
Just to let you know that the nginx integration pipeline has been updated and now properly support this format.
Thanks again for raising this and feel free to reach out to<EMAIL_ADDRESS>if you have any questions.


[Android] File content picked from google drive is broken

[x] I have read the Getting Started section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
3.10.0

Plugin version
6.0.0-beta.23

Android version
9+

iOS version
N/A

macOS version
N/A

Xcode version
N/A

Device information:  any device running Android 9+. Nexus 5 emulator, physical device: Samsung A23, Xiaomi Redmi Note 11
Description
Files picked using input tag are broken when selected from Google Drive.
When I select a file from the phone memory then it loads fine and the content is correct, however when the Android file picker shows up and I go to Drives, select any file then it is passed to the web page JS, but the content is somehow broken, I can't tell what is exactly wrong. There are no logs/stack traces in the console, only logs from the JS that the file is broken.
Expected behavior:
On Android phone I would like to be able to pick a file from the google drive.
Current behavior:
I am able to select files from google drive, but the content of that file is broken.
Steps to reproduce

Run example of flutter_in_appwebview, e.g. example that shows the download functionality.
Set the initial URI to e.g. PDF.js viewer example
On the top right. Show More. Open File.
Choose any PDF file from the phone storage, e.g. file from download directory.
The file will show fine in the pdf viewer.
On the top right. Show More. Open File.
Choose any PDF File from the Google Drive.
The PDF won't show, there will be an error saying the the blob cannot be loaded.

@pichillilorenzo initially I thought that this issue is only related to android 13, but it occurs on all android versions, starting from minSdkVersion 24 which we support.


Pie chart that reflects spending/income

As a visual learner, I want to have pie charts that reflects my spending/income so that I can better understand my spending patterns.

Merged PR


vue-test-utils doesn't track object props (3)

vue-test-utils doesn't track object props (3)
History
This is a copy of my prev issue https://github.com/vuejs/vue-test-utils/issues/1621 and https://github.com/vuejs/vue-test-utils/issues/1651 which was unexpectedly closed by @dobromir-hristov . I have removed delay from mounted, which was simulating fetch delay, and I agree to not mutate component's property inside component and I add jsFiddle https://jsfiddle.net/alexey2baranov/59r34pam/8/ to demonstrate context
Context
i have a user object which is the data model for a vue.js UserComponent. When the component is mounted the user has undefined fields. Then the user is fetched from the server and its name is setted. (see jsFiddle)
Problem
So i found that vue-test-utils doesn't simulate original Vue. Original Vue detects property changing and redraws it's template according new value (see jsFiddle). It doesn't need parent component or event bubbling to do this. But this not works when it runs inside vue-test-utils.
Steps to reproduce
git clone https://github.com/alexey2baranov/vue-test-utils-getting-started
npm test

Expected behaviour
Test should be done
Actual behaviour
Test fails
Possible Solution
Unfortunately i don't know any possible solution. I tried to reset user prop by wrapper.setProp({user: user}) after its fields was fetchad. Unfortunatelly it is impossible as vue-test-utils prevent to set the same object to prop twice.

I am surprised that even works, this is definitely not a common use case. Any data Vue is watching and using should be declared in data or something similar.
If you are really desperate to test this you can wrap it, maybe like this.
let foo = 'foo'
const Wrapper = {
  template: `<YourComponent :foo="foo" />
  data() {
    foo
  }
}

const wrapper = mount(Wrapper)
foo = 'bar'
await wrapper.vm.$nextTick()
// do your assertion?

I am also not clear on why setProps is not a viable. This doesn't work?
const Comp = {
  template: `<div>{{ foo }}</div>
  props: {
    foo: {
      default: 'bar'
    }
  }
}

expect(wrapper.html()).toContain('bar')
const wrapper = mount(Comp)
await wrapper.setProps({ foo: 'foo' })
expect(wrapper.html()).toContain('foo')

As for your original jsfiddle, if you are doing things like this you should save the initial value in data. Don't rely on Vue's reactivity for things declared outside of Vue.

You are not delegated to decide what is wrong and what is not. Vue don,t interest your mind even if you say hundred times that something is wrong. Vue works like it works. Right?
All you can do is to compare original Vue with vue-test-utils. If we see that original Vue redraws it,s template when user.name=newValue and vue-test-utils doesn,t then we understand that something wrong with vue-test-utils. Instead of that you say "do this , do not do this, create parent component , do not mutate in mounted, don,t relay on" and so on. I say if it works in original Vue, it should works in tests. Isn,t it correct? Isn,t vue-test-utils mission is to test code that works in original Vue?
Your second question about setProps. setProps does not works when you set to prop the same object with mutated property. Don,t you know it? In your code example you set another scalar value so it works. Please don,t say "do as i like again, set new value in test" because there are use cases when we have to keep the same object reference instead of passing new copy of object into component.
So maybe you don,t ban my issue and try to look  it?

I have a better idea, make a PR with a fix 😏 This is low on the "issue" list, so help is always welcome.

Oh I like it👍 This sounds much better. Even if I don,t some others can collaborate around this and make PR.
Unfortunately my knowledge about vue-test-utils and whole Vue us not well enough to do it. Maybe if you don,t ban this issue, somebody else can PR it.

@alexey2baranov Vue internally wraps props into observable, and this is kind of responsibility of new Vue, not the component
Since you're doing mount "manually" just wrap user to Vue.observable(user) before passing it as propsData to mount.
Since this is unintended side-effect which may "pollute" with Vue other variables I suggest not to include this as default behavior for VTU

This is a copy of my prev issue #1621 and #1651 which was unexpectedly closed by @dobromir-hristov

"unexpectedly closed"....
As said in all three this is not VTU.
@alexey2baranov  @alexey-baranov if you want to make your test pass, you need to convert your user to observable:
  const user = Vue.observable({
      name: "undefined_name",
    });

there's the full test passing:
import Vue from 'vue'
import { mount } from "@vue/test-utils";
import User from "./user";
import flushPromises from "flush-promises/index";

describe("user", () => {
  it("should update rendered html after user.name fetched", async () => {
    const user = Vue.observable({
      name: "undefined_name",
    });

    // mount component that includes user fetching
    const wrapper = mount(User, {
      propsData: {
        value: user,
      },
    });
    await flushPromises();
    expect(wrapper.text()).toContain("undefined_name");

    console.log("emulating fetching user data ...");
    await new Promise((resolve) => setTimeout(resolve, 0));
    user.name = "fetched_name";
    console.log("user updated");

    await flushPromises();
    expect(wrapper.text()).toContain("fetched_name");
  });
});

@xanf

vue internally wraps props into observable, and this is kind of responsibility of new Vue, not the component
Since you're doing mount "manually" just wrap user to Vue.observable(user) (or even entire propsData if you want that) before passing it as propsData to mount.

Oh, thank you very much. That is what i'm looking for. Now I clearly see the difference and know the short way what to do. I agree you should not include this into default behavior.
Thanks for your replay. And all others. Nice day..


how to retrain inceptionv3?

I have a .pb file from Tensorflow and I would like to implement it into the metal image recognition. I am very new to Swift so any help would be great. thanks.

Did you figure that out? would be interesting to me as well

Any updated answer on this ?


storcon: update compute hook state on detach

Problem
Previously, the storage controller may send compute notifications containing stale pageservers (i.e. pageserver serving the shard was detached). This happened because detaches did not update the compute hook state.
Summary of Changes
Update compute hook state on shard detach.
Fixes #8928

test_gc_of_remote_layers: release-arm64

Not entirely sure why would this PR cause this test failure.


Git: Investigate using vscode.open and vscode.diff as commands in scm

Currently SCM has a custom mechanism for opening resources: SCM providers provide a command for each resource (git provides git.openResource) and it does some magic behind the scenes to be sure that command gets passed the right Resource when invoked. But this custom approach can never align with all the UI gestures and settings related to editor opening actions (preview, to side, etc).
We should investigate whether its feasible for git to simply provide vscode.open and vscode.diff as the Resource opening commands. That way the core can gives us all the preview, open to side, features.
Related:

https://github.com/microsoft/vscode/issues/85636#issuecomment-725947147
https://github.com/microsoft/vscode/issues/109393

I landed my changes, if an extension is using vscode.open or vscode.diff for TreeItem, we pass over the context of the list.
To adopt this in SCM, we need something similar like this code right before we invoke the command of a SCM tree item:
https://github.com/microsoft/vscode/blob/630e706ad2de99e255a18bf77f72d569e9fc0e49/src/vs/workbench/contrib/views/browser/treeView.ts#L468-L475

Thanks @bpasero, looks awesome!

@bpasero Check it out:
https://github.com/microsoft/vscode/commit/ed4d86eba279cda7b6aa8e60e687ba2added0b88#diff-a29d112f7e1fecae5536543510588375d7283d06e96a4cf64325e8b600f30356R1940-R1941
It is mostly working with some very weird behavior, on which I will need your help next week:

cc @eamodio


Image tag/repo in materialized repo not getting updated

Describe the bug:
The image tag/repo in the materialized repo are being overridden by the default tag/repo found in the helm chart.
To Reproduce:
Run the build pipeline and update the image repo to x.2, then complete the PR in the HLD repo. Then the materialized pipeline runs and the changes are not reflected in the pipeline. When I change the image tag/repo in the materialized repo manually, those changes get overridden during the next materialized pipeline run.
Expected behavior:
The image tag/repo in the materialized repo should be updated with the values found in the HLD repo.
Screenshots:
Additional context:
spk version: 0.5.3
config/common.yaml
subcomponents:
  storage-service:
    subcomponents:
      storage-service:
        subcomponents:
          msft_testing:
            subcomponents:
              chart:
                config:
                  image:
                    repository: msfttestingcluster.azurecr.io/storage-service-storage-service
                    tag: msft_testing-20200304.3

service name: storage-service
Does this require updates to documentation?:

@kjeffc can you provide some more information:

version of spk
the top level config/common.yaml
the name of the service?

Worked through this. This was being caused by a mismatch of subcomponents. msft_testing was getting created as a subcomponent branch but it wasn't present in bedrock.yaml as a ring.
@kjeffc @evanlouie

@andrebriggs Is there a task that should be done for this ticket and does it need to be reopened, or was this moved to the sprint todo on accident?


Export-DbaSysDbUserObject is not being exported as public function

Hi!
I'm not sure if this is an intended behavior or something that escape us before.
The Export-DbaSysDbUserObject is not being exported as public function.
Should we include it as public function?

I was just never added to module manifest to be exported. So yes, psm1 and psd1 should be adjusted to properly export it.

Is now public, so I close this.


Key Error: "u'items'" #87 fix

Hello, since youtube search doesn't work with original API key, I did this change to be able provide my personal API key from configuration. If you like you can merge this fix, but from than it will be needed for every user to provide their API key. But I left original API key as default configuration so if this API key starts work again it can work with it.

Don't try to use own API key, it can lead to ban on your google account.

Strictly speaking, yes, but it's very unlikely. You can always make a
secondary Google account for this purpose.
On 13 Mar 2018 2:53 pm, "Tomáš Filo"<EMAIL_ADDRESS>wrote:

Don't try to use own API key, it can lead to ban on your google account.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mopidy/mopidy-youtube/pull/88#issuecomment-372693316,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA5DqOjVBzA0Mm7EysCinbhTZ_QmFUWPks5td91agaJpZM4SgSJB
.

I don't know how google act at this, but since dz0ny has his account suspended. I will wait for more information from him. Secondary account sounds good but can't suspending one account influence your other accounts ? Since it can be easy for google to determine all accounts of one person. It's not problem to reopen RP #89 but as dz0ny said, how can we guarantee that users won't have their account under suspension/review.

I think the "everyone is doing it" rule applies here but I understand your concern. I still think your PR is worth merging, at least people have the choice.


Biggus version requirement update

Updates the minimum version of biggus to v0.13 to help users avoid SciTools/biggus#166. I've also added a unit test that checks masked addition. This will fail with biggus < v0.13, and I've taken the unusual step of explaining this to the end user. This is felt to be necessary due to the possible mode of failure, where a masked array would lose its mask silently, endangering the correctness of scientific results. See #2034 for background and the basis for this new test.
Ping @matthew-mizielinski

Changed assertTrue to assertIsInstance.

Have updated @dkillick

I'm happy with this, and the failing tests are, once again, timeouts.

Thanks @ajdawson - a useful update.


adding lawinslow's plus WQP secchi data

...gotta wait on this. something funky w/ secchi file I checked in

ok, this should be good now. Take a look @lawinslow ?


NEXT Doc Search

Describe the Issue (screenshots encouraged!)
Now we have a static website we can use tools like https://pagefind.app/ to implement search.

In order to best support skeleton v3 it might be a good idea to enable filtering for frameworks in the search that ignores the preferredFramework.
An example query would be
Accordion svelte for the svelte version of the docs or
Accordion react for the react version

If possible, it would be great if we could display the URL path along with the page title and highlighted content. It would help differentiate different framework pages that have similar content.
Likewise, if possible, add a way to filter by all | react | svelte to help narrow the search on demand.

Both of the comments above are now implemented, feedback still very much appreciated

@Hugos68 Looks like some overflows are trimming the edges of the input here.

Also you can't seem to click outside to close the modal. Not sure the method you're implementing the modal yet but that should be something Floating UI React can handle with with the Floating Overlay feature:
https://floating-ui.com/docs/FloatingOverlay
If you've opted for Floating UI Svelte, we can obvious revisit when this feature is available.

I'm currently using the <dialog> element. Do you really want to throw javascript at this problem when a native solution already exists? Also @endigo9740 let's move this discussion to the PR #2677.

I haven't had a chance to view how the dialog was handled. If that's the case it should be fine, but I still think click to close on the backdrop should be possible.

I haven't had a chance to view how the dialog was handled. If that's the case it should be fine, but I still think click to close on the backdrop should be possible. In fact I understood it to be default behavior.

Sadly this is not the case, I think I'll be able to do this though. Give me an hour 😄, shouldn't be too difficult


Outcome can be predicted

To choose the winner(s) Lotthereum uses block.blockhash(block.number - N) where N is a number pointing to some past block. An attacker can predict the outcome when there is one bet left before a round is closed:

an attacker waits for the last vacant bet in a round
in his contract with the copied getNumber() function he computes the winning number and calls placeBet()
in the same transaction he then calls  placeBet() again to close the round
now he is able to withdraw the funds by calling withdraw() function

Consider using commit-reveal approach to determine lottery winners.

@Raz0r thanks for the feedback but you are missing a few things:

By the time the attacker want to place his bet, someone else can take it.

Ethereum has new blocks every 15 seconds in average, so again, by the time the attacker broadcast his transaction a new block can come and change the winner number.

If you are so confident about your claim can you win a few rounds on mainnet? There is a jackpot of $200.

https://slotthereum.github.io
https://lotthereum.github.io