static property wrap in JsonResource

Laravel Version: 5.8.34
PHP Version: 7.2.13
Database Driver & Version:

Description:
If you write tests on response from Resources extended by JsonResource and you change static property wrap (for example without Wrap) for one of them, all next test, which must have a wrapper ,does not have them
Steps To Reproduce:
...
public function testOne() {
    $this->getJson(...return ResourceWithoutWrap())->assertJsonFragment([....]);
}
...
public function testTwo() {
    //Must be with wrap
    $this->getJson(...return ResourceWithWrap())->assertJsonFragment([data=>[...]]);
  //error
}

Yes, I know, that I must test Repository Class, but this error can generate other mistake, if I have resources chain, maybe it is a bad idea to put wrap in extended class like a static property  ?

Hey there,
Unfortunately we don't support this version anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? We'll help you out and re-open this issue if so.
Thanks!


Missing deposit after migration

DOI https://doi.org/10.17613/xzxt-7567
HC link https://hcommons.org/deposits/item/hc:67161/

up now https://works.hcommons.org/records/vvnxd-kzx47


Completed Recommendations Feature

Completed recommendations feature.
Uses two collection views to display user recommended books as well as generally popular books.
Clicking an item in the collection view opens the book in details page.
Builds recommendations by compiling a list of books that the user rated well then randomly selecting a maximum of 5 items to submit to TasteDive API.
List of generally popular books come from iDreambooks API.

Codecov Report

Merging #25 into develop will increase coverage by 29.27%.
The diff coverage is 13.45%.

@@             Coverage Diff              @@
##           develop      #25       +/-   ##
============================================
+ Coverage     11.8%   41.07%   +29.27%
============================================
  Files           22       32       +10
  Lines         1347     1816      +469
============================================
+ Hits           159      746      +587
+ Misses        1188     1070      -118


Another maintenance tool already running

I want to uninstall MSYS2 20141003 x86_x64 but I keep getting the message
"Waiting for maintenancetool"
Another maintenancetool instance is already running.  Wait until it finishes, close it, or restart your system.
I can't find any instance of maintenancetool in the taskmanager, and restarting my system does not help.
I want to do the uninstall so I can reinstall using my D: hard-disk drive instead of my C: SSD.
Advice?

I get this same problem (even after a reboot) trying to run maintenancetool directly in either cmd or using the msys2 terminal window. I used the task manager to kill a running maintenancetool and then was able to use it. Something had started maintenancetool.


Added some Rust built-ins

assert_ne! and debug_assert_ne! were added in Rust 1.12, and Debug has been there the whole time

I decided to do a more comprehensive PR :)

Thanks! However it may be a good idea to first agree on whether a more comprehensive does make sense. We're notorious of having a rather restrained highlighting, so sometimes it happens that people spend a lot of effort on making something very complicated only to be faced with me saying "sorry, can't take it" :-)
Any hints on what you're up to?

Sure, and thanks for the heads up :) The ? operator was made stable recently and the community consensus is to highlight it when possible since it's an important operator that can be hard to spot some times; additionally the i128 and u128 built-ins are going stable soon, and I think I can make more accurate relevance settings for a few of the existing rules (e.g. the #[...] annotations are fairly unique to Rust AFAIK, but carry the default relevance).

Right… Of those, i128 and u128 is a pretty straightforward addition, so go ahead with those.
As for ?, one of the design choices in highlight.js is not to highlight operators (except in very esoteric languages), and we don't actually have an appropriate class name for those.
The relevance is better to be kept at its basic value. The idea of boosting unique constructs that I came up with very early on proved to cause much more problems over time than it solves, so currently the rule is to employ relevance tuning only if everything else fails. I would say Rust is in a pretty distinguishable and does well in regards to detection as currently defined.

Good to know. :)
For the relevance, the whole reason I came here in the first place is because I had a piece of code that failed the auto detect on my website:
#[derive(Debug)]
struct MyData;

let first_binding = MyData;
let second_binding = first_binding;
println!("{:?}", first_binding); //ERROR! first_binding was invalidated above

It's funny that if I run the detection test for Rust with this, it works fine, but the setup I have on my website gives up. I'm running hljs 9.9.0, and I have configured it to only check for Java and Rust (and it detects the Java code fine). Given that the test works, my idea for tuning might not be relevant, but I could use some help on figuring out how to fix this issue then.
I'll add the missing keywords and i128/u128 for now :)

I'll have a look into this mis-detection… It's usually a matter of adding more specificity to modes or zeroing an overzealous relevance of another language.

I made the new PR
Thanks for the help :)

About that mis-detection… The usual way to look at these things is the little tool located in tools/developer.html: you build a browser package with whatever languages you want and see the detection scores and the generated markup.
Your snippet is pretty reliably detected as Rust even using the build with all the languages, so I would guess there's something happening in the way your site displays code in HTML or the way highlighting is applied to the page. A couple of guesses from the top of my head without seeing a live example would be either some stray character triggering one of the rust.js illegal expressions or simply not having rust.js hooked up in the build you're using (the CDN build doesn't include rust.js but does include java.js, for example).

Doh! I'm using the CDN build 😕

Then you should add rust.js separately, as per README.

Thanks :)


Fix impl of Cache.delete_key

Fixes #12.

Fixed by https://github.com/hammerlab/datacache/pull/15


Report to Odoo16 instead of intermediate postgresql

Summary
This replaces the transformation process: instead of creating interim results to be stored in Postgres, we now create metered billing records that are sent directly to Odoo16. Invoicing is no longer managed by this component.
This is a breaking change. The system is fundamentally reworked.
Checklist

[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] Update tests.

Superseded by https://github.com/appuio/appuio-reporting/pull/3


Uncaught Error: You must either pass handleSubmit() an onSubmit function or pass onSubmit as a prop

I'm using this example here, and I get this error:
Uncaught Error: You must either pass handleSubmit() an onSubmit function or pass onSubmit as a prop
I'm using this with redux-form 3, and I'm using a Modal to display the content, is a dumb component, so is not connected to redux.
Is there anything I'm missing here?
Thanks!

My bad!,
if someone is having the same issue is because the lack of the onSubmit action in the props of the components.

Running into the same problem, can you elaborate on the solution?

@sidazhou, the way I fixed it, is to pass a function to the handleSubmit function provided by redux-form:
<form onSubmit={handleSubmit(this.myOwnFunction)}>.

I've understood what was the problem:
onSubmit has to be defined on the parent of the form
<Parent>
  <Child onSubmit={myFunc}>
</Parent>

You would expect the child
<Child>
  <form></form>
</Child>

has this.props.onSubmit to be available to you. However, redux-form changes it to this.props.handleSubmit instead. To reiterate, in the Child, this.props.handleSubmit == myFunc

The documentation...or lack there of, on this is super annoying. Just to be clear for others with this problem I did below which works
import React, {Component, PropTypes} from 'react';
import {reduxForm} from 'redux-form';

class ContactForm extends Component {
  static propTypes = {
    handleSubmit: PropTypes.func,
    fields: PropTypes.object
  }

  handleSubmit(e) {
    //do stuff here
  }

  render() {
    const {fields: {firstName, lastName, email}, handleSubmit} = this.props;

    return (
      <form onSubmit={handleSubmit(this.handleSubmit)}>

          First Name
          <input type="text" placeholder="First Name" {...firstName}/>

          Last Name
          <input type="text" placeholder="Last Name" {...lastName}/>

          Email
          <input type="email" placeholder="Email" {...email}/>

        <button type="submit">Submit</button>
      </form>
    );
  }
}

// Decorate the form component
export default reduxForm({
  form: 'contact', // a unique name for this form
  fields: ['firstName', 'lastName', 'email']
})(ContactForm);

Don't be fooled and do the intuitive thing which would be to define a prop of handleSubmit on your instantiated JSX <ContactForm handleSubmit={myFunc}> 😢

Don't be fooled and do the intuitive thing which would be to define a prop of handleSubmit on your instantiated JSX <ContactForm handleSubmit={myFunc}> 😢

This is why the FAQs mention the difference between onX and handleX.

Thanks to the hint from @dtothefp I was able to nearly solve the issue also for the wizard example. On the Third WizardPage I´m catching the submit call. But I still get the Error "Required prop onSubmit was not specified in ...". I guess this is based on the problem that I should have to route the event up the FormWizard Parent Component. I tried several things, but I don´t get it working without the Warning. Could someone point out how to do it or even If the idea of the event-routing up to Parent Component is correct?

If you are using containers in this case, do check if you are returning Onsubmit function from mapDispatchtoProps.

I'll write it here again because is how I finally understood it and maybe is easier for other beginners as myself.
This is what worked for me:
import React, {Component} from 'react';
import {Field, reduxForm} from 'redux-form';
import {
  Button,

} from 'react-bootstrap';
import InputField from '../InputField';

let Modificador = props => {

  const {
    initialValues,
    mySubmit,
    handleSubmit
  }= props;

  return (
    <form onSubmit={handleSubmit(mySubmit)}>
       <Field
              name="nombre"
              label="Nombre"
              type="text"
              component={InputField}
            />
            <Button
              type="submit"
              bsStyle="primary">
              {"Guardar "}
              <Glyphicon glyph="floppy-save"/>
            </Button>
    </form>
  );
};

Modificador = reduxForm({
  form: 'modificadorForm',
  })(Modificador);

export default Modificador;

The parent
   <Modificador
            initialValues={values}
            mySubmit={submitFunction}
/>

I had this problem because I had my Form as a pure functions (rather than an es6 class). Switched to class and all works. Reason is because handleSubmit appears to call this.props

@EnriqueSalaza code started working after gone through your example

@EnriqueSalazar Thank you so much for calling your submit function mySubmit instead of handleSubmit or onSubmit. This is perhaps one of the main reason why most other examples I've read were very confusing until I read yours.
In general, I feel like all the examples I've read contain too many occurrences of the word submit. It becomes too easy to mix up submit, handleSubmit, onSubmit, "submit", etc. After seeing submit about 5 times (with slightly different prefixes and suffixes), it becomes too easy to miss some variables/functions and end up confused.

@dtothefp Thank you so much bro. Really thanks, it was driving my crazy jaja xD

This I bound my form handler (handleFormSubmit) to the handleSubmit:
const handleSubmit = this.props

 <form onSubmit={handleSubmit(this.handleFormSubmit.bind(this))}>

I wouldn't have understood where handleSubmit came from if I hadn't viewed this example: https://codesandbox.io/s/mZRjw05yp

