text:
I never got it working for any language, what to do?

I am using the default settings, and the plugin is running without errors.
My installed packages: https://github.com/evandrocoan/SublimeTextStudio/blob/master/User/Package Control.sublime-settings
Sublime Text version 3114 - Windows 10

Can you open the console (Ctrl + `) and type sublime.LogCommands(True) and show the output when pressing enter? My suspicion is that the plugin isn't actually being activated. What's the language you're using there? These are the languages supported: https://github.com/spadgos/sublime-jsdocs/blob/master/jsdocs.py#L58-L72

Do you mean sublime.log_input(True); sublime.log_commands(True); sublime.log_result_regex(True).
Output:
>>> sublime.log_input(True); sublime.log_commands(True); sublime.log_result_regex(True)
key evt: keypad_divide
chr evt: / (0x2f)
key evt: keypad_multiply
chr evt: * (0x2a)
key evt: keypad_multiply
chr evt: * (0x2a)
key evt: enter
command: insert {"characters": "\n"}

Its is C++.

Ooh, didn't even know about those other ones.
Anyway, yeah the line command: insert {"characters": "\n"} shows that DocBlockr isn't being invoked. This is the key combo which should be triggering it:
  { "keys": ["enter"], "command": "jsdocs",
    "context": [
      { "key": "setting.auto_indent",   "operator": "equal",          "operand": true,                        "match_all": true },
      { "key": "selection_empty",       "operator": "equal",          "operand": true,                        "match_all": true },
      { "key": "auto_complete_visible", "operator": "equal",          "operand": false,                       "match_all": true },
      { "key": "preceding_text",        "operator": "regex_contains", "operand": "^\\s*(\\/\\*|###)[*!]\\s*$", "match_all": true }
    ]
  },

Is it possible that you have auto_indent set to false?

Is it possible that you have auto_indent set to false?

No, these are my auto_settings:
	"autoIndent": true,
	"auto_complete": true,
	"auto_complete_cycle": true,
	"auto_complete_delay": 350,
	"auto_complete_with_fields": true,
	"auto_indent": true,
	"auto_match_enabled": false,

This is my User.sublime-keymap file:
[
    { "keys": ["ctrl+k", "ctrl+8"], "command": "stickysearch", "args": {"op" : "set"} },
    { "keys": ["ctrl+shift+8"], "command": "stickysearch", "args": {"op" : "add"} },
    { "keys": ["ctrl+k", "ctrl+7"], "command": "stickysearch", "args": {"op" : "clear"} },

    { "keys": ["ctrl+k", "ctrl+h"], "command": "highlight_words" },
    { "keys": ["ctrl+k", "ctrl+i"], "command": "unhighlight_words" },

    { "keys": ["ctrl+alt+c"], "command": "ansi_color_build", "args": {"kill": true} },
    { "keys": ["ctrl+shift+n"], "command": "new_window" },
    { "keys": ["ctrl+shift+w"], "command": "close_window" },
    { "keys": ["ctrl+o"], "command": "prompt_open_file" },
    { "keys": ["ctrl+shift+t"], "command": "reopen_last_file" },

    { "keys": ["alt+o"], "command": "switch_file", "args":
        {
            "extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "hh", "h", "ipp", "inl", "m", "mm"]
        }
    },

    { "keys": ["enter"], "command": "jsdocs", "context":
        [
            { "key": "setting.auto_indent",   "operator": "equal",          "operand": true,                        "match_all": true },
            { "key": "selection_empty",       "operator": "equal",          "operand": true,                        "match_all": true },
            { "key": "auto_complete_visible", "operator": "equal",          "operand": false,                       "match_all": true },
            { "key": "preceding_text",        "operator": "regex_contains", "operand": "^\\s*(\\/\\*|###)[*!]\\s*$", "match_all": true }
        ]
    },

    { "keys": ["ctrl+f10"], "command": "distraction_free_window" },
    { "keys": ["ctrl+f11"], "command": "max_pane" },
    { "keys": ["ctrl+k","ctrl+right"], "command": "shift_pane" },
    { "keys": ["ctrl+k","ctrl+left"], "command": "unshift_pane" },

    { "keys": ["ctrl+n"], "command": "new_file" },
    { "keys": ["ctrl+s"], "command": "save" },
    { "keys": ["ctrl+shift+s"], "command": "prompt_save_as" },
    { "keys": ["ctrl+f4"], "command": "close_file" },
    { "keys": ["ctrl+w"], "command": "close" },

    { "keys": ["ctrl+k", "ctrl+b"], "command": "toggle_side_bar" },
    { "keys": ["f11"], "command": "toggle_full_screen" },
    { "keys": ["shift+f11"], "command": "toggle_distraction_free" },

    { "keys": ["backspace"], "command": "hungry_backspace" },
    { "keys": ["shift+backspace"], "command": "left_delete" },
    { "keys": ["delete"], "command": "right_delete" },
    { "keys": ["enter"], "command": "insert", "args": {"characters": "\n"} },
    { "keys": ["shift+enter"], "command": "insert", "args": {"characters": "\n"} },

    { "keys": ["ctrl+z"], "command": "undo" },
    { "keys": ["ctrl+y"], "command": "redo" },
    { "keys": ["ctrl+shift+z"], "command": "redo_or_repeat" },
    { "keys": ["ctrl+u"], "command": "soft_undo" },
    { "keys": ["ctrl+shift+u"], "command": "soft_redo" },

    { "keys": ["shift+delete"], "command": "cut" },
    { "keys": ["ctrl+insert"], "command": "copy" },
    { "keys": ["shift+insert"], "command": "paste" },
    { "keys": ["ctrl+x"], "command": "cut" },
    { "keys": ["ctrl+c"], "command": "copy" },
    { "keys": ["ctrl+v"], "command": "paste" },
    { "keys": ["ctrl+shift+v"], "command": "paste_and_indent" },
    { "keys": ["ctrl+k", "ctrl+v"], "command": "paste_from_history" },

    { "keys": ["left"], "command": "move", "args": {"by": "characters", "forward": false} },
    { "keys": ["right"], "command": "move", "args": {"by": "characters", "forward": true} },
    { "keys": ["up"], "command": "move", "args": {"by": "lines", "forward": false} },
    { "keys": ["down"], "command": "move", "args": {"by": "lines", "forward": true} },
    { "keys": ["shift+left"], "command": "move", "args": {"by": "characters", "forward": false, "extend": true} },
    { "keys": ["shift+right"], "command": "move", "args": {"by": "characters", "forward": true, "extend": true} },
    { "keys": ["shift+up"], "command": "move", "args": {"by": "lines", "forward": false, "extend": true} },
    { "keys": ["shift+down"], "command": "move", "args": {"by": "lines", "forward": true, "extend": true} },

    { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} },
    { "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true} },
    { "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} },
    { "keys": ["ctrl+shift+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} },

    { "keys": ["alt+left"], "command": "move", "args": {"by": "subwords", "forward": false} },
    { "keys": ["alt+right"], "command": "move", "args": {"by": "subword_ends", "forward": true} },
    { "keys": ["alt+shift+left"], "command": "move", "args": {"by": "subwords", "forward": false, "extend": true} },
    { "keys": ["alt+shift+right"], "command": "move", "args": {"by": "subword_ends", "forward": true, "extend": true} },

    { "keys": ["ctrl+alt+up"], "command": "select_lines", "args": {"forward": false} },
    { "keys": ["ctrl+alt+down"], "command": "select_lines", "args": {"forward": true} },

    { "keys": ["pageup"], "command": "move", "args": {"by": "pages", "forward": false} },
    { "keys": ["pagedown"], "command": "move", "args": {"by": "pages", "forward": true} },
    { "keys": ["shift+pageup"], "command": "move", "args": {"by": "pages", "forward": false, "extend": true} },
    { "keys": ["shift+pagedown"], "command": "move", "args": {"by": "pages", "forward": true, "extend": true} },

    { "keys": ["home"], "command": "move_to", "args": {"to": "bol", "extend": false} },
    { "keys": ["end"], "command": "move_to", "args": {"to": "eol", "extend": false} },
    { "keys": ["shift+home"], "command": "move_to", "args": {"to": "bol", "extend": true} },
    { "keys": ["shift+end"], "command": "move_to", "args": {"to": "eol", "extend": true} },
    { "keys": ["ctrl+home"], "command": "move_to", "args": {"to": "bof", "extend": false} },
    { "keys": ["ctrl+end"], "command": "move_to", "args": {"to": "eof", "extend": false} },
    { "keys": ["ctrl+shift+home"], "command": "move_to", "args": {"to": "bof", "extend": true} },
    { "keys": ["ctrl+shift+end"], "command": "move_to", "args": {"to": "eof", "extend": true} },

    { "keys": ["ctrl+up"], "command": "scroll_lines", "args": {"amount": 1.0 } },
    { "keys": ["ctrl+down"], "command": "scroll_lines", "args": {"amount": -1.0 } },

    { "keys": ["ctrl+pagedown"], "command": "next_view" },
    { "keys": ["ctrl+pageup"], "command": "prev_view" },

    { "keys": ["ctrl+alt+tab"], "command": "extended_switcher", "args": {"list_mode": "window"} },
    { "keys": ["ctrl+shift+tab"], "command": "extended_switcher", "args": {"list_mode": "active_group"} },

    { "keys": ["ctrl+tab"], "command": "next_view_in_stack" },
    { "keys": ["ctrl+alt+shift+tab"], "command": "prev_view_in_stack" },

    { "keys": ["ctrl+a"], "command": "select_all" },
    { "keys": ["ctrl+shift+l"], "command": "split_selection_into_lines" },
    { "keys": ["escape"], "command": "single_selection", "context":
        [
            { "key": "num_selections", "operator": "not_equal", "operand": 1 }
        ]
    },
    { "keys": ["escape"], "command": "clear_fields", "context":
        [
            { "key": "has_next_field", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["escape"], "command": "clear_fields", "context":
        [
            { "key": "has_prev_field", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["escape"], "command": "hide_panel", "args": {"cancel": true},
        "context":
        [
            { "key": "panel_visible", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["escape"], "command": "hide_overlay", "context":
        [
            { "key": "overlay_visible", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["escape"], "command": "hide_popup", "context":
        [
            { "key": "popup_visible", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["escape"], "command": "hide_auto_complete", "context":
        [
            { "key": "auto_complete_visible", "operator": "equal", "operand": true }
        ]
    },

    { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": true} },
    { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": false},
        "context":
        [
            { "key": "setting.tab_completion", "operator": "equal", "operand": true },
            { "key": "preceding_text", "operator": "not_regex_match", "operand": ".*\\b[0-9]+$", "match_all": true },
        ]
    },
    { "keys": ["tab"], "command": "replace_completion_with_next_completion", "context":
        [
            { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" },
            { "key": "setting.tab_completion", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["tab"], "command": "reindent", "context":
        [
            { "key": "setting.auto_indent", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "preceding_text", "operator": "regex_match", "operand": "^$", "match_all": true },
            { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true }
        ]
    },
    { "keys": ["tab"], "command": "indent", "context":
        [
            { "key": "text", "operator": "regex_contains", "operand": "\n" }
        ]
    },
    { "keys": ["tab"], "command": "next_field", "context":
        [
            { "key": "has_next_field", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["tab"], "command": "commit_completion", "context":
        [
            { "key": "auto_complete_visible" },
            { "key": "setting.auto_complete_commit_on_tab" }
        ]
    },

    { "keys": ["shift+tab"], "command": "insert", "args": {"characters": "\t"} },
    { "keys": ["shift+tab"], "command": "unindent", "context":
        [
            { "key": "setting.shift_tab_unindent", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["shift+tab"], "command": "unindent", "context":
        [
            { "key": "preceding_text", "operator": "regex_match", "operand": "^[\t ]*" }
        ]
    },
    { "keys": ["shift+tab"], "command": "unindent", "context":
        [
            { "key": "text", "operator": "regex_contains", "operand": "\n" }
        ]
    },
    { "keys": ["shift+tab"], "command": "prev_field", "context":
        [
            { "key": "has_prev_field", "operator": "equal", "operand": true }
        ]
    },

    { "keys": ["ctrl+]"], "command": "indent" },
    { "keys": ["ctrl+["], "command": "unindent" },

    { "keys": ["insert"], "command": "toggle_overwrite" },

    { "keys": ["ctrl+l"], "command": "expand_selection", "args": {"to": "line"} },
    { "keys": ["ctrl+d"], "command": "find_under_expand" },
    { "keys": ["ctrl+k", "ctrl+d"], "command": "find_under_expand_skip" },
    { "keys": ["ctrl+shift+space"], "command": "expand_selection", "args": {"to": "scope"} },
    { "keys": ["ctrl+shift+m"], "command": "expand_selection", "args": {"to": "brackets"} },
    { "keys": ["ctrl+m"], "command": "move_to", "args": {"to": "brackets"} },
    { "keys": ["ctrl+shift+j"], "command": "expand_selection", "args": {"to": "indentation"} },
    { "keys": ["ctrl+shift+a"], "command": "expand_selection", "args": {"to": "tag"} },

    { "keys": ["alt+."], "command": "close_tag" },

    { "keys": ["ctrl+q"], "command": "toggle_record_macro" },
    { "keys": ["ctrl+shift+q"], "command": "run_macro" },

    { "keys": ["ctrl+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line.sublime-macro"} },
    { "keys": ["ctrl+shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line Before.sublime-macro"} },
    { "keys": ["enter"], "command": "commit_completion", "context":
        [
            { "key": "auto_complete_visible" },
            { "key": "setting.auto_complete_commit_on_tab", "operand": false }
        ]
    },

    { "keys": ["ctrl+p"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} },
    { "keys": ["ctrl+shift+p"], "command": "show_overlay", "args": {"overlay": "command_palette"} },
    { "keys": ["ctrl+r"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} },
    { "keys": ["ctrl+g"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} },
    { "keys": ["ctrl+;"], "command": "show_overlay", "args": {"overlay": "goto", "text": "#"} },
    { "keys": ["f12"], "command": "goto_definition" },
    { "keys": ["ctrl+shift+r"], "command": "goto_symbol_in_project" },
    { "keys": ["alt+keypad_minus"], "command": "jump_back" },
    { "keys": ["alt+shift+keypad_minus"], "command": "jump_forward" },
    { "keys": ["alt+-"], "command": "jump_back" },
    { "keys": ["alt+shift+-"], "command": "jump_forward" },

    { "keys": ["ctrl+i"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse": false} },
    { "keys": ["ctrl+shift+i"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse": true} },
    { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "find", "reverse": false} },
    { "keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "replace", "reverse": false} },
    { "keys": ["ctrl+shift+h"], "command": "replace_next" },
    { "keys": ["f3"], "command": "find_next" },
    { "keys": ["shift+f3"], "command": "find_prev" },
    { "keys": ["ctrl+f3"], "command": "find_under" },
    { "keys": ["ctrl+shift+f3"], "command": "find_under_prev" },
    { "keys": ["alt+f3"], "command": "find_all_under" },
    { "keys": ["ctrl+e"], "command": "slurp_find_string" },
    { "keys": ["ctrl+shift+e"], "command": "slurp_replace_string" },
    { "keys": ["ctrl+shift+f"], "command": "show_panel", "args": {"panel": "find_in_files"} },
    { "keys": ["f4"], "command": "next_result" },
    { "keys": ["shift+f4"], "command": "prev_result" },

    { "keys": ["f6"], "command": "toggle_setting", "args": {"setting": "spell_check"} },
    { "keys": ["ctrl+f6"], "command": "next_misspelling" },
    { "keys": ["ctrl+shift+f6"], "command": "prev_misspelling" },

    { "keys": ["ctrl+shift+up"], "command": "swap_line_up" },
    { "keys": ["ctrl+shift+down"], "command": "swap_line_down" },

    { "keys": ["ctrl+backspace"], "command": "delete_word", "args": { "forward": false } },
    { "keys": ["ctrl+shift+backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"} },

    { "keys": ["ctrl+delete"], "command": "delete_word", "args": { "forward": true } },
    { "keys": ["ctrl+shift+delete"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"} },

    { "keys": ["ctrl+keypad_divide"], "command": "toggle_comment", "args": { "block": false } },
    { "keys": ["ctrl+shift+keypad_divide"], "command": "toggle_comment", "args": { "block": true } },

    { "keys": ["ctrl+j"], "command": "join_lines" },
    { "keys": ["ctrl+shift+d"], "command": "duplicate_line" },

    { "keys": ["ctrl+'"], "command": "show_panel", "args": {"panel": "console", "toggle": true} },

    { "keys": ["ctrl+space"], "command": "auto_complete" },
    { "keys": ["ctrl+space"], "command": "replace_completion_with_auto_complete", "context":
        [
            { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" },
            { "key": "auto_complete_visible", "operator": "equal", "operand": false },
            { "key": "setting.tab_completion", "operator": "equal", "operand": true }
        ]
    },

    { "keys": ["ctrl+alt+shift+p"], "command": "show_scope_name" },

    { "keys": ["ctrl+b"], "command": "build", "context":
        [
            {"key": "build_fake", "operator":"equal", "operand":true}
        ]
    },

    { "keys": ["ctrl+f7"], "command": "build" },

    { "keys": ["f7"], "command": "show_panel", "args": {"panel": "output.exec"} },
    { "keys": ["f7"], "command": "build", "context":
        [
          { "key": "panel", "operand": "output.exec" }
        ]
    },

    { "keys": ["ctrl+b"], "command": "build", "context":
        [ { "key": "build_fake", "operator":"equal", "operand":true } ]
    },
    { "keys": ["ctrl+break"], "command": "exec", "args": {"kill": true} },
    { "keys": ["ctrl+shift+c"], "command": "ansi_color_build", "args": {"kill": true} },
    { "keys": ["ctrl+shift+b"], "command": "build", "args": {"select": true} },

    { "keys": ["ctrl+t"], "command": "transpose" },

    { "keys": ["f9"], "command": "sort_lines", "args": {"case_sensitive": false} },
    { "keys": ["ctrl+f9"], "command": "sort_lines", "args": {"case_sensitive": true} },

    // Auto-pair quotes
    { "keys": ["\""], "command": "insert_snippet", "args": {"contents": "\"$0\""}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|>|$)", "match_all": true },
            { "key": "preceding_text", "operator": "not_regex_contains", "operand": "[\"a-zA-Z0-9_]$", "match_all": true },
            { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true }
        ]
    },
    { "keys": ["\""], "command": "insert_snippet", "args": {"contents": "\"${0:$SELECTION}\""}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
        ]
    },
    { "keys": ["\""], "command": "move", "args": {"by": "characters", "forward": true}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\"", "match_all": true },
            { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true },
            { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true },
        ]
    },
    { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "preceding_text", "operator": "regex_contains", "operand": "\"$", "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\"", "match_all": true },
            { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true },
            { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true },
        ]
    },

    // Auto-pair single quotes
    { "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'$0'"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|>|$)", "match_all": true },
            { "key": "preceding_text", "operator": "not_regex_contains", "operand": "['a-zA-Z0-9_]$", "match_all": true },
            { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true }
        ]
    },
    { "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'${0:$SELECTION}'"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
        ]
    },
    { "keys": ["'"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true },
            { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true },
            { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true },
        ]
    },
    { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "preceding_text", "operator": "regex_contains", "operand": "'$", "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true },
            { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true },
            { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single - punctuation.definition.string.end", "match_all": true },
        ]
    },

    // Auto-pair brackets
    { "keys": ["("], "command": "insert_snippet", "args": {"contents": "($0)"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true }
        ]
    },
    { "keys": ["("], "command": "insert_snippet", "args": {"contents": "(${0:$SELECTION})"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
        ]
    },
    { "keys": [")"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true }
        ]
    },
    { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "preceding_text", "operator": "regex_contains", "operand": "\\($", "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true }
        ]
    },

    // Auto-pair square brackets
    { "keys": ["["], "command": "insert_snippet", "args": {"contents": "[$0]"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true }
        ]
    },
    { "keys": ["["], "command": "insert_snippet", "args": {"contents": "[${0:$SELECTION}]"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
        ]
    },
    { "keys": ["]"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\]", "match_all": true }
        ]
    },
    { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "preceding_text", "operator": "regex_contains", "operand": "\\[$", "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\]", "match_all": true }
        ]
    },

    // Auto-pair curly brackets
    { "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{$0}"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|$)", "match_all": true }
        ]
    },
    { "keys": ["{"], "command": "wrap_block", "args": {"begin": "{", "end": "}"}, "context":
        [
            { "key": "indented_block", "match_all": true },
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true },
        ]
    },
    { "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{${0:$SELECTION}}"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
        ]
    },
    { "keys": ["}"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true }
        ]
    },
    { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true }
        ]
    },

    { "keys": ["enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context":
        [
            { "key": "setting.auto_indent", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true }
        ]
    },
    { "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context":
        [
            { "key": "setting.auto_indent", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true }
        ]
    },

    { "keys": ["enter"], "command": "auto_indent_tag", "context":
        [
            { "key": "setting.auto_indent", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "selector", "operator": "equal", "operand": "punctuation.definition.tag.begin", "match_all": true },
            { "key": "preceding_text", "operator": "regex_contains", "operand": ">$", "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^</", "match_all": true },
        ]
    },
    { "keys": ["shift+enter"], "command": "auto_indent_tag", "context":
        [
            { "key": "setting.auto_indent", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "selector", "operator": "equal", "operand": "punctuation.definition.tag.begin", "match_all": true },
            { "key": "preceding_text", "operator": "regex_contains", "operand": ">$", "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^</", "match_all": true },
        ]
    },

    {
        "keys": ["alt+shift+1"],
        "command": "set_layout",
        "args":
        {
            "cols": [0.0, 1.0],
            "rows": [0.0, 1.0],
            "cells": [[0, 0, 1, 1]]
        }
    },
    {
        "keys": ["alt+shift+2"],
        "command": "set_layout",
        "args":
        {
            "cols": [0.0, 0.5, 1.0],
            "rows": [0.0, 1.0],
            "cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
        }
    },
    {
        "keys": ["alt+shift+3"],
        "command": "set_layout",
        "args":
        {
            "cols": [0.0, 0.33, 0.66, 1.0],
            "rows": [0.0, 1.0],
            "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1]]
        }
    },
    {
        "keys": ["alt+shift+4"],
        "command": "set_layout",
        "args":
        {
            "cols": [0.0, 0.25, 0.5, 0.75, 1.0],
            "rows": [0.0, 1.0],
            "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1], [3, 0, 4, 1]]
        }
    },
    {
        "keys": ["alt+shift+8"],
        "command": "set_layout",
        "args":
        {
            "cols": [0.0, 1.0],
            "rows": [0.0, 0.5, 1.0],
            "cells": [[0, 0, 1, 1], [0, 1, 1, 2]]
        }
    },
    {
        "keys": ["alt+shift+9"],
        "command": "set_layout",
        "args":
        {
            "cols": [0.0, 1.0],
            "rows": [0.0, 0.33, 0.66, 1.0],
            "cells": [[0, 0, 1, 1], [0, 1, 1, 2], [0, 2, 1, 3]]
        }
    },
    {
        "keys": ["alt+shift+5"],
        "command": "set_layout",
        "args":
        {
            "cols": [0.0, 0.5, 1.0],
            "rows": [0.0, 0.5, 1.0],
            "cells":
            [
                [0, 0, 1, 1], [1, 0, 2, 1],
                [0, 1, 1, 2], [1, 1, 2, 2]
            ]
        }
    },
    { "keys": ["ctrl+1"], "command": "focus_group", "args": { "group": 0 } },
    { "keys": ["ctrl+2"], "command": "focus_group", "args": { "group": 1 } },
    { "keys": ["ctrl+3"], "command": "focus_group", "args": { "group": 2 } },
    { "keys": ["ctrl+4"], "command": "focus_group", "args": { "group": 3 } },
    { "keys": ["ctrl+5"], "command": "focus_group", "args": { "group": 4 } },
    { "keys": ["ctrl+6"], "command": "focus_group", "args": { "group": 5 } },
    { "keys": ["ctrl+7"], "command": "focus_group", "args": { "group": 6 } },
    { "keys": ["ctrl+8"], "command": "focus_group", "args": { "group": 7 } },
    { "keys": ["ctrl+9"], "command": "focus_group", "args": { "group": 8 } },
    { "keys": ["ctrl+shift+1"], "command": "move_to_group", "args": { "group": 0 } },
    { "keys": ["ctrl+shift+2"], "command": "move_to_group", "args": { "group": 1 } },
    { "keys": ["ctrl+shift+3"], "command": "move_to_group", "args": { "group": 2 } },
    { "keys": ["ctrl+shift+4"], "command": "move_to_group", "args": { "group": 3 } },
    { "keys": ["ctrl+shift+5"], "command": "move_to_group", "args": { "group": 4 } },
    { "keys": ["ctrl+shift+6"], "command": "move_to_group", "args": { "group": 5 } },
    { "keys": ["ctrl+shift+7"], "command": "move_to_group", "args": { "group": 6 } },
    { "keys": ["ctrl+shift+8"], "command": "move_to_group", "args": { "group": 7 } },
    { "keys": ["ctrl+shift+9"], "command": "move_to_group", "args": { "group": 8 } },
    { "keys": ["ctrl+0"], "command": "focus_side_bar" },

    { "keys": ["ctrl+k", "ctrl+up"], "command": "new_pane" },
    { "keys": ["ctrl+k", "ctrl+shift+up"], "command": "new_pane", "args": {"move": false} },
    { "keys": ["ctrl+k", "ctrl+down"], "command": "close_pane" },
    { "keys": ["ctrl+k", "ctrl+left"], "command": "focus_neighboring_group", "args": {"forward": false} },
    { "keys": ["ctrl+k", "ctrl+right"], "command": "focus_neighboring_group" },
    { "keys": ["ctrl+k", "ctrl+shift+left"], "command": "move_to_neighboring_group", "args": {"forward": false} },
    { "keys": ["ctrl+k", "ctrl+shift+right"], "command": "move_to_neighboring_group" },

    { "keys": ["alt+1"], "command": "select_by_index", "args": { "index": 0 } },
    { "keys": ["alt+2"], "command": "select_by_index", "args": { "index": 1 } },
    { "keys": ["alt+3"], "command": "select_by_index", "args": { "index": 2 } },
    { "keys": ["alt+4"], "command": "select_by_index", "args": { "index": 3 } },
    { "keys": ["alt+5"], "command": "select_by_index", "args": { "index": 4 } },
    { "keys": ["alt+6"], "command": "select_by_index", "args": { "index": 5 } },
    { "keys": ["alt+7"], "command": "select_by_index", "args": { "index": 6 } },
    { "keys": ["alt+8"], "command": "select_by_index", "args": { "index": 7 } },
    { "keys": ["alt+9"], "command": "select_by_index", "args": { "index": 8 } },
    { "keys": ["alt+0"], "command": "select_by_index", "args": { "index": 9 } },

    { "keys": ["f2"], "command": "next_bookmark" },
    { "keys": ["shift+f2"], "command": "prev_bookmark" },
    { "keys": ["ctrl+f2"], "command": "toggle_bookmark" },
    { "keys": ["ctrl+shift+f2"], "command": "clear_bookmarks" },
    { "keys": ["alt+f2"], "command": "select_all_bookmarks" },

    { "keys": ["ctrl+shift+k"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} },

    { "keys": ["alt+q"], "command": "wrap_lines" },

    { "keys": ["ctrl+k", "ctrl+u"], "command": "upper_case" },
    { "keys": ["ctrl+k", "ctrl+l"], "command": "lower_case" },

    { "keys": ["ctrl+k", "ctrl+space"], "command": "set_mark" },
    { "keys": ["ctrl+k", "ctrl+a"], "command": "select_to_mark" },
    { "keys": ["ctrl+k", "ctrl+w"], "command": "delete_to_mark" },
    { "keys": ["ctrl+k", "ctrl+x"], "command": "swap_with_mark" },
    { "keys": ["ctrl+k", "ctrl+y"], "command": "yank" },
    { "keys": ["ctrl+k", "ctrl+k"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"} },
    { "keys": ["ctrl+k", "ctrl+backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"} },
    { "keys": ["ctrl+k", "ctrl+g"], "command": "clear_bookmarks", "args": {"name": "mark"} },
    { "keys": ["ctrl+k", "ctrl+c"], "command": "show_at_center" },

    { "keys": ["ctrl++"], "command": "increase_font_size" },
    { "keys": ["ctrl+="], "command": "increase_font_size" },
    { "keys": ["ctrl+keypad_plus"], "command": "increase_font_size" },
    { "keys": ["ctrl+-"], "command": "decrease_font_size" },
    { "keys": ["ctrl+keypad_minus"], "command": "decrease_font_size" },

    { "keys": ["ctrl+equals"], "command": "increase_font_size" },
    { "keys": ["ctrl+shift+equals"], "command": "decrease_font_size" },
    { "keys": ["ctrl+shift+keypad_plus"], "command": "decrease_font_size" },

    { "keys": ["alt+shift+w"], "command": "insert_snippet", "args": { "name": "Packages/XML/Snippets/long-tag.sublime-snippet" } },

    { "keys": ["ctrl+shift+["], "command": "fold" },
    { "keys": ["ctrl+shift+]"], "command": "unfold" },
    { "keys": ["ctrl+k", "ctrl+0"], "command": "unfold_all" },
    { "keys": ["ctrl+k", "ctrl+j"], "command": "unfold_all" },
    { "keys": ["ctrl+k", "ctrl+t"], "command": "fold_tag_attributes" },

    { "keys": ["context_menu"], "command": "context_menu" },

    { "keys": ["alt+c"], "command": "toggle_case_sensitive", "context":
        [
            { "key": "setting.is_widget", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["alt+r"], "command": "toggle_regex", "context":
        [
            { "key": "setting.is_widget", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["alt+w"], "command": "toggle_whole_word", "context":
        [
            { "key": "setting.is_widget", "operator": "equal", "operand": true }
        ]
    },
    { "keys": ["alt+a"], "command": "toggle_preserve_case", "context":
        [
            { "key": "setting.is_widget", "operator": "equal", "operand": true }
        ]
    },

    // Find panel key bindings
    { "keys": ["enter"], "command": "find_next", "context":
        [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
    },
    { "keys": ["shift+enter"], "command": "find_prev", "context":
        [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
    },
    { "keys": ["alt+enter"], "command": "find_all", "args": {"close_panel": true},
         "context": [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
    },

    // Sublime Column Select, https://github.com/ehuss/Sublime-Column-Select
    { "keys": ["shift+alt+up"], "command": "column_select", "args": {"by": "lines", "forward": false}},
    { "keys": ["shift+alt+down"], "command": "column_select", "args": {"by": "lines", "forward": true}},
    { "keys": ["shift+alt+pageup"], "command": "column_select", "args": {"by": "pages", "forward": false}},
    { "keys": ["shift+alt+pagedown"], "command": "column_select", "args": {"by": "pages", "forward": true}},
    { "keys": ["shift+alt+home"], "command": "column_select", "args": {"by": "all", "forward": false}},
    { "keys": ["shift+alt+end"], "command": "column_select", "args": {"by": "all", "forward": true}},

    // Replace panel key bindings
    { "keys": ["enter"], "command": "find_next", "context":
        [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}]
    },
    { "keys": ["shift+enter"], "command": "find_prev", "context":
        [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}]
    },
    { "keys": ["alt+enter"], "command": "find_all", "args": {"close_panel": true},
        "context": [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}]
    },
    { "keys": ["ctrl+alt+enter"], "command": "replace_all", "args": {"close_panel": true},
         "context": [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}]
    },

    // Incremental find panel key bindings
    { "keys": ["enter"], "command": "hide_panel", "context":
        [{"key": "panel", "operand": "incremental_find"}, {"key": "panel_has_focus"}]
    },
    { "keys": ["shift+enter"], "command": "find_prev", "context":
        [{"key": "panel", "operand": "incremental_find"}, {"key": "panel_has_focus"}]
    },
    { "keys": ["alt+enter"], "command": "find_all", "args": {"close_panel": true},
        "context": [{"key": "panel", "operand": "incremental_find"}, {"key": "panel_has_focus"}]
    },

    // HTML, XML close tag
    { "keys": ["/"], "command": "close_tag", "args": { "insert_slash": true }, "context":
        [
            { "key": "selector", "operator": "equal", "operand": "(text.html, text.xml) - string - comment", "match_all": true },
            { "key": "preceding_text", "operator": "regex_match", "operand": ".*<$", "match_all": true },
            { "key": "setting.auto_close_tags" }
        ]
    }
]

The stack trace there shows some line numbers and code which don't align with the current version of DocBlockr. Are you up to date? If you open the jsdocs.py file (path is in your stack trace) the version at the top should read 2.13.3.

Note: your auto indent setting: "autoIndent": true should be "auto_indent": true.

It says: DocBlockr v2.14.1

Wow, i dunno where I got 2.14.1 from... weird.
In that stack trace it shows this line of code:
print( 'getParser: ' + scope + res + sourceLang + viewSettings )

however I don't see that in my source anywhere. Do you know where it came from? It looks like it might be the source of the bug, since it's trying to convert something to a string to print it.

Yeah, that is it. Why there is a print on the final code? Just apply the str( ) operator to it.
print( 'getParser: ' + str( scope ) + str( res ) + str( sourceLang ) + str( viewSettings ) )

I can't find that print statement anywhere is the repository at all.

Sorry, I found it on my repository. I a long time ago, I putted it there. Now It is almost working.
When I do /* and press enter:

Now when I do /** and press enter, it does nothing. The debugging output is:
key evt: keypad_divide
chr evt: / (0x2f)
key evt: keypad_multiply
chr evt: * (0x2a)
key evt: keypad_multiply
chr evt: * (0x2a)
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs

The leading asterisk is only added to subsequent lines when you open the block with /**. It does look a little buggy that it keeps adding */ closing marks, but it's not entirely unexpected.
For example:
/*
foo
bar
baz
*/

If you press enter after the opening /* you'd expect it to not add the closer, right? But what about this code?
/*
foo
bar
/*
baz
*/

Ok them, now there is only one problem.

Now when I do /** and press enter, it does nothing. The debugging output is:

key evt: keypad_divide
chr evt: / (0x2f)
key evt: keypad_multiply
chr evt: * (0x2a)
key evt: keypad_multiply
chr evt: * (0x2a)
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs
key evt: enter
command: jsdocs

I just tried again and it worked 👍

authors: evandrocoan gerardroche spadgos

repo: spadgos/sublime-jsdocs


text:
Problem do login

I trying open this file ftp://ftp.cetip.com.br/MediaCDI/20170420.txt
`            using (var ftpClient = new FtpClient(new FtpClientConfiguration
{
Host = "ftp://ftp.cetip.com.br/"
}))
{
await ftpClient.LoginAsync();   // exception
var files = await ftpClient.ListFilesAsync();
            await ftpClient.OpenFileReadStreamAsync("MediaCDI/20170420.txt");
        }

`
what is problem of my code?

The host of a server does not include a scheme - drop the ftp:// from your URI.

Host = "ftp.cetip.com.br/" ?
Continue not working, you got the file?

No slashes necessary - it is a hostname, not a URI :)

Thank you guy, work perfect.

source: gharchive/issue

license: mit

license_type: permissive

license_source: bigquery


text:
Sparrow unable to run hwi under Linux

After clicking [Scan...] on the "Connected Hardware Wallets" tab I get:
java.io.IOException: cannot run program "/tmp/hwi-2.0.0-rc....
This happens with both running as a user and as root.
I can successfully run /tmp/hwi-2.0.0-rc... manually. I used it to installudevrules, enumerate connected wallets, pair BitBox02 etc. So the executable dumped by Sparrow in /tmp/ does work.
It is calling it from Sparrow that does not work, consistently.
I am running the most recent version 1.3. However this is not a new bug. I had it the same weeks ago.

Is there any more information in the lines below that java.io.IOException? It would be helpful to see the full exception logging.

Unfortunately, there are no more exception details. This exception is not logged to the console. It is only shown in the GUI, without the stacktrace or any details.

Good point, I've committed a minor change that should add logging should enumerate fail. I assume you're running from source - can you give it a try?

I was running the official release 1.3.0.
I did build from the source now.
Surprise: it does work from source! While it continues to not work when I run official release. Same machine, same Java version.
From source it works well with both ./sparrow and build/jpackage/Sparrow/bin/Sparrow.

Ok, it might be something to do with the release building process.
I've created a standard release build using the current master branch. You can find it here: https://github.com/craigraw/webcam-tester/releases/tag/1.3.0-test
Inside it, you should find a comparable install to the one you used to install the the official release. If it fails again, we will at least have exception logging.

Thanks! I have ran your test build and indeed we now have a full exception on the console:
2021-03-13 10:55:05,208 ERROR Error executing hwi-2.0.0-rc.3
java.io.IOException: Cannot run program "/tmp/hwi-2.0.0-rc.3116588634363940435.tmp": error=13, Permission denied
	at java.base/java.lang.ProcessBuilder.start(Unknown Source)
	at java.base/java.lang.ProcessBuilder.start(Unknown Source)
	at com.sparrowwallet.sparrow@1.3.0/com.sparrowwallet.sparrow.io.Hwi.execute(Unknown Source)
	at com.sparrowwallet.sparrow@1.3.0/com.sparrowwallet.sparrow.io.Hwi.enumerate(Unknown Source)
	at com.sparrowwallet.sparrow@1.3.0/com.sparrowwallet.sparrow.io.Hwi$ScheduledEnumerateService$1.call(Unknown Source)
	at com.sparrowwallet.sparrow@1.3.0/com.sparrowwallet.sparrow.io.Hwi$ScheduledEnumerateService$1.call(Unknown Source)
	at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$6(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at javafx.graphics/javafx.concurrent.Service.lambda$executeTask$7(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: error=13, Permission denied
	at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
	at java.base/java.lang.ProcessImpl.<init>(Unknown Source)
	at java.base/java.lang.ProcessImpl.start(Unknown Source)
	... 14 common frames omitted

The user Sparrow runs on is the default user 1000:1000:
[user@host ~]$ ps aux | grep arrow
user        2016  6.8  4.1 9275176 680920 pts/0  Sl+  10:47   0:20 ./Sparrow/bin/Sparrow

The permissions of the hwi executable seem fine:
[user@host ~]$ ls -lha /tmp/ | grep hwi
-rwxr--r--  1 user user  16M Mar 13 10:58 hwi-2.0.0-rc.311842942237293761343.tmp

In fact even when I run Sparrow as root, I get the very same exception.

I wonder if it would work if the hwi executable had file permissions of executable to all users?

I wonder if it would work if the hwi executable had file permissions of executable to all users?

Impossible to verify because Sparrow drops a new file every time the [Scan...] is clicked.
But honestly I highly doubt it would help - it doesn't work even when Sparrow is being run as root.
Maybe it's something JRE specific like security policy profile / settings?

Figured it out - executable file permissions were being lost during the build process. The bug is solved by running:
chmod 775 Sparrow/lib/runtime/lib/jspawnhelper

Would be great if you can verify. I've added this command to the build process for future.

After running the command you mentioned the issue is fixed.
Thanks so much!

authors: craigraw qertoip

repo: sparrowwallet/sparrow

license_source: github-api


text:
logUnguarded() does not respect Model::unguard()

Describe the bug
logUnguarded() works provided that $guarded is set explicitly in the model. If it is not set explicitly but globally set, say in AppServiceProvider using Model::unguard(); then nothing is logged.
To Reproduce

remove $fillable and $guarded from a model that use uses LogsActivity
call Model::unguard(); in AppServiceProvider in the boot method
set

    public function getActivitylogOptions() : LogOptions
    {
        return LogOptions::defaults()->logUnguarded();
    }

Make some changes to a model and save them

Expected behavior
Some changed properties should be logged but none are
Versions (please complete the following information)

PHP: 8.1
Database: MySql
Laravel: 9.38
Package: larvel-activitylog

@colinmackinlay Can you try the fix from #1157 and confirm if it works.

repo: spatie/laravel-activitylog

license: MIT


text:
Recursion on setting referenced

I have a webPage schema, I have a product schema. I set mainEntityOfPage of the product schema to the webPage schema via referenced method. I set the about property of the webPage schema to the product via referenced method. Recursion. Infinite loop. SegFault. 256 function calls.
 $productSchema->mainEntityOfPage($itemPage->referenced());
 $itemPage->about($productSchema->referenced());

I understand why this is happening but literally I just want it to link to each other via the graph.

try reference only one of connections above

repo: spatie/schema-org


text:
Implemented fixtures for tests on the prototype spdx3

Analogous to the fixtures in spdx 2.x we also needed to use fixtures for the tests of the prototyped model.

Thanks for your work on this @HarshvMahawar!

source: gharchive/pull-request

authors: HarshvMahawar meretp

repo: spdx/tools-python


text:
weird passing of aiohttp middlewares no more needed

Description
As of #1173 , the middlewares can be passed to aiohttp via the server_args parameter. Messing them with the connexion options is therefore no more needed.
Expected behaviour
    app = connexion.AioHttpApp(
        __name__,
        port=8080,
        specification_dir='.',
        server_args={"middlewares": [add_uuid]},
    )

Actual behaviour
    app = connexion.AioHttpApp(
        __name__,
        port=8080,
        specification_dir='.',
        options={"middlewares": [add_uuid]},
    )

Additional info:
These lines can be therefore removed:
https://github.com/zalando/connexion/blob/master/connexion/apis/aiohttp_api.py#L105-L106
Output of the commands:

python --version Python 3.8.2
pip show connexion | grep "^Version\:" Version: 2020.0.dev1

Outdated since #1491

repo: spec-first/connexion


text:
Keyboard accessibility issue

refiled form https://github.com/w3c/csswg-drafts/issues/1925

the "asides" rendered as tooltips (see for instance the "all", "print", "screen", "speech" in https://www.w3.org/TR/mediaqueries-4/#media-types) cannot be triggered using the keyboard.

Specifically, the problematic <aside>s here are the dfn-panels that appear when you click on a <dfn>?

I'm thinking the display of these asides should be integrated with the link hints that I am working on.  This means we would convert the dfn-paneled element to an anchor, which could then be focused on normally, by mouse or keyboard.  The aside panel could then be used as the tooltip, probably with a style that is more like the tooltip style I am using.
Actually, this change could happen before all the rest of the link hints changes.

The problem, ultimately, is that the popups need to be some sort of block element (aside is the most appropriate) but the HTML parser auto-closes p upon seeing them, so it's simply not possible to statically put them in the correct place for keyboard accessibility.
...tho now that I type that out, I realize we could absolutely move them there with JS on page load.

authors: dlaliberte frivoal jyasskin tabatkins

repo: speced/bikeshed


text:
Manage dependencies clash with gql, request-toolbelt and urllib3

Example user issue: https://speckle.community/t/unable-to-install-speckle-qgis-on-m1-mac/5810/6
Cause:
The latest releases of the two libraries (request-toolbelt and urllib3) are incompatible, as reported here https://stackoverflow.com/a/76177575
gql library that specklepy is using is relying on requests and requests-toolbelt.
Although universal python installer ensures specific version of every module (e.g. urllib3<=1.26.16), some software (e.g. QGIS) imports request library from the original Python setup (probably imported before Speckle connector is loaded) with possibly incompatible version.
To do:
Look into the use of gql module relying on request-toolbelt, which is then relying on urllib3.

More details:

gql library fixed the issue by restricting to urllib3<2.0
request-toolbelt released 1.0.0 to support urllib 2.x

Closing this ticket as we are moving to Jira to reduce noise. You can access it there.

authors: KatKatKateryna bimgeek

repo: specklesystems/specklepy


text:
Enhancement - Migrating to Net Core for supporting Revit 2025

Prerequisites

[x] I read the contribution guidelines
[x] I checked the documentation and found no answer.
[x] I checked existing issues and found no similar issue.
[x] I checked the community forum for related discussions and found no answer.
[x] I'm requesting the feature to the correct repository (see also speckle-server, speckle-sharp, specklepy, speckle-docs, and others)

What package are you referring to?
xUnitRevit

Is your feature request related to a problem? Please describe.
Simply make xUnitRevit support Revit 2025. That would be a huge benefit to all Revit 2025 addin developers.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

Related issues or community discussions
https://speckle.community/t/does-xunitrevit-support-revit-2025-api-or-net-8-upgrade/10501

Adding a comment just to nudge this request, would be incredibly helpful! Currently unable to test our 2025 addin.

Bump! Would like to also test our 2025 addin

authors: phat-hongTran shiruken1 tnmarch

repo: specklesystems/xUnitRevit


text:
Cache collections

Now only single-element collections are cached.
Ideally, we'd cache tuples. Needs benchmarking if that's fast creating tuples.

tuplerone or other composite keys to the rescue.
Basically, we must cache composite key, since collections are snapshots.

No caching needed since collections aren't used.

repo: spectjs/spect


text:
Custom HelpProvider is being overridden by the default HelpProvider

Information

OS: [eg Windows]
Version: git(main)
Terminal: [e.g Windows Terminal]

Describe the bug
Can not register a Custom HelpProvider when using Microsoft.Extensions.DependencyInjection & Spectre.Console.Cli.Extensions.DependencyInjection. The default HelpProvider is used in stead of
the custom help provider.
My guess is, that the following line is overriding the HelpProvider.
https://github.com/spectreconsole/spectre.console/blob/131b37fff858f8d5dd483ff369bb3d43a07c1e08/src/Spectre.Console.Cli/Internal/CommandExecutor.cs#L27
To Reproduce
Steps to reproduce the behavior.
I installed these two nuget packages:

Microsoft.Extensions.DependencyInjection
Spectre.Console.Cli.Extensions.DependencyInjection

and modified the test Should_Output_Custom_Help_When_Registered_By_Instance to use
[Fact]
[Expectation("Custom_Help_Registered_By_Instance")]
public Task Should_Output_Custom_Help_When_Registered_By_Instance()
{
    var services = new ServiceCollection();
    var registrar = new DependencyInjectionRegistrar(services);

    // Given
    var fixture = new CommandAppTester(registrar);
    fixture.Configure(configurator =>
    {
        // Create the custom help provider
        var helpProvider = new CustomHelpProvider(configurator.Settings, "1.0");

        // Register the custom help provider instance
        registrar.RegisterInstance(typeof(IHelpProvider), helpProvider);

        configurator.SetApplicationName("myapp");
        configurator.AddCommand<DogCommand>("dog");
    });

    // When
    var result = fixture.Run();

    // Then
    return Verifier.Verify(result.Output);
}

Expected behavior
Custom HelpProvider should be used.
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Closing as duplicate of #1313

authors: kedde nils-a


text:
Add Rune and Int32 overloads.

The Rune.Value property is typed as int so I went with that for the overload instead of uint for consistency. I didn't change the internals, though, as it doesn't really matter and would be pretty noisy.
net5.0 was already in the TFM list, so no changes needed there.
Fixes #2.

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

Merged! Thank you for your contribution. Much appreciated! 👍

@alexrp I've pushed 0.3.0 to NuGet. It should be available shortly once it's been indexed.

Great, thanks!

authors: CLAassistant alexrp patriksvensson

repo: spectreconsole/wcwidth


text:
AttributeError: 'ModuleDict' object has no attribute 'encoder'

When I'm going to evaluate  an  ASR Transformer module trained on AISHELL, an error occurred.
I use the demo command for inference:
from speechbrain.pretrained import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams("/home/nvidia/code/speechbrain-develop/recipes/AISHELL-1/ASR/transformer/results/transformer/xxx")
asr_model.transcribe_file("/home/nvidia/code/speechbrain-develop/recipes/AISHELL-1/ASR/transformer/results/transformer/xxxx/xxx.wav")

Following are ERROR codes:
Traceback (most recent call last):
  File "/home/nvidia/code/speechbrain-develop/infer.py", line 5, in <module>
    asr_model.transcribe_file("/home/nvidia/code/speechbrain-develop/recipes/AISHELL-1/ASR/transformer/results/transformer/xxxx/xxx.wav")
  File "/home/nvidia/code/speechbrain-develop/speechbrain/pretrained/interfaces.py", line 525, in transcribe_file
    predicted_words, predicted_tokens = self.transcribe_batch(
  File "/home/nvidia/code/speechbrain-develop/speechbrain/pretrained/interfaces.py", line 589, in transcribe_batch
    encoder_out = self.encode_batch(wavs, wav_lens)
  File "/home/nvidia/code/speechbrain-develop/speechbrain/pretrained/interfaces.py", line 558, in encode_batch
    encoder_out = mds.encoder(wavs, wav_lens)
  File "/home/nvidia/anaconda2021/envs/centrods/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1185, in __getattr__
    raise AttributeError("'{}' object has no attribute '{}'".format(
AttributeError: 'ModuleDict' object has no attribute 'encoder'

I checked in the interfaces.py:
self.mods = torch.nn.ModuleDict(modules)
...
...
...
encoder_out = self.mods.encoder(wavs, wav_lens)

and could not find function encoder.() in official pytorch "module.py--->torch.nn.ModuleDict()" .
How could I fix this, appreciate for your reply.

Hi, did you follow the tutorial on inference ? If you wish to use the interface, you need to do some processing on your yaml. This is necessary to ensure that exported models are stable, clean and production-ready.

Hello @CaeTism,
is the issue still up?

Hello,
There has been no activity for a very long time. Therefore, I am closing this issue.
Feel free to reopen if needed. Thanks! :)

authors: Adel-Moumen CaeTism TParcollet

repo: speechbrain/speechbrain


text:
unit tests: speedb_db_bloom_filter_test OptimizeFiltersForHits fails

error:
SpdbDBBloomFilterTest.OptimizeFiltersForHits
plugin/speedb/paired_filter/speedb_db_bloom_filter_test.cc:2203: Failure
Expected: (TestGetTickerCount(options, BLOOM_FILTER_USEFUL)) > (65000 * 2), actual: 127982 vs 130000

disabled during rebase on 8.1.1

@Yuval-Ariel I have enabled the test and ran it several times on the latest origin/main and the test passes.
I am enabling it.

authors: Yuval-Ariel udi-speedb

repo: speedb-io/speedb


text:
export default?

@MarcL I'm attempting to call a function in bot.js from another module, it's for the search part of the bot.
I can call the function from withing the bot.js module but when I try move it out into it;s own module and then import to the bot I get an error saying it's not a function, here's a quick overview:
Working
bot.js
import Twiter from 'twitter'
import config from './config'
import {
  getFunName,
  rando
} from './helpers/helpers'
import params from './helpers/parameters'

const client = new Twiter(config.twitter)

const tweetNow = async (txt) => {
  try {
    await client.post('statuses/update', { status: txt })
    console.log(txt)
  } catch (err) {
    console.log(err)
  }
}

// tweetNow(getFunName())

// setInterval(() => tweetNow(getFunName()), 1000 * 60 * 2)

const searchResult = async () => {
  let res
  try {
    res = await client.get('search/tweets', params)
    // const randoUser = rando(res.data.statuses).user.scree_name
    // console.log('rando user = ', randoUser)
  } catch (err) {
    console.log('error = ', err)
  }

  // console.log(JSON.stringify(res))
  console.log(rando(res.statuses).user.screen_name)
  console.log(rando(res.statuses).text)
  console.log(rando(res.statuses).id_str)
}

searchResult()

setInterval(() => searchResult(), 1000 * 60 * 2)

tweetNow(getFunName()) and setInterval(() => which are commented out work I'm just concentrating on setting a search working using the same structure so I can them move it out to another module when finished.
Some terminal output from the above code:

Not working an attempt to make things modular
bot.js
import Twiter from 'twitter'
import config from './config'
import {
  getFunName,
} from './helpers/helpers'
import { searchResult } from './helpers/search'

const client = new Twiter(config.twitter)

const tweetNow = async (txt) => {
  try {
    await client.post('statuses/update', { status: txt })
    console.log(txt)
  } catch (err) {
    console.log(err)
  }
}

// tweetNow(getFunName())

// setInterval(() => tweetNow(getFunName()), 1000 * 60 * 2)

searchResult()

setInterval(() => searchResult(), 1000 * 5)

search.js
import Twiter from 'twitter'
import config from '../config'
import {
  rando
} from './helpers'
import params from './parameters'

const client = new Twiter(config.twitter)

const searchResult = async () => {
  let res
  try {
    res = await client.get('search/tweets', params)
    // const randoUser = rando(res.data.statuses).user.scree_name
    // console.log('rando user = ', randoUser)
  } catch (err) {
    console.log('error = ', err)
  }

  // console.log(JSON.stringify(res))
  console.log(rando(res.statuses).user.screen_name)
  console.log(rando(res.statuses).text)
  console.log(rando(res.statuses).id_str)
}

export default searchResult()

Terminal output from the above code:

So I can use it in bot.js as a function but when I try abstract it out into it's own module it's a no?
Do you have any idea what I'm doing wrong?

You've defined searchResult as a function:
const searchResult = async () => {

But then you're actually executing the function and returning the result of it:
export default searchResult()

Your function doesn't currently return anything so it will return undefined by default. You're then attempting to call undefined as a function, which it's obviously not.
You should just be exporting the function so that you can call it from outside of the module:
export default searchResult;

^ Note: no () after it.
Shout if it's still not clear.

Hey @MarcL, I should have mentioned that I also tried to remove the parenthesis in search.js with the same error before posting this.

I thought it may have been something to do with Babel being a dev dependency not instead of a dependency, I then added the two require into index.js:
require('babel-register')
require('babel-polyfill')

looking at the error message TypeError: (0 , _search.searchResult) is not a function the underscore part is from Babel transpiling it for ES5 syntax correct?
TypeError: (0 , _search.searchResult) is not a function
    at Object.<anonymous> (C:/Users/spenc/gitrepos/twitter-bot-bootstrap/src/bot.js:48:1)
    at Module._compile (module.js:571:32)
    at loader (C:\Users\spenc\gitrepos\twitter-bot-bootstrap\node_modules\babel-register\lib\node.js:144:5)
    at Object.require.extensions.(anonymous function) [as .js] (C:\Users\spenc\gitrepos\twitter-bot-bootstrap\node_modules\babel-register\lib\node.js:154:7)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:/Users/spenc/gitrepos/twitter-bot-bootstrap/src/index.js:3:1)

I'm wondering if I have Babel set up incorrectly I'm confused, because it couldn't possibly be my code, right 😏

Ok no problem. Just relooked.
No, you've not set Babel up incorrectly. You're not quite using import/export correctly.
You've exported searchResult as a default:
export default searchResult; // Definitely without parentheses :)

But then you're importing as a named import:
import {searchResult} from './helpers/search';

But the export means that you're exporting an object with a default property which you'd have to import like this:
import searchResult from './helpers/search'; // No curly brackets

To use the import in the way you currently have it, you'd have to export it named like this:
export {
    searchResult
};

You normally do this when you have multiple functions to export, e.g.
function searchResult() {}
function tweetFunction() {}
function anotherFunction() {}

export {
     searchResult,
     tweetFunction,
     anotherFunction,
};

Make sense?
Imports and export with ES6 are sometimes confusing!

I was right, it wasn't my code at all 😄
jk! I had Babel pointing to the wrong file!! 😅
My dev script
"dev": "nodemon --exec babel-node src/index.js jest --coverage",

Well actually take a look at the git diff on the package.json

Moved all the things!!
Thanks for all your help @MarcL just being able to bounce Ideas off of you has helped me a ton 💯 🥇 👍
Oh, also, check this out:
search.js

^^ as a named export, it works but ESLint doesn't like it, so try as default export? Ok lets try that..
Nope!
Ok, what about as default and as a named export??

Sure that will work just fine...

wtf?
As you can clearly see I really have no idea what I'm doing 😕 😄

OMG!
Thanks for this @MarcL !!
https://github.com/spences10/twitter-bot-bootstrap/issues/37#issuecomment-293812053
Thing is I was just watching the Wes Bos ES6 course on this!!
Ok, changed the import, so it's the default and got rid of the export on searchResult all good now
Thanks again, really appreciate it

No problem. Happy to help.
I can't tell why the exports don't work without seeing the subsequent import I'm afraid.
Depends on the config but ESLint will probably tell you to use default export if you only export one function. See AirBnB ESLint module rules for some info.

Ah - didn't realise you hadn't seen my reply after replying to your additional comment.

I can't tell why the exports don't work without seeing the subsequent import I'm afraid.

It's because I wasn't importing it into bot.js correctly, I removed the curly braces from the import in bot.js as it was a default export and not a named one, then all is good.
This is a pretty big milestone for me @MarcL as I was struggling for weeks on this with that node module testing repo that you kindly had a look at for me all those weeks ago.

No problem. Always happy to help.
For testing your understanding of ES6/JS/modules in general, it might be easier to just to create a simple repo with import / export of simple functions to see how it works. I worry that you're getting bogged down with JS toolchains which can confuse the issue. Just export the classic calculator functions (function add(), function subtract() etc). You'll be able to get simple testing working too.
If you run a later version of node (> 6.4 I think) then you'll have 95% of ES6 functionality so you can avoid the transpile step with Babel. I'd also ignore things like Travis and snyk until you really need them. Otherwise you're adding more complication and more potential for pitfalls.
Have you seen this set of egghead.io videos from Trevor Miller?
Shows a really basic NPM module set up and I think he works through each step really clearly.
https://egghead.io/courses/publish-javascript-packages-on-npm

I worry that you're getting bogged down with JS toolchains which can confuse the issue.

@MarcL completely agree with you, I spent a couple of hours just setting up the tooling alone 😲 I think I set up Travis as part of the commitizen setup, gotta love those wizards 😄
I thought it best that I get familiar with working with all of the tooling needed as a real world example, building this bot, the current production one taught me a lot but I'll take your advice and do the basics. Typical me trying to run before I can walk!
I'll take a look at the videos, many thanks, really like egghead.io as a resource

Closed with c28e902fbdd9af1929ab1f087a9b6107f1af5ef5


text:
Highly experimental implementation of SubTableListColumns

This adds a new column type, SubTableListColumn, which can be used to store a list of tables in each row of a quivr table. It's a fairly heady concept, and comes with some caveats and many advisory notes.
It looks like this in practice:
class GnomonicTransformTable(qv.Table):
    ephems = orbits.Ephemeris.as_column()
    test_orbit_states = orbits.Orbits.as_column()
    exposures = exposures.Exposures.as_column()
    detections = qv.SubTableListColumn(detections.PointSourceDetections)

gtt = GnomonicTransformTable.from_kwargs(
    ephems=...,
    test_orbit_states=...,
    exposures=...,
    detections=[
        PointSourceDetections.from_kwargs(...),
        PointSourceDetections.from_kwargs(...),
        PointSourceDetections.from_kwargs(...),
    ],
)

# the associated instance attribute is a *list*, not a pyarrow array.
assert isinstance(gtt.detections, list)
# Each element in the list is a Table instance:
print(gtt.detections[0])
# PointSourceDetections(size=10)

Known limitations:

All attributes must be identical for all entries in the list, including for any nested sub-tables, and sub-lists-of-sub-tables.
You can't make a List-of-lists-of-tables.
You can't make extra large lists of tables - that is, no more than 2**31 entries.
When using from_kwargs to construct the value for a SubTableListColumn, you must pass in a Python list of qv.Tables. Pyarrow arrays aren't allowed, nor numpy arrays, or pandas series, etc. Just lists.

Warnings

I suspect there are probably bugs to do with nullable fields and non-nullable tables. Something like this is probably not very coherent:class NonNullablePair(qv.Table):
    x = qv.Int64Column()

class Wrapper(qv.Table):
    pairs = qv.SubTableListColumn(NonNullablePair, nullable=True)

I have not tested serialization to/from anything.
I have no idea what this will look like in a dataframe.
I don't think default values will work. I'm not even sure how they should work.

I'm going to create an experimental branch in https://www.github.com/B612-Asteroid-Insitute/adam_core to replace the linkages for ephemeris with a SubTableListColumn implementation. I'll report back with my thoughts.

Couple thoughts as I'm working on this:

It's not obvious in what direction many-to-one or one-to-many relationships should be expressed. I suppose it depends on the use case. Here is an example:

For ephemeris: what feels the most natural is to have a table that contains for each orbit a list of predicted ephemerides as viewed from observers. In this instance, you will end up having repeated observer coordinate values. To avoid that, you might then instead make a table with unique observers and for each unique observer you have a list of ephemerides for the orbits at that time (like the current linkages are structured). The latter is going to be more cumbersome to use for things like orbit determination where you really just want ephemerides and observer positions for a single object at any time. But the latter is better for memory efficiency (less duplication), and for things where we might want to analysis in windows of time.

Specifying a uniqueness constraint on a column seems like a feature that would need to be added.

Going back to the ephemeris example. If I decide to have each row in the table belong to a unique orbit (and have ephemerides and observers as lists of tables), then being able to set unique=True on the orbit_id = qv.StringColumn would make that kind of a relationship more explicit.

If we go the route of each row belongs to a unique orbit and we are okay with data duplication then the power of quivr still comes to our aid since we can just attached convenience functions to the ephemeris class:
class Ephemeris(qv.Table):

    orbit_id = qv.StringColumn(nullable=False)
    object_id = qv.StringColumn()
    coordinates = qv.SubTableListColumn(coordinates.SphericalCoordinates)
    observers = qv.SubTableListColumn(observers.Observers)

    def select_observatory_code(self, observatory_code: str) -> Self:
        pass

    def select_time_range(self, min_time: Time, max_time: Time) -> Self:
        pass

It's not obvious in what direction many-to-one or one-to-many relationships should be expressed. I suppose it depends on the use case.

Yes. Table structure like this is always challenging in relational work. I don't think there's a simple answer.
It's quite possible that the right answer here will be to do a better job on linkages, supporting operations that link a chain of tables together.... I think we'll have to forge on with some experimentation (as you're doing, thanks!).

I've decided not to pursue this. We may revisit.

authors: moeyensj spenczar

repo: spenczar/quivr


text:
Hugo Docs Text Color

Can you please make sidebar menu text color darker ? I can barely see anything in documentation ^_^ Maybe font is too thin, but its very annoying having to zoom 5x+ LOL

Same goes for the pink links and stuff in the main content areas.  Contrast ratio is poor.
See Contrast Checker and Contrast Ratio tools.  We, as in "everyone," should shoot for WCAG 2.0 AA compliant color contrast ratios.

Please make a PR or help with a new site design. I'd love it to be better for all our users. The current site was great for a small project but Hugo has outgrown it and we need a new one.

actually I like how docs are structured, just needs better font/color :-)

I jumped the gun and made a direct commit .  I darkened the sidebar menu grey text to increase the contrast ratio to about 4.5:1, making at least the grey text WCAG 2.0 Level AA compliant.  I did not touch the pink links though, so more needs to be done to be fully Level AA compliant.  Pull Requests welcome.  (Note: The changes are not immediately visible because CloudFlare (?) caches the CSS files...)
(Helpful tools that I used: http://wave.webaim.org/report#/http://gohugo.io/overview/usage/ and http://drpeterjones.com/colorcalc/)
Oh, by the way, @spf13, the current Hugo documentation is still built with an outdated Hugo 0.15-DEV, and some of the Blackfriday fixes regarding nested (?) fenced code block (?) isn't there.  Could you please update Hugo there?  Many thanks!

I still see old text color. Nothing has been resolved =((

I still see old text color. Nothing has been resolved =((

Please try again.  The change should have taken effect 23 hours ago.  It is very likely that you need to Reload (override cache).  For example, in Firefox, instead of pressing just F5 or Ctrl+R, you will need to press Ctrl+F5 or Ctrl+Shift+R.  (from https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly)
To bypass cache while reloading on other browsers, see https://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache

I still see old text color. Nothing has been resolved =((

Hi @tuxy, please try again.  The change should have taken effect 23 hours ago, and it was tested and it worked.
It is very likely that you need to Reload (override cache).  For example, in Firefox, instead of pressing just F5 or Ctrl+R, you will need to press Ctrl+F5 or Ctrl+Shift+R.  (from https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly)
To bypass cache while reloading on other browsers, see https://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache
Hope this helps!

Oh yeah, much better now :-) Thank You!

I'll close this issue now.  If there are further concerns, please feel free to reopen it and leave comments.  Thank you all!

authors: anthonyfok moorereason spf13 tuxy


text:
Fix canonifyurl vs schemaless links

And looks even faster:
Compared to previous attempt:
benchmark              old ns/op     new ns/op     delta
BenchmarkAbsUrl        30902         27206         -11.96%
BenchmarkXmlAbsUrl     15389         14216         -7.62%

benchmark              old allocs     new allocs     delta
BenchmarkAbsUrl        33             28             -15.15%
BenchmarkXmlAbsUrl     16             14             -12.50%

benchmark              old bytes     new bytes     delta
BenchmarkAbsUrl        4167          3504          -15.91%
BenchmarkXmlAbsUrl     2057          2048          -0.44%

Compared to before I started all of this:
benchmark              old ns/op     new ns/op     delta
BenchmarkAbsUrl        36219         27206         -24.88%
BenchmarkXmlAbsUrl     23903         14216         -40.53%

benchmark              old allocs     new allocs     delta
BenchmarkAbsUrl        60             28             -53.33%
BenchmarkXmlAbsUrl     30             14             -53.33%

benchmark              old bytes     new bytes     delta
BenchmarkAbsUrl        5842          3504          -40.02%
BenchmarkXmlAbsUrl     3754          2048          -45.44%

Fixes #816

@spf13 just fixed a potential issue (haven't experienced it while testing, but just to be sure) with this PR, amended.

OK, fails for some other reason. I'll pull this in myself.

Merged in c2e2913


text:
Adding Your Own Bundles

I follow the instructions as published, viz:
#############################################
Adding Your Own Bundles:
Create ~/.vimrc.bundles.local for any additional bundles.
To add a new bundle:
echo Bundle 'spf13/vim-colors' >> ~/.vimrc.bundles.local
#############################################
.. then when running
  'vim +BundleInstall! +BundleClean +q'

the process stops at my newly added bundle and asks for my git username and password ... of course this is not accepted as i am not owner of the vim plugin project.
Why is it asking for MY git details??
Anybody??
PS: this is the plugin i am trying to include - :
$ cd     ~/.spf13-vim-3/.vim/bundle
git clone git://github.com/aperezdc/vim-template.git
Thanks

This is not an issue with spf13, but rather with how you setup your github credentials. I would check the github docs and make sure you have a working ssh key uploaded.

Why not clone over https?

authors: bronzehedwick griadooss ootput


text:
Update sbt-jmh to 0.3.5

Updates pl.project13.scala:sbt-jmh from 0.3.4 to 0.3.5.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a nice day!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [{ groupId = "pl.project13.scala", artifactId = "sbt-jmh" }]

closed in favor of https://github.com/sphereio/sphere-scala-libs/pull/99

authors: scala-steward yanns

repo: sphereio/sphere-scala-libs


text:
Black Screen Error

🔍 Is there already an issue for your problem?

[X] I have checked older issues, open and closed

ℹ Environment / Computer Info
- Spotify version:1.2.24
- Spicetify version: last version (i just setup it throw the link)

📝 Description
Every Time I Write The Link In PowerShell Then I Try To Run After It Finishes And Gives Me That Every Thing Is Success When I Try To Open Spotify It Gives Me Blank
📸 Screenshots

It is not duplicate of 2672
He has outdated spicetify

repo: spicetify/spicetify-marketplace


text:
laravel pagination always returning the first page (laravel as api backend)

Describe the bug

A clear and concise description of what the bug is.

Expected behaviour

Tell us what should happen.

Actual behaviour

Tell us what happens instead.

Steps to reproduce

Describe steps to behavior reproducing.

System information

Please, complete the following information:

Key
Value

PHP version

Current package version

RoadRunner version

Environment

RoadRunner configuration file content
# Paste here your `.rr.yaml` file content

Package configuration file content
# Paste here your `config/roadrunner.php` file content

Additional context

Add any other context about the problem here.

Please fill out the issue according to the template

I will open your issue back when you provide all the required information 👍🏼

authors: XiDanko tarampampam

repo: spiral/roadrunner-laravel


text:
Masco-geocoding: NEW App - Initial

Masco-geocoding: NEW App - Initial
Please check if your PR fulfills the following requirements:

[√] Testing of all the changes has been performed (for bug fixes / features)
[N/A] The manual_readme_content.md has been reviewed and added / updated if needed (for bug fixes / features)
[√] Use the following format for the PR description: <App Name>: <PR Type> - <PR Description>
[√] Provide release notes as part of the PR submission which describe high level points about the changes for the upcoming GA release.
[??] Verify all checks are passing.
[√] Do NOT use the next branch of the forked repo. Create separate feature branch for raising the PR.
[√] Do NOT submit updates to dependencies unless it fixes an issue.

Pull Request Type
NOTE: Branch was / is DEV
Please check the type of change your PR introduces:

[√] New App
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation
[ ] Other (please describe):

Security Considerations (REQUIRED)

[√] If you are exposing any endpoints using a REST handler,
please document them in the manual_readme_content.md.
[√] If this is a new connector or you are adding new actions

[N/A] Please document in the manual_readme_content.md all methods (eg, OAuth) used to authenticate
with the service that the connector is integrating with.
[√] If any actions are unable to run on SOAR Cloud, please document this in the manual_readme_content.md.

[NO] Are you introducing any new cryptography modules? If yes, please elaborate their purpose:
[NO] Are you are accessing the file system? If yes, please verify that you are only accessing paths returned through
the Vault API.
[NO] Are you are marking code to be ignored by Semgrep with nosemgrep?
If yes, please provide justification in an additional comment next to the ignored code.

Release Notes (REQUIRED)

Provide release notes as part of the PR submission which describe high level points about the changes for the upcoming GA release.

What is the current behavior? (OPTIONAL)

Describe the current behavior that you are modifying.
NEW APP - looks up GPS data such as lat/long and returns street address, also looks up street address and returns lat/long

What is the new behavior? (OPTIONAL)

Describe the behavior or changes that are being added by this PR.
NEW APP - looks up GPS data such as lat/long and returns street address, also looks up street address and returns lat/long

Other information (OPTIONAL)

Any other information that is important to this PR such as screenshots of how the component looks before and after the change.
NEW APP - looks up GPS data such as lat/long and returns street address, also looks up street address and returns lat/long

Pay close attention to (OPTIONAL)

Any specific code change or test case points which must be addressed/reviewed at the time of GA release.
NEW APP - looks up GPS data such as lat/long and returns street address, also looks up street address and returns lat/long

Screenshots (if relevant)

Thanks for contributing!
Cheers!

I have cleared out the errors and now the only ones that remain have the verbose text
"Test execution failed. The Phantom team will resolve this issue"
or relate to service ports that are not used in the app
Please advise what I can do to help clear this up. I have two more apps that I want to upload but am waiting till I get one resolved so I can do a better job the second time round.
Thank you.

Hi @unapped ,
We notices that the app's geocodingmapsco.json does not contain an app id. Could you please generate an appid and update the same.

added appid to json as per instruction. thank you

Hi @unapped ,
The publisher field in the geocodingmapsco.json is "Unapproved". Could you please update this with the name of the person or the organisation publishing this app.
Thanks.

Hi @unapped ,
For the logo files, the naming convention requires the format logo_<connector_name>.svg, which is why we updated the file names. Additionally, we modified the background of the logo for the dark theme, as the previous black background did not  contrast well. Would you prefer to keep the original design for the dark theme logo, or the updated version by us?

Hi @unapped , For the logo files, the naming convention requires the format logo_<connector_name>.svg, which is why we updated the file names. Additionally, we modified the background of the logo for the dark theme, as the previous black background did not contrast well. Would you prefer to keep the original design for the dark theme logo, or the updated version by us?

the updated version by you - give me a min and ill look at it right away

Hi @unapped , For the logo files, the naming convention requires the format logo_<connector_name>.svg, which is why we updated the file names. Additionally, we modified the background of the logo for the dark theme, as the previous black background did not contrast well. Would you prefer to keep the original design for the dark theme logo, or the updated version by us?

I just checked the JSON and its updated…
"logo": "logo_geocodingmapsco.svg",
"logo_dark": "logo_geocodingmapsco_dark.svg",
and the file names are yours...
I see, I must have accidentally put back in my old ones, let me remove them

@stutib-crest any chance you could join the reviewers / approvers list?
once this one is through I will use it to template the next one. I have certainly learnt a bit about the development and commit process.
TIA

@stutib-crest any chance you could join the reviewers / approvers list? once this one is through I will use it to template the next one. I have certainly learnt a bit about the development and commit process. TIA

Hello @unapped ,
As I have added changes to the PR, I cannot review or approve it. We are working on this PR and will release it soon.
Thanks

@stutib-crest thanks for the info.
Hopefully I can take the learnings from this one to the next and you dont have to do half as much to help with success

authors: stutib-crest unapped

repo: splunk-soar-connectors/mapsco-geocoding


text:
fix: stateful state for parser

Changing the state of parsers of log path as stateful.

This PR is a workaround fix for issue https://github.com/syslog-ng/syslog-ng/issues/4635 in syslog-ng OSE, we have to change the way postfilter grouping by works.

closes #2171

repo: splunk/splunk-connect-for-syslog


text:
Cannot configure reports via property access anymore

In 3.x, you could write
    spotbugsMain.reports.xml.enabled = false

If you try that with 4.0(.5), you get
 > Could not get unknown property 'xml' for SpotBugsReport container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer.

You have to use
    spotbugsMain.reports {
        xml.enabled = false
    }

I guess you upgraded not only spotbugs-gradle-plugin but also Gradle.
It could be problem of Gradle side. Make sure you can reproduce this problem with spotbugs-gradle-plugin v3 and the latest Gradle version. If you can reproduce, we're sure that it's not our problem, so we can close this issue safely.
refs #95

I can't.

Then please share the mcve project to reproduce. Thanks!

Just add this build file in an empty directory and run gradle spotbugsMain.
groovy
plugins {
  id "com.github.spotbugs" version '4.0.7'
}

repositories {
    jcenter()
}

apply plugin: 'java'
spotbugsMain.reports.xml.enabled = false

Could it be that the time that the reports objects are created changed from the 3.x releases? It looks as if the xml entry is not yet created at the time that I try to disable it.

Yes it's recreated, to eliminate the dependency on Gradle's internal API.
In v3.0.0 we have the SpotBugsReport interface which extends a Gradle internal API.
So in v4.0.0 we changed it to a plain NamedDomainObjectContainer<SpotBugsReport>.
I'll try to solve this issue, by making a SpotBugsReport interface which extends NamedDomainObjectContainer, and delegate to getByName(String) like v3.0.0.

I'll try to solve this issue, by making a SpotBugsReport interface which extends NamedDomainObjectContainer, and delegate to getByName(String) like v3.0.0.

This way doesn't work, because

When we create the SpotBugsReport interface, it needs to extends NamedDomainObjectContainer. But NamedDomainObjectContainer instances need to be created by a Gradle API ObjectFactory.domainObjectContainer(...) and it cannot create instance of user-defined one.
The getMissingProperty(String) is the method invoked when the missing property is called, however, it's method of internal API so we cannot hook it.

A workaround is that, configure the reports property of SpotBugsTask like below, but it breaks another backward compatibility: 'can generate a report in specified reportsDir' test in ReportFunctionalTest.
.configure {
    it.create("xml").setEnabled(false);
    it.create("html").setEnabled(false);
    it.create("text").setEnabled(false);
}

So for now, we have no solution on this issue. We may handle this as an intentional breaking change. :sob:

FYI: I've run into this issue during https://issues.apache.org/jira/browse/FINERACT-947, and inspired by https://github.com/spotbugs/spotbugs-gradle-plugin#configure-the-spotbugstask, have replaced our:
// To generate an HTML report instead of XML
tasks.withType(SpotBugsTask) {
    reports.xml.enabled = false
    reports.html.enabled = true
    reportLevel = "high"
}

with:
// To generate an HTML report instead of XML
spotbugs {
    reportLevel = 'high'
}
spotbugsMain {
    reports {
        html {
            enabled = true
            stylesheet = 'fancy-hist.xsl'
        }
    }
}
spotbugsTest {
    reports {
        html {
            enabled = true
            stylesheet = 'fancy-hist.xsl'
        }
    }
}
spotbugsIntegrationTest {
    reports {
        html {
            enabled = true
            stylesheet = 'fancy-hist.xsl'
        }
    }
}

Note also new issue #242.

+1. Same issue with Spotbugs v4.0.3 and spotbugs-gradle-plugin v4.2.1.
It publishes the reports in mail.xml regardless the path defined with xml.destination or html.destination

spotbugs
classpath "com.github.spotbugs.snom:spotbugs-gradle-plugin:4.7.10"
spotbugs 'com.github.spotbugs:spotbugs:4.5.0'
when i use report. but it just create one report.  html or xml . now i want to create both reports.
Generate HTML and XML reports at the same time，how can i do

 reports {
       xml.configure {
            required = true
            outputLocation = file("$reportsConfigDir/spotbugs/spotbugs.xml")

        }

        html.configure {
            required = true
            outputLocation = file("$reportsConfigDir/spotbugs/spotbugs.html")
            stylesheet = 'fancy-hist.xsl'
        }
    }

how can i do ?

authors: KengoTODA SimoneCusimano jochenberger maoai-xianyu vorburger

repo: spotbugs/spotbugs-gradle-plugin


text:
reduce log noise from HeliosSoloLogService

when helios-solo is first starting up, sometimes HeliosSoloLogService
will log exceptions like:

13:51:45.112 [HeliosSoloLogService RUNNING] WARN c.s.h.testing.HeliosSoloLogService - Caught exception, will ignore
java.lang.NullPointerException: null
at com.spotify.helios.testing.HeliosSoloLogService.runOneIteration(HeliosSoloLogService.java:87)

or

13:51:46.457 [HeliosSoloLogService RUNNING] WARN c.s.h.testing.HeliosSoloLogService - Caught exception, will ignore
java.util.concurrent.TimeoutException: Timeout waiting for task.
at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:269) ~[guava-18.0.jar:na]
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:96) ~[guava-18.0.jar:na]
at com.spotify.helios.testing.HeliosSoloLogService.get(HeliosSoloLogService.java:69) ~[helios-testing-0.9.45.jar:0.9.45]

These are harmless as the LogService will keep retrying until it can
attach to the container.
To cut down on noise, explicitly check for null or for timed-out
requests, and reduce the log level to debug.

@rohansingh

Current coverage is 50.54% (diff: 62.96%)

No coverage report found for master at 05a90cf.

Powered by Codecov. Last update 05a90cf...c409fc0

obsoleted by #1007

authors: codecov-io mattnworb

repo: spotify/helios


text:
Fix the default Prober to support UDP probing as well as TCP

I made a suggested change to the DefaultProber to support UDP ports as well as TCP
The current implementation will hang when probing UDP ports.
This implementation mimics the nmap behavior by sending a "PING" message to the port and wait for timeout (OK) or port not reachable (NOT OK)

@pehrs Thanks for the PR. Just curious what's your use case?

I kicked off a rebuild of the CircleCI build as the timeout looks unrelated to this change.

LGTM, but I think it would be nice if a test could be added that verifies that the udp prober works in an actual TemporaryJob

@davidxia I have a service that exposes an UDP port and the default Prober implementation assumes that ports are TCP no UDP

@mattnworb @pehrs I added a test for UDP probing.

Current coverage is 47.54%

Merging #848 into master will decrease coverage by -0.05% as of 60ed1f6

@@            master    #848   diff @@
======================================
  Files          270     270
  Stmts        12696   12730    +34
  Branches      1612    1614     +2
  Methods          0       0
======================================
+ Hit           6043    6052     +9
+ Partial        456     455     -1
- Missed        6197    6223    +26

Review entire Coverage Diff as of 60ed1f6

Powered by Codecov. Updated on successful CI builds.

@mattnworb @pehrs I added a test for this. Let me know if it looks OK.

Thanks for adding the test. I am confused though on how it asserts that the UDP port is "probed"? Simply by asserting that the job is running ok?
Also, why the indirection in the test where the outer @Test calls testResult() in a nested class that looks a lot like a test itself?

Yup. By specifying .port("default", 4711, "udp") here https://github.com/spotify/helios/pull/848/files#diff-6da031aab2d8f23a98de0f1b4163735cR62, the prober will send a UDP packet that will be ignored instead of a port not reachable.
A temp job will block on the deploy() until the probing for all specified ports is successful and will throw an error if any port fails to be probed.
As for the indirection, I wanted to use certain variables defined in TemporaryJobsTestBase here https://github.com/spotify/helios/blob/master/helios-testing/src/test/java/com/spotify/helios/testing/TemporaryJobsTestBase.java#L35, and I think I have to nest the test in order to use them. Let me know if I'm wrong or if there's a better way.

Nah, I don't know a better way
:+1:

@pehrs this should be available in helios-testing:0.8.753 now.

authors: codecov-io davidxia mattnworb pehrs