[Usage] apply_delta.py  error

When did you clone our code?
I cloned the code base after 5/1/23
Describe the issue
Issue:
OSError: We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like openai/clip-vit-large-patch14 is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.
Command:
python3 -m llava.model.apply_delta \
    --base /home/projects/LLaVA/weights/llama-7b-hf \
    --target /home/projects/LLaVA/weights/LLaVA-7B-v0 \
    --delta /home/projects/LLaVA/weights/LLaVA-7b-delta-v0

Log:
Loading base model
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 33/33 [00:09<00:00,  3.53it/s]
Loading delta
You are using a model of type llama to instantiate a model of type llava. This is not supported for all configurations of models and can yield errors.
Traceback (most recent call last):
  File "/home/projects/LLaVA/transformers/src/transformers/utils/hub.py", line 409, in cached_file
    resolved_file = hf_hub_download(
  File "/home/xxy/miniconda3/envs/llava/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
    return fn(*args, **kwargs)
  File "/home/xxy/miniconda3/envs/llava/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1291, in hf_hub_download
    raise LocalEntryNotFoundError(
huggingface_hub.utils._errors.LocalEntryNotFoundError: Connection error, and we cannot find the requested files in the disk cache. Please try again or make sure your Internet connection is on.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/xxy/miniconda3/envs/llava/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/xxy/miniconda3/envs/llava/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/xxy/.vscode-server/extensions/ms-python.python-2022.16.1/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/__main__.py", line 39, in <module>
    cli.main()
  File "/home/xxy/.vscode-server/extensions/ms-python.python-2022.16.1/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 430, in main
    run()
  File "/home/xxy/.vscode-server/extensions/ms-python.python-2022.16.1/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 284, in run_file
    runpy.run_path(target, run_name="__main__")
  File "/home/xxy/.vscode-server/extensions/ms-python.python-2022.16.1/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 321, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/home/xxy/.vscode-server/extensions/ms-python.python-2022.16.1/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 135, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/home/xxy/.vscode-server/extensions/ms-python.python-2022.16.1/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 124, in _run_code
    exec(code, run_globals)
  File "/home/xxy/docker/projects/LLaVA/llava/model/apply_delta.py", line 53, in <module>
    apply_delta(args.base_model_path, args.target_model_path, args.delta_path)
  File "/home/xxy/docker/projects/LLaVA/llava/model/apply_delta.py", line 19, in apply_delta
    delta = LlavaLlamaForCausalLM.from_pretrained(delta_path, torch_dtype=torch.float16, low_cpu_mem_usage=True)
  File "/home/xxy/docker/projects/LLaVA/transformers/src/transformers/modeling_utils.py", line 2493, in from_pretrained
    model = cls(config, *model_args, **model_kwargs)
  File "/home/xxy/docker/projects/LLaVA/llava/model/llava.py", line 201, in __init__
    self.model = LlavaLlamaModel(config)
  File "/home/xxy/docker/projects/LLaVA/llava/model/llava.py", line 48, in __init__
    self.vision_tower = [CLIPVisionModel.from_pretrained(config.mm_vision_tower)]
  File "/home/xxy/docker/projects/LLaVA/transformers/src/transformers/modeling_utils.py", line 2170, in from_pretrained
    config, model_kwargs = cls.config_class.from_pretrained(
  File "/home/xxy/docker/projects/LLaVA/transformers/src/transformers/models/clip/configuration_clip.py", line 233, in from_pretrained
    config_dict, kwargs = cls.get_config_dict(pretrained_model_name_or_path, **kwargs)
  File "/home/xxy/docker/projects/LLaVA/transformers/src/transformers/configuration_utils.py", line 573, in get_config_dict
    config_dict, kwargs = cls._get_config_dict(pretrained_model_name_or_path, **kwargs)
  File "/home/xxy/docker/projects/LLaVA/transformers/src/transformers/configuration_utils.py", line 628, in _get_config_dict
    resolved_config_file = cached_file(
  File "/home/xxy/docker/projects/LLaVA/transformers/src/transformers/utils/hub.py", line 443, in cached_file
    raise EnvironmentError(
OSError: We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like openai/clip-vit-large-patch14 is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.

Screenshots:
You may attach screenshots if it better explains the issue.

If you cannot connect to HF, you may download LLaVA-7b-delta-v0 and CLIP repo locally and change the directory accordingly. Thanks.

If you cannot connect to HF, you may download LLaVA-7b-delta-v0 and CLIP repo locally and change the directory accordingly. Thanks.

Thank you for your reply. I have manually downloaded the openai/clip-vit-large-patch14 model repository, but I’m not sure where to place it in the file directory.  Can you give some suggestions?    thanks

resolved


Winpygame failed on Raspberry Pi.

Versions

Python: 3.4 and 2.7
OS: works on Windows 10. doesn't work on Raspbian Jessie
Kivy: Windows... 1.9.2  Raspbian 1.8.0 (can't figure out how to upgrade it)
Kivy installation method: Command Line

Description
My kivy file works on Windows, where I created it, but I can't get it to open on Raspbian. Also I can't get my custom settings menu to load only the original kivy... but that's a seperate issue.
Code and Logs
Log:
`[INFO              ] Kivy v1.8.0
[INFO              ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_17-02-27_24.txt
[INFO              ] [Factory     ] 157 symbols loaded
[DEBUG             ] [Cache       ] register <kv.lang> with limit=None, timeout=Nones
[DEBUG             ] [Cache       ] register <kv.image> with limit=None, timeout=60s
[DEBUG             ] [Cache       ] register <kv.atlas> with limit=None, timeout=Nones
[INFO              ] [Image       ] Providers: img_tex, img_dds, img_pygame, img_pil, img_gif
[DEBUG             ] [Cache       ] register <kv.texture> with limit=1000, timeout=60s
[DEBUG             ] [Cache       ] register <kv.shader> with limit=1000, timeout=3600s
[INFO              ] [Text        ] Provider: pygame
[DEBUG             ] [Window      ] Ignored <egl_rpi> (import error)
[INFO              ] [Window      ] Provider: pygame(['window_egl_rpi'] ignored)
[WARNING           ] [WinPygame   ] Video: failed (multisamples=2)
[WARNING           ] [WinPygame   ] trying without antialiasing
[DEBUG             ] [Window      ] Display driver x11
[DEBUG             ] [Window      ] Actual window size: 800x600
[DEBUG             ] [Window      ] Actual color bits r8 g8 b8 a0
[DEBUG             ] [Window      ] Actual depth bits: 24
[DEBUG             ] [Window      ] Actual stencil bits: 8
[DEBUG             ] [Window      ] Actual multisampling samples: 0
[INFO              ] [GL          ] OpenGL version <b'3.0 Mesa 13.0.0'>
[INFO              ] [GL          ] OpenGL vendor <b'VMware, Inc.'>
[INFO              ] [GL          ] OpenGL renderer <b'Gallium 0.4 on llvmpipe (LLVM 3.9, 128 bits)'>
[INFO              ] [GL          ] OpenGL parsed version: 3, 0
[INFO              ] [GL          ] Shading version <b'1.30'>
[INFO              ] [GL          ] Texture max size <8192>
[INFO              ] [GL          ] Texture max units <32>
[DEBUG             ] [Shader      ] Fragment compiled successfully
[DEBUG             ] [Shader      ] Vertex compiled successfully
[DEBUG             ] [ImagePygame ] Load </usr/lib/python3/dist-packages/kivy/data/glsl/default.png>
[INFO              ] [Window      ] virtual keyboard not allowed, single mode, not docked
[DEBUG             ] [Cache       ] register <kv.loader> with limit=500, timeout=60s
[INFO              ] [Loader      ] using a thread pool of 2 workers
[DEBUG             ] [Cache       ] register <textinput.label> with limit=None, timeout=60.0s
[DEBUG             ] [Cache       ] register <textinput.width> with limit=None, timeout=60.0s
[DEBUG             ] [App         ] Loading kv </home/pi/Desktop/SW_Python_Files/SW_Py/GUI/uppage1.kv>
[DEBUG             ] [App         ] kv </home/pi/Desktop/SW_Python_Files/SW_Py/GUI/uppage1.kv> not found
[INFO              ] [OSC         ] using  for socket
[DEBUG             ] [Base        ] Create provider from mouse
[DEBUG             ] [Base        ] Create provider from probesysfs,provider=hidinput
[DEBUG             ] [ProbeSysfs  ] using probsysfs!
[DEBUG             ] [ProbeSysfs  ] found device: FT5406 memory based driver at /dev/input/event0
[INFO              ] [ProbeSysfs  ] device match: /dev/input/event0
[INFO              ] [HIDInput    ] Read event from </dev/input/event0>
[INFO              ] [Base        ] Start application main loop
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
self.run()
File "/usr/lib/python3.4/threading.py", line 868, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3/dist-packages/kivy/input/providers/hidinput.py", line 358, in _thread_run
" " * 256).split('\x00')[0]
TypeError: Type str doesn't support the buffer API
[INFO              ] [Base        ] Leaving application in progress...`
`from kivy.app import App
#kivy.require("1.9.1")
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label
from kivy.uix.widget import Widget
from kivy.properties import NumericProperty, ReferenceListProperty, ObjectProperty
from kivy.vector import Vector
from kivy.clock import Clock
import settings
from kivy.uix.button import Button
from kivy.uix.settings import SettingsWithSidebar
from settingsjson import patsettings_json, docsettings_json

class UpPageLayout(FloatLayout):
    pass

class UpPage1(App):
    def build(self):
        return UpPageLayout()

if __name__ == "__main__":
    UpPage1().run()

`

Kivy file:
`#File name: UpPage1.kv
#:kivy 1.9.1
TesterTest@Label:
font_size: 40
color: 1,1,0,1
size_hint: .3, .1
:
TesterTest:
	text:"Forward"
	pos_hint: {"center_x": 0.5, "top": 1}

TesterTest:
	text:"Backward"
	pos_hint: {"center_x": 0.5, "y": 0}

TesterTest:
	text:"Left"
	pos_hint: {"x": 0, "center_y": 0.5}
	size_hint: .15, .1

TesterTest:
	text:"Right"
	pos_hint: {"right": 1, "center_y": 0.5}
	size_hint: .15, .1

Potatoes:
	id: potatoes
    size_hint: .1, .1
    pos_hint: {"right":1, "top":1}

`
Settings Python File:
`
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.button import Button
from kivy.uix.settings import SettingsWithSidebar
from settingsjson import patsettings_json, docsettings_json
Builder.load_string('''
:
id: potatoes
font_size: self.height/2
on_release: app.open_settings()
Image:
source:"../Images/menu.png"
y: self.parent.y
x: self.parent.x
keep_ratio: True
size_hint_y: None
size_hint_x: None
width: self.parent.width
height: self.parent.height
allow_stretch: True
''')
class Potatoes(Button):
pass
class SettingsApp(App):
def build(self):
self.settings_cls = SettingsWithSidebar
self.use_kivy_settings = True
setting = self.config.get('Main Settings', 'vibeset')
return Potatoes()
def build_config(self, config):
    config.setdefaults('Main Settings', {
        'firstname': 'Ferris',
        'surname': 'Bueller',
        'vibeset': True,
        'spkrset': True,
        'ageset': 55,
        'heightset': 70,
        'weightset': 140,
        'options': 'option2'})

    config.setdefaults('Doc Settings', {
        'minweight': 20,
        'maxweight': 80,
        'latweight': 30,
        'longweight': 30,
        'mindist': 18,
        'maxdist': 28,
        'weightset': 140})

def build_settings(self, settings):
    settings.add_json_panel('Smart Walker',
                            self.config,
                            data=patsettings_json)
    settings.add_json_panel('Doctor Settings',
                            self.config,
                            data=docsettings_json)

def on_config_change(self, config, section,
                     key, value):
    print (config, section, key, value)

if name == "main":
SettingsApp().run()
`

You'd need to test with 1.9.2 on respbian, since 1.8.0 is far too old to be able to support. To figure out how to update you can do similar to the ubuntu guide, but please ask for further support on IRC or the mailing list as this is meant for bug reports.
If you can replicate the issue with 1.9.2, please re-open or ask us to re-open the issue.


Expose a isFlashing flag for modded Statuses

Introduce a flag that modded statuses can toggle to flash heat_warning when rendered.

Done in 1.1.0.


Adding a new URL via plaintext causes it to be the only URL in the archive

Describe the bug
Found another one!
If I add a new URL to ArchiveBox, then it replaces any content I had there previously.
Steps to reproduce
Steps to reproduce the behavior:

Do this: echo "https://www.robmiles.com/journal/2019/02/06/options" | ONLY_NEW=true ./archive
Check the archive to see the page present
Now do this: echo "https://unix.stackexchange.com/questions/87138/ssh-tunnelling-explanation/119719" | ONLY_NEW=true ./archive
Check the archive again
See that it's now replaced the previous entry

Screenshots or log output
If applicable, use screenshots or copy/pasted terminal output to help explain your problem.
$ ./archive-url 'https://unix.stackexchange.com/questions/87138/ssh-tunnelling-explanation/119719'
[*] [2019-02-14 21:00:59] Parsing new links from output/sources/stdin-1550178059.txt and fetching titles...
    .
    > Adding 1 new links to index from output/sources/stdin-1550178059.txt (parsed as Plain Text format)
[*] [2019-02-14 21:00:59] Updating main index files...
    > output/index.json
    > output/index.html
[▶] [2019-02-14 21:00:59] Updating content for 1 pages in archive...
[+] [2019-02-14 21:01:01] "x11 - ssh tunnelling explanation - Unix & Linux Stack Exchange"
    https://unix.stackexchange.com/questions/87138/ssh-tunnelling-explanation/119719
    > output/archive/1550178059 (new)
      > favicon
      > wget
      > archive_org
      > git
      > media
      √ index.json
      √ index.html
[√] [2019-02-14 21:01:16] Update of 1 pages complete (16.36 sec)
    - 1 entries skipped
    - 4 entries updated
    - 0 errors
    To view your archive, open: output/index.html
$ cat ./archive-url
#!/usr/bin/env bash
export ONLY_NEW=true;
echo $1 | ./archive-custom
$ ./archive-url https://www.robmiles.com/journal/2019/02/06/options
[*] [2019-02-14 21:03:01] Parsing new links from output/sources/stdin-1550178181.txt and fetching titles...
    .
    > Adding 1 new links to index from output/sources/stdin-1550178181.txt (parsed as Plain Text format)
[*] [2019-02-14 21:03:02] Updating main index files...
    > output/index.json
    > output/index.html
[▶] [2019-02-14 21:03:02] Updating content for 1 pages in archive...
[+] [2019-02-14 21:03:03] "https://www.robmiles.com/journal/2019/02/06/options"
    https://www.robmiles.com/journal/2019/02/06/options
    > output/archive/1550178181 (new)
      > favicon
      > wget
        Got wget response code 8:
          https://www.robmiles.com/journal/2019/02/06/options:
          2019-02-14 21:03:04 ERROR 404: Not Found.
        Some resources were skipped: 404 Not Found
        Run to see full output:
            cd /path/to/ArchiveBox/output/archive/1550178181;
            wget --no-verbose --adjust-extension --convert-links --force-directories --backup-converted --span-hosts --no-parent -e robots=off --restrict-file-names=unix --timeout=60 --warc-file=warc/1550178183 --page-requisites --user-agent="ArchiveBox/74b99fe9e (+https://github.com/pirate/ArchiveBox/) wget/1.18" https://www.robmiles.com/journal/2019/02/06/options
      > archive_org
      > git
      > media
      √ index.json
      √ index.html
[√] [2019-02-14 21:03:14] Update of 1 pages complete (12.80 sec)
    - 1 entries skipped
    - 3 entries updated
    - 1 errors
    To view your archive, open: output/index.html

Software versions (please complete the following information):

ArchiveBox version: 74b99fe9eb68cd57e64648690a2e158952b6b18e
Python version: Python 3.5.3
OS: Raspbian GNU/Linux 9.6 (stretch)
Chrome version: Not installed

Yep, looks like it's fixed! Thanks again, @pirate :smiley_cat:


Add passes to eliminate dead output stores

This adds two passes to accomplish this: one pass to analyze a shader
to determine the input slots that are live. The second pass is run on
the preceding shader to eliminate any stores to output slots that are
not consumed by the following shader.
These passes support vert, tesc, tese, geom, and frag shaders.
These passes are currently only available through the API.
These passes together with dead code elimination, and elimination of
dead input and output components and variables (WIP), will allow users
to do dead code elimination across shader boundaries.

There are a few higher level changes I would like to see:
a. Replace the pass with a pass to remove the stores
b. an analysis to find the live inputs, and
c. a pass that will run the analysis and do something with the result. (I like the run a function on it idea).

Perhaps it might help if I explained a little more how this was designed to be used.
As you surmised, these passes very likely will be called on two different SPIR-V modules, for example, one module containing a frag shader, the other a vert shader. Since spirv-opt only deals with one module at a time, this will have to involve two complete invocations of spirv-opt, in this case, via the API. One spirv-opt call will do the analysis on the frag shader, collecting the live locations in a vector. The next spirv-opt call will eliminate stores in the vert shader using that vector. I need two separate passes to do this. The interfaces  I have designed are necessary to do what is needed. They are also sufficient for anyone who wishes to make these part of a larger optimization or available via a command. For example, if someone wishes to print the locations from the analysis, they can just print the values from the vector.
If you feel these interfaces are not necessary or sufficient, please let me know.

If you feel these interfaces are not necessary or sufficient, please let me know.

Most of my comments are not really about the ability of the code to do what you want it to do.  The problem is about readability and clean design.  If something is an analysis, make is an analysis.  Putting everything is a pass is not intuitive, and makes the code harder to read.
The same is try when you have a pass that does completely different things based on a flag that is passed when the pass is constructed.  This violates the "do one thing" principle in Clean Code.
So please refactor the code.

Write the analysis as an analysis, and write a pass that will build it and return the results.
Write a pass to remove the stores to the dead output.
Look into whether or not you can call InterfaceVariableScalarReplacement on the shaders before hand, and then simplify your passes by not looking at components of the input and output variable.  That is if any part of the variable is used, then all of it is used.  This could help avoid repeating concepts found in that pass.  It will also make your pass easier to implement.

Note that I believe that in your code you forgot to check for the patch decoration on the variable to see if you need to skip the first index.

@dnovillo Will you still be the reviewer for this PR?

@dnovillo Will you still be the reviewer for this PR?

Yes.  I'll assign myself as reviewer so I get a message when it gets updated with the existing review feedback.  Thanks.

Note that I believe that in your code you forgot to check for the patch decoration on the variable to see if you need to skip the first index.

Actually, the patch decoration indicates a separate set of per-patch input/output variables from those of the vertices being processed. I am not currently taking this into account so will add code to do so.

Look into whether or not you can call InterfaceVariableScalarReplacement on the shaders before hand, and then simplify your passes by not looking at components of the input and output variable. That is if any part of the variable is used, then all of it is used. This could help avoid repeating concepts found in that pass. It will also make your pass easier to implement.

I have looked into this and I have found that InterfaceVariableScalarReplacement does not support all of the possible types of input and output variables, particularly some types that are used by many users. One important type that is not supported is OpTypeStruct as is generated for interface blocks. Here is a GLSL sample from my very first test which I have confirmed is not scalarized:
layout(location = 2) in Vertex
{
        vec4 color0;
        vec4 color1;
        vec4 color2[3];
} iVert;

Thus it seems that utilizing InterfaceVariableScalarReplacement would not be a viable approach and I will need to go ahead with my current approach.

@dnovillo and other reviewers: I am adding this so that you understand the full context of these changes and changes to follow. This may duplicate information already given in this PR.
The optimization passes in this PR are part of a larger set of optimization passes which can be used to accomplish dead code elimination across shaders through analysis of loads and stores through input and output interface variables.
You may already be familiar with EliminateDeadInputComponents. This is mostly checked in already. It eliminates trailing components of input variables that are not used by a shader. Currently, EliminateDeadInputComponents can only be safely applied to a Vertex shader. If it is applied to other shaders, additional optimization will be needed on preceding shaders so that the interfaces match. A fix to EliminateDeadInputComponents is coming which will assure safe default behavior as well as allow it to be applied to other shaders as part of a larger optimization through a special option.
This PR adds two passes, AnalyzeDeadOutputStores and EliminateDeadOutputStores. The analyze phase creates a vector of the input locations of a shader which are live. The elimination phase is called on the preceding shader and eliminates stores to output variables and output components whose locations are not in the vector of live locations created by the analyze phase on the subsequent shader.
I will then be adding a new phase called EliminateDeadOutputComponents, very similar to EliminateDeadInputComponents but for output variables. This can only be applied to a shader as part of the larger cross-shader optimization where EliminateDeadInputComponents was applied to the following shader.
Finally, I will be adding an option to EliminateDeadCodeAggressive which permits elimination of dead output variables through a special option. This can only be applied to a shader as part of the larger cross-shader optimization where EliminateDeadCodeAggressive  was applied to the following shader.
Altogether, these passes will allow dead code elimination to propagate across shaders.
As currently implemented, these passes will only be available through the API. They will not be available through the command line. This is partly because the client is only interested in access through the API. If someone else wishes to come up with a mechanism for them to work through the command line, they are welcome to do so.
The user will have to exercise caution to not create incompatible interfaces between shaders
with these passes. These phases and options are not meant for stand-alone use like many previous passes. The user must be sure they have eliminated dead inputs in a shader before they eliminate the corresponding outputs in the preceding shader. Warnings will be added to these passes to this effect. These passes will not be added to any of the existing recipes.
These passes will work on vert, tese, tesc, geom and frag shaders only.
So, dead code elimination across vertex shader V and frag shader F can be accomplished by performing the following passes:
EliminateDeadCodeAggressive ( F )
EliminateDeadInputComponents ( F )
AnalyzeDeadOutputStores ( F )
EliminateDeadOutputStores ( V )
EliminateDeadOutputComponents ( V )
EliminateDeadCodeAggressive ( V )
EliminateDeadInputComponents ( V )
Optimization of larger pipelines would be accomplished by extending this recipe logically.

Note that I believe that in your code you forgot to check for the patch decoration on the variable to see if you need to skip the first index.

Actually, the patch decoration indicates a separate set of per-patch input/output variables from those of the vertices being processed. I am not currently taking this into account so will add code to do so.

As a final clarification, the patch qualifier does NOT create a separate i/o space as I stated above. For the purposes of i/o slot analysis, the patch indicates that the first index should not be skipped.

This PR is being closed and replaced by #4970.


Allow non-generic return types to be read from single generic call signatures

This PR permits circular references in some return types of generic call signatures - something that is already allowed in non-generic call signatures.
If the return type doesn't depend on type variables then the same thing can be allowed for it (including cases with instantiated return types not depending on type variables).

@typescript-bot test this
@typescript-bot test top100
@typescript-bot user test this
@typescript-bot user test tsserver
@typescript-bot test tsserver top100
@typescript-bot run dt
@typescript-bot perf test this
@typescript-bot pack this


Convert to ScaDS project

Since we want to use the outcome of your work in the future it would be great if we could transform it to a project of https://github.com/scads
We can use this one or I can simply fork it and add it. What is your preferred way?

Project was transferred.


[Bug] Unable to Save settings and forms

I have installed the latest version of boxbilling on my website. It worked fine for 2,3 hours but after that, it stopped working. Whenever I change the settings from admin panel, it gives an empty error box. I did not changed or added any custom coding inside the script. I just added some products and connected cpanel and domain Registrar only. I left my site working well but after some minutes, I tried to change settings again but  it started giving blank error msg box.
Screenshot is attached.

Error log:
19-Nov-2021 20:14:49 UTC] 8 Trying to access array offset on value of type null /home/atexcode/clientarea.atexcode.com/bb-library/Box/Log.php 124
[19-Nov-2021 20:14:49 UTC] 8 Trying to access array offset on value of type null /home/atexcode/clientarea.atexcode.com/bb-library/Box/Log.php 124
[19-Nov-2021 20:14:49 UTC] 8 Trying to access array offset on value of type null /home/atexcode/clientarea.atexcode.com/bb-library/Box/Log.php 124
[19-Nov-2021 20:14:49 UTC] 8 Trying to access array offset on value of type null /home/atexcode/clientarea.atexcode.com/bb-library/Box/Log.php 124
[19-Nov-2021 20:14:49 UTC] 8 Trying to access array offset on value of type null /home/atexcode/clientarea.atexcode.com/bb-library/Box/Log.php 124
[19-Nov-2021 20:14:49 UTC] 8 Trying to access array offset on value of type null /home/atexcode/clientarea.atexcode.com/bb-library/Box/Log.php 124

Boxbilling Version: 4.27
Php Version: 7.4

Boxbilling Version: 4.27

There is no BoxBilling version 4.27?

sorry...! it was 4.21

Do you have debug enabled or disabled in bb-config.php?

You actually want to try this version for me? It's got some bug fixes and improvements.
https://github.com/boxbilling/boxbilling/releases/tag/4.22-beta.1-maint
Steps:

Backup database and files (files somewhat optional, but still a good idea)
Delete the "bb-vendor" folder
Extract files from that release over your current installation and override
Run bb-update.php

@atharskiet

@BenNottelling updating to 4.22-beta.1-maint did not work. Still same error occurs.


fixes #7026

Hi @Yaevh, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;


"added sort and search functionality to participants"

What's the purpose of this PR compared to https://github.com/corona-school/web-user-app/pull/140 ? Why should that be reverted since it was already published on the release notes @lsc0498 ?

This PR can be closed and does not need to be merged.


import sounddevice blocks the application (and can't be killed)

Hi all,
I've been using a small GUI application written in python 3 and kivy that uses sounddevice to record and analyze audio.
This works well on my Linux mint 19 machine.
Now I am launching the application on a fresh Ubuntu 20 install on a NUC and I have the following problem: on application launch I see a black GUI, nothing happens, the application can't be killed (not even with kill -9 from command line).
I have started debugging the application from PyCharm and it seems that the program is locked on import sounddevice. After that line the debugger loses control and can't even kill the application.
Maybe sounddevice got the wrong audio card and gets lost?
I don't know...
I've got Ubuntu 20.04.4 on a NUC 9i9 with:
Card: sof-hda-dsp
Chip: Realtek ALC256
and a graphic card:
product: TU117 [GeForce GTX 1650] [10DE:1F82]
which is also seen as audio device (through HDMI)
and also
Chip: Nvidia GPU 94 HDMI/DP
Currently I have the nuveau drivers installed but the official nvidia drivers behave the same.
What can be wrong?!

More info:

the first time after starting Ubuntu the import sounddevice crashes python
all further tries will get stuck
I tried moving from python 3.8 to python 3.9 (someone said it fixed the issue) but it didn't.
I noted from dmesg that importing sounddevice is triggering a kernel bug!

[   71.162615] BUG: kernel NULL pointer dereference, address:<PHONE_NUMBER>000000
[   71.162628] #PF: supervisor instruction fetch in kernel mode
[   71.162633] #PF: error_code(0x0010) - not-present page
[   71.162638] PGD 16a91b067 P4D 16a91b067 PUD 16a91c067 PMD 0
[   71.162649] Oops: 0010 [#1] SMP NOPTI
[   71.162657] CPU: 11 PID: 2622 Comm: python3 Not tainted 5.15.0-50-generic #56~20.04.1-Ubuntu
[   71.162666] Hardware name: Intel(R) Client Systems NUC9i9QNX/NUC9i9QNB, BIOS QXCFL579.0054.2020.0810.2239 08/10/2020
[   71.162670] RIP: 0010:0x0
[   71.162683] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
[   71.162687] RSP: 0018:ffffb77bc1d7f820 EFLAGS: 00010202
[   71.162693] RAX:<PHONE_NUMBER>000000 RBX: ffff9ce7d3a40600 RCX:<PHONE_NUMBER>000007
[   71.162699] RDX: ffff9ce7c7b77800 RSI: ffff9ce7c6f78028 RDI: ffff9ce7d3a40660
[   71.162703] RBP: ffffb77bc1d7f848 R08:<PHONE_NUMBER>00006c R09: ffff9ce7d81723c7
[   71.162708] R10:<PHONE_NUMBER>000007 R11: ffffffffc0b1159c R12: ffff9ce7c7b77800
[   71.162712] R13:<PHONE_NUMBER>000001 R14: ffff9ce7c6f78028 R15: ffff9ce7d1bfc128
[   71.162716] FS:  00007f17a10ce740(0000) GS:ffff9cef60ec0000(0000) knlGS:0000000000000000
[   71.162723] CS:  0010 DS: 0000 ES: 0000 CR0:<PHONE_NUMBER>050033
[   71.162728] CR2: ffffffffffffffd6 CR3:<PHONE_NUMBER>db6005 CR4:<PHONE_NUMBER>3706e0
[   71.162733] DR0:<PHONE_NUMBER>000000 DR1:<PHONE_NUMBER>000000 DR2:<PHONE_NUMBER>000000
[   71.162737] DR3:<PHONE_NUMBER>000000 DR6: 00000000fffe0ff0 DR7:<PHONE_NUMBER>000400
[   71.162741] Call Trace:
[   71.162745]
[   71.162752]  hdac_hda_dai_open+0x86/0xc6 [snd_soc_hdac_hda]
[   71.162766]  snd_soc_dai_startup+0x34/0x70 [snd_soc_core]
[   71.162817]  ? snd_soc_component_module_get+0x4d/0x60 [snd_soc_core]
[   71.162865]  soc_pcm_open+0x13d/0x4d0 [snd_soc_core]
[   71.162912]  dpcm_be_dai_startup+0x1d3/0x590 [snd_soc_core]
[   71.162958]  dpcm_fe_dai_startup+0x89/0xa00 [snd_soc_core]
[   71.163005]  dpcm_fe_dai_open+0x95/0x260 [snd_soc_core]
[   71.163052]  snd_pcm_open_substream+0x95/0x330 [snd_pcm]
[   71.163075]  snd_pcm_open+0xf2/0x230 [snd_pcm]
[   71.163095]  ? wake_up_q+0x90/0x90
[   71.163106]  snd_pcm_capture_open+0x45/0x70 [snd_pcm]
[   71.163126]  snd_open+0xb9/0x1b0 [snd]
[   71.163143]  chrdev_open+0xd0/0x1c0
[   71.163154]  ? cdev_default_release+0x30/0x30
[   71.163164]  do_dentry_open+0x157/0x390
[   71.163174]  vfs_open+0x2d/0x40
[   71.163183]  do_open.isra.0+0x20d/0x480
[   71.163192]  path_openat+0x18e/0xe50
[   71.163202]  do_filp_open+0xb2/0x120
[   71.163211]  ? __check_object_size+0x14f/0x160
[   71.163220]  ? alloc_fd+0x58/0x190
[   71.163231]  do_sys_openat2+0x249/0x330
[   71.163241]  do_sys_open+0x46/0x80
[   71.163250]  __x64_sys_openat+0x20/0x30
[   71.163260]  do_syscall_64+0x59/0xc0
[   71.163268]  ? syscall_exit_to_user_mode+0x27/0x50
[   71.163278]  ? do_syscall_64+0x69/0xc0
[   71.163285]  ? syscall_exit_to_user_mode+0x27/0x50
[   71.163293]  ? __x64_sys_close+0x12/0x50
[   71.163301]  ? do_syscall_64+0x69/0xc0
[   71.163308]  entry_SYSCALL_64_after_hwframe+0x61/0xcb
[   71.163319] RIP: 0033:0x7f17a13a7d3b
[   71.163325] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
[   71.163333] RSP: 002b:00007ffc088c99f0 EFLAGS: 00000246 ORIG_RAX:<PHONE_NUMBER>000101
[   71.163340] RAX: ffffffffffffffda RBX:<PHONE_NUMBER>080802 RCX: 00007f17a13a7d3b
[   71.163345] RDX:<PHONE_NUMBER>080802 RSI: 00007ffc088c9bb0 RDI: 00000000ffffff9c
[   71.163349] RBP: 00007ffc088c9bb0 R08:<PHONE_NUMBER>000000 R09:<PHONE_NUMBER>000011
[   71.163353] R10:<PHONE_NUMBER>000000 R11:<PHONE_NUMBER>000246 R12:<PHONE_NUMBER>080802
[   71.163358] R13:<PHONE_NUMBER>000004 R14:<PHONE_NUMBER>000000 R15: 00007ffc088c9bb0
[   71.163364]
[   71.163367] Modules linked in: rfcomm cmac algif_hash algif_skcipher af_alg bnep binfmt_misc nls_iso8859_1 snd_soc_skl_hda_dsp snd_soc_intel_hda_dsp_common snd_soc_hdac_hdmi snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_soc_dmic snd_sof_pci_intel_cnl snd_sof_intel_hda_common soundwire_intel soundwire_generic_allocation soundwire_cadence snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_soc_hdac_hda snd_hda_ext_core snd_soc_acpi_intel_match snd_soc_acpi soundwire_bus ledtrig_audio snd_soc_core snd_compress ac97_bus snd_pcm_dmaengine intel_rapl_msr intel_rapl_common intel_tcc_cooling snd_hda_intel x86_pkg_temp_thermal snd_intel_dspcfg intel_powerclamp snd_intel_sdw_acpi snd_usb_audio snd_hda_codec coretemp snd_usbmidi_lib snd_hda_core mc snd_hwdep kvm_intel mei_hdcp snd_pcm i915 kvm iwlmvm crct10dif_pclmul ghash_clmulni_intel snd_seq_midi snd_seq_midi_event mac80211 aesni_intel snd_rawmidi crypto_simd cryptd libarc4 ttm snd_seq rapl snd_seq_device iwlwifi
[   71.163481]  drm_kms_helper intel_cstate btusb btrtl snd_timer cec btbcm btintel joydev rc_core input_leds bluetooth intel_wmi_thunderbolt snd mei_me cfg80211 fb_sys_fops ucsi_acpi syscopyarea ecdh_generic sysfillrect soundcore 8250_dw ee1004 ecc mei serio_raw typec_ucsi wmi_bmof sysimgblt typec intel_pch_thermal acpi_pad mac_hid acpi_tad sch_fq_codel ipmi_devintf ipmi_msghandler msr parport_pc ppdev lp parport ramoops drm reed_solomon pstore_blk pstore_zone efi_pstore ip_tables x_tables autofs4 hid_generic usbhid hid nvme crc32_pclmul igb psmouse nvme_core i2c_algo_bit i2c_i801 dca e1000e thunderbolt i2c_smbus intel_lpss_pci ahci intel_lpss xhci_pci libahci xhci_pci_renesas idma64 wmi video pinctrl_cannonlake
[   71.163603] CR2:<PHONE_NUMBER>000000
[   71.163608] ---[ end trace 072c2631fd8c8450 ]---
[   72.120150] RIP: 0010:0x0
[   72.120153] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
[   72.120155] RSP: 0018:ffffb77bc1d7f820 EFLAGS: 00010202
[   72.120157] RAX:<PHONE_NUMBER>000000 RBX: ffff9ce7d3a40600 RCX:<PHONE_NUMBER>000007
[   72.120159] RDX: ffff9ce7c7b77800 RSI: ffff9ce7c6f78028 RDI: ffff9ce7d3a40660
[   72.120160] RBP: ffffb77bc1d7f848 R08:<PHONE_NUMBER>00006c R09: ffff9ce7d81723c7
[   72.120162] R10:<PHONE_NUMBER>000007 R11: ffffffffc0b1159c R12: ffff9ce7c7b77800
[   72.120163] R13:<PHONE_NUMBER>000001 R14: ffff9ce7c6f78028 R15: ffff9ce7d1bfc128
[   72.120164] FS:  00007f17a10ce740(0000) GS:ffff9cef60ec0000(0000) knlGS:0000000000000000
[   72.120166] CS:  0010 DS: 0000 ES: 0000 CR0:<PHONE_NUMBER>050033
[   72.120167] CR2: ffffffffffffffd6 CR3:<PHONE_NUMBER>db6005 CR4:<PHONE_NUMBER>3706e0
[   72.120169] DR0:<PHONE_NUMBER>000000 DR1:<PHONE_NUMBER>000000 DR2:<PHONE_NUMBER>000000
[   72.120170] DR3:<PHONE_NUMBER>000000 DR6: 00000000fffe0ff0 DR7:<PHONE_NUMBER>000400

Wow, that sounds mysterious!
I don't really have a clue what could go wrong there, but there is one thing you could try: you could disable the call to _initialize():
https://github.com/spatialaudio/python-sounddevice/blob/841e0a1b2ea2367476248e5f0fc6878154949417/sounddevice.py#L2878
This should at least let you import sounddevice as sd.
After that, you can manually call sd._lib.Pa_Initialize() and see if that works.
If that works, the problem has likely to do with the redirection of stderr output, which is done in _initialize().
If not, I guess that's a problem with the underlying PortAudio library.
This issue may or may not be related: #90.

Hi, I only had now the chance to try it.
Commenting the Initialize() solves the crash.
This is what happens when I later do the Initialize manually:
Python 3.9.14 (main, Sep  7 2022, 23:43:29)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sounddevice as sd
>>> sd._lib.Pa_Initialize()
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5220:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM sysdefault
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5220:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM sysdefault
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5220:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM dmix
0

Thanks for the update!
According to your output, Pa_Initialize() is successful.
The many error messages are expected, and are the reason why I'm trying to redirect stderr.
So the problem indeed seems to be caused by the redirection. Can you please try the minimal reproducing example from https://github.com/spatialaudio/python-sounddevice/issues/90#issuecomment-1182709958?

Can you please try if #444 works?

Yes, the fix works!
I followed your commits in #444
I assume that the problem is already fixed if instead of installing with pip, one clones sounddevice from the github repo, right?

Thanks for checking this!

I assume that the problem is already fixed if instead of installing with pip, one clones sounddevice from the github repo, right?

No, it's not yet merged into this repo, because it hasn't been tested on Windows yet.
But you should be able to install it with something like:
python3 -m pip install git+https://github.com/mgeier/python-sounddevice@redirect-with-dup2

Uhm, is the branch redirect-with-dup2 correct? I installed that but still get the kernel fault.

Here's a bit more detail with respect to my previous comment.
On the same machine where I had previously fixed the issue with success I reinstalled Ubuntu, this time the 2022 LTS instead of the 2020 one. I installed the redirect-with-dup2 branch for sounddevice and I stumbled in the same issue.
I have reviewed the code, made some changes and I see that the kernel fault is triggered by Pa_initialize:
        _check(_lib.Pa_Initialize(), 'Error initializing PortAudio')
I will revert to Ubuntu 2020 LTS and see if things get solved...


fix Module fields order

Describe the bug
For unknown reasons, field order in a module might change and switch back to alphabetical order.
To Reproduce
Steps to reproduce the behavior:
Unknown
Expected behavior
Keep the field order defined at module creation.
Desktop (please complete the following information):

OS: Windows 10
Browser Chrome
Version 88.0.4324.190

@Phil-SGG we could not replicate this issue. If you can provide more details, we can try again.

Hello Denis,
According to your last mail dated from yesterday 18:35, I understand that this issue is fixed, right?
Best regards
Philippe

Hello Denis,
I understood your last email wrongly: the issue is not fixed just updated...
Well, the issue is random: I created several modules (about 10) and many times, when opening some later, fields were sorted according to their name. That's not convenient because fields are usually grouped by affinity and not names...
This issue also impacts data entering in Admin panel: when you click on the "record list" next to the module (3 horizontal bars icon), the interface displays fields in the same order. It makes the work more complex.
I re-ordered many times fields in impacted modules but it is useless: after a while, they are again alphabetically ordered. I wish you will succeed to reproduce it.
Best regards
Philippe

hi @Phil-SGG, I just tried to replicate the described issue on the latest version but I couldn't replicate it.
Since you're saying this is random - is it possible someone forgets to click on the "Save" button? We're not saving changes automatically and we don't show any warning if they're unsaved changes yet, so this might be the case.

Hello,
I did dozens of modules and it systematically comes after a while. Obviously, I saved all my work. Please try again.
I am testing the latest release and it is always there. Now all fields are sorted in alphabetical order. If you need, we can have a call about that.
Initial order:

Poids de la réponse
Poids question dans la rubrique
Poids de la réponse dans la rubrique
Poids rubrique dans note globale
Note Globale

After a while:
@.***D72C6B.34EED870]
Best regards
Philippe
De : Mia Arh @.>
Envoyé : mardi 6 avril 2021 18:12
À : cortezaproject/corteza-webapp-compose @.>
Cc : Philippe Tivolle @.>; Mention @.>
Objet : Re: [cortezaproject/corteza-webapp-compose] fix Module fields order (#229)
EXTERNAL SENDER: This email originated from outside of the organization. Do not click any links or open any attachments unless you recognize & trust the sender and know the content is safe.
hi @Phil-SGGhttps://github.com/Phil-SGG, I just tried to replicate the described issue on the latest version but I couldn't replicate it.
Since you're saying this is random - is it possible someone forgets to click on the "Save" button? We're not saving changes automatically and we don't show any warning if they're unsaved changes yet, so this might be the case.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/cortezaproject/corteza-webapp-compose/issues/229#issuecomment-814246114, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASS22ZIBBJJXDX2YFCNJOZLTHMXFTANCNFSM4YU5FLSQ.

I manage to replicate the issue in my env. I'll take a closer look in a next few days.
Meanwhile (if this is a blocker for you) the workaround is to manipulate compose_module_field table in the DB and set place manually. This affects only view in module editor and not any other list or table (order of fields there can be customised for each instance of the list).

This was resolved, I believe it's safe to close this issue.


400: Invalid label name - invalidArgument

I'm most of the way through restoring my email, and I got this error:
400: Invalid label name - invalidArgument
Any ideas?

Did the restore continue or die on that email?
On Sat, Jan 16, 2016 at 11:56 AM apendergrass<EMAIL_ADDRESS>wrote:

I'm most of the way through restoring my email, and I got this error:
400: Invalid label name - invalidArgument
Any ideas?
—
Reply to this email directly or view it on GitHub
https://github.com/jay0lee/got-your-back/issues/82.

--
Jay Lee

It died

Can you run the command again with:
--debug > label-failure-output.txt
at the end? This will create a file called label-failure-output.txt. Email the file to me<EMAIL_ADDRESS>(don't attach it here).
Jay

Thanks for the email. It looks like you had messages with the label "Migrated". While you can create a label named Migrated in the UI, Gmail API doesn't like that name. Can you try grabbing the current master branch of GYB:
https://github.com/jay0lee/got-your-back/archive/master.zip
and see if it fixes the issue for you? The messages should be restored to a label named "Migrated-Restored" to workaround the Gmail label naming limitation.

Thanks for being so responsive Jay!
Hm, this might be a lame error on my part, but now it doesn't run because I don't have (and can't figure out how to install) OpenSSL.
ImportError: No module named 'OpenSSL'
I'm on a mac... it looks like pyOpenSSL is a thing I could get... will downloading and installing OpenSSL also work? It's not straightforward to do it seems, but should be possible...
Thoughts?

Oh wait! It works if I get pyOpenSSL! Nevermind!
But it still crashes with the invalidArgument error.
I can also change the name of the label now that I know what it is, and re-backup and re-restore...

I did that, and it's now past where it was stuck before (based on the message count).  For future reference, the label name that I changed had actually been "Migrated/archive" so maybe the problem was that the slash got lost in the mix.

Made some further changes to label creation handling of invalid label names.


ArangoSearch refactor (part 2)

Open questions

What does the norm Analyzer feature do?

norm: the field normalization factor

Are the Analyzer features only necessary for the PHRASE() function?

For example the text type will produce frequency + norm + position and the PHRASE() AQL function requires frequency + position to be available.

Does "produce" here mean that if the features are enabled then the Analyzer will compute this metadata, otherwise it won't?

primarySort does not round-trip direction: "asc"/"desc" but converts it to asc: true/false, will it stay this way? Should we recommend to use asc instead?

FOR d IN myView SEARCH ... OPTIONS {waitForSync:true} RETURN d - is this "hidden" option supposed to be documented?

From 3.4 HTTP docs:

view can't be created with the links. Please use PUT/PATCH for links management.
Was that the reason for the separation of View Definition/Modification and View / Link Properties?

was the lookahead property of Views removed?

Does any encoding other than UTF-8 in the locale make any sense in ArangoDB? (What encodings do we accept in general, and are they always normalized?)

What are the ICU rules for tokenization? Which characters are considered word boundaries? Can this be somehow customized?

Do we offer less stemmers than Snowball offers? (fewer languages)

Using the following Analyzer like RETURN TOKENS('grüne', 'text_de_upper') returns GRuNE instead of GRUNE or GRUN, that seems wrong?!
 {
  "name" : "_system::text_de_upper",
  "type" : "text",
  "properties" : {
    "locale" : "de_DE.utf-8",
    "case" : "upper",
    "stopwords" : [ ],
    "accent" : false,
    "stemming" : true
  },
  "features" : [ ]
}

Analyzers accept objects for the properties attribute only - is this corrected throughout the docs? DocuBlocks?

is the type View property actually immutable? There is no other type to test it.

there are multiple places where the response object is described, but without code and error. Is this the case in other parts of the HTTP API docs as well? (result is not mentioned / described as containing the important query result)

should there be a way to start the server while stopwordsPath is missing/inaccessible to allow the user to remove Analyzers? Currently it is a fatal error and the user would have to guess the paths and create mock files only to get the server back up.

Information to add

ArangoSearch index consists of 2 parts:

column store where we store primary keys of ArangoDB documents
inverted index composed of terms from every field marked for indexation
document bodies are not stored (i.e. not a materialized view in that sense)

IN_RANGE() uses C locale that compares values using memcmp (Lexicographical order)
searching multiple indexed fields with a single expression not supported (like doc.attr[*] == ... to test attr as well as all its sub-attributes). Virtual fields would solve this probably (map multiple source attributes onto a View-only attribute that can be searched).
text analyzer uses ICU for tokenization, case conversion and accent removal (snowball for stemming), norm uses ICU for case conversion and accent removal, stem uses snowball.
Stopwords are applied after case/accent operations but just before stemming. This is done so because stemming could map several words to one and you wont be able to filter out only some of them. The same operations (case conversion, accent removal) are not applied to the stop words for performance reasons.  stopwords: ["grüne"]does not filter out "grüne". It gets stemmed to "grun" usingde_DE.utf-8, but stopwords: ["grun"]does not filter it out either. It has to bestopwords: ["grune"]`
Custom Analyzers are stored as documents, but the respective APIs need to be used because they validate requests and initialize analyzers for usage (during creation) - adding a document manually to _analyzers is not expected to work
SEARCH doc.attr != null is logically same as ALL and NOT (doc.attr == nullptr)
https://www.arangodb.com/docs/3.4/aql/fundamentals-type-value-order.html is not applicable "as is" to SEARCH clause.
How special values or the absence of attributes can be determined should be clarified:

absent value: NOT EXISTS() but requires View prop storeValues: "id"
presence of attribute: EXISTS() but requires View prop storeValues: "id"
attribute with explicit null value: doc.attr == null
(inversion: doc.attr != null, does not include documents with the attribute missing!)
empty string value: doc.attr == "" (only with identity analyzer???)
Boolean: doc.attr == true etc., but what does != true/false include?
arrays: not possible, only the individual elements (there is trackListPositions though)
objects: not possible, sub-attributes are indexed separately (e.g. doc.attr.nested.deep) - this also applies to objects in arrays! (behavior together with trackListPositions?)

Add info about ArangoSearch in clusters. Internally iresearch is exposed as yet another index type in arangodb. every link is index of type IRESEARCH_LINK but that's transparent for a user. cluster distribution of the view definition is handled through that index type. index/link are per shard.
Is it case conversion or case folding what analyzers with the case normalization feature do? https://www.w3.org/International/wiki/Case_folding
I would call it case conversion if it's basically mapping upper and lowercase characters, whereas case folding may go beyond that and is language aware
-> We use only case-conversion in analyzers
View properties such as consolidationPolicy > tier > threshold are not clipped to the min/max value but ignored if invalid
Check if this content is still in the docs:

In the context of ArangoSeach view FILTER always means post-processing, it doesn’t use any indices, but rather performs a full-scan over the result produced by a corresponding view expression.
SEARCH keyword does guarantee to use ArangoSearch indices allowing the most efficient execution plan.

sorted views also used with filters

Related PRs:

https://github.com/arangodb/arangodb/pull/9821
https://github.com/arangodb/arangodb/pull/9822


Rename start(from viewController: UIViewController)

Issue
When using start(from viewController: UIViewController), in order to present a view controller, one has to e. g. write code like viewController.present(viewControllerToPresent, animated: true) or viewController.navigationController?.push(viewControllerToPresent, animated: true).
While this works seamlessly, the naming of the presenting view controller is a bit misleading.
In larger function bodies, it's not instantly clear what ViewController viewController is.
Suggestion
By renaming start(from viewController: UIViewController), to e. g. start(from presentingViewController: UIViewController), one could easily solve this issue. Describing the semantics more precisely should fit the point of the whole method.

Makes sense. Would you be up for a PR?


Add Windows Dockerfiles for OracleJava

This is a proposal of some Windows Dockerfiles for Oracle Java Server JRE just like the Linux variants.
You also have to download the server-jre-8u112-windows-x64.tar.gz manually and put it into the windows directory and run build.sh (I'm running this from my Mac talking to a Windows Docker engine in a VMware Fusion VM).
Output:
$ ./build.sh
Sending build context to Docker daemon 56.31 MB
Step 1/4 : FROM microsoft/windowsservercore:latest
 ---> 93a9c37b36d0
Step 2/4 : ENV JAVA_PKG server-jre-8u112-windows-x64.tar.gz JAVA_HOME C:\\jdk1.8.0_112
 ---> Using cache
 ---> 90b91a9fa819
Step 3/4 : ADD $JAVA_PKG /
 ---> 6f17c4478b8f
Removing intermediate container 05346a0cb4bf
Step 4/4 : RUN setx /M PATH %PATH%;%JAVA_HOME%\bin
 ---> Running in eff4aa89c225

SUCCESS: Specified value was saved.
 ---> 44fb46479ea0
Removing intermediate container eff4aa89c225
Successfully built 44fb46479ea0
Sending build context to Docker daemon 56.31 MB
Step 1/4 : FROM microsoft/nanoserver:latest
 ---> 787d9f9f8804
Step 2/4 : ENV JAVA_PKG server-jre-8u112-windows-x64.tar.gz JAVA_HOME C:\\jdk1.8.0_112
 ---> Using cache
 ---> 2a771a3c444d
Step 3/4 : ADD $JAVA_PKG /
 ---> 7bf67b16f77f
Removing intermediate container 3bc245a3f50a
Step 4/4 : RUN setx /M PATH %PATH%;%JAVA_HOME%\bin
 ---> Running in b5d175f96985

SUCCESS: Specified value was saved.
 ---> 71b2e2fd4441
Removing intermediate container b5d175f96985
Successfully built 71b2e2fd4441
~/code/docker-images/OracleJava/java-8/windows on master
$ docker images
REPOSITORY                    TAG                   IMAGE ID            CREATED             SIZE
oracle/serverjre              8-nanoserver          71b2e2fd4441        4 seconds ago       1.07 GB
oracle/serverjre              8-windowsservercore   44fb46479ea0        14 seconds ago      8.845 GB
microsoft/nanoserver          latest                787d9f9f8804        11 days ago         918.3 MB
microsoft/windowsservercore   10.0.14393.321        93a9c37b36d0        7 weeks ago         8.675 GB
microsoft/windowsservercore   latest                93a9c37b36d0        7 weeks ago         8.675 GB
microsoft/nanoserver          10.0.14393.321        e14bc0ecea12        7 weeks ago         810.3 MB
~/code/docker-images/OracleJava/java-8/windows on master
$ docker run oracle/serverjre:8-nanoserver java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
~/code/docker-images/OracleJava/java-8/windows on master
$ docker run oracle/serverjre:8-windowsservercore java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)

I have no issue with merging this as a sample/reference for Windows Docker users.

I added the sha256 sum and fixed the file name to download.

https://github.com/oracle/docker-images/pull/209#issuecomment-260806729
I am ok with that too. But how about putting this under OracleJava/windows-java-8 instead?

If you prefer that directory, I can move it. I just started a similar directory structure as in https://github.com/docker-library/mongo/tree/master/3.2 or https://github.com/docker-library/golang.
With your suggestion it will be more visible.

I've moved the Windows Dockerfile and added samples for Java 7 as well. There is a problem ADDing the tar.gz of Java 7:
$ ./build.sh
Sending build context to Docker daemon 90.07 MB
Step 1/4 : FROM microsoft/windowsservercore:latest
 ---> 93a9c37b36d0
Step 2/4 : ENV JAVA_PKG server-jre-7u80-windows-x64.tar.gz JAVA_HOME C:\\jdk1.7.0_80
 ---> Using cache
 ---> c38c57b17de4
Step 3/4 : ADD $JAVA_PKG /
open \\?\Volume{5d4d676d-a6d7-11e6-8367-000c291d792b}\jdk1.7.0_80\COPYRIGHT: The system cannot find the path specified.

So I added a step to extract all files and ADD the extracted folder instead, but only for Java 7.

@StefanScherer, since this is a somewhat large contribution, can you please sign our OCA?

@brunoborges Sure, I'll do that.

@brunoborges I've send a photo of the signed OCA yesterday. Let me know if you need more.

@StefanScherer mind to forward the email to me? bruno dot borges at oracle dot com

@brunoborges I've sent the OCA. Please let me know if you need more.

@StefanScherer yeah I saw that already and working on it. Thx!

So as announced today in the keynote at DockerCon there now is a official image of Oracle Java SE for Linux. Will there be a Windows version soon? :-)

We will look into that, but no idea when (or if) we will have something on the Store.


Add contrainers round trip checks

Based on #181, such that all the CI can be used for this feature branch
Add round trips checks for Contract, Transfer, and Kit
Impl FromStr traits for Contract, Transfer, and Kit
Add checks for wrong armored strings

shit, again wrong target branch


More compact format

An idea for improvement, which optimizes away the dictionary style message wrappers. It might be beneficial when using serializers that optimize on binary level and does not hurt for other scenarios ;)
Also, the ID might not need to be globally unique for RPC scenarios with 2 participants. If there are more participants the result is undefined anyway (first comes, first serves?).
// From https://github.com/antfu/birpc/blob/main/src/index.ts MIT

export type ArgumentsType<T> = T extends (...args: infer A) => any ? A : never
export type ReturnType<T> = T extends (...args: any) => infer R ? R : never

export interface BirpcOptions<Remote> {
  /**
   * Names of remote functions that do not need response.
   */
  eventNames?: (keyof Remote)[]
  /**
   * Function to post raw message
   */
  post: (data: any) => void
  /**
   * Listener to receive raw message
   */
  on: (fn: (data: any) => void) => void
  /**
   * Custom function to serialize data
   *
   * by default it passes the data as-is
   */
  serialize?: (data: any) => any
  /**
   * Custom function to deserialize data
   *
   * by default it passes the data as-is
   */
  deserialize?: (data: any) => any
}

export type BirpcFn<T> = {
  /**
   * Call the remote function and wait for the result.
   */
  (...args: ArgumentsType<T>): Promise<Awaited<ReturnType<T>>>
  /**
   * Send event without asking for response
   */
  asEvent(...args: ArgumentsType<T>): void
}

export type BirpcReturn<RemoteFunctions> = {
  [K in keyof RemoteFunctions]: BirpcFn<RemoteFunctions[K]>
}

let idCounter = 1

enum RPCMode {
  request = 1,
  event = 2,
  resolve = 3,
  reject = 4,
}

type RPCMessage = [
  RPCMode,
  any, // args
  number | undefined | null, // id
  string | undefined | null // method
]

export function createBirpc<RemoteFunctions = {}, LocalFunctions = {}>(
  functions: LocalFunctions,
  options: BirpcOptions<RemoteFunctions>
): BirpcReturn<RemoteFunctions> {
  const {
    post,
    on,
    eventNames = [],
    serialize = (i) => i,
    deserialize = (i) => i,
  } = options

  const rpcPromiseMap = new Map<
    number,
    { resolve: (...args: any) => any; reject: (...args: any) => any }
  >()

  on(async (data) => {
    const msg = deserialize(data) as RPCMessage
    const [mode, args, id, method] = msg
    if (mode === RPCMode.request || mode === RPCMode.event) {
      let result, error: any
      try {
        // @ts-expect-error
        result = await functions[method](...args)
      } catch (e) {
        error = String(e)
      }
      if (mode === RPCMode.request && id) {
        if (error) {
          post(serialize([RPCMode.reject, error, id]))
        } else {
          post(serialize([RPCMode.resolve, result, id]))
        }
      }
    } else if (id) {
      const promise = rpcPromiseMap.get(id)
      if (mode === RPCMode.reject) promise?.reject(args)
      else promise?.resolve(args)
      rpcPromiseMap.delete(id)
    }
  })

  return new Proxy(
    {},
    {
      get(_, method) {
        const sendEvent = (...args: any[]) => {
          post(serialize([RPCMode.event, args, null, method]))
        }
        if (eventNames.includes(method as any)) {
          sendEvent.asEvent = sendEvent
          return sendEvent
        }
        const sendCall = (...args: any[]) => {
          return new Promise((resolve, reject) => {
            const id = idCounter++
            rpcPromiseMap.set(id, { resolve, reject })
            post(serialize([RPCMode.request, args, id, method]))
          })
        }
        sendCall.asEvent = sendEvent
        return sendCall
      },
    }
  ) as any
}

It might be beneficial when using serializers that optimize on binary level and does not hurt for other scenarios

That's true. But I guess you can also provide a custom serialize/deserialzer to do even more optimaiztion if needed.

If there are more participants the result is undefined anyway

This package is designed with mutlitple participants in mind. And using guid from nanoid ensures the collision in a exterme low chance that can be ignored. I don't think the id counter is a good idea in this case. (or we could allowing setting a custom function to generate id if the case that you know exactly what you are doing)

I see, this could indeed be handled by the serializer.
Ok, a unique ID does never hurt ;)
I'll close it then.


IP fragmentation

We need to be able to handle fragmented IP packets.

Partially addressed by #36.


Fix #968 Message metadata support

This pull request resolves #968
Category (place an x in each of the [ ])

[ ] bolt (Bolt for Java)
[ ] bolt-{sub modules} (Bolt for Java - optional modules)
[x] slack-api-client (Slack API Clients)
[x] slack-api-model (Slack API Data Models)
[ ] slack-api-*-kotlin-extension (Kotlin Extensions for Slack API Clients)
[x] slack-app-backend (The primitive layer of Bolt for Java)

Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to the those rules.

@srajiang Thanks for your review!


Upgrade to recent SQLite version

Is there any chance to get this great extension available for a more recent version of SQLite?
Thanks!

@david-bouyssie I don't have time at the moment but in the meantime, can you describe the issues you are having with more recent versions of SQLite? Are you getting specific errors, for example? Do you have any ideas on what would need to be done? Are you willing to attempt to do this and submit a pull request?

I have not tested yet.
I was just referring to this known issue: https://github.com/ryanhomer/sqlite3-compression-encryption-vfs#knows-issues
Is this issue already solved?
Regarding the PR, I don't think I will be able to manage it, but I can do some testing for sure.
Thanks!

I just spent the last few days tracking down the incompatibility issue (see #5). The fix now makes it compatible up to version 3.15.2. Unfortunately, the next version, 3.16.0, introduces some breaking API changes so I'll have to address this separately.

Now updated to work with the latest version of sqlite3, currently 3.34.0.

👏 👏 👏


Add Ludwig

Types of Changes
What types of changes does your PR introduce? Put an x in all boxes that apply

[x] New addition to list
[ ] Fixing bug in existing item in list
[ ] Removing item from list
[ ] Changing structure (organization) of list

Proposed Changes
A nice app that allows you to check a piece of the phrases, words, and sentences (supports wildcards) against existing text bases like The New York Times, Encyclopedia Britannica ...
PR Checklist
Put an x in the boxes once you've completed each step. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING guide
[x] I have explained why this PR is important
[x] I have added necessary documentation (if appropriate)

Further Comments

Please take a look at the cleaned version #385


[2.6.x] Adding a node pool to an existing RKE1 cluster fails

Rancher version: 2.6.x (1a57856)
Steps to reproduce:

Create a RKE1 cluster with a node driver
Edit the cluster config by adding an additional node Pool
Click save

Result
The node pool is not added

On 2.6-head commit id: 1a57856 Reproduced the issue

Deploy an AWS RKE1 cluster.
Edit Config --> Add a nodepool
The nodepool doesnt get added
The UI is not sending nodepool request.

On 2.6.0 this usecase works.


Redesign UI of the testimonial section.

Description
I would like to enhances the uiof the testimonial section by adding some cool effects and bo shadows.
So,please assign this to me.
Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the [Contributing Guidelines]
[X] I have read the discussion tab thoroughly and got the project idea
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

@Pragati-3003 Ok go for it, also change the title of mine as a project admin not as a mentor

@Pragati-3003 Ok go for it, also change the title of mine as a project admin not as a mentor

Okie.


It does not work

Expected behavior
Generate json/yaml file
Current behavior
Shows this message
panic: assignment to entry in nil map
goroutine 1 [running]:
main.parse(0xc420012b80, 0x6, 0x3, 0xed21616c2, 0x2756cd00, 0x0, 0xc42000b020, 0x1c, 0xc42011c000, 0xa, ...)
C:/Users/Mohamed/go/src/github.com/mlabouardy/swaggymnia/swagger.go:51 +0x32c
main.(*Swagger).Generate(0xc4201197d8, 0x7ffca03811e1, 0x1d, 0x7ffca0381202, 0x9, 0x5f8620, 0x4)
C:/Users/Mohamed/go/src/github.com/mlabouardy/swaggymnia/swagger.go:83 +0x11f
main.main.func1(0xc420088840, 0x100, 0xc420088840)
C:/Users/Mohamed/go/src/github.com/mlabouardy/swaggymnia/app.go:57 +0x180
github.com/urfave/cli.HandleAction(0x5bd740, 0x608ba0, 0xc420088840, 0xc42000e400, 0x0)
C:/Users/Mohamed/go/src/github.com/urfave/cli/app.go:502 +0xd4
github.com/urfave/cli.Command.Run(0x5fb2c0, 0x8, 0x0, 0x0, 0xc4200128e0, 0x1, 0x1, 0x602cf6, 0x1e, 0x0, ...)
C:/Users/Mohamed/go/src/github.com/urfave/cli/command.go:210 +0xb87
github.com/urfave/cli.(*App).Run(0xc4200c41c0, 0xc42000e0c0, 0x6, 0x6, 0x0, 0x0)
C:/Users/Mohamed/go/src/github.com/urfave/cli/app.go:259 +0x7b7
main.main()
C:/Users/Mohamed/go/src/github.com/mlabouardy/swaggymnia/app.go:66 +0x515
Steps to reproduce the behavior
swaggymnia generate -i rest.json -c config.json yaml

Here is a fixed binary for MacOS. If Windows people or Linux people need a new binary please let me know and I can make one
https://s3-us-west-2.amazonaws.com/jrpublic/swaggymnia

Can we get one for windows?

https://s3-us-west-2.amazonaws.com/jrpublic/swaggymnia.exe

Hi! I'm not sure how to build Go Apps, do you have a binary for Linux? Cheers :beers:

Here are all 3
Windows - 64bit
https://s3-us-west-2.amazonaws.com/jrpublic/windows/swaggymnia.exe

Mac
https://s3-us-west-2.amazonaws.com/jrpublic/mac/swaggymnia

Linux - 64bit
https://s3-us-west-2.amazonaws.com/jrpublic/linux/swaggymnia

https://github.com/Fyb3roptik/swaggomnia

@Fyb3roptik I am still facing the issue. In this

I am not able to convert the output into Json format.
Not able to see API information using yaml file.

Well for 1 I have posted the new repo above and 2, you dont use the yaml file there, you use it on the swagger site!

I am using your new repo and the above question arises from that repo. Please add the steps to generate in the readme.md file on that repo.

You will want to find the file itself and not try to browse to it via a url. It should create the file in the same directory as you're running it in.
I move the json file, config file and swaggomnia into a folder and run it, it should output either a json file or yaml file depending on what you ran


A valid signed response contained a valid signed assertion triggers "invalid signature"

A bug is triggered when a SAML Response is processed in which the response contains a valid top-level signature and also an assertion which itself contains a valid signature.  Currently this library will throw Invalid Signature in this case, when in fact this is not the case.
According to the SAML specification, this is a valid response. Around like 3039 and 3040, this is found in the specification:

A SAML assertion may be embedded within another SAML element, such as an enclosing  or a request or response, which may be signed.

The faulty code is in ./lib/passport-saml/saml.js around line 369. As I understand this Xpath syntax, it's doing a recursive search of all nodes to look for any signature:

var xpathSigQuery = ".//*[local-name(.)='Signature' and " +
"namespace-uri(.)='http://www.w3.org/2000/09/xmldsig#']";

So this finds the top-level signature as well as a nested assertion signature.
Then just a few lines later, there is this check:

if (signatures.length != 1)
return false;

I think the fix is to improve the Xpath syntax to only look for a top-level signature, but need to research this a bit further to confirm spec-compliance and how validateSignature is used in this library.

I've also left some related comments in the code: https://github.com/bergie/passport-saml/commit/9ce59924ab849bb605ff7e406f1b5fcce09486bb

Perhaps some additional insight here:
In validateSignature there are two args, in the signature: fullXml and currentNode. I originally assumed that the significance of these two variables with was that the former represented the full XML document while the later represents the XML for the current node, but they are otherwise the same.
However, that's not the only diference between the two variables. fullXml is of type Buffer, while currentNode is a parsed-DOM object.
I wonder if the origin of the two variables was really about providing the same data in both a Buffer format and DOM object format.
Looking at the passport-saml-encrypted fork,  the validateSignature function takes just one XML arg and parses it internally into the two formats.
The distinction is interesting because it means in the passport-saml-encrypted fork, the full XML document is not used when validating the signature on an assertion, but here it is.
I'm currently not sure which fork doing the right thing. I can't just switch to the passport-saml-encrypted fork, because it has some missing features like InResponseTo validation and the extra security check in validateSignature to check the number of security references.

Turns out two other online validators also give "invalid signature" for the same SAML response, so the root cause of this case might actually turn out to be the the signature was invalid. I'll try to update this ticket when the root cause is determined.

I confirmed that the actual cause was that the signature was indeed invalid. My SAML integration partner had given me their Metadata XML file for production, but their SAML responses were signed with a testing cert instead.  Sigh.


Parsing a return macro @:pos crashes the parser

👋 Hello,
given a macro like this:
class TestCrashMacro {
	static function combine(structure:Expr):Expr {
		if (structure.expr.match(EDisplay(_, DKMarked))) {
			return macro @:pos(Context.currentPos()) ($structure : {});
		}
        return Expr();
	}
}

will crash rename.js when parsing @:pos.
haxe_ValueException [Error]: failed to parse src/SecondRenameCrash.hx - Exception: invalid token tree structure - found:[@]
Called from tokentree_walk_WalkTypedefBody.walkTypedefCurlyBody (rename.js line 12750 column 26)

if you have more of those crashes, I would like to prioritise them, since most likely they are things that break tokentree which affects a lot more than just renaming.

even though I haven't made a release or commit to haxe-rename lib, both this and the crash from https://github.com/HaxeCheckstyle/haxe-rename/issues/6 should be fixed in vshaxe 2.32.0 and above, since they come with an updated tokentree library


Unique Advances v2

Unique Advances should have a field (similar to Ancestries) where the name of a Talent could be written in order to automatically fetch it from Compendia. Example of possible Unique Advances, covering Talents, Skill Ranks, Magick Spells, Languages and Focuses:

Reframing this as an update to unique advances in order to support sub types (skill ranks, talents, focus & other).
Other is for more creative / narrative stuff (like languages etc), which doesn't need any extra logic.
This should be implemented together with item sheets v2.

Also, since UA can be used to improve non-profession skills, there might be an option for a UA to be a rank in a given skill


feature:  插件调试支持按服务实例维度进行调试 (closed #1344)

Codecov Report

Merging #1474 (50bb5b4) into v2.3.1-dev (0bce078) will decrease coverage by 0.05%.
The diff coverage is 29.41%.

@@              Coverage Diff               @@
##           v2.3.1-dev    #1474      +/-   ##
==============================================
- Coverage       73.77%   73.73%   -0.05%
==============================================
  Files             369      369
  Lines           25152    25183      +31
==============================================
+ Hits            18557    18569      +12
- Misses           6595     6614      +19

Impacted Files
Coverage Δ

apps/backend/plugin/views.py
41.23% <8.82%> (-1.19%)
:arrow_down:

apps/backend/plugin/serializers.py
79.20% <61.53%> (-0.89%)
:arrow_down:

apps/node_man/exceptions.py
100.00% <100.00%> (ø)

apps/backend/subscription/steps/plugin.py
54.45% <0.00%> (-0.63%)
:arrow_down:

apps/node_man/handlers/job.py
85.19% <0.00%> (+0.30%)
:arrow_up:

...nents/collections/agent_new/choose_access_point.py
95.37% <0.00%> (+0.46%)
:arrow_up:

apps/node_man/handlers/validator.py
84.21% <0.00%> (+0.58%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[Flaky] ResourceFlavor controller when one clusterQueue references resourceFlavors Should delete the resourceFlavor when the corresponding clusterQueue no longer uses the resourceFlavor

What happened:
Flaky test:
ResourceFlavor controller when one clusterQueue references resourceFlavors Should delete the resourceFlavor when the corresponding clusterQueue no longer uses the resourceFlavor

{Timed out after 30.001s.
Expected success, but got an error:
    <*errors.StatusError | 0xc00062ca00>:
    resourceflavors.kueue.x-k8s.io "flavor" not found
    {
        ErrStatus: {
            TypeMeta: {Kind: "", APIVersion: ""},
            ListMeta: {
                SelfLink: "",
                ResourceVersion: "",
                Continue: "",
                RemainingItemCount: nil,
            },
            Status: "Failure",
            Message: "resourceflavors.kueue.x-k8s.io \"flavor\" not found",
            Reason: "NotFound",
            Details: {
                Name: "flavor",
                Group: "kueue.x-k8s.io",
                Kind: "resourceflavors",
                UID: "",
                Causes: nil,
                RetryAfterSeconds: 0,
            },
            Code: 404,
        },
    } failed [FAILED] Timed out after 30.001s.
Expected success, but got an error:
    <*errors.StatusError | 0xc00062ca00>:
    resourceflavors.kueue.x-k8s.io "flavor" not found
    {
        ErrStatus: {
            TypeMeta: {Kind: "", APIVersion: ""},
            ListMeta: {
                SelfLink: "",
                ResourceVersion: "",
                Continue: "",
                RemainingItemCount: nil,
            },
            Status: "Failure",
            Message: "resourceflavors.kueue.x-k8s.io \"flavor\" not found",
            Reason: "NotFound",
            Details: {
                Name: "flavor",
                Group: "kueue.x-k8s.io",
                Kind: "resourceflavors",
                UID: "",
                Causes: nil,
                RetryAfterSeconds: 0,
            },
            Code: 404,
        },
    }
In [It] at: /home/prow/go/src/sigs.k8s.io/kueue/test/integration/controller/core/resourceflavor_controller_test.go:85 @ 04/17/23 19:11:13.438
}

How to reproduce it (as minimally and precisely as possible):
https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_kueue/703/pull-kueue-test-integration-main/1648040056281108480
Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version):
Kueue version (use git describe --tags --dirty --always):
Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

/assign

We discussed this offline.
We only saw this fail once and we can't reproduce. It also doesn't show in the periodic testgrid https://testgrid.k8s.io/sig-scheduling#periodic-kueue-test-integration-main&width=20
/close

/reopen
https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_kueue/742/pull-kueue-test-integration-main/1654022279161450496

@alculquicondor please reopen this isssue

/reopen

Is not the same issue. I think the old one's gone. Now we received:
Message: "Operation cannot be fulfilled on clusterqueues.kueue.x-k8s.io "foo": the object has been modified; please apply your changes to the latest version and try again",
Code: 409

Is not the same issue. I think the old one's gone. Now we received: Message: "Operation cannot be fulfilled on clusterqueues.kueue.x-k8s.io "foo": the object has been modified; please apply your changes to the latest version and try again", Code: 409

@macaptain Can you share the full error log, like the description of this issue?

Is not the same issue. I think the old one's gone. Now we received: Message: "Operation cannot be fulfilled on clusterqueues.kueue.x-k8s.io "foo": the object has been modified; please apply your changes to the latest version and try again", Code: 409

@mcariatm Can you share the full error log, like the description of this issue?

https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_kueue/742/pull-kueue-test-integration-main/1654022279161450496
I fixed it here :
https://github.com/kubernetes-sigs/kueue/pull/748

/assign


search & scroll

Sorry for my bad english
Example:
Long list of numbers (1 ... 99)
If at first to scroll to end array (ex. 99) and then select a search (ex. 1), the result is not placed at the beginning of the selected values (1, 10, 11 etc).

hi @aldimol , I understand your point.
Probably we should scroll to top if the filtering has some effect.
What do you think about?

Need to make several changes:

http://take.ms/qLdyk
http://take.ms/ucyRl
http://take.ms/vbojh
http://take.ms/flRFn


ItemEnergy/IChargableItem don't charge

Because most of the items don't have any nbt on them when created they can't be charged (e.g they are not accepted in charging blocks). So when a battery is attempted to be put into a charging slot since it has no nbt defined it capacity is read as 0.
Items with the correct energy nbt can be charged.
Version: 2o.5.0.ALPHA

Think this is now fixed :)


Use proper var names in trait definition

The underscores are too confusing, plus IDE automatically copies them into the implementation, and the _ is not what most people would expect.

The underscores are too confusing
But then you have Clippy warnings...

The underscores are too confusing

But then you have Clippy warnings...

Why?  The rusqlite will compile just fine (see the build log - there are no related issues). On the other hand, the implementer of the trait will be responsible for either using them or preceding them with an underscore.  This is a common practice.  But i do expect all parameter names to be properly named so I know what they are without looking them up.

@nyurik
Sorry, you are right !


IDVA6 1298 Add user api - throw error if environment variable does not exist

Link to Jira:
https://companieshouse.atlassian.net/browse/IDVA6-1298
Changes:

getEnvironmentValue throws an error if a key that is being fetched does not exist.

CI: No security warnings found


SearchV3: Visual fixes

@keybase/react-hackers

[x] Fix some icons becoming vertically misaligned in latest build (closes DESKTOP-4428)
[x] Fix desktop profile search close icon not working anymore (after click-outside-to-close PR)
[x] Center and add some margin on top of the spinner while waiting for results. Spinner when looking for results is too big - let’s make it 40px
[x] Your username should be black_75
[x] Usernames of non-Keybase people should be black_75, currently they’re black_40
[x] Chat bottom divider is missing in group building box
[x] Could we add some hover effect to the search box on the profile - like a change of opacity
[x] Mobile profile: Only the magnifying glass and the “Search people” are clickable - it should be the whole bar.


Is it possible to disable merging to master?

Hi, I use this for publishing maven packages, and it usually works great, so thank you! But now I need to create a new repo from another existing repo, and I would like to publish the old releases that are way behind the master branch.
When I try locally, it just hangs forever. When I use GitHub actions it attempts to merge into master and fails when there is a merge conflict.
So basically, can I configure it to work the same as standard maven publishing if the release is outdated, without retroactively reverting back to standard gradle publishing?

Hey, sorry for the late reply
Could you elaborate?
Are you looking into publishing just to another branch other than master?


Updating crosswalk driver to recent chromedriver releases

Hi,
Are there plans to update this webdriver to fix old issues such as
https://bugs.chromium.org/p/chromedriver/issues/detail?id=1225
(fixed in chromedriver 2.20) ?
Thank you

@eduramiba
https://github.com/rkavalap/crosswalk-web-driver/releases


Fix typo in Marge Simpson full name used in sample

Her full first name was missing an "r". This PR fixes it.
Context
This tiny typo appears in the documentation here.
Contributor Checklist

[x] Review Contribution Guidelines
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] ~Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective~
[ ] ~Provide unit tests (under <subproject>/src/test) to verify logic~
[ ] ~Update User Guide, DSL Reference, and Javadoc for public-facing changes~
[ ] ~Ensure that tests pass locally: ./gradlew <changed-subproject>:check~

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@LouisCAD could you fix the DCO check? https://github.com/gradle/gradle/pull/13771/checks?check_run_id=866964500

@big-guy I could, but that cannot be done through GitHub UI and requires to clone the entire repo or update a fork (if any) for just 2 typos.
There's plenty of repos of Apache 2 Licensed software that don't have this inconvenient requirement, including among your dependencies (e.g. Kotlin).
Can you ditch this apparently unneeded/dissuasive DCO check, at least for minor documentation edits?

@LouisCAD I wish we could.  Thanks for pointing out the typo, I've fixed it on master.

I wish we could

@big-guy Can you tell why you can't?


Atomically read /proc

Reading from the /proc/ pseudo-filesystem using a buffered reader such as std::fstream and/or partially reading the file causes race conditions.  The kernel may alter the /proc file after only parts have been read.  This results in incorrect readings of the respective values (e.g. TLB shootdowns).
To my understanding, the only sound approach is to atomically read the entire /proc file once, then parse it for the needed counter(s).
According to the UnixWare 7 documentation:

Although process state and consequently the contents of /proc files can change from instant to instant, a single read(2) of a /proc file is guaranteed to return a ``sane'' representation of state, that is, the read will be an atomic snapshot of the state of the process. No such guarantee applies to successive reads applied to a /proc file for a running process.
I assume this applies to Linux, too.

The following code snippet roughly demonstrates how this can be done:
int fd_proc_interrupts;

void open_interrupts()
{
    fd_proc_interrupts = open("/proc/interrupts", O_RDONLY|O_DIRECT); // avoid kernel-side buffering with O_DIRECT, but I am uncertain whether this has an effect on pseudo-fs...
    if (fd_proc_interrupts == -1) { // some form of error handling
        const auto errsv = errno;
        std::cerr << "Failed to open '/proc/interrupts': " << std::strerror(errno) << std::endl;
        std::exit(EXIT_FAILURE);
    }
}

const char * read_interrupts()
{
    static char buf[20000]; // user-space I/O buffer
    pread(fd_proc_interrupts, buf, sizeof(buf), /* offset= */ 0); // *atomically* read entire file; make sure `buf` is sufficiently large
    return buf;
}

/** Call this with the pointer returned by `read_interrupts()`. */
uint64_t get_TLB_shootdowns(const char *str) { /* TODO: parse and return count */ }

// finally, close `fd_proc_interrupts`

The recommended changes should be applied to

readTLBShootdownCount
readIObytes

Hi Immanuel. Thanks for the suggestion. This is no doubt a good idea. Pull request would be welcome ;-) Viktor

The PR #2 is now more than three months old.  Any opinions?


SSLError(MaxRetryError) thrown when using a proxy.

Describe the bug

I am using a proxy to message users and am currently facing an issue where the moment I want to message a user after setting the proxy it throws this :
Retrying due to SSLError(MaxRetryError("HTTPSConnectionPool(host='www.reddit.com', port=443): Max retries exceeded with url: /api/v1/access_token (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1091)')))")) status: POST https://oauth.reddit.com/api/compose/.
Expected behavior

Able to successfully send a message
Code/Logs

Code:
session = Session()
# proxies is just a list of proxies I have to rotate between
session.proxies["https"] = proxies[idx]
reddit = praw.Reddit(
    client_id=client_id,
    client_secret=secret_key,
    password=password,
    requestor_kwargs={'session': session},
    user_agent=user_agent,
    username=username,
)
logging.info(f"Current IP address: {reddit._core._requestor._http.proxies}")
try:

    reddit.redditor(author).message(
        f"""Hi {author}""", message
    )

except APIException as api_e:
    logging.error(f"Unable to send message from {username}")
    logging.error(f"{api_e}")

except ClientException as client_e:
    logging.error(f"Unable to send message from {username}")
    logging.error(f"{client_e}")

except Exception as e:
    logging.error(f"Unable to send message from {username}")
    logging.error(f"{e}")

Logs:
2021-05-27 22:44:31,217::INFO::Current IP address: {'https': https://user:pass@addr:port'}
2021-05-27 22:44:31,931::WARNING::Retrying due to SSLError(MaxRetryError("HTTPSConnectionPool(host='www.reddit.com', port=443): Max retries exceeded with url: /api/v1/access_token (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1091)')))")) status: POST https://oauth.reddit.com/api/compose/

System Info

OS: macOS BigSur Version 11.3
Python: 3.7
PRAW Version: 7.2.0

Are you able to access www.reddit.com via the proxy through other means?

Webbrowser
Using the requests library directly

So I fixed it by changing two things:

The proxy itself was causing an issue so I contacted my provider and they made me update it using a different format.
Changing https to http in session.proxies["https"] = proxies[idx].


Redundant temperature entities select and sensor

For my washing machine, there are two redundant entities for temperature - one select and one sensor entity.

My guess is that the sensor provides the current reading, and the select allows you to set the desired temperature. Which could mean there may be entities missing, as I'm not picking up a sensor for state at all.
@rowysock?

@TheKamakaZi yes, my original idea was to leave the temperature as a sensor to provide current reading and keep the nice numeric HA entity with a nice graph history
In reality, a sensor for temperature displays always the same thing as select, so I decided to remove the duplicate sensors in #82

Thanks for the explanation, @rowysock :)
I do have a concern with this approach, though. When adding state from the select to my dashboard, it pulls it in as a dropdown (which is obviously default behaviour). However, there doesn't seem to be a clear-cut way to have it render state as text in the same manner as a sensor...
...unless I'm missing something blatantly obvious.

We can easily provide both selects and sensors and have them duplicated. @TechHummel what do you think?


Transcriptions from sound assets that are in memory rather than disk

Would it be possible to create transcriptions from sound assets that are in memory rather than stored on disk?  Right now the blueprint only accepts a String as the "file" property.  This requires all sound assets to be saved to disk before they can be transcribed.

I don't have time to do this right now. If you have experience, you can try to do it yourself and add it as a pull request. I will merge it.


Feature/#120 add tooltips to matrices

Description of what has changed

Added tooltips to all matrices to show technique ID or subtechnique ID when hovering over cells.
Issues addressed by pull request

Closes #120

Sure thing! Tooltips for tactic IDs have been added.


webcodecamjquery.js error

webcodecamjquery.js Line 476 is throwing an error when I tried it with the simple_buildselect_jquery.html
Current:
sourceId: videoSelect[videoSelect.selectedIndex].value
I think this should be:
sourceId: videoSelect.val()

Hello,
It is remained from the original (js) script
Thanks, fixed


add AVbin

I'm working on getting videos working within expyfun, so avbin will be important in the long term to allow decoding of compressed videos.

LGTM, feel free to merge if it works for you

thanks @drammock :)


CircleCI doesn't execute 'jest' command

https://discuss.circleci.com/t/command-jest-doesnt-get-executed-runs-endless/38731
In the dummy github-actions project its working quite fine.. ander there I am using nearly the same config.yaml
https://github.com/agile-ts/github-actions-test/blob/master/.circleci/config.yml

fixed in 32734de47eeb740bd97ce06c521bbf8178eb067d

fixed in 32734de47eeb740bd97ce06c521bbf8178eb067d


issue on style blue

Challenge Use CSS Selectors to Style Elements has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

CatPhotoApp

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

@anweshd Thank you for reporting this issue. Your code does not meet the requirements for the challenge. Please read the instructions once more or head to the Gitter chat rooms for more help.
This is a standard message notifying you that this issue seems to be a request for help. Instead of asking for help here, please click the "help" button on the challenge on Free Code Camp, which will take you to the help chatroom for that specific challenge. You can also view our full list of official chatrooms.
If you think I'm wrong in closing this issue, please reopen it and add further clarification. Thank you, and happy coding!

this is my code and its not working as suggested on gitter

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

this is my code and its not working as suggested on gitter

this is my code and its not working as suggested on gitter.
`
Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.`

the blue color is not working...how can I proceed? please let me know thank you.


Split identity allocation into pkg/allocator and abstracted Backends

We intend to add CRD backed Identities (https://github.com/cilium/cilium/pull/8236) and that requires some refactoring. This PR refactors the allocation business logic so that it is collected into pkg/allocator. The existing kvstore specific logic remains in pkg/kvstore/allocator. Note that pkg/kvstore supports multiple backends of its own, consul or etcd. pkg/kvstore/allocator.Allocator implements (and is) a pkg/allocator.Backend. This is used by the node-global identity allocator.
Overall, nothing should behave differently than before.

This change is

Coverage decreased (-0.1%) to 44.102% when pulling 339731cc33d1eb09ba5e46c0d3de4a1f8a16ea5e on raybejjani:refactor-allocator into c01aa87eb787977b0eff807a8d8e770d34747639 on cilium:master.

test-me-please

test-nightly

test-me-please

test-nightly

test-me-please

test-me-please

test-nightly

test-me-please

test-nightly

test-me-please

test-me-please

test-me-please

test-nightly

test-me-please

test-nightly

test-me-please

test-nightly

test-me-please

test-nightly

@raybejjani Does this already have all comments addressed?

The nightly test failure seems invalid - the test says we are testing upgrade from v1.3 --> master of Cilium, but we don't support the v1.3 --> v1.5 / v1.6 upgrade path directly IIRC.

test-me-plelase

test-me-please

test-nightly

@tgraf Yes, I think I have. Other's will have to confirm, however, since I responded to some comments saying no, and maybe my reasons were not convincing. I have also squashed all temporary commits in case you end up merging it (i.e. it is merge ready)

test-me-please

test-nightly

Only the nightly test from 1.3 to master failed which is something we don't even support as @ianvernon pointed out correctly.