seems some randomness in molecular orbital coefficients

I am running following code to get molecular coefficients. And each run gives me either 0.33745244106197486 or -0.3374524410619699. I am baffled by this randomness. This will give a sign difference in some molecular orbital integrals. So, I think it is physical. Can you help me to understand this randomness? Appreciate it!
from pyscf import gto, scf
mol = gto.Mole()
mol.atom = [['O', [0, 0, 0]],
['H', [0.757, 0.586, 0.0]],
['H', [-0.757, 0.586, 0.0]]]
mol.spin = 0
mol.unit = 'Angstrom' # in Angstrom
mol.verbose = 6
mol.output = 'scf.out'
mol.basis = '6-31g'
mol.symmetry = False
mol.build()
mf = scf.RHF(mol)
mf.kernel()
print(mf.mo_coeff[3,6])

Hi Jia,
The orbitals, as eigenstates, are only defined up to a phase (and for real
orbitals only up to a sign). Eigenvalue routines will return different
phases based on small changes in the matrix on the level of
non-deterministic numerical rounding in multithreaded programs. If you want
to keep a consistent sign you have to do so manually (e.g. largest element
is +ve or by referring to a previous run).
Garnet
On Sun, Apr 5, 2020 at 7:01 PM jiachenchem<EMAIL_ADDRESS>wrote:

I am running following code to get molecular coefficients. And each run
gives me either 0.33745244106197486 or -0.3374524410619699. I am baffled by
this randomness. This will give a sign difference in some molecular orbital
integrals. So, I think it is physical. Can you help me to understand this
randomness? Appreciate it!
from pyscf import gto, scf
mol = gto.Mole()
mol.atom = [['O', [0, 0, 0]],
['H', [0.757, 0.586, 0.0]],
['H', [-0.757, 0.586, 0.0]]]
mol.spin = 0
mol.unit = 'Angstrom' # in Angstrom
mol.verbose = 6
mol.output = 'scf.out'
mol.basis = '6-31g'
mol.symmetry = False
mol.build()
mf = scf.RHF(mol)
mf.kernel()
print(mf.mo_coeff[3,6])
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pyscf/pyscf/issues/580, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN5NRDA3QSUMNJYEHPZMBLRLEZWTANCNFSM4MBYRA6Q
.

Hi Garnet,
Thank you very much! I didn't know this before. This phase freedom will have an effect on the sign of CI coefficients and second-quantized Hamiltonian parameters. I finally found the root...


Add extra genesis for farming/pricing policies

Accompanied by: https://github.com/threefoldtech/tfchain_pallets/pull/25


Theme refinements

Reason for change

Style refinements for plan selector
Theme fine-tuning (WIP)

Testing

Check mark on plan selector transitions correctly
Box shadow removed from plan selector details card
Themes work correctly for all components

Codecov Report

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

@@           Coverage Diff           @@
##           master     #123   +/-   ##
=======================================
  Coverage   53.03%   53.03%
=======================================
  Files          30       30
  Lines         709      709
  Branches      164      164
=======================================
  Hits          376      376
  Misses        331      331
  Partials        2        2

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 22c3cad...c64952f. Read the comment docs.

Still have work left for theme fine-tuning, but I'd rather not have this sit here until Tuesday


Vagrant provision --provision-with=conf reloads apps with latest image tag

We should persist the app image tag somewhere

won't fix since we are using the cli to apply configuration changes now


Does the efs driver support encryption in transit?

Summary
EFS supports encryption of data in transit as described here: https://docs.aws.amazon.com/efs/latest/ug/encryption.html#encryption-in-transit
I'm wondering if the rexray driver implements this and, if not, would like to request that as a feature that could be used by passing parameters into the docker volume driver options such as EFS_USETLS
New Feature
Simply stated above, but the idea would be to declare at volume creation (or as part of global driver configuration) to use TLS when communicating with EFS mount points.  EFS_TLS or EFS_USETLS as examples.  When this is set to true the communications to the EFS mountmount would be wrapped in TLS encryption as described here: https://docs.aws.amazon.com/efs/latest/ug/encryption.html#encryption-in-transit

This would be a great feature to have!

@clintkitson is this being worked on?

Hello @jicowan,
This isn't, if someone contributes a PR we'd be glad to take a look.


BUG: stats: pearson3 CDF and SF functions incorrect when skew < 0.

The cdf and sf methods of the distribution pearson3 in scipy.stats give incorrect results when the shape parameter skew is negative.  For example,
In [253]: import scipy

In [254]: scipy.__version__
Out[254]: '1.5.0.dev0+5421b30'

In [255]: from scipy.stats import pearson3

In [256]: x = np.linspace(-2, 1.5, 5)

The following are obviously wrong, because the CDF should be an increasing function of x, and the survival function should be a decreasing function of x.  The following results show the opposite behavior for these two methods:
In [257]: pearson3.cdf(x, -0.5)
Out[257]: array([0.96559991, 0.86772622, 0.62854634, 0.2822072 , 0.0487404 ])

In [258]: pearson3.sf(x, -0.5)
Out[258]: array([0.03440009, 0.13227378, 0.37145366, 0.7177928 , 0.9512596 ])

This issue was first reported in a stackoverflow question.

I am still confused about the implementation of pearson3, see #9168. It might be a special case of the generalized gamma ( Wikipedia +  https://link.springer.com/chapter/10.1007/978-94-017-1431-0_14).

I am still confused about the implementation of pearson3, ...

Heh, me too.  I haven't tried to decipher the implementation in SciPy, and I probably won't be able to spend time looking into the code in the immediate future.  I added a comment over in #9168 with some code showing that pearson3 is just a reparameterized gamma.

I think the absolute value in the PDF screws up the relationship between pearson3 and gamma for negative skew. But since negating the skew reflects the pdf about x=0:
pearson3.cdf(x, -abs(skew)) = pearson3.sf(-x, abs(skew))
And the right-hand side can be evaluated using the SF of gamma without any issues because the skew is positive.


Added Line and Block comments

Added how to use Line and Block comments with an example showing it.

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

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

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Attempted to call an undefined method named "newInstance" of class "Swift_Message".

in src/AppBundle/EventListener/CommentNotificationSubscriber.php (line 94)
replaced:
$message = \Swift_Message::newInstance()
->setSubject($subject)
->setTo($post->getAuthor()->getEmail())
->setFrom($this->sender)
->setBody($body, 'text/html')
;
to this code:
$message = new \Swift_Message();
$message->setSubject($subject)
->setTo($post->getAuthor()->getEmail())
->setFrom($this->sender)
->setBody($body, 'text/html')
;

Good catch 👍
@XPanel Do you want to create a PR?

Btw, did you update symfony/swiftmailer-bundle to 3.0 to see this error or did you just do composer install?

updated to 3.0

This update holds BC breaks, that's why we require "symfony/swiftmailer-bundle": "^2.3" which means do not upgrade major version. This is unsupported use case and it's up to you to make those changes if you manually upgrade major version which supposes BC breaks.

@XPanel thanks for reporting this, but I agree with Victor. If this problem occurs when installing the Symfony Demo, then we must fix it. But if this happens when modifying it and installing version we don't support, then we can't fix it. So, let's close it.


Possible to use for custom keybindings?

Question

[x] I have read the comment above and have completed each step

Hi @FredHappyface — thanks a lot for making this, it's exactly what I was looking for as I transition to working from Mac to jointly on Mac & Linux.
My understanding is that this extension contains the default keybindings. Could I ask whether it's possible to convert custom ones, even I do it manually? Is it as simple as find replacing cmd -> super, etc?
Thanks!

A couple of other issues I'm hitting:

This promotes the standard VSCode shortcuts above those of other extensions. That sometimes gives odd results — e.g. the Vim extension's C-d doesn't work since there's a VSCode default which this extension now ranks above the Vim extensions.
That's also the case for shortcuts that are the same between Linux & Mac; e.g. S-Enter doesn't work in Jupyter Notebooks, because there's a S-Enter that's in the default shortcuts (again, which now ranks above the Jupyter extension).

I think possibly this might be as simple as getting my Mac shortcuts (including extensions), filtering them for Cmd, and then replacing Cmd with Super. Let me know if that sounds deficient in some way.

Unfortunately I can't do anything about conflicts with other extensions:
There are some known issues and conflicts with other keybinding extensions. Currently, this is best fixed manually - see
https://github.com/yzhang-gh/vscode-markdown/issues/396
https://github.com/Microsoft/vscode/issues/39888
Here is a list of those that I have suffered from. Follow the links and copy the contents of the file into your keybindings json file. Note that I'll add these to the extension at some point:
Markdown All In One

