Consider crossAxisSpacing and mainAxisSpacing for Edges + RTL BUG

GridView crossAxisSpacing Overflow RTL
When I'm using RTL layout, GridView and crossAxisSpacing, the children on right overflow the edge of the emulator.
LTR

RTL

new GridView.count(
            crossAxisCount: 2,
            padding: const EdgeInsets.all(12.0),
            mainAxisSpacing: 12.0,
            crossAxisSpacing: 12.0,
            children: new List<Widget>.generate(16, (index) {
              return new Container(color: Colors.red,child: new Text(""),);
            }),
          ),

@eseidelGoogle
I think crossAxisSpacing and mainAxisSpacing are not working properly,
or my expectations are wrong.
But for sure there's a BUG for RTL in computing the offsets.

@goderbauer would know (and will likely look during weekly triage).

as @p30arena said
this is another sample
GridView.count(
  crossAxisCount: 2,
  padding: EdgeInsets.all(8),
  mainAxisSpacing: 8,
  crossAxisSpacing: 8,
  children: <Widget>[
    AspectRatio(
      aspectRatio: 1,
      child: Container(
        color: Colors.red,
      ),
    ),
    AspectRatio(
      aspectRatio: 1,
      child: Container(
        color: Colors.red,
      ),
    ),
  ],
),

in LTR mode :

in RTL mode :

I can reproduce this bug. I'll take a look at the proposed fix.

To clarify: I am talking about the bug shown in post https://github.com/flutter/flutter/issues/27151#issuecomment-461650473 and I think we should make this issue about just that bug.
Looks like in addition to that bug @p30arena is also suggesting to change the behavior of crossAxisSpacing and mainAxisSpacing. I explained in https://github.com/flutter/flutter/pull/27391#issuecomment-463360772 that should be unnecessary because we already have the padding property to affect the padding around the grid. To avoid misunderstandings, we should keep issues on a single topic. Let's make this issue about the RTL bug. @p30arena Please open a separate issue for the crossAxisSpacing/mainAxisSpacing if you still think that is necessary after my explanation on the PR.

@goderbauer
just run this code :
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(primarySwatch: Colors.deepPurple),
      title: "Test",
      home: HomePage(),
      builder: (BuildContext context, Widget child) {
        return new Directionality(
          textDirection: TextDirection.rtl,
          child: new Builder(
            builder: (BuildContext context) {
              return new MediaQuery(
                data: MediaQuery.of(context),
                child: child,
              );
            },
          ),
        );
      },
    );
  }
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Test"),
      ),
      body: GridView.count(
        crossAxisCount: 2,
        padding: EdgeInsets.all(8),
        mainAxisSpacing: 8,
        crossAxisSpacing: 8,
        children: <Widget>[
          AspectRatio(
            aspectRatio: 1,
            child: Container(
              color: Colors.red,
            ),
          ),
          AspectRatio(
            aspectRatio: 1,
            child: Container(
              color: Colors.red,
            ),
          ),
        ],
      ),
    );
  }
}


Add debug functionality please !

Hello,
As far as I can tell I have followed the docs to the letter, but I am consistently getting 5.7.8 Error: authentication failed: which is not true because I have checked, double-checked and triple checked both username and password values and they are 110% correct.
Looking at my mailserver logs, zend-mail does not appear to be sending a username pam_unix(dovecot:auth): check pass; user unknown.
But, as I said, I'm doing everything by the letter of the docs, all the required parameters are passed:

        if (!$this->options = new SmtpOptions ([
            'name'  =>  "foo",
            'host'  =>  "foo",
            'port'  =>  25,
            'connection_class' => "plain",
            'connection_config' => [
                'username' => "foobar",
                'password' => "secretsquirrel",
                'ssl'      => "tls",
                'use_complete_quit' => "false"
        ],
        ])) { return false; }

I am therefore pretty sure that there is a bug of some sort in zend-mail preventing authentication from succeeding.
However, the apparent lack of debug functionality in zend-mail means I am left with little option but to dump zend-mail and use another PHP library instead.

Add debug functionality

What more could you need than the underlying layer's exception? The fact that you didn't provide a stack trace rather shows that you are unfamiliar with exception handling.

How about being able to see what exactly zend-mail is sending to my server.  You know, giving me the ability to debug.
It shows I am familiar with try{catch}.   Your stacktrace was pretty unhelpful, but if you want it, here it is:

PHP Fatal error:  Uncaught Zend\Mail\Protocol\Exception\RuntimeException: 5.7.8 Error: authentication failed:
in /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Protocol/AbstractProtocol.php:350
Stack trace:
#0 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Protocol/Smtp/Auth/Plain.php(78): Zend\Mail\Protocol\AbstractProtocol->_expect(Array)
#1 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Protocol/Smtp.php(223): Zend\Mail\Protocol\Smtp\Auth\Plain->auth()
#2 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Transport/Smtp.php(377): Zend\Mail\Protocol\Smtp->helo('my.example')
#3 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Transport/Smtp.php(362): Zend\Mail\Transport\Smtp->connect()
#4 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Transport/Smtp.php(373): Zend\Mail\Transport\Smtp->lazyLoadConnection()
#5 /usr/share/nginx/api/public/portia/lib/vendor/zendfram in /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Protocol/AbstractProtocol.php on line 350
Fatal error: Uncaught Zend\Mail\Protocol\Exception\RuntimeException: 5.7.8 Error: authentication failed:
in /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Protocol/AbstractProtocol.php:350
Stack trace:
#0 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Protocol/Smtp/Auth/Plain.php(78): Zend\Mail\Protocol\AbstractProtocol->_expect(Array)
#1 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Protocol/Smtp.php(223): Zend\Mail\Protocol\Smtp\Auth\Plain->auth()
#2 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Transport/Smtp.php(377): Zend\Mail\Protocol\Smtp->helo('my.example')
#3 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Transport/Smtp.php(362): Zend\Mail\Transport\Smtp->connect()
#4 /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Transport/Smtp.php(373): Zend\Mail\Transport\Smtp->lazyLoadConnection()
#5 /usr/share/nginx/api/public/portia/lib/vendor/zendfram in /usr/share/nginx/api/public/portia/lib/vendor/zendframework/zend-mail/src/Protocol/AbstractProtocol.php on line 350

Your stacktrace was pretty unhelpful, but if you want it, here it is:

Given your stack trace, all you need is placing break points around these statements:
https://github.com/zendframework/zend-mail/blob/0e65a935bf9965f1f1215d626bf0d945d0264169/src/Protocol/Smtp/Auth/Plain.php#L75-L78
That will give you all the info you need.
Putting the sent information in the exception is not viable, as that would lead consumers in outer layers (for example, loggers) to read that information, and therefore collect sensitive information (this is authentication, after all). If we did that, that would be a security issue.

(1) Why should I have to go hacking away in other people's libraries just to trobuleshoot and debug.  It is POOR design.
  As I said.  The word is DEBUG.   $debug=true="all data shown, warts and all"   $debug=false="only basics, don't show sensitive stuff".  You can tailor your exceptions and stack traces accordingly.
Sheesh.   Just as well I'm not a commercial customer of Zend !  What poor software design.

(1) Why should I have to go hacking away in other people's libraries just to trobuleshoot and debug. It is POOR design.

There is no hacking involved at all: this is what you do with a breakpoint. The library is throwing an exception as expected.

Security is the FIRST thing to keep in mind when designing software: everything else comes after that.

As I said.  The word is DEBUG.   $debug=true="all data shown, warts and all"   $debug=false="only basics, don't show sensitive stuff".  You can tailor your exceptions and stack traces accordingly.

This is something that I've never seen on any library/adapter that involves sending sensitive information to clients. If you need a logger, then inject one at __construct in the Smtp constructor. This would need a patch that you can gladly send.
As I suggested, the DEBUG you should do is placing a breakpoint in the affected lines (which I identified for you above).

Sheesh. Just as well I'm not a commercial customer of Zend !

This is not a commercial project, but a community project: you are talking to a volunteer that is gladly going to ignore your next non-constructive complaint. You are not my customer, you are just an internet rando that is asking for help, getting some help from myself (other internet rando) and then telling the person that is helping that "You're just not listening are you.".

What poor software design.

You are talking about ~10 year old stable software that works just fine.
Given the comments above, I am hereby:

closing the issue
suggesting that you debug the issue as described above
inviting you to send a patch to Zend\Mail\Protocol\Smtp.php to allow usage of a PSR-3 logger (although it's not needed and likely to be rejected, in my opinion).

@udf2457 Just my mustard :smirk:

Don't be rude, this is a community.
Settings breakpoints is a better solution, than a debug log. Even with a debug log you may have to debug through..
Your dovecot log is not enough. usually there are further lines, with ruser, so you would see the user. user unknown doesn't mean Zend Mail would not supply a username. It means the user could not be found in your user authentication db (pam this case).
Are you sure your dovecot server accepts PLAIN auth and doesn't require CRAM/DIGEST auth?
After that, check your authentication config of dovecot

And finally, if you would have debugged that line as directed instead of ranting around, you would have saved time, seen that username/pw is supplied (I'm 99% sure on that) and thus have known you need to look into dovecot or modify your config.

Again, why should I waste my time hacking away at other people's libraries.  I've got enough code of my own to write and maintain.  Plus what happens when you roll out a new version of your library ? Oh yeah, that's right, I've got to waste my time re-hacking all the debug stuff to suit your new version.  No thanks.
Also spare me trying to blame my setup.  As I said at the start, I have triple checked everything AND it works perfectly well on any of the non-Zend mail libraries.  So its nothing to do with my system, thank you very much.

Again, why should I waste my time hacking away at other people's libraries.

Why would we waste time helping you then? :-P

what happens when you roll out a new version of your library ? Oh yeah, that's right, I've got to waste my time re-hacking all the debug stuff I've custom-coded to suit your new version. No thanks.

I said "debugger": no code to be changed. I would never suggest editing vendor code, nor hotfixing it.
See https://www.sitepoint.com/debugging-and-profiling-php-with-xdebug/ for further pointers on what the suggested approach is (it will be helpful with other issues/tools too).

Setting a breakpoint is not hacking another people's library. It's setting a breakpoint in your IDE to look into the content of the variables sent and to verify your config is right. If this is sent to dovecot, it's your setup to blame. Sorry, that's a fact. A quick googling for your auth.log message primary shows all config errors.
Multiple considerations:

Dovecot doesn't accept PLAIN auth. You either have it restricted to LOGIN or CRAMMD5
With STARTTLS dovecot looks somewhere else (would feel crazy) or doesn't allow auth
Your auth configuration has a failure with plain auth (maybe errors in the SQL string...)

Look into your dovecot.log and provide it, otherwise you are not eligible to blame the project!

I would never suggest editing vendor code

A bit rich coming from the very person who pointed me vendor source code, gave me line numbers and told me to hack my own debug !

As said user unknown !== no user sent. user unknown === the provided user is not found in your user db!

A bit rich coming from the very person who pointed me vendor source code, gave me line numbers and told me to hack my own debug !

No, he said you should add a breakpoint here and see with xdebug which values you get there. That's not editing vendor code!

As said user unknown !== no user sent. user unknown === the provided user is not found in your user db!

And as I said.  The user DOES exist.  The username/password WORKS PERFECTLY WELL with non Zend libraries.
Please.  Stop trying to pass the buck.  The issue is with Zend.

As long as you don't show your full auth.log and mail.log/dovecot.log during the execution of your script, you're not eligible to blame Zend Mail. Show it and we can help further.
Otherwise I would recommend @Ocramius to close comments ^^

Good site tip: Post your problem on StackOverflow, but take care to read https://stackoverflow.com/help/how-to-ask first. Btw the "How to ask a good question?" also applies to GitHub issues if you want to get fast and good answers here.

You're not interested in helping.  Its quite apparent.  As I said, I'm now using a different PHP libary with the same username/password, and it works perfectly.     You can figure out your own bugs.

I'm interested in helping, but we can only help if you provide the full logs and debug that line with xdebug to verify that the configured values are the one you configured.
Another possibility: You're setting the SMTP options on a different instance than you're using to send.

Another possibility: You're setting the SMTP options on a different instance than you're using to send.

That's a lame excuse and you know it.

I'm done with this thread.

Locking this: @patkar was trying to help and @udf2457 is obviously being abusive here. There's no need to help further, as all the necessary support was already given.


[Scheduled Maintenance] Site down for Maintenance

Additional context
Who/what/when/where/why is this maintenance happening

bt coming over to replace my router

wasn't sorted yesterday, trying again today

should be back up for good now, letting this expire on its own incase any issues pop up


PerformanceMonitor 95,99th percentile stats contain significant Error windows

The performance monitor as it stands takes a sampled quantile from the total number of observed samples enabling the system to not have to store ALL the available samples but a much smaller number. This can potentially be inaccurate.

Ok - pull request up to possibly address this


Component not re-rendered when changing url param

Salut,
thank you very much for this 👍
I'm starting to set up an application and I've noticed a problem, not sure if this a mistake I made or a bug.
These are my routes
export default [
  { name: 'home', path: '/' },
  { name: 'login', path: '/login'},
  { name: 'index', path: '/index/:id'},
];

I've followed the example and my Main component is something like:
const components = {
    'home':   Home,
    'index':  Index,
    'login':  Login,
};

class Main extends React.Component {
  render(){
    const { route } = this.props;
    const segment = route.name.split('.')[0];
    return createElement(components[segment]);
  }
}
export default routeNode('')(Main);

Then all my components are exported wrapping them with routeNode HOC.
I'm using the loggerPlugin.
So if I navigate from any route to /index/1 everything is ok and I can see the correct log in the console. If from there I go to /index/2 then the logger says correctly
Transition started from state
Object {name: "index", params: Object, path: "/index/1", meta: Object}
To state
Object {name: "index", params: Object, path: "/index/2", meta: Object}
Transition success

but the render method of my Index component is not called. From here changing any id pram in my index route will not call the render anymore.
I've set the router option to be strictQueryParams: true but nothing change.
Am I missing something?

I am new to React but I would say the problem comes from here. Inside the routeNode HOC render method:
render() {
    const { props, router } = this;
    const { previousRoute, route } = this.state;
    const component = createElement(
        RouteSegment,
        {...props, router, previousRoute, route }
    );

    return component;
}

This always tries to create a New component. But in this case it is the same component that existed previously so probably the internal react algo for virtualdom comparison says that this component already exists and there is no need to re-create it. Indeed we should not re-create it but call again its render method because only its props are supposed to be changed.
Or maybe this is the problem, meaning that in my case I'm not passing any props, so actually nothing changed apart the router injected props via context.
@troch any tough on this or am I saying stupid things? :laughing:

@LeonardoGentile sorry I had missed that notification somehow. There are a few things you can do:

Try passing the route parameter id as a prop
If you need your component to be fully unmounted and remounted, you can use key (which a React special prop for identifying components from render to render). In you case, you can have key set to your route parameter id. More generically, you can use the route object id which is in route.meta.id: it is new with v4.5.1 and is an ID which incremented for any new route state emitted by the router.

I recommend passing route parameters as props and adding a key to components (especially if you ever use reload option of router.navigate).
class Main extends React.Component {
  render(){
    const { route } = this.props;
    const segment = route.name.split('.')[0];

    return createElement(
        components[segment],
        {
            key: route.meta.id,
            ...route.params
        }
    );
  }
}
export default routeNode('')(Main);

@troch thank you for your time 👍
At this point it's not clear to me how the react createElement works, if I've understood:

if the element already exists and its props hasn't changed it just returns its reference?
if we change the passed props then the element will be re-rendered ?
if we pass a (changing) special key prop then there will be a full unmount/mount ?

I couldn't find clear docs about this. I guess this is because most of the times react example just use jsx that internally will call createElement, isn't it?
Anyway, back to your solution, it kind of work.

If I pass both {key: route.meta.id, ...route.params} then there will be a full unmount/mount and things work as expected
If I just pass {...route.params} then the render method is indeed called again BUT props.route is not up-to-date. It shows the old route with the old param.

I would like to use the 2nd solution to avoid to have a full re-render all the time but there is something still not working.
Anyway, considering this is a common case, I guess this should be added to the doc somewhere?

Did you use the examples as a starting base?

yes, of course now it's a bit more complex than that.
Digging down I can see that the nodeListener handler is called for the Main component but NOT for its children so the function setState is never called for them when I only pass {...route.params} (for triggering a re-render but not a full unmont/mount)
 componentDidMount() {
    ifNot(
        this.router.hasPlugin('LISTENERS_PLUGIN'),
        '[react-router5][routeNode] missing listeners plugin'
    );

    // This is called only for the Main component, NOT for its children components
    this.nodeListener = (toState, fromState) => this.setState({ previousRoute: fromState, route: toState });

    this.router.addNodeListener(nodeName, this.nodeListener);
}

If you are using examples, the problem comes from a dev dependency which was never updated: router5.transition-path. It should be ^4.0.0 and not ^3.0.0. You probably don't need to have this dependency (it's used in one of the cycle.js example), but by having it it caused router5 to not properly resolve one of its internal dependency.

I see, but I copy pasted the relevant parts on my separate project so I am not importing directly  router5.transition-path and using these:
"react-router5": "^4.0.1",
"router5": "^4.5.1"

The React example had a bug (I just fixed it), similar to if not exaclty what you described. Can you log the following?
npm ls router5.transition-path

└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>

Digging down I can see that the nodeListener handler is called for the Main component but NOT for its children (I'm still talking about the /index/:id example when id changes from 1 -> 2)

index is a top route, so going from index(id: 1) to index(id: 2) will only reload routeNote('')(Component). Do you have your code available somewhere? Seeing the whole lot will help me see the issue.

if the element already exists and its props hasn't changed it just returns its reference?

When it renders, it renders no matter the props, unless you tell React not to with shouldComponentUpdate. withRouteNode causes the re-render

Hello,
I've cleaned up a bit my really horrible dirty example, you can find it here: https://github.com/LeonardoGentile/react-mobx-router5-example
Just npm install then npm start.
If you manually (from the link box) navigate to /index/1 then to /index/2 you will see the problem I have described above. Indeed when the index page is accessed with a different id at least once it an object will be added to the store and printed to the page (using mobx stores and actions). So accessing it with id=1 then id=2 should print 2 objects. This does not happens.
The problem goes away if you navigate from anywhere to /index/1 the somewhere else, like home or login then to /index/2
Let me know if you have any trouble testing it or if something is not clear

Thanks for this, I've cloned it and ran it. I need a bit more time to investigate it, will come back to you as soon as I can.

So I think I found the issue in your code. It is in Index.jsx: you use routeNode('index')(Index); which injects route prop to your component but never re-renders since index doesn't have any child routes (and therefore cannot be a re-rendering node): as a result, the route used is the route when Index is mounted for the first time. That also explains why using key works..

Oh I see, it's because it is associated with a node that doesn't have any sub-branches so it will never be a transition node. Well you are right, but I would say this is a common use case (to navigate to the same path but with different params) so I would consider the node itself a transition node. Isn't it?
IMHO it should exists a config option that when set would tell router5 to consider a node as a transition node when we  transition to it, from it.
Wouldn't it be logic?

I would say this is a common use case (to navigate to the same path but with different params)

It is super common indeed :). But it is the parent node which needs to be re-rendered (the node outputting your <Index /> component): in your case you only need routeNode(''). That's how the router works, how it treats route segments and nodes. For instance consider the following: your index route is protected with a canActivate method, based on its param id. When you go from id=1 to id=2, you still want canActivate to be called: you deactivate the current node (id=1) and activate a new one (id=2), the parent node being the transition node.

Oh, I see, it took me a while to understand it.
I've removed routeNode from index and it worked.
Maybe an highlight on the doc would save another headache 😄
Thanks 👍


hot_mode_dev_cycle_macos_target__benchmark fails on ARM M1 mac

hot_mode_dev_cycle_macos_target__benchmark is still failing on arm Macs flutter-devicelab-mac-4 and flutter-devicelab-mac-5, though it's passing locally for me.
There's still something off about that CI environment?
https://luci-milo.appspot.com/p/flutter/builders/prod/Mac_ios_staging hot_mode_dev_cycle_macos_target__benchmark/637
[hot_mode_dev_cycle_macos_target__benchmark] [STDOUT] stderr: [+1023 ms] Error waiting for a debug connection: The log reader stopped unexpectedly.
[hot_mode_dev_cycle_macos_target__benchmark] [STDOUT] stderr: [   +2 ms] Error launching application on macOS.
[hot_mode_dev_cycle_macos_target__benchmark] [STDOUT] stdout: [   +2 ms] "flutter run" took 52,330ms.

@keyonghan are there any Runner*.crash files in ~/Library/Logs/DiagnosticReports for that user` with a timestamp matching up to a failing test?

are there any Runner*.crash files

Or flutter_gallery*.crash or Flutter Gallery*.crash files

These are the crash list in mac5, but no mentioned ones:
mac5_crash.txt

@jmagman any other logs that we can collect to help find the root cause?

Since I couldn't reproduce on my machine, maybe it's something with the Xcode certs?
Is there any way I can get a sudo sysdiagnose -Q (the -Q is optional, but so it doesn't take so long to run)?  I'm looking for logging related to the sandbox or security.

Using sudo gem install cocoapods makes it work locally however it still fails to run remotely.

I collected them from a VNC session. Do you want me to collect another one over an ssh session?

Yes, that would be more accurate.  I suspect the lack of windowserver is the problem.
If the user is logged in vnc, and then you start an ssh session with the same user, do the tests pass?

It fails consistently for me when running from the ssh terminal. Did you by any chance run it from a terminal inside the vnc session?

Do we also need to remove the defaults from https://github.com/flutter/flutter/blob/be8d29ffc639d22db81dc7ceadcf4b1423613452/dev/devicelab/lib/framework/ios.dart#L146
I removed the ios_signing dependency but the tests are still failing:

https://chromium-swarm.appspot.com/task?id=56b28883434a0c10
https://chromium-swarm.appspot.com/task?id=56b28842c90c7110

Thanks @godofredoc!


Add prefix to 'type' attributes

Needed due to change in the python-openflow lib

@renanrodrigo is this related to a specific issue (even on python-openflow)?

Yes. How can I refer to an issue in other repo?

kytos/<repo>#<issueNumber>


CI fails on testing binary

Tests for binary have failed:
{
  "version": 1,
  "status": "fail",
  "message": "make: *** [Makefile:20: test] Error 1"
}

@ErikSchierboom, the example solution passes locally with the test runner image, and the CI uses that image as well. I think the problem is that although binary is the slug name, the exercise uses binary-string in a few places. So if we rename those to binary, the CI should pass hopefully.
The only thing I don't get is that this should have come up when I first added the test CI. As recently as two weeks, the CI was working just fine in https://github.com/exercism/lfe/actions/runs/8248260729/job/22558192657.

The only thing I don't get is that this should have come up when I first added the test CI.

That is very odd. I don't see anything wrong with the CI script 🤔

The CI seems to pass without anything being changed to binary so this may just  be an intermittent issue to look out for.


Make the eval result table scrollable

Is your feature request related to a problem? Please describe.
When there are a large number of results for multiple prompts, scrolling down past the header makes it difficult to tell which prompt a result belongs to.
When there are a number of different prompts being evaluated (7+) the resulting vars and results are squished.
Describe the solution you'd like
Don't specify fixed widths.
Make the top header sticky (position: sticky) to fix it when scrolling down the page.
Make the left header sticky to fix it when scrolling down the page.
Describe alternatives you've considered
N/A
Additional context
N/A

Done in latest version!


🚀 request help: add cloudformation doc

Request description
Add documentation for starting a ShardingSphere-Proxy cluster on AWS using cloudformation
Environment

your ShardingSphere-Operator Version
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version

please assign this to me


Downgrade required Java to version 11.

What does this PR do?
Fixes #7 by changing build time Java version requirement from 12 to 11.
Motivation
Using Java 11
Additional Notes
The code itself seems to work under Java 9 and later (though its technically EOL), however it was unclear if there were future constraints requiring a specific Java version.

Thanks for this.
As you mention, from what I saw when checking, Java 8 (the previous LTS version) would require some small code changes.


Cake.Powershell possibly broken under Dotnet 6

assembly 'Cake.Powershell, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'

is referencing an older version of Cake.Core (1.0.0).

For best compatibility it should target Cake.Core version 2.0.0.

Could not load D:\jenkins\workspace\Pushpay_Pushpay_PR-26486\tools\Addins\Cake.Powershell.1.0.1\lib\net5.0\Cake.Powershell.dll (missing System.Management.Automation, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35)

powershell.exe : D:/jenkins/workspace/Pushpay_Pushpay_PR-26486/build.cake(78,5): error CS0103: The name 'StartPowershellFile' does not exist in the current context

At D:\jenkins\workspace\Pushpay_Pushpay_PR-26486@tmp\durable-625b7f48\powershellWrapper.ps1:3 char:1

I am also running into issues getting this going on a Mac locally. The Mac has Dotnet 6 installed too so my understanding is it will be trying to run under that runtime. My Mac has Powershell installed. I am running the build.ps1 bootstrap script under Powershell on the Mac.
./build.ps1 --target "Frontend Build"
Restore was successful.
Restore was successful.
Error: Failed to install addin 'Cake.Powershell'.

Running the 2.1.0 version of Cakebuild and the 1.01 version of the Cake.Powershell plugin.
The Build agent is running Server 2019 with VS2019 and VS2022 build tools. It will be running dotnet 6 when installing Cake tools and running the build script.
Please let me know if you need other info, I'm happy to provide further logs or answer questions to get this resolved.

The ```
assembly 'Cake.Powershell, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'
is referencing an older version of Cake.Core (1.0.0).
For best compatibility it should target Cake.Core version 2.0.0.
Seems to be a warning more than anything as the Yarn plugin has the same error but works fine.


Why revert to use-dark-mode?

Hi, I recently noticed there is a commit that reverts the next-theme to use-dark-mode.
Just want to ask that is there any reason behind this? It seems that the next-theme needs less code.

See https://github.com/transitive-bullshit/nextjs-notion-starter-kit/issues/281


No release/7.1 branch

It seems that release/7.1 branch is missing, according to this page: https://github.com/dolphinsmalltalk/Dolphin/branches

There was, but when I PR' d it to master to establish a baseline I forgot to uncheck the option to delete the branch: https://github.com/dolphinsmalltalk/Dolphin/pull/1091
Sorry about that. Now restored.


updated the links to LMod web service docs, as suggested by LMod team

Ready for Review: change links to LMod web service docs.  @pdpinch @carsongee

Coverage remained the same at 100.0% when pulling 1e75be07e071b4fef7ff97f1022e0f4b1284a9ae on feature/pw/update_link_to_LMod_service_docs into 7a5f5a88f2f7f70b8a7e2b638c9442ed22149674 on master.

:baby_chick:


Notify volunteer when assigned or unassigned to an intinerary

My first commit for Issue #874. Still "to-do: before this Issue can be closed:

this only notifies on assigning. I have not written anything for notifying unassigned yet
[x] @stevejgordon: I need a code review to make sure the basics needs of the notification are being met
[ ] @tonysurma:I need verbiage for the SMS/Email body and the email subject for both assign and unassign
[ ] I will need to add/write unit tests for newly added code/changed existing code

Looking good @mgmccarthy! The query for the task signup is not returning the expected data on my local test at the moment, but I'm not entirely sure why. I'll need to spend more time with it later. The approach looks good though. Some specific commends added above.

responded to @mgmccarthy on the issue regarding text for email/sms

@dpaquette @mgmccarthy it's all about the questions if you care / need to get to the same context you've started from or not.
MSFT had to make a choice, either make it by default return to the same context (aka .ConfigureAwait(true)) or not (aka .ConfigureAwait(false)). With the first option as the default, the user code that has anything to do with UI can run as-is w/o .ConfigureAwait(true) sprinkled all over the code, but make library developers unhappy. In case the second options would be made the default, library developers would be happy, but UI devs would swear on a daily basis.
That's a bootleg version of the story :wink:

@SeanFeldman thanks for quick lesson on ConfigureAwait(). I'm going to pick your brain about this a little more when I see on you Thursday.

@dpaquette will be happy to answer if can... (don't trust @SeanFeldman`s answers, he can bluff his way through).
This can perhaps help a little with a mixed project like this, where UI and library code are mixed together.  https://github.com/distantcam/ConfigureAwait with some AOP magic can get the pesky ConfigureAwait out of the way.

@tonysurma @MisterJames @stevejgordon @BillWagner
I think Fody looks like the way to go here, especially with our push towards using MediatR handlers. This could greatly simply making sure we're optimizing our async/await calls on non-UI threads.
Also can help, b/c it's very easy to forget to put .ConfigureAwait(false) on all code.

@mgmccarthy I will take lead from the others like you, @stevejgordon @MisterJames @BillWagner @dpaquette on use of the library.  Thanks.

per issue discussion going to merge this while @mgmccarthy continues to work on notifications functionality and @stevejgordon on itinerary items


LPAL-651 Prevent raw 500 page when newly-signed-up user changes email/password

Purpose
Fixes LPAL-651
Approach

Prevent RuntimeError breaking template rendering by instead returning empty data object
Modify cypress scripts so we can sign up multiple users during test suite run
Add test for mismatched password change and mismatched email change

Learning
I didn't get to the bottom of why we were getting a runtime error when trying to get the LPA applications for the current logged-in user. However, I could see it happening. It's generally a bad idea to do this, though: better to return the equivalent of a null object instead of breaking the template with an unexpected exception because an HTTP request failed. Also, shouldn't really be doing HTTP requests from view helpers, but that's another issue.
Checklist

[X] I have performed a self-review of my own code
[X] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[X] I have added tests to prove my work
[ ] I have added mandatory tags to terraformed resources, where possible
[ ] If I added a package.json or composer.json, I also made sure this is included in the script in .github/workflows/dependabot-update.yml
[x] The product team have tested these changes

This can be merged as it has passed UAT.


tests/kernel/threads/no-multithreading: Disable USERSPACE

Building with !MULTITHREADING is designed for bootloaders and similar
minimal-functionality use cases.  It's pathologically silly to combine
it with MMU drivers and address space partitioning, even though on
some architectures that technically works (on ARM, it seems not to).
The test intent was to disable this originally, but it turns out that
doesn't work.  There is a TEST_USERSPACE kconfig symbol that also
needs to be explicitly turned off, otherwise it will reselect
USERSPACE against our wishes.
Signed-off-by: Andy Ross<EMAIL_ADDRESS>

Codecov Report

Merging #9738 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #9738      +/-   ##
==========================================
- Coverage   52.23%   52.23%   -0.01%
==========================================
  Files         212      212
  Lines       25945    25946       +1
  Branches     5591     5591
==========================================
  Hits        13553    13553
- Misses      10158    10159       +1
  Partials     2234     2234

Impacted Files
Coverage Δ

kernel/init.c
73.84% <0%> (-1.16%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1f1307e...6820e7a. Read the comment docs.


Wrong hinge angles reported for imported UR5 arm

[x] I am at the right place and my issue is directly related to ROS#. General technical questions I would post e.g. at ROS Answers or Stack Overflow. For library-specific questions I would look for help in the corresponding library forums.
[x] I have thoroughly read the Contributing Guideline and writing this issue is the right thing to do in my case.

I found a bug!

[x] I am using the latest ROS# version available here on the master branch.

[x] I am adding all required information, code and data files, screenshots and log files so that you can reproduce the problem.

My OS is: Windows 10 and Ubuntu 16.04

My Unity Version is: 2019.4.5f1

My ROS Distribution is: kinetic

My Build Target Platform is: Windows and Linux

Here is my bug description:
After importing the ur5 arm URDF to Unity, the angles reported by the hinge joints (revolute) are wrong. Specifically, multiple hinges will report changing angles even if only one hinge is actually moving. I've checked that the each child link has the correct parent as a connected body, and they do. I've also tried to recreate the bug by creating my own robot arm by loosely following this video, and angles for its hinge joints are reported correctly.
Perform the following steps to reproduce the bug:

Download and build the universal robot package from source by following the instructions on this page. Obviously also include the ros-sharp file_server package in your catkin workspace.
Launch the rosbridge, and add the robot_description and robot/name to the parameter server.

$ roslaunch file_server ros_sharp_communication.launch
$ roslaunch ur_description ur5_upload.launch transmission_hw_interface:=hardware_interface/EffortJointInterface
$ rosparam set /robot/name ur5

Import the URDF to Unity from ROS using Microsoft serializer and web socket sharp protocol.
Enable convex for the ur5 robot, and make the base_link rigidbody kinematic. Also disable use gravity.
Check Use Spring in the hinge joints for upper_arm_link down to wrist_3_link, and give a spring constant of 10 and damping of 5 to each.
Enable Use Motor for the shoulder_link and set target velocity to -10 and force to 200.

Observed results:
If you check the the Actual Angle reported by the Hinge Joint Limits Manager component of the shoulder_link, you'll see that the angle is changing in magnitude which is expected. However if you look at upper_arm_link or wrist_1_link, these angles are also changing even though they don't appear to be moving. To be clear, I am not referring to small angle changes due to the arm wiggling as it moves. I am observing the angles moving smoothly to -180 deg. and back to 0 again. This leads to incorrect joint states being observed by ROS and the UR5 not being displayed correctly in Rviz.
Expected results:
Because each link has its parent link as the Connected Body in its Hinge Joint, the only hinge that should be observing a meaningful angle change is the shoulder_link.
I'm not 100% certain this issue is because of ros-sharp, but I'm really stumped as to why this is happening or how to fix it? I'd like to avoid manually calculating hinge angles if possible.

Interestingly, I've come across this post on the Unity forums which seems to indicate it is actually a Unity problem. Somehow the angle property of the hinge joint is not necessarily the angle between the two connected bodies...
I think it would be best to leave this issue open for now since it does affect the usability of ros-sharp. Even though I would think it's a Unity issue, the fact that this is still how hinge angles work makes me feel like maybe Unity doesn't consider it a bug? For right now I'll just calculate angles myself, but I'd be interested to hear alternative solutions or what actions if any should be taken to address this :)

Thank you @MartinBischoff for your comment. I have gone and posted an example of this issue separate from ROS# here. I've also submitted a bug report, so hopefully this issue will finally be fixed. I have been thinking about adding damping manually as well since the angle issue seems to result in unrealistic torques being applied through the damping included in the hinge joint. I'd like to think that shouldn't cause problems, but there's the other issue of the hinge joint limits being affected which makes my head spin (pun not intended).
Also thank you for your code. I did go and calculate the angle myself, and it seems I did it similarly to yours which is good to know, although mine is less compact.


ci compliance failures due to intel_adsp_cavs25 sample

samples/audio/sof/boards/intel_adsp_cavs25.conf references a bunch of Kconfig symbols that are out-of-tree, resulting in CI failures as with https://github.com/zephyrproject-rtos/zephyr/pull/28977/checks?check_run_id=1704198353

This went away when I rebased my branch on current master in https://github.com/zephyrproject-rtos/zephyr/pull/28977/checks?check_run_id=1704273529  so these Kconfig variables must be defined in an external module; but this suggests the compliance tests aren't properly setting up the environment for what the PR looks like when rebased on master.

This went away when I rebased my branch on current master in https://github.com/zephyrproject-rtos/zephyr/pull/28977/checks?check_run_id=1704273529  so these Kconfig variables must be defined in an external module; but this suggests the compliance tests aren't properly setting up the environment for what the PR looks like when rebased on master.

compliance tests were not setting up west and modules, now they are, any PRs that were submitted prior to that change will fail with the above, so those PRs will need to be rebased.

compliance tests were not setting up west and modules, now they are, any PRs that were submitted prior to that change will fail with the above, so those PRs will need to be rebased.

Aren't all the compliance tests including CI done on the branch after it's been rebased on current master?  If not, it's not giving us a correct view of what will happen if it's merged.

Aren't all the compliance tests including CI done on the branch after it's been rebased on current master?  If not, it's not giving us a correct view of what will happen if it's merged.


Added Troubleshooting section

With help/information

We should point people at https://companion.home-assistant.io/ instead.

@ballob good idea, but how do we "seperate" the ios and android app there?
Everything is build up there on the ios app at the moment, so maybe:

https://companion.home-assistant.io/ landing page with redirect to 2 links (ios and android)
https://companion.home-assistant.io/ios the existing is renamed to ios
https://companion.home-assistant.io/android new page build on same frame as ios

Or what do you think?

I noticed that some of the instructions on the companion site like around removing config entry and entities are helpful for Android as well.  Its probably time we review that site and find a way to split things up? Maybe make the pages more generalized and have ios and android sections at the bottom of each page for OS specific things?

@dshokouhi I agree, some stuff is relevant for both Android and ios. The current instructions is very specific ios, and I fear if we don't make two seperate instructions people will be confused and alot off issue/support tickets will come, if we just put android instructions in the same place also.

Tom Brien and I discussed this briefly when we were writing all the docs for the companion site. Here is what I wrote back in May. https://github.com/home-assistant/companion.home-assistant/issues/67#issuecomment-491198726

Another benefit I am noticing just now about this structure, is that it's mostly platform agnostic except for the Integrations section. So theoretically, when the Android app becomes a thing it could possibly share these same docs, and we would simply segment the Integrations section into sub-sections (Integrations/iOS and Integrations/Android).

I think that by sharing the same docs it'll make them better for everyone as the entire community would be contributing to one document. More eyeballs reading over it, improving it and making it easy to understand. One easy to remember URL to point users to. Avoids issues where only one of the docs gets updated and not the other.
This would require some work to generalize the existing pages. And then for the really platform-specific stuff, that would be handled like this:
/integrations/ios/
/integrations/android/
So there would be an "Integrations" landing page that asks what platform you use, the user clicks the Android logo or the iOS logo and then it takes you to one of the above links.
I don't know if this idea is feasible in the end, or what everyone would prefer though.

@seanpm5 I think it should be handled with a choice of are you using android og ios, and then to a underpage specific for each integration.
I feel android is more complicated than ios due to almost every big manufactur make adjustments to the way they handle Android, and therefor trying to help people avoid problems is harder in my opinion 🙏

Thanks for chiming in @SeanPM5.
Since both apps are using mobile_app integration, and we're aiming for feature parity for configuration, I think that a lot of trouble shooting can be shared.

Let's continue the larger conversation about splitting up docs for Android & iOS at https://github.com/home-assistant/companion.home-assistant/issues/137.
As for this PR, I think we should just have a link to the companion docs if anything in troubleshooting.

Awaiting decision on how to approach this, so for now closing this PR 🙏


Apps awarded that do not show active product development.

What is the problem you are seeing? Please describe.
The system rewards apps that do not show active product development.
How is this problem misaligned with goals of app mining?
This discourage other app publishers to produce high quality apps
What is the explicit recommendation you’re looking to propose?
Add a reviewer that rate apps by its progress in the product development
App publisher taking part in the app mining program need to provide a monthly report about the product development. The incorrect reports can be flagged by the community.
Failure to produce a the report results in disqualification.
Additional context
see also #63

Example:

cineflick still runs on heroku domain (ranked 25)
lioapp does not use https (ranked 44)

We are afraid that at the end of the day it will be converted to a social media effort rather than development effort.
On March result, there is an App from the top Five don't use Blockcstack infrastructure ( check the dray-run sheet to see that if this review applied, this app will go 10 positions down).
But what moved him to top 5 is only the total upvotes numbers from PH... That's it
So, it is in somehow could be considered as a hidden message to App miners to focus on marketing issues rather than the development part

@blockcred That is why the new app reviewer was added. Zinc will slowly move downwards

@friedger In a mathematical way, the 4 reviewers should be weighted, the higher weight should go to the development effort

The same app creator is part of another app in the top 10 that has no development, no twitter activity, no nothing since January that has now climbed to 7th place (Jan - 15th, Feb - 20th, Mar - 7th). All based on marketing with a good ph campaign when they launched, decent trymyui ratings that they attained recently and no negative votes from de.
Also, besides the app that @blockcred mentioned there is another app in the top 10 that is nothing more than a landing page at this stage.

Hey, would you mind if I asked to use the names of the apps here? I understand not wanting to throw apps under the bus here, and I appreciate that. But using vague descriptions makes it harder to know exactly what you mean.
Also, thanks @jackveiga @friedger @blockcred for getting involved on Github, we definitely appreciate that.
My only problem with judging based on 'product development' is that it is subjective. We don't have open source as a requirement, and even if we did, is lines of code the best metric for product development? I don't think it is. We could require all apps to submit their 'product development' over the month, but who judges that? It would end up being subjective if someone from Blockstack PBC used their judgement to entirely withhold an app from an app mining cohort. It could be a new app reviewer, which could punish apps, but it wouldn't guarantee that they don't still place well.
I also feel that product development, in terms of simply adding new features, is not always a sign of good progress. If it was, you'd have to just tweak your app for the mere fact of tweaking it, which could actually be a bad thing. What if you feel that the best thing to do is increase your audience through marketing, because you've found that your product is working fine right now? I think that's valid, personally.

Thanks @hstove
According to the app I talked about, it is Gladys ( No. 4 March 2019)
I think that the philosophy behind the App mining program is to reward the Apps according to the development efforts and progress, I don't believe that any App after launching and getting customers is good to be listed in the program, simply, because it will be a not fair competition, the rich will be richer. But what I believe is, after being launched, the App should be moved to another program that supports the running Apps. putting all Apps in one pool will always cause a problem.
The released Apps is ready for marketing activities rather than Apps still in MVP or Alfa version.
Also, in the mathematical formulas that are using to calculate the final scores, the previous scores are playing a great factor, this will upset the newcomers. and I suggest to RESET the results every new cycle. when you try this methodology, you will be surprised by the results.
What we have now ... Number one will be always number one even if he affected a little bit negatively in one month by any reviewer because the historical record will play as a guard for the final results.
Finally, what everyone looking for are transparency and equality. If I am a newcomer, I need to be sure that by my efforts, I can be from the
top 3 or even the first one, why not.
Thanks a lot

@hstove the apps that I was referring to were 1) Encrypt My Photos ranked 7th in March, and 2) BlockVault ranked 8th in March
Understand your points, plus you can also easily argue that one can game the development by creating a lot of fake activity but it doesn't mean that its actually doing anything to add value to the app. I think that a peer system review #63 could potentially work better and help solve this problem of inactivity and gaming the system.  This should be factored in.
I don't feel that we have yet reached a point where we have solid apps that should focus on marketing more than their development since the app mining program barely started. I think at this stage since the program is quite recent, growing your audience vs product development is still equally important, and my reasoning will be explained in the next paragraph. This will change when the program matures and we reach a stage that apps are more of a finish mature product and usage metrics can be factored in the rankings, letting users vote with their time/usage.
A lot of these apps that were mentioned promised more than they offered at this current time (like most of the apps, and not saying this is an issue is just to explain my rationale). Apps get voted on channels like PH and DE based on these promises and their ideal potential (no one has yet launched a fully finished app, which might change as the program matures). Still, some apps (like the ones mentioned) end up idling for +60 days both in regards to development and engagement with their audiences (look at their twitters) and this is not reflected in their rankings. They did a fantastic job promoting themselves at first by promising X and Y offering on Z which allowed them to get a good kick start after putting in a couple of hours work launching a website and/or basic MPV app with the ID and/or Gaia working (no problem until here), and then they stop but continue to get rewarded in the following months.
My perception as an outsider looking at the ranking is that both Encrypt My Photos and Recall (since we both compete in the same category) have the same level of offering, audience, installations, and engagement when that is far from the truth, however, we are now both equally being rewarded closely the same (we are in 6th place).
Thank you for the quick feedback.