I am getting the same error!
What if I need to pass an action creator to handleSubmit like this:
<form onSubmit={handleSubmit(this.props.ActionCreator)}>
</form>
...
...
export default reduxForm({
  form: 'bar',
  fields: ['foo', 'foo2', 'foo3']
}, null, {ActionCreator})(loremContainer);

Please help!

I got this error too, I thought I was passing a function to handleSubmit()  but i was passing it some other garbage.
handleSubmit(someOtherGarbage)
I realized my error when i just passed it a function.
handleSubmit( stuff => console.log(stuff) )
...and suddenly there were all my form outputs in the console.
solution:   I had a typo in my action creator.  duh.

If this is so different than what the docs explain, why has the docs never been updated?

@EnriqueSalazar
Thank you.
<form onSubmit={handleSubmit(mySubmit)}>
it was important for me. handleSubmit(mySubmit) <---- important

Hmm i am getting this error in a Remote Submit occasion in v7.4.2. I call it like this:
this.props.dispatch(submit('myFormName'));

and my form is this:
<form onSubmit={handleSubmit(this.handleSubmit)}>
...
</form>

I stumble upon the same issue. It looks like bug.

I had the same issue as @adamfaryna and @fakiolinho and got this error in a remote submit. In my case, I accidentally had two different components that both initialized with the same form name (reduxForm({ form: 'myForm' })(...)). Some left-overs after refactoring. Removing one of these two reduxForm call fixed it for me. Hope this helps someone.

@fakiolinho, @adamfaryna, @jasperkuperus and anyone else having a similar issue trying to pass an onSubmit handler to handleSubmit like:
<form onSubmit={handleSubmit(this.onSubmit)}>
...
</form>

I believe the solution is to use the Form component which was added in version 6.4.0 (at least according to the docs). Switching out <form> for <Form> immediately resolved my issue, and the documentation seems to support that this is the component's intended use case:

The Form component is a simple wrapper for the React  component that allows the surrounding redux-form-decorated component to trigger its onSubmit function.
It is only useful if you are:

performing your submission from inside your form component by passing onSubmit={this.props.handleSubmit(this.mySubmitFunction)} to your  component
AND EITHER:

initiating your submission via the submit() Instance API (i.e. calling it directly on a reference to your decorated form component)
initiating your submission by dispatching the submit(form) action

@dfalt Thanks! Works well!


[FEAT #120] highlight inconsistent indentation

This PR implements @monkeydom s concept from #120. However it does not introduce any additional knobs & switches to turn the feature on or off.

After having a quick look on this, some observations:

spaces that are less than a full tab width after an initial tab indentation should not be counted as inconsistent - as they are the only way to achive non-tab-aligned indentation, and also best practise to indent the same as the line before with tabs and then do custom alignment with spaces.
this needs to be a menu entry and imho also an editing setting

While in tab based indentations spaces are now not shown as inconsistent if they are

at the end of an indentation
there are less than tabWidth spaces

I think its ready to merge.


Switch to standard

Updating the eslint rules as is is too difficult, and this was easy, and it's basically good enough. Also as the years wane on it seems getting these changes merged upstream is more and more unlikely.

Codecov Report

Merging #115 (17e54ca) into master (5ce62d4) will increase coverage by 0.30%.
The diff coverage is 93.41%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##           master     #115      +/-   ##
==========================================
+ Coverage   96.15%   96.46%   +0.30%
==========================================
  Files          22       34      +12
  Lines        1923     2034     +111
==========================================
+ Hits         1849     1962     +113
+ Misses         74       72       -2

Flag
Coverage Δ

macos-latest-18
?

ubuntu-latest-18
96.46% <93.41%> (+0.30%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

test-workspace/tasks/stdin.js
90.90% <83.33%> (ø)

lib/run-tasks.js
89.40% <86.45%> (-0.10%)
:arrow_down:

test-workspace/tasks/append2.js
94.11% <87.50%> (ø)

lib/run-task.js
93.71% <88.99%> (+0.54%)
:arrow_up:

lib/create-header.js
95.83% <89.47%> (ø)

bin/common/parse-cli-args.js
93.11% <90.24%> (+0.28%)
:arrow_up:

lib/index.js
96.15% <92.75%> (-0.02%)
:arrow_down:

bin/run-s/main.js
97.14% <95.45%> (-0.05%)
:arrow_down:

bin/run-p/main.js
97.26% <95.74%> (-0.04%)
:arrow_down:

bin/common/bootstrap.js
100.00% <100.00%> (ø)

... and 24 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Closing for now.


Add Ability to RetryPolicy to Ignore a Failure

Please add to RetryPolicy a mechanism to essentially ignore a failure.  For example, if an HTTP response code is 429 Too Many Requests, then I would like to delay and then try again but not have it count against the number of attempts.

Wouldn't that just be two nested RetryPolicy instances? The inner one would only retry on 429, treating anything else (actual success or non-429 error) as "success", and the outer one would be your original retry handler. The failure count on the outer would be the one you'd use. It wouldn't count the 429-triggered retries.

@numeralnathan What's the significance of not incrementing the number of attempts, for your use case?

@Tembrel This is a great idea!  The inner RetryPolicy could have withMaxRetries(Integer.MAX_VALUE).

@jhalterman Are you saying that on failure, I could increment the policy's attempt count?

Sure, though wouldn't you want some practical limit on the number of retries? After the billionth 429, you might want to consider packing it in. 😀

@numeralnathan No, you won't be able to influence that, I was just curious about your use case, and why having the attempt count not increment sometimes is important.

@Tembrel Yeah, typically one would give up.  In this case, this is the only thing for the program to do.  So, waiting and trying again is appropriate for an infinite number of calls.  On a subsequent request, the server will delay processing the request and finally respond with the data.


Update to match new UnityWebRequest API

Description

Fixes support for Unity 2017.
Motivation and Context

Allows use with Unity 2017, fixes: #704, #701
Testing

I'm not a .NET developer and a on MacOS which means testing is awkward. Travis CI builds pass and the change is also very minor and only impacts Unity builds.
Screenshots (if appropriate)
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[x] I have read the README document
[ ] I have added tests to cover my changes
[x] All new and existing tests passed

License

[x] I confirm that this pull request can be released under the Apache 2 license

Anyway to get these PRs bumped in faster? Currently this prevents the AWS SDK being used with Unity 2017 and there are quite a few bugs about it already that could be closed with this PR.
I can't add more tests or build locally for Unity as I'm on a mac and .Net Core doesn't allow me to build with net35 which Unity needs.

May I ask what is holding this back?

I am currently trying to get through our pull requests. Before accepting this I wanted understand first if this would be a breaking change for users not using 2017? Did we have the property wrong before or was it renamed in 2017?

It was renamed in Unity 2017.1, see
https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.html
and
https://docs.unity3d.com/560/Documentation/ScriptReference/Networking.UnityWebRequest.html
So you might be right, for backward compatibility we would need to modify this change.

tested with Unity 5.6.2, Unity 2017.1.0 and Unity 2017.1.1

Thanks for the pull request. Version <IP_ADDRESS> of the Core component contains this fix.

Hi,
I would like to get Version <IP_ADDRESS>, is there an option to get the distributable for this release or later. In the amazon website the download gives me reels <IP_ADDRESS> as the latest.
Can any one help out? I need the DLL with this fix.
Thanks


⚠ Blog博客 has degraded performance

In 0d900ae, Blog博客 (https://blog.fangkehou.eu.org) experienced degraded performance:

HTTP code: 200
Response time: 22793 ms

Resolved: Blog博客 performance has improved in 5f5a269.


OpenGL Error

Hello dear friends!
Thank you for the amazing work.
I have install Ubuntu16.04 on my computer.
I download and compile your project follow the steps in the README.md.
when i run the ./visualizer i get the information as bellow
OpenGL Context Version 3.3 core profile
GLEW initialized.
OpenGL context version: 3.3
OpenGL vendor string  : VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 6.0, 256 bits)
Extracting surfel maps partially.
OpenGL Error: invalid enumerant(1280)
In: /home/rogers/catkin_ws/src/SuMa/src/core/SurfelMap.cpp on Line: 298
terminate called after throwing an instance of 'std::runtime_error'
what():  OpenGL error detected.
Aborted (core dumped)
I don't know what is the problem. Could you help me find this problem out? Thank you very much.

Could you try to run the program with a native Nvidia or AMD driver? It seems like that the VM driver does not support all instructions needed to run the visualizer.

I install the opengl use the command as bellow
sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
Should I compile and install opengl with source code?

You apparently use VMware to have a virtual machine with Linux:
OpenGL context version: 3.3
OpenGL vendor string : VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 6.0, 256 bits)

Install an Nvidia, AMD or Intel (mesa) graphics driver to execute the program. It has nothing to do with OpenGL. See also https://github.com/jbehley/SuMa/issues/19

@jbehley
I have installed nvidia driver in ubuntu 18.04.5
I compiled code with eigen3.3.7 and gtsam4.0.3.
I received SIGSEGV
gdb infomation as bellow.
GNU gdb (Ubuntu 8.1-0ubuntu3.2) <IP_ADDRESS>80409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./visualizer...done.
(gdb) r
Starting program: /home/rogers/catkin_ws/src/SuMa/bin/visualizer
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe9659700 (LWP 8853)]
[New Thread 0x7fffdee93700 (LWP 8854)]
[New Thread 0x7fffde692700 (LWP 8855)]
[New Thread 0x7fffdc9d7700 (LWP 8856)]
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Thread 1 "visualizer" received signal SIGSEGV, Segmentation fault.
0x00005555555b6d14 in _mm256_store_ps (__A=..., __P=) at /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:880
880	  *(__m256 *)__P = __A;

@jbehley
sometimes it is like this
GNU gdb (Ubuntu 8.1-0ubuntu3.2) <IP_ADDRESS>80409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./visualizer...done.
r(gdb) r
Starting program: /home/rogers/catkin_ws/src/SuMa/bin/visualizer
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe9659700 (LWP 9011)]
[New Thread 0x7fffdee93700 (LWP 9012)]
[New Thread 0x7fffde692700 (LWP 9013)]
[New Thread 0x7fffdc9d7700 (LWP 9014)]
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Extracting surfel maps partially.
Performing frame-to-model matching.
Thread 1 "visualizer" received signal SIGSEGV, Segmentation fault.
ViewportWidget::paintGL (this=0x555555c5dac0) at /home/rogers/catkin_ws/src/SuMa/src/visualizer/ViewportWidget.cpp:541
541	  view_ = camera_.matrix();

