Base engine with default values

@fsmosca Hi, can you please make a version with a non-changing base engine, always initialized with the default values?
I would like to give this a try instead of the current 'moving target'.

Yes I will do that.

Thank you!
So it seems this already worked for you.
I will now start a tuning run for SF's KingAttackWeights. I will let you know the result.
There is one culprit remaining, though. Just like all BO implementations I know, Optuna also doesn't handle noisy evaluations.
Maybe I'll open an issue about it on their github page.
One way to deal with this is to keep track of the best evaluated points and return the mean of them instead of simply the best point.
I already mentioned it here https://github.com/thomasahle/fastchess/issues/24 back then ...

Tuning
I did the kingattackweights but only 4 options on a fast tc of 2s+100ms at 100 games per trial.
python -u tuner7.py --engine .\engines\stockfish-modern\stockfish.exe --hash 128 --opening-file .\start_opening\ogpt_chess_startpos.epd --games-per-trial 100 --concurrency 7 --plot --study-name sf_eval_kaw5 --fix-base-param --base-time-sec 2 --pgn-output sf_eval_kaw5.pgn
trials: 1000, games_per_trial: 100
input param: OrderedDict([('KingAttackWeights[2]', {'default': 81, 'min': 30, 'max': 130, 'step': 4}), ('KingAttackWeights[3]', {'default': 52, 'min': 10, 'max': 110, 'step': 4}), ('KingAttackWeights[4]', {'default': 44, 'min': 10, 'max': 110, 'step': 4}), ('KingAttackWeights[5]', {'default': 10, 'min': 0, 'max': 60, 'step': 4})])

[I 2020-09-20 20:33:10,339] A new study created in RDB with name: sf_eval_kaw5
Warning, best value from previous trial is not found!
study best value: 0.0
Warning, best param from previous trial is not found!.
study best param: {}

starting trial: 0 ...
suggested param for test engine: {'KingAttackWeights[2]': 70, 'KingAttackWeights[3]': 78, 'KingAttackWeights[4]': 102, 'KingAttackWeights[5]': 12}
param for base engine          : {'KingAttackWeights[2]': 81, 'KingAttackWeights[3]': 52, 'KingAttackWeights[4]': 44, 'KingAttackWeights[5]': 10}
init param: {'KingAttackWeights[2]': 81, 'KingAttackWeights[3]': 52, 'KingAttackWeights[4]': 44, 'KingAttackWeights[5]': 10}
init value: 0.5
study best param: {}
study best value: 0.0
Actual match result: 0.45, point of view: optimizer suggested values
[I 2020-09-20 20:35:34,609] Trial 0 finished with value: 0.45 and parameters: {'KingAttackWeights[2]': 70, 'KingAttackWeights[3]': 78, 'KingAttackWeights[4]': 102, 'KingAttackWeights[5]': 12}. Best is trial 0 with value: 0.45.

starting trial: 1 ...
suggested param for test engine: {'KingAttackWeights[2]': 38, 'KingAttackWeights[3]': 70, 'KingAttackWeights[4]': 46, 'KingAttackWeights[5]': 32}
param for base engine          : {'KingAttackWeights[2]': 81, 'KingAttackWeights[3]': 52, 'KingAttackWeights[4]': 44, 'KingAttackWeights[5]': 10}
init param: {'KingAttackWeights[2]': 81, 'KingAttackWeights[3]': 52, 'KingAttackWeights[4]': 44, 'KingAttackWeights[5]': 10}
init value: 0.5
study best param: {'KingAttackWeights[2]': 70, 'KingAttackWeights[3]': 78, 'KingAttackWeights[4]': 102, 'KingAttackWeights[5]': 12}
study best value: 0.45
Actual match result: 0.535, point of view: optimizer suggested values
[I 2020-09-20 20:37:54,483] Trial 1 finished with value: 0.535 and parameters: {'KingAttackWeights[2]': 38, 'KingAttackWeights[3]': 70, 'KingAttackWeights[4]': 46, 'KingAttackWeights[5]': 32}. Best is trial 1 with value: 0.535.

...

starting trial: 10 ...
suggested param for test engine: {'KingAttackWeights[2]': 130, 'KingAttackWeights[3]': 14, 'KingAttackWeights[4]': 18, 'KingAttackWeights[5]': 16}
param for base engine          : {'KingAttackWeights[2]': 81, 'KingAttackWeights[3]': 52, 'KingAttackWeights[4]': 44, 'KingAttackWeights[5]': 10}
init param: {'KingAttackWeights[2]': 81, 'KingAttackWeights[3]': 52, 'KingAttackWeights[4]': 44, 'KingAttackWeights[5]': 10}
init value: 0.5
study best param: {'KingAttackWeights[2]': 38, 'KingAttackWeights[3]': 70, 'KingAttackWeights[4]': 46, 'KingAttackWeights[5]': 32}
study best value: 0.535
Actual match result: 0.56, point of view: optimizer suggested values
[I 2020-09-20 21:00:01,173] Trial 10 finished with value: 0.56 and parameters: {'KingAttackWeights[2]': 130, 'KingAttackWeights[3]': 14, 'KingAttackWeights[4]': 18, 'KingAttackWeights[5]': 16}. Best is trial 10 with value: 0.56.

Game test
At trial 10 it gets 0.56 from a 100-game trial, I tested this in game test. Tuning is 2s+100ms, in game test I use 5s+100ms. Looks ok to me it does not go down after 1000 games. I have limited resources, I cannot test this further.
Score of sf_kaw5_trial_10 vs sf_default: 234 - 230 - 536  [0.502] 1000
...      sf_kaw5_trial_10 playing White: 125 - 105 - 270  [0.520] 500
...      sf_kaw5_trial_10 playing Black: 109 - 125 - 266  [0.484] 500
...      White vs Black: 250 - 214 - 536  [0.518] 1000
Elo difference: 1.4 +/- 14.7, LOS: 57.4 %, DrawRatio: 53.6 %

Looking forward on your test results.

My tuning try has finished as well.
python tuner-kingattackweights.py --fix-base-param --engine ./engines/stockfish.exe --opening-file ./start_opening/ogpt_chess_startpos.epd --trials 400 --games-per-trial 20 --concurrency 3 --base-time-sec 2 --inc-time-sec 0.02 --study-name KingAttackWeights2 --plot
The result:

study best param: {'KingAttackWeights[2]': 20, 'KingAttackWeights[3]': 0, 'KingAttackWeights[4]': 0, 'KingAttackWeights[5]': 74}
study best value: 0.775
study best trial number: 217

Not sure I will even validate those values since they look way off.

Perhaps this one is too small:
--games-per-trial 20
I was using 100.

This is what I used:
    input_param.update({'KingAttackWeights[2]': {'default': 2, 'min': 0, 'max': 200, 'step': 2}})
    input_param.update({'KingAttackWeights[3]': {'default': 2, 'min': 0, 'max': 200, 'step': 2}})
    input_param.update({'KingAttackWeights[4]': {'default': 2, 'min': 0, 'max': 200, 'step': 2}})
    input_param.update({'KingAttackWeights[5]': {'default': 2, 'min': 0, 'max': 200, 'step': 2}})

And yes, 20 games per trial is very likely simply not enough.

I started another run for the KingAttackWeights, this time with a step size of 4 for each parameter, 200 trials and with 160 games per trial. Will post the result when it is finished.
Btw., do you know this interesting discussion https://github.com/glinscott/fishtest/issues/774?

I started another run for the KingAttackWeights, this time with a step size of 4 for each parameter, 200 trials and with 160 games per trial. Will post the result when it is finished.

Ok nice.

Btw., do you know this interesting discussion glinscott/fishtest#774?

No, just know it. Thanks.

Tuning finished.