Hey! Founder of Gladys here.
I wanted to answer the few critics wrote here about Gladys rank in app mining challenge.
To give you a little bit more context about Gladys, I started this open-source project in 2013 (almost 6 years ago!).
It went slowly from being a side-project (It started in my student room) to my job, as last year I decided to quit my engineering job to focus on Gladys and work more on this open-source software. So I’m now a solo-dev working on this open-source software as my day job :)
In November 2018, I was contacted by @GinaAbrams, had her on the phone and she suggested that it could be great to allow Gladys users to save their home automation setup in Gaia storage, and therefore to integrate Blockstack login in Gladys. The integration made sense, because Gladys has always been a privacy-first software, and allowing my users to save their home automation setup securely was a great feature.
So I implemented the Blockstack login + Gaia storage and released it before December app mining month.
I think it's a win-win for both of us, as we both have different tech communities. Most of my users didn't know about Blockstack before.
Currently I’m working at full speed on Gladys 4, the next major version of Gladys. This is a huge release, and I’m working on it on a separate repo because it’s a whole different project structure ( https://github.com/GladysAssistant/gladys-4-playground ) this is why there are less commits on Gladys main repo.
You can go to my Twitter account, I’m almost live tweeting the development everyday…. ^^ So no, Gladys is definitely not an inactive project! See my Github contributions on Gladys on the past 2 months =>

As you may have noticed, I’m unfortunately never on Blockstack monthly developer call as I’m living in Asia and calls always happens during the night for me :/
Still, I’m discussing with Blockstack team regularly and try to be active on this GitHub repo when I can.
@blockcred The dry run sheet may have a problem about Gladys, as I said I implemented login + Gaia. I contacted @GinaAbrams to have more informations on that.
To give my opinion on the points listed here:
Trying to guess the activity of a project just by looking at commits on one repo might not be a good idea. People will game the system by committing more and more on master (bad dev practice), will avoid making branch + squash git flow, and we’ll end up with bloated repositories. It doesn’t promote long term work and clean dev flow. And I’m even not talking about committing automatically with bots.
Then, has @hstove noted, judging product development by feature added or public development activity is maybe not a good way of judging a product.
Developing a software is not just about code.
Lots of time is spent talking to users, gathering feedbacks, writing content, sending newsletters, and I’m not even talking about the business side: accounting stuff, taxes, banking, legal and many other boring stuff :p
You can add on top of that user management + handling employees/contractors.
I think Blockstack wants apps who stays in the long run, generate revenues and create larger users communities.
But I completely agree that it’s not easy to find objective metrics to evaluate this kind of projects.

@Pierre-Gilles Thanks for your inside. Please do not take it personally. I am trying to discuss the algorithms. I am happy if we come to a conclusion that the algorithm should not care about progress of any apps. Do you think the module will evolve? For OI ConvertCSV I am more or less done with features, there is little that can be added if it is about backup and restore.
What do you think about monthly reporting about status updates? Maybe just posting two lines about what was done last month and what is planned in the clone of vote.blockstack.org?

Devils advocate here is that I can make zero changes to my app and still improve by getting better at emailing new users/customers and helping them onboard. This could increase Awario, PH, and potentially investor score. I don't think we should get into the business of demanding app developers perform certain behaviors—only that they create certain results.
However, I wonder if:

provide a monthly report about the product development.
Would be helpful to the app mining process in general?

Proposing we close this since I believe we shouldn't police app developers behavior.

I agree with @jeffdomke that we should be rewarding results and not behaviours so maybe this is not the best solution. I still think that a measure like #63 is important at this stage because as shown by some examples posted in this thread it is possible to cheat your way to the top with good clever marketing. If there is nothing that dissuades this behaviour, by having a mechanism in the vote that can judge apps that are not actually delivering month after month on what they are promising plus selling on their marketing campaigns I'm afraid that this will just encourage more developers, especially newcomers, to shift almost entirely to marketing to maximise their odds of reaching the top 10.

This issue is about product development in general , not only code.
I understand that the app mining criteria do not specify that the app
should improve. IMHO, this needs to be fixed.
Once an app does not improve anymore, no rewards should be given. The best
apps should be apps that still improve (update libraries, security patches,
raises awareness,..)
On Fri, 22 Mar 2019, 03:12 Jack Veiga<EMAIL_ADDRESS>wrote:

I agree with @jeffdomke https://github.com/jeffdomke that we should be
rewarding results and not behaviours so maybe this is not the best
solution. I still think that a measure like #63
https://github.com/blockstack/app-mining/issues/63 is important at this
stage because as shown by some examples posted in this thread it is
possible to cheat your way to the top with good clever marketing. If there
is nothing that dissuades this behaviour, by having a mechanism in the vote
that can judge apps that are not actually delivering month after month on
what they are promising plus selling on their marketing campaigns I'm
afraid that this will just encourage more developers, especially newcomers,
to shift almost entirely to marketing to maximise their odds of reaching
the top 10.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/blockstack/app-mining/issues/64#issuecomment-475469333,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABYcWS5r9TICCI_Vh2E29CwEXMHIlpCsks5vZDvvgaJpZM4b-vVQ
.

Once an app does not improve anymore, no rewards should be given. The best
apps should be apps that still improve

@friedger I agree in principle, but I can't see a practical and fair way to measure this?

@jeffdomke At least require

to use the latest version of blockstack.js (once we require to be open source ;-) )
to post a status update on a public page  and then provide the link to that post on DE or somewhere

