Changes to show multiple messages for a log in the debugger

Description
Fixes #5099
Fixes #4761

Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Manually: Add a widget and add two bindings say {{a}} {{b}}, this will show two messages like a is undefined and b is undefined under a single error log in the debugger.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:red_circle: Total coverage has decreased
// Code coverage diff between base branch:release and head branch: feat/debugger-multiple-errors

Status
File
% Stmts
% Branch
% Funcs
% Lines

:red_circle:
total
53.27 (-0.01)
35.29 (0.02)
31.91 (-0.02)
53.79 (-0.01)

:green_circle:
app/client/src/components/editorComponents/Debugger/LogItem.tsx
35.82 (-2.89)
26.32 (6.32)
0 (0)
35.94 (-3.04)

:red_circle:
app/client/src/sagas/EvaluationsSaga.ts
17.33 (-0.17)
1.3 (0)
7.41 (-0.28)
20.23 (-0.12)

Would we update the evaluated value popup to show multiple errors later?

I am guessing so I remember seeing an issue regarding this.


literature | maintenance

We want to get to a point before we update again. However, below is the high level architecture commentary:
Objective: For a given API well or block, get data from BSEE website and perform analysis that we have done back in 2022. Then progress further to drilling statistics, well plans, risk, safety events etc. Then I believe will allow people to use AI .
a/ data method: legacy: download. new: hybrid (online primary, download secondary). This data as is not ready to unleash AI as SME (subject matter expert) interpretation is needed. This happens in the analysis portion below.
b/ data transformation (Extract-Transform-Load): automate (no manual interruption - all mapping/transformation from data website)
c/ analysis (eg: drilling statistics, well duration, production data, ). A mapped and organized output (json, yaml format ready to unleash AI)
d/ you can run your AI bot on it

@samdansk2 , contents from above should go into our README.md and documentation (as .md files in this repository).  As we do the documentation, this from above will be struck off.
Thank you

@vamseeachanta  added into seperate md file sir .


Fails to parse valid png with 'unknown filtered scanline'

The attached image appears to be a valid png (browsers and image editors can open it), but PNG.js can't parse it, returning an error 'unknown filtered scanline'.
This appears to be a different parsing problem, so I'm opening it up as a second issue

(url = https://f.cloud.github.com/assets/444387/117028/ac4f8486-6c17-11e2-845b-85e7234f6211.png)

Hi, there are about 15 PNG libraries on Github, which haven't been updated for years. That's why I wrote my own library UPNG.js - maybe you can use it instead.  https://github.com/photopea/UPNG.js  I just tested your image and it was parsed correctly.


Ethernet support broken for core 3 builds

Both W5500 and LAN8720 result in a crash if booting on a core 3 build. Need to investigate the reason, removing the custom drivers and using code from ESP IDF 5 could fix the issue.

Can this be closes as fixed with recent commits?


Query execution time depends on semiology term

Related to #2.

other branch merged already - now keeping it for verbose printout to allow me to manually inspect the outputs and keep my notebooks working for now.

see https://github.com/fepegar/EpilepsySemiology/issues/6

For reference: https://github.com/thenineteen/Semiology-Visualisation-Tool/blob/master/scripts/slicer_initialisation.py

Reading the data frame once didn't help. I think the Excel file is being read many other times in the code. Actually, things are slower now for some reason. "Hypermotor" takes more than 5 minutes!

I think the problem is that the Excel file is read many times by big_map and gifs_lat in QUERY_LATERALISATION.

I see you updated these, let me know what has happened to the execution times?

So I don't see those crazy times like 5 minutes, but now they're back to 0-15 seconds. It feels like the code loops longer for some semiologies than for others. We need to find the bottleneck by debugging and/or profiling. I've never used profiling, but I think it's very useful, especially with a GUI.

I'd have to look up profiling too

New benchmark.
benchmark_output.txt

there doesn't seem to be a relationship between the length of the semiology and time so will have to profile later

What are you thoughts on running the entire database once, like now as the database in complete, and adding the resulting GIF structures and values as a dictionary under resources with version number. So when we actually use the 3D slicer SVT, and tick a semiology and click on Update visualisation, instead of running query_lateralisation or query_semiology etc, it simply reads off the dictionary.
Concretely:

this would significantly enhance speed
would only work for the predefined list of semiologies with regexes in the SemioDict YAML file
would still have the current default behaviour for a custom semiology
if and when the code (e.g. mega_analysis module) and/or the Semio2Brain Database are updated, we run the entire thing again and update the GIF outputs (and bump versions)

To do this we can use the following to obtain the GIF structures:

[x] debugging_multi_postictals_neutral_also.py

[ ] debugging_multi_postictals_neutral_only.py

[ ] debugging_multi_terms_neutral_also.py

[ ] debugging_multi_terms_neutral_only.py

So I don't see those crazy times like 5 minutes, but now they're back to 0-15 seconds. It feels like the code loops longer for some semiologies than for others. We need to find the bottleneck by debugging and/or profiling. I've never used profiling, but I think it's very useful, especially with a GUI.

Profiling in #208


Use Nuget packages for MSBuild Dependencies

These nuget packages all support .netstandard 1.3 or 1.5, so shouldn't they give a consistent xplat dependency without the need for any msbuild tools installations?
https://www.nuget.org/packages/Microsoft.Build/15.1.262-preview5
https://www.nuget.org/packages/Microsoft.Build.Framework/15.1.262-preview5
https://www.nuget.org/packages/Microsoft.Build.Runtime/15.1.262-preview5
https://www.nuget.org/packages/Microsoft.Build.Tasks.Core/15.1.262-preview5
https://www.nuget.org/packages/Microsoft.Build.Utilities.Core/15.1.262-preview5

We've dealt with the MSBuild problem by removing the dependency into the separate DLL


Update CLI extensions available doc

Update CLI extensions available doc.
Triggered by Azure/azure-cli-extensions - TRAVIS_BUILD_ID=430646109
https://github.com/Azure/azure-cli-extensions/commit/5b0e735ac65ec32de996e7bde2b19adf91241237

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


firewall: live log column selector

Especially: flags
Mentioned here: https://forum.opnsense.org/index.php?topic=7277.msg32737#msg32737

I also need to see the flags. Can't tell if a TCP packet in the firewall log is legit or not.
Please provide patch as soon as available.
Even if the flag was added to the info window, that would be a help.

https://github.com/opnsense/core/commit/dddfef4aea4e2ffd41dadf41c7b460126fafaa87 should do the trick for TCP flags in the info window.

On 19. Feb 2018, at 21:03, tpcr<EMAIL_ADDRESS>wrote:
I also need to see the flags. Can't tell if a TCP packet in the firewall log is legit or not.
Please provide patch as soon as available.
Even if the flag was added to the info window, that would be a help.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

I'm unable to filter for anything but SYN packets so I'm closing this now. Filter capabilities can be extended via #4065 still if it makes sense. For now flags are not included for said quirk.


Added port to config

Summary of the changes (in less than 80 chars)

Adds a configuration option to the BaGet server to specify the port it runs on, check appsettings.json --> Port.

Fixes https://github.com/loic-sharma/BaGet/issues/485.

The only thing to check here is that I don't know how to get the configuration in program without building the host twice: https://github.com/loic-sharma/BaGet/blob/167fc22f0d6ecc3a5db4be9d180d4cfdefc2144c/src/BaGet/Program.cs#L43

This looks great! I left some nitpicks, but after that I think it's ready to merge :)

Now it looks good (and pretty clean) I would say. Sorry for the big amount of commits here but it's a lot easier to change one thing by one commit to not forget anything...

This probably addressed https://github.com/loic-sharma/BaGet/pull/525 as well (Can be closed, too after merge).

Now it looks good (and pretty clean) I would say.

Yup this looks great. Thanks for the awesome contribution!

Sorry for the big amount of commits here but it's a lot easier to change one thing by one commit to not forget anything...

No worries, I squash commits when I merge changes, so feel free to do as many commits as you'd like.

No worries, I squash commits when I merge changes, so feel free to do as many commits as you'd like.

Haha ok :)


[QUESTION] Tree within a Table?

Hi - is it possible to have a Tree within a Table? I see the inverse is possible.
Thanks

Ah. That’s easy. Call add_row with a Tree instance.

I'm doing that already. Unless you mean each Tree() instance should be in a table.add_row()?

Do you want the bottom rows of your table to align with the branches of the tree? To get that you would have to add them to a single row.
for instance, in the second column you could add "user1\nuser2\nuser3" etc.

Yes, that's my desired output. Thinking about how best to do this though.
It doesn't look like rich.table.Column has any way to add a row just to that column, which would be ideal.


use app-model for file menu

Description
wip... porting the file menu over to app-model

I believe most of the conflicts are from #4814

It's fine, I'll resolve them, thanks

With this PR:

Opening napari gives this warning:

/home/lucy/Documents/Dev/napari/napari/_qt/qt_viewer.py:350: UserWarning: Attempting to unbind an action which does not exists (napari:show_shortcuts), this may have no effects. This can happen if your settings are out of date, if you upgraded napari, upgraded or deactivated a plugin, or made a typo in in your custom keybinding.
  action_manager.unbind_shortcut(action)

'Open Sample' doesn't seem to work (maybe related to https://github.com/napari/napari/pull/4865#discussion_r972649032 ?)

'Preferences' has an odd ',' in the keybinding indicator

Clicking on 'Restart' and 'Exit' gives the following traceback:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
File ~/Documents/Dev/napari/napari/_qt/qt_main_window.py:398, in _QtMainWindow.closeEvent(self=<napari._qt.qt_main_window._QtMainWindow object>, event=<PyQt5.QtGui.QCloseEvent object>)
    395         QApplication.processEvents()
    397 if self._quit_app:
--> 398     quit_app()
    400 event.accept()

File ~/Documents/Dev/napari/napari/_qt/qt_event_loop.py:225, in quit_app()
    223 """Close all windows and quit the QApplication if napari started it."""
    224 for v in list(Viewer._instances):