[I 2020-09-22 09:53:20,011] Trial 199 finished with value: 0.512 and parameters: {'KingAttackWeights[2]': 36, 'KingAttackWeights[3]': 40, 'KingAttackWeights[4]': 20, 'KingAttackWeights[5]': 52}. Best is trial 119 with value: 0.556.
Saving plots ...
Done saving plots.
number  value  params_KingAttackWeights[2]  params_KingAttackWeights[3]  params_KingAttackWeights[4]  params_KingAttackWeights[5]     state
0  0.225                           32                          172                          112                          120  COMPLETE
1  0.362                            0                          172                           88                           72  COMPLETE
2  0.234                           28                          172                          104                           96  COMPLETE
3  0.263                           80                          136                          144                          104  COMPLETE
4  0.519                           24                           72                           60                          104  COMPLETE
5  0.306                           88                          176                          124                           32  COMPLETE
6  0.447                          128                           88                           76                           28  COMPLETE
7  0.362                          152                           84                          184                           48  COMPLETE
8  0.447                           60                           88                            0                          148  COMPLETE
9  0.275                            8                          128                           96                          200  COMPLETE
10  0.350                          192                           12                           28                          172  COMPLETE
11  0.491                          136                           40                           56                            8  COMPLETE
12  0.456                          136                           36                           44                            4  COMPLETE
13  0.356                          180                           48                           52                          136  COMPLETE
14  0.459                          112                            0                            0                           80  COMPLETE
15  0.447                          164                           52                           64                           68  COMPLETE
16  0.472                           60                           64                           20                            0  COMPLETE
17  0.394                          112                           16                           32                          148  COMPLETE
18  0.322                          148                          108                           68                          180  COMPLETE
19  0.506                           60                           32                            8                          116  COMPLETE
20  0.478                           40                           68                           12                          120  COMPLETE
21  0.509                           56                           32                           48                           96  COMPLETE
22  0.494                           60                           24                           40                           96  COMPLETE
23  0.475                           16                           64                            0                          116  COMPLETE
24  0.484                           44                           24                           76                           84  COMPLETE
25  0.509                           72                            0                           16                           56  COMPLETE
26  0.534                           76                            4                           28                           56  COMPLETE
27  0.491                           84                            0                           24                           56  COMPLETE
28  0.459                          100                            4                           32                           40  COMPLETE
29  0.272                           24                          196                          120                           16  COMPLETE
30  0.453                           72                          120                           16                           60  COMPLETE
31  0.512                           48                           12                           52                           76  COMPLETE
32  0.438                           40                           20                           48                           80  COMPLETE
33  0.431                            4                           52                           60                          100  COMPLETE
34  0.500                           44                           12                           88                           88  COMPLETE
35  0.456                           24                           76                           80                           72  COMPLETE
36  0.459                           52                          104                           40                          108  COMPLETE
37  0.463                           76                            8                          140                           48  COMPLETE
38  0.225                           96                          152                          200                           24  COMPLETE
39  0.506                           32                            0                          104                           64  COMPLETE
40  0.531                           68                           44                           32                           48  COMPLETE
41  0.491                           68                           44                           36                           40  COMPLETE
42  0.494                           92                           60                            8                           48  COMPLETE
43  0.503                           32                           32                           52                           88  COMPLETE
44  0.409                           52                           80                           64                          128  COMPLETE
45  0.397                           84                           92                           88                           72  COMPLETE
46  0.472                           68                           24                           24                           36  COMPLETE
47  0.512                           16                           36                           72                           92  COMPLETE
48  0.403                           12                           56                           72                          108  COMPLETE
49  0.456                            0                           72                           84                           76  COMPLETE
50  0.466                           20                           44                           56                           24  COMPLETE
51  0.500                           48                           36                           96                           92  COMPLETE
52  0.503                          108                           12                           28                           52  COMPLETE
53  0.528                           32                           16                           16                           64  COMPLETE
54  0.491                           32                           24                           44                           64  COMPLETE
55  0.512                            8                           40                           68                           68  COMPLETE
56  0.459                            8                           48                           36                           68  COMPLETE
57  0.534                           36                           32                           56                           80  COMPLETE
58  0.425                            0                           92                           60                           44  COMPLETE
59  0.478                           36                           56                            4                           32  COMPLETE
60  0.491                           20                           32                           24                          108  COMPLETE
61  0.438                           12                           40                           68                           84  COMPLETE
62  0.500                           28                           28                           68                           60  COMPLETE
63  0.506                           60                           16                           48                           76  COMPLETE
64  0.503                           40                            8                           56                           56  COMPLETE
65  0.422                           52                           16                           32                          100  COMPLETE
66  0.519                           64                           44                           40                           68  COMPLETE
67  0.503                           64                           68                           20                           80  COMPLETE
68  0.500                           80                           52                           44                           92  COMPLETE
69  0.503                           76                           44                           12                           68  COMPLETE
70  0.503                           48                           20                           40                           76  COMPLETE
71  0.428                           24                           36                           76                           84  COMPLETE
72  0.509                           16                           40                           60                           60  COMPLETE
73  0.469                           40                           20                           48                           52  COMPLETE
74  0.438                           64                            8                           36                           92  COMPLETE
75  0.506                            8                           60                           80                           64  COMPLETE
76  0.466                           56                           28                           52                          100  COMPLETE
77  0.509                           44                            4                           16                          112  COMPLETE
78  0.512                           88                           28                           28                          128  COMPLETE
79  0.484                           36                           48                           36                           44  COMPLETE
80  0.459                           92                           28                           28                          140  COMPLETE
81  0.475                           80                           12                           20                          164  COMPLETE
82  0.428                          100                           36                           44                          124  COMPLETE
83  0.509                           68                            4                           32                           72  COMPLETE
84  0.431                          124                           40                           96                           52  COMPLETE
85  0.506                           84                           20                           52                          132  COMPLETE
86  0.412                           24                           64                           64                           68  COMPLETE
87  0.466                           28                           52                           72                           80  COMPLETE
88  0.453                           16                           16                           60                           88  COMPLETE
89  0.434                           48                           44                          112                           60  COMPLETE
90  0.397                           56                           36                           72                          104  COMPLETE
91  0.356                           76                          116                           28                          152  COMPLETE
92  0.438                            4                           32                           40                           76  COMPLETE
93  0.456                           36                           28                            8                          120  COMPLETE
94  0.516                           88                           56                           56                           72  COMPLETE
95  0.459                           88                           56                           56                           64  COMPLETE
96  0.463                           20                           80                           64                           56  COMPLETE
97  0.463                          104                           48                           40                           96  COMPLETE
98  0.478                           92                           68                           24                           72  COMPLETE
99  0.528                           72                           56                           48                           44  COMPLETE
100  0.469                           72                           60                           48                           36  COMPLETE
101  0.522                           68                           24                           56                           44  COMPLETE
102  0.506                           64                           48                           56                           40  COMPLETE
103  0.484                           56                           56                           52                           48  COMPLETE
104  0.463                           80                           44                           68                           32  COMPLETE
105  0.541                           72                           40                           80                           24  COMPLETE
106  0.494                           68                           40                           80                           16  COMPLETE
107  0.500                           72                           72                           44                           16  COMPLETE
108  0.497                           76                           52                           64                           44  COMPLETE
109  0.359                           84                           64                          168                           24  COMPLETE
110  0.494                           88                           24                           32                           28  COMPLETE
111  0.463                           60                           28                           48                           52  COMPLETE
112  0.497                           68                           32                           80                            4  COMPLETE
113  0.472                           72                            8                           12                           60  COMPLETE
114  0.506                           52                           16                           56                           84  COMPLETE
115  0.494                           96                           24                           20                           48  COMPLETE
116  0.547                           80                           36                           36                           36  COMPLETE
117  0.531                           80                           36                           36                           32  COMPLETE
118  0.512                           80                           44                           36                           36  COMPLETE
119  0.556                           96                           36                           40                           28  COMPLETE
120  0.494                          112                           36                           40                           28  COMPLETE
121  0.512                           84                           48                           44                           12  COMPLETE
122  0.506                           96                           40                           32                           20  COMPLETE
123  0.469                           64                           52                           36                           32  COMPLETE
124  0.444                           76                           32                           24                           40  COMPLETE
125  0.472                           92                           60                           52                           44  COMPLETE
126  0.472                           80                           32                           16                           20  COMPLETE
127  0.481                          104                           36                           44                           28  COMPLETE
128  0.506                           72                           44                           28                           36  COMPLETE
129  0.434                           64                           20                           60                           56  COMPLETE
130  0.519                           84                           56                           48                           48  COMPLETE
131  0.503                           88                           56                           48                           48  COMPLETE
132  0.509                           76                           52                           40                           40  COMPLETE
133  0.500                           84                           72                           36                           32  COMPLETE
134  0.472                          100                           48                           52                           44  COMPLETE
135  0.466                           68                           40                           32                           56  COMPLETE
136  0.444                          200                           24                           44                           36  COMPLETE
137  0.472                           80                           88                           56                           52  COMPLETE
138  0.522                           88                           64                           60                           24  COMPLETE
139  0.478                           72                           64                           40                           20  COMPLETE
140  0.463                           92                           32                           48                           24  COMPLETE
141  0.466                           88                           76                           60                           64  COMPLETE
142  0.519                           96                           56                           60                           12  COMPLETE
143  0.503                          104                           64                           64                            4  COMPLETE
144  0.512                           84                           60                           24                           12  COMPLETE
145  0.388                          108                          140                           88                           12  COMPLETE
146  0.487                           96                           44                           32                           28  COMPLETE
147  0.500                           76                           48                           52                           40  COMPLETE
148  0.506                          116                           36                           68                            0  COMPLETE
149  0.500                           96                            0                           44                           32  COMPLETE
150  0.481                           32                           68                           72                           24  COMPLETE
151  0.487                           80                           56                           60                           48  COMPLETE
152  0.472                           92                           56                           56                           68  COMPLETE
153  0.316                           68                          200                           48                           20  COMPLETE
154  0.441                           84                           40                           52                          196  COMPLETE
155  0.547                           76                           28                           40                           60  COMPLETE
156  0.544                           72                           28                           36                           56  COMPLETE
157  0.519                           60                           28                           36                           60  COMPLETE
158  0.503                           60                           28                           28                           56  COMPLETE
159  0.487                           76                           16                           40                           52  COMPLETE
160  0.509                           64                           20                           36                           64  COMPLETE
161  0.456                           72                           24                           36                           60  COMPLETE
162  0.481                           64                           36                           28                           44  COMPLETE
163  0.481                           72                           32                           20                           60  COMPLETE
164  0.466                           68                           24                           32                           52  COMPLETE
165  0.528                           56                           28                           40                           68  COMPLETE
166  0.481                           56                           28                           40                           64  COMPLETE
167  0.500                           76                           12                           44                           36  COMPLETE
168  0.444                           80                           40                           48                           48  COMPLETE
169  0.475                           60                           20                           36                           44  COMPLETE
170  0.491                           28                           36                           24                           72  COMPLETE
171  0.453                           64                           32                           40                           56  COMPLETE
172  0.509                           72                           28                           32                           28  COMPLETE
173  0.472                           52                           44                           36                           68  COMPLETE
174  0.537                           60                           28                           44                           56  COMPLETE
175  0.547                           56                           28                           44                           60  COMPLETE
176  0.472                           44                           24                           44                           52  COMPLETE
177  0.553                           60                           20                           28                           60  COMPLETE
178  0.487                           56                           20                           28                           64  COMPLETE
179  0.487                           52                           12                           40                           56  COMPLETE
180  0.478                           68                           16                           44                           48  COMPLETE
181  0.506                           60                           28                           32                           60  COMPLETE
182  0.544                           48                           32                           40                           68  COMPLETE
183  0.466                           48                           36                           12                           68  COMPLETE
184  0.544                           40                           32                           48                           40  COMPLETE
185  0.534                           36                           32                           52                           40  COMPLETE
186  0.528                           40                           32                           48                           32  COMPLETE
187  0.506                           44                           32                           44                           36  COMPLETE
188  0.509                           36                           32                           48                           40  COMPLETE
189  0.509                           48                           28                           36                           36  COMPLETE
190  0.463                           40                           36                           24                           32  COMPLETE
191  0.509                           40                           24                           52                           44  COMPLETE
192  0.503                           32                           32                           48                           28  COMPLETE
193  0.484                           36                           40                           40                           24  COMPLETE
194  0.497                           44                           20                            4                           40  COMPLETE
195  0.547                           36                           36                           32                           56  COMPLETE
196  0.466                           40                           32                           32                           52  COMPLETE
197  0.494                           28                           28                           44                           60  COMPLETE
198  0.509                           40                           36                           32                           64  COMPLETE
199  0.512                           36                           40                           20                           52  COMPLETE
study best param: {'KingAttackWeights[2]': 96, 'KingAttackWeights[3]': 36, 'KingAttackWeights[4]': 40, 'KingAttackWeights[5]': 28}
study best value: 0.556
study best trial number: 119