finally gtsam4.0.3+eigen3.2.10 works for me.
Thanks a lot for your help!
I have download som data of kitti.
But the .bin data is very small(only 2MB), so the program stoped very soon.
Could you tell where can i download a bigger data, so i can run a whole map?

You can download the KITTI Odometry Benchmark. Sequence 00 is a long trajectory with multiple loop closures.

i have downloaded  Sequence 00. It has 4649 2.0MB bins.
Then I cat *.bin > total.bin
When i use the total.bin, the visualizer killed
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Extracting surfel maps partially.
Performing frame-to-model matching.
Gtk-Message: 10:09:00.709: GtkDialog mapped without a transient parent. This is discouraged.
calibration filename: /home/rogers/data/calib.txt...not found.
ground truth filename: /home/poses/data.txt
not found.
Killed
Is the bin file too big to run the visualizer?

i have downloaded  Sequence 00. It has 4649 2.0MB bins.
Then I cat *.bin > total.bin
When i use the total.bin, the visualizer killed
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Extracting surfel maps partially.
Performing frame-to-model matching.
Gtk-Message: 10:09:00.709: GtkDialog mapped without a transient parent. This is discouraged.
calibration filename: /home/rogers/data/calib.txt...not found.
ground truth filename: /home/poses/data.txt
not found.
Killed
Is the bin file too big to run the visualizer?

i have downloaded  Sequence 00. It has 4649 2.0MB bins.
Then I cat *.bin > total.bin
When i use the total.bin, the visualizer killed
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Extracting surfel maps partially.
Performing frame-to-model matching.
Gtk-Message: 10:09:00.709: GtkDialog mapped without a transient parent. This is discouraged.
calibration filename: /home/rogers/data/calib.txt...not found.
ground truth filename: /home/poses/data.txt
not found.
Killed
Is the bin file too big to run the visualizer?

i have downloaded  Sequence 00. It has 4649 2.0MB bins.
Then I cat *.bin > total.bin
When i use the total.bin, the visualizer killed
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Extracting surfel maps partially.
Performing frame-to-model matching.
Gtk-Message: 10:09:00.709: GtkDialog mapped without a transient parent. This is discouraged.
calibration filename: /home/rogers/data/calib.txt...not found.
ground truth filename: /home/poses/data.txt
not found.
Killed
Is the bin file too big to run the visualizer?

i have downloaded  Sequence 00. It has 4649 2.0MB bins.
Then I cat *.bin > total.bin
When i use the total.bin, the visualizer killed
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Extracting surfel maps partially.
Performing frame-to-model matching.
Gtk-Message: 10:09:00.709: GtkDialog mapped without a transient parent. This is discouraged.
calibration filename: /home/rogers/data/calib.txt...not found.
ground truth filename: /home/poses/data.txt
not found.
Killed
Is the bin file too big to run the visualizer?

i have downloaded  Sequence 00. It has 4649 2.0MB bins.
Then I cat *.bin > total.bin
When i use the total.bin, the visualizer killed
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Extracting surfel maps partially.
Performing frame-to-model matching.
Gtk-Message: 10:09:00.709: GtkDialog mapped without a transient parent. This is discouraged.
calibration filename: /home/rogers/data/calib.txt...not found.
ground truth filename: /home/poses/data.txt
not found.
Killed
Is the bin file too big to run the visualizer?

i have downloaded  Sequence 00. It has 4649 2.0MB bins.
Then I cat *.bin > total.bin
When i use the total.bin, the visualizer killed
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Extracting surfel maps partially.
Performing frame-to-model matching.
Gtk-Message: 10:09:00.709: GtkDialog mapped without a transient parent. This is discouraged.
calibration filename: /home/rogers/data/calib.txt...not found.
ground truth filename: /home/poses/data.txt
not found.
Killed
Is the bin file too big to run the visualizer?

i have downloaded  Sequence 00. It has 4649 2.0MB bins.
Then I cat *.bin > total.bin
When i use the total.bin, the visualizer killed
OpenGL Context Version 4.6 core profile
GLEW initialized.
OpenGL context version: 4.6
OpenGL vendor string  : NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
Extracting surfel maps partially.
Performing frame-to-model matching.
Gtk-Message: 10:09:00.709: GtkDialog mapped without a transient parent. This is discouraged.
calibration filename: /home/rogers/data/calib.txt...not found.
ground truth filename: /home/poses/data.txt
not found.
Killed
Is the bin file too big to run the visualizer?

That is definetly to large for your GPU memory.
if you have downloaded the odometry data, select from sequence 00 the velodyne folder. Alternatively you can start the program with ./visualizer ../config/default.xml ~/kitti-odometry/dataset/sequences/00/velodyne/. If you then increast the number of history scans you can see a longer history.

In the defaul.xml are parameters influencing how many scans are buffered and at which stride. stride*size is the maximum length of the history covered. For sequence 0 you might increase this to stride 25, for instance.
<param name="history size" type="integer">200</param>
<param name="history stride" type="integer">20</param>

hope that solves your problem.

Hello dear friends,
I am trying to use our own data of VLP16 lidar.
I modified the param as follow

765
  16
  15.0
  -15.0
  200.0
  0.0
                      ...

765
  16
  15.0
  -15.0
  200.0
  0.0
                       ...

but i get the unexpected result like this

The data was collected in a indoor environment.
Could you give me some advices to solve this problem? Thanks a lot!

It appears that ground points are missing, but these are needed to fix the pitch angle. Without ground points it's unlikely to get a good result with a 6D pose estimate as it cannot fix this rotation. If you still want to make mapping in the plane, a 2D mapping approach like cartographer (https://github.com/cartographer-project/cartographer)
PS: Since you are indors, ceiling points would also be fine.

Thanks for your advices.
I am using another data set which was collected in the outdoor and had the ground points.
But it seems that the result is not correct as well.

Shoud i modify the icp params?

Some output message in the terminal :
Gtk-Message: 14:16:57.188: GtkDialog mapped without a transient parent. This is discouraged.
calibration filename: /home/rogers/Data/calib.txt...not found.
ground truth filename: /home/poses/Data.txt
not found.
t_err: 0.15531, r_err: 0.148142
Lost track: Pose increment change too large. Falling back to frame-to-frame tracking.
t_err: 0.255079, r_err: 0.252976
Lost track: Pose increment change too large. Falling back to frame-to-frame tracking.
t_err: 0.90735, r_err: 0.179166
Lost track: Pose increment change too large. Falling back to frame-to-frame tracking.
t_err: 3.31942, r_err: 0.198348
Lost track: Pose increment change too large. Falling back to frame-to-frame tracking.
t_err: 1.1902, r_err: 0.227667
Lost track: Pose increment change too large. Falling back to frame-to-frame tracking.
t_err: 2.58965, r_err: 0.157356
Lost track: Pose increment change too large. Falling back to frame-to-frame tracking.
t_err: 1.22369, r_err: 0.265477
Lost track: Pose increment change too large. Falling back to frame-to-frame tracking.

Yes, you have to find the right parameters, since our values are adapted to the KITTI odometry dataset with a fast moving car.
Please see https://github.com/jbehley/SuMa/blob/master/config/vlp16_example.xml for an example configuration that provided good results. The width model_width and data_width seems to be to large. For slowly moving robots is seems to be also help to reduce the icp-max-distance.
That the approach fallsback to the frame-to-frame tracking is usually not a good sign.

I tried the vlp16_example.xml, but the result was also not  good.
In the data set, there are 10906.1(mean) points in one frame. 10906.1/16=681.633, so i modified the width to 681.
And i decreased the icp-max-distance from 2.0 to 1.0, icp-max-angle from  30 to 10. After that, result was still not good.

I read the pointcloud from the pcap file, than save them to the bin file.
Is there any problems with our dataset?

Maybe the problem is the name of the bin file.
I fixed it from 1.bin to 000001.bin.
Now it seem that the result is better.
But there is an other problem now.
The real trajectory of the dataset is a loop, but the result of the program is not.

Could you give some advices to solve this problem? Thanks a lot!!

In the best case it should find a loop closure and correct the drift. However, there are multiple parameters that influence this and these have to be adjusted for the velodyne VLP-16 since it covers more from the tree canopy and such things, it will also have a higher residual and the thresholds are not completely right.
When you go to "loop closure" you can actually switch on that he shows the loop closures candidates. if it finds reasonable candidates but does not include a closure, it means that the threshold is just to hight. adjust the values.
I can unfortunately not give you other then the advice to try out values. we are working hard on better solutions, but this is now the state of SuMa.

The problem seems resolved. If you have further comments, please reopen the issue.


A few changes for use by BW

After a discussion with Edd this morning (20 Aug) there were a few concerns he had. Given there will be students from Units 2-4 working in the FE app there were a few areas that could distract them all from their objectives. Rather than creating a custom branch or separate repo I've created a script to make the alterations before they git init and push to their new repo.
Running the node bw-prep.js script will produce the following changes:

remove the .git folder
Remove code climate from ci.yml
uninstall modules

ant design
storybook
prompts, kleur, yaml
plotly (if not a team with DS)

Alter the index.js file

make / route to LandingPage
remove ProfilesListPage
remove HomePage
remove LoadingComponent
remove antd

modified:   .github/workflows/ci.yml
modified:   package-lock.json
modified:   package.json
modified:   src/index.js
deleted:    .storybook/main.js
deleted:    bw-prep.js
deleted:    src/components/pages/ExampleDataViz/ExampleDataVizContainer.js
deleted:    src/components/pages/ExampleDataViz/README.md
deleted:    src/components/pages/ExampleDataViz/RenderDataViz.js
deleted:    src/components/pages/ExampleDataViz/index.js
deleted:    src/components/pages/ExampleDataViz/statedata.js
deleted:    src/stories/Form.stories.js
deleted:    src/stories/FormButton.stories.js
deleted:    src/stories/FormInput.stories.js
deleted:    src/stories/List.stories.js
deleted:    src/stories/LoadingComponent.stories.js
deleted:    src/stories/README.md
deleted:    src/stories/story_descriptions/Form.md
deleted:    src/stories/story_descriptions/FormButton.md
deleted:    src/stories/story_descriptions/FormInput.md
deleted:    src/stories/story_descriptions/List.md
deleted:    src/stories/story_descriptions/LoadingComponent.md
deleted:    src/styles/theme-overrides.js

Can I merge a 'draft' PR?

Sorry, thought I made it ready for review yesterday. Thank you.


Allign toggle with text input