--> 225     v.close()
        v = Viewer(axes=Axes(visible=False, labels=True, colored=True, dashed=False, arrows=True), camera=Camera(center=(0.0, 0.0, 0.0), zoom=1.0, angles=(0.0, 0.0, 90.0), perspective=0.0, interactive=True), cursor=Cursor(position=(1.0, 1.0), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=2, ndisplay=2, last_used=0, range=((0, 2, 1), (0, 2, 1)), current_step=(0, 0), order=(0, 1), axis_labels=('0', '1')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[], scale_bar=ScaleBar(visible=False, colored=False, color=<class 'numpy.ndarray'> (4,) float32, ticks=True, position=<Position.BOTTOM_RIGHT: 'bottom_right'>, font_size=10.0, box=False, box_color=<class 'numpy.ndarray'> (4,) float32, unit=None), text_overlay=TextOverlay(visible=False, color=<class 'numpy.ndarray'> (4,) float32, font_size=10.0, position=<TextOverlayPosition.TOP_LEFT: 'top_left'>, text=''), overlays=Overlays(interaction_box=InteractionBox(points=None, show=False, show_handle=False, show_vertices=False, selection_box_drag=None, selection_box_final=None, transform_start=<napari.utils.transforms.transforms.Affine object at 0x7f0d533e3040>, transform_drag=<napari.utils.transforms.transforms.Affine object at 0x7f0d533e30a0>, transform_final=<napari.utils.transforms.transforms.Affine object at 0x7f0d533e3100>, transform=<napari.utils.transforms.transforms.Affine object at 0x7f0d533e3160>, allow_new_selection=True, selected_vertex=None)), help='', status='', tooltip=Tooltip(visible=True, text=''), theme='dark', title='napari', mouse_over_canvas=False, mouse_move_callbacks=[<function InteractionBoxMouseBindings.initialize_mouse_events.<locals>.mouse_move at 0x7f0d256badd0>], mouse_drag_callbacks=[<function InteractionBoxMouseBindings.initialize_mouse_events.<locals>.mouse_drag at 0x7f0d256bba30>], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x7f0d55e87ac0>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'Shift': <function InteractionBoxMouseBindings.initialize_key_events.<locals>.hold_to_lock_aspect_ratio at 0x7f0d256bae60>, 'Control-Shift-R': <cyfunction InteractionBoxMouseBindings._reset_active_layer_affine at 0x7f0d255a1560>, 'Control-Shift-A': <cyfunction InteractionBoxMouseBindings._transform_active_layer at 0x7f0d255a1630>})
    226 QApplication.closeAllWindows()
    227 # if we started the application then the app will be named 'napari'.

File ~/Documents/Dev/napari/napari/viewer.py:140, in Viewer.close(self=Viewer(axes=Axes(visible=False, labels=True, col...ings._transform_active_layer at 0x7f0d255a1630>}))
    138 self.layers.clear()
    139 # Close the main window
--> 140 self.window.close()
        self = Viewer(axes=Axes(visible=False, labels=True, colored=True, dashed=False, arrows=True), camera=Camera(center=(0.0, 0.0, 0.0), zoom=1.0, angles=(0.0, 0.0, 90.0), perspective=0.0, interactive=True), cursor=Cursor(position=(1.0, 1.0), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=2, ndisplay=2, last_used=0, range=((0, 2, 1), (0, 2, 1)), current_step=(0, 0), order=(0, 1), axis_labels=('0', '1')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[], scale_bar=ScaleBar(visible=False, colored=False, color=<class 'numpy.ndarray'> (4,) float32, ticks=True, position=<Position.BOTTOM_RIGHT: 'bottom_right'>, font_size=10.0, box=False, box_color=<class 'numpy.ndarray'> (4,) float32, unit=None), text_overlay=TextOverlay(visible=False, color=<class 'numpy.ndarray'> (4,) float32, font_size=10.0, position=<TextOverlayPosition.TOP_LEFT: 'top_left'>, text=''), overlays=Overlays(interaction_box=InteractionBox(points=None, show=False, show_handle=False, show_vertices=False, selection_box_drag=None, selection_box_final=None, transform_start=<napari.utils.transforms.transforms.Affine object at 0x7f0d533e3040>, transform_drag=<napari.utils.transforms.transforms.Affine object at 0x7f0d533e30a0>, transform_final=<napari.utils.transforms.transforms.Affine object at 0x7f0d533e3100>, transform=<napari.utils.transforms.transforms.Affine object at 0x7f0d533e3160>, allow_new_selection=True, selected_vertex=None)), help='', status='', tooltip=Tooltip(visible=True, text=''), theme='dark', title='napari', mouse_over_canvas=False, mouse_move_callbacks=[<function InteractionBoxMouseBindings.initialize_mouse_events.<locals>.mouse_move at 0x7f0d256badd0>], mouse_drag_callbacks=[<function InteractionBoxMouseBindings.initialize_mouse_events.<locals>.mouse_drag at 0x7f0d256bba30>], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x7f0d55e87ac0>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'Shift': <function InteractionBoxMouseBindings.initialize_key_events.<locals>.hold_to_lock_aspect_ratio at 0x7f0d256bae60>, 'Control-Shift-R': <cyfunction InteractionBoxMouseBindings._reset_active_layer_affine at 0x7f0d255a1560>, 'Control-Shift-A': <cyfunction InteractionBoxMouseBindings._transform_active_layer at 0x7f0d255a1630>})
    142 if config.async_loading:
    143     from .components.experimental.chunk import chunk_loader

File ~/Documents/Dev/napari/napari/_qt/qt_main_window.py:1310, in Window.close(self=<napari._qt.qt_main_window.Window object>)
   1307 # Someone is closing us twice? Only try to delete self._qt_window
   1308 # if we still have one.
   1309 if hasattr(self, '_qt_window'):
-> 1310     self._teardown()
        self = <napari._qt.qt_main_window.Window object at 0x7f0d53404f70>
   1311     self._qt_viewer.close()
   1312     self._qt_window.close()

File ~/Documents/Dev/napari/napari/_qt/qt_main_window.py:1300, in Window._teardown(self=<napari._qt.qt_main_window.Window object>)
   1298 _themes.events.added.disconnect(self._add_theme)
   1299 _themes.events.removed.disconnect(self._remove_theme)
-> 1300 self._qt_viewer.viewer.layers.events.disconnect(self.file_menu.update)
        self.file_menu = <app_model.backends.qt._qmenu.QModelMenu object at 0x7f0d242feb00>
        self = <napari._qt.qt_main_window.Window object at 0x7f0d53404f70>
   1301 for menu in self.file_menu._INSTANCES:
   1302     with contextlib.suppress(RuntimeError):

File ~/Documents/Dev/napari/napari/utils/events/event.py:1122, in EmitterGroup.disconnect(self=<napari.utils.events.event.EmitterGroup object>, callback=<built-in method update of QModelMenu object>)
   1116 def disconnect(self, callback: Optional[Callback] = None):
   1117     """Disconnect the callback from this group. See
   1118     :func:`connect() <vispy.event.EmitterGroup.connect>` and
   1119     :func:`EventEmitter.connect() <vispy.event.EventEmitter.connect>` for
   1120     more information.
   1121     """
-> 1122     ret = EventEmitter.disconnect(self, callback)
        self = <napari.utils.events.event.EmitterGroup object at 0x7f0d533e1180>
        callback = <built-in method update of QModelMenu object at 0x7f0d242feb00>
   1123     if len(self._callbacks) == 0:
   1124         self._connect_emitters(False)

File ~/Documents/Dev/napari/napari/utils/events/event.py:586, in EventEmitter.disconnect(self=<napari.utils.events.event.EmitterGroup object>, callback=<built-in method update of QModelMenu object>)
    584     self._callback_pass_event = []
    585 elif isinstance(callback, (Callable, tuple)):
--> 586     callback, _pass_event = self._normalize_cb(callback)
        callback = <built-in method update of QModelMenu object at 0x7f0d242feb00>
        self = <napari.utils.events.event.EmitterGroup object at 0x7f0d533e1180>
    587     if callback in self._callbacks:
    588         idx = self._callbacks.index(callback)

File ~/Documents/Dev/napari/napari/utils/events/event.py:679, in EventEmitter._normalize_cb(self=<napari.utils.events.event.EmitterGroup object>, callback=<built-in method update of QModelMenu object>)
    676     callback = (weakref.ref(callback[0]), *callback[1:])
    678 if isinstance(start_callback, Callable):
--> 679     callback = callback, self._check_signature(start_callback)
        start_callback = <built-in method update of QModelMenu object at 0x7f0d242feb00>
        callback = <built-in method update of QModelMenu object at 0x7f0d242feb00>
        self = <napari.utils.events.event.EmitterGroup object at 0x7f0d533e1180>
    680 else:
    681     obj = callback[0]()

File ~/Documents/Dev/napari/napari/utils/events/event.py:640, in EventEmitter._check_signature(fun=<built-in method update of QModelMenu object>)
    635 @staticmethod
    636 def _check_signature(fun: Callable) -> bool:
    637     """
    638     Check if function will accept event parameter
    639     """
--> 640     signature = inspect.signature(fun)
        fun = <built-in method update of QModelMenu object at 0x7f0d242feb00>
    641     parameters_list = list(signature.parameters.values())
    643     if sum(map(_is_pos_arg, parameters_list)) > 1:

File ~/miniconda3/envs/napari/lib/python3.10/inspect.py:3247, in signature(obj=<built-in method update of QModelMenu object>, follow_wrapped=True, globals=None, locals=None, eval_str=False)
   3245 def signature(obj, *, follow_wrapped=True, globals=None, locals=None, eval_str=False):
   3246     """Get a signature object for the passed callable."""
-> 3247     return Signature.from_callable(obj, follow_wrapped=follow_wrapped,
        obj = <built-in method update of QModelMenu object at 0x7f0d242feb00>
        follow_wrapped = True
        globals = None
        locals = None
        eval_str = False
   3248                                    globals=globals, locals=locals, eval_str=eval_str)

File ~/miniconda3/envs/napari/lib/python3.10/inspect.py:2995, in Signature.from_callable(cls=<class 'inspect.Signature'>, obj=<built-in method update of QModelMenu object>, follow_wrapped=True, globals=None, locals=None, eval_str=False)
   2991 @classmethod
   2992 def from_callable(cls, obj, *,
   2993                   follow_wrapped=True, globals=None, locals=None, eval_str=False):
   2994     """Constructs Signature for the given callable object."""
-> 2995     return _signature_from_callable(obj, sigcls=cls,
        obj = <built-in method update of QModelMenu object at 0x7f0d242feb00>
        cls = <class 'inspect.Signature'>
        follow_wrapped = True
        globals = None
        locals = None
        eval_str = False
   2996                                     follow_wrapper_chains=follow_wrapped,
   2997                                     globals=globals, locals=locals, eval_str=eval_str)

File ~/miniconda3/envs/napari/lib/python3.10/inspect.py:2461, in _signature_from_callable(obj=<built-in method update of QModelMenu object>, follow_wrapper_chains=True, skip_bound_arg=True, globals=None, locals=None, eval_str=False, sigcls=<class 'inspect.Signature'>)
   2456     return _signature_from_function(sigcls, obj,
   2457                                     skip_bound_arg=skip_bound_arg,
   2458                                     globals=globals, locals=locals, eval_str=eval_str)
   2460 if _signature_is_builtin(obj):
-> 2461     return _signature_from_builtin(sigcls, obj,
        obj = <built-in method update of QModelMenu object at 0x7f0d242feb00>
        sigcls = <class 'inspect.Signature'>
        skip_bound_arg = True
   2462                                    skip_bound_arg=skip_bound_arg)
   2464 if isinstance(obj, functools.partial):
   2465     wrapped_sig = _get_signature_of(obj.func)

File ~/miniconda3/envs/napari/lib/python3.10/inspect.py:2271, in _signature_from_builtin(cls=<class 'inspect.Signature'>, func=<built-in method update of QModelMenu object>, skip_bound_arg=True)
   2269 s = getattr(func, "__text_signature__", None)
   2270 if not s:
-> 2271     raise ValueError("no signature found for builtin {!r}".format(func))
        func = <built-in method update of QModelMenu object at 0x7f0d242feb00>
   2273 return _signature_fromstr(cls, func, s, skip_bound_arg)