Submitted a test on fishtest https://tests.stockfishchess.org/tests/view/5f69bae9938ba4977fe04f41

Thanks for the test. What time control did you use in this optimization?
I can implement the mean approach, but it looks like TPE has also considered the history of trials. There are also interesting parameters under TPE sampler. Will look into it later.
BTW this is the optimization method description used by optuna I found in the code. So TPE is the default, would be interesting to try other Sampler. Other optuna samplers.
        """Optimize an objective function.

        Optimization is done by choosing a suitable set of hyperparameter values from a given
        range. Uses a sampler which implements the task of value suggestion based on a specified
        distribution. The sampler is specified in :func:`~optuna.study.create_study` and the
        default choice for the sampler is TPE.
        See also :class:`~optuna.samplers.TPESampler` for more details on 'TPE'.

        Example:

            .. testcode::

                import optuna

                def objective(trial):
                    x = trial.suggest_uniform("x", -1, 1)
                    return x ** 2

                study = optuna.create_study()
                study.optimize(objective, n_trials=3)

        Args:
            func:
                A callable that implements objective function.
            n_trials:
                The number of trials. If this argument is set to :obj:`None`, there is no
                limitation on the number of trials. If :obj:`timeout` is also set to :obj:`None`,
                the study continues to create trials until it receives a termination signal such
                as Ctrl+C or SIGTERM.
            timeout:
                Stop study after the given number of second(s). If this argument is set to
                :obj:`None`, the study is executed without time limitation. If :obj:`n_trials` is
                also set to :obj:`None`, the study continues to create trials until it receives a
                termination signal such as Ctrl+C or SIGTERM.
            n_jobs:
                The number of parallel jobs. If this argument is set to :obj:`-1`, the number is
                set to CPU count.
            catch:
                A study continues to run even when a trial raises one of the exceptions specified
                in this argument. Default is an empty tuple, i.e. the study will stop for any
                exception except for :class:`~optuna.exceptions.TrialPruned`.
            callbacks:
                List of callback functions that are invoked at the end of each trial. Each function
                must accept two parameters with the following types in this order:
                :class:`~optuna.study.Study` and :class:`~optuna.FrozenTrial`.
            gc_after_trial:
                Flag to determine whether to automatically run garbage collection after each trial.
                Set to :obj:`True` to run the garbage collection, :obj:`False` otherwise.
                When it runs, it runs a full collection by internally calling :func:`gc.collect`.
                If you see an increase in memory consumption over several trials, try setting this
                flag to :obj:`True`.

                .. seealso::

                    :ref:`out-of-memory-gc-collect`

            show_progress_bar:
                Flag to show progress bars or not. To disable progress bar, set this ``False``.
                Currently, progress bar is experimental feature and disabled
                when ``n_jobs`` :math:`\\ne 1`.
        """

Some ref. on Optuna and TPE:

Optuna framework
algorithms-for-hyper-parameter-optimization.pdf
openvinotoolkit
TPE Sampler in optuna

Time control was the same as in the previous study, 2+0.02.
Thank you for the links.
I stii find the idea of re-evaluating the best point so far every n-th iteration very interesting.


Fix link warning related to symbol visibility

ld: warning: direct access in itk::SEMModuleDescription::New() to global weak symbol typeinfo for itk::SEMModuleDescription means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.

For more details, see http://open.cdash.org/viewBuildError.php?buildid=3353524

Closing old issue because I am unable to reproduce.


Dropdowns for navbar on hovering

Is your feature request related to a problem? Please describe.
Hello and thank you for your great framework. It's easy and simple to understand.
I would like to know if there is a simple way to have dropdowns for navbar that appear/hide on hovering because the documentation/examples only refers to onclick examples.
I would like something like for the tooltips : data-tooltip-trigger="hover"

Hey @Maxtab,
We're actually working on this for the next update.
Thanks for reporting!


malformed AAC bitstream detected

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS>. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
I am in Ubuntu 20.04. I have last ffmpeg and last yt-dlp version but i still get this error with twitch videos downloads.
Did i miss something?
Verbose log
[download] 100% of 67.03MiB WARNING: v1149810294: malformed AAC bitstream detected

That is not the ENTIRE VERBOSE LOG
and that is not an error. The warning is normal

if audio isnt fine should be a error but ok, pal.

if audio isnt fine should be a error but ok, pal

read the rest of the output. ffmpeg will be used to auto-fix this

if wasnt a error, why audio its malformed?

When downloading from m3u8 streams, the fragmented audio stream has ADTS framing which must be removed from the final file. Until it is removed, the audio bitream is "malformed". yt-dlp will automatically invoke ffmpeg to fixup this.
If you have any issues with this process, you must provide the full verbose log. When all you have given us is the warning, there is nothing more to be said or done


Update run_dnabert2.sh

There is a fundamental issue with this bash script.

The learning rate is undefined which produces error for every run. I have provided a standard LR used for BERT (2e-5).

Requesting the authors of DNABERT-2 to specify the LR used for finetuning on each dataset of GUE dataset in order to reproduce the results. That would be extremely helpful.

I have also added script for handling any incoming errors while training which specifically points out where (in which training loop of the finetuning datasets) did the error occur. Which will be very helpful for debugging later on.

Needless to say, the proposed changes in the pull requests effectively resolve the problems with the DNABERT-2 codebase & I hope these proposed changes will encourage further research in the area. I will be looking ahead to polish the code further if necessary.


Layout.yaml is no longer created

Find out why layout.yaml is no longer created and fix it.

Has been removed in 19e805f66837b0f39868ea39fd1228075a644c56

fixed in https://github.com/missionpinball/mpf-monitor/commit/79bb049101b62bf846c4451ac462b0d0a4a7acaf


Set up the Viva Connections experience in a specific language

As mentioned in the Microsoft document I am trying to translate it to other country languages like French. But I am not able to see the content in French language even though my profile is in French.
Followed this link https://docs.microsoft.com/en-us/viva/connections/viva-connections-language

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Add support for Traversal.promise

Added a unit test for it but it's pretty basic and using mock data.  Doing a quick sanity check with a remote graph as I wanted to test the error case (but highly likely that will work fine)