If that is not given then no payout is made. This would also handle the case when an app publisher died, lost interest, etc.

IMO, not a great idea for a multitude of reasons. But, I think the idea of allowing apps to post a status of how they improved is useful in many ways. Starting new issue #86. Closing this one.


script to download labels from Fritz and generate a trainingset

The goal is to have a python script to downloads all available labels from Fritz and collects their features and puts it in an easy to use .csv file. The format of this file should be the same as the older d15 trainingset.

We need to assess to what extent https://github.com/ZwickyTransientFacility/scope/blob/main/tools/scope_download_classification.py
is sufficient for this. It does not download the features from kowalski, which can be queried as here:
https://github.com/mcoughlin/ztfperiodic/blob/master/ztfperiodic/utils.py#L1789
This should be made to be an option in the code.

I think it's a good idea to incorporate Saagar's incoming get_features.py code (#84) into scope_download_classification.py to achieve this goal.


Add cert-manager-ctl image to artifacts list

Since this image was not part of the artifacts list, it wasn't going through the previous bundle digest check and added a new tag each time, leading to hitting ECR tag limits for the same digest.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/cherrypick release-0.11
this might fail

/lgtm

/retest


Suspicious peers

This PR introduces "suspicious peers" to the policy file. A suspicious peer is a peer that is not allowed to request swaps with the node even if the peer is part of the allowed peers.
suspicious_peers > allowed_peers
This is the first part of a solution for #59

Test with peer not added to the allow list:
022/08/26 10:43:26 [DEBUG] [FSM] event:id: 947e73e03c4a50821314cf5425eefb007f30a03997bf6fdd1d6b3beaa7061911, Event_OnSwapOutRequestReceived on
2022/08/26 10:43:26 [INFO] [FSM] Action failure peer 02b9258342731abfc2200611b967f06f2062a0c1c0d6bf9a9878ebdc0a46df5107 is not on allowlist
2022/08/26 10:43:26 [DEBUG] [FSM] event:id: 947e73e03c4a50821314cf5425eefb007f30a03997bf6fdd1d6b3beaa7061911, Event_ActionFailed on State_SwapOutReceiver_CreateSwap
2022/08/26 10:43:26 [DEBUG] [FSM] Canceling because of peer 02b9258342731abfc2200611b967f06f2062a0c1c0d6bf9a9878ebdc0a46df5107 is not on allowlist
2022/08/26 10:43:26 [DEBUG] [FSM] event:id: 947e73e03c4a50821314cf5425eefb007f30a03997bf6fdd1d6b3beaa7061911, Event_ActionSucceeded on State_SendCancel
2022/08/26 10:43:26 [INFO] [Swap:947e73e03c4a50821314cf5425eefb007f30a03997bf6fdd1d6b3beaa7061911] Swap canceled. Reason: peer 02b9258342731abfc2200611b967f06f2062a0c1c0d6bf9a9878ebdc0a46df5107 is not on allowlist

Test with peer on sus list AND allow list:
2022/08/26 10:47:51 [DEBUG] [FSM] event:id: fd2d1c2bd9565cd41f73abe1f5333c474370ceacbc5a17d2f8ea424704b0537e, Event_OnSwapOutRequestReceived on
2022/08/26 10:47:51 [INFO] [FSM] Action failure peer 02b9258342731abfc2200611b967f06f2062a0c1c0d6bf9a9878ebdc0a46df5107 is on suspicious peer list
2022/08/26 10:47:51 [DEBUG] [FSM] event:id: fd2d1c2bd9565cd41f73abe1f5333c474370ceacbc5a17d2f8ea424704b0537e, Event_ActionFailed on State_SwapOutReceiver_CreateSwap
2022/08/26 10:47:51 [DEBUG] [FSM] Canceling because of peer 02b9258342731abfc2200611b967f06f2062a0c1c0d6bf9a9878ebdc0a46df5107 is on suspicious peer list
2022/08/26 10:47:51 [DEBUG] [FSM] event:id: fd2d1c2bd9565cd41f73abe1f5333c474370ceacbc5a17d2f8ea424704b0537e, Event_ActionSucceeded on State_SendCancel
2022/08/26 10:47:51 [INFO] [Swap:fd2d1c2bd9565cd41f73abe1f5333c474370ceacbc5a17d2f8ea424704b0537e] Swap canceled. Reason: peer 02b9258342731abfc2200611b967f06f2062a0c1c0d6bf9a9878ebdc0a46df5107 is on suspicious peer list

Force pushed to get clean up a commented out passage.


Can't see the contents of an XML or a long Text

I'm currently debugging an existing app where XML are exchanged with an external system and I've discovered that in BC14/runtime 3.0 I can no longer see the contents of the XML, even if I write them into a text variable, because both the XML variable and Text variable are truncated in the debugger.
So yeah, it is nice that now I don't need to write the XML into a Text variable to see its value, but the feature is killed by the fact that now I can only see the first few lines (I can see the namespaces, yay!) and I can not debug any problems with the contents of the XML.
In order to reproduce this problem:

Load an XML (it doesn't have too big) into an XML variable.
Write the XML into a Text variable using the "WriteTo" method.
Try to read the contents of either the XML or the Text variables.

My problem is currently with an XML, but this would be problem in any project where data is interchanged through HTTP (that is, where no disk files are created) using Text or XML messages.
Tested on VS Code 1.34 + AL Extension 3.0.126610, connected to a 14.1.31955.0 (ES) docker.

It is truncated by design. If we don't truncate the a very large string (or xml)  it can kill or seriously degrade the debugging experience. We could maybe raise the limit, but we can't allow arbitrary long strings.

Can‘t you just link for the object (content)? Whoever clicks that link knows it will take some time, but at least you could download and analyze it.

There is some limitations in what we can do with the VsCode debugger interface/protocol. I agree that the user would accept to wait after a click. We will investigate and see if we can make that work with the VsCode debugger protocol.

Hi,
Thanks for the suggestion, we have added this to our internal backlog, but at this stage we do not have an ETA. To help us prioritize this, you can create an idea at our ideas form: https://aka.ms/BusinessCentralideas, or vote up the idea if its already there.
Thanks,
Thaddeus


SSL_read error with Fabric 1.0.5

Hi all!
Running the simple benchmark results in the following error since the update to Fabric 1.0.5
***** instantiate chaincode *****

info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org1.example.com","grpc.default_authority":"peer0.org1.example.com"}
ok 4 The chaincode instantiate transaction was valid.
ok 5 Instantiated chaincode simple successfully
 Sleep 5s...

**** End-to-end flow: testing 'open' ****
----test round 0----
started monitor successfully
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org2.example.com","grpc.default_authority":"peer1.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000}
start client 64984:opening accounts
E1216 14:09:28.516382190   60783 ssl_transport_security.c:439] SSL_read returned 0 unexpectedly.
E1216 14:09:28.516482489   60783 secure_endpoint.c:185]      Decryption error: TSI_INTERNAL_ERROR
E1216 14:09:28.516543852   60783 ssl_transport_security.c:439] SSL_read returned 0 unexpectedly.
E1216 14:09:28.516578931   60783 secure_endpoint.c:185]      Decryption error: TSI_INTERNAL_ERROR
E1216 14:09:28.516623617   60783 ssl_transport_security.c:439] SSL_read returned 0 unexpectedly.
E1216 14:09:28.516655271   60783 secure_endpoint.c:185]      Decryption error: TSI_INTERNAL_ERROR
E1216 14:09:28.516698200   60783 ssl_transport_security.c:439] SSL_read returned 0 unexpectedly.
E1216 14:09:28.516729054   60783 secure_endpoint.c:185]      Decryption error: TSI_INTERNAL_ERROR
E1216 14:09:28.516770530   60783 ssl_transport_security.c:439] SSL_read returned 0 unexpectedly.
E1216 14:09:28.516801077   60783 secure_endpoint.c:185]      Decryption error: TSI_INTERNAL_ERROR
E1216 14:09:28.516884760   60783 ssl_transport_security.c:439] SSL_read returned 0 unexpectedly.
E1216 14:09:28.516922654   60783 secure_endpoint.c:185]      Decryption error: TSI_INTERNAL_ERROR
E1216 14:09:28.517647763   60783 ssl_transport_security.c:439] SSL_read returned 0 unexpectedly.
E1216 14:09:28.517707686   60783 secure_endpoint.c:185]      Decryption error: TSI_INTERNAL_ERROR
E1216 14:09:28.517762837   60783 ssl_transport_security.c:439] SSL_read returned 0 unexpectedly.
E1216 14:09:28.517795290   60783 secure_endpoint.c:185]      Decryption error: TSI_INTERNAL_ERROR