ValueError: no signature found for builtin <built-in method update of QModelMenu object at 0x7f0d242feb00

TODO still:

Warning on opening napari as noted in: https://github.com/napari/napari/pull/4865#issuecomment-1267808882
Preferences keybinding as noted in: https://github.com/napari/napari/pull/4865#issuecomment-1267808882
Error on 'Restart' and 'Exit` as noted in: https://github.com/napari/napari/pull/4865#issuecomment-1267808882
The following 'TODO' in napari/_qt/_qapp_model/qactions/_file.py

    # TODO!
    # this action would conflict because having the same id as below... but
    # we could check whether the args are the same and if not, then allow registration

I think napari/_qt/menus/file_menu.py will need to be deleted. Not sure of the function of the functions: _open_files_w_plugin, _open_files_as_stack_w_plugin and _open_folder_w_plugin - I don't think they are used anywhere? show_shortcuts should probably be moved, maybe to napari/_qt/_qapp_model/qactions/_file.py?

What should be the Action id when the sample data is of type URI? From: https://github.com/napari/npe2/blob/e7fdb2a6b4bd3f3d570ef43b1c1ac3393dad45e1/npe2/manifest/contributions/_sample_data.py#L50
it seems the only option would be the uri?
(This will fix the mypy errors)

Tricky merge, for future reference main sources of conflict:

#5366 - napari/_qt/menus/file_menu.py
#5492 - napari/_qt/qt_viewer.py

For consistency commands will include 'window', see: https://github.com/napari/napari/pull/4826/files#r954915004

Referencing todo comment so it's easy to find: https://github.com/napari/napari/pull/4865#issuecomment-1285035203

Personally, I prefer the form in b560920 than the lambdas, it's easier to understand what is going on, for me at least...

The lambda doesn't work anyway so 😄

Link to todo list: https://github.com/napari/napari/pull/4865#issuecomment-1285035203

Summary of changes, might help reviewers:

One file menu actions is only enabled when number of layers is > 1. Previously only a Selection[Layer] context existed. We tried but could not obtain number of layers present (NOT number of layers selected) from Selection[Layer] so added another context key class.
Update enablement status of menu actions by connecting to aboutToShow. Did this for all app-model menu bars even though the others do not use context dependent enablement, for future proof, in case we add something or a plugin adds something
Some todo comments from Talley are kept, we thought they would be outside the scope of this PR, or require work in app-model
_rebuild_npe1_samples_menu is currently untested. @DragaDoncila talked about possibly adding a fixture to easily add a npe1 plugin in tests (which would be used for reader plugin issue too)

Possibly useful: to do list https://github.com/napari/napari/pull/4865#issuecomment-1285035203

@aganders3 docs build is green! Thanks!

ubuntu-latest 3.10 pyside6 and ubuntu-latest 3.11 pyside6 failing during test_open_sample_data_shows_all_readers at clean up of make_napari_viewer with:
           _do_not_inline_below = len(QtViewer._instances)

          QtViewer._instances.clear()  # clear to prevent fail of next test

          # do not inline to avoid pytest trying to compute repr of expression.
          # it fails if C++ object gone but not Python object.
  >       assert _do_not_inline_below == 0
  E       assert 1 == 0

Note that the test test_open_sample_data_shows_all_readers is almost the same as test_open_sample_data_shows_all_readers (which passes) except that handle_gui_reading is mocked in the passing test whereas 2 functions inside handle_gui_reading are mocked in the failing test. Maybe the mocking in test_open_sample_data_shows_all_readers was too frankenstein (no sample is opened in the end) though tests do all pass in other environments.
Any insights appreciated. pinging @Carreau as I saw you added the clean up code, any suggestion as what I may be doing wrong in test_open_sample_data_shows_all_readers ?

All green!!! 🎉 @lucyleeow is this ready to review? 😍

Yes @jni @Carreau this is ready for review now!
@Carreau apologies, that was completely me using mock poorly, ignore that!
For anyone doing review, this can provide some background to why 'auxillary' things were changed: https://github.com/napari/napari/pull/4865#issuecomment-1635711551

Note currently this PR is pending https://github.com/napari/napari/pull/6165 being merged first.

CI failures here seem to be spurious: "Error: The operation was canceled."

Thanks @DragaDoncila, done!

Starting the 24 hour merge clock on this one folks!


release 1.7.4 or 1.7.3

in this page we can see release 1.7.3
https://github.com/dmtrKovalenko/cypress-real-events/releases
but in https://www.npmjs.com/package/cypress-real-events?activeTab=versions
there is version 1.7.4

I don't know how this happened but it looks like some issue :D


[BUG][document]K3s installation problem

Here are my installation records：
master：
curl https://releases.rancher.com/install-docker/19.03.sh | sh
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --docker
cat /var/lib/rancher/k3s/server/node-token
worker：
curl https://releases.rancher.com/install-docker/19.03.sh | sh
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://<IP_ADDRESS>:6443 K3S_TOKEN=K101effcd7b5a9e1c943f9067d89687a006d9789ed207c0d674ce9cb7e997e0f895::server:fa93327e800173ca7f07e40c24af5fa1 sh -s - --docker
When I execute "kubectl get node":

Is there a problem with the deployment script of the official document recently？

Reference: https://github.com/k3s-io/k3s/issues/5910#issuecomment-1197870735


Purposeful error

Test creating a PR with an error

failed checks

I mean actually they worked because it was supposed to fail... but still


Pretrained Models

Hello! Thank you for sharing this interesting repository. I would like to try out this project, is there any pretrained models available for download?

@erictan23 Thanks for your attention, I have updated the corresponding pre-training weights in the README.

@AsuradaYuci Thank you for your prompt reply and hardwork. I am not able to download the pretrained weights from BaiDu. Is there any other way you can upload into another drive?


Flutter test - Test report is showing wrong count of test cases.

I am running Flutter test command with publish report and code coverage report enabled. While running the task I get same result as in visual studio terminal (EG: 96 passed 1 failed)
but in reports on azure pipeline it is showing me 134 test cases and all passed.
Attaching snapshots.]

Kindly help me with issue. if anything else is needed please let me know.

Hi, I apologize for the delay. "Test" task was rewritten (as there were same issues with it that you have just reported) and was tested by the community (refer to this issue). No one has reported any issue with it.
I can't help much as I don't know where it could be failing and how can it be failing. As small unit tests to test the "test task" are all passing and community also said it's working fine. I will keep this issue opened up if in case anyone else maybe help here

<testsuites>
  <testsuite timestamp="2024-02-21T17:33:49.574Z" errors="0" skipped="0" failures="0" tests="1">
    <testcase name="Some tests failed." classname="Some tests failed." time="0"/>
  </testsuite>
  <testsuite name="auth_model_test.dart" timestamp="2024-02-21T17:33:49.574Z" errors="0" skipped="0" failures="0" tests="7">
    <testcase name="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/auth_model_test.dart" classname="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/auth_model_test.dart" time="9.235"/>
    <testcase name="AuthModelNotifier Tests Set AuthModel" classname="AuthModelNotifier Tests Set AuthModel" time="0.032"/>
    <testcase name="AuthModelNotifier Tests Clear AuthModel" classname="AuthModelNotifier Tests Clear AuthModel" time="0"/>
    <testcase name="AuthModel Tests AuthModel toMap" classname="AuthModel Tests AuthModel toMap" time="0"/>
    <testcase name="AuthModel Tests AuthModel fromMap" classname="AuthModel Tests AuthModel fromMap" time="0.015"/>
    <testcase name="AuthModel Tests AuthModel toJson" classname="AuthModel Tests AuthModel toJson" time="0"/>
    <testcase name="AuthModel Tests AuthModel fromJson" classname="AuthModel Tests AuthModel fromJson" time="0"/>
  </testsuite>
  <testsuite name="device_info_model_test.dart" timestamp="2024-02-21T17:33:49.574Z" errors="0" skipped="0" failures="0" tests="2">
    <testcase name="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/device_info_model_test.dart" classname="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/device_info_model_test.dart" time="0.759"/>
    <testcase name="DeviceInfoModel fromMap should create a DeviceInfoModel from a map" classname="DeviceInfoModel fromMap should create a DeviceInfoModel from a map" time="0"/>
  </testsuite>
  <testsuite name="organization_model_test.dart" timestamp="2024-02-21T17:33:49.574Z" errors="0" skipped="0" failures="0" tests="4">
    <testcase name="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/organization_model_test.dart" classname="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/organization_model_test.dart" time="0.764"/>
    <testcase name="OrganisationModel toJson and fromJson" classname="OrganisationModel toJson and fromJson" time="0.015"/>
    <testcase name="OrganisationModel toMap and fromMap" classname="OrganisationModel toMap and fromMap" time="0"/>
    <testcase name="OrganisationModel toString" classname="OrganisationModel toString" time="0"/>
  </testsuite>
  <testsuite name="role_model_test.dart" timestamp="2024-02-21T17:33:49.574Z" errors="0" skipped="0" failures="0" tests="8">
    <testcase name="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/role_model_test.dart" classname="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/role_model_test.dart" time="0.908"/>
    <testcase name="RoleModel Tests RoleModel should be created with default values" classname="RoleModel Tests RoleModel should be created with default values" time="0.031"/>
    <testcase name="RoleModel Tests RoleModel should be created with values" classname="RoleModel Tests RoleModel should be created with values" time="0"/>
    <testcase name="RoleModel Tests RoleModel should be created from a map" classname="RoleModel Tests RoleModel should be created from a map" time="0"/>
    <testcase name="RoleModel Tests RoleModel should be converted to a map" classname="RoleModel Tests RoleModel should be converted to a map" time="0"/>
    <testcase name="RoleModel Tests RoleModel should be created from JSON" classname="RoleModel Tests RoleModel should be created from JSON" time="0.015"/>
    <testcase name="RoleModel Tests RoleModel should be converted to JSON" classname="RoleModel Tests RoleModel should be converted to JSON" time="0"/>
    <testcase name="RoleModel Tests RoleModel toString() method should return a formatted string" classname="RoleModel Tests RoleModel toString() method should return a formatted string" time="0"/>
  </testsuite>
  <testsuite name="session_data_model_test.dart" timestamp="2024-02-21T17:33:49.574Z" errors="0" skipped="0" failures="0" tests="5">
    <testcase name="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/session_data_model_test.dart" classname="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/session_data_model_test.dart" time="0.734"/>
    <testcase name="SessionDataModel tests Creating SessionDataModel instance" classname="SessionDataModel tests Creating SessionDataModel instance" time="0.03"/>
    <testcase name="SessionDataModel tests CopyWith method" classname="SessionDataModel tests CopyWith method" time="0"/>
    <testcase name="SessionDataModel tests ToMap and fromMap methods" classname="SessionDataModel tests ToMap and fromMap methods" time="0"/>
    <testcase name="SessionDataModel tests ToJson and fromJson methods" classname="SessionDataModel tests ToJson and fromJson methods" time="0"/>
  </testsuite>
  <testsuite name="session_model_test.dart" timestamp="2024-02-21T17:33:49.574Z" errors="0" skipped="0" failures="0" tests="3">
    <testcase name="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/session_model_test.dart" classname="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/datamodel/session_model_test.dart" time="0.711"/>
    <testcase name="SessionModel Can create SessionModel instance" classname="SessionModel Can create SessionModel instance" time="0.03"/>
    <testcase name="SessionModel Can set and get properties" classname="SessionModel Can set and get properties" time="0"/>
  </testsuite>
  <testsuite name="auth_storage_test.dart" timestamp="2024-02-21T17:33:49.574Z" errors="0" skipped="0" failures="0" tests="5">
    <testcase name="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/providers/auth_storage_test.dart" classname="loading D:/a/1/s/ISFV2/ericsson_mobile_isf/test/features/authentication/providers/auth_storage_test.dart" time="0.857"/>
    <testcase name="AuthStorage Tests Save and load token from cache" classname="AuthStorage Tests Save and load token from cache" time="0.03"/>
    <testcase name="AuthStorage Tests Load isLoggedIn from cache" classname="AuthStorage Tests Load isLoggedIn from cache" time="0"/>
    <testcase name="AuthStorage Tests Save and load device token from cache" classname="AuthStorage Tests Save and load device token from cache" time="0.015"/>
    <testcase name="AuthStorage Tests Clear storage" classname="AuthStorage Tests Clear storage" time="0"/>
  </testsuite>