Looks like scala 2.11 doesn't like this, investigating:
[error] /home/travis/build/mpollmeier/gremlin-scala/gremlin-scala/src/main/scala/gremlin/scala/GremlinScala.scala:682: missing parameter type for expanded function
[error] The argument types of an anonymous function must be fully known. (SLS 8.5)
[error] Expected type was: java.util.function.BiConsumer[? >: NewEnd, ? >: Throwable]
[error]     this.traversal.promise(wrapperFun).whenComplete {

I experimented with DSE Graph and it seems to behave well:
    "execute a traversal asynchronously using promise" in fixture { g =>
      // Basic example that demonstrates chaining asynchronous futures with one another.
      val future: Future[Option[String]] = for {
        createdVertex <- g.addV(Person).property(Name, "marko").promise(_.head)
        name <- g.V(createdVertex.id).value(Name).promise(_.headOption)
      } yield name

      val name = Await.result(future, FiniteDuration(1, SECONDS))
      name shouldEqual Some("marko")
    }

    "encounter a failed traversal asynchronously using promise" in fixture { g =>
      // Basic example that demonstrates that a traversal that encounters an error will fail the resulting exception
      val future: Future[Vertex] = g.V("invalidid").promise(_.head)

      // CompletionException will be raised when awaiting the future
      val thrown = intercept[CompletionException] {
        Await.result(future, FiniteDuration(1, SECONDS))
      }

      // InvalidQueryException should be the cause since this is the error DSE would have emitted
      thrown.getCause shouldBe a[InvalidQueryException]
    }

However I encountered two things:

TINKERPOP-1671
java-driver-dse-graph does not provide a concrete implementation of RemoteConnection.executeAsync.  If it did, TINKERPOP-1671 wouldn't have been encountered.

I patched the dse driver locally so it had a concrete implementation (and thus worked around TINKERPOP-1671) and the Future returned from GremlinScala.promise failed appropriately.
So the implementation seems to be behaving well, now to make this work for scala 2.11.

Funny coincidence, I ran into one of your blog posts that got me pointed in the right direction.  I defined a toJavaBiConsumer method and use that and it looks like that'll fix things for scala 2.11.  Pushing up a fix shortly.

hehe, guess where the inspiration for that post came from :)g
well done, again. thank you!


Search button not working

How to enable search?
cant find setting to put content key on admin

can you please describe some more about issue ?

Search is enabled by default and it doesn't require any additional setup.


[BOW-137] Implement settings page

Codecov Report
Attention: 74 lines in your changes are missing coverage. Please review.

Comparison is base (6cbcb2f) 23.08% compared to head (73a135d) 3.08%.

Files
Patch %
Lines

server/app/settings/actions.ts
0.00%
22 Missing :warning:

server/lib/settingsValues.ts
0.00%
17 Missing :warning:

server/app/settings/components.tsx
0.00%
14 Missing :warning:

server/lib/settings.ts
0.00%
8 Missing :warning:

server/app/settings/page.tsx
0.00%
7 Missing :warning:

server/components/FormFields.tsx
0.00%
4 Missing :warning:

server/app/error.tsx
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #217       +/-   ##
==========================================
- Coverage   23.08%   3.08%   -20.00%
==========================================
  Files          86      82        -4
  Lines        3457    2363     -1094
  Branches      530     491       -39
==========================================
- Hits          798      73      -725
+ Misses       2659    2290      -369

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


fix missing function table clearing for loop body cleanup

clear the function table for loop body entrypoint case.
when debugger attaching the code address is not freed through normal path hence clearing the xdata in main thread. this is done for function entrypoint in last change but missed loop body case. also make sure of the integrity of clearing function table in the slist.

@dotnet-bot test OSX static_osx_osx_debug please


High resource use according to task manager when nothing is happening in wsl

Windows Version
10.0.19045.3803
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-1
Distro Version
Ubuntu 23.04
Other Software
No response
Repro Steps
taskmgr often shows vmmem with "very high" power usage and 2GB of RAM when wsl is doing nothing -- no terminal window or application even open. When I run top in wsl, I don't see anything using significant amounts of RAM or CPU. echo 3 > /proc/sys/vm/drop_caches seems to free up some memory. I've tried adding autoMemoryReclaim=gradual to .wslconfig but I don't see it doing anything.
I'm often seeing wsl freeze/crash as indicated in #10378 , requiring reboot to fix (wsl --shutdown isn't enough), but I don't know if that's related to this overall resource issue or not.
This is on a 2023 top-end X1 Carbon, so it shouldn't be maxing out system resources so easily.
Expected Behavior
Normal/low RAM/CPU usage
Actual Behavior
High RAM/CPU usage
Diagnostic Logs
I could upload the output of collect-wsl-logs.ps1 if needed.

Thank you for reporting this @ajkessel.
Next time this reproduces, can you run:
wsl --debug-shell

And inside that shell, share the output of top ?

Is this what you're looking for?

Resource use is moderate when this was taken, but still higher than I would expect given that almost nothing is actually happening in wsl.
Does this mean it's actually trying to use more than 10GB of RAM?

I just experienced WSL hanging with a vmmem process hogging ~8GiB memory and ~80% CPU.
Happened during build of a C++ application using g++ in a VSCode Dev Container with code residing on the Windows filesystem accessed by WSL via the mounted path in /mnt/c.

In my situation all attempts to do anything with WSL hung, including wsl --debug-shell.
Killing it using taskkill /f /im wslservice.exe as directed here made the open shells terminate and I could start new ones:
[process exited with code 1 (0x00000001)]
You can now close this terminal with Ctrl+D, or press Enter to restart.

WSL versions:
c:\>wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>-1
WSLg version: 1.0.59
MSRDC version: 1.2.4677
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19045.3930


Dropdown menu closes on pointerup when placed over trigger

Bug report
Current Behavior
If the DropdownMenu content is placed above the trigger, then a click will open and dismiss the menu.

Expected behavior
There are two interactions that I think are clashing here.
The first is when a user start a click, then moves their pointer over an item that they want to select, and then stops the click to select it.
The second is when a user clicks once to open the menu, then moves to an item that they want to select, and clicks again to select it.
The menu normally makes a good distinction between the two, however when the menu is located on top of the trigger, the interactions clash.
Reproducible example
https://codesandbox.io/s/thirsty-mestorf-6478j
Suggested solution
Enter a maybe-clicking state on pointer down. Require a movement of some length to enter a drag-selecting state, in which any pointer-up will close the menu and select a hovered item, if any. If the pointer-up occurs while the user is still in the maybe-clicking state, then ignore it.

Hi @steveruizok,
Can I ask where you are going with this?
I don't think it makes much sense to put the menu over the trigger as part of a dropdown menu.

You know, I'm probably reaching more for a select here than a dropdown menu.

Yes, that's what I was thinking you'd say 🙂
We will have a Select primitive soon.


How to render face landmarks

Firstly, I would like to express my appreciation for the excellent library; it has been instrumental in my project. I have successfully used the example code provided to render bounding boxes for detected faces within my application. However, I am encountering difficulties when trying to render facial landmarks on the screen.
I am using the calcFacePosition function to calculate the positions of the bounding boxes based on the face detection output. This part works as expected. However, when attempting to apply similar logic to render facial landmarks, I am unsure how to correctly adjust the coordinates to fit the orientation and scale of the display.
Here is the function I use to calculate the face position:
function calcFacePosition(bounds: Bounds, frame: FrameData): FacePosType {
    const orientation = (() => {
      switch (frame.orientation) {
        case 'portrait':
          return 0;
        case 'landscape-left':
          return 90;
        case 'portrait-upside-down':
          return 180;
        case 'landscape-right':
          return 270;
      }
    })();
    const degrees = (orientation - 90 + 360) % 360;
    let scaleX = 0;
    let scaleY = 0;

    if (!isIos && (degrees === 90 || degrees === 270)) {
      scaleX = windowWidth / frame.height;
      scaleY = windowHeight / frame.width;
    } else {
      scaleX = windowWidth / frame.width;
      scaleY = windowHeight / frame.height;
    }

    const faceW = bounds.width * scaleX;
    const faceH = bounds.height * scaleY;
    const faceX = (() => {
      const xPos = bounds.left * scaleX;
      if (isIos) {
        return xPos;
      }
      return windowWidth - (xPos + faceW); // invert X position on android
    })();

    return {
      faceW,
      faceH,
      faceX,
      faceY: bounds.top * scaleY,
    };
}

I would appreciate guidance on how to modify this function or apply a different method to accurately position facial landmarks on the screen, taking into account different device orientations and scales.
Thank you for your time and assistance.

Hello,
You'll need to loop through all landmarks (x and y values) and apply scale to them.
At this moment I can't help you with some code because landmarks are not something I use in my own projects.
However, I can provide you this assistance with a financial compensation. If you're willing to consider this option, I'm here to help in the best way I can.
I'll close this issue as it's not realated to any issue nor a problem but you can still reply it to continue this conversation.


Lack of indent on multi-line arrays and strings

Both of these get wrong indent:
var data = [1,
  2];

var x = "abc" +
  "efg";

Result:
var data = [1,
2];

var x = "abc" +
"efg";

Neither the hook for ArrayExpression nor for BinaryExpression are particularly complicate, but similar to #238, I don't understand enough to figure out the problem.
This is one of the few remaining blockers for me.

The multi-line string / binary expression portion is a duplicate of #212.

for the array we basically need to replicate the logic that I just added to the CallExpression (indent if array item starts on the next line) - I probably won't have time to work on it this week, but should not be too complex to implement.
PS: the current ArrayExpression.getIndentEdges logic seems weird to me so it is probably a better idea to replace the whole thing than try to adapt it.

I still have no mental concept of what getIndentEdges is doing. Some explanation, e.g. in contributing.md, might help a lot for that.