So the chaincode invoke part reports the error.
Works fine if I pull the 1.0.0 versions of the docker images.

hi, can the test still go on??

After the previous output the following happens (after some hang time):
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org1.example.com","grpc.default_authority":"peer1.org1.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org2.example.com","grpc.default_authority":"peer1.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org2.example.com","grpc.default_authority":"peer0.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org1.example.com","grpc.default_authority":"peer0.org1.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org2.example.com","grpc.default_authority":"peer0.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000}
start client 16839:opening accounts
start client 16853:opening accounts
start client 16852:opening accounts
start client 16846:opening accounts
start client 16840:opening accounts
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org2.example.com","grpc.default_authority":"peer0.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org1.example.com","grpc.default_authority":"peer1.org1.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org2.example.com","grpc.default_authority":"peer0.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org2.example.com","grpc.default_authority":"peer0.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org2.example.com","grpc.default_authority":"peer1.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org1.example.com","grpc.default_authority":"peer1.org1.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org2.example.com","grpc.default_authority":"peer1.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org2.example.com","grpc.default_authority":"peer0.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org1.example.com","grpc.default_authority":"peer1.org1.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4 grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org1.example.com","grpc.default_authority":"peer1.org1.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4 grpc-node/1.2.4 grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org2.example.com","grpc.default_authority":"peer0.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4 grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer0.org2.example.com","grpc.default_authority":"peer0.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4 grpc-node/1.2.4 grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org2.example.com","grpc.default_authority":"peer1.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4 grpc-node/1.2.4"}
info: [EventHub.js]: _connect - options {"grpc.ssl_target_name_override":"peer1.org2.example.com","grpc.default_authority":"peer1.org2.example.com","grpc.keepalive_timeout_ms":3000,"grpc.keepalive_time_ms":360000,"grpc.primary_user_agent":"grpc-node/1.2.4 grpc-node/1.2.4 grpc-node/1.2.4 grpc-node/1.2.4"}
client exited
client exited
Invoke chaincode failed, Error: Failed to get valid event notification
    at channel.sendTransaction.then.then (/home/klenik/test/caliper/src/fabric/e2eUtils.js:615:14)