Hi There,
I would like to align the toggle with the other text inputs in the same row.
The toggle is either above or below the text input


chore: refactor/centralise secretKeyRef usage

This PR standardizes and centralizes the secret fetching process. This is to avoid having too much duplication across providers and to secure it.

/ok-to-test-managed sha=c7daf16 provider=aws

/ok-to-test-managed sha=c7daf16 provider=gcp

/ok-to-test-managed sha=c7daf16 provider=azure

Ooo. Is that sonar issue new?

fixed the duplication issues, i'll tackle the cognitive complexity one separately, i want to restructure & refactor the vault provider. It's not maintainable :laughing:  🫠

Thank you @Skarlso for your review and the good suggestions, much appreciated! :bow:


Fix lint issues in version 0.25

Fixes lint issues found in versioned_docs directory for version 0.25
Also, looks like alex does not catch the word simplest for some reason but I've changed that too.
#1338

@rickhanlonii Thank you. Alex does not seem to catch the word simplest. Should I change those in  all the docs?

Sorry for the delay - simplest seems fine because it's a comparison but if you want to make a case to re-text feel free to file an issue there! https://github.com/retextjs/retext-equality


Upgrade to Yarn 4

The yarn version command in Yarn 1 automatically, by default, creates an annotated Git tag when run within a Git repository. The resulting git tag follows the format v0.0.0. However, this feature has been removed in Yarn 3 and is nowhere to be found in the Release Workflow documentation page.
It does appear that this feature will be reintroduced as part of Yarn 4, which lists changes that include:

Make yarn version create tags for the relevant workspaces

We will track the following Yarn repository issue in preparation for the release of Yarn 4 (and hopefully the reintroduction of git tags) via:

https://github.com/yarnpkg/berry/issues/3591

As long as yarn version is upgraded to include the creation of annotated Git tags in Yarn 4, we should be able simplify some of the release scripts in package.json:
+ "release:push": "git push --atomic origin main --tags",
- "release:push": "git tag v$npm_package_version && git push --atomic origin main --tags",


🇩🇪 minor edits

Hi @PascalAOMS
Thanks for the PR, but unfortunately I recently re-worked parts of your initial translation already, and this part is affected by that, so not necessary anymore.


Allow fixed dictionary (or activations)

Being able to specify a fixed dictionary (or activations) would help with model understanding and exploration. It could also open up new applications.

Using same approach as Issue #1

Lock one (or the other) in the fit function


issue6

@sekkurocode @Sara25s @redibaj
I added the basic check neighborhood loop. Please check wether it should habben in an own class, an other function or under board. I tested it outside the function in an own file and it worked. Let´s finish the class so we can test it inside our main python.
More describing comments must be added.

Hey I did you test the code before running it? There's no import of random library, which shouldn't allow the code to run properly. After that correction i think it's good to be merged :)


[BUG] Racket cannot find temporary code file

When executing code using Racket, I get the following error message on macOS (M1), using Racket v8.12:
open-input-file: cannot open module file   module path: #<path:/var/folders/sf/qh13w2p14sv2vmggf929wwq80000gn/Ttemp_1715066408500.rkt>   path: /var/folders/sf/qh13w2p14sv2vmggf929wwq80000gn/Ttemp_1715066408500.rkt   system error: no such file or directory; rkt_err=3

I'm not familiar with Racket, but it sounds like this has the same root cause as #347

Should be fixed with new release version 1.12.0. Ping me if the new release doesn't solve the problem.


⚠ SceneTime has degraded performance

In a915f2c, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1211 ms

Resolved: SceneTime performance has improved in 9861bc9 after 16 minutes.


Bug in native datetime widget in playground

Prerequisites

[x] I have read the documentation;
[x] In the case of a bug report, I understand that providing a SSCCE example is tremendously useful to the maintainers.

Description
The DateTimeWidget does not allow manually editing the year (and sometimes day/month) via the keyboard once a valid date has been set.
Steps to Reproduce

Open playground and go to "Date & time" tab (alternatively see this fiddle with just the datetime
Fill out the native datetime widget with a valid date
In the year type 0 (which will reset the year to 0000), then try typing in 2018 as the year. It keeps getting reset so you can't get past entering the first two digits (if you're really quick).

Expected behavior
I'd expect the input element to allow you to type in the year (month, day etc.).
Actual behavior
You cannot enter more than 2 digits before it resets itself.
Version

Whatever version is in the playground.
Chrome: Version 64.0.3282.186 (Official Build) (64-bit)
Timezone: BST

Indeed, I can reproduce this issue.
Do you think you can find a fix and create a PR ?

@edi9999 I tried to fix it but couldn't narrow it down after littering a few debug statements around in the DateTimeWidget and elsewhere.
If you could point me in the right direction I might be able to fix it. I can only assume that the "onChange" firing after every keystroke the widget it attempting to validate the value but fails, ultimately resetting it. I don't know the internals of RJF enough to start doing things like firing delayed onChange events.

Hi, I was albe to reproduce this issue as well and I found the root cause in Chrome. I found a fix that works there, but am unsure if it is the right path.

After playing around with this in the current playground, this appears to be fixed. Closing


Portainer keeps crashing and restarting

Use Case (delete as appropriate): Using Portainer at Home
Have you reviewed our technical documentation and knowledge base? Yes
Question:
Hi,
I installed Portainer CE :
docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:2.11.0