@jzaefferer I pushed a commit a few hours ago explaining how indentation works, let me know if you need more info about: https://github.com/millermedeiros/esformatter/commit/3ff435502276f0c152a17fae5e9d44ad40c1c396 - this was indeed a very good idea, will make it way easier for new contributors to jump into the project

I just looked at the commit - that's still mostly incomprehensible to me...


entry into host terms

[x] GO:0030260    entry into host cell
merge into entry into host, narrow synonym

[x] GO:0085027    entry into host via enzymatic degradation of host anatomical structure
merge into "entry into host"
To capture individual activities use, for example "protease" involved_in "entry into host"

[x] GO:0085028
merge into "entry into host"
To capture individual activities use, for example "protease" involved_in "entry into host"

[x] GO:0075052   entry into host cell via penetration peg
merge into entry into host

[ ]  GO:0085017    entry into host cell by a symbiont-containing vacuole
obsolete, badly defined.  we think this is endocytosis and possibly another term. No annotations

Those 4 were done via https://github.com/geneontology/go-ontology/pull/18558

The two terms that remain to be addressed are
GO:0044410    entry into host through natural portals
(1 incorrect annotation CGD @marekskrzypek )
As defined, this is not clear what is the exact process this terms represent.
Will propose obsoletion.

GO:0085017    entry into host cell by a symbiont-containing vacuole
1 BHF annotations @RLovering from PMID:10570297 that talks about phagocytosis by host of bacteria. The normal function of the annotated protein (ITGAV | Integrin alpha-V) is probably not in recognize bacteria.
Remove annotation ?
3 papers are cited in the term definition: PMID:8690024, PMID:9580555, PMID:18665841
The first 2 papers talk about 'parasitophorous vacuole', which is in the CC aspect an exact synonym for 'symbiont-containing vacuole'. Wikipedia describes parasitophorous vacuole formation as "The parasitophorous vacuole is formed during cell invasion, when the parasite uses part of the membrane of the host cell to form a parasitophorous vacuolar membrane (PVM)."
https://en.wikipedia.org/wiki/Parasitophorous_vacuole. According to the review, PMID:32714877, the parasite is internalized via an endocytic process with the establishment of a parasitophorous vacuole (PV).
So, I suggest the following changes:

[ ]  'entry into host cell by a symbiont-containing vacuole' -> change label to 'formation of parasitophorous vacuole'
[ ]  symbiont-containing vacuole -> swap label and synonym

[ ]   GO:0085018 maintenance of symbiont-containing vacuole by host
2 papers annotated: PMID:28835546 & PMID:18665841
The first describes how the bacteria uses host factors to form the vacuole. -> out of scope to annotate host genes ?
The second one describes the maintenance of the  symbiont-containing vacuole (parasitophorous vacuole) as a defense mechanism. -> should be annotated to a different term ?

To discuss on a call with @mgiglio99 @dsiegele @ValWood
Thanks, Pascale


Update sprint-164-update.md

Updated the title to make clear which sprint it is. :-) Much more readable for users to know.

should this be processed or closed?

@gloridelmorales Could you review this PR from January? Thank you.

closing this. It's not too important and is also not being processed.


not applicable effect 'modify' as allowed effect in policy definition Append-Redis-disableNonSslPort

Describe the bug
not applicable effect 'modify' as allowed effect in policy definition Append-Redis-disableNonSslPort
in the policy rule then -> no roledefinitionIds given and no operations given
Steps to reproduce
docs/Modify properties

PR1291


core: tracer: remove numeric execution order

this hasn't been used in a long time and requires some additional bookkeeping i'm going to streamline in the next pr

could sub-classes depend on this?

Hi @nfcampos, I get warning: https://github.com/langchain-ai/langchain/blob/47ce8d5a576473d6613a4a10161e923db29ffb71/libs/core/langchain_core/tracers/base.py#L113-L116 when using RunnableWithMessageHistory, can you reduce the log level or fix the problem with RunnableWithMessageHistory?


Too many /_indom requests when chart has many time-series/instances

When loading a widget that pulls multiple time-series (i.e. Per-CPU utilization, Network Throughput), for each time-series an HTTP request is sent with this format:
http://<host>:44323/pmapi/<context>/_indom?name=<metric>&instance=<instance_num>
This slows down significantly the browser, and the widgets remain with 'No available data' for long times.
For example, one of my hosts has 12 CPUs, the CPU utilization fires 24 HTTP requests to gather the name of the time-series/instance, 12 times for kernel.percpu.cpu.sys, and 12 times for kernel.percpu.cpu.user.
Here's a screenshot of network tab in Chrome:

For Network throughput is even worse, since pmwebd is slow retrieving network data and I have 25 network interfaces (bridges, bonds, and interfaces), I can't even load the chart, unless I wait minutes for it.
The culprit seems to be how Metric.pushValues() and MetricService.getInames() functions are designed, and how they are called by MetricListService.updateMetrics(), instead of getting all Inames in one batch, it retrieves them one by one.
It seems that pmwebd supports retrieving all the instances name in one batch by doing just dropping the instance query parameter like so:
GET http://<host>:44323/pmapi/<context>/_indom?name=kernel.percpu.cpu.user
with returned the following response:
{
    "indom":251658240,
    "instances":[
        { "instance":0, "name":"cpu0" },
        { "instance":1, "name":"cpu1" },
        { "instance":2, "name":"cpu2" },
        { "instance":3,  "name":"cpu3" },
        { "instance":4,  "name":"cpu4" },
        { "instance":5,  "name":"cpu5" },
        { "instance":6,  "name":"cpu6" },
        { "instance":7,  "name":"cpu7" },
        { "instance":8,  "name":"cpu8" },
        { "instance":9,  "name":"cpu9" },
        { "instance":10,  "name":"cpu10" },
        { "instance":11,  "name":"cpu11" }
    ]
}

Merged. Testing here.

That pull request was not complete, while it doesn't break anything it still hasn't addressed the perf issues with the multiple /_indom requests