Invoke chaincode failed, Error: Failed to get valid event notification
    at channel.sendTransaction.then.then (/home/klenik/test/caliper/src/fabric/e2eUtils.js:615:14)
Invoke chaincode failed, Error: Failed to get valid event notification
    at channel.sendTransaction.then.then (/home/klenik/test/caliper/src/fabric/e2eUtils.js:615:14)

After this, every communication attempt results in similar errors.

You can try to remove the old chaincode images, then run the test again to see if the problem can be fixed.
Run 'docker images | grep simple', there should be some images like '...simple..peerx.orgx.example.com...', remove those images using 'docker rmi'

I think I always removed every image before running a benchmark. So I decided to reproduce the problem in details. But as I was writing this comment, the problem changed, so I provide a detailed step-by-step of what I did. Hopefully, it will be helpful to others.
This is my environment (Ubuntu 16.04 LTS):
klenik@ubuntu:~$ docker --version
Docker version 17.09.1-ce, build 19e2cf6
klenik@ubuntu:~$ docker-compose --version
docker-compose version 1.16.1, build 6d1ac21
klenik@ubuntu:~$ nvm --version
0.33.6
klenik@ubuntu:~$ node --version
v6.12.0
klenik@ubuntu:~$ npm --version
3.10.10

The setup steps I use:
klenik@ubuntu:~$ mkdir caliper_test
klenik@ubuntu:~$ cd caliper_test/