It might be helpful in your case to copy the keybindings and edit these manually. I take it vscode on Linux doesn't understand the cmd key and so the keybinding doesn't behave as expected? (I can't remember off the top of my head how vscode behaves cross OS in this regard)
If that is the case then the only solution I can see is creating further extensions (eg. Mac kb on Linux, Mac kb on Windows)

Thanks @FredHappyface .
Do you see my point re shortcuts that are the same in across all systems though? Presumably there's no need to implement S-Enter in this extension, since it'll exist in all default settings. (Though possibly isn't easy to sort which should be implemented?)

Oh yeah that's true. Though as you say, there's additional overhead to consider there as I currently have no idea how I'd go about automating that. One option might be to find and replace cmd, win, super and do a diff on each set of keybindings and keep the deltas
I'll take a look at this over the coming weeks

I've taken a look at this and have written a script to automate this. One drawback is that some specific keys are still retained so a decision needs to be made either to create further extensions or by supporting a default os. Ie there's not much point in linuxkeybindings to use meta as its more likely to be installed on win/mac


how to install it on a RaspBerry?

Hi guys, i'm a young programmer and i'd like to install Spyguard on a RaspBerry but i don't really know exacly how to it.
someone could help me pls

Just read the doc of the main page.
BUT
From a fresh raspi OS lite I had to manually install FIRST (before spyguard install) :
build-essential python3-pip libopenjp2-7 python3-cffi python3-brotli libpango-1.0-0 libpangoft2-1.0-0
and even then, I have issues on a Raspi 3

thanks a lot ruggdoll, now my problem is to put it in kiosk mode, i've tried to follow the instructions but it seems that my "raspi-config" options are differents

how to active "nmcli" to manage networks of a Raspberry Pi, using "raspi-config" command

in wich mode and where can i Edit   "~/.config/lxsession/LXDE-pi/autostart" ?

Try Ubuntu for RPI. Mine working on RPI 5, but few steps:
apt install -y python3-pip
apt install -y network-manager
apt install -y libpangocairo-1.0-0
sudo rm -rf /usr/lib/python3.11/EXTERNALLY-MANAGED (or your version of python)
bash install.sh

Hi @EliaWSI , after yesterday's update venv is used for SpyGuard and the installation should work as described in the wiki.
Successfully tested with debian 11 (2023-12-05-raspios-bullseye-armhf-full) and debian 12 (2023-12-05-raspios-bookworm-arm64-full) on a Raspberry PI 4B.
In my opinion, the issue can be closed and if there are problems with the current version, a new one can be opened.

hi, yes thats issue can be closed, finally i've installed spyguard on my raspberry...
but now i'm trying to change the name "spyguard" on the program, i tried to modify the code but it doesn't work.
do you know how can i change the name?
thanks for your time... waiting for your reply
have a good day

Da: b068931cc450442b63f5b3d276ea4297 @.>
Inviato: giovedì 18 gennaio 2024 16:07
A: SpyGuard/SpyGuard @.>
Cc: EliaWSI @.>; Mention @.>
Oggetto: Re: [SpyGuard/SpyGuard] how to install it on a RaspBerry? (Issue #18)
Hi @EliaWSIhttps://github.com/EliaWSI , after yesterday's update venv is used for SpyGuard and the installation should work as described in the wiki.
Successfully tested with debian 11 (2023-12-05-raspios-bullseye-armhf-full) and debian 12 (2023-12-05-raspios-bookworm-arm64-full) on a Raspberry PI 4B.
In my opinion, the issue can be closed and if there are problems with the current version, a new one can be opened.
—
Reply to this email directly, view it on GitHubhttps://github.com/SpyGuard/SpyGuard/issues/18#issuecomment-1898658117, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BC7R5C4A6HQZF72OHCOP24TYPE3CXAVCNFSM6AAAAAA5QPU6X2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJYGY2TQMJRG4.
You are receiving this because you were mentioned.Message ID: @.***>

I send you an mail.

Wich Mail? i didn't see

Da: b068931cc450442b63f5b3d276ea4297 @.>
Inviato: venerdì 19 gennaio 2024 13:46
A: SpyGuard/SpyGuard @.>
Cc: EliaWSI @.>; Mention @.>
Oggetto: Re: [SpyGuard/SpyGuard] how to install it on a RaspBerry? (Issue #18)
I send you an mail.
—
Reply to this email directly, view it on GitHubhttps://github.com/SpyGuard/SpyGuard/issues/18#issuecomment-1900353050, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BC7R5C74ENZVX7JM3TRSB4LYPJTLTAVCNFSM6AAAAAA5QPU6X2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBQGM2TGMBVGA.
You are receiving this because you were mentioned.Message ID: @.***>

I use your mail address from your profile here<EMAIL_ADDRESS>


emacs: Add sqlite support introduced in Emacs 29

Motivation for this change
Emacs master recently introduced sqlite support, so we update the derivation accordingly.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Let's backport this so we can get the overlay PR merged too.


Show type information on hover

https://github.com/smucclaw/baby-l4/blob/247752a5db143ae05bb60bbafc34d7d104921e95/lsp/Main.hs#L214-L214

Same structure as with parsing + hover:

Run the parser as before (showing errors if it fails)
Run type checker (see src/Main.hs for an example)
If there were type errors, display them as diagnostics
If no type errors, extract the type information from the annotation field of the AST nodes.


Add WebSocket DataChannel

Adds a DataChannel for communicating via WebSockets. Supports a terminationHandler that allows you to restart a server when the socket closes unexpectedly.

Looks like URLSessionWebSocketTask isn’t available in the Foundation for Linux. I’m a little surprised, but a quick OS check should fix that.

Sorry I've been so busy thanks for fixing!


Route add order mechanism

The order of adding routers to express matters. For example if we have following class.
@Controller("/account")
export class Account {

  @Get("/:id")
  getAccountById( @PathParam("id") id: string ) {...}

  @Get("/manager")
  getManagerAccount() {...}
}

Request
GET /account/manager
Expected
Method getManagerAccount() respond
Actual
Method getAccountById() will respond with manager injected as id
Workaround
@Controller("/account")
export class Account {

  @Get("/manager")
  getManagerAccount() {...}

  @Get("/:id")
  getAccountById( @PathParam("id") id: string ) {...}

}

Conclusion
When adding Routers to express app, fixed routes should go first then parametrised ones.

Hello Alex,
You have the same problem when you use the express method.
app.get('/account/:id', cb);
app.get('/account/manager', cb);

The request /account/manager satisfy always the first condition according to the routing list.
It is the responsibility of the developer to put his route in the right order :)
For me isn't a bug.

Yes is the same problem (order matters) but I was thinking if we can see routes not starting with : and add them first and add : starting routes at the end when processing decorators. In this way we can take some burden off the developers shoulder.
Maybe is not a bug but an improvement.

Ok I see. I think, it's a big works and behavior is unpredictable compared to the implementation that the developer will do.

But right now is the order of apparition of methods in the class guaranteed to be kept by typescript when constructing method metadata array ?

Typescript keeps the declaration order of the methods and therefore associated metadata.

Hey guys,
It seems like in my case, both routes will get called no matter which order I put them in. The second one would even throw an exception indicating the the headers can no longer be modified (see https://github.com/Romakita/ts-express-decorators/issues/29).
Is there a way to handle a route and prevent it from another controller method from being hit? Maybe it has something to do with the fact I'm returning promises?
Thanks in advance for any help!

Hey @zoubarevm .
Have you a complete example of your controller ?

For the header, I see what you mean. Because you have two rules that respond to the request, the   response.setHeader("X-Managed-By", "Express-router-decorator"); is called once too. I'll fix that.

Is there a way to handle a route and prevent it from another controller method from being hit? Maybe it has something to do with the fact I'm returning promises?

Promises  isn't the cause. TsExpressNext use the nextFunction to call the next middleware. The nextFunction is binded with the promise returned by your method.
Prevent isn't possible because with Express you can add a lot of middleware for one request/route. But I can also be mistaken.

Error with response.setHeader("X-Managed-By", "Express-router-decorator"); is patched with v1.3.1 @zoubarevm ;)

@Romakita awesome, it seems like it worked.
I also targeted the routes more specifically (by adding a regex to the parameter (\\d+)). Seemed like it solved the duplicate route resolution problem.
Thanks for your help!

Hello guys,
I have a weird behavior with routes but first I need to understand something. In my case only order does not solve the problem because I should also inject the @Next and the return anything at the end of the function. So, is this fine?
The weird behavior is that despite being successfully handled the order with the @Next and return, changing the api logic to work with Async/Await causing the conflict again!
Code:
  @Authenticated()
  @UseBefore(Middleware)
  @Get(`parent/childs`)
  public async getChilds (
    @Request() req: DjatyRequest,
    @Response() res: Express.Response,
    @Next() next: Express.NextFunction,
  ): Promise <void> {
    console.log('getChilds'); // called
    try {
      const childs = await this.childService.getChilds();
      res.json(childs);
    } catch (err) {
      res.status(400).json({msg: 'error'});
    }
  }

  @Authenticated()
  @Get(`parent/:parentId`)
  public async getParent (
    @PathParams('parentId') parentId: number,
    @Response() res: Express.Response,
    @Next() next: Express.NextFunction,
  ): Promise<void> {
    console.log('getParent'); // is called also!
    try {
      parent = await this.parentService.getParent(parentId);
      res.json(parent);
    } catch (err) {
      res.status(400).json({msg: 'error''});
    }
  }

Hello everybody,
I face a similar problem when I return a promise even if route order is fine.
  @Get('/new')
  public new (
    @Request() req: Express.Request,
    @Response() res: Express.Response,
  ) {
    console.log('new');
    return new Promise((resolve, reject) => {
      resolve('new');
    }).then(d => {
      res.send(d);
    });
  }

  @Get('/:id')
  public param (
    @PathParams('id') id: string,
    @Request() req: Express.Request,
    @Response() res: Express.Response,
  ) {
    console.log(param);
    res.send(id);
  }

Hi @m0uneer
Your problem is that you to use two way to send you response and two methods to intercept an incoming request.
First case:
@Get('/new')
  public new (
    @Request() req: Express.Request
  ) {
    console.log('new');
    return new Promise((resolve, reject) => {
      resolve('new');
    });
  }

You don't need to use response if you want just return the "new" data. ts-express-decorators will sent the response automatically.
But in some case you need to send manually your response. In this case, don't return a promise.
Just do that:
@Get('/new')
  public new (
    @Request() req: Express.Request,
    @Response() res: Express.Response,
  ) {
    console.log('new');
    // remove return instruction.
    new Promise((resolve, reject) => {
      resolve('new');
    }).then(d => {
      res.send(d);
    });
  }

In your case you have problem your routes implementation. When you give theses routes:

/new
/:id

express will resolve the two routes when the called route is /new. But you send response in the first and second routes. You have a conflict => Error: Can't set headers after they are sent.. It's pure problem with Express and not with TsExpressDecorators ;).
I will not change the behavior of Express !
So I recommend you to change your implementation to do not have two routes that can be resolved at the same time for one request, if that's not what you want.
Here an example that will work fine:
  @Get('/')  // remove new or change the second routes
  public new (
    @Request() req: Express.Request,
    @Response() res: Express.Response
  ) {
    console.log('new');
    // 1st usecase
   response.send('new');

    // or by promise
    return new Promise((resolve, reject) => {
       resolve('new');
    });
  }

  @Get('/:id')  // or @Get('find/:id') or other stuff that not match with the first route.
  public param (
    @PathParams('id') id: string,
    @Request() req: Express.Request,
    @Response() res: Express.Response,
  ) {
    console.log('param');
    res.send(id);
  }

I hope my explanation will help you.
See you,
Romain

@Romakita, Thanks a lot Romain your explanations helps a lot.
Just a question about invokeMethod() inside MiddlewareService class at /src/services/middleware.ts file,
    public invokeMethod(settings: IInjectableMiddlewareMethod, localScope: IInvokableScope): any {
        ...

        return new Promise((resolve, reject) => {
            ...
            Promise
                .resolve()
                .then(() => {
                  ...
                })
                .then((data) => {
                    if (data !== undefined) {
                        localScope.request.storeData(data);
                    }

                    if (!hasNextFn || isPromise) {
                        resolve();
                    }
                })
                .catch(reject);

        })
            .then(
                () => {
                    next();  // <--- Here is my question
                },
                (err) => {
                    next(err);
                }
            );
    }

Isn't this next() call the responsible for the conflict? What if we just return the response here and let  next to be called explicitly if required? I appreciate your explanation very much.

Waiting your prompt response @Romakita

Hi @m0uneer,
To use promise with Express, I'm obliged to ask Express to pass me the next function. If I don't get the next function, the middleware will be finished before the Promise has finished his execution.
When you get the next express function, you must to call this. If you don't that, Express wouldn't call the next middleware. Even if you send a response in your middleware, you must call the next express function. But if you use Express, you certainly know this use case to send a response:
app.get("/", function (request, response) {
     response.send("data");
});

This code don't call the next express function. Express, call implicitly the next function for you ! It's an equivalent to:
app.get("/", function (request, response, next) {
     response.send("data");
     next();
});

Finally, I take your code in pure express implementation
app
 .get("/new", function (request, response) {
        response.send("data1");
  })
  .get("/:id", function (request, response) {
       response.send("data2");
  });

You will have a conflict and you will get an error when you call /new => headers are already sent.

To answer to your question, here the complete code:
 return new Promise((resolve, reject) => {

            let parameters, isPromise: boolean;

            localScope.next = reject;  // ! IMPORTANT

            Promise
                .resolve()
                .then(() => {
                     const result = handler()(...parameters);

                     isPromise = result && result.then;

                     return result;
                })
                .then((data) => {

                    if (data !== undefined) {
                        localScope.request.storeData(data);
                    }

                    if (!hasNextFn || isPromise) {
                        resolve(); // (1)
                    }
                })
                .catch(reject);

        })
            .then(
                () => {
                    next(); //  and (1)
                },
                (err) => {
                    next(err); // (2)
                }
            );

The function call that you pointed will be called in this cases:

Your method return Promise, so the script waiting the resolution of the promise. Final call is (1).

myMethod() {
   return Promise.resolve({});
}

=> isPromise  = true, hasNextFn = false

Your method invoke @Next() decorator, so in this case, I inject the reject() function in @Next() decorator. Final call is (2).

myMethod(@Next() next) {
    next() // or next(new Error());
}

=> isPromise  = false, hasNextFn = true

Your method return an Object directly. Final call is (1).

myMethod() {
   return {};
}

=> isPromise  = false, hasNextFn = false

Your method use classic call:

myMethod(request, response, next)

=> isPromise  = false, hasNextFn = true

Your method use next and Promise at the same time:

myMethod(@Next()){
    next("next data");
    return Promise.resolve("promise data");
}

=> isPromise  = true, hasNextFn = true
In this case, next will be called before the promise. I'm lucky because, the promise can be resolved once a time. So the final call is (2). If I resolve myMethod's promise before next(), it's works too, but the final call is (1). My recommendation is : not to use at the same time Promise and @Next().
But I know, I have one case where this script doesn't works fine:

Your method doesn't invoke next and doesn't return a Promise:

myMethod(request, response){}

=> isPromise  = false, hasNextFn = false
See you :)
Romain

When you get the next express function, you must to call this. If you don't that, Express wouldn't call the next middleware.
I tried a pure javascript installation of express to make sure this behavior is normal but unfortunately, the next middleware is never called without injecting next and calling it.

router.get('/test', function (req, res) {
  console.log(1); // logged and server hangs
}, function (req, res, next) {
  console.log(2); // never been called
  res.json();
});

And I returned to documentation but couldn't find any useful info about this bahaviour. Could you please refer to the documentation of Express for this?

Hi @m0uneer ,
In this case, I'm not sure if express follow the rules that I had explained.  I'll tried ASAP ;)
This example works:
router.use(function (req, res) {
  console.log(1); // logged and server hangs
})
.use(function (req, res, next) {
  console.log(2); // logged and server hangs
  next();
})

But It didn't work in this case:
router.use(function (req, res, next) { // next is injected but never called
  console.log(1); // logged and server hangs
})
.use(function (req, res, next) {
  console.log(2); // never log
  next();
})

Here a link on the middleware, maybe you can find the right explication:
http://expressjs.com/en/guide/writing-middleware.html
See you
Romain

I'm sorry, Romain, but you're the first and second example are not working... both only log 1 then server hangs and never log 2 (Tested with a fresh Express installation). The only way to call the next middleware is to inject next(); and call it (The Express way). But the scenarios you're talking about are not mentioned in the docs and unfortunately will not work.
Personally I like your implementation to call the next middleware only incase @next() is injected but I just highlight that this is not the default behaviour of express.
Back to my question, you recommended:

But in some case you need to send manually your response. In this case, don't return a promise.

Fine but what if I want to use async/await or return a promise and in the same time assert and return a custom response inside the controller method? This will require to inject the @response() and (implecitely) will be compiled to return a promise. For example
  public async getPost (@PathParams('postId') postId: number,
                                     @Response() res: Express.Response) {
    const hasAccess = await this.hasUserAccess(postId);
    if (!hasAccess) {
      res.status(401).json({
        level: 'core',
        redirectUrl: 'A URL'
      });
    }

    return this.postService.getPost(postId);
  }

As I undersand your point of view, this will work properly. So what do you think?

Hi @m0uneer,
I'm sorry for the bad example... I'm surprised too.
I have two proposal for your problem :
With Middleware
import {Unauthozised} from "ts-httpexceptions";

@Middleware()
export class AccessPostMiddleware {
   use(@PathParams('postId') postId: number, @Response() response, @Next() next) {
        if(!this.hasUserAccess(postId)) {
          next(new Unauthozised(json.stringify({
             level: 'core',
             redirectUrl: 'A URL'
          })));
        } else {
           next();
        }
   }

   private hasUserAccess(postId) {
      return true;
   }
}

@Controller("/")
class SomeClass {

   @Get("/:id")
   @UseBefore(AccessPostMiddleware)
   public async getPost (@PathParams("postId") postId: number) {
       return this.postService.getPost(postId);
   }
}

In addition, you can create your custom decorator like this:
export function AccessPost (target, propertyKey, descriptor) {
    return UseBefore(AccessMiddleware)(target, propertyKey, descriptor);
}

then:
@Controller("/")
class SomeClass {

   @Get("/:id")
   @AccessPost
   public async getPost (@PathParams("postId") postId: number) {
       return this.postService.getPost(postId);
   }
}

With throwing exception
import {Unauthozised} from "ts-httpexceptions";
class PostCtrl {
  @Get('/posts')
  public async getPost (@PathParams('postId') postId: number) {

    const hasAccess = await this.hasUserAccess(postId);

    if (!hasAccess) {
      throws new Unauthozised(json.stringify({
        level: 'core',
        redirectUrl: 'A URL'
      }));

      return;
    }

    return this.postService.getPost(postId);
  }

  @Get('/:id')
  public async anyDummyMethod (){
  }
}

Middleware approach is more reusable (with decorator). But it's maybe overkill in your case ^^.
Actually, I work on your problem to solve it in the future version. But, promisify express middleware it's very hard with all possible use case...
See you,
Romain

Thanks Romain for your proposals, but they both don't solve the problem of the conflict. Also the way you throw the Exception will return a stringified error message and not a json.
Waiting for your prompt response :)

Hi Romain,
Any news about this issue? and  I think it should be open not to be forgotten.
Thanks for your help

Hi @m0uneer ,
My apologize :(
Have you test the 1.4.11 ? I've added some fix about this feature. If this version didn't solve it, you can set the debug option to true on the serverSettings.
@ServerSettings({debug: true})
class Server extends ServerLoader {}

Send me the log trace when you have your error :) (since the first trace with incoming request).
See you,
Romain

Thanks, Romain,
I tried your last version but routes still conflict.
This is an example (of many) to reproduce the conflict
  @Get('/test')
  public test () {
    return 'test';
  }

  @Get('/:id')
  public get (@PathParams('id') id: number) {
    return 'id';
  }

Log Trace:
[DEBUG] [#1] -- Incoming request --------------------------------------------------------
[DEBUG] [#1] Route => GET /api/test
[DEBUG] [#1] Request.id => 1
[DEBUG] [#1] Headers => {"host":"<IP_ADDRESS>:3020","connection":"keep-alive","postman-token":"1f5979d6-aec3-0bc4-11fb-aa1c555424c4","cache-control":"no-cache","x-postman-interceptor-id":"79cdef0f-5d41-1789-6dc7-d240ff1ec67f","xsrf-token":"P4OFDp6A-a12J4GvdL-t3TCO7YcFecqBa07w","user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36","content-type":"application/json","accept":"*/*","accept-encoding":"gzip, deflate, sdch, br","accept-language":"en-US,en;q=0.8,ar;q=0.6,ru;q=0.4,nl;q=0.2","cookie":"connect.sid=s%3AQtiXZlJ6-nFj6Rg5Hqw0YTOH62HnzG5J.tQj9yaWp6vRLetRjnpT7X6UtDJU2htbsEc1FXAMroWs"}
[DEBUG] [#1] ----------------------------------------------------------------------------
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":false}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"cookieParser","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"cookieParser","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"compression","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"compression","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"jsonParser","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"jsonParser","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"urlencodedParser","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"urlencodedParser","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"session","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"session","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"bound initialize","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"bound initialize","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"bound authenticate","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"bound authenticate","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[WARN ] [#1] [INVOKE][DUPLICATE] The handler have been resolved twice. See your code and find if you use @Next() and Promise at the same time.
[WARN ] [#1] [INVOKE][DUPLICATE] Trace: {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true,"returnPromise":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true,"returnPromise":true}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true,"returnPromise":true}
[DEBUG] [#1] Endpoint => {"target":"Ctrl","methodClass":"test","httpMethod":"get"}
[DEBUG] [#1] [INVOKE][START] {"type":"ENDPOINT","target":"Ctrl","methodName":"test","injectable":false,"hasNextFn":false}
[DEBUG] [#1] [INVOKE][END  ] {"type":"ENDPOINT","target":"Ctrl","methodName":"test","injectable":false,"hasNextFn":false,"data":"test"}
[DEBUG] [#1] [INVOKE][START] {"type":"MIDDLEWARE","target":"SendResponseMiddleware","methodName":"use","injectable":true,"hasNextFn":false}
[WARN ] [#1] [INVOKE][DUPLICATE] The handler have been resolved twice. See your code and find if you use @Next() and Promise at the same time.
[WARN ] [#1] [INVOKE][DUPLICATE] Trace: {"type":"MIDDLEWARE","target":"anonymous","injectable":false,"hasNextFn":true,"returnPromise":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"MIDDLEWARE","target":"SendResponseMiddleware","methodName":"use","injectable":true,"hasNextFn":false}
[DEBUG] [#1] Endpoint => {"target":"Ctrl","methodClass":"get","httpMethod":"get"}
[DEBUG] [#1] [INVOKE][START] {"type":"ENDPOINT","target":"Ctrl","methodName":"get","injectable":true,"hasNextFn":false}
[WARN ] [#1] [INVOKE] {"name":"BAD_REQUEST","type":"HTTP_EXCEPTION","status":400,"message":"Bad request, parameter request.params.id. Cast error. Expression value is not a number."}

[DEBUG] [#1] [INVOKE][START] {"type":"ERROR","target":"bound $onError","injectable":false,"hasNextFn":true}
BadRequest {
  name: 'BAD_REQUEST',
  type: 'HTTP_EXCEPTION',
  status: 400,
  message: 'Bad request, parameter request.params.id. Cast error. Expression value is not a number.' }
[DEBUG] [#1] [INVOKE][START] {"type":"ERROR","target":"GlobalErrorHandlerMiddleware","methodName":"use","injectable":true,"hasNextFn":true}
[DEBUG] [#1] [INVOKE][END  ] {"type":"ERROR","target":"GlobalErrorHandlerMiddleware","methodName":"use","injectable":true,"hasNextFn":true,"error":{}}
[WARN ] [#1] [INVOKE] Error: Can't set headers after they are sent.
    at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:346:11)
    at ServerResponse.header (server/node_modules/express/lib/response.js:730:10)
    at ServerResponse.res.json (server/dist/app.js:131:28)
    at Server.$onError (server/dist/app.js:216:13)
    at server/node_modules/ts-express-decorators/src/services/middleware.ts:283:45
    at propagateAslWrapper (server/node_modules/async-listener/index.js:468:23)
    at server/node_modules/async-listener/glue.js:188:31
    at server/node_modules/async-listener/index.js:505:70
    at server/node_modules/async-listener/glue.js:188:31
[WARN ] [#1] [INVOKE] Error: Can't set headers after they are sent.
    at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:346:11)
    at ServerResponse.header (server/node_modules/express/lib/response.js:730:10)
    at ServerResponse.res.json (server/dist/app.js:131:28)
    at Server.$onError (server/dist/app.js:216:13)
    at server/node_modules/ts-express-decorators/src/services/middleware.ts:283:45
    at propagateAslWrapper (server/node_modules/async-listener/index.js:468:23)
    at server/node_modules/async-listener/glue.js:188:31
    at server/node_modules/async-listener/index.js:505:70
    at server/node_modules/async-listener/glue.js:188:31
info: GET /api/test 400 959ms statusCode=400, url=/api/test, host=<IP_ADDRESS>:3020, connection=keep-alive, postman-token=1f5979d6-aec3-0bc4-11fb-aa1c555424c4, cache-control=no-cache, x-postman-interceptor-id=79cdef0f-5d41-1789-6dc7-d240ff1ec67f, xsrf-token=P4OFDp6A-a12J4GvdL-t3TCO7YcFecqBa07w, user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36, content-type=application/json, accept=*/*, accept-encoding=gzip, deflate, sdch, br, accept-language=en-US,en;q=0.8,ar;q=0.6,ru;q=0.4,nl;q=0.2, cookie=connect.sid=s%3AQtiXZlJ6-nFj6Rg5Hqw0YTOH62HnzG5J.tQj9yaWp6vRLetRjnpT7X6UtDJU2htbsEc1FXAMroWs, method=GET, httpVersion=1.1, originalUrl=/api/test, , responseTime=959
Error: Can't set headers after they are sent.
    at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:346:11)
    at ServerResponse.header (server/node_modules/express/lib/response.js:730:10)
    at ServerResponse.res.json (server/dist/app.js:131:28)
    at Server.$onError (server/dist/app.js:216:13)
    at server/node_modules/ts-express-decorators/src/services/middleware.ts:283:45
    at propagateAslWrapper (server/node_modules/async-listener/index.js:468:23)
    at server/node_modules/async-listener/glue.js:188:31
    at server/node_modules/async-listener/index.js:505:70
    at server/node_modules/async-listener/glue.js:188:31

The Express way, a request to  /test should response with 'test' and should never - by any mean - reach /:id. We, thankfully, agreed on this on the previous replies. And also agreed that the only way to let the request reach /:id is to call next() explicitly, this is Express.
You're implementations consider some useful use cases but they are strange for someone familiar with Express known use cases. Also, those implementations are causing problems and there are no working proposals from your replies above.
Thanks for your sincere patience and support, Romain
Mouneer

Hi @m0uneer ,
I'll fix that ASAP. Thanks for the log trace :)
Romain

Thanks, Romain :)

HI @m0uneer ,
It's fixed :D  v1.4.12
See you

Thanks, Romain,
The conflict itself has been fixed but what if I want to navigate through two route handlers
  @Get('/:id')
  public assert (@PathParams('id') id: number,
                         @Next() next: Function) {
    return assert().then(() => { // Please notice that `return` here is not optional if i want use async/await. e,i `public async assert()`.
      next(); // I expect `next()` to call the next handler but it doesn't.
    });
  }

  @Get('/:id')
  public get (@PathParams('id') id: number) {
    // This handler isn't called.
    return 'id';
  }

Thanks a lot Romain

I thinks if you try the same example in express version, you'll have the same problem :)
(I'm sure because I'd just tested this case).
Here the pure express implementation:
app.get(':id', (request, response, next) => {
   console.log('ID1');
   Promise.resolve().then(() => {
      next();
    });
})

app.get(':id', (request, response) => { // will be ignored by express
   console.log('ID1');
   response.send("id")
})

I thinks your approach isn't the good way. Two handler on the same route add twice with app.get() (or other method) will give a problem.
If you need to have to handler on same route, you need to use the first handler as middleware and the second as an Endpoint.
So you can solve your problem like this:
  public assert (@PathParams('id') id: number,
                         @Next() next: Function) {
    return Promise.resolve().then(() => {
      next(); // not necessary normally but why not, I accept this challenge :p
    });
  }

  @Get('/:id', this.assert)
  public get (@PathParams('id') id: number) {
    // This handler isn't called.
    return 'id';
  }

This solution is described on https://github.com/Romakita/ts-express-decorators/wiki/Controllers

But with the experience, I'll preferred to use Middleware abstraction with the decorators.
Maybe you case try this:
@Middleware()
export class CustomMiddleware {
   use(@PathParams('id') id: number,
                         @Next() next: Function) {
      return Promise.resolve().then(() => {
         next(); // not necessary normally but why not, I accept this challenge :p
      });
   }
}

@Controller("/")
class SomeClass {

  @Get("/:id")
  @UseBefore(CustomMiddleware)
  public get (@PathParams('id') id: number) {
    // This handler isn't called.
    return 'id';
  }
}

You can see the middleware documentation https://github.com/Romakita/ts-express-decorators/wiki/Middlewares

You have the choice :)
See you,
Romain

I will try it myself today and let you know ... thanks again Romain

I thinks if you try the same example in express version, you'll have the same problem :)
(I'm sure because I'd just tested this case).

Unfortunately, I tried it and I found it valid express implementation. (I'm also sure :D, I've just tested it)
Also, I see that my approach is good because:

I'm filtering the requests. I don't need the request reach the endpoint if it has something wrong.
I agree that it can be reached with a decorator or a middleware, but I see (depending on use cases) it just duplications. Why should I add the decorator/middleware for each endpoint? this also increases the potential of a human mistake.
more code, dependencies, testing, maintenance, ...

So I see it's a bug :)
Thanks, Romain

Well, if your example with Express work can you forward me  the code. Maybe I forgot something.

Sorry. I'll just re tested this case with another projet and you've right... never answer to a question when I'm tired XD. I'll inspect the problem and fix that.

Fixed with v1.4.15

Great Romain ... Thanks for your support :)

@m0uneer And thanks for your patience ^^.

@Romakita seems this bug raised up in v5.9.0 again

Hi @ArtemDerevnjuk,
I’ll check that tomorrow, but It should works. It’s covered by one of my e2e test :)

Hello @ArtemDerevnjuk
For me all works as expected.
Here e2e test https://github.com/TypedProject/ts-express-decorators/blob/production/test/integration/response.spec.ts
And his controller with the different response scenario:
https://github.com/TypedProject/ts-express-decorators/blob/production/test/integration/app/controllers/responses/ResponseScenarioCtrl.ts
Can check different example and tell if one of this match with your usecase/issue or not. Probably I missed something, but today all usecases described in ResponseScenarioCtrl are officially supported.
See you,
Romain

@Romakita Hi) Thanks for quick reply!
I'll test again, if I find something I'll write you here.

Problem with the different endpoints which have the same or near route pattern. In progress

sorry for commenting on an old post, but i just want to make sure, that there are no code fix/improvement for this un-orderly path declaration?
e.g if i have something like below
  @Get("/:documentId")
  @(Returns(200, Document).Description("get single document"))
  getByDocumentId(
    @HeaderParams("x-token") token: string,
    @PathParams("documentId") documentId: number
  ): Document {
    return this.documentService.getDocumentById(documentId);
  }

  @Get("/q")
  @(Returns(200, Array).Of(Document).Description("search documents"))
  getBySearch(
    @HeaderParams("x-token") token: string,
    @QueryParams("content") searchText: string
  ): Document[] {
    return this.documentService.getDocuments();
  }

i'd have to switch and declare /q  before /:documentId like below?
  @Get("/q")
  @(Returns(200, Array).Of(Document).Description("search documents"))
  getBySearch(
    @HeaderParams("x-token") token: string,
    @QueryParams("content") searchText: string
  ): Document[] {
    return this.documentService.getDocuments();
  }

  @Get("/:documentId")
  @(Returns(200, Document).Description("get single document"))
  getByDocumentId(
    @HeaderParams("x-token") token: string,
    @PathParams("documentId") documentId: number
  ): Document {
    return this.documentService.getDocumentById(documentId);
  }

to prevent  request went to /:documentId instead of /q, is it like that?

@vembry yes you have to switch methode order (like with a pure express app).

i apologize, apparently it's already covered in the documentation here

No worries ;)


Error:Failed to crunch file C:\Users\xyz\Desktop\FaceTracker\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\24.2.0\res\drawable-hdpi-v4\abc_ic_menu_share_mtrl_alpha.png

Error:Failed to crunch file C:\Users\xyz\Desktop\FaceTracker\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\24.2.0\res\drawable-hdpi-v4\abc_ic_menu_share_mtrl_alpha.png
into C:\Users\xyz\Desktop\FaceTracker\app\build\intermediates\res\merged\debug\drawable-hdpi-v4\abc_ic_menu_share_mtrl_alpha.png
How to fix it ?

This seems like a general windows related problem. [http://stackoverflow.com/questions/34477333/why-i-get-some-file-crunching-failed-after-i-rename-drawable-file-to-9-png](crunch file error in windows)

Oke i will fix
Thanks and Regard's,

Muhammad Nurcahyo Pratomo*

Web Blogger       = My Blogger
http://muhammadnurcahyopratomo.blogspot.com/
Web Academia   = My Academia
https://maulinamutiaranate.academia.edu/MuhammadNurcahyoPratomo
Web Facebook    =  My Facebook
https://www.facebook.com/mnurcahyopratomo

On Fri, Mar 10, 2017 at 8:29 PM, Sudip Bhandari<EMAIL_ADDRESS>wrote:

This seems like a general windows related problem. [
http://stackoverflow.com/questions/34477333/why-i-get-
some-file-crunching-failed-after-i-rename-drawable-file-to-9-png](crunch
file error in windows)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googlesamples/android-vision/issues/195#issuecomment-285668943,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF6i19j9UJDZeqm8IK2wbzOjllp-MwXPks5rkVAvgaJpZM4MOo7v
.


Issue in jsonutils:fromTable

There is an issue in fromTable method in the jsonutils. (ballerina v1.0.3)
e.g. (error) -
import ballerina/log;
import ballerina/io;
import ballerinax/java.jdbc;
import ballerina/http;

import ballerina/jsonutils;

jdbc:Client sampleDB = new({
    url: "jdbc:mysql://localhost:3306/sample",
    username: "root",
    password: "",
    poolOptions: { maximumPoolSize: 5 },
    dbOptions: { useSSL: false }
});

type departments record {
    int dept_no;
    string dept_name;
};

@http:ServiceConfig {
    basePath: "/hello"
}
service sampleService on new http:Listener(9090) {

    @http:ResourceConfig {
        methods: ["GET"],
        path: "/hello/{departmentId}"
    }
    resource function sampleResource(http:Caller caller, http:Request req,  int departmentId) {

        int i = 0;
        while(i<10){

            var selectRet1 = sampleDB->select("SELECT * FROM departments where dept_no=?", departments,departmentId);
            if (selectRet1 is table<departments>) {
                json[] jsonConversionRet1 = <json[]>jsonutils:fromTable(selectRet1);
                string s = <string> jsonConversionRet1[0].dept_name;
                io:println("Counter: "+i.toString());
                io:println("DepartmentName: "+s);
            }
            else {
                error err = selectRet1;
                io:println("Select data from department table failed: ",<string> err.detail()["message"]);
            }

            i=i+1;
        }

        var result = caller->respond(<@untainted> "Hello, Service Works!");

        if (result is error) {
            log:printError("Error sending response", result);
        }
    }
}

Output (Error) :
Counter: 0
DepartmentName: Support
Counter: 1
DepartmentName: Support
Counter: 2
DepartmentName: Support
Counter: 3
DepartmentName: Support
Counter: 4
DepartmentName: Support
Select data from department table failed: failed to execute select query: error while getting the connection for ClientConnector. HikariPool-1 - Connection is not available, request timed out after 30000ms..
The error seems to be coming from jsonutils:fromTable which exhausts the MySQL database by not releasing the connections. As a solution(See below code snippet) the jsonutils:fromTable is replaced with .hasNext() and .getNext() methods. Here the dept_name is accessed through a record type.
But the problem here is that the table cannot be directly converted to json. We have to get the values from the record and construct the json.
e.g. (fix) -
import ballerina/log;
import ballerina/io;
import ballerinax/java.jdbc;
import ballerina/http;

jdbc:Client sampleDB = new({
    url: "jdbc:mysql://localhost:3306/sample",
    username: "root",
    password: "",
    poolOptions: { maximumPoolSize: 5 },
    dbOptions: { useSSL: false }
});

type departments record {
    int dept_no;
    string dept_name;
};

@http:ServiceConfig {
    basePath: "/hello"
}
service sampleService on new http:Listener(9090) {

    @http:ResourceConfig {
        methods: ["GET"],
        path: "/hello/{departmentId}"
    }
    resource function sampleResource(http:Caller caller, http:Request req,  int departmentId) {

        int i = 0;
        while(i<10){

            var selectRet1 = sampleDB->select("SELECT * FROM departments where dept_no=?", departments,departmentId);
            if (selectRet1 is table<departments>) {

                anydata x;
                string s="";

                while(selectRet1.hasNext()){
                    x = selectRet1.getNext();
                }
                if(x is record{}){
                    s = <string>x["dept_name"];
                }

                io:println("Counter: "+i.toString());
                io:println("DepartmentName: "+s);
            }
            else {
                error err = selectRet1;
                io:println("Select data from department table failed: ",<string> err.detail()["message"]);
            }

            i=i+1;
        }

        var result = caller->respond(<@untainted> "Hello, Service Works!");

        if (result is error) {
            log:printError("Error sending response", result);
        }
    }
}

Output  :
Counter: 0
DepartmentName: Support
Counter: 1
DepartmentName: Support
Counter: 2
DepartmentName: Support
Counter: 3
DepartmentName: Support
Counter: 4
DepartmentName: Support
Counter: 5
DepartmentName: Support
Counter: 6
DepartmentName: Support
Counter: 7
DepartmentName: Support
Counter: 8
DepartmentName: Support
Counter: 9
DepartmentName: Support
MySQL Table Structure:  Please find the attachment below (mysql.png)

This is the expected behavior of the table to JSON conversion.  With the below two lines, you are creating JSON and accessing only the first element of the JSON array (i.e. json data is not fully consumed)
json[] jsonConversionRet1 = <json[]>jsonutils:fromTable(selectRet1);
string s = <string> jsonConversionRet1[0].dept_name;

In ballerina, table to json or xml conversion happens on demand.   That means the full result does not build in the server but happens only when it is accessed. This allows unlimited payload sizes in the results, especially when we stream out the data to a service client. In the above two lines, json data is not fully consumed. In ballerina, the underlying database connection associated with table is automatically released, only if the table data is fully consumed(i.e. fully iterated via a foreach or while loop, json or xml converted data fully consumed). Otherwise, the connection will remain open assuming the payload will access later.
So you have two options here.

Close the table manually within the if clause.

if (selectRet1 is table<departments>) {
                json[] jsonConversionRet1 = <json[]>jsonutils:fromTable(selectRet1);
                string s = <string> jsonConversionRet1[0].dept_name;
                io:println("Counter: "+i.toString());
                io:println("DepartmentName: "+s);
                selectRet1.close();
            }

I don't see a real requirement of converting the table to json here as you are only accessing the returned data rows and json conversion is somewhat performance heavy operation as well. So instead of converting to json you can iterate the table directly and get the data as follows.

if (selectRet1 is table<departments>) {
                foreach departments row in selectRet1 {
                    io:println("Counter: "+i.toString());
                    io:println("DepartmentName: "+row.dept_name);
                }
            }

Since this is not issue, we are closing the issue. If you need further clarifications, feel free to reopen the issue.


CLI and collector readmes

I think this ready to go, unless you want to make another pass @nathanaschbacher.


Split equipment locations into their own subsections

Decided to not do this so gear can easily be moved around


Local conditioning for TTS

Hi guys,
I've given a little thought on local conditioning, with the final goal of training the network to do TTS.
I am by no means an expert in this domain, I've just tried to come up with some ideas for the task that seamed reasonable to me (but could very well be trivial or wrong). I would love to hear your opinion on this.
So here's how I imagine this to work:
Let's take an input text T that we would like to use as a local condition to the net. Each entry T(i) is a one-hot encoding of a character (so T(i) has dimension 30 or something). We might add two special characters START and END. We could first compute a vector TT in order to roughly identify phonemes from small groups of contiguous letters. Say we use 3 letters, so phoneme i will be defined as
TT(i) = f(T(i-1)*w1 + T(i)*w2 + T(i+1)*w3)
where f is some nonlinear function (sigmoid or similar) acting pointwise on the input vector.
We can associate a feature vector H(i) to each phoneme i, intuitively describing how it sounds. So we can write
H = f(W_H*TT)
Now we need to find a scalar duration S(i) for each phoneme i, giving a measure of how much it will last. We could do it by quantizing a set of possible durations and then defining
S = soft_max(W_S*TT)
Now we need to transform this into a local condition at sample t. This conditioning L(t) could be defined as a "weighted" mixture between neighboring phonemes
L(t) = sum_i H(i)*N((t-M(i,t))/S(i))
where N denotes the gaussian pdf and M(i,t) is the position of phoneme i in the sample, as seen from sample t. We could model instead MM(i,t) = M(i,t)-M(i-1,t), so we can impose that all components be positive.
The process could be initialized with uniform spacing of phonemes over the wave, i.e. MM(i,0) = sample_size/text_size. But then it can evolve as the wave progresses. So for example the position of the first phoneme M(1, t) could get delayed over time with respect to the initial value, if the wave realizes that it's mostly generating silence at the beginning.
The processes MM(i,) could be modeled using a RNN (or a set of RNNs?) in a way that I haven't completely figured out. The idea is however that its generation be conditioned on input and dilation layers of the original wavenet, and that everything be trained as one single net.
A potential issue that I see is that this has to be trained using a sample size that contains all the given text, since cutting the input text in the middle of a sentence is always somehow arbitrary as you can never be sure that the sound waves contain the corresponding text after the split. So this can be computationally challenging.
What do you think? Has something like this already been done?

@beppeben in case you haven't seen it, there's a long thread on local and global condition here https://github.com/ibab/tensorflow-wavenet/issues/112#issuecomment-280829614.

@rafaelvalle oh yeah, I should have posted it there sorry...

@beppeben no sweat, remember to close the issue!


failed to virtualize API again with a image

API-Mgr. CLI version
1.10.1
API-Manager and Service-Pack Version
Expected behavior
update api in api manager with a image
Actual behavior
the import failed with an error 403 Cannot update API-Proxy. If we remove the image reference from the api-config.json, we can import again the API.
Log-Output in Debug
Module: API - I M P O R T (1.10.1)
3422   INFO     APIManagerAdapter| Successfully connected to API-Manager (7.7.20211130) on: https://api-env:19617/
3838   INFO  IImportConfigAdapter| Loaded stage API-Config from file: /home/axway/.jenkins/jobs/demo-accelerate-platform/branches/design/workspace/api-config.mck.json
3844   INFO  SpecificationFactory| Reading API-Definition (Swagger/WSDL) from file: 'backend/endpoints/gtfs-2.yaml' (relative path)
3978   INFO  SpecificationFactory| Detected: Open API 3.0 (YAML) specification.
4173   INFO  IImportConfigAdapter| Loading image from: '/home/axway/.jenkins/jobs/demo-accelerate-platform/branches/design/workspace/assets/images/Transilien_(RATP).png'
4268   INFO          APIImportApp| Lookup actual API based on Path: /demo/gtfs/api/v1
5382   INFO  APIManagerAPIAdapter| Found existing API: 'GTFS' (published) on path: '/demo/gtfs/api/v1' (ID: '73c6f958-90ae-463e-9523-15fb070884e5')
5855   INFO      APIImportManager| Recognized the following changes. Potentially Breaking: [] plus Non-Breaking: [image]
5856   INFO      APIImportManager| Update API Strategy: All changes can be applied in current state.
5856   INFO     UpdateExistingAPI| Update existing published API: 'GTFS' 1.0.0 (ID: 73c6f958-90ae-463e-9523-15fb070884e5)
5857   INFO        APIChangeState| Updating Frontend-API (Proxy) for the following properties: image
5925   ERROR APIManagerAPIAdapter| Error updating API-Proxy. Response-Code: 403. Got response: '{"errors":[{"code":403,"message":"Cannot modify a published API"}]}'
5927   INFO          AppException| You may enable debug to get more details. See: https://github.com/Axway-API-Management-Plus/apim-cli/wiki/9.1.-Enable-Debug
5928   ERROR         AppException| Cannot update API-Proxy.
| Error updating API-Proxy. Response-Code: 403
Test case sample

Please describe the steps you have done to replicate the issue
home/axway/demo/apim-cli-1.10.1/scripts/apim.sh api import -force -s mck -c api-config.json -a backend/endpoints/gtfs-2.yaml
Put an image reference in api-config, import the api to API manager.
try to import again to api manager.

Hi @sbui-axway, I saw this problem the other day, but not with the API-Image, but instead with the API-Description. Both properties can be modified for a published API.
I solved this problem by restarting the API-Manager. Can you please try the same and let me know?


Secondary badges do not meet color contrast requirements

•	Element has insufficient color contrast of 3.03 (foreground color: #ffffff, background color: #1aaa55, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
•	WCAG 1.4.3 Contrast (Minimum)
•	Recommendation: Darken the text to meet the requirement.

The background color should as #757575 in
.badge-secondary {     color: #fff;     background-color: #757575; }

I misreported this one - it's not the badge component but the Filters.Active badges:

If you go to the search components example and select some states as filters, some badges will appear. Those are the active filter components:
https://osuresearch.github.io/ui/v4/#/Search Components?id=section-filters

This is also specifically a problem with the hover state for them:


tickets/DM-34540: Send list of enabled services to telegraf/ds

Oh well.  The generated config looked fine enough to me, but the error is Helm Obtuseness for "hey you generated a resource that isn't a K8s resource".  This is part of the overall trouble I'm having with when YAML is an object and when it's a string.
I'll try replacing the string-that-looks-like-a-YAML-list with a straight-up comma-separated string, and see about unpacking it on the telegraf/ds side.

Oh that's interesting.  Something that differs between idfdev and minikube is what's causing it to choke.

minikube / roe / [squash-sandbox] / stable / tucson-teststand
That's a very strange list.


unable to open PVA bot in bot composer. getting error failed, reason: unable to get local issuer certificate

We are using PVA bot and while opening the PVA bot in bot composer we got the prompt to load the project in bot composer, but nothing is happening. When we run the Bot composer in debug mode, we got the below error.
Error: Error while trying to download the bot content: request to https://powerva.microsoft.com/api/botmanagement/v1/environments/8ab2aa46-eb10-4391-827c-d368a88186ca/bots/35e4c6ce-43d9-4a1a-948f-8e9414b044ce/composer/content?includeTopics=true failed, reason: unable to get local issuer certificate

Thanks @dvashisth11, we are investigating.

Hi @dvashisth11,
Asking few clarifying questions:

What Operating System are you using?
What version of Composer are you using?
Are you behind a network proxy or restricted internet access?

One of the customer has reported similar issue where he is trying to export bot in PVA to Bot Framework Composer but nothing is happening. Looking into network trace found 500 for below request:
/api/import/pva?payload=%7B%22botId%22%3A%221304ac3c-5a9c-4e83-89c9-a20aed736a54%22%2C%22envId%22%3A%222f32cee1-6a79-4d7d-b3ea-6d5f1d83c830%22%2C%22tenantId%22%3A%22a1fdea56-3201-4d00-9b76-661338850557%22%2C%22name%22%3A%22Testing%20Bot%22%2C%22baseUrl%22%3A%22https%3A%2F%2Fpowerva.microsoft.com%2Fapi%2Fbotmanagement%2Fv1%22%7D
with
error - Error importing bot content: Error: Error while trying to download the bot content and
reason - self signed certificate in certificate chain

Hi @dvashisth11,
Have you had a chance to follow the Configure a proxy server documentation?
https://docs.microsoft.com/en-us/composer/configure-composer-proxy?tabs=windows

Hi @dvashisth11, any updates on this?

Hi @ramfattah, I am checking with customer. They have some firewall issue also. Will update you once get any update from customer.

@dvashisth11 any update on this? Thanks

closing due to inactivity. Please re-open if needed.


http://www.bbc.co.uk/guidelines/futuremedia/accessibility/mobile/summary shows white page

http://www.bbc.co.uk/guidelines/futuremedia/accessibility/mobile/summary shows white page on Chrome/Firefox (Ubuntu 18.04). Content displays briefly then fades out.. :)

Hi @kylekirkby.
That is the old URL - the new URL is https://www.bbc.co.uk/accessibility/forproducts/guides/mobile/ and #297 is already open to update all the links to the new site.

@andymsuk - thank you!


[Snackbar][Desktop/Firefox] - icon is not aligned

@mladenplaninicic can you check this? Already fixed?


STORM-2009 port org.apache.storm.blobstore.clj and org.apache.storm.command.blobstore.clj to Java

STORM-2009
Manually tested various commands.

Looks great. +1

+1, LGTM


Include jet weights in their *MR calculations

This means we are now commiting to their costs.

Fixes #160 .


Build a landing page for starter kit

Landing page sections

Hero section
Feature section
Pricing section
FAQ section

This issue is addressed in #61
Please review.


Failing pipeline buildAndDeployDotNetWebApp.yaml stage "Deploy Azure Web App"

Describe the bug
Encountering error in the Azure DevOps pipeline \yaml\templates\buildAndDeployDotNetWebApp.yaml at the stage _displayName: "Deploy Azure Web App: ${{ parameters.webAppName }}".
with the message "##[error]Error: No package found with specified pattern: /home/vsts/work/1/s/output/zipDeploy/dbsilvidetest.zipCheck if the package mentioned in the task is published as an artifact in the build or a previous stage and downloaded in the current job."
Full output:
Starting: Deploy Azure Web App: dbsilvidetest
==============================================================================
Task         : Azure Web App
Description  : Deploy an Azure Web App for Linux or Windows
Version      : 1.187.0
Author       : Microsoft Corporation
Help         : https://aka.ms/azurewebapptroubleshooting
==============================================================================
Got service connection details for Azure App Service:'dbsilvidetest'
##[error]Error: No package found with specified pattern: /home/vsts/work/1/s/output/zipDeploy/dbsilvidetest.zip<br/>Check if the package mentioned in the task is published as an artifact in the build or a previous stage and downloaded in the current job.
Finishing: Deploy Azure Web App: dbsilvidetest

Version
Version:  2.1.1
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0

Browser

[ ] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[x] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:
See above and below description
Expected behavior
FWIW, given that the previous step (and all the other steps) completed successfully I was not expecting issue in the deployment to Azure.  Here the output from Publish build artifacts step.
Starting: Publish build artifacts
==============================================================================
Task         : Publish build artifacts
Description  : Publish build artifacts to Azure Pipelines or a Windows file share
Version      : 1.192.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/publish-build-artifacts
==============================================================================
Async Command Start: Upload Artifact
Uploading 1 files
File upload succeed.
Upload '/home/vsts/work/1/s/output/zipDeploy' to file container: '#/15136736/BuildArtifacts-44'
Associated artifact 17 with build 44
Async Command End: Upload Artifact
Finishing: Publish build artifacts

Screenshots

Additional context
I retrieve the sample pipilines from https://github.com/gabog/ComposerCICDSamples, only change applied I commented the "Publish QnA Maker KBs" in build\yaml\templates\buildAndDeployModels.yaml.
The bot has already been successfully published from Bot Composer to Azure.

Any update on this please?
I still couldn't find a solid document on build and release pipeline for composer built bots.
@dabedin please can you let us update.

Hi @dabedin , we reviewed this issue and found that the sample was moved to the BotBuilder-Samples repo.
We were able to configure and run the pipeline with no issues. Also, the deployed webApp worked as expected.
@tracyboehrer , we think this issue can be closed.


Refactor UART and allow UART via DMA (not enabled by default yet)

Description
Refactoring of UART and Comms:

make comms a class rather than a collection of static stuff
remove UART registers from h file
communalize UART and UART_DMA interface
allow better mocking of UART
define UART channels independently from hal, and remove hal accessors to UART

Tested on my ventilator (pizza s/n 7) with both default (UART handled by SW) and stm32-uart environments. We could at this point remove stm32-uart and get rid of all the #if !defined(UART_VIA_DMA) content, though I would prefer another tester to have a look at this before going forward.
Update from @inceptionev's tests: synchronization of the GUI->controller data seems not to work properly when using UART_VIA_DMA, which seems due to the fact that if the GUI starts sending data before the comms module has initiated a transfer (by calling uart_->StartRx([...])), the beginning of the data is lost to the controller, but DMA always handles GuiStatusSize bytes, leading to composite messages being sent to comms, which cannot de-serialize them.
Updates #1184, leaving it with only stepper/SPI to disentangle.
TODO:

[x] address cppcheck and clangtidy warnings.
[ ] address DMA issue (framing PR, in progress)

General checklist:

[x] I have performed a self-review, including - looked through the Files changed tab, browsed repository in my branch
[ ] I have made corresponding changes to the documentation - to reflect changes in code, electrical or mechanical design
[x] All new documentation or graphics follow the documentation style guide
[x] All new content is linked, easily discoverable, does not require too many clicks
[x] I have reviewed any other relevant parts of our contributor wiki to ensure that this PR conforms to the standards
[x] I have given the PR a descriptive name (prefixed with WIP if it is not yet ready for review)
[x] I have tagged relevant reviewers

Code checklist:

[x] All new code follows our code style
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have described tests I used to verify my changes, instructions for reproducing them and any relevant configuration details.
[x] I ran the unit test suite and verified that all tests pass - new and old, locally and on CI
[x] I performed a clean build and verified that there were no warnings
[x] I ran our static analysis tools and verified there were no warnings
[x] Any dependent changes have been merged and published in downstream modules
[x] All source files have license headers

To whom it may concern - I've been invited to do a code review on this PR. I will do my best and try to provide some
comments. Since I really do not know the architecture that well and certainly not the microcontrollers, etc. my comments
will very likely be a random selection of stuff I have observed. Feel free to ignore. I will start looking at this today.


Adds RBAC config for Helm

Helm requires a ClusterRoleBinding in RBAC-enabled cluster, included in this PR.

To clarify: this PR makes Helm's server component (tiller) a cluster admin, yeah?

@SteveMarshall yes - that's not something we'd want to do long-term, but it lets us make use of Helm right now

more info


Submitting empty attributes

Previous issues:

https://github.com/puppetlabs/prosvcs-node_manager/issues/48
https://github.com/puppetlabs/prosvcs-node_manager/issues/36

If you're trying to remove all classification or remove all rules, you might try:
node_group { 'test':
  rule    => [],
  classes => {},
}

...but this translates to undef and so it's an unmanaged attribute.  Need a feature to be able to submit an empty value to clear out what is there.

Fixed in https://github.com/WhatsARanjit/prosvcs-node_manager/pull/14.


Update README upload section

The direct file usage is deprecated
https://github.com/zino-app/graphql-flutter/blob/master/packages/graphql/lib/src/link/http/link_http_helper_deprecated_io.dart#L24
Breaking changes

no

Docs

Updated - upload file README section

@micimize @mainawycliffe
Could you take a look on this PR?

@vasilich6107 don't tag maintainers just because you want your PR looked at.
What's the reason for this change? Is there something wrong with import 'dart:io' show File;?

The direct file usage is deprecated
https://github.com/zino-app/graphql-flutter/blob/master/packages/graphql/lib/src/link/http/link_http_helper_deprecated_io.dart#L24

How should I act to get any attention?
I'm asking cause my PR #540 was waiting to be merged from 16th of Jan...

@vasilich6107 the discord is a better place to ask for attention for a specific issue, mainly because everyone you tag gets subscribed.
That said, your concern with responsiveness here is fair. I've decided to make graphql_flutter a personal priority, so I should be spending more time on issues in general

Thanks for response!

:tada: This PR is included in version 3.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.1.0-beta.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Revert Android libraries importing mechanism

Closes #42

For future reference - the reason is that AARImports doesn't provide much options, basically just adding a standard implementation dependency or a maven repository. The docs are non-existent but the we can see this in the source code
The problem is twofold. The referenced repository actually didn't have the required maven structure; and even if it did, we couldn't force gradle to not use any other matching dependency from a previous repo (e.g. maven central). The only way this could be done at the moment would be rename the packages so they're unique to the unreal project. This would be more work with no benefit as opposed to rolling back to copying AARs so the decision was to abandon AARImports until an issue with the restored approach is found.


[backport 2.4] mempool: Fix possible overflow

Fix possible overflow when allocating memory resulting in less memory
allocated what can cause further invalid memory access.
Signed-off-by: Flavio Ceolin<EMAIL_ADDRESS>

This might be a bit of a misnomer, as it is not a backport. The change applies directly to 2.4. This code has been removed from the tree by 2.5.


VBA error #1004 (Application-defined or object-defined error) at

Another report

This issue was submitted by the add-in's exception handler.

Exception:
XLToolbox.Vba.VbaException: VBA error #1004 (Application-defined or object-defined error) at

Message: VBA error #1004 (Application-defined or object-defined error) at
Environment

Parameter
Value

Version
7.2.10

OS
Microsoft Windows NT 10.0.15063.0, 64-bit

Excel
365 (16.0.8067), 32-bit

CLR
4.0.30319.42000, 32-bit

VSTO runtime
10.0.60301

ClickOnce
False

Bovender
<IP_ADDRESS>

FreeImage
3.16.0

Identifier
9d02d950e21ae9affec28778a12fb4d302bdd114d0b5ee3fb10d4757f1a34366

Another report

This issue was submitted by the add-in's exception handler.

Exception:
XLToolbox.Vba.VbaException: VBA error #1004 (Application-defined or object-defined error) at

Message: VBA error #1004 (Application-defined or object-defined error) at
Environment

Parameter
Value

Version
7.2.10

OS
Microsoft Windows NT 10.0.15063.0, 64-bit

Excel
365 (16.0.8067), 32-bit

CLR
4.0.30319.42000, 32-bit

VSTO runtime
10.0.60301

ClickOnce
False

Bovender
<IP_ADDRESS>

FreeImage
3.16.0

Identifier
9d02d950e21ae9affec28778a12fb4d302bdd114d0b5ee3fb10d4757f1a34366

Another report

This issue was submitted by the add-in's exception handler.

Exception:
XLToolbox.Vba.VbaException: VBA error #1004 (Application-defined or object-defined error) at

Message: VBA error #1004 (Application-defined or object-defined error) at
Environment

Parameter
Value

Version
7.2.10

OS
Microsoft Windows NT 10.0.15063.0, 64-bit

Excel
365 (16.0.8067), 32-bit

CLR
4.0.30319.42000, 32-bit

VSTO runtime
10.0.60301

ClickOnce
False

Bovender
<IP_ADDRESS>

FreeImage
3.16.0

Identifier
9d02d950e21ae9affec28778a12fb4d302bdd114d0b5ee3fb10d4757f1a34366


UI Stats / Debug Iteration 2

Previous iteration is #2026
Iteration 2 -- MVP
The goal of this iteration is getting this to a shipable state. To that end we have three todos:

Fix the styles

There is some cleanup that needs to happen on the jobs / list datums / detailed datum pages

Fix up the code

There are some cleanups to the ember code I need to make

Add pagination

As a user ... I want to see the list of datums quickly and be able to navigate this list quickly.
This will require us making ListFile paginated as well. It is yet unclear if we'll easily be able to support the sorting as it exists right now (failed datums first). But the load time is a more fundamental usability issue.

Future Iterations
We have some opinions about what the next iterations should include.
Iteration 3 -- Live Status
The goal of this iteration is to present as much information as we can to the user while a job is still running. Specifically ...

As a user ... I want to be able to see the list of datums while a job is running
As a user ... I want to be able to see the files that make up a datum while a job is still running
As a user ... I want to be able to see the logs from an individual datum while the job is running

And the nice to have (but hard one to do bcz of backend changes required):

As a user ... I want to be able to see datum's states + stats while a job is still running

Iteration 4 -- Stats Graphs
The goal of this iteration is to present the stats visually so that any patterns are obvious

As a user ... I want to be able to see the timing stats and data stats as a graph (probably proportional stacked bar graph)
As a user ... I want to see the distribution of the datum timing  / data stats across datums for a specific job

The paginated UI update landed, and works well. (Infinite scroll)


windows, when open the VG_LITE and THORVG，could not show anything!!!

LVGL version
9.3.0
What happened?
windows， open the  VG_LITE and THORVG int lv_config.h，the could not show anything:

then,when run the lv_demo_widgets,could not show anything, erro log is:

but could not find,when to set the   buf_size?
How to reproduce?
No response

I think this is related to how Visual Studio compiled ThorVG. @MouriNaruto can you reproduce this issue?


Chart-based alarm function

Make sure these boxes are checked before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Superset version
Expected results
Actual results
Steps to reproduce

So, do you have an alert ability?

This feature looks great! Any other way to share it? @zhaoyu89730105

@zhaoyu89730105 We are looking for similar functionality in superset, we'd love to have this feature!

@zhaoyu89730105  this is very good, do you have Blog to introduce how to achieve this feature

@zhaoyu89730105 this looks amazing! Would you be so kind to share how you have made it possible?

@zhaoyu89730105 Can you write an article regarding this feature? I am sure it would be very helpful to lot of people


added packagedVolume to invTypes

this adds the packaged_volume porperty from the esi import to the invTypes table

fixed issue fuzzysteve/yamlloader#19

cool thanks!


Automated cherry pick of #3863: Update latest kueue v0.10.0

Cherry pick of #3863 on website.
#3863: Update latest kueue v0.10.0
For details on the cherry pick process, see the cherry pick requests page.
NONE

There was only one conflict solved manually due to this section: https://github.com/kubernetes-sigs/kueue/pull/3864/files#diff-5a79cc43ce0679eff1846acc8c2efd23837400593d4d593a46156dff0b8d1773R35-R40