Create a new branch (https://github.com/Netflix/vector/tree/inames_batching). Feel free to send pull requests to it.

Awesome thanks.

Merged. Will test it on Monday.

Something wrong with the _indom requests. Debugging later today.

Thanks for testing, and sorry I didn't catch that bug. If you can give me more details on how to recreate it, I could help with the debugging.
I did notice that in my environment pmwebd sometimes fails with 503, and the process dies, when using the batch method. Then I have to restart pmwebd again, and it starts working. This issue, if the same, would be a pmwebd bug, not Vector.

@meteorfox, please nail a gdb to a dying pmwebd / coredump and collect a traceback.  This should not happen.

@fche ok, I'll open a new issue to track that. If that problem ends up being the same I'm having then we can just reference it.

@fche Opened issue #31 to track it

@meteorfox The problem I'm seeing is basically a HTTP 400 for the _indom requests
Remote Address:<IP_ADDRESS>:7402
Request URL:http://pcpdemo.test.netflix.net:7402/pmapi/823341773/_indom?instance&name=hinv.ncpu
Request Method:GET
Status Code:400 Bad Request
PMWEBAPI error, code -12359: Unknown or illegal instance domain identifier
Basically missing the =0 on the instance parameter.

@spiermar Can you show me the response for this request:
GET http://localhost:44323/pmapi/<context_id>/_fetch?names=hinv.ncpu
I built PCP from source v3.10+, and I get this response from below,
{
    "timestamp":{
        "s":1428959511,
        "us":573329
     },
    "values":[
         {
               "pmid":251658272,
               "name":"hinv.ncpu",
               "instances":[{"instance":-1, "value":8 }]
         }
     ]
}

which then it takes the -1 from instance and uses it as the instance query param for  /_indom. Like so http://localhost:44323/pmapi/102211716/_indom?instance=-1&name=hinv.ncpu
Perhaps, your version returns an empty string or something, and my code produces that bad request. This seems like a quick fix, I just need to see your response to make sure I handle that case.

GET http://pcpdemo.test.netflix.net:7402/pmapi/1965300578/_fetch?names=hinv.ncpu
{ "timestamp": { "s":1428960706, "us":670939 },
"values": [
{ "pmid":251658272, "name":"hinv.ncpu","instances": [
{"value":2}] }] }

No "instance" parameter in the "instances" array.

That pull-request should fix the problem.

Looks good @meteorfox !

Thanks for taking the time to review it and taking the pull request.
I think now that the PMAPIService is in place, we could start making other Services/Factories/Controllers make use of it, instead of them directly making the HTTP requests. I changed a few places already, but I don't think I got them all. Also, there are few places were code could be simplified because of this new service.
Unless you have other suggestions, or ideas where to move next, I could start working on a new pull-request.


Add .meta files for Sample projects

This is a redo of #77 with a few changes:

only adding .meta files for Sample projects per suggestion from @jamcohen
copy the .meta files for the SphereBlast project from our Unity Asset Store entry so assets will be wired up correctly
created new .meta files for the TestApp project, but copied the guid for TestApp.cs.meta from the TestApp.unity file

It seemed simpler to create a new PR since there were so many differences from before.


Fixed issue with reversed() function on server.

@beets fixed according to your request.

lgtm, but curious why were things reversed initially, and how this change affects thigs?


NoMethodError: method Stupidedi::Schema::CompositeElementUse.descriptor is abstract

I'm trying to generate an 837 ("005010X222A1") transaction and getting this NoMethodError:
NoMethodError: method Stupidedi::Schema::CompositeElementUse.descriptor is abstract
	from /usr/local/bundle/gems/stupidedi-1.4.0/lib/stupidedi/schema/abstract_use.rb:19:in `descriptor'
	from /usr/local/bundle/gems/stupidedi-1.4.0/lib/stupidedi/values/composite_element_val.rb:18:in `descriptor'
...

The line of my code that's throwing the error is the SV1 in the 2400 loop:
b.SV1(
          b.composite("HC", claim.service_code, claim.service_modifier, nil, nil, nil, claim.service_description),
          claim.amount, "UN", 1
        )

I'm not clear on what's wrong here. My usage of the composite element looks the same to me as in other places that don't throw an error, and the contents of the composite element don't seem to have an effect (ie b.composite(nil) does the same thing).
I'm more inclined to assume I'm doing something wrong than that I found a bug, but I'm at the point where I need some external expertise to tell. Thanks for any troubleshooting guidance you can offer.

I think it's a bug in stupidedi where it's trying to report an error, so I guess it's both! I'm working on reproducing it and should have a fix shortly.
In the meantime, you could implement CompositeElementUse#descriptor to return the string "foo". That method is used to report where a validation error occurred, but you already know it's in SV1-01.
Maybe the error message you'll get back will give enough information to figure out what's wrong. But otherwise, I should have a fix before long.

I think the problem is SV1-01 is required to be present, and it's a composite element.
There's an annoying problem here when a composite element is missing but required, there's no location or position to report. Nnormally the position of the composite element is just reported as the position of the first component... but there are none because it's missing.
Until somewhat recently a lot of these messages didn't have a position reported, so it would just say "SV1-07 is required" and you'd have to know where to look. When you are using BuilderDsl you'll have a call stack so it's redundant. But when you're validating a file it's annoying because you wouldn't know which SV1 is the problem.
Maybe there's a way to use the parent's position (where SV1 begins, rather than where SV1-07 is supposed to be). But until then I'm going to just make something up so you'll at least get an error message instead of an internal error.

But SV1-07 is present?
When I added CompositeElementUse#descriptor, I got:
IndexError: head of empty array
	from /usr/local/bundle/gems/stupidedi-1.4.0/lib/ruby/array.rb:19:in `head'
	from /usr/local/bundle/gems/stupidedi-1.4.0/lib/stupidedi/values/composite_element_val.rb:20:in `position'```

Yeah, just saw that I read that wrong. Thanks for all your help!

@austinmbrown I just pushed a fix to master. If you have time, could you check and let me know if your example at the top of the issue now reports "required element SV107 BLAH BLAH is missing"? If so, I'll close this issue.

@maxfurman We released 1.4.1 yesterday that includes this bug fix. Thanks for reminding us it wasn't released!


Enable ssl in curl

This should resolve https://github.com/mavlink/MAVSDK-Java/issues/192.
Note: when using openssl, it seems like curl needs dlopen: https://github.com/curl/curl/blame/a72b479decd555c9e9c2c50ded34e317123174f2/packages/vms/report_openssl_version.c#L54. We already add ${CMAKE_DL_LIBS} to the mavsdk_server and unit_tests_mavsdk_server targets but not integration_tests, system_tests_runner and unit_tests_runner, so I add it there too.

Hmm actually, instead of adding it everywhere, I wonder if it could not be propagated from libmavsdk :thinking:


Add death/recovered ratio

Using deaths / (deaths + recovered) we get the following values (scale in %) which seem completely out of place.

Possible explanation: recovered are underestimated (maybe because non-serious positive tested cases are not followed and counted in recoveries?).
Issue to reconsider if data evolves at a later date.

Code here https://github.com/njoyard/corona/compare/compute-deaths-ratio

Won't fix, this makes no sense during the pandemic. We'll need a lot of data at the end of the pandemic to have any useful figure.


Don't convert jobtype name, job title to str

This will fail if either of them contain non-ASCII characters.

Coverage remained the same at 74.06% when pulling 766f99c17c1edbc03d48aaef96ad30759b0a03cf on guidow:fix_special_chars_in_title into f97fd8e4e0793155acf9bd11780de07afc54e673 on pyfarm:master.

Thanks, not sure exactly why that was being doing in the first place.


Feature: Travel command

Proposed Changes
travel command that takes a list of points and speed (in m/s) and then navigates user through the route
https://user-images.githubusercontent.com/2990722/223780598-d7354170-a3ed-4f67-bb2a-6997a14025d8.mov

Great addition Dima. I'm a bit sceptical on the name. Perhaps something with location would be more suitable

@ArthurSav on the contrary, I think the name is nearly perfect since it captures the whole concept in just 1 word that is also a verb. I struggle to find a better alternative and certainly think that it is more natural-sounding than any variations of updateLocation, traverseLocations, etc.


Add Kuroko

Language name
Kuroko
URL of example repository
https://github.com/kuroko-lang/kuroko
URL of syntax highlighting grammar
https://kuroko-lang.github.io/
Most popular extensions
.krk
Detected language
https://github.com/Gwion/gwion-benchmark

This appears to be a hobby language with very few users on GitHub. Closing.
Ref: https://github.com/github-linguist/linguist/issues/6994#issuecomment-2287888666


Rendering issue for middle modules

Bar with middle module (mpd):

Bar with mpd on the right:

If you check the difference between the screenshots, the text is all blurry for the middle module.
 ❯ polybar -v
polybar 3.0.0

Features: +alsa +curl +i3 +mpd +network

Yeah I noticed it earlier, but haven't been able to reproduce it again. I assume it's rendering the text off by 0.5. Can you post your config.

sure!
;=====================================================
format-prefix-foreground = ${colors.foreground-alt}
;
;   To learn more about how to configure Polybar
;   go to https://github.com/jaagr/polybar
;
;   The README contains alot of information
;
;=====================================================

[colors]
background = #222
background-alt = #444
foreground = #dfdfdf
foreground-alt = #55
primary = #ffb52a
secondary = #e60053
alert = #bd2c40

[global/wm]
margin-top = 5
margin-bottom = 5

[bar/example]
monitor = ${env:MONITOR:DVI-I-1}
width = 100%
height = 27
offset-x = 0
offset-y = 0
bottom = true

;background = ${xrdb:color9}
background = ${colors.background}
foreground = ${colors.foreground}

overline-size = 2
overline-color = #f00
underline-size = 2
underline-color = #00f

border-bottom-size = 2
border-bottom-color = #333

padding-left = 0
padding-right = 2
module-margin-left = 0
module-margin-right = 2

font-0 = Hack:size=8;1
font-1 = FontAwesome:size=8;2
font-2 = WunconSiji:size=8

modules-left = i3
modules-center =
modules-right = mpd fs2 memory cpu eth temperature date2 powermenu

tray-position = right
tray-padding = 2
;tray-transparent = true
;tray-background = #0063ff

override-redirect = false
wm-restack = i3

[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%

[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %{F#55}%{F-} %layout%
label-layout-underline = ${colors.secondary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}

[module/filesystem]
type = internal/fs
interval = 5

mount-0 = /

label-mounted = %mountpoint%: %free%

label-unmounted = %mountpoint%: not mounted
label-unmounted-foreground = ${colors.foreground-alt}

[module/bspwm]
type = internal/bspwm

label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2

label-occupied = %index%
label-occupied-padding = 2

label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2

label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2

[module/i3]
type = internal/i3
format = <label-state> <label-mode>
pin-workspaces = true

ws-icon-0 = 0;
ws-icon-1 = 1;
ws-icon-2 = 2;
ws-icon-3 = 3;
ws-icon-4 = 4;
ws-icon-5 = 5;
ws-icon-6 = 6;
ws-icon-7 = 7;
ws-icon-8 = 8;
ws-icon-9 = 9;
ws-icon-default = 

label-mode-padding = 1
label-mode-foreground = #000
label-mode-background = ${colors.primary}

label-focused = %icon% %name%
label-focused-background = ${module/bspwm.label-focused-background}
label-focused-underline = ${module/bspwm.label-focused-underline}
label-focused-padding = ${module/bspwm.label-focused-padding}

label-unfocused = %icon% %name%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}

label-urgent = %icon% %name%!
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}

label-visible = %icon% %name%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}

[module/mpd]
type = internal/mpd

format-online = <label-song>  <icon-prev> <icon-seekb> <icon-stop> <toggle> <icon-seekf> <icon-next>  <icon-repeat> <icon-random>

label-song-maxlen = 70
label-song-ellipsis = true

icon-prev = 
icon-seekb = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
icon-seekf = 

icon-random = 
icon-repeat = 

toggle-on-foreground = ${colors.primary}
toggle-off-foreground = #66

[module/xbacklight]
type = internal/xbacklight

format = <label> <bar>
label = BL

bar-width = 10
bar-indicator = │
bar-indicator-foreground = #ff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}

[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight

[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage%%

[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %percentage_used%%

[module/wlan]
type = internal/network
interface = net1
interval = 3.0

format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
format-disconnected-underline = ${self.format-connected-underline}

label-connected = %essid%
label-disconnected = %ifname% disconnected
label-disconnected-foreground = ${colors.foreground-alt}

ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}

[module/eth]
type = internal/network
interface = enp3s0
interval = 3.0

format-connected-underline = #55aa55
format-connected-prefix = %{F#55} %{F-}
format-connected-foreground-foreground = ${colors.foreground-alt}
label-connected = %local_ip%

format-disconnected-underline = ${self.format-connected-underline}
label-disconnected = %ifname% disconnected
label-disconnected-foreground = ${colors.foreground-alt}

[module/date]
type = internal/date
interval = 1

date = " %Y-%m-%d"
date-alt = " %Y-%m-%d"

time = %H:%M:%S
time-alt = %H:%M:%S

format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5

label = %date% %time%

click-right = gsimplecal

[module/volume]
type = internal/volume

format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}

format-muted-prefix = " "
format-muted-foreground = ${colors.foreground-alt}
label-muted = sound muted

bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = │
bar-volume-indicator-font = 2
bar-volume-indicator-foreground = #ff
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}

[module/battery]
type = internal/battery
battery = BAT0
adapter = ADP1
full-at = 98

format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffb52a

format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}

format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}

ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}

animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750

[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60

format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}

label = %temperature%
label-warn = %temperature%
label-warn-foreground = ${colors.secondary}

ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}

[module/powermenu]
type = custom/menu

format-spacing = 1

label-open =  power
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}

menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2

menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot

menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0

[module/date2]
type = custom/script

exec = date +'%Y-%m-%d %H:%M:%S'

interval = 1

format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5

click-left = gsimplecal

[module/fs2]
type = custom/script

exec = df -h /dev/sdb3 | awk 'FNR > 1 { print $4 }'

interval = 5

format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
click-left = nautilus &
; vim:ft=dosini

Seems to be fixed with polybar 3.0.0-5-g886d0f4-git

Having a similar issue, using 3.0.3, was fine before some update in the past two weeks (last time I restarted the computer/reloaded polybar).

@p3lim could you show prints?

With the font part of the config:
font-0 = ProggyCleanTTSZ:pixelsize=16;3
font-1 = WuconSiji:pixelsize=12;2

Reference to what the font should look like: http://www.proggyfonts.net/download/
(Look for Proggy Clean (Slashed Zero), 6th on the list)

Looks like the font is scaled. Try decreasing the font size.

I've tried everything from 8 (too small to read) to 20, all of them blurred like that.

Try font-0 = ProggyCleanTTSZ:pixelsize=16:antialias=false

That's not it.
It really looks like the size is off by decimal points.

Yup, setting the pixelsize to 12.5 renders it correctly, where it worked fine at 16 before (same displayed size).

OK I will download the font and have a look at it tomorrow.

@p3lim I'm also having trouble using that font but I can't really pinpoint the cause for it. As it's a very specific issue I would recommend you to use another font for now because I don't have enough time to fix it.


Transfer the npm package to the klarna org

Won't fix.
We do not have a solution yet: https://klarna.slack.com/archives/CM24XDAD9/p1597401962387100


Crash Symbolication Symbols are hidden when the dependency is added as a Swift Package

Check List
Thanks for considering to open an issue. Before you submit your issue, please confirm these boxes are checked.

[x] I have read the wiki page and cheat sheet, but there is no information I need.
[x] I have searched in existing issues, but did not find a same one.
[x] I want to report a problem instead of asking a question. It'd better to use kingfisher tag in Stack Overflow to ask a question.

Issue Description
What
Symbols are hidden when the dependency is added as a Swift Package.
Code snippet from the bcsymbolmap:
_$s10Kingfisher0A17ParsedOptionsInfoVMa
_$s10Kingfisher0A17ParsedOptionsInfoVyACSayAA0acD4ItemOGSgcfC
__hidden#0_
_$s10Kingfisher22DefaultCacheSerializerVACycfC
_$s10Kingfisher22DefaultCacheSerializerV7defaultACvau
_$s10Kingfisher22DefaultCacheSerializerV7defaultACvgZ
_$s10Kingfisher22DefaultCacheSerializerV18compressionQuality12CoreGraphics7CGFloatVvpfi
_$s10Kingfisher22DefaultCacheSerializerV18compressionQuality12CoreGraphics7CGFloatVvg
_$s10Kingfisher22DefaultCacheSerializerV18compressionQuality12CoreGraphics7CGFloatVvs
_$s10Kingfisher22DefaultCacheSerializerV18compressionQuality12CoreGraphics7CGFloatVvM
__hidden#1_
__hidden#2_
_$s10Kingfisher22DefaultCacheSerializerV06preferC12OriginalDataSbvpfi
_$s10Kingfisher22DefaultCacheSerializerV06preferC12OriginalDataSbvg
_$s10Kingfisher22DefaultCacheSerializerV06preferC12OriginalDataSbvs
_$s10Kingfisher22DefaultCacheSerializerV06preferC12OriginalDataSbvM
__hidden#3_
__hidden#4_
_$s10Kingfisher22DefaultCacheSerializerV4data4with8original10Foundation4DataVSgSo7UIImageC_AJtF
_$s10Kingfisher0A7WrapperVAA10Foundation4DataVRszlE11imageFormatAA05ImageF0Ovg
__hidden#5_