klenik@ubuntu:~/caliper_test$ git clone https://github.com/hyperledger/fabric-sdk-node.git
# commit ID as of now: 1d3facbfd952bac63db4b44c6c6a649c0d8ac9ab
klenik@ubuntu:~/caliper_test$ cd fabric-sdk-node/

klenik@ubuntu:~/caliper_test/fabric-sdk-node$ npm install
klenik@ubuntu:~/caliper_test/fabric-sdk-node$ npm test
# all 623 tests pass

klenik@ubuntu:~/caliper_test/fabric-sdk-node$ cd ..
klenik@ubuntu:~/caliper_test$ git clone https://github.com/Huawei-OSG/caliper.git
# commit ID as of now: 76ed4840719fa6263f0371650867881b6839e39d
klenik@ubuntu:~/caliper_test$ cd caliper/

klenik@ubuntu:~/caliper_test/caliper$ npm install
klenik@ubuntu:~/caliper_test/caliper$ rsync -avq /home/klenik/caliper_test/fabric-sdk-node/node_modules /home/klenik/caliper_test/caliper/ --exclude 'table'
# table package has to be excluded due to version mismatch, this should be mentioned in the docs

klenik@ubuntu:~/caliper_test/caliper$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
klenik@ubuntu:~/caliper_test/caliper$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
# no containers/images present

klenik@ubuntu:~/caliper_test/caliper$ cd benchmark/simple/
klenik@ubuntu:~/caliper_test/caliper/benchmark/simple$ node main.js

# lot of error outputs after round 0, except for the query round:
error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: Error executing chaincode: Failed to execute transaction (Timeout expired while executing transaction) - make sure the chaincode simple has been successfully instantiated and try again

So I no longer get SSL_read errors, which is good. Although something is wrong after the 1st round. But I can live with that since I only plan to execute one round. So I'm closing this issue now, and thank you for the quick answers!


workaround for #2659, caused by #2743

proof of concept, let's discuss

This change is

Assigning to @dborkan since @bemasc is on vacation. (Have good vacation!)

OK, been scouring the issues. TL;DR: we need the "resize hack" but this hack results in a janky + button even when the + button's animation is disabled (https://github.com/uProxy/uproxy/pull/2745).
Great job tracking all this, @jab!
This approach seems reasonable to me, so long as we keep pushing on https://bugs.chromium.org/p/chromium/issues/detail?id=612836#c19 (@bemasc how about that minimal reproduce case they asked for five months ago?) - but can we keep the logic in TypeScript, in a Polymer script?

BTW, just to say I think I prefer this over adding a tap handler to every element!

Few small comments, otherwise I'm OK with this

Review status: 0 of 4 files reviewed at latest revision, 3 unresolved discussions.

src/cca/app/scripts/workarounds.js, line 1 [r1] (raw file):