It worked. For some reasons, I restarted the container and apparently, Portainer keeps crashing and retarting.
Some diagnostics :
root@valinor:~# docker ps
CONTAINER ID   IMAGE                                          COMMAND        CREATED          STATUS                          PORTS     NAMES
da13b4e2d84d   portainer/portainer-ce:2.11.0                  "/portainer"   26 minutes ago   Restarting (1) 59 seconds ago             portainer```

root@valinor:~# tail -F /var/log/syslog
Jan 16 17:10:19 valinor systemd[1]: Started libcontainer container da13b4e2d84d9cb6f6b51271f11314b1f3e523974df3fde6663efb9a3583f9fa.
Jan 16 17:10:20 valinor kernel: [ 2775.604950] eth0: renamed from veth0e8fdee
Jan 16 17:10:20 valinor kernel: [ 2775.624457] IPv6: ADDRCONF(NETDEV_CHANGE): veth598adc9: link becomes ready
Jan 16 17:10:20 valinor kernel: [ 2775.628379] docker0: port 1(veth598adc9) entered blocking state
Jan 16 17:10:20 valinor kernel: [ 2775.628379] docker0: port 1(veth598adc9) entered forwarding state
Jan 16 17:10:20 valinor systemd-networkd[532]: veth598adc9: Gained carrier
Jan 16 17:10:20 valinor systemd-networkd[532]: docker0: Gained carrier
Jan 16 17:10:20 valinor systemd[1]: docker-da13b4e2d84d9cb6f6b51271f11314b1f3e523974df3fde6663efb9a3583f9fa.scope: Deactivated successfully.
Jan 16 17:10:20 valinor dockerd[645]: time="2022-01-16T17:10:20.597143792Z" level=info msg="ignoring event" container=da13b4e2d84d9cb6f6b51271f11314b1f3e523974df3fde6663efb9a3583f9fa module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Jan 16 17:10:20 valinor containerd[571]: time="2022-01-16T17:10:20.601117753Z" level=info msg="shim disconnected" id=da13b4e2d84d9cb6f6b51271f11314b1f3e523974df3fde6663efb9a3583f9fa
Jan 16 17:10:20 valinor containerd[571]: time="2022-01-16T17:10:20.610786878Z" level=error msg="copy shim log" error="read /proc/self/fd/13: file already closed"
Jan 16 17:10:20 valinor kernel: [ 2776.250865] docker0: port 1(veth598adc9) entered disabled state
Jan 16 17:10:20 valinor kernel: [ 2776.250865] veth0e8fdee: renamed from eth0
Jan 16 17:10:20 valinor systemd-networkd[532]: veth598adc9: Lost carrier
Jan 16 17:10:20 valinor systemd-udevd[9607]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
Jan 16 17:10:20 valinor networkd-dispatcher[557]: WARNING:Unknown index 116 seen, reloading interface list
Jan 16 17:10:20 valinor systemd-networkd[532]: veth598adc9: Link DOWN
Jan 16 17:10:20 valinor kernel: [ 2776.327528] docker0: port 1(veth598adc9) entered disabled state
Jan 16 17:10:20 valinor kernel: [ 2776.327528] device veth598adc9 left promiscuous mode
Jan 16 17:10:20 valinor kernel: [ 2776.327528] docker0: port 1(veth598adc9) entered disabled state
Jan 16 17:10:20 valinor systemd[1322]: run-docker-netns-dc359768e9f5.mount: Deactivated successfully.
Jan 16 17:10:20 valinor systemd[1322]: var-lib-docker-overlay2-cb862a618b1c4c43e8b3643aa50c8e0eabb34311f5e7f13621219b4d5b9ed02e-merged.mount: Deactivated successfully.
Jan 16 17:10:21 valinor systemd-networkd[532]: docker0: Lost carrier

I already destroyed the container, and recreated it with no success. Other docker instances run fine
Thanks for any help
Regards,
Xavier

Can you tell us a bit more about your environment? Are you able to get logs from Docker and/or the Portainer container itself?

Same issue here.
Logs say
level=info msg="2022/01/18 01:57:26 failed initializing swarm stack manager: unexpected end of JSON input"

Same issue here. Logs say level=info msg="2022/01/18 01:57:26 failed initializing swarm stack manager: unexpected end of JSON input"
Had to do a "docker volume rm portainer_data" and recreate it with "docker volume create portainer_data" and relaunch docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data cr.portainer.io/portainer/portainer-ce:2.11.0 Then just recreate the password for admin account

This generally indicates corruption in the Portainer database which is most often caused by an issue at the file system level (disk space issues, problematic hardware, power/connectivity loss to storage, etc).

Hi James,
Thanks for the quick reply. I will come back to you as soon as I have
spare time (it's a home installation)
Regards,
Xavier
Le 1/16/22 22:26, James Carppe a écrit :

Can you tell us a bit more about your environment? Are you able to get
logs from Docker and/or the Portainer container itself?
—
Reply to this email directly, view it on GitHub
https://github.com/portainer/portainer/issues/6404#issuecomment-1013955532,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZCXIN4SOTD6EUVHZ62UUDUWMZXHANCNFSM5MC7SN5Q.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

having the same issue,  looking forward to the help!

Same issue, Portainer was running normally about 3 days ago until it started to restart on its own.
I had to downgrade to version 2.9.3 just to use Portainer.
Did a full-clean and installed Docker again, still no luck.

@chazguerrero and @hellotinh03 please provide any logs from the Portainer container as well as more detail about your environments. I would suggest doing so in separate tickets as these may be completely unrelated experiences.

i ended up installing thru yaml instead of helm and everything is working now.
for future if anyone wants to know my setup
raspberry pi 4s 4gb
k3s - v1.23.1+k3s2
portainer - app.kubernetes.io/version=ce-latest-ee-2.10.0
storage class - chart=nfs-subdir-external-provisioner-4.0.14

Hi, James,
It has been fixed by completely reinstalling the VM. Remains a mystery
The environnement was Ubuntu Server 21.10, fresh installed on a VM
running via BHyve on a FreeBSD 13 host
Thanks
Xavier
Le 1/19/22 09:46, Xavier Humbert a écrit :

Hi James,
Thanks for the quick reply. I will come back to you as soon as I have
spare time (it's a home installation)
Regards,
Xavier
Le 1/16/22 22:26, James Carppe a écrit :

Can you tell us a bit more about your environment? Are you able to
get logs from Docker and/or the Portainer container itself?
—
Reply to this email directly, view it on GitHub
https://github.com/portainer/portainer/issues/6404#issuecomment-1013955532,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZCXIN4SOTD6EUVHZ62UUDUWMZXHANCNFSM5MC7SN5Q.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

@chazguerrero and @hellotinh03 please provide any logs from the Portainer container as well as more detail about your environments. I would suggest doing so in separate tickets as these may be completely unrelated experiences.

Nevermind I got it to work now, thanks for helping

my.portainer is keep crashing too .

Likewise, issue is repeating itself on 3 computers.

SOLVED: You need to remove old portainer_data volume

Hi, thanks @no1etal . Same problem and same solution...
docker rm portainer
docker rmi portainer/portainer-ce:latest
docker volume rm portainer_data
docker volume ls
docker volume create portainer_data
docker ps
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Hi, thanks @no1etal . Same problem and same solution...
docker rm portainer
docker rmi portainer/portainer-ce:latest
docker volume rm portainer_data
docker volume ls
docker volume create portainer_data
docker ps
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Thanks that helped a lot!

Just one warning with this: if you have some stacks managed in portainer you will lose them because they are stocked in the volume. That's why the best practise is to use some docker-compose.yml configuration files in order to manage your containers outside the volume , you will not lose them ;) and deal with some docker compose up -d et docker compose down commands

I have new solution, just go inside the portainer_data volume and delete the malformed file(you'd better check if is really malformed before delete): /var/lib/docker/volumes/portainer_data/_data/docker_config/config.json, then the program will start properly.

hi guys,  I have the portainer agent stuck in a recreating loop(exactly every hour) and also another container(every 6sek). The point is I can't see anything in the logs.

{"log":"2024/07/11 12:01:07 [INFO] [main] [message: Agent running on Docker platform]\n","stream":"stderr","time":"2024-07-11T12:01:07.339341185Z"} {"log":"2024/07/11 12:01:07 [INFO] [main] [message: Agent running on a Swarm cluster node. Running in cluster mode]\n","stream":"stderr","time":"2024-07-11T12:01:07.35378037Z"} {"log":"2024/07/11 12:01:12 [INFO] serf: EventMemberJoin: inex-svl-002-fc619bee95c9 <IP_ADDRESS>\n","stream":"stderr","time":"2024-07-11T12:01:12.061640914Z"} {"log":"2024/07/11 12:01:12 [INFO] serf: EventMemberJoin: inex-svl-001-a1d74999931f <IP_ADDRESS>\n","stream":"stderr","time":"2024-07-11T12:01:12.063023506Z"} {"log":"2024/07/11 12:01:12 [INFO] serf: EventMemberJoin: inex-svl-006-3159bf73e381 <IP_ADDRESS>\n","stream":"stderr","time":"2024-07-11T12:01:12.065069165Z"} {"log":"2024/07/11 12:01:12 [INFO] [edge,registry] [message: Starting registry credential server]\n","stream":"stderr","time":"2024-07-11T12:01:12.210961109Z"} {"log":"2024/07/11 12:01:12 [INFO] [http] [server_addr: <IP_ADDRESS>] [server_port: 9001] [use_tls: true] [api_version: 2.14.0] [message: Starting Agent API server]\n","stream":"stderr","time":"2024-07-11T12:01:12.21168744Z"} {"log":"2024/07/11 12:01:18 [INFO] memberlist: Suspect inex-svl-006-3159bf73e381 has failed, no acks received\n","stream":"stderr","time":"2024-07-11T12:01:18.062277698Z"} {"log":"2024/07/11 12:01:20 [INFO] memberlist: Suspect inex-svl-006-3159bf73e381 has failed, no acks received\n","stream":"stderr","time":"2024-07-11T12:01:20.062708165Z"} {"log":"2024/07/11 12:01:22 [INFO] memberlist: Marking inex-svl-006-3159bf73e381 as failed, suspect timeout reached (0 peer confirmations)\n","stream":"stderr","time":"2024-07-11T12:01:22.062404125Z"} {"log":"2024/07/11 12:01:22 [INFO] serf: EventMemberFailed: inex-svl-006-3159bf73e381 <IP_ADDRESS>\n","stream":"stderr","time":"2024-07-11T12:01:22.062434049Z"} {"log":"2024/07/11 12:01:23 [INFO] memberlist: Suspect inex-svl-006-3159bf73e381 has failed, no acks received\n","stream":"stderr","time":"2024-07-11T12:01:23.06301237Z"} {"log":"2024/07/11 12:01:42 [INFO] serf: attempting reconnect to inex-svl-006-3159bf73e381 <IP_ADDRESS>:7946\n","stream":"stderr","time":"2024-07-11T12:01:42.062624047Z"} {"log":"2024/07/11 12:02:02 [INFO] serf: attempting reconnect to inex-svl-006-3159bf73e381 <IP_ADDRESS>:7946\n","stream":"stderr","time":"2024-07-11T12:02:02.064270502Z"} {"log":"2024/07/11 12:02:25 [INFO] serf: attempting reconnect to inex-svl-006-3159bf73e381 <IP_ADDRESS>:7946\n","stream":"stderr","time":"2024-07-11T12:02:25.071319105Z"} {"log":"2024/07/11 12:02:27 [INFO] serf: EventMemberReap: inex-svl-006-3159bf73e381\n","stream":"stderr","time":"2024-07-11T12:02:27.063652846Z"} {"log":"2024/07/11 12:02:46 [INFO] serf: EventMemberJoin: inex-svl-006-45b1c3cc4d56 <IP_ADDRESS>\n","stream":"stderr","time":"2024-07-11T12:02:46.108213232Z"} {"log":"2024/07/11 13:00:06 [INFO] memberlist: Suspect inex-svl-001-a1d74999931f has failed, no acks received\n","stream":"stderr","time":"2024-07-11T13:00:06.063158014Z"} {"log":"2024/07/11 13:00:08 [INFO] memberlist: Suspect inex-svl-001-a1d74999931f has failed, no acks received\n","stream":"stderr","time":"2024-07-11T13:00:08.063943307Z"}

Can you explain this more? I have something listed inside of /var/lib/docker/volumes/portainer_data/_data/docker_config/config.json but then what do I delete exactly?

Same problem after examining the logs:
Find the Portainer container id
docker ps -a
View the Portainer container logs
docker container logs fa224a294958
failed initializing swarm stack manager | error="json: unexpected end of JSON input: "
I was able to resolve it by:

Stop and remove portainer
Create a dummy container with the Portainer volume attached
Shell into the dummy container and  snoop around, found an empty JSON file
Deleted the file exited the dummy container and killed the dummy container
Then started Portainer and everything seemed fine

docker stop portainer
docker rm portainer
docker run -d --rm --name dummy -v portainer_data:/data alpine tail -f /dev/null
docker exec -it dummy sh
rm /data/docker_config/config.json
exit
docker stop dummy
docker stop portainer
docker run -d -p 9000:9000 -p 8000:8000 --name=portainer --restart=always --privileged --env TZ=Africa/Johannesburg -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ee

Afterward, I could log into Portainer and everything seemed to be fine.


refactor: use aiocron for better scheduling of the function

Fixes #26

@diwash007 @hitblast Will it be good if I ran it in the end of every month i.e. 30th?
I currently am scheduling it at 1st of every month at 00:00

@diwash007 @hitblast Will it be good if I ran it in the end of every month i.e. 30th?
I currently am scheduling it at 1st of every month at 00:00

First seems more logical.

The bot is flexible with timing.

@diwash007 @hitblast Will it be good if I ran it in the end of every month i.e. 30th?
I currently am scheduling it at 1st of every month at 00:00

First seems more logical.

Ok then, I'll schedule it for 30th of every month at 00:00 Will that be okay?

Sure! Also, could you, instead of setting it to the end of every month at 00:00, set it to the end of every n number of days? (refer to @diwash007 in this case)

I'll just use the TIME_PERIOD_DAYS in place of the cron's Day argument
Example:
Instead of this
@aiocron.crontab("0 0 1 * *")

I'll do something like
@aiocron.crontab(f"0 0 {global_.TIME_PEROID_DAYS} * *")

Will that be okay?

I'll just use the TIME_PERIOD_DAYS in place of the cron's Day argument Example: Instead of this
@aiocron.crontab("0 0 1 * *")

I'll do something like
@aiocron.crontab(f"0 0 {global_.TIME_PEROID_DAYS} * *")

Will that be okay?

Looks good! Also, there's a small typo if you've noticed :D

aicron.

I'll just use the TIME_PERIOD_DAYS in place of the cron's Day argument Example: Instead of this
@aiocron.crontab("0 0 1 * *")

I'll do something like
@aiocron.crontab(f"0 0 {global_.TIME_PEROID_DAYS} * *")

Will that be okay?

Looks Good

I'll just use the TIME_PERIOD_DAYS in place of the cron's Day argument Example: Instead of this
@aiocron.crontab("0 0 1 * *")

I'll do something like
@aiocron.crontab(f"0 0 {global_.TIME_PEROID_DAYS} * *")

Will that be okay?

Looks good! Also, there's a small typo if you've noticed :D

😝


chore: Remove allowed_strings in favour of Literal

This PR removes the allowed_strings converter because we can use typing.Literal as a converter to the same effect

I don't think Literal does a conversion to lowercase, but I don't think anyone was relying on that feature previously.

Hey @doublevcodes, it's been a while, do you plan on resuming work on this PR or should we put this up for grabs? Thank you!

Hey @doublevcodes, it's been a while, do you plan on resuming work on this PR or should we put this up for grabs? Thank you!

Hey, sorry for the delay, I can finish this in the coming week.

I fixed the noqas, but I did something and now I have 64 changed files 😅

Use git reset to remove that commit, then rebase your old commit off of upstream/main and force push?

@doublevcodes are you still planning on fixing up the conflicts in this PR?

I'm going to finish this up since there has not been a response for over a week. Seems almost done anyway.

Unfortunately I used the wrong command and ended up pushing my local main branch to doublevcodes/main, causing the diff to disappear and the PR to close. I can't push to that remote anymore since the PR is closed, and I have no way to reopen the PR. So I will have to just create a new PR unfortunately.


Fix issues #22576: Text edit tootip arrow is misplaced

Fixed an issue described in this link
https://github.com/flutter/flutter/issues/11274
https://github.com/flutter/flutter/issues/22576
Description
Fix the problem that the triangle attached to the toolbar is always in the middle.
Now looks like iOS, if the toolbar squishes to the side, the arrow attempts to stay as close as possible to the selected text.
However, the problem of dividing the line has not yet found a reasonable solution to solve.
https://github.com/flutter/flutter/issues/24784
This PR was based on the https://github.com/flutter/flutter/pull/29809 PR.
iPhone X (Flutter, this branch):

CC @justinmc

hi @jiisd could you rebase or merge the master branch now that https://github.com/flutter/flutter/pull/29809 has been merged?

Closing this PR as the issue has been (mostly) addressed.


NodeList arguments

e.g.,
var results = document.querySelectorAll('.foo');
Polydom(results).addClass('bar').each(function(i) {
  this.textContent = 'Element #' + i;
});

The hasClass method will fail loudly. It could theoretically return the result for the first element, but that sounds potentially troublesome for debugging. This is also my rational for not allowing query strings to be used as the argument for Polydom.

The each method has been implemented to iterate over anything with a length property. e.g.,
var foo = document.getElementById('foo');
var bar = document.getElementById('bar');
Polydom([foo, bar]).each(function(i) {
  // ...
});

each also works without error for single DOM elements. e.g.,
Polydom(document.getElementById('foo')).each(function(i) {
  // ...
});


Document how to create and run a fullnode

Running a full node is a prerequisite for becoming a validator. Further, we expect non-validators to run full nodes. So we need these instructions outside of the validator documentation being formed in:
https://github.com/MystenLabs/sui/issues/1493
And similarly, all of this depends upon us nailing down system requirements:
https://github.com/MystenLabs/sui/issues/1367
All of this is part of:
go/sui-validator-onboarding

Adding Brandon as I caught reference to him having a doc in our meeting on this topic today. Brandon, please send it my way!

Brandon has an excellent start on documentation in:
https://app.golinks.io/sui-fullnode

See a start on docs and related tasks in:
go/fullnode-overview
go/fullnode-setup
go/fullnode-docnotes
Please contribute your knowledge.

See the PRs above for the changes needed to announce the full node docs.

+Tom, Evan, Lu and Alonso.
This work is largely done:
https://github.com/MystenLabs/sui/blob/main/doc/src/build/fullnode.md
Except:

Dockerfile inclusion and linking
Storage specification

Tom has the former in the works. And the second is now at "a handful of GBs" which is vague and small.
Lu, Evan and Alonso had a healthy discussion about the size and economics of the situation in:
go/fullnode-setup
But now that those contents have been published, I'm not sure much will be done with that discussion. So raising the issue here. Let's sort the storage spec out.

Continuing on the conversation from here:
https://docs.google.com/document/d/1dqAxraShsxSa90HHMcv3JyOpn8IamJra6SXP5oWeo_Y/edit?disco=AAAAZIeDxeo
Do we want to leverage this docker compose config i have built and tested for this?
https://github.com/MystenLabs/sui/tree/tharbert/docker_fullnode/docker/fullnode

Continuing on the conversation from here:
https://docs.google.com/document/d/1dqAxraShsxSa90HHMcv3JyOpn8IamJra6SXP5oWeo_Y/edit?disco=AAAAZIeDxeo
Do we want to leverage this docker compose config i have built and tested for this?
https://github.com/MystenLabs/sui/tree/tharbert/docker_fullnode/docker/fullnode

@bmwill what do you think? And will we link into Tom's branch or main?

+Tom, Evan, Lu and Alonso.
This work is largely done: https://github.com/MystenLabs/sui/blob/main/doc/src/build/fullnode.md
Except:

Dockerfile inclusion and linking
Storage specification

Tom has the former in the works. And the second is now at "a handful of GBs" which is vague and small.
Lu, Evan and Alonso had a healthy discussion about the size and economics of the situation in: go/fullnode-setup
But now that those contents have been published, I'm not sure much will be done with that discussion. So raising the issue here. Let's sort the storage spec out.

I'm noting we are taking on storage specification in:
https://github.com/MystenLabs/sui/pull/2591

I'm adding @allan-bailey here as Allan suggests we add a note about how to configure and expose the metrics endpoint in the Monitoring section of our fullnode doc. @velvia can you help? Thanks!

I see this:
metrics-address: "<IP_ADDRESS>:9184"

In:
https://github.com/MystenLabs/sui/blob/main/crates/sui-config/data/fullnode-template.yaml
What next?

@velvia is now suggesting in go/fullnode-setup we recommend 100GB in storage. When you all decide, please edit the file directly and send me the PR to review:

Tom added the Docker solution in:
https://github.com/MystenLabs/sui/pull/2618
I'm editing that in:
https://github.com/MystenLabs/sui/pull/2640
And linking to it from the fullnode doc in:
https://github.com/MystenLabs/sui/pull/2641
Note, I included some TODOs with questions in PR #2640. Team, please advise.

Thank you @Clay-Mysten - I added some comments under the TODO's.
Do we need to get docker/fullnode from main into the devnet branch?

Reopening to announce the Docker change once tested.

We announced Docker:
https://docs.sui.io/learn#see-whats-new
https://discord.com/channels/916379725201563759/968392942517649438/989990506803114014
Now closing this out.


Add IgnoreMacros option to readability-function-size

Add IgnoreMacros option to readability-function-size check to mimic the same in readability-function-cognitive-complexity.
Counting the function size with expanded macros will make it more likely to break limits. Whereas macros are more like function calls regarding the readability.

This is an enhancement to a clang-tidy checker, kindly file it at https://github.com/llvm/llvm-project/issues/

Done: https://github.com/llvm/llvm-project/issues/112835 - thanks an sorry!


travis add php 7.3, 7.4

Coverage decreased (-0.9%) to 89.776% when pulling de03b7310d58e50ff68d046402665042fe89f069 on Ark4ne:1.3-php7.x into 89ce41f336d0ba9bd4db7d0fbf3609eaad827fb8 on phalcon-nucleon:1.3.


Lighting-app example flashing fails following instructions

Problem
I'm trying to run the Lighting-app example for the nRF52840 DK. I'm following the instructions in the README.md, which although not at all simple to follow, got me up to the point of building the example and generating the zephyr.hex file.
Now, running the command "west flash --erase" fails:
-- west flash: using runner nrfjprog
-- runners.nrfjprog: mass erase requested
Using board 683433932
-- runners.nrfjprog: Flashing file: /var/chip/examples/lighting-app/nrfconnect/build/zephyr/zephyr.hex
ERROR: JLinkARM DLL reported an error. Try again. If error condition
ERROR: persists, run the same command again with argument --log, contact Nordic
ERROR: Semiconductor and provide the generated log.log file to them.
FATAL ERROR: command exited with status 33: nrfjprog --program /var/chip/examples/lighting-app/nrfconnect/build/zephyr/zephyr.hex --chiperase -f NRF52 --snr 683433932

Interestingly, I am able to flash the device by drawing the zephyr.bin file into the JLINK removable device, but the west debug command does not work afterwards either.
I am using Ubuntu on a VMware virtual machine. Any suggestion would be welcome, and if a video guide for the whole setup would be extremely helpful if it exists already!

We're in progress of reviewing older issues. Is this still an issue given how old the SDK this was tested against? Please re-open if so. Thanks!


could you provide the template applicability filter policy to help speed up the search time?

Hello,
After reading the paper "Artificial applicability labels for improving policies in retrosynthesis prediction", I am wondering if you could provide the filter policy to help speed up the search time.

Thanks for you interest in the approach. The applicability filter do not help to speed up the search time, but do over longer runs increase the number of solved routes somewhat (c.f. Figure 9 from the paper).
We have not come around to train it on the public data, and as it is tightly coupled to the template set, this would be necessary. What policy do you intent to use it for?

Thanks for your patient reply. It is well known that some of the top 50 predicted templates by expansion policy are nonapplicable, and this consumes much of the run time during the search, so if the template applicability filter policy is used to filter the nonapplicable templates, the search must be faster. am I right? thank u.

Thanks for you interest in the approach. The applicability filter do not help to speed up the search time, but do over longer runs increase the number of solved routes somewhat (c.f. Figure 9 from the paper). We have not come around to train it on the public data, and as it is tightly coupled to the template set, this would be necessary. What policy do you intent to use it for?

Thanks for your patient reply. It is well known that some of the top 50 predicted templates by expansion policy are nonapplicable, and this consumes much of the run time during the search, so if the template applicability filter policy is used to filter the nonapplicable templates, the search must be faster. am I right? thank u. But the template applicability filter policy and its corresponding training data are not easy to get, so i attempt to ask for help.

It's not really faster for most of the cases. What it does, is that it gives the search more lower priority options to try. The code that tries and removes nonapplicable templates during search is quite fast, so for the top prioritized templates with the standard policy network it doesn't matter so much speed-wise, if the top-5 applicable predictions are enough to lead to a successful route. On the longer run it may be true that it's faster, you could as an alternative to the applicability filter, simply use the, say,  top 10000 templates from a regular policy, where maybe 50 are useful, and then the time used for eliminating 9950 of the templates explicitly would start to matter. So for longer runs on tougher to predict compounds, it leads to a higher success rate of finding routes as there are more options for the tree search, but for the majority of compounds it does not give faster search times to first route found (see Figure 9 in the MLST paper).
If the lower priority, but applicable, templates are then merely applicable in silico and not chemically relevant, is something that's a bit tougher to measure, but we are working on that aspect.

It's not really faster for most of the cases. What it does, is that it gives the search more lower priority options to try. The code that tries and removes nonapplicable templates during search is quite fast, so for the top prioritized templates with the standard policy network it doesn't matter so much speed-wise, if the top-5 applicable predictions are enough to lead to a successful route. On the longer run it may be true that it's faster, you could as an alternative to the applicability filter, simply use the, say, top 10000 templates from a regular policy, where maybe 50 are useful, and then the time used for eliminating 9950 of the templates explicitly would start to matter. So for longer runs on tougher to predict compounds, it leads to a higher success rate of finding routes as there are more options for the tree search, but for the majority of compounds it does not give faster search times to first route found (see Figure 9 in the MLST paper). If the lower priority, but applicable, templates are then merely applicable in silico and not chemically relevant, is something that's a bit tougher to measure, but we are working on that aspect.

Get it. Thanks for your enlightening reply.


Amazon Cognito Identity Provider service controller

New ACK Service Controller
Support for Amazon Cognito Identity Provider
List of API resources
List the API resources in order of importance to you:

IdentityPoool

duplicate of https://github.com/aws-controllers-k8s/community/issues/1211 - ...
/close


Feat: Create a summary page with green/red boxes to show at the aggregate level with ability to drill down

Take this as an inspiration: https://github.com/vakenbolt/go-test-report?tab=readme-ov-file#understanding-html-test-report
We should start with a summary page that should show me the following:

List of Project names that I have access to
Each summary run of the project showing green or red ie. if we have a test that fails in any of the test suites part of a test run for that project, the box should be red, else it should be green
I should be able to click on a single box which represents a single test run which should take me to the detail page of that run showing all the test runs as we have it currently in the home page
When we hover over the green/red boxes, it should show how many tests passed out of total tests say for example if its a red box, it can show something like 30/32 (93.75%) etc

Closed as a part of #15.


task recurrent scheduler component

Signed-off-by: Matias Bavera<EMAIL_ADDRESS>What's new
This package is responsible for generating pre-scheduled tasks. This module exposes REST endpoints for creating and managing pre-scheduled tasks. The idea is that the API-server (or rmf-server) serves as a bridge between this module and the UI. (WIP) This module should also be connected to the RMF task manager to send the task at a specific time.
Among the supported schedule are:

At a specific time
At a specific time on a daily schedule
At a specific time on a weekly schedule
At a specific time on a monthly schedule
At a specific time on a weekday monthly schedule

It supports:
Create task rules.
Allow enable / disable specific tasks
Delete rules and specific tasks
Add additional Information to a rule task.
In the following picture we can see how this package will interact with the whole system

Tasks to complete the feature

[ ] Connect dashboard -> api-server -> task-scheduler. Now we are by-passing the api-server. dashboard->task-scheduler.
[ ] Conect the task-scheduler package to the task dispatcher node . (Replicate the api-server conection)
[ ] Add tests to the UI components
[ ] Fix the scheduled task and rule tables pagination
[ ]  Once we connect to the api-server, we need to generate the types of the scheduled-task and
 task-rule on OpenAPI and update the api-client with the new definitions. Remove the task-scheduler manager from the dashboard one the definitions are on Open-api

Self-checks

[ ] I'm familiar with and follow this Typescript guideline
[ ] I added unit-tests for new components
[ ] I tried testing edge cases
[ ] I tested the behavior of the components that interact with the backend, with an e2e test.

Discussion

Is this only meant for the frontend? Do you have a proposal for how the whole system will interact?

Is this only meant for the frontend? Do you have a proposal for how the whole system will interact?

Cool, we can discuss this here, so my idea is to have a job scheduler in the backend, we could use this library https://docs.python.org/3/library/sched.html .
jobs: is a job to be performed by the scheduler.
task: is an rmf task.
We could create a DB model to save the recurrent tasks. When we send a new recurrent task definition from the dashboard to the api-server we should:

Create the recurrent task entry on the recurrent_task table and
Trigger or add a job to the scheduler with the task to be called in the future (with a limit to be defined), these jobs on the scheduler (once recurrent tasks are applied) should have some kind of relationship with the parent task on the recurrent_task table. Is important to have the previous relation, because one of the requirements is to delete the recurrent task (and from the job scheduler), and we can do that by having an identifier.

What do you think about it?

Some points which I think the proposal should answer.

How should the ui display recurring tasks, should it integration them in the tasks page, or have another page for recurring tasks?
rmf already has a limited task scheduling functions, how much would the design make use of it and how much would it expand on the existing scheduling system?

If scheduling is done by api server, when should it schedule submit tasks to rmf? e.g. x mins before the start time etc.

How should the scheduler behave when

It misses the time for a scheduled tasks
An existing instance of the task is already running when the recurring task is scheduled to run again
It misses the task completed event that should trigger the start of another recurring task

The possible downsides for the proposal

For example, if we have a design that puts the scheduling on the api server side, the api server becomes a "critical" component of rmf as without it, scheduled tasks will not run, delivery deadlines will be missed, KPI will be degraded etc.

In some cases, customers have strict policies on what language is allowed in "critical" components. We have to re-evaluate where the api server stands on the hierarchy and in the worst case, we need to rewrite it completely because python may not be allowed in a "critical" component.

I think the current proposal is to do task scheduling completely on api server? If so then the biggest concern is what happens if the server is down, if it changes the "important-ness" of the api server.

Just adding my 5cents here. I agree that the api-server should not be responsible for scheduling tasks. As @codebot  pointed out, we should develop a new library/package within RMF for this purpose ("Task Scheduler" in the diagram below). This package could maintain its own database of tasks (similar to the Schedule Database in rmf_traffic). Users can read/write/erase recurring tasks to this database over ROS 2 msgs. Then this Task Scheduler can periodically submit tasks to the Dispatcher which will assign the task to the most capable robot. The interval at which the Task Scheduler submits these tasks can be set through a parameter as this could be implementation dependent. No changes to the way Ad-hoc tasks will be submitted.

Or we could also beef up the Dispatcher Node by developing the capabilities of the proposed Task Scheduler into it.

Thank you all for your comments. Being that the case I totally agreed with you that the api-server should not handle the task schedule. So if I understand correctly it should be something like this

The task scheduler should be a "microservice" with its own database to store the tasks. And it should send the tasks to the task dispatcher node. I have a couple of questions:

Should the task scheduler receive requests from somewhere other than the api-server? (E.g should you be listening to a topic?)
As the task scheduler is a microservice and has its own database, by design the api-server should not access the task scheduler database directly, it should be through an endpoint. In the case of wanting to see all the recurring tasks in an interface (to modify or delete them) we should go the following way:
UI -> api-server -> task-scheduler. The api-server will be our middleman in every transaction between the UI and Task scheduler. Do we want that, or we want that the UI can connect directly with the task scheduler and be something like this?

I prefer diagram 1, authentication and authorization is a big problem and I think diagram 1 makes it easier to tackle. In order to return only the tasks an user can see, the scheduler needs the user's permission.
For diagram 1, the api server can pass the authorization along with the query.
For diagram 2, the scheduler needs to connect to the api server to query the user's permissions, but then that connection itself needs to be authenticated as well, so api server needs to implement alternative authentication for bot users. In diagram 2, the scheduler also needs to implement authentication etc, it also has problems in exposing an unified api to the client, we need to put it behind a reverse proxy, while not a big problem in deployment, it makes development harder as we need that reverse proxy even for local access.
However, in diagram 1, even though the scheduler is behind the api server, I think it should still develop its endpoints with first class support for the frontend in mind. Meaning it should support all the queries needed by the frontend, and if there is a new query not currently supported, it should be added directly in the scheduler instead of having the api server pre/post process the data. Instead of an ros endpoint, it may even expose rest endpoints, because rclpy is known to have performance problems, having the api server <-> task scheduler link be in http may greatly increase throughput.

On hold until Task Scheduler Node is addressed

Some feedback from show-and-tell,

[ ] The task scheduling tab to look similar to google calendar, where times can be clicked to add a rule, and to be set as recurring or not

stale and out of date


Temporary PR -- To be deleted

Sujatha's PRs fail on the SolverAnalytics test stage. This PR is to investigate why

If you want to view your Jenkins pipe you can access it through ginger as well.
http://ginger:8080/job/Test_mb/

The FIN_TOKEN was changed recently and that led to the SolverAnalytics repo being unable to be cloned. Changed the token, and the CI's back online (ref. http://ginger:8080/job/Test_mb/job/saud%252Ftemp-branch/)


problem with private youtube playlists

Hi,
we are now after a long  back and forth analyzing why a mumble-ruby-pluginbot wasn't loading a youtube playlist. After two updates using ~/src/mumble-ruby-pluginbot/scripts/updater.sh (first one disabled the bot completely, after the seconds it worked again) we had a look into ~/logs after starting the bot in debug mode and found out the youtube-dl error that the playlist could be private.
But the bot communicated only "nothing interesting here"
could you at least improve the youtube plugin to report the error output from youtube-dl instead saying things like "nothing interesting here"?
youtube-dl also has got the "Authentication Options" it would pe nice if they could be implemented in the mumble ruby pluginbot.
thanks and regards

The last weeks my free-time for programming was very limited and at the moment I can't give you any forecast when it will more time for it.
btw....
As I remember there was difficulties to parse youtube-dl error message during heavy development and message change on itself, so I gave up and planned to look in future how I can solve this.
Authentication with the bot is a bad idea because privacy problems if bot keep'd loged in, security reasons (bot run's on a machine that users can't control, but admin can and the password has to handle by plaintext).
The bot could be used as perfect man in the middle.


Improve efficiency of checking image existence

rbd list will be slow if there are a lot of images in RBD pool.
img.Open(true) can provide an efficient and quick way to check image existence. If the image does not exist, it returns an rbd.RbdErrorNotFound error.

@porcupie would you mind reviewing?

@ohmystack Thank you, I like this - I just hope we can come up with something similar when we move to drop go-ceph support and use command line tools for everything.  Since that is a bit far off still, I will likely accept this change for now - let me ponder it a bit.
For CLI only, perhaps something like rbd lock ls unknown-image will return a different error for unknown image vs not locked image vs locked image.  I will have to do some tests on my porcupie/rbd-docker-plugin branch.


Integreate event loop in one thread

I'm writing a C++ project which has my own custom event loop. It's a while loop, with a variable delay between each execution. It looks something like this:
while (true) {
    std::this_thread::sleep_for (variableTime);
    // Execute logic
}

I've previously been using another thread to execute logic, but I want to integrate the uWebSockets loop with my loop. Something like this:
#include <iostream>
#include <uWS/uWS.h>

using namespace std;

int main () {
    uWS::Hub h;

    h.onMessage([](uWS::WebSocket<uWS::SERVER> *ws, char *message, size_t length, uWS::OpCode opCode) {
        ws->send(message, length, opCode);
    });

    if (h.listen(3000)) {
        h.run();
    }

    while (true) {
        std::this_thread::sleep_for (variableTime);
        h.getMessages(); // <-- doesn't call `onMessage` until this is executed
        // Execute logic
    }
}

How would I go about doing this?
Thanks! :smile:

Why would you want to deliberately limit your CPU usage? Is it some kind of embedded, power constrained device?

@alexhultman
The machine that I will be using only has 1 core, so there's no advantage in multi-threading.
The specific reason that I want to integrate the event loop, is to avoid the issues of threads accessing the same data. I can use mutexes, but it seems like unnecessary work, and the extra complexity creates room for bugs and undefined behaviour.
Any ideas on how to do this?
Thanks for your help :slightly_smiling_face:.

This is not how you write async servers. If you want a timer, then use a timer. You cannot have a blocking sleep in the middle of your only thread.


Add pipeline-owners-extraction pipeline

So is the idea that consuming tools would download the artifact? Or that we would log out to a table and consume that?

So is the idea that consuming tools would download the artifact? Or that we would log out to a table and consume that?

The consumer will download the artifact, parse it and project it into the format needed for Kusto ingestion, then emit it as a blob


Installing with PECL does not install phptrace CLI

The documentation mentions that PECL is a way to install this, but doesn't mention that if you install the extension through PECL you still need to:

Download the corresponding release from GitHub.
Unpack the tarball.
Run phpize from the extension/ folder to generate the Makefile.
Run make cli to build the CLI binary.
Install the CLI with sudo make install-cli.

In some respects, this defeats the purpose of using PECL for the install.

@GuyPaddock adding these instructions to the README would be step in the right direction at least- keen to PR these changes?


B 20199 int

B-20199
Summary
Is there anything you would like reviewers to give additional scrutiny?
The feature flag check while the SSW is being generated may be unnecessary, and should likely be removed once there is no longer a need for it when the EMPLID is fully supported.
Verification Steps for the Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[x] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

How to test

Ensure your COAST_GUARD_EMPLID feature flag is set to true.

Log in as a new coast guard customer, ensure you enter an EMPLID when registering.

Create a PPM, request an advance for fastest testing.

Submit the PPM

Log in as a SC, approve the PPM. Once the download AOA Packet link appears, click it to generate an AOA packet.

Ensure that the EMPLID is displayed like in the screenshot below:

Optionally, disable the feature flag, restart your server, and repeat the entire process with a new move without adding the emplid (FF'd off). Ensure the DODID is displayed instead.

Run server tests, ensure passing.

Backend

[ ] Code follows the guidelines for Logging.
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Screenshots

EMPLID displays

The feature flag has been removed by G-Unit in both integration and main.


feat(Mathlib/Order/Basic): port most of data/order/basic.lean

Ports most of data/order/basic.lean from mathlib3, leaving a few TODOs.
This file lives near the base of the file-import dependency graph; having it ported should enable more experimentation with higher-level parts of the algebraic hierarchy.
Some challenges that came up:

Lean 4 defines max and min in the prelude, while Lean 3 (as of https://github.com/leanprover-community/lean/pull/609) defines them differently as part of linear_order. We will need to figure out how to resolve this conflict.
In Lean 3, the lexicographic order on products uses a wrapper type lex α β. In Lean 4, the prelude instance instLTProd defines the lexicographic order directly on α × β. In this PR, I needed to verbosely disambiguate which instance to use.

bors merge


[Settings import] Validate 'folderPushMode' value

Make sure folderPushMode is set to NONE when importing settings of an account type that doesn't support Push.

@cketti Just to clarify,  an account that doesn't support push = anything non-IMAP i.e. WebDav, JMAP (for now), POP3?

Yes. But I'd prefer if we don't duplicate the current logic. Right now there's Backend.isPushCapable. Maybe the mechanism needs to be changed so we can have BackendManager.isPushCapable(serverType: String).

I tried injecting the BackendManager into the AccountPreferenceSerializer but I ran into a stack overflow which I assume is because of a new circular dependency between app/k9mail and app/core. Any thoughts?

The validation logic lives inside the Settings class. You shouldn't have to touch AccountPreferenceSerializer.

I will have the same problem if I try to inject BackendManager into Settings won't I? Since Settings, like AccountPreferenceSerializer, also lives in app/core.
Second question: all the validation in Settings seems to be single-field with no other context, i.e. if you have just the setting value and the type, you can tell whether the value is valid. But checking folderPushMode is a cross-field validation since you also need to know the setting for incoming server type. I'm happy to add a general cross-field mechanism, or just add a check for this field (I'd put it in AccountSettingsDescriptions#validate). What do you think?


Execute Python code in WSL

Describe the feature you are requesting
VS should be able to run Python code in WSL, similar to the functionality available for C++ developers (https://learn.microsoft.com/en-us/cpp/build/walkthrough-build-debug-wsl2?view=msvc-170). I'd like to run and debug my code running in WSL.
Reasons for requesting this feature
I work on a Python project which uses a lot of native code that is linux-x64 only. I'd like to use VS as IDE to work on this project.
Describe alternatives you've considered

Porting all library dependencies of my python project to windows infeasible
Using remote debugging is cumbersome and not suitable as daily development workflow.

Moving this issue to discussion as an enhancement request for comments and upvotes.


Improve spreadsheets for testing of Archiving

I used the testing spreadsheet for archiving to test archiving.
https://docs.google.com/spreadsheets/d/1L6FfWzYfJX8u_ge0w_u13obrAEZJy50d/edit?usp=sharing&ouid=103883794928474636291&rtpof=true&sd=true
I list the issues here that I found so far:

[ ] It would be nice to duplicate the spreadsheet and have one without ANY accessions and and other one with accessions. That way we could test creating new entities in the archives and also updating entities in archives.
[ ] In BioSamples the sample name is required/mandatory. In this spreadsheet some of the biomaterials has not got name. That would fail in BioSamples.

I am going to update the above list whenever I find new issues.

Let's check at Kickoff whether this is still relevant, and we can get these scenarios and spreadsheets together with Enrique maybe?


CryptographyDeprecationWarning: signer and verifier have been deprecated.

I'm facing this SSH timeout and unable to launch
2018-07-02 21:54:58,170 - flintrock.ec2       - INFO  - Launching 2 instances...
2018-07-02 21:55:12,619 - flintrock.ec2       - DEBUG - 2 instances not in state 'running': 'i-07c5d3cf5773ebc8b', 'i-0cda15923091a6e95', ...
2018-07-02 21:55:18,605 - flintrock.ec2       - DEBUG - 2 instances not in state 'running': 'i-07c5d3cf5773ebc8b', 'i-0cda15923091a6e95', ...
2018-07-02 21:55:25,552 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 21:55:25,552 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 21:55:30,656 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH exception: [Errno None] Unable to connect to port 22 on <IP_ADDRESS>
2018-07-02 21:55:33,561 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
/usr/local/lib/python3.5/dist-packages/paramiko/rsakey.py:119: CryptographyDeprecationWarning: signer and verifier have been deprecated. Please use sign and verify instead.
algorithm=hashes.SHA1(),
/usr/local/lib/python3.5/dist-packages/paramiko/rsakey.py:99: CryptographyDeprecationWarning: signer and verifier have been deprecated. Please use sign and verify instead.
algorithm=hashes.SHA1(),
2018-07-02 21:55:41,571 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 21:55:49,581 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 21:55:57,591 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 21:56:05,597 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 21:56:13,607 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 21:56:21,617 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 21:56:29,627 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.

Flintrock version:
Python version:3.5
OS: ubuntu 17.04

Some questions:

What version of Flintrock are you running? You skipped that field in the issue template.
How long do the timeouts last? Where is the rest of the output? It's normal to see timeouts while the instances come up.
How did you install Flintrock?

1.flintrock version: 0.9.0
2. few seconds (8.08 to be precise)
3. sudo pip3 install flintrock
Here is the entire log, just now tried to launch few
 flintrock launch chandu
2018-07-02 22:14:59,365 - flintrock.ec2       - INFO  - Launching 2 instances...
2018-07-02 22:15:14,809 - flintrock.ec2       - DEBUG - 2 instances not in state 'running': 'i-047cc2ac0f2a6fa40', 'i-001065bf494b70010', ...
2018-07-02 22:15:21,775 - flintrock.ec2       - DEBUG - 1 instances not in state 'running': 'i-047cc2ac0f2a6fa40', ...
2018-07-02 22:15:26,376 - flintrock.ec2       - DEBUG - 1 instances not in state 'running': 'i-047cc2ac0f2a6fa40', ...
2018-07-02 22:15:30,929 - flintrock.ec2       - DEBUG - 1 instances not in state 'running': 'i-047cc2ac0f2a6fa40', ...
2018-07-02 22:15:38,070 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:15:38,071 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:15:46,081 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:15:46,081 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:15:54,083 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:15:54,087 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:16:02,093 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:16:02,095 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:16:10,099 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:16:10,105 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:16:18,109 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:16:18,111 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:16:26,119 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.
2018-07-02 22:16:26,119 - flintrock.ssh       - DEBUG - [<IP_ADDRESS>] SSH timeout.

So after the last SSH timeout debug line does Flintrock just hang?

No. Flintrock continuously trying to reach.
Thank you so much for replying Nick.

Are you able to manually SSH from the same host where you are running Flintrock to any node in the same VPC where you are trying to launch a cluster (doesn't have to be Flintrock-related)?

Yes, I can manually SSH into the nodes created from console. Also, I tried manually logging into the nodes created by Flintrock since they appeared running in the console. But, still facing timeout issue.

and they're in the same VPC

What do the security group rules look like for the Flintrock cluster you are trying to SSH into vs. the other non-Flintrock node that you are successfully able to SSH into?
The continuous timeouts suggest an issue with the security group rules, but if you can reach other instances in the same VPC then I'm not sure what the cause could be.

I'm still looking for answer to this question:

What do the security group rules look like for the Flintrock cluster you are trying to SSH into vs. the other non-Flintrock node that you are successfully able to SSH into?

If it isn't clear, security group rules are assigned per instance, so being in the same VPC doesn't say anything about whether the inbound access rules are the same for two different instances.

Issure resolved when I deleted all the security groups and VPCs.