If the symbols are not added then we will not be able to submit crashes in the framework.
When trying to symbolicate a crash in Kingfisher using the missing symbols:
Thread 3 name:  Dispatch queue: com.apple.root.default-qos
Thread 3 Crashed:
0   Watch Extension         		0x0022a91c _hidden#1323_ + 1435932 (__hidden#1531_:244)
1   Watch Extension         		0x00225cc8 _hidden#1263_ + 1416392 (__hidden#326_:0)
2   libdispatch.dylib             	0x4866ee1e 0x4866a000 + 19998
3   libdispatch.dylib             	0x4866fed0 0x4866a000 + 24272
4   libswiftCore.dylib            	0x6877f97a 0x6850d000 + 2566522
5   Watch Extension         		0x0023f5e0 _hidden#1997_ + 1521120 (__hidden#1140_:148)
6   libdispatch.dylib             	0x4866ee1e 0x4866a000 + 19998
7   libdispatch.dylib             	0x4866fed0 0x4866a000 + 24272
8   libswiftCore.dylib            	0x6877f97a 0x6850d000 + 2566522
9   Watch Extension         		0x0023f4cc KingfisherManager.shared.unsafeMutableAddressor + 1520844 (__hidden#3269_:79)

Reproduce
Create a new Xcode project.
Add Kingfisher as a Swift Package.
Archive the app and look at the generated bcsymbolmap / dsym in the archive.

I don't think it is a problem related to or can be solved by Kingfisher itself. The build system and/or linker decides whether to generate a symbol map or dSYM containing to your archive. So I suggest check and ensure you are generating them while building.
I am 100% sure if this happens for Kingfisher, it also happens for any other Swift package since Kingfisher is nothing special at all when defining a package. In it is that case, I guess the Swift Bug Tracker would be a better place to go.


Stale wiki on the in-browser editor

https://github.com/projectkudu/kudu/wiki/Kudu-console#view-and-edit-text-files
This is outdated:

If you click the Edit icon next to a file, the Console will open up a window where you can view and edit the file. It's a super basic editor, so don't expect any syntax coloring or fancy code editor features. But it can still be helpful when investigating issues. e.g. you could use it to quickly tweak a web.config file.

Maybe replace with:

If you click the Edit icon  next to a file, the Console will open up a window where you can view and edit that file. Kudu is using Ace (https://github.com/ajaxorg/ace) for in-browser editing.
Try CTRL + , for advanced features like vim key bindings. The editor is really helpful when investigating issues. You could use it to quickly tweak a web.config file, with syntax checking and highlighting.

Thanks!


(MySQL) Database table: players - primary group, not the one being used?

Description
Changing the usergroup manually through the database, you expect to change the primary group in the players table
However, this is not the case you have to change the player record in permissions.permission from group.{old} to group.{new}
Changing the Primary Group will not change anything in the server when you obtain the info through /lp user {name} info
This will change whenever you update permissions.permission
Proposed behaviour
Either the usage so the primary_group definition in the players table will be used.
Remove the primary_group in the players table and only stick with user_permission table
Or better: use the normalisation default with a one to many table for groups as is:
user_groups
uuid | group | primary {true/false} | world {global/specific}
Behaviour in the plugin:

User joins:
Database is queried using the uuid
All global groups are obtained including the current world

On world change: Obtain the groups for that specific world (lowers the amount of memory usage - as less data is kept in it's memory)
Reason of report:
It enables a create support to monetize servers by changing an usergroup for E.G to VIP or create your own management panel and change values in the db.
Also by editing the DB you would be able to link a discord bot to the database and change values if the user his/her (roles) changes by pushing it to the DB so the MC server automatically is updated.

###optimalisation:
Also using the normalization form will optimise the plugin (application) as there is less data to be obtained.
An player contains a uuid (unique user id)
Which means we can hold this as primary key (the row identifier) |  {additional info}
A group is now only consistent out of a name. Maybe add the data related to a group to this table instead?
Such as: title, weight etc.etc.
The group name is unique so we can index this one as well as prinary key.
Then we get to the group based permissions:
Name | permission | value | context
Doing so we only need to obtain the permissions and values when the name and context is met.
Then we have a table user_groups (fixing many to many relations)
Here we hold the uuid | group | world {global/world} | primary group {true false}
To be specific by the amount of times the group is saved I rather see an AI primary key id on group to take less bits after all.
Now everything is linked to eachother with a minimum data usage, and thus lesser data to look up and thus lesser data to be stored in the memory. The ram usage would be slightly lower but also the amount of issues are lower as you simply can't have nulled values (you can't delete a user if it still has groups linked to it {if you use foreign keys})

Check what https://luckperms.net/wiki/Configuration#primary-group-calculation is set to in your config. ;)


Release 1.1

Expose Multiple Channels to the Host
Set/Get BadBlock table synchronized with host
Keep BadBlock table in memory during runtime
Improvements in the thread concurrence
FTL single queue per channel
Non-related files removed
Copyrights included
Bug fixes + code style

OX release 1.1
Expose Multiple Channels to the Host
Set/Get BadBlock table synchronized with host
Keep BadBlock table in memory during runtime
Improvements in the thread concurrence
FTL single queue per channel
Non-related files removed
Copyrights included
Bug fixes + code style


Banking System in C

Banking System in C
This project is a simple Banking System implemented in C programming language. It simulates basic banking operations, allowing users to manage their bank accounts through a command-line interface.
Features:
1.Create a New Account: Users can create new accounts by providing details like name, account number, and initial balance.
2.Deposit Money: The system allows users to deposit funds into their accounts.
3.Withdraw Money: Users can withdraw money, with checks for sufficient balance.
4.Account Balance Inquiry: Users can view their current account balance.
5.View Account Information: Display the details of any account, including account holder’s name, account number, and balance.
6.Update Account Information: Modify the account holder's details.
7.Delete an Account: Users can delete their accounts when no longer needed.
8.File Structure:
9.main.c: Contains the core logic and functions for all banking operations.
10.account.h: Header file that defines the structures and prototypes for the functions used.
11.account.c: Source file implementing the account creation, update, and management functions.
Future Enhancements:
1.Transaction History: Add functionality to track deposits, withdrawals, and transfers.
2.Authentication: Implement a login system with a password for each user account.
3.Graphical User Interface (GUI): Integrate a GUI for a more user-friendly interface.

this is a good project


no-array-index-key not working in React.Children.map

Hi! This currently does not flag an error with no-array-index-key:
React.Children.map(this.props.children, (child, index) => {
    const className = classnames(
                        child.props.className,
                        `${this.props.transition}-finished`
                    );
    return React.cloneElement(child, { key: index, className });
});

Specifically, I would expect the key: index part to trigger the no-array-index-key warning.
(I realize that there is probably a better way to write this (ie: not using cloneElement), but I noticed this recently and saw that it didn't flag the warning.

PS: Thanks for the awesome ESLint plugin! 🎉  Can't wait for the next release!

Sure, this seems like a reasonable addition.

@ljharb thanks! I would actually like to try fixing this (as I use this plugin a lot, so it would be cool to contribute to it).


Update the code to latest Version of gradle

Can you please assign this issue to me
Thanks

Yes @axatabyss, keep coding and keep contributing...

@jaydip-pawar please check #10

This threat is closed as issue is resolved!


Feature Request: Control Click Items Into Trade Window

I would like to get a feature to be able to control click items into trade window including full stacks unless shift is being held.

Duplicate of #230.

Duplicate of #230.


Editor

Make Editor able to import/export all file types at least

Punting.

 Development will continue where necessary to make my life easier, but I've developed such a horrible codebase that it's not worth fixing.


chore: add lockfiles to ensure consistent builds in CI

Description
Connected to https://github.com/vaadin/components-team-tasks/issues/602
Depends on https://github.com/vaadin/magi-cli/pull/158
Type of change

Internal change

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Differentiate business vs code requirements?

There are some requirements that seem to be untestable at the level of code, and further don't seem likely to have an impact on whether a BPI functions correctly.
E.g. If two organisations don't meet

[R3] There MUST be a legally binding contract, however simple and temporary, before a commercial transaction — such as an order — between parties takes place.

is there anything in the code, or in executing the code, that will be different to when the condition is met?
If there is no difference, then it might be helpful to define different types of requirement. That way, people trying to write a spec-compliant implementation aren't left wondering how they ensure their code meets the requirement.

@chaals ... all the requirements are testable in code. Just need to be clever how this is done. Again see the started implementation guide for examples to make "business" requirements testable in code.

I cannot find the implementation guide. I would like a pointer, and two more weeks, to understand this before the issue is closed, please

stale issue -> closing for the time being


Model.create({}) and Model.new({}) autoAttributes = true

Hey, i using autoAttributes = false and autoLoad = false, because i want to the more controls of my attributes, but the docs say const user = await User.create({login: 'philipp'})
but not work i think is pass null, here the error message:

Error: insert into "users" default values - null value in column "login" violates not-null constraint

will be nice if the project have some exemples the docs is great any way
i thinks this is not the right place to put this issue, but i cant find anything on in the  SO

same erro this way
const user = new User()
 user.login = 'philipp'
 user.first_name = 'Hey'
 user.last_name = 'Hoo'
 console.log(await user.isValid()) //true
 await user.save()

Hi @claudioluciano
if you disable attribute autoloading you have to define your attributes in your model manually via this.attribute().
However, if you enable autoloading, you could modify fields of your model as well.

yeah even with attributes defined (this.attribute('first_name': String) ...), same issues. : /

could you please post the whole source (at least the store config and model config)

// store.js
const Store = require('openrecord/store/postgres')
const env = process.env.NODE_ENV

const config = require('./config')[env]

const store = new Store({
  host: config.host,
  port: config.port,
  user: config.username,
  password: config.password,
  database: config.database,
  autoAttributes: false,
  autoLoad: false,
  models: [
    require('./models/User.js')
  ],
  migrations: [
    require('./migrations/1234_create_users.js')
  ]
})
store.connect()
export default store

// User - Model
import Store from 'openrecord/store/postgres'

class User extends Store.BaseModel {
  static definition () {
    this.attribute('id', Number)

    this.attribute('login', String)

    this.attribute('first_name', String)

    this.attribute('last_name', String)

    // this is the `definition scope`
    this.validatesPresenceOf('first_name', 'last_name')
  }

  fullName () {
    return this.first_name + ' ' + this.last_name
  }
}

module.exports = User

// migrations
module.exports = function migration1234 () {
  this.createTable('users', function () {
    this.string('login', { not_null: true })
    this.string('first_name')
    this.string('last_name')
  })
}

async function start () {
  try {
    // add middleware ...
    await store.ready()

    console.log('Hey')
    // const users = await store.Model('user').create({ login: 'philipp', first_name: 'Hey', last_name: 'Hoo' })
    // console.log(users)

    //    const te = await User.create({ login: 'philipp', first_name: 'Hey', last_name: 'Hoo' })
    const te = new User()

    te.login = 'philipp'

    te.first_name = 'Hey'
    te.last_name = 'Hoo'

    console.log(await te.isValid())

    await te.save()

    const user = await User.find(1)

    console.log(user.id)

    // start express server
    app.listen(process.env.PORT, () => {
      console.log(`Example app listening on port ${process.env.PORT}!`)
    })
  } catch (error) {
    console.log(error)
  }
}

start()

basically exemples from the docs

Hi Claudio,
please add readable and writable option to this.attribute.

The attribute methods takes a third options argument object with the following values:

writable: Make the attribute writable (e.g. record.my_attribute = 'foo'). Default true
readable: Make the attribute readable (e.g. record.my_attribute). Default true
default: Add a default value
track_object_changes: Track changes of a nested object. For objects only

Otherwise all your attributes are only "virtual" attributes.

is it working for your?

Sorry about the delay, so i put the writable and the readable like this:
this.attribute('login', String, {       writable: true,       readable: true     })
and still has the same issues, then i put it like this:
this.attribute('login', String, {       writable: true,       readable: true,       default: true,       track_object_changes: true     })
and still has the same issues...

Hi Claudio,
I've just run some own tests with your examples and I've told you the wrong options!
readable and writable is by default true, but there is an option which is not yet in the documentation: persistent. You have to set persistent to true, in order to tell openrecord that the attribute is stored inside your database.
This happens automatically if you don't set autoAttributes to false.
Without persistent openrecord will treat these attributes as "virtual" attributes (wont be stored or read from the database).
Another thing that's missing in your example: The user id must be configured as primary in order for openrecord to know which column should be used with .find() (primary key!).
If you define persistent attributes, you also need to specify the store specific type ('string' instead of String), because database operations and filters are linked with these types. (e.g. ILIKE or BETWEEN)
Your model definition should look like this:
class User extends Store.BaseModel {
  static definition () {
    this.attribute('id', 'integer', {primary: true, persistent: true)

    this.attribute('login', 'string', {persistent: true})

    this.attribute('first_name', 'string', {persistent: true})

    this.attribute('last_name', 'string', {persistent: true})

    // this is the `definition scope`
    this.validatesPresenceOf('first_name', 'last_name')
  }

  fullName () {
    return this.first_name + ' ' + this.last_name
  }
}

Hey Phil, {persistent: true} this works :)
cool now I can keep working, thanks

awesome!! =)