(function () {

Nit: Keeping this as JavaScript is fine for now since hopefully we can get rid of this file soon, but if this keeps growing let's move it to TypeScript

src/cca/app/scripts/workarounds.js, line 24 [r1] (raw file):

    // the uproxy root object instantiated in generic_ui/polymer/root.ts.
    console.debug('got uproxy-root-ready');
    var inviteButton = document.querySelector('uproxy-root /deep/ #inviteButton');

It might be good to add a comment to where inviteButton is defined in root.html, mentioned that it is listened to in workarounds.js (just so nobody deletes it or renames it).  Generally we assume that HTML element ids are only used in the .html and .ts file for that Polymer element and nowhere else

src/cca/app/scripts/workarounds.js, line 25 [r1] (raw file):

    console.debug('got uproxy-root-ready');
    var inviteButton = document.querySelector('uproxy-root /deep/ #inviteButton');
    var inviteUserPanel = document.querySelector('uproxy-root /deep/ #inviteUserPanel');

It looks like inviteUserPanel isn't really used (you print an error if it's not found, but otherwise don't use it), can it be removed?

Comments from Reviewable

@trevj @dborkan Thank you for reviewing! Just refactored this into a Polymer element as per @trevj's suggestion in 1bef2e3, and added @dborkan's great suggestions there too, PTAL. It took a bit of reshuffling as expected to figure out how to get things in the right place due to the additional complexity of the Polymer build process; I got it working but please let me know if it should be done differently. I was hoping that this refactoring would allow me to drop the new uproxy-root-ready I originally listened for and could just assume it's ready by the time the querySelector call runs, but it turns out it isn't. After looking at 1bef2e3, is it still worth implementing this as a Polymer element, or does it just complicate things without buying much in return?

Cool, this works too.  :+1:

Review status: 0 of 7 files reviewed at latest revision, 3 unresolved discussions.

Comments from Reviewable

Mmm, OK, yeah I see what you mean about Polymer-isation almost being more trouble than it's worth. I do prefer it being in TypeScript though.
Separately, one question: could you avoid the uproxy-root-ready notification stuff by having the Polymer element "poll" for the element, i.e. a setTimeout loop until the element does exist. What do you think?

If the important thing is just having it in typescript, I think I can do that without making it a Polymer element, should I?
I should note that though this is now a .ts file, it contains no type annotations (and for what it's doing, I think that's fine, but let me know if you think it needs some), so currently the only benefit of making it typescript is that tsc will catch syntax errors and the like at compile time, which of course is still valuable.
Regarding replacing the uproxy-root-ready idea with polling, I think using the event is a cleaner solution that could also be used in the future if any other logic ever needs to be scheduled to run once the <uproxy-root> element has loaded and its ready() method run.

Hmm. Yes, looking at it now I think the important things is having it in TypeScript. Sorry :-/
Regarding polling, whatever you think is fine - I just thought it might help limit the scope of this workaround, i.e. nothing outside of cca/ would have to know about it.
:+1: to whatever you think on both questions!

Cool, thanks @trevj! Reverted to non-polymer-element (but kept as typescript) in acdf838 and then squashed to the single commit ec508e6. Will merge as soon as we're green!


Can i see live preview on my ipad ?

I know there is two way to get this .
1,use something like Air Display .
2,do something like apache allow deny mechanism , and use browser in ipad .
i want to know , does there have option 2 ? if not , Could you guys make it ? ( it's will be a good function i think ~ )

You can already do this now without any additional work? Your iPad has to be on the same lan as your machine using Brackets. When it browses to (localhost):(port)/file, you'll browse to (ip address of machine running backets):(port)/file You have to keep live preview running on the machine running backets at all times or the connection will break?

the problem is the port start from Brackets is only allowed by localhost , i can't find how to change it to allowed all ip requests .

No, your machine has an internal ip.
Assuming you're on a mac, go to Apple->System Preference->Network->Look at your wifi connction and it should say, "Wi-Fi is connected to {{ Network name }} and has the IP address {{ Something like 192.168.1.x. }}"
Then go to http://192.168.1.x/path/to/your/files on your ipad.

Nevermind, I see what you mean now. If you're not familiar with setting up servers and such, perhaps CodeKit is the way to go for you.

I just had a pad , not Mac @-@ . and i think the setting up things i'm good at it . can you tell me what can i do specificly , please ?

@busykai Is this a possibility for Live Preview MultiBrowser? If not, then feel free to close it.

@redmunds yeah, actually, i have a patch to enable remote connectivity to live preview (as an option). i will submit a PR to start the discussion. it will have its implications though such as security, need for manual launch etc.

@redmunds, @ILYG there's a functional implementation for multi-browser LivePreview only in kai/ld-remote-connectivity.

Bump!


Could we please have a transformation from unix time to a human readable format?

High,
rtl_watch is a nice tool, Thank you.
I am using rtl_433 with option -Mtime:unix:utc
When starting rtl_watch, it is showing an iso date-time as long as no data is received from mqtt and is changing the format to unix epoch after the first event is read.

So I think, rtl_watch is just taking the value from 'time' key and puts it to the display output.
So could we please have a conversion to ISO-formatted date? Maybe as an option --unixtime --isotime

I think I understand your request, but let me be sure.
If you've set your rtl_433 service configuration with -M time:unix, so that the JSON time stamp is something like<PHONE_NUMBER>, you'd like to have the display show  2024-08-07 14:57:29 .  Is that right?
Seems like I should have had it working that way in the first place, and it appears that it would be an easy fix.  So if I understood correctly, I'll fix it to work that way.

Yes, that's what I meant. Thank you

Oh, I should have said that I don't think I need a command-line option to do this.
The way I intend to implement it is to simply recognize either iso or unix time (as it does now) but display time only in iso format.  Is there a reason you might want to display unix format some time?  I'd like not to add another option to the command line ... it's already a pretty long list.

not for me. I am fine with iso only

Thanks.
And I plan to display local time rather than UTC.  Does that work for you?

very nice, yes

Fixed, I believe.  Now displays local time for first and last record whether incoming messages are in ISO or Unix:UTC format.  Version 3.0.1 includes this fix.

Thank you. I can't test this before Monday, but I am sure it works.

Hi @hdtodd,
hmm, I had a bit time, to make a short test. The first two tries I got an error after the first rtl event and the table freezes, no more data. After adding -d to debug this, no more errors. Removing the -d and still no errors. Awkward.
I will continue to monitor this and open a new issue, if I can reproduce the error. Until then, here is my program call and the error message
I am using Python 3.10 for Windows 11
X:\xxx\rtl_watch>python D:\GIT\rtl_watch\rtl_watch -H example.com -T rtl/event/Pi1 -t

X:\xxx\rtl_watch\rtl_watch:663: DeprecationWarning: Callback API version 1 is deprecated, update to latest version
  mqtt = mqtt_client.Client(mqtt_client.CallbackAPIVersion.VERSION1, client_id, clean_session=False)
Connected to MQTT broker host!
Exception in thread Thread-1 (process_msg):
Traceback (most recent call last):
  File "Z:\Users\zzz\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "Z:\Users\zzz\AppData\Local\Programs\Python\Python310\lib\threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "X:\xxx\rtl_watch\rtl_watch", line 695, in process_msg
    if "model" not in y:
TypeError: argument of type 'int' is not iterable

For the initial issue: I confirm, that I have iso datetime format now. Thank you.


fix: quotes on missing receive address

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #4537   👈

This comment was auto-generated by Graphite.


Cannot open file path in warning with spaces in path

From @tungvn on October 31, 2016 3:31
OS: Window 10
VS Code: 1.6.1
When I click some warnings, vscode return an error "Unable to open 'common.php': File not found (e:\path\to\common\file\common.php)."
Like this

Copied from original issue: felixfbecker/php-language-server#130

From @tungvn on November 2, 2016 9:11
Bug happens when path of file contains space, like e:\Project\My Project\path\to\file is converted to e:\Project\My+Project\path\to\file

That is a helpful insight, will fix!

Turns out this is actually a problem on the VS Code side, will move the issue

Should be fixed now


v5.1.2 Ship List

:rocket: Features

TODO

:bug: Fixes

TODO

:book: Docs

TODO

:toolbox: Chore

#806: Resync nuget/*.nuspec files with Bootstrap

Try to click on auto-generate release notes (see https://github.blog/2021-10-04-beta-github-releases-improving-release-experience/) and see if we can improve the process.


world.cpu is not implemented

http://www.byond.com/docs/ref/#/world/var/cpu

This regressed in the switch to RobustToolbox.

Fixed in 143007cca440a2c68428c506e8e52660ba2259a1


composer require pulled an old version

Tried using the composer require instructions on a project and initial version of the plugin pulled was an old one (v2.0.0) rather than the latest release (v2.3.3).
cc: @philmprice

Hi @rbhensley - this slipped under my radar and I didn't see it til just now. Have you seen this happen since then? I was not able to reproduce this - composer require sitecrafting/sitka-insights-wordpress --prefer-dist installed v2.3.3 for me.


Replace the solver

Can I use another free solver for gurobipy

Hello!
Yes. You just need to modify the prompts to tell the system to use the solver you want instead of gurobipy. Note that the code generation performance might be affected given that the underlying LLMs might not be equally-trained on code snippets from different solvers.


Add tiny padding-bottom to button text

Details

Adds 1px padding-bottom to the button text to achieve the vertical optical alignment and also adds 1px for both padding-bottom and padding-top to the button left icon to align it along with the button text (otherwise it will look a bit misaligned with the change to the button text, more details here).
Fixed Issues

$ https://github.com/Expensify/App/issues/13682
Tests

Go to settings > manage members
Verify the invite and remove button text are vertically aligned

[x] Verify that no errors appear in the JS console

Offline tests

N/A
QA Steps

Same as Test steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Sorry for the delay. I was mostly unavailable last week.
Reviewing it now.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @techievivek in version: 1.2.49-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @luacmartins in version: 1.2.49-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This was deployed to production 10 days ago. @techievivek @marcochavezf Can you please help me with the payment? Linked issue is locked.


Change to provisioned path to include PVC Namespace and Claim name

As discussed in #77
This seems deceptively simple, am I missing something? I can't seem to find any existing tests?

Can you fold/squash the two commits into one commit? Otherwise LGTM.

Done

Merged, thanks @REBELinBLUE


feat(cli): add client version to -v flag

No tests were added for this feature because of some weird edge-case encountered with Jest. More explanations here https://prisma-company.slack.com/archives/CUXLS0Z6K/p1601048478037400. If you have any idea how to workaround it, please let me know

Looks like you need to merge master in to update the snapshots 😃

Master's now merged


Redundant check ' if (actionContext == null) ' in ActionContext.cs

I'm not sure if this is the right way to report this, but please let me know how to do it better.
It is a minor observation, that checking
https://github.com/aspnet/Mvc/blob/a67d9363e22be8ef63a1a62539991e1da3a6e30e/src/Microsoft.AspNetCore.Mvc.Abstractions/ActionContext.cs#L39
is useless, because if that's true, it would fail earlier at
https://github.com/aspnet/Mvc/blob/a67d9363e22be8ef63a1a62539991e1da3a6e30e/src/Microsoft.AspNetCore.Mvc.Abstractions/ActionContext.cs#L33-L38
when calling the base class's constructor.

You can submit a PR.

Thanks for contacting us, @nour-s.
Indeed this seems redundant. Would you be interested in submitting a PR with the fix?

@nour-s @mkArtakMSFT
here it is
https://github.com/aspnet/Mvc/pull/8379