Abve is my junit.xml file ... If I read this file I get extra test case like  .  for every file "_test.dart" file , Also there is a test case for -

@mikoedg Hi, I can understand and I appologize. The problem is with the parser and how Azure gives the STDOUT data. I can try and test but I don't have a project in Flutter anymore. I will keep this open if anyone from the community can help.

This is still a continued issue, any updates on this?

@tylerbarnesTrexis No update on this, I can't figure out how to fix it. So if anyone can help me fix it that will glad. I don't know if the success rate is extra or failing rate is extra.

Did some minor digging around for this out of curiosity. If tasks/test/index.js createTestCase() is modified to something like this, I think the results might be accurate based on the test cases in sample project.
function createTestCase(suite, output, globalFailure) {
    var testRunRegex = /\s*\d\d:\d\d (\+\d+)?(\s+\-\d+)?:\s*(.*)/;
    var match = testRunRegex.exec(output);
    if (!match || match.length < 4) {
        return suite;
    }
    var tSplits = match[3].split(': ');

    if (tSplits.length === 1) {
        // Log printed starting a new test suite - No test case handled here
        return suite;
    }

    // Sanitise test case name from other information
    let title = tSplits[tSplits.length - 1];
    title = title.replace(' [E]', '');
    const currentCase = suite.cases.find(testCase => testCase.title === title);

    if (!currentCase) {
        // Suite has to be marked as succeeded first, marking as failed can be done when there is a new row with [E] at the end
        suite.cases.push({
            title: title.trim(),
            isSuccess: true,
            started: new Date(),
            ended: new Date(),
        });
        suite.succeeded += 1;
        return suite;
    }

    if (match[3].endsWith(' [E]')) {
        currentCase.isSuccess = false;
        suite.failed += 1;
        suite.succeeded -= 1;
    }

    return suite;
}

It looked to me like there were two test case results for cases which fail. That being said, I don't know anything about the test runner and parsing these results.

Hi all, @ipuhakka thanks for the code I incorporated it and release a version 0.4.4. Please check and let me know if it fixed the issue. @tylerbarnesTrexis @mikoedg @komalkhatri08

Hi, can anyone update me so I can close this issue if it's fixed. Thank you

I am seeing this issue as well using 0.4.4 version of the extension. I only have 5 unit tests right now (new project) but it is showing 25.

@hey24sheep Can you elaborate on the version of these fixes, I take it that using<EMAIL_ADDRESS>should contain the fix? I checked quickly that using task version 0.4.1 publishes the old wrong results, but 0.4.2 does not publish results at all.

I am seeing this issue as well using 0.4.4 version of the extension. I only have 5 unit tests right now (new project) but it is showing 25. I notice the task says version 0.4.3 though?

It should say 0.4.4 when you run the task

@ipuhakka latest release version is 0.4.2 for flutter test task. Can you pass in publishTests as true explicitly and see if it generates the results


.travis.yml: make package pulls conditional.

This is 1.1.0-specific partial pick from #2292.

Side note: The no-stdio made me think, do we have anything that tries out the applink stuff? Would it be worth looking into a test if not?

(noticed typo fixes, consider this a re-confirmation)

There was syntax error in .travis.yml, missing space[!] in line 102 (even though it said it's line 100 that broken!). So you guys have to reconfirm. But at least let's wait if travis finds more problems. I mean at least it's doing progress now, but would it manage to complete?

The no-stdio made me think, do we have anything that tries out the applink stuff?

Applink stuff is designed in such way that it remains disengaged if everything is compiled with same compiler. In other words it's problematic to test. Well, as was discussed in #2404, VS2015 might use applink even if everything is compiled with same compiler, but test suite doesn't use calls that would require applink. Do you mean that one would write separate test for that?

Do you mean that one would write separate test for that?

Something like that, yes

Red cross is unrelated. It's from appveyor and because I've cancelled the build myself.


Show prev, current, and next articles on replay

Could I take this issue? @mliu59 @codethejason

@arpansahoo I will defer to @codethejason

@arpansahoo Sure go for it!


Figure out how to keep a track on what changes were made to the model

At this moment OrderEvent just gives a generic "ORDER_UPDATED" message without stating what was updated.
We could store the state between the updates and display what exactly changed in the event, using an app like:
https://django-simple-history.readthedocs.io/en/latest/
This should concern not only the order but also all connected instances that can be changed

Closing this would close #2443.

There is already a bunch of events implemented for orders so we can close this one.


fix(deps): update terraform elasticstack to latest for deployable modules / architectures

This PR contains the following updates:

Package
Type
Update
Change

elasticstack (source)
required_provider
patch
>= 0.11.0 -> >= 0.11.4

Release Notes

elastic/terraform-provider-elasticstack (elasticstack)
v0.11.4
Compare Source
Breaking changes

The title attribute is now required in the elasticstack_kibana_data_view resource. In practice the resource didn't work without this set, the schema now enforces it's correctly configured.

Fixed

Populate policy_id when importing fleet policies and integrations (#646)
Fix alerting rule update crash when backend responds with HTTP 4xx. (#649)
Fix the elasticstack_kibana_data_view resource when not specifying an id and running against Kibana 8.14 (#663)
Support allow_write_after_shrink when managing ILM policies (#662)
Support managing image_url in Kibana spaces (#664)

v0.11.3
Compare Source
Fixed

Prevent a provider panic when an elasticstack_elasticsearch_template or elasticstack_elasticsearch_component_template includes an empty template (template {}) block. (#598)
Prevent elasticstack_kibana_space to attempt the space recreation if initials and color are not provided. (#606)
Prevent a provider panic in elasticstack_kibana_data_view when a field_format does not include a pattern. (#619)
Fixed a bug where the id attribute for elasticstack_kibana_slo resources was ignored by renaming the attribute to slo_id. (#622)
Fixed a bug where the rule_id attribute for elasticstack_kibana_alerting_rule was ignored. (#626)
Fixed a bug with incorrect HTTP header name for API key for alerting client. (#633)
Fix provider crash when running against Serverless projects (#630)

Added

Added datasource for alerting connectors.  (#607)

v0.11.2
Compare Source
Fixed

Fix authentication for fleet API (using ApiKey instead of Bearer keyword) (#576)
Ensure all Kibana resources use the supplied ca_certs value. (#585)
Don't panic when SLM indices are specified as a CSV string rather than an array (#593)

v0.11.1
Compare Source
Added

Add downsample section to ILMs #538
Add new optional ca_certs attribute for Kibana (#507)
Support API key authentication in elasticstack_kibana_data_view resource (#549)

Fixed

Handle nil LastExecutionDate's in Kibana alerting rules. (#508)
Import all relevant attributes during elasticstack_fleet_output import (#522)
Fix issue when setting override in elasticstack_kibana_data_view resource (#550)
Fixup typos in elasticstack_elasticsearch_transform and elasticstack_kibana_security_role docs (#551)
Fix issue when setting field_attrs in elasticstack_kibana_data_view resource (#552)
Fixup support for managing elasticstack_kibana_data_view resources in non-default spaces (#559)
Add an example resource and import command to the elasticstack_kibana_data_view docs (#560)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This issue has been resolved in version 2.1.2 :tada:
The release is available on:

GitHub release
v2.1.2

Your semantic-release bot :package::rocket:


Run OTEL collector without configuration file

Run  OTEL collector when OTEL configuration file is missing.
The storage exporter is chosen by SPAN_STORAGE_TYPE env variable and by default Cassandra implementation is used.
the value of storage type env var can contain a comma-separated list of backends.

Signed-off-by: Pavol Loffay<EMAIL_ADDRESS>

@annanay25 would you like to take this one?


has function doesn't work corectly with Nullable strings

has functions seems is not working correctly when we have an array of nullable strings:
I saw that using Array(Nullable(Uint8)) is working correctly . I didn't tested with more data types.
CREATE TABLE test_has_function(arr Array(Nullable(String))) ENGINE = Memory;
INSERT INTO test_has_function(arr) values ([null, 'str1', 'str2']),(['str1', 'str2']), ([]), ([]);

SELECT arr, has(`arr`, 'str1') FROM test_has_function;

[null,'str1','str2']  0 (WRONG - should be 1)
['str1','str2']       1 (OK)
[]                    0 (OK)
[]                    0 (OK)

Yes, it's a bug. I'll try to investigate.

item_arg->onlyNull() should evaluate to true and not false for this case

It's for the case when you write arrayHas([...], NULL)

Ok, so problem is in another place.

The code is just plain wrong (no magic).

Fix is in master.


VersionCheckError: VersionCheckError: Command exited with code -9: git log -n 1 --pretty=format:%ad --date=iso

command
flutter upgrade --force
exception
VersionCheckError: VersionCheckError: Command exited with code -9: git log -n 1 --pretty=format:%ad --date=iso
Standard error:
#0      _runSync (package:flutter_tools/src/version.dart:521:5)
#1      FlutterVersion._latestGitCommitDate (package:flutter_tools/src/version.dart:141:12)
#2      FlutterVersion.frameworkCommitDate (package:flutter_tools/src/version.dart:132:37)
#3      FlutterVersion.toString (package:flutter_tools/src/version.dart:109:99)
#4      UpgradeCommandRunner.updatePackages (package:flutter_tools/src/commands/upgrade.dart:190:32)
<asynchronous suspension>
#5      UpgradeCommandRunner.runCommand (package:flutter_tools/src/commands/upgrade.dart:90:11)
<asynchronous suspension>
#6      UpgradeCommand.runCommand (package:flutter_tools/src/commands/upgrade.dart:47:32)
<asynchronous suspension>
#7      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:559:18)
#8      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:77:64)
#9      _rootRunUnary (dart:async/zone.dart:1132:38)
#10     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#11     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#12     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#13     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#14     Future._complete (dart:async/future_impl.dart:473:7)
#15     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#16     _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async-patch/async_patch.dart:33:20)
#17     _rootRun (dart:async/zone.dart:1124:13)
#18     _CustomZone.run (dart:async/zone.dart:1021:19)
#19     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#20     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#21     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#22     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:115:13)
#23     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:5)

flutter doctor
encountered exception: VersionCheckError: Command exited with code -9: git log -n 1 --pretty=format:%ad --date=iso
Standard error:

#0      _runSync (package:flutter_tools/src/version.dart:521:5)
#1      FlutterVersion._latestGitCommitDate (package:flutter_tools/src/version.dart:141:12)
#2      FlutterVersion.frameworkCommitDate (package:flutter_tools/src/version.dart:132:37)
#3      FlutterVersion.frameworkDate (package:flutter_tools/src/version.dart:94:31)
#4      FlutterValidator.validate (package:flutter_tools/src/doctor.dart:463:127)
<asynchronous suspension>
#5      Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:129:52)
#6      Doctor.diagnose (package:flutter_tools/src/doctor.dart:200:41)
<asynchronous suspension>
#7      _doctorText.<anonymous closure> (package:flutter_tools/runner.dart:188:26)
#8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#9      _rootRun (dart:async/zone.dart:1124:13)
#10     _CustomZone.run (dart:async/zone.dart:1021:19)
#11     _runZoned (dart:async/zone.dart:1516:10)
#12     runZoned (dart:async/zone.dart:1463:12)
#13     AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#14     _doctorText (package:flutter_tools/runner.dart:187:19)
<asynchronous suspension>
#15     _createLocalCrashReport (package:flutter_tools/runner.dart:165:32)
<asynchronous suspension>
#16     _handleToolError (package:flutter_tools/runner.dart:120:33)
<asynchronous suspension>
#17     run.<anonymous closure> (package:flutter_tools/runner.dart:64:20)
<asynchronous suspension>
#18     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#19     _rootRun (dart:async/zone.dart:1124:13)
#20     _CustomZone.run (dart:async/zone.dart:1021:19)
#21     _runZoned (dart:async/zone.dart:1516:10)
#22     runZoned (dart:async/zone.dart:1463:12)
#23     AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#24     runInContext (package:flutter_tools/src/context_runner.dart:50:24)
<asynchronous suspension>
#25     run (package:flutter_tools/runner.dart:51:10)
#26     main (package:flutter_tools/executable.dart:60:9)
<asynchronous suspension>
#27     main (file:///b/s/w/ir/k/archive/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#28     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:298:32)
#29     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)

cc @zanderso

@christopherfujino It looks like this problem happened before your re-work of the upgrade command, so I'm not sure if this could still happen. It looks like the latest commit date is only used to print a log message, but the failure of the git command could indicate that something has gone wrong with the upgrade. wdyt?

Yeah, this is https://github.com/flutter/flutter/issues/33890. I think that the flutter doctor output here was the re-entrant flutter doctor that flutter upgrade calls at the end. @lztbwlkj can you verify by re-running flutter doctor -v?  If not, then this is a new (though related) issue.

Seeing another instance of this:
Thread 0 main thread CRASHEDVersionCheckError: VersionCheckError: Command exited with code -9: git -c log.showSignature=false log -n 1 --pretty=format:%ad --date=iso
Standard error:
  | at _runSync | (version.dart:543 )
-- | -- | --
  | at FlutterVersion._latestGitCommitDate | (version.dart:143 )
  | at FlutterVersion.frameworkCommitDate | (version.dart:133 )
  | at FlutterVersion.toString | (version.dart:110 )
  | at VersionCommand.runCommand | (version.dart:117 )
  | at <asynchronous gap> | (async )
  | at FlutterCommand.verifyThenRunCommand | (flutter_command.dart:553 )
  | at _asyncThenWrapperHelper.<anonymous closure> | (async_patch.dart:71 )
  | at _rootRunUnary | (zone.dart:1132 )
  | at _CustomZone.runUnary | (zone.dart:1029 )
  | at _FutureListener.handleValue | (future_impl.dart:137 )
  | at Future._propagateToListeners.handleValueCallback | (future_impl.dart:678 )
  | at Future._propagateToListeners | (future_impl.dart:707 )
  | at Future._completeWithValue | (future_impl.dart:522 )
  | at Future._asyncComplete.<anonymous closure> | (future_impl.dart:552 )
  | at _rootRun | (zone.dart:1124 )
  | at _CustomZone.run | (zone.dart:1021 )
  | at _CustomZone.runGuarded | (zone.dart:923 )
  | at _CustomZone.bindCallbackGuarded.<anonymous closure> | (zone.dart:963 )
  | at _microtaskLoop | (schedule_microtask.dart:41 )
  | at _startMicrotaskLoop | (schedule_microtask.dart:50 )
  | at _runPendingImmediateCallback | (isolate_patch.dart:116 )
  | at _RawReceivePortImpl._handleMessage | (isolate_patch.dart:173 )

on beta 1.10.7, macOS 10.15.
We should definitely catch this in the doctor and have it be a failed validator, and maybe update the version check code (right now it just throws an exception if the git command fails).

@christopherfujino Sorry, I'm a bit confused. Is this not a dupe of https://github.com/flutter/flutter/issues/33890 then? If the validator fails, what would the corrective user action be?

Actually, I was right the first time, the original post IS a dupe of #33890. I will open a new issue for this happening during VersionCommand. The temporary action for a user who is on the master channel would be to switch to dev, to get signed binaries. If they're not on master (like the example I copy-pasted), I'm not sure...we probably still want a crash report.

This is coming up in crash logging as folks upgrade.

Report on stable: https://github.com/flutter/flutter/issues/47909

Duplicate of https://github.com/flutter/flutter/issues/50902
If you have more context for this error message, or want to leave a 👍 to indicate that it is still affecting you please comment on the meta issue https://github.com/flutter/flutter/issues/50902


Add API to retrieve actions by action type

Add API to retrieve actions by action type(either typeID or action name) - eg. 0 or "transfer"

This is now supported


Task547_spl_translation_entk_en and task560_alt_translation_en_entk

The instruction is incomplete, and it seems the task is to remove the space before punctuation marks. @PhaniRohithaKaza Can you explain the tokens?

@yeganehkordi The task is sentence translation and the task what usually does is convert given english sentence to it's tokens. But as tokens are also in english the input and output doesn't differ. Even I'm confused on this task. @swarooprm can you please look into it and help us.

Yeah, except for punctuations, they seem to be the same.

Yeah, "English tokens" is one of the translated versions in their data. I think we can drop these two tasks. @danyaljj
Also, some of the other tasks from this dataset have two "Domains". I can fix these in a PR.

Sounds good, thank you!

Moving some of the comments from #709 to here:
@yeganehkordi 's comment:

I'm in favor of not dropping en_entk and entk_en tasks. We already have simpler tasks than these tasks. I think we can change their definition and keep them.

@Palipoor 's comment:

I think those tasks being simple(just putting space before punctuation marks or removing the space before them) is one thing, but the other thing is that the models are probably going to process these at the token level. So it seems like both the input and the output are going to end up being encoded the same way, which makes the task pointless.

I think in the worst-case scenario, we can shuffle the tokens and change these tasks to "order generation" tasks.


Added 'Accept: application/json' hiss header to lib/oauth2

Summary
This adds an Accept: application/json header to hisses sent from lib/oauth2 and is a solution to urbit/arvo#442.
Rationale
The OAuth2 library, as it is currently implemented, requires a JSON response from a service to parse the access token correctly. For this reason, I have added the Accept: application/json header to the ++post-quay arm, as this arm is already used for adding the Content-Type header. Without this Accept header, some OAuth2 APIs respond with non-JSON formats by default, which the current lib/oauth2 is not prepared to handle, therefore resulting in a %bad-json error (see urbit/arvo#442 for more details).
Note

I've combined running and 3-fixed forms. Is this considered undesirable, in which case I should stick with either/or?
HTTP header field names are case insensitive; you'll see that the actual header is accept with a lowercase 'a'.

This isn't how I'd format it but it's perfectly readable, which I think is
the gold standard for right now.
On Wed, Oct 25, 2017 at 2:39 PM, Matthew Levan<EMAIL_ADDRESS>wrote:

Summary
This adds an Accept: application/json header to hisses sent from
lib/oauth2 and is a solution to urbit/arvo#442
https://github.com/urbit/arvo/issues/442.
Rationale
The OAuth2 library, as it is currently implemented, requires a JSON
response from a service to parse the access token correctly. For this
reason, I have added the Accept: application/json header to the
++post-quay arm, as this arm is already used for adding the Content-Type
header. Without this Accept header, some OAuth2 APIs respond with
non-JSON formats by default, which the current lib/oauth2 is not prepared
to handle, therefore resulting in a %bad-json error (see urbit/arvo#442
https://github.com/urbit/arvo/issues/442 for more details).
Note

I've combined running and 3-fixed forms
http://urbit.org/docs/hoon/syntax/. Is this considered undesirable,
in which case I should stick with either/or?
HTTP header field names are case insensitive; you'll see that the
actual header is accept with a lowercase 'a'.

You can view, comment on, or merge this pull request online at:
https://github.com/urbit/arvo/pull/446
Commit Summary

Added 'Accept: application/json' hiss header

File Changes

M lib/oauth2.hoon
https://github.com/urbit/arvo/pull/446/files#diff-0 (9)

Patch Links:

https://github.com/urbit/arvo/pull/446.patch
https://github.com/urbit/arvo/pull/446.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/pull/446, or mute the thread
https://github.com/notifications/unsubscribe-auth/AALyAVrVYHptdzsNd_-T0I5K2GQX2g-Wks5sv6p8gaJpZM4QGs0d
.

A man of mystery @cgyarvin! How'd you do it? All running?

%^    a
b
c
d
On Wed, Oct 25, 2017 at 2:52 PM, Matthew Levan<EMAIL_ADDRESS>wrote:

A man of mystery @cgyarvin https://github.com/cgyarvin! How'd you do
it? All running?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/pull/446#issuecomment-339483083, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AALyATBhqbXEnLlGDy6lZ0OVOUQzTtreks5sv62vgaJpZM4QGs0d
.

The slight pattern break used elsewhere in the system is
%-  my  :~
  :-  %accept
  ~['application/json']
::
  :-  %content-type
  ~['application/x-www-form-urlencoded']
==

as non :~ tall forms for literal (list) arguments generally feel weird. I'd describe the motivation as approximately "adding/removing elements only touches those elements' lines".


🐛 LSP: diagnostics do not respect severity

Environment information
// biome rage
CLI:
  Version:                      1.5.3
  Color support:                true

Platform:
  CPU Architecture:             x86_64
  OS:                           linux

Environment:
  BIOME_LOG_DIR:                unset
  NO_COLOR:                     unset
  TERM:                         "xterm-256color"
  JS_RUNTIME_VERSION:           "v20.10.0"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         unset

Biome Configuration:
  Status:                       Loaded successfully
  Formatter disabled:           false
  Linter disabled:              false
  Organize imports disabled:    false
  VCS disabled:                 true

Workspace:
  Open Documents:               0

// nvim -v
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1702233742

// :LspInfo
Client: biome (id: 2, bufnr: [1])
                         filetypes:       javascript, javascriptreact, json, jsonc, typescript, typescript.tsx, typescriptreact
                         autostart:       true
                         root directory:  <project>
                         cmd:             $HOME/.local/share/nvim/mason/bin/biome lsp-proxy

What happened?
All LSP diagnostics provided by biome lsp-proxy have severity ERROR (1 in nvim LSP API)

:=vim.diagnostic.get(0)
{ {
    bufnr = 1,
    code = "lint/complexity/useFlatMap",
    col = 8,
    end_col = 29,
    end_lnum = 0,
    lnum = 0,
    message = "The call chain .map().flat() can be replaced with a single .flatMap() call.",
    namespace = 40,
    severity = 1,
    source = "biome",
    user_data = {
      lsp = {
        code = "lint/complexity/useFlatMap",
        codeDescription = {
          href = "https://biomejs.dev/linter/rules/use-flat-map"
        }
      }
    }
  }, {
    bufnr = 1,
    code = "lint/style/useConst",
    col = 0,
    end_col = 3,
    end_lnum = 0,
    lnum = 0,
    message = "This let declares a variable which is never re-assigned.",
    namespace = 40,
    severity = 1,
    source = "biome",
    user_data = {
      lsp = {
        code = "lint/style/useConst",
        codeDescription = {
          href = "https://biomejs.dev/linter/rules/use-const"
        },
        relatedInformation = { {
            location = {
              range = {
                ["end"] = {
                  character = 5,
                  line = 0
                },
                start = {
                  character = 4,
                  line = 0
                }
              },
              uri = "file://<redacted>/index.ts"
            },
            message = ""
          } }
      }
    }
  } }

Expected result
I expect Biome diagnostics to only use WARNING, INFO, and HINT LSP severity.
Code of Conduct

[X] I agree to follow Biome's Code of Conduct

I don't use vim very often, so you'll have to give us more information to understand why you expect a different severity.
Is it something you can set at LSP setting level?

I don't use vim very often, so you'll have to give us more information to understand why you expect a different severity.

TypeScript LSP publishes ERROR diagnostics only when code will not be compiled by tsc. It also uses HINT severity for unused symbols and unreachable code.
I expect Biome to follow the same conventions, producing at most WARNING diagnostics. Otherwise it's unclear if the code compiles when both Biome LSP and TypeScript LSP are running for buffer.
Consider the following line:
let b = 5 + {}

There are 3 diagnostics:

tsserver (ERROR): Operator '+' cannot be applied to types 'number' and '{}'. [2365]
tsserver (HINT): 'b' is declared but its value is never read. [6133]
biome lsp-proxy (ERROR): This let declares a variable which is never re-assigned. [lint/style/useConst]

And highlight shows why it's confusing:

If Biome published diagnostics with WARNING/INFO severity this confusion would be resolved, since then won't be inferred as compilation error.

Is it something you can set at LSP setting level?

I think it's possible to use NeoVim LSP API to intercept Biome diagnostics and change their severity, but I think it's rather a hack than a solution.

Is it documented somewhere?

If you mean Biome behavior, skimming through the Biome code I found that it's setting severity to Severity::Error by default, perhaps without a way to configure it on a diagnostic level:
https://github.com/biomejs/biome/blob/3773dd73e679b5e320010c5e4aa4453531d0ab4c/crates/biome_diagnostics/src/diagnostic.rs#L43-L45

Ok, this message explains better what you meant at the beginning, it was very difficult without context.
Biome is meant to run out of the box, and it's meant to offer a set of functionalities with good defaults. Among these defaults, there are formatting, linting and importing sorting.
Linting comes with a set of recommended rules that should error when running the lint command. This gives a equal experience for both CLI and LSP. That's what this tool is also about.
Comparing Biome to the TypeScript language server isn't a fair assessment because they have two different means, also Biome LSP isn't yet a replacement for a full fledged language server. However, you can still use a configuration file to reduce the severity of the lint rules.

I agree that Biome is by no means a replacement for tsserver, and the problem is that it's not convenient to use it as a companion LSP for helpful suggestions because of severity. I acknowledge that it might complicate things by separating severity logic across CLI and LSP.
I will try to configure nvim to force Biome LSP to publish warnings and share my results.
Thanks for your effors.

I had no success intercepting diagnostics in nvim so I made a change to convert Biome ERROR diagnostic to LSP WARNING.
Not sure if this is a correct approach, but it works for my use case.
See 1744-lsp-severity.

We plan to allow configuring the severity level for every group of lint rules. This will allow you to set warning instead of error for rules of a group.


Problem with starting of the Bot Server for a big number of teams (200+)

The issue is in the next. When we run the Puma Server - connection with the Bot is set up for a while - Bot becomes online BUT at once after that goes offlne. We use the next approach - we keep team tokens in the database. When we start the Puma Server then we use the same approach for setting up server connection as is written in the readme of the Bot.
MUTEX = Mutex.new
servers = {}
tokens.each_with_index do |token, id|
  MUTEX.synchronize do
    instance = SlackRubyBot::Server.new(token: token)
    instance.start_async
    servers[id] = instance
  end
end

Also, please, note that small number of teams are still online.
We use AWS EC2 instances:
t2.micro - allows successfully start the Bot in approximately 10 teams and in this case there are no problems with Bot going offline
t2.medium - allows successfully start the Bot in approximately 150 teams without any fails.
When instances of Class SlackRubyBot::Server - the ruby process sharply increase the load on CPU that's why t2.medium allows to successfullly start connections for bigger number of teams.
What could be the reasons of Bot going offline?
What other approaches could be used for setting up connection?

Look at memory usage of the process, is it getting to a place where it eats up all the ram?
I've been quite successful reducing the memory usage with using a different store, see https://github.com/slack-ruby/slack-ruby-client#slackrealtimestoresstore. If you're not using any local store data you can get rid of it, particularly useful for large teams.

with ram all looks like ok, but ruby process load cpu around 50%

Starting a connection for 150 teams involves downloading 150 multi-megabyte JSONs and parsing them. I think you should try with a nil store next as well.

Slack added rtm.connect, which no longer sends any more information than needed to the client on start unlike rtm.start. I've implemented support for it in slack-ruby-client in https://github.com/slack-ruby/slack-ruby-client/pull/145, you should try slack-ruby-client#HEAD, it has dramatically improved the memory footprint and connection speed of my game bot that currently has 385 active teams.

Thanks for update! @dblock
Do you use any tools to tracking state(online/offline) of bot?

@kirillshevch https://github.com/slack-ruby/slack-ruby-bot-server for example exposes an endpoint that calls ping, and I use Uptime Robot to check that for my bots. And ping is implemented as a web API call for presence - https://github.com/slack-ruby/slack-ruby-bot-server/blob/master/lib/slack-ruby-bot-server/models/team/methods.rb#L33.

We just switched to celluloid and now we have no problems. With EM, connections was broken аfter the connection was established more then 15 teams on EC2 medium instance (restart just did not work in this case).
Slack::RealTime.configure do |config|
  config.concurrency = Slack::RealTime::Concurrency::Celluloid
end

Now about 50 installations and everything is OK.

Closing this.


Wrong pageviews

In this endpoint:
https://domai.com/api/websites/{uuid}/stats?startAt=xxx&endAt=xxx
https://github.com/umami-software/umami/blob/3eabe9b95875e775463988cc2963ee44c92294ae/queries/analytics/stats/getWebsiteStats.ts#L7
You need to specify  event_type = 1  in the SQL query to get the correct number of pageviews, otherwise you will get the number of pageviews+events.

Thanks for reporting! This is fixed in dev and will be release with the hotfix release.

Fixed in v2.0.1.


Make sure UDP send callbacks are always fired asynchronously

R=@bnoordhuis
Fixes: https://github.com/libuv/libuv/issues/301

Well, fuck.I'm afraid the change to uv__run_pending has some interesting side effects, as in 40 failing tests or something :-(

The problem seems to be the following:

The first time around, uv_udp_send sends immediately, so uv__udp_sendmsg is called and the io handle is set as pending with uv__io_feed, in order to run the callback on the next tick.

On the next tick, while in uv__run_pending, we call uv_udp_send again, and because we get UV__POLLOUT, we also try to write the queued send requests, and we succeed! so we call uv__io_feed again, to call its callback.

Since we're ietarting the pending queue, and uv__io_feed adds the handle to that very same queue, we enter an infinite loop.

I'll keep digging...

Solved it! All tests pass, it was a fuckup in using QUEUE_FOREACH. @bnoordhuis can you PTAL?

LGTM

Thanks Ben! Adjusted the comment and landed.


Problem with cluster creation in example-wecs.md on Raspberry Pi  bug:

Describe the bug
On a Raspberry Pi running Centos Stream 9, working as root:
Installing pre-reqs appears to succeed.
Steps 1-5 in doing the Common Setup proceed without issue.
Moving on step 6, to the "Create and Register WECs for examples" step (examples-wec.md) it fails every time attempting to create the first cluster. I have tried this both by cutting and pasting the entire set of commands, or entering each one manually
Steps To Reproduce

log into raspberry pi running Centos Stream 9
confirm pre-reqs install
start working through "common setup" steps in examples.md
for step 6, move to instructions in examples-wec.md
enter the commands to create cluster1 for the "common setup"

Cluster creation will fail with message like this:
kind create cluster --name ${CLUSTER}

 kubectl config rename-context kind-${CLUSTER} ${CLUSTER}

 clusteradm --context imbs1 get token | grep '^clusteradm join' | sed "s/<cluster_name>/${CLUSTER}/" | awk '{print $0 " --context
'${CLUSTER}' --force-internal-endpoint-lookup"}' | sh
enabling experimental podman provider
Creating cluster "cluster1" ...
 ✓ Ensuring node image (kindest/node:v1.24.0) 
 ✗ Preparing nodes 
ERROR: failed to create cluster: could not find a log line that matches "Reached target .*Multi-User System.*|detected cgroup v1"
error: cannot rename the context "kind-cluster1", it's not in /root/.kube/.kubeconifg
E0125 07:06:02.473705  183176 exec.go:197] Failed building kube client: context "cluster1" does not exist
Error: context "cluster1" does not exist

Expected Behavior
cluster 1 should have been created and the following commands executed upon it.
Additional Context
No response

@KPRoche  -  it looks like there are not enough resources in that rPI (I suppose you are running on a RPi) to run more than one kind cluster. As discussed offline, one approach to solve this is to run the "core" KubeStellar on one rPI and the WEC on a second rPI.

@pdettori Thank you! Given that this is not an issue with the code at all, I'm going to close this issue.


Possible to nest/inherit stylecop.json?

We currently have a single stylecop.json file which is then linked into a number of different Visual Studio projects.
We would like to update this file to include appropriate copyright header information.  However, our work is spread out (and owned by) multiple clients, even though code is shared between them.  This means the different VS projects would need different copyright headers, but we still want them to share the other stuff.
Ideally, we would like to have some sort of "base stylecop.json" that includes the common rules they all use.  Then there would be a series of client-specific stylecop.json files which would (somehow) reference the base one for inclusion and then also define the client-specific copyright information.  Each project would then utilize the appropriate client-specific file to get both the common rules and the correct copyright information.
Is there any way to accomplish something like this right now?
Thanks

I don't this is currently possible. The analyzers do not access the file system directly, the stylecop.json file is handed to the analyzer by Visual Studio / MSBuild. Nesting / inheritance is not supported by Visual Studio / MSBuild afaik.
Having said that, it would be possible to extend StyleCop Analyzers to consider multiple settings files and merge their contents. This would need a clear naming convention that will imply the exact order in which these settings files are parsed (assuming that files that are parsed later will override earlier files).
In your situation this would mean that you a have stylecop.json file with the shared settings and (for example) a stylecop_client.json file that would contain the client specific settings. Both settings files should than be added to a project. @cabadam would such a solution be somethings that you could work with?

Yes, I was originally thinking just utilizing the stylecop.json.  However, being able to include multiple files in a format like you described would work as well.

@cabadam @vweijsters You can store the stylecop.json file at the root (or anywhere) and add it as a link:

That way you can edit it once and have it update everywhere. Lastly, once you do this once; if you copy and paste the actual item in Solution Explorer from one project to another, it will copy and past as a link.

@dmccaffery, I'm replying for @cabadam since he's out of the office the remainder of the week.
We already using this technique to share a single stylecop.json file across multiple projects. The issue is that we now want to include header specifications in this same shared file. The problem we are trying to address is that the header will vary across projects that otherwise have the same stylecop.json. We are trying to avoid having to redefine the same requirements for the different projects that only vary slightly.

@thenadz Ah. Makes sense. I didn't fully understand what you were trying to do; was just trying to offer an alternative solution in case you weren't aware. :)

Any project migrating from stylecop might have relied on this type of inheritance as it was previously supported with Settings.StyleCop.  It might be good to note that it is not supported with analyzers in the stylecop.json documentation or known changes sections.

For classic StyleCop we provided a NuGet package with settings for our company (internally). This was realized by linking into the NuGet package folder.
To migrate to StyleCopAnalyzers we would like to have such setting inheritance, too.
I think, this should be possible also without naming convention, but explicit loading and merging files, specified in the root json file, isn't it?

@lukas-ais As analyzers are currently portable class libraries, it would be non-trivial (and in my opinion undesirable) to add code to access a local file system.
The proposed solution with multiple specified settings files that would be merged could easily work with a custom NuGet package that would install a company settings part that could be augmented with project specific settings.

This will end up superseded by the ongoing work in dotnet/roslyn to generalize .editorconfig for analyzer authors.

Is there a specific issue in the rosyln repository that could be linked to from here?


Cache cargo on Travis to (hopefully) speed up builds

Coverage remained the same at 91.233% when pulling 4bb45d99f91b32d201a9b3e5c770801d3428e2fe on nabijaczleweli:chore/travis-cache into 7bf6f293a7cc759233bcbf2ccd8b37accf8ec6a9 on kbknapp:master.

Coverage remained the same at 91.233% when pulling 0a423757041f7cd99e8bf9418dbc0440d7b58147 on nabijaczleweli:chore/travis-cache into 4f3155897ad413c7db758393a41d619b39d5fdf0 on kbknapp:master.

@homu r+

:pushpin: Commit 0a42375 has been approved by kbknapp

:zap: Test exempted - status


fix(filter): define shrink state

Description
Fix platform label shrink behaviour.
Fixes #131
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Responsive Testing?
(Only applicable for Frontend changes)
Checked for: (width in px)

[x] Laptop L - 1440px
[x] Laptop - 1024px
[x] Tablet - 768px
[x] Mobile M - 375px

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in modules

Hey @xnatsuk, thank you for fixing this!
Join us on Discord and get your contributor badge!


Playlists broken in rewrite.

Playlists seem to be erroring in the rewrite. This error pops up when playing playlists on Youtube, Soundcloud and Bandcamp:
TypeError: Cannot read property 'info' of undefined
    at Manager.<anonymous> (/root/ear_tensifier/node_modules/@tetracyl/erela.js/dist/structures/Manager.js:108:49)
    at Generator.next (<anonymous>)
    at fulfilled (/root/ear_tensifier/node_modules/@tetracyl/erela.js/dist/structures/Manager.js:5:58)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Fixed: #34


Support for Python >3.9

Potenitally more versions of python could be supported.  Compatibility issues seen on <=3.7, and installation framework issues with python >=3.10, so locking down to 3.9 for now, for simplicity.  Should review this in the near term.

With autcli 0.1.1 it now installs successfully Python 3.11.1.


Strange results comparing arcLength and totalLength

I'm playing with the demo and see the following: with the default point values, immediately after creating the spline, spline.arcLength(0, spline.getMaxT()) is not equal to spline.totalLength(), and the difference is quite significant (1699.87671 for the arcLength, 1666.14331 for the totalLength). This is for Normal Cubic Spline.

Could you paste the input points you used to get this result? Or if you got this spline via the GUI demo program, could you post a screenshot of the spline so I can reproduce it?

Oh, I see you said default point values. Thanks, I'll investigate this tonight

I've found the problem and I'm working on a solution. I expect to have it pushed in the next couple days. Thanks for pointing this out!

I fixed this and added unit tests to cover it. Thanks for pointing it out.

Wow, that was fast! Thanks a lot!


Error when adding geo to region query

I've been pulling my hair out about this, so hopefully this helps someone else out haha.
When using 4.2.1, if you add a geo field to an interest by region query, you'll get an error. I downgraded to 4.1.0 like  I had in my other project and the error no longer occurs and you get the expected response.
Params:
keywords: ['Apple, Dell, Lenovo'],
resolution: 'STATE',
geo: 'US',
startTime,
endTime
{   message: 'Available widgets does not contain selected api type',   requestBody: ')]}\'\n{"widgets":[{"request":{"time":"2017-08-06 2017-09-05","resolution":"DAY","locale":"en-US","comparisonItem":[{"geo":{"country":"US"},"complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Dell"}]}},{"geo":{"country":"US"},"complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Lenovo"}]}},{"geo":{"country":"US"},"complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Apple"}]}}],"requestOptions":{"property":"","backend":"IZG","category":0}},"lineAnnotationText":"Search interest","bullets":[{"text":"Dell"},{"text":"Lenovo"},{"text":"Apple"}],"showLegend":false,"showAverages":true,"helpDialog":{"title":"Interest over time","content":"Numbers represent search interest relative to the highest point on the chart for the given region and time. A value of 100 is the peak popularity for the term. A value of 50 means that the term is half as popular. Likewise a score of 0 means the term was less than 1% as popular as the peak."},"token":"APP6_UEAAAAAWbDDbIM2RzHuiv6T5tOW8JepdJT2xNOx","id":"TIMESERIES","type":"fe_line_chart","title":"Interest over time","template":"fe","embedTemplate":"fe_embed","version":"1","isLong":true,"isCurated":false},{"request":{"geo":{"country":"US"},"comparisonItem":[{"time":"2017-08-06 2017-09-05","complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Dell"}]}},{"time":"2017-08-06 2017-09-05","complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Lenovo"}]}},{"time":"2017-08-06 2017-09-05","complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Apple"}]}}],"resolution":"REGION","locale":"en-US","requestOptions":{"property":"","backend":"IZG","category":0}},"geo":"US","resolution":"provinces","searchInterestLabel":"Search interest","displayMode":"regions","showLegend":false,"helpDialog":{"title":"Interest by subregion","content":"See which term ranked highest in each region during the specified time frame. Values are scaled from 0 to 100, where 100 is the region with peak popularity, a value of 50 is the region where the term is half as popular, and a value of 0 means that term was less than 1% as popular as the peak."},"bullets":[{"value":"Dell","color":"PALETTE_COLOR_1"},{"value":"Lenovo","color":"PALETTE_COLOR_2"},{"value":"Apple","color":"PALETTE_COLOR_3"}],"token":"APP6_UEAAAAAWbDDbJd-1wv45UK9aeSmjHDehgtDHXQx","id":"GEO_MAP","type":"fe_geo_color_chart","title":"Interest by subregion","template":"fe","embedTemplate":"fe_embed","version":"2","isLong":true,"isCurated":false},{"text":{"text":"Dell"},"id":"TITLE_0","type":"fe_text","title":"","template":"fe_explore","embedTemplate":"fe_embed","version":"1","isLong":true,"isCurated":false},{"request":{"geo":{"country":"US"},"comparisonItem":[{"time":"2017-08-06 2017-09-05","complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Dell"}]}}],"resolution":"REGION","locale":"en-US","requestOptions":{"property":"","backend":"IZG","category":0}},"geo":"US","resolution":"provinces","searchInterestLabel":"Search interest","displayMode":"regions","helpDialog":{"title":"Interest by subregion","content":"See in which location your term was most popular during the specified time frame. Values are calculated on a scale from 0 to 100, where 100 is the location with the most popularity as a fraction of total searches in that location, a value of 50 indicates a location which is half as popular, and a value of 0 indicates a location where the term was less than 1% as popular as the peak. \\u003cp\\u003e\\u003cp\\u003e \\u003cb\\u003eNote:\\u003c/b\\u003e A higher value means a higher proportion of all queries, not a higher absolute query count. So a tiny country where 80% of the queries are for \\"bananas\\" will get twice the score of a giant country where only 40% of the queries are for \\"bananas\\".","url":"https://support.google.com/trends/answer/4355212"},"color":"PALETTE_COLOR_1","index":0,"bullet":"Dell","token":"APP6_UEAAAAAWbDDbGvVQcVQq51Vlkj4R-89YJYGxfHF","id":"GEO_MAP_0","type":"fe_geo_chart_explore","title":"Interest by subregion","template":"fe","embedTemplate":"fe_embed","version":"1","isLong":false,"isCurated":false},{"request":{"restriction":{"geo":{"country":"US"},"time":"2017-08-06 2017-09-05","complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Dell"}]}},"keywordType":"QUERY","metric":["TOP","RISING"],"trendinessSettings":{"compareTime":"2017-07-06 2017-08-05"},"requestOptions":{"property":"","backend":"IZG","category":0},"language":"en"},"helpDialog":{"title":"Related queries","content":"Users searching for your term also searched for these queries. You can sort by the following metrics: \\u003cp\\u003e* \\u003cb\\u003eTop\\u003c/b\\u003e - The most popular search queries. Scoring is on a relative scale where a value of 100 is the most commonly searched query, 50 is a query searched half as often, and a value of 0 is a query searched for less than 1% as often as the most popular query. \\u003cp\\u003e* \\u003cb\\u003eRising\\u003c/b\\u003e - Queries with the biggest increase in search frequency since the last time period. Results marked \\"Breakout\\" had a tremendous increase, probably because these queries are new and had few (if any) prior searches.","url":"https://support.google.com/trends/answer/4355000"},"color":"PALETTE_COLOR_1","keywordName":"Dell","token":"APP6_UEAAAAAWbDDbPfY4X2CiKvxmFP0NTZH5lrYJFqA","id":"RELATED_QUERIES_0","type":"fe_related_searches","title":"Related queries","template":"fe","embedTemplate":"fe_embed","version":"1","isLong":false,"isCurated":false},{"text":{"text":"Lenovo"},"id":"TITLE_1","type":"fe_text","title":"","template":"fe_explore","embedTemplate":"fe_embed","version":"1","isLong":true,"isCurated":false},{"request":{"geo":{"country":"US"},"comparisonItem":[{"time":"2017-08-06 2017-09-05","complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Lenovo"}]}}],"resolution":"REGION","locale":"en-US","requestOptions":{"property":"","backend":"IZG","category":0}},"geo":"US","resolution":"provinces","searchInterestLabel":"Search interest","displayMode":"regions","helpDialog":{"title":"Interest by subregion","content":"See in which location your term was most popular during the specified time frame. Values are calculated on a scale from 0 to 100, where 100 is the location with the most popularity as a fraction of total searches in that location, a value of 50 indicates a location which is half as popular, and a value of 0 indicates a location where the term was less than 1% as popular as the peak. \\u003cp\\u003e\\u003cp\\u003e \\u003cb\\u003eNote:\\u003c/b\\u003e A higher value means a higher proportion of all queries, not a higher absolute query count. So a tiny country where 80% of the queries are for \\"bananas\\" will get twice the score of a giant country where only 40% of the queries are for \\"bananas\\".","url":"https://support.google.com/trends/answer/4355212"},"color":"PALETTE_COLOR_2","index":1,"bullet":"Lenovo","token":"APP6_UEAAAAAWbDDbDIJ4rjDa5BvsflSwsUmM2oZyUVP","id":"GEO_MAP_1","type":"fe_geo_chart_explore","title":"Interest by subregion","template":"fe","embedTemplate":"fe_embed","version":"1","isLong":false,"isCurated":false},{"request":{"restriction":{"geo":{"country":"US"},"time":"2017-08-06 2017-09-05","complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Lenovo"}]}},"keywordType":"QUERY","metric":["TOP","RISING"],"trendinessSettings":{"compareTime":"2017-07-06 2017-08-05"},"requestOptions":{"property":"","backend":"IZG","category":0},"language":"en"},"helpDialog":{"title":"Related queries","content":"Users searching for your term also searched for these queries. You can sort by the following metrics: \\u003cp\\u003e* \\u003cb\\u003eTop\\u003c/b\\u003e - The most popular search queries. Scoring is on a relative scale where a value of 100 is the most commonly searched query, 50 is a query searched half as often, and a value of 0 is a query searched for less than 1% as often as the most popular query. \\u003cp\\u003e* \\u003cb\\u003eRising\\u003c/b\\u003e - Queries with the biggest increase in search frequency since the last time period. Results marked \\"Breakout\\" had a tremendous increase, probably because these queries are new and had few (if any) prior searches.","url":"https://support.google.com/trends/answer/4355000"},"color":"PALETTE_COLOR_2","keywordName":"Lenovo","token":"APP6_UEAAAAAWbDDbMvLoEl8Vula9Nq93Z9O53VuxyZL","id":"RELATED_QUERIES_1","type":"fe_related_searches","title":"Related queries","template":"fe","embedTemplate":"fe_embed","version":"1","isLong":false,"isCurated":false},{"text":{"text":"Apple"},"id":"TITLE_2","type":"fe_text","title":"","template":"fe_explore","embedTemplate":"fe_embed","version":"1","isLong":true,"isCurated":false},{"request":{"geo":{"country":"US"},"comparisonItem":[{"time":"2017-08-06 2017-09-05","complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Apple"}]}}],"resolution":"REGION","locale":"en-US","requestOptions":{"property":"","backend":"IZG","category":0}},"geo":"US","resolution":"provinces","searchInterestLabel":"Search interest","displayMode":"regions","helpDialog":{"title":"Interest by subregion","content":"See in which location your term was most popular during the specified time frame. Values are calculated on a scale from 0 to 100, where 100 is the location with the most popularity as a fraction of total searches in that location, a value of 50 indicates a location which is half as popular, and a value of 0 indicates a location where the term was less than 1% as popular as the peak. \\u003cp\\u003e\\u003cp\\u003e \\u003cb\\u003eNote:\\u003c/b\\u003e A higher value means a higher proportion of all queries, not a higher absolute query count. So a tiny country where 80% of the queries are for \\"bananas\\" will get twice the score of a giant country where only 40% of the queries are for \\"bananas\\".","url":"https://support.google.com/trends/answer/4355212"},"color":"PALETTE_COLOR_3","index":2,"bullet":"Apple","token":"APP6_UEAAAAAWbDDbNy0ioc1H3cN-yKAe9w4qU4qljlZ","id":"GEO_MAP_2","type":"fe_geo_chart_explore","title":"Interest by subregion","template":"fe","embedTemplate":"fe_embed","version":"1","isLong":false,"isCurated":false},{"request":{"restriction":{"geo":{"country":"US"},"time":"2017-08-06 2017-09-05","complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"Apple"}]}},"keywordType":"QUERY","metric":["TOP","RISING"],"trendinessSettings":{"compareTime":"2017-07-06 2017-08-05"},"requestOptions":{"property":"","backend":"IZG","category":0},"language":"en"},"helpDialog":{"title":"Related queries","content":"Users searching for your term also searched for these queries. You can sort by the following metrics: \\u003cp\\u003e* \\u003cb\\u003eTop\\u003c/b\\u003e - The most popular search queries. Scoring is on a relative scale where a value of 100 is the most commonly searched query, 50 is a query searched half as often, and a value of 0 is a query searched for less than 1% as often as the most popular query. \\u003cp\\u003e* \\u003cb\\u003eRising\\u003c/b\\u003e - Queries with the biggest increase in search frequency since the last time period. Results marked \\"Breakout\\" had a tremendous increase, probably because these queries are new and had few (if any) prior searches.","url":"https://support.google.com/trends/answer/4355000"},"color":"PALETTE_COLOR_3","keywordName":"Apple","token":"APP6_UEAAAAAWbDDbJeiZ14aIjNtCowwwvSHLz-6AwWC","id":"RELATED_QUERIES_2","type":"fe_related_searches","title":"Related queries","template":"fe","embedTemplate":"fe_embed","version":"1","isLong":false,"isCurated":false}],"keywords":[{"keyword":"Dell","name":"Dell","type":"Search term"},{"keyword":"Lenovo","name":"Lenovo","type":"Search term"},{"keyword":"Apple","name":"Apple","type":"Search term"}],"timeRanges":["8/6/17 - 9/5/17","8/6/17 - 9/5/17","8/6/17 - 9/5/17"],"examples":[],"shareText":"Explore search interest for Dell, Lenovo, Apple by time, location and popularity on Google Trends"}' }

@nicholaai i'm using 4.1.0 version. Still showing the error.

Make sure you're using exactly 4.1.0. If you have a ~ or ^ in your package.json, you may not be. Check that file and make the change then do npm install again. You can also check using
npm list google-trends-api

@nicholaai Thanks for reporting this. I think I have corrected it in PR #78 - probably going to add some tests to prevent this from happening again in the future

@nicholaai Fixed in verison 4.2.2. Let me know if it's still not working for you!


Provide Ballerina runtime APIs for arithmetic operations and numerical comparisons

Description:
While implementing debugger expression evaluation support for arithmetic operations (ADD, SUB, MUL, DIV, MOD) and numerical comparisons (LT, LT_EQUALS, GT, GT_EQUALS), we've come across few limitations which are listed below.

Implementation is not straightforward for arithmetic operations and numerical comparisons between different types.

e.g. decimal and float, decimal and int

Runtime error creations will be duplicated inside the debugger expression evaluation engine.

Therefore it will be better if we can have a set of generalized runtime APIs, which accept two BValue instances and return another BValue (can either be the result or a BErrorValue) for arithmetic operations and numerical comparisons.
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Closing since these APIs are added via #https://github.com/ballerina-platform/ballerina-lang/pull/27468


No module named 'graphviz'

Hello, I using Croo v0.3.1 installed in the conda environment with encode-atac-seq-pipeline v1.5.4. It looks like graphviz needs to be added as a dependency:
Traceback (most recent call last):
  File "/labs/smontgom/nicolerg/miniconda3/envs/encode-atac-seq-pipeline/bin/croo", line 11, in <module>
    from croo.croo import main
  File "/labs/smontgom/nicolerg/miniconda3/envs/encode-atac-seq-pipeline/lib/python3.7/site-packages/croo/croo.py", line 17, in <module>
    from .croo_html_report import CrooHtmlReport
  File "/labs/smontgom/nicolerg/miniconda3/envs/encode-atac-seq-pipeline/lib/python3.7/site-packages/croo/croo_html_report.py", line 11, in <module>
    from .croo_html_report_task_graph import CrooHtmlReportTaskGraph
  File "/labs/smontgom/nicolerg/miniconda3/envs/encode-atac-seq-pipeline/lib/python3.7/site-packages/croo/croo_html_report_task_graph.py", line 11, in <module>
    from graphviz import (Source, render)
ModuleNotFoundError: No module named 'graphviz'

pip install graphviz within the conda environment fixed it.

This is already fixed in 0.3.2.

As of 0.3.3 you also have to run apt-get install graphviz (or equivalent for your operating system), as pygraphviz does not place the dot program on the PATH by default. If using anaconda, you can also run conda install pydot-ng in addition to conda install pygraphviz.
@leepc12 you might consider adding pydot-ng as a dependency or clarifying in the docs that pygraphviz by itself will not give you the needed dot utility and the user must also install dot.
@nicolerg if you're usinig sherlock, you can run module load viz graphviz

conda install pydot-ng -c anaconda conflicts with packages in requirements.txt for two ENCODE pipelines (atac/chip). Also anaconda is not an official Conda repo since 4.7.
Try apt install graphviz if you can sudo or add --no-graph to the command line.


5 second pause before opening

Hi, thanks for the great tool, I use it all the time. I'm having a problem where there's sometimes a ~5 second pause when trying to open the telescope buffer for smart-open.
It normally opens instantly. But then it will 'break' and go from then onward always have a 5 second delay before opening. So it's not like it's just randomly getting caught up whenever, it seems that's there's something very specific and permanent that must have changed to cause it to always have a delay.
My go-to solution is to delete the smart-open.sqlite3 file in case some bad data got written into it. But that doesn't seem to do it. My next thought, is could it be related to some bad data in my old-files list? Because when you delete smart-open.sqlite3 the next time it's launched the database is populated with data from the old files.
I've been using this plugin for about a year and I've come across this issue a few times. I've never worked out what's causing it or how I've fixed it. It's happened on both my Windows machine and my Linux machine.
Do you have any suggestions or ideas? Where can I start with debugging this?

EDIT: fixed it
Just in case anyone else has this issue I'll explain what I did and my best guess to the cause. I don't believe its smart-open's issue. I think its something going on with neovim. Its something to do with bad data being cached I think - perhaps caused by neovim not being shutdown properly. I fixed it by deleting more cache files: ~/.local/share/nvim/telescope_history ~/.local/share/nvim/smart_open.sqlite3 ~/.local/state/nvim/shada/main.shada