Requirement VaadinAccessDeniedHandler

spring-vaadin-security requires a custom AccessDeniedHandler
Situation:

MainUI with annotations

SpringViewProvider setup as navigator.

Single view, mapped to "" (Main view)

Secured with a @Secured annotation.

The problem found is that the SpringViewProvider does not get a chance to check the view because, it's the main view, and the request has not reached the MainUI from the chain, the SpringViewProvider is only used when accessing views through Vaadin navigation calls.
The SecurityFilterChain however is able to see that the MainView object in question is secured and does the following:
20:54:39.696  | DEBUG | o.s.s.w.a.i.FilterSecurityInterceptor                             | beforeInvocation:194                | Secure object: FilterInvocation: URL: /; Attributes: [hasRole('ROLE_USER')]
20:54:39.696  | DEBUG | o.s.s.w.a.i.FilterSecurityInterceptor                             | authenticateIfRequired:310          | Previously Authenticated: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d19a66cc: Principal: org.springframework.security.core.userdetails.User@2dc2cc: Username: anon; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ANONYMOUS; Credentials: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_ANONYMOUS
20:54:39.696  | DEBUG | o.s.s.a.v.AffirmativeBased                                        | decide:65                           | Voter: org.springframework.security.web.access.expression.WebExpressionVoter@23134312, returned: -1
20:54:39.696  | INFO  | o.s.b.a.a.l.AuditListener                                         | onApplicationEvent:42               | AuditEvent [timestamp=Wed Feb 04 20:54:39 CET 2015, principal=anon, type=AUTHORIZATION_FAILURE, data={type=org.springframework.security.access.AccessDeniedException, message=Access is denied}]
20:54:39.696  | DEBUG | n.e.i.c.a.l.LoggingAspect                                         | logAround:45                        | Enter: org.springframework.boot.actuate.audit.AuditEventRepository.add() with argument[s] = [AuditEvent [timestamp=Wed Feb 04 20:54:39 CET 2015, principal=anon, type=AUTHORIZATION_FAILURE, data={type=org.springframework.security.access.AccessDeniedException, message=Access is denied}]]
Hibernate: insert into AUTH__AUDIT_EVENT (EVENT_DATE, EVENT_TYPE, PRINCIPAL) values (?, ?, ?)
Hibernate: insert into AUTH__AUDIT_EVENT_DATA (ID, NAME, VALUE) values (?, ?, ?)
Hibernate: insert into AUTH__AUDIT_EVENT_DATA (ID, NAME, VALUE) values (?, ?, ?)
20:54:39.711  | DEBUG | n.e.i.c.a.l.LoggingAspect                                         | logAround:51                        | Exit: org.springframework.boot.actuate.audit.AuditEventRepository.add() with result = null
20:54:39.711  | DEBUG | o.s.s.w.a.ExceptionTranslationFilter                              | handleSpringSecurityException:172   | Access is denied (user is not anonymous); delegating to AccessDeniedHandler
org.springframework.security.access.AccessDeniedException: Access is denied
	at org.springframework.security.access.vote.AffirmativeBased.decide(AffirmativeBased.java:83) ~[spring-security-core-3.2.5.RELEASE.jar:3.2.5.RELEASE]
	at org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:206) ~[spring-security-core-3.2.5.RELEASE.jar:3.2.5.RELEASE]
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) ~[spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.5.RELEASE.jar:3.2.5.RELEASE]

...

FilterSecurityInterceptor denies access to the secured object
ExceptionTranslationFilter kicks in and handles the AccessDeniedException

This redirects the browser to the default spring /error mapping and generates a default error page when none is configured.
This is correct behavior of spring-security but not desirable for a Vaadin app.
Need for a custom AccessDeniedHandler and optionally exclude the AccessDeniedExceptions from the ExceptionTranslationFilter so the exceptions get passed correctly.
First implementation suggestion
- Redirect the user to a unsecured View
Unsecured view shows a nice Access denied message to the user to ensure that the user does not leave the Vaadin Framework / application. Currently this happens because you get redirect to /error
This redirect is configured through the constructor of the AccessDeniedHandler so that it is enforced as required.
An other suggestion is welcome.

@Closed, not longer an issue, exception was thrown due to incorrect configuration of Spring-Security.
Personal error.

Could you please elaborate on what was the mistake and how you corrected the same in the configuration of Spring-Security?

I will look into my code so see what caused it.


Implement auto-save for customisation page

Auto-save to localStorage.
I just f*cking wiped out everything I was working on in the customise page for the demo. This is urgent, hope I can fix this by tonight.

ah dang it one hour of work down the drain...


Prevent converting '\n' between lines into space (for Eastern characters)

The problem is described here:
https://stackoverflow.com/questions/8550112/prevent-browser-converting-n-between-lines-into-space-for-chinese-characters
I can not find a good solution to this problem. Is it possible to create a new extension for solving this problem?
Thanks for the help!

The problem is described here

Unfortunately, this is what Markdown should be doing. We can see here that all Markdown parsers do basically the same thing: https://johnmacfarlane.net/babelmark2/?text=这是
一句话。. The one exception is the parser that converts newlines to
 like GitHub used to do.

I can not find a good solution to this problem. Is it possible to create a new extension for solving this problem?

Probably? I haven't looked into the code to see how plausible it would be. I imagine if you look at the nl2br extension (which duplicates the newline to
 logic that GitHub used to use) that you can probably override it to do what you want. With that said, it may mess up parsing of some things that require word boundaries when parsing, but that is something you'd have to debug/workaround.

This is clearly an issue for browsers and/or the HTML spec to address. Markdown is simply a subset of HTML.
That said, if you wanted to remove newlines via a Markdown extension, I would suggest a Treeprocessor which removed the unwanted newlines from the text and tail of each element. If you can effectively identify which newlines need to be removed (not sure how as I don't understand the context of the language), it should be a really simple extension. Actually, if you run right before the PrettifyTreeprocessor (at perhaps priority 11) you could perhaps remove all newlines. Then the PrettifyTreeprocessor will restore any structural newlines and leave out any within the body of text.
I'm closing this as there is no actionable item here. If you need any help with your extension, feel free to ask on this issue.


Commands that return a list of flows crash when a flow has been loaded from a file

Problem Description
Execute view.flows.resolve @focus under two conditions:

With recorded flows: overlay pops up with result
With flows loaded from a file using --rfile test.mitm: mitmproxy crashes

$ mitmproxy --rfile test.mitm
Traceback (most recent call last):
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/master.py", line 54, in run_loop
    loop()
  File "/Users/rbdixon/projects/library/restrike-project/.direnv/python-3.9.6/lib/python3.9/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/Users/rbdixon/projects/library/restrike-project/.direnv/python-3.9.6/lib/python3.9/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/Users/rbdixon/projects/library/restrike-project/.direnv/python-3.9.6/lib/python3.9/site-packages/urwid/main_loop.py", line 1494, in run
    reraise(*exc_info)
  File "/Users/rbdixon/projects/library/restrike-project/.direnv/python-3.9.6/lib/python3.9/site-packages/urwid/compat.py", line 58, in reraise
    raise value
  File<EMAIL_ADDRESS>line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/Users/rbdixon/projects/library/restrike-project/.direnv/python-3.9.6/lib/python3.9/site-packages/urwid/raw_display.py", line 416, in <lambda>
    wrapper = lambda: self.parse_input(
  File "/Users/rbdixon/projects/library/restrike-project/.direnv/python-3.9.6/lib/python3.9/site-packages/urwid/raw_display.py", line 515, in parse_input
    callback(processed, processed_codes)
  File "/Users/rbdixon/projects/library/restrike-project/.direnv/python-3.9.6/lib/python3.9/site-packages/urwid/main_loop.py", line 412, in _update
    self.process_input(keys)
  File "/Users/rbdixon/projects/library/restrike-project/.direnv/python-3.9.6/lib/python3.9/site-packages/urwid/main_loop.py", line 513, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/window.py", line 316, in keypress
    k = super().keypress(size, k)
  File "/Users/rbdixon/projects/library/restrike-project/.direnv/python-3.9.6/lib/python3.9/site-packages/urwid/container.py", line 1123, in keypress
    return self.footer.keypress((maxcol,),key)
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/statusbar.py", line 201, in keypress
    return self.ab.keypress(*args, **kwargs)
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/statusbar.py", line 149, in keypress
    self.prompt_execute(text)
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/statusbar.py", line 169, in prompt_execute
    msg = p(txt)
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/statusbar.py", line 115, in execute_command
    execute(txt)
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/commandexecutor.py", line 33, in __call__
    overlay.DataViewerOverlay(
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/overlay.py", line 189, in __init__
    self.ge = grideditor.DataViewer(master, vals)
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/grideditor/editors.py", line 226, in __init__
    super().__init__(master, vals, self.callback)
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/grideditor/base.py", line 417, in __init__
    super().__init__(
  File "/Users/rbdixon/src/mitmproxy/mitmproxy/tools/console/grideditor/base.py", line 270, in __init__
    value = self.data_in(copy.deepcopy(value))
  File<EMAIL_ADDRESS>line 146, in deepcopy
    y = copier(x, memo)
  File<EMAIL_ADDRESS>line 205, in _deepcopy_list
    append(deepcopy(a, memo))
  File<EMAIL_ADDRESS>line 146, in deepcopy
    y = copier(x, memo)
  File<EMAIL_ADDRESS>line 205, in _deepcopy_list
    append(deepcopy(a, memo))
  File<EMAIL_ADDRESS>line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File<EMAIL_ADDRESS>line 270, in _reconstruct
    state = deepcopy(state, memo)
  File<EMAIL_ADDRESS>line 146, in deepcopy
    y = copier(x, memo)
  File<EMAIL_ADDRESS>line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File<EMAIL_ADDRESS>line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File<EMAIL_ADDRESS>line 270, in _reconstruct
    state = deepcopy(state, memo)
  File<EMAIL_ADDRESS>line 146, in deepcopy
    y = copier(x, memo)
  File<EMAIL_ADDRESS>line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File<EMAIL_ADDRESS>line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File<EMAIL_ADDRESS>line 270, in _reconstruct
    state = deepcopy(state, memo)
  File<EMAIL_ADDRESS>line 146, in deepcopy
    y = copier(x, memo)
  File<EMAIL_ADDRESS>line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File<EMAIL_ADDRESS>line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File<EMAIL_ADDRESS>line 270, in _reconstruct
    state = deepcopy(state, memo)
  File<EMAIL_ADDRESS>line 146, in deepcopy
    y = copier(x, memo)
  File<EMAIL_ADDRESS>line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File<EMAIL_ADDRESS>line 146, in deepcopy
    y = copier(x, memo)
  File<EMAIL_ADDRESS>line 205, in _deepcopy_list
    append(deepcopy(a, memo))
  File<EMAIL_ADDRESS>line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File<EMAIL_ADDRESS>line 270, in _reconstruct
    state = deepcopy(state, memo)
  File<EMAIL_ADDRESS>line 146, in deepcopy
    y = copier(x, memo)
  File<EMAIL_ADDRESS>line 210, in _deepcopy_tuple
    y = [deepcopy(a, memo) for a in x]
  File<EMAIL_ADDRESS>line 210, in <listcomp>
    y = [deepcopy(a, memo) for a in x]
  File<EMAIL_ADDRESS>line 146, in deepcopy
    y = copier(x, memo)
  File<EMAIL_ADDRESS>line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File<EMAIL_ADDRESS>line 161, in deepcopy
    rv = reductor(4)
TypeError: cannot pickle 'Context' object

System Information
Mitmproxy: 8.0.0.dev (+161, commit 83f0589)
Python:    3.9.6
OpenSSL:   OpenSSL 1.1.1l  24 Aug 2021
Platform:  macOS-10.15.7-x86_64-i386-64bit

It took a little digging but the issue is that the mitmproxy.controller.DummyReply instance can not be pickled. This is required for copying the object which is done when presenting the overlay.
I added a __deepcopy__(self, memo) method to DummyReply which seems like a fix. I'm not exactly sure what I'm doing down in this area of code so if someone wants to review this and approves I'll send a PR:
    def __deepcopy__(self, memo):
        cls = self.__class__
        result = cls.__new__(cls)
        memo[id(self)] = result
        result._state = self._state
        result._should_reset = self._should_reset
        return result

Thanks for digging into this @rbdixon! Unfortunately it's not just DummyReply. Here's another example where I'm trying to views.flows.resolve a currently-intercepted flow:
Traceback (most recent call last):
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/master.py", line 54, in run_loop
    loop()
  File "/home/user/venv/lib/python3.9/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/home/user/venv/lib/python3.9/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/home/user/venv/lib/python3.9/site-packages/urwid/main_loop.py", line 1494, in run
    reraise(*exc_info)
  File "/home/user/venv/lib/python3.9/site-packages/urwid/compat.py", line 58, in reraise
    raise value
  File "/usr/lib/python3.9/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/home/user/venv/lib/python3.9/site-packages/urwid/raw_display.py", line 416, in <lambda>
    wrapper = lambda: self.parse_input(
  File "/home/user/venv/lib/python3.9/site-packages/urwid/raw_display.py", line 515, in parse_input
    callback(processed, processed_codes)
  File "/home/user/venv/lib/python3.9/site-packages/urwid/main_loop.py", line 412, in _update
    self.process_input(keys)
  File "/home/user/venv/lib/python3.9/site-packages/urwid/main_loop.py", line 513, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/window.py", line 316, in keypress
    k = super().keypress(size, k)
  File "/home/user/venv/lib/python3.9/site-packages/urwid/container.py", line 1123, in keypress
    return self.footer.keypress((maxcol,),key)
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/statusbar.py", line 201, in keypress
    return self.ab.keypress(*args, **kwargs)
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/statusbar.py", line 149, in keypress
    self.prompt_execute(text)
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/statusbar.py", line 169, in prompt_execute
    msg = p(txt)
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/statusbar.py", line 115, in execute_command
    execute(txt)
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/commandexecutor.py", line 33, in __call__
    overlay.DataViewerOverlay(
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/overlay.py", line 189, in __init__
    self.ge = grideditor.DataViewer(master, vals)
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/grideditor/editors.py", line 226, in __init__
    super().__init__(master, vals, self.callback)
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/grideditor/base.py", line 417, in __init__
    super().__init__(
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/tools/console/grideditor/base.py", line 270, in __init__
    value = self.data_in(copy.deepcopy(value))
  File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.9/copy.py", line 205, in _deepcopy_list
    append(deepcopy(a, memo))
  File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.9/copy.py", line 205, in _deepcopy_list
    append(deepcopy(a, memo))
  File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/lib/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/lib/python3.9/copy.py", line 287, in _reconstruct
    item = deepcopy(item, memo)
  File "/usr/lib/python3.9/copy.py", line 161, in deepcopy
    rv = reductor(4)
TypeError: cannot pickle '_asyncio.Future' object

mitmproxy has crashed!
Please lodge a bug report at:
        https://github.com/mitmproxy/mitmproxy/issues
Exception ignored in: <function Reply.__del__ at 0x7f18a08c7ee0>
Traceback (most recent call last):
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/controller.py", line 64, in __del__
    if self.state != "committed":
  File "/mnt/c/Users/user/git/mitmproxy/mitmproxy/controller.py", line 33, in state
    return self._state
AttributeError: 'AsyncReply' object has no attribute '_state'

I just submitted a PR for this. Thanks for catching the intercepted flow, too.


Easier way to write notebook tests

We should come up with a way that makes it easier to write tests for notebooks. A normal python assignment can just use doctests and OK will run those. There's no equivalent for notebooks.
 They should be able to define their tests inline if possible.

Here are some things I thought about. Not huge fans of either - but just wanted to note it here for when we come back to this.
Either:
def test_q9():
   """
   >>> code
   2
   ...
   """
ok.grade(test_q9)

I'd much rather do something like
ok.grade("""
>>> code_var
5
""")

We can also use textwrap.dedent and strip to normalize indentation and spacing:
ok.grade("""
    >>> code_var
    5
""")

Or, if we want to get fancy, we could implement a mini-compiler:
ok.grade("""

Question 09:
    >>> code_var
    5

Question 10:
    >>> q10_result
    19

""")
To compactly grade multiple questions.  I'm taking a compilers course, so maybe I can do this as one of the projects :P

Just FYI: DS100 uses cell tags and a custom python script to take cells that contain assert statements and turn them into ok tests:

Gets turned into q01b.py.


--entryPoints not recognized in typedoc in packages strategy

Search terms
entry, points, packages, strategy
Expected Behavior
This is for the entry point strategy of packages only.
When I move the "entryPoints" from the config file typedoc.json into the typedoc script, all of a sudden I get the warning: No entry points were provided, this is likely a misconfiguration. And, no documentation is generated for that package. When I run typedoc in the package directory (instead of the base directory) it still works fine with no warnings or errors. The warning only occurs when I do npm run docs in the base directory. See the steps for more details.
$ npm run docs

><EMAIL_ADDRESS>docs
> typedoc

[info] Converting project at ./packages/lib
[info] Converting project at ./packages/shared-assets
[info] Converting project at ./packages/wrapping-lib
[info] Merging converted projects
[info] Documentation generated at ./docs

Actual Behavior
$ npm run docs

><EMAIL_ADDRESS>docs
> typedoc

[info] Converting project at ./packages/lib
[info] Converting project at ./packages/shared-assets
[info] Converting project at ./packages/wrapping-lib
[warning] No entry points were provided, this is likely a misconfiguration.
[info] Merging converted projects
[info] Documentation generated at ./docs

Steps to reproduce the bug
Clone
git clone git@github.com:Gerrit0/typedoc-packages-example.git

packages/wrapping-lib/typedoc.json
{
  "extends": ["../../typedoc.base.json"],
- "entryPoints": ["src/index.ts"]
}

packages/wrapping-lib/package.json
  "scripts": {
-   "docs": "typedoc --out docs"
+   "docs": "typedoc --entryPoints src/index.ts --out docs"
  }

Run the docs script
npm run docs

Environment

Typedoc version: 0.25.13
TypeScript version: 5.4.2
Node.js version: 20.11.1
OS: Uubuntu 22.04

This is working as expected. TypeDoc in packages mode does not call TypeDoc in a separate process for each package, it instead reads the configuration file and executes in that package.

Backstory: I was converting my mono-style repo into using the packages strategy so clean things up a bit. I am using typedoc.json files, but still had several command line arguments including --entryPoints. (I was using the shorthand typedoc [entryPoints] instead of spelling out.) I was not getting any documentation except for the readme files, with the same warnings as above. It took me an embarrassingly long time to figure out what the issue was...
Luckily, the workaround is very easy, and is probably better practice to keep everything in the typedoc.json config file instead of leaving it as command line arguments anyway. However, this behavior definitely feels like a bug and was difficult to track down; because like I said, if you run typedoc directly from the package directory, it works just fine with no errors at all. E.g.:
cd packages/wrapping-lib
npm run docs

TypeDoc in packages mode does not call TypeDoc in a separate process for each package, it instead reads the configuration file and executes in that package.

OHH.... I think I understand now. I was confused when looking at the source in your packages example. I was under the impression that typedoc was called (by npm run docs) in each package directory. I guess it makes a little more sense this way now.
The main downside is that you need a typedoc.json containing this in every one of your packages, assuming you are using the same base for everything.
{
  "extends": ["../../typedoc.base.json"],
  "entryPoints": ["src/index.ts"]
}

I tried putting entryPoints in typedoc.base.json, and this is what I got:
$ npm run docs

><EMAIL_ADDRESS>docs
> typedoc

[info] Converting project at ./packages/lib
TypeDoc exiting with unexpected error:
Error: ENOENT: no such file or directory, scandir '/home/nic/Desktop/typedoc-packages-example/src'
    at Object.readdirSync (node:fs:1515:26)
    at glob (/home/nic/Desktop/typedoc-packages-example/node_modules/typedoc/dist/lib/utils/fs.js:253:32)
    at /home/nic/Desktop/typedoc-packages-example/node_modules/typedoc/dist/lib/utils/entry-point.js:176:38
    at Array.flatMap (<anonymous>)
    at expandGlobs (/home/nic/Desktop/typedoc-packages-example/node_modules/typedoc/dist/lib/utils/entry-point.js:175:31)
    at getEntryPoints (/home/nic/Desktop/typedoc-packages-example/node_modules/typedoc/dist/lib/utils/entry-point.js:78:53)
    at _classThis.getEntryPoints (/home/nic/Desktop/typedoc-packages-example/node_modules/typedoc/dist/lib/application.js:253:53)
    at _classThis.convert (/home/nic/Desktop/typedoc-packages-example/node_modules/typedoc/dist/lib/application.js:275:38)
    at _classThis._convertPackages (/home/nic/Desktop/typedoc-packages-example/node_modules/typedoc/dist/lib/application.js:473:44)
    at async run (/home/nic/Desktop/typedoc-packages-example/node_modules/typedoc/dist/lib/cli.js:96:21) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'scandir',
  path: '/home/nic/Desktop/typedoc-packages-example/src'
}

Yeah, that downside annoys me too, that's what #2523 is intended to fix, just haven't gotten around to implementing it yet

Didn't know you already had an issue for this! I do not think there is any action needed for this issue, if I have anything more to add, I'll reply in #2523. Would love to see this implemented, as well as other features I've suggested. If I find the time and motivation, I hope to contribute in the future. This is really a great project.


This page is entierly blank.

This page is entierly blank. Is that normal?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ce1f689c-0eb0-ad35-3786-ed4ce23be240
Version Independent ID: b57f3ca3-041f-3cfc-f79b-8eb7fd55f745
Content: Welcome to SharePoint Migration - Migrate to SharePoint and OneDrive
Content Source: migration/index.md
Service: sharepoint-online
GitHub Login: @JoanneHendrickson
Microsoft Alias: jhendr

@gbeaudoin78  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@gbeaudoin78 Hello, do not know at the time you browsed it however the page/article is working ok.
Thank you

@gbeaudoin78  Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

Thanks you!


/gyms clearcooldown not functioning properly

After attempting to remove ryguy7676's gym cooldown it seems to have not worked. They are also reporting that their cooldown is instead increasing.

Fixed as of tonight, thanks!


Can't build XGBoost multithread on MAC

Hi,
I was trying to build XGBoost on my MAC as the one on pip wasn't the latest.
I followed the instructions mentioned for building on OS X to make sure it supports MultiThreading. Unfortunately, it failed and gave me the following error:
construction vtable for std::__1::basic_iostream<char, std::__1::char_traits >-in-std::__1::basic_stringstream<char, std::__1::char_traits, std::__1::allocator > in gbm.o
ld: symbol(s) not found for architecture x86_64
on the other hand it went through building the Single threaded build with no issues. I really need to to have the multithread support as I'm using XGBoost with large data.
Thanks in advance.
-Amr

Here is my version for g++:
g++ (Homebrew gcc 5.3.0 --without-multilib) 5.3.0

Fixed the issue, it seems that if the link to the file name is g++ it sees it as g++ 4.9 but if the file name is g++-5 and gcc-5 it works as if it's gcc 5.x.x.
I changed the file link names from g++ to g++-5 and from gcc to gcc-5.

Now stuck with another issue:
make pythonpack
#make clean
cd subtree/rabit;make clean;cd ..
rm -f ./allreduce_base.o ./allreduce_robust.o ./engine.o ./engine_empty.o ./engine_mock.o ./rabit_wrapper.o ./engine_base.o ./engine_mpi.o lib/librabit.a lib/librabit_mpi.a lib/librabit_empty.a lib/librabit_mock.a lib/librabit_base.a  wrapper/librabit_wrapper.so wrapper/librabit_wrapper_mock.so wrapper/librabit_wrapper_mpi.so ~ src/~ include/~ include//~ wrapper/~
rm -rf xgboost-deploy xgboost*.tar.gz
#pip install pypandoc and also brew/apt-get install pandoc
python python-package/conv_rst.py
Traceback (most recent call last):
File "python-package/conv_rst.py", line 6, in
read_md = convert('python-package/README.md', 'rst')
File "anaconda/lib/python2.7/site-packages/pypandoc/init.py", line 50, in convert
outputfile=outputfile, filters=filters)
File "anaconda/lib/python2.7/site-packages/pypandoc/init.py", line 68, in _convert
raise RuntimeError('Missing format!')
RuntimeError: Missing format!
make[1]: *** [pythonpack] Error 1
make: *** [pythonbuild] Error 2
Installed pandoc:
pip install pypandoc
Collecting pypandoc
Downloading pypandoc-1.1.2-cp27-none-macosx_10_5_x86_64.whl (29.2MB)
100% |████████████████████████████████| 29.2MB 7.3kB/s
Requirement already satisfied (use --upgrade to upgrade): setuptools in /anaconda/lib/python2.7/site-packages/setuptools-18.5-py2.7.egg (from pypandoc)
Installing collected packages: pypandoc
Successfully installed pypandoc-1.1.2

Is there is a way to ignore building documentation for python package? I don't want the documentation.

Used python setup.py install inside the python package folder and worked like charm.
-Amro

When I tried to run it I got the following error:
ERROR: Failure: OSError (dlopen(/Users/atork/Sources/xgboost-master/python-package/xgboost/../../wrapper/libxgboostwrapper.so, 6): Library not loaded: /usr/local/opt/gcc/lib/gcc/5/libgomp.1.dylib
Referenced from: /Users/atork/Sources/xgboost-master/wrapper/libxgboostwrapper.so
Reason: image not found)
Traceback (most recent call last):
File "/Users/atork/anaconda/lib/python2.7/site-packages/nose/loader.py", line 418, in loadTestsFromName
addr.filename, addr.module)
File "/Users/atork/anaconda/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/Users/atork/anaconda/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/Users/atork/Sources/xgboost-master/python-package/xgboost/init.py", line 11, in
from .core import DMatrix, Booster
File "/Users/atork/Sources/xgboost-master/python-package/xgboost/core.py", line 83, in
_LIB = _load_lib()
File "/Users/atork/Sources/xgboost-master/python-package/xgboost/core.py", line 77, in _load_lib
lib = ctypes.cdll.LoadLibrary(lib_path[0])
File "/Users/atork/anaconda/lib/python2.7/ctypes/init.py", line 443, in LoadLibrary
return self._dlltype(name)
File "/Users/atork/anaconda/lib/python2.7/ctypes/init.py", line 365, in init
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/Users/atork/Sources/xgboost-master/python-package/xgboost/../../wrapper/libxgboostwrapper.so, 6): Library not loaded: /usr/local/opt/gcc/lib/gcc/5/libgomp.1.dylib
Referenced from: /Users/atork/Sources/xgboost-master/wrapper/libxgboostwrapper.so
Reason: image not found

I followed the steps mentiond for MacOSX.
Note that homebrew install gcc in different location other than the default including it's libraries.

@amro-pydev pythonpack process is for building pip installation package for pip maintainer, and it is not for general users. Please just use make for building all necessary packages and python setup.py install

HI Hongliang,
That's exactly what I did. The compilation went smoothly, but the error came up when I tried to run my script. It can't find the shared library installed by brew.
I'm not sure if there is a good solution for that.
-Amro

@amro-pydev have you tried brew unlink your old gcc, and reinstall and link gcc-5 /g++-5 ? It is a brew installation problem.

Hi Hongliang,
Thanks for your response. I don't know how to unlink my old gcc?
-Amr

@amro-pydev em, something like brew unlink gcc-49? Some google search may help on this tech detail.

Hi Hongliang,
Tried and failed to build it on Mac OS X. But I successfully installed it from the PIP using the updated version that you have uploaded yesterday.
Thanks,
-Amr

@amro-pydev Good to know the pip installation works for you. Since the problem is somewhere in your gcc configuration and it is no longer a problem for you, I think we can close this issue. By the way, I will provide pre-compiled wheels for pip in future, so no more worries about compiling in major operating systems.

I'm having a very similar problem trying to get python xgboots working.
However, I'm seeing this issue in Dec 2016, on Mac OS 10.11.6
I have an error ending in
OSError: dlopen(/Users/brown/anaconda/lib/python2.7/site-packages/xgboost/./lib/libxgboost.so, 6): Library not loaded: /usr/local/opt/gcc/lib/gcc/5/libgomp.1.dylib
Referenced from: /Users/brown/anaconda/lib/python2.7/site-packages/xgboost/./lib/libxgboost.so
Reason: image not found
When I look for the directory /usr/local/opt/gcc/lib/gcc/5 it does not exist I have a directory
/usr/local/opt/gcc/lib/gcc/6 with what appears to be the correct file libgomp.1.dylib.
Not clear how I point my python code toward this new directory.
Tried to install the library under anaconda, with the pip install xgboost command.
Thoughts...

+1

@gmanolache I did eventually get this installed.  However it has been more than a year and 1/2 ago.  I do not remember ALL the details that were needed to get this done.  However, I do remember working on this for several days on and off.
Anaconda seems to have recompiled versions for both Python and R.  If I was trying to do this today.  I’d likely do this through a package manager.  Other environments like Dataiku’s DSS seem to provide precompileed versions that work  ok.  This is likely good enough unless you need something from a more recent version.
Hope that helps.

Here are the steps I use to compile XGBoost on my Macbook Pro:

Install GCC 7 with Homebrew: brew install gcc@7
Compile XGBoost using CMake:

mkdir build
cd build
cmake .. -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
make -j4


https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details

The 'iteration' row of the table comparing objects and maps has an issue for objects. It reads:

Iterating over an Object requires obtaining its keys in some fashion and iterating over them.

not necessarily true. In the same way maps are iterable with a for..of loop, so are objects with the for ...in, as of ES6.
source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

Thanks! I updated the section as shown:
The for...in statement iterates over all enumerable properties of an object that are keyed by strings (ignoring ones keyed by Symbols), including inherited enumerable properties.

seems nice to me.


Validate SSH Private Key Usage

Validate that a private SSH key file can specified for connecting to Linux nodes.

This issue has been validated.


Support for IPv6 please?

Whow! Love the interface! The only thing that it's lacking, is IPv6 support within the docker.
When I use
iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i %i -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
in the Post-up script, wg0 refuses to start. If I remove the ip6tables part, it works fine!
So, please advise how I can add ip6tables support to the current docker?

Do you run the docker container in ´host´ mode?
If I understand correctly. IPV6 works fine if you remove the iptable forwards you mentioned?

I could not get it working with IPv6 at all. (Yes, connecting to the server
works) But using the private IPv6 part isn't working.
So, I guess it is missing ip6tables ??
Regards,
Jacco van Koll
On Tue, Jun 30, 2020 at 1:35 PM Per-Arne Andersen<EMAIL_ADDRESS>wrote:

Do you run the docker container in ´host´ mode?
If I understand correctly. IPV6 works fine if you remove the iptable
forwards you mentioned?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/perara/wg-manager/issues/20#issuecomment-651737095,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3YEZTBUEJ3SVEK3ZBC3SLRZHEYPANCNFSM4OMELWEA
.

I'll take a look on this in the near future.
I have not used IPV6 myself yet, so just to confirm: The feature request here is that each client connected to the VPN should be routable via IPV6?

Per-Arne,
Yes! Exactly! And take your time on this :-)
On Thu, Jul 2, 2020 at 7:58 AM Per-Arne Andersen<EMAIL_ADDRESS>wrote:

I'll take a look on this in the near future.
I have not used IPV6 myself yet, so just to confirm: The feature request
here is that each client connected to the VPN should be routable via IPV6?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/perara/wg-manager/issues/20#issuecomment-652800778,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3YEZRAR3QKWA46TTYADETRZQOZDANCNFSM4OMELWEA
.

@Haringstad
I've added support for IPv6. Tested OK when pinging peer-peer with ipv6 addresses.


PR: Rename top level conf keys to avoid future import conflicts

This PR:

[x] Adds the global module to all of the toml files under the examples directory defining a module with its name
[x] Fixes the gen file loading mechanism to support the changes

Fixes #104

Awesome ! Thanks !


Add unit tests for converting SDF to USD

Signed-off-by: Ashton Larkin<EMAIL_ADDRESS>🎉 New feature
Summary
Adding unit tests for converting things like lights and models from SDF to USD.
Test it
You can build SDF and run the UNIT_sdf_usd_TEST executable:
mkdir build
cd build
cmake ..
make -j 10
cd build/src
./UNIT_sdf_usd_TEST

Checklist

[ ] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

I am going to close this PR since the testing done here has been moved to #818, but I realize that we probably still need to address https://github.com/ignitionrobotics/sdformat/pull/796#pullrequestreview-842491424 at some point. I have made a separate issue for this so that it can be discussed and worked on there: https://github.com/ignitionrobotics/sdformat/issues/826


update stubs for ext-parallel

I have already described why this is necessary here: https://github.com/JetBrains/phpstorm-stubs/pull/594#issuecomment-519405230

Why it should be "is valid PHP 7.0 code" when parallel supports 7.2+?

Just realised I might have misinterpreted this comment: https://github.com/JetBrains/phpstorm-stubs/pull/600#issuecomment-502100847

What about anonymous channels?

Good catch, seems to have missed that one when syncing up with 1.1.

Events\Event\Type should not be null because Event->type will be just magic number. What can confuse you when you do var_dump of event

See: https://github.com/krakjoe/parallel/issues/37#issuecomment-493502459
But kinda missing your bullet point about changing the code style on all the files, including the ones that didn't changes according to your list...

Yes, but their values are an implementation detail that you cannot rely on, you can only rely on their name and meaning.

These are automatically generated stubs and until the extension updates them, they are correct. In case of update someone will just regenerate stubs

Yes, but their values are an implementation detail that you cannot rely on, you can only rely on their name and meaning.

These are automatically generated stubs and until the extension updates them, they are correct. In case of update someone will just regenerate stubs

Ah cool didn't realise they where generated. That makes it look less of a dickmove as all files have been changed. Where can we find said generator?

https://github.com/Frago9876543210/extension-stub-generator
phpdoc written manually. Although it’s probably not difficult to automate this if ext have documentation on php.net

Thanks :+1:

Please run php generate-stub-map and commit PhpStormStubsMap otherwise the tests are failing.

What's wrong?

Looks like a Travis glitch :scream:

Merged, thank you!


wip

Current coverage is 96.60% (diff: 100%)

Merging #87 into master will not change coverage

@@             master        #87   diff @@
==========================================
  Files             9          9
  Lines           619        619
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            598        598
  Misses           21         21
  Partials          0          0

Powered by Codecov. Last update be0321a...abb19b8


Added styles for home page

Test URLs:

Before: https://main--sunstar-engineering--hlxsites.hlx.page/

After: https://home-page--sunstar-engineering--hlxsites.hlx.page/

[ ]  If you are adding a new block or a variation to an existing block, has it been added in the block-inventory ?

I analysed the visual differences and none of them seem significant except the one for table block. But the markup finder tells me that we are only using table in the home page and the change their is intentional. Elsewhere there should be no impact.


enhancement proposal: add unparsed response to the result dict as new key

Due to possible problems with data parsing and, as a result, the possibility of losing part of the data, I suggest to include raw data to the resulting dictionary in a separate key like the following:
{
"domain_name": "...",
"registrar": "...",
"creation_date": "...",
....
"whois": raw whois data
}

That's a great idea. I was going to implement this and then realized it's already supported with the inc_raw argument:
https://github.com/richardpenman/whois/blob/master/whois/__init__.py#L53


some mdi icons don't work

Home Assistant release with the issue:
0.103.4

Last working Home Assistant release (if known):
??
Operating environment (Hass.io/Docker/Windows/etc.):
hassio

Integration:

Description of problem:
some of the mdi icons aren't loaded

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
  light_bedroom_permanent_off:
    name: 'Licht Schlafzimmer dauerhaft aus'
    icon: mdi:lightbulb-group-off
  light_livingroom_permanent_off:
    name: 'Licht Wohnzimmer dauerhaft aus'
    icon: mdi:lightbulb-group-off

Traceback (if applicable):

Additional information:
I tested also lightbulb-multiple-off

/move to home-assistant/home-assistant-polymer

Those icons are added just 20 days ago, while the last release of the MDI icons is  v4.7.95, which is about a month ago. They are simply not released yet.
If they are released, HA will update the icon set and they will pop up in the first release after that.

Ah ok, thanks!


Problem with auto update under Windows 8.1 64 bits

Hi, thanks for jekyll-atom package, thats pretty useful for me.
However, when I launch the jekyll server I got an error about jekyll binary

I am under Windows 8.1 64 bits and I know that my command "jekyll build --watch" does not work for me, I guess because my user folder has some diacritics caracters: "Grégoire" (this causes some problems for some Python libs).
However, the "jekyll build" commands works well and the localhost:3000 server also works well.
Do you see a solution to solve this problem?
Thanks

You can change the build command in settings. I have mine set to C:\Ruby22\bin\jekyll.bat, build on my Wndows 8.1 x64 machine. Your path will depend on where you installed ruby and your gems.

thanks it works


IPv6 - multi prefix delegation options

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Is your feature request related to a problem? Please describe.
For the purposes of IPv6 and pulling Ipv6 prefixes from my ISP (AT&T), I need a solution in which OPNSense makes the PD requests so that the Residential Gateway (AT&T RG "black box" device) will actually "activate" my available prefixes.  No matter what settings I make on the DHCPv6 client config for the WAN (under basic), the RG will at most only activate a single IPv6 prefix.
Currently, I have to use a custom DHCPv6 client config override file that makes those PD requests so the prefixes get "activated" on the RG device.  I only request 8 prefixes, because even though AT&T will give you a /60, it reserves 8 of them for itself.  Customers only get to use 8 of the 16 prefixes.
interface ixl0 {
    send ia-na 0;
    send ia-pd 0;
    send ia-pd 1;
    send ia-pd 2;
    send ia-pd 3;
    send ia-pd 4;
    send ia-pd 5;
    send ia-pd 6;
    send ia-pd 7;
    #request domain-name-servers;
    #request domain-name;
    script "/var/etc/dhcp6c_wan_script.sh";
};
id-assoc na 0 { };
id-assoc pd 0 {
    prefix-interface ixl3 {
        sla-id 0;
        sla-len 0;
    };
};
id-assoc pd 1 {
    prefix-interface ixl3 {
        sla-id 0;
        sla-len 0;
    };
};
id-assoc pd 2 {
    prefix-interface ixl3 {
        sla-id 0;
        sla-len 0;
    };
};
.
.
.
id-assoc pd 7 {
    prefix-interface ixl3 {
        sla-id 0;
        sla-len 0;
    };
};

Describe the solution you like
It would be nice if there was something like the above already built in, and I could simply tick the boxes/make drop-down selections on what interfaces to make the PD selections to, and how many.  In my case, they all go to the same interface, since I'm not using OPNSense to manage VLANs.  I just need the prefixes made available on the RG.  If you were using OPNSense to manage all of your VLANs, then each "id-assoc pd #' line would relate to that specific VLAN interface.
Describe alternatives you considered
Using this custom dhcpv6 client config override file is the only thing I've found that works.

@BazlTech Thanks for the ticket. I'll tentatively take this as discussed and be back with a couple of questions when the dust on 24.7 has settled. :)

@BazlTech Thanks for the ticket. I'll tentatively take this as discussed and be back with a couple of questions when the dust on 24.7 has settled. :)

Any idea if this might be worked into an upcoming release?


My personal portfolio

Created a repository
Cloned it to my local machine
Followed githubworkflow
Added html,css and js files
Added html,css and js linters
Added the codes to html,css and js
Added a professional readme
Added design to the project

You created a good repository, added a professional readme file, perfect design to the project
but your responsive is not professional you need to fix it and also resolve linters errors
good luck!

You have created good portfolio project but Still your project is not responsive try to solve it
Good luck🌞

@ahzamir
Salam Ostad, Kindly review my project

@S-BLH

Please include your Figma design link in your README.md file and in the reply of this comment

@S-BLH

I can not see the Figma Design link on your README.md file, please add it there and also here in reply to this comment

@ahzamir Salam Ostad, Sorry for responding late, as we did not have electricity whole yesterday.
Here is the figma design link,
https://www.figma.com/design/XSzDERvITSkhLuc2p9Qp0t/Untitled?node-id=0-1&t=e2Zc45Z3C8YLTFkN-1

I did not review your mobile version as it also had lots of issues same as your desktop  version


Add .md version, close #23

Merging now as non-controversial. See the Files changed tab above for info on changing output formats. Post merge review welcome @wangzhao0217.


diagnostic_service should use a json parser instead of relying on change-able structs

diagnostic-service has largely remained unchanged since creation since OpsMan has done little changes to the JSON that it returns.
As of 2.6, this will no longer be the case. Rather than adding in new keys as changes arise, or having to add them because x person needed a different key, we could separate diagnostic-service from the strict dev-maintained struct/json formatting (much like what was done for configure-director and configure-product).
So, rather than displaying a subset of the json, the service could have all of the json, and a command could ask for whatever piece of that JSON it needed.
The commands that use diagnostic report directly are:
stage-product
staged-products
upload-stemcell

After discussing with the team, I do not think this is possible, due to the table_presenter, which relies on specific fields from the Ops Manager response. Because it would rely on these specific sections, there is no easy way to divorce the struct view/usage from the full JSON retrieved from OpsMan.


Updating README adjusting to GPU support

Updating current limitations and adding instructions to use GPU on Cmake build.

Can one of the admins verify this patch?

Maybe mention that a ^ has to be added to
More? -DPYTHON_LIBRARIES=C:/Users/%USERNAME%/AppData/Local/Continuum/Anaconda3/libs/python35.lib
if you want to add more lines.

@thepok May bad. I am doing it now. Thank you!

The last steps in the Readme miss, it took me a long time to figure it out. I did not know what to do with the genereatet PIP file. Maybe add a line describing that you have to do "PIP install genereted_file.whl" or what ever is the real name :)

@Carmezim do you want to update the README?

@drpngx I just wanted to make those changes on the Cmake readme to avoid confusing folks regarding GPU support as it is already supported and the readme states otherwise.

Jenkins, test this please.

What happens after CMake 3.6?

@drpngx when building with v.37 it generates an error referring to a stray character " after "MSVC" in line 81 of tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj.RelWithDebInfo.cmake, earlier versions build successfully #5071.

Got it, @mrry and @guschmue might be interested in knowing that CMakeList is broken after 3.6.

@drpngx @guschmue knows as he figured it out with folks testing. Now it seems #5127 came with something that is generating other errors though that even with v3.6 it is not building successfully.

Thanks for identifying the CL!

I looked at #5127 and think I have a simple fix for it. Just building a fix and if good I'll send a PR.

@guschmue, could you look at the latest changes and see if you can LGTM? Thanks.

@guschmue, could you do one final pass before we merge this? Thanks.


Fix bad category name

The 'async' category passed the --dry-run check, but when I attempted to publish it failed.

@eldruin I'm getting this error trying to run cargo owner --add github:rust-embedded-community:embedded-nal:
error: failed to invite owners to crate `embedded-nal-async` on registry at https://crates.io

Caused by:
  the remote server responded with an error: could not find the github team rust-embedded-community/embedded-nal

From the cargo docs:
The syntax for teams is currently github:org:team (see examples above). In order to invite a team as an owner one must be a member of that team. No such restriction applies to removing a team as an owner.

Sorry, I forgot about this again. You can only invite teams you are part of. Can you invite me and I will invite the team?

@eldruin Invite sent, added changelog entry.

@eldruin Thanks! Sure, would it make sense to use a tag like embedded-nal-async-0.1.0 to make sure it doesn't conflict?

Yes, that is what I did. Thanks!


gaudi support training

reorg main function; add 'hpu' option w/o implementation
implement training for HPU

Builds on changes from #329. Still needs to be tested.


ENH: Add itk.transformread, itk.transformwrite

Like itk.imread, itk.imwrite, itk.meshread, itk.meshwrite, simple
functions to read and write transform files. Returns and accept a Python
list of Transform's.
Also fix wrapping for TransformBaseTemplate class, TransformFileWriter,
TransformBase.

The current unit test only tests reading and writing a single transform, right? Could you possibly also add a unit test that reads and writes a list of (at least) two different transforms?

The current unit test only tests reading and writing a single transform, right? Could you possibly also add a unit test that reads and writes a list of (at least) two different transforms?

@N-Dekker good idea, added :+1:

Merging for 5.2rc03.


Undocumented Teams cmdlets

The following cmdlets/functions from MicrosoftTeams module v.4.7.0 are not documented:

Get-AssociatedTeam
[Get|New]-CsCloudCallDataConnection
Move-CsInternalHelper
Set-CsInternalOnlinePowerShellEndpoint
Invoke-CsInternalPsTelemetry
[Get|Grant|New|Remove|Set]-CsOnlineAudioConferencingRoutingPolicy
Get-CsOnlinePowerShellEndpoint
[Get|Grant|New|Remove|Set]-CsTeamsEventsPolicy
[Get|Grant|New|Remove|Set]-CsTeamsFilesPolicy
[Get|Set]-CsTeamsMigrationConfiguration
[Get|Remove|Set]-CsTeamsNotificationAndFeedsPolicy
[Get|Grant|New|Remove|Set]-CsTeamsRoomVideoTeleConferencingPolicy
[Get|Set]-CsTeamsShiftsAppPolicy
[Get|New|Remove|Set]-CsTeamsSurvivableBranchAppliance
[Get|Grant|New|Remove|Set]-CsTeamsSurvivableBranchAppliancePolicy
[Get|Remove|Set]-CsTeamsTargetingPolicy
[Get|Grant|New|Remove|Set]-CsTeamsUpdateManagementPolicy
[Get|Grant|New|Remove|Set]-CsTeamsVdiPolicy
[Get|Grant|New|Remove|Set]-CsTeamsWorkLoadPolicy
Get-CsTenantNetworkConfiguration
Get-MultiGeoRegion
Get-Operation
[Get|Remove]-SharedWithTeam
Get-SharedWithTeamUser
Get-TeamAllChannel
Get-TeamIncomingChannel

Note: I checked that these cmdlets/functions are not listed as unsupported or deprecated in https://docs.microsoft.com/microsoftteams/teams-powershell-supported-versions

@pbafna03

Thanks @shivtorov for creating a fresh list. We'll reach out to the relevant teams.
[Get|Grant|New|Remove|Set]-CsTeamsEventsPolicy is coming up in with https://github.com/MicrosoftDocs/office-docs-powershell/pull/9845
Few of the above cmdlets are internal and don't need to be documented:
Move-CsInternalHelper
Set-CsInternalOnlinePowerShellEndpoint
Invoke-CsInternalPsTelemetry

@shivtorov and @pbafna03 #9895 is merged, waiting for #9845. Thanks

A whole bunch also coming in https://github.com/MicrosoftDocs/office-docs-powershell/pull/9842

@shivtorov all three PR are merged. Hope these updates are helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Support for Electron applications

We are looking for a way to distribute our Electron app for Windows and MacOS to alpha and beta users.
We will ask internal teams that have built Electron apps how they distributed their apps to users without App Center/HockeyApp. Hope this support gets added!

@JakeCohenMicrosoft Thanks for this feature request – This is something our team is looking into but we don't have immediate plans to support Electron apps. I'll keep this feature request open so our team can monitor community interest moving forward.
Thanks!

Hi all, any update on this?

Vote by me for supporting Electron apps!

Any updates on this topic ?
We use AppCenter as our internal distribution tool and we would like to onboard an electron application to the same.


Rename "snakelings" everywhere to "snekilings".

As the title says. There's just many places in the source code and exercises where the old "snakelings" name was used.

@THEGOLDENPRO I fixed the issue review the pull request

Thank you, I'll have a look at the pr soon. 👍

fixed in #9


MQTT to Smartthings

Just setup my Smartthings to MQTT gateway.  Messages are being sent and accepted for smartthing type devices (presence sensor, switch, GE Link bulb etc...)  I have setup some temp sensors (DS18B20) using an Arduino,  The Arduino posts temp readings to the MQTT bridge.  I would like to incorporate these temp sensors into Smartthings and have the MQTT bridge update the value.
I created a Custom device handler in smartthings and the MQTT bridge sees it.  I linked it and when I manually post a message the Bridge picks it up and I see the the message arrive at the smartapp.
However the Smartapp does not update the value for the device.   Any help will be greatly appreciated.
Thanks.
entry from event.log:
2016-11-19T13:40:06.849Z - info: Incoming message from MQTT: smartthings/Garage Attic Temp/temperature = 74.2
entry from smartapp log:
fe0d6774-06c3-4fad-b1e5-3b0cf68d4624 7:29:54 AM: debug Received device event from bridge: [name:Garage Attic Temp, value:74.2, type:temperature]
3f30d2f6-fc80-458a-970c-00fb66c466c7 7:29:54 AM: debug Parsing 'index:06, mac:002170ADDB5E,

This project doesn't really account for sensor data originating in the MQTT domain and flowing to (virtual) devices on the Smartthings side.
You can fake it by sending data using "command" topics, modifying the smartapp code to fully support the attributes you want to update, THEN create/modify Smartthings device handlers to accept those commands to update their state.
I'm not sure the "right" way to handle this, but one way might be support a third MQTT suffix, or perhaps simply subscribing to the "status" suffix and passing that data back to the associated device in ST if it didn't originate there.
Without digging into the Java side, my personal solution was to add a new method to the smart app:
def actionSetState(device, attribute, value) {
device.set_state(attribute, value)
}
...and use this actionSetState command for any sensor capabilities you want to bring in from MQTT.
Then in the device handler:
def set_state(String attrib, String attrib_value) {
sendEvent(name: attrib, value: attrib_value, descriptionText: "$device.displayName $attrib is $attrib_value") }
This should work for most basic sensors as long as the topic looks like:
///
with a payload that makes sense for that attribute in smartthings: "open", "closed", "on", "off", etc.
The only annoyance is that my MQTT broker then sees both the /command and then the /status (coming back from Smartthings) whenever there is an update.

Thanks,  Will try it out.

@abdallas would this work? https://github.com/stjohnjohnson/smartthings-mqtt-bridge/pull/84


require buffer if not available globally

This makes from-buffer require Buffer and make it available globally if it isn't already available globally. This resolves #9

I get the same error, @LinusU can we merge this?
Thanks in advance.


[Cosmos] Use constants for auth headers returned by generateHeaders function

This is causing a downstream portal bug where Firefox is not properly setting the auth header due to the incorrect casing.

I believe the root cause here is an upstream bug in Firefox. Chrome and FF have different behavior https://bugzilla.mozilla.org/show_bug.cgi?id=1643979


Merge Stage into Main

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--24petwatch--hlxsites.hlx.page/
After: https://stage--24petwatch--hlxsites.hlx.page/

Approved wiht customer on the call.


Dependency conflicts with Home Assistant 2024.8

With HA 2024.8 there is a dependency conflict with aiobiketrax. Here's the error I receive when starting up HA 2024.8.b0.
Unable to install package aiobiketrax==1.3.0: ERROR: Cannot install aiobiketrax==1.3.0 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

More specifically:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
homeassistant 2024.8.0b0 requires aiohttp==3.10.0, but you have aiohttp 3.9.5 which is incompatible.
yalexs 6.4.3 requires python-dateutil<3.0.0,>=2.9.0.post0, but you have python-dateutil 2.9.0 which is incompatible.

Thank you for reporting. I see that I probably made a mistake and pinned aiohttp to a fixed version 3.9.5 instead of ^3.9.5.

Thank you for reporting. I see that I probably made a mistake and pinned aiohttp to a fixed version 3.9.5 instead of ^3.9.5.

Glad to hear that. I wasn't sure if you deliberately pinned it.

No, not deliberately. At least, I don't recall ;-)
I'm working on this right now. Will validate this with 2024.7 and 2024.8 beta.

It should be solved now. Thank you for testing ahead of the 2024.8 release.


Delete .coverage

Codecov Report

Merging #20 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #20   +/-   ##
=======================================
  Coverage   92.38%   92.38%
=======================================
  Files          13       13
  Lines        1077     1077
=======================================
  Hits          995      995
  Misses         82       82


It is better to prevent user to select a date of To section earlier than the date of From section in Projects-> Logs-> Advanced Search page

Docker version: 1.12.3
Harbor: 0.4.5
Steps:

Log in Harbor
Select a project
Click Logs-> Advanced Search
Set From as "11/09/2016"
Set To as "11/08/2016"

Actual Result: The date of To section earlier than the date of From section.
Expected Result: It is better to prevent user to select a date of To section earlier than the date of From section.

I'll add validation about this date range check, thanks.

Fixed with PR #1107

Get an error "Begin date should not be later than end date" to remind user to use correct date range to search logs.
Close the issue now.

Verified and passed on 0.5.0 rc2 build.


[url_launcher] Crashes on IOS with cyrillic symbols

My application crashes on IOS when I use cyrillic symbols in url.
Reproduced on the emulator and on the physical device iPhone 8
The application works correctly on Android
flutter doctor
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-x64, locale en-GB)
    • Flutter version 2.2.3 at /Users/dimir/bin/flutter
    • Framework revision f4abaa0735 (11 days ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/dimir/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2020.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] Connected device (2 available)
    • iPhone 12 Pro Max (mobile) • 58D163AF-D762-4CAE-95D9-28A1054E872F • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 91.0.4472.114

! Doctor found issues in 1 category.
Process finished with exit code 0

Expected results: app not crashed
Actual results:  app crashed

pubspec.yaml
name: test_url_launcher
description: A new Flutter project.
publish_to: 'none'
version: 1.0.0+1

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  url_launcher: ^6.0.9
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true

main.dart
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'Test',
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          launch('https://www.google.com/search?q=тест');
        },
        tooltip: 'Test',
        child: Icon(Icons.add),
      ),
    );
  }
}

That is not a valid URL; see discussion of encoding in the plugin's README.


fix: Adjusted .DropZone--hasChildren CSS class to fix child element

This change fixes an issue where the layout, a flexbox, was disrupted by the dropzone class modifying the children's CSS properties. As a result, the child element, meant to be flexible, was forced to take the entire space. This PR aims to rectify this by restoring the intended behavior. Tested on demo and personal project; no issues so far detected.

I did actually end up finding an issue where the popup hides under the iframe & what looks like also under the layout?
Need some assistant with this one..

Hey @Copystrike! Thanks for the PR! Would you mind opening a codepen that reproduces the underlying issue so I can verify I'm understanding correctly?


BUG: ReadParameter should fail if parameter string isn't fully processed

The ReadParameter<T> member functions of ParameterMapInterface should fail when a parameter string is not entirely processed, during the conversion from std::string to type T.
For example, when the parameter has string value "0.1", an attempt to read it into an integer will only process the string until (just before) the decimal point. This should trigger an exception.
Note that a string value like "123.000" should still be converted to an integer, by ReadParameter<int>, as it only has trailing zero's after the decimal point.

Not really sure which way to go, with this pull request.
Should we allow a decimal point + trailing zero's for an integer, in order to support (DefaultPixelValue 0.0) for integer pixel types? Possibly even scientific notation of whole numbers, e.g., 1e+019?
Or should we just throw an exception whenever someone tries to do ReadParameter<int> on any parameter value string that has a decimal point?

So the question is, which of the following strings are acceptable as parameter value (from a parameter map) of an integer type?
"0.0"
"42.00"

"42.1"
"42.9"  (truncating to 42?)

"42  43" (ignoring the second integer, 43?)
"42.nonsense"  (trailing garbage)

"1.0e+001"
"1e+019"  (representable as 64-bit unsigned.)

Discussed at today's internal elastix sprint meeting. The problem addressed by this pull request seems quite unlikely to happen, and a choice between the possible solutions (disallowing decimal point for integer values, or casting from floating point to integer, or whatever) could not be made.
So for now we decided to postpone this problem (indefinitely).

@mstaring @stefanklein Could we possibly reconsider this pull request? It would actually allow early detection of problems like the one reported by Aurelie, "elastix crash when LANG=fr_FR.UTF-8" at https://groups.google.com/g/elastix-imageregistration/c/70PXd-Hy_Xo
Aurelie reported that parameter value "0.2", was truncated to "0", and it seems to me that the parameter string just wasn't fully processed. In this case, I would prefer to have an error message during the parsing of the parameter values. OK?

Discussed again at today's sprint. We agreed to have it merged  😃


[SPARK-29822][SQL] Fix cast error when there are white spaces between signs and values

What changes were proposed in this pull request?

With the latest string to literal optimization https://github.com/apache/spark/pull/26256, some interval strings can not be cast when there are some spaces between signs and unit values. After state PARSE_SIGN, it directly goes to  PARSE_UNIT_VALUE when takes a space character as the end. So when there are some white spaces come before the real unit value, it fails to parse, we should add a new state like TRIM_VALUE to trim all these spaces.
How to re-produce, which aim the revisions since  https://github.com/apache/spark/pull/26256 is merged
select cast(v as interval) from values ('+     1 second') t(v);
select cast(v as interval) from values ('-     1 second') t(v);

Why are the changes needed?

bug fix
Does this PR introduce any user-facing change?

no
How was this patch tested?

ut
new benchmark test

cc @MaxGekk @maropu @cloud-fan, thanks in advance.

Test build #113501 has started for PR 26449 at commit 8f0dba0.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18392/
Test PASSed.

Test build #113501 has finished for PR 26449 at commit 8f0dba0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113501/
Test PASSed.

Test build #113515 has started for PR 26449 at commit 65e2a1c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18407/
Test PASSed.

Test build #113516 has started for PR 26449 at commit 8851f35.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18408/
Test PASSed.

Test build #113515 has finished for PR 26449 at commit 65e2a1c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113515/
Test PASSed.

Test build #113516 has finished for PR 26449 at commit 8851f35.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113516/
Test PASSed.

Can you file a new jira for this for better traceability?

Can you file a new jira for this for better traceability?

Done, thanks for your suggestion @maropu
Here is the ticket:
https://issues.apache.org/jira/browse/SPARK-29822

Hi, @yaooqinn .
I know this PR is valid on master branch. Could you put the pointer in the PR description about what causes this? For 3.0-preview, it worked like the following.
spark-sql> select cast(v as interval) from values ('+     1 second') t(v);
interval 1 seconds
Time taken: 2.011 seconds, Fetched 1 row(s)

spark-sql> select cast(v as interval) from values ('-     1 second') t(v);
interval -1 seconds
Time taken: 0.033 seconds, Fetched 1 row(s)

spark-sql> select version();
3.0.0 007c873ae34f58651481ccba30e8e2ba38a692c4
Time taken: 1.181 seconds, Fetched 1 row(s)

@dongjoon-hyun, thanks for review. The pr description is updated

Test build #113553 has started for PR 26449 at commit 1e8272c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18443/
Test PASSed.

Test build #113553 has finished for PR 26449 at commit 1e8272c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113553/
Test PASSed.

Test build #113568 has started for PR 26449 at commit cb8aa6b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18456/
Test PASSed.

Test build #113569 has started for PR 26449 at commit 0a301a1.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18457/
Test PASSed.

Test build #113571 has started for PR 26449 at commit 83b9ae3.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18459/
Test PASSed.

Test build #113575 has started for PR 26449 at commit 34bf719.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18461/
Test PASSed.

Test build #113571 has finished for PR 26449 at commit 83b9ae3.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #113569 has finished for PR 26449 at commit 0a301a1.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #113575 has finished for PR 26449 at commit 34bf719.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #113568 has finished for PR 26449 at commit cb8aa6b.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113575/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113571/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113569/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113568/
Test FAILed.

Test build #113578 has started for PR 26449 at commit cb83761.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18464/
Test PASSed.

Test build #113578 has finished for PR 26449 at commit cb83761.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113578/
Test PASSed.

thanks, merging to master!


UserErrorMSIMissingPermissions

I encountered UserErrorMSIMissingPermission and following the instructions at https://docs.microsoft.com/en-us/azure/backup/backup-azure-database-postgresql#troubleshooting.
On step #3, I didn't see 'Backup Vault' and neither saw the 'Azure AD user, group, or service principal**' option.
I saw 'User, group or service principal' so I picked it.  However, I still didn't see 'Backup Vault' to select.
Please help.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d941a213-7706-3e46-9cc7-cbab9f68f0c1
Version Independent ID: 8b2fb29a-6102-2222-245f-2ed37547e3ef
Content: Backup Azure Database for PostgreSQL - Azure Backup
Content Source: articles/backup/backup-azure-database-postgresql.md
Service: backup
GitHub Login: @dcurwin
Microsoft Alias: dacurwin

#reassign:sachdevaswati

@jamesmkwong
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

@sachdevaswati Could you please assist with the issue described above?

#reassign:v-amallick

@jamesmkwong,
We have updated the article and the changes are live now. Thank you.
CC @dcurwin

#please-close


[Documentation Update]: Add LeetCode Solution for Problem 107(Binary Tree Level Order Traversal II)

Is there an existing issue for this?

[X] I have searched the existing issues

Issue Description
I would like to add a solution for the LeetCode problem "Binary Tree Level Order Traversal II" (Problem 107) to the project. This problem involves performing a level order traversal on a binary tree but returning the node values in reverse level order.
Suggested Change
I suggest adding a comprehensive solution to the Binary Tree Level Order Traversal II problem in multiple programming languages, including C++, Python, Java, and JavaScript. This solution will include:

Clear and well-documented code.
An explanation of the algorithm and its complexity.
Example test cases to demonstrate the correctness of the solution.

Rationale
No response
Urgency
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Ajay-Dhangar please assign the issue

@Harleen-786 Please complete your task otherwise I will close it.


add a function to add extra logging handler

I want to separate different level of logs. So error message will not be buried by info/debug logs. In r1.4.  I use following code to do the job.
  file_hanlder = logging.FileHandler("running_error.log", mode='w', encoding=None, delay=False)
  file_hanlder.setLevel(logging.WARNING)
  tf.logging._logger.addHandler(file_hanlder)

but, when I change to r1.5, it don't work any more. because tensorflow rewrite tf_logging.py and _logger  is not exposed.  So I think add a function to add extra handler should be useful.

Can one of the admins verify this patch?


Add back Imagemagick package

Related to #136983
Related to https://github.com/microsoft/winget-pkgs/issues/120261#issuecomment-1914362575
Microsoft Reviewers: Open in CodeFlow

The supressmsg- propertiy was left out, now it was brought back:
https://github.com/microsoft/winget-pkgs/commit/1c79516c3c729bd93574e8ee4fd845c6a3e8cafd


Does Indium's latest release still work on 1.18.1?

Heya, i saw that Indium has a 1.18.2 build and that it doesn't run on 1.18.1, but is there any version specific code preventing that from happening? As many mods still use 1.18.1 so it would be useful if i could build the jar for 1.18.1

You can still use the 1.18.1 alpha builds of Sodium and Indium, as long as you use the right versions (i.e. Indium 1.0.2-alpha3 with Sodium 0.4.0-alpha6). These are both published on Modrinth, CurseForge and Github.

Ah okay then, thanks!


Using controls without IB

Hey! I'm doing programmatic layout for my video views, I cannot figure out how to make the controls show up on my instance at all
latest one is
class VideoView: VersaPlayerView {
  init?(url: String, ...) {
     super.init(frame: .zero)
     ...
         use(controls: hyperControls)
        hyperControls.layoutSubviews()
        hyperControls.behaviour.shouldShowControls = true

  }
}

I've even added a tap gesture recognizer to the view, that calls things like
    @objc func tapped() {
        self.hyperControls.playPauseButton?.isHidden = false
        self.hyperControls.showBuffering()
    }

to no avail. I've seen a few past issues on the repo, but nothing that gives a definite answer. got any tips for me? is there a magic IB load I need to call before I can use the controls?

un-stale

re-open please. this hasn't been solved


feat: add deny_unknown_fields to deserializable structs

This prevents configs with unknown fields from deserializing, letting the user know immediately that the field is invalid.
Closes #22

On further thought, this would break workflows for people who mistakenly have invalid fields in the config file. I think it would be better to warn users about all invalid fields initially rather than showing an error exiting immediately. We can use serde_ignore to implement this easily. Let me know what you think.

Sure, I can look into it. How would you log warnings? eprintln!?

You can use the error! macro for logging. It will log the line into stderr or a file depending on a cli parameter.

@metent I updated it.
I had a unit test:
#[cfg(test)]
mod tests {
    use super::*;
    use toml::de::Error;

    use log::Level;

    const TOML_CFG: &str = r#"
loop-on-end = true

[defaults]
format = "{time}\n"
time_format = "%M:%S"

[[sessions]]
"#;

    #[test]
    fn unknown_config_field_warning() -> Result<(), Error> {
        testing_logger::setup();
        ConfigBuilder::deserialize(TOML_CFG)?;
        testing_logger::validate(|captured_logs| {
            assert_eq!(captured_logs.len(), 1);
            assert!(captured_logs[0]
                .body
                .contains("is not a valid config and will be ignored"));
            assert_eq!(captured_logs[0].level, Level::Warn);
        });
        Ok(())
    }
}

using testing-logger, but it conflicted with app::tests::indicate_missing_config_file
running 4 tests
test session::tests::parse_format ... ok
test app::tests::indicate_missing_config_file ... FAILED
test session::tests::parse_time_format ... ok
test config::tests::unknown_config_field_warning ... ok

failures:

---- app::tests::indicate_missing_config_file stdout ----
thread 'app::tests::indicate_missing_config_file' panicked at src/bin/uair/app.rs:340:9:
assertion `left == right` failed
  left: "Log Error: attempted to set a logger after the logging system was already initialized"
 right: "IO Error: Could not load config file \"~/.config/uair/no_uair.toml\""
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    app::tests::indicate_missing_config_file

I couldn't find a way to register a temporary logger to capture its output. It seems that log just simply doesn't support that.

P.s.: would you be willing to add a .rustfmt.toml file to this repo? The default rustfmt nowadays (which runs automatically with most IDEs) keeps trying to format the sources here.
I used temporarily:
# .rustfmt.toml
disable_all_formatting = true

P.s.2: I'd be willing to solve some clippy warnings too if you're interested

using testing-logger, but it conflicted with app::tests::indicate_missing_config_file
running 4 tests
test session::tests::parse_format ... ok
test app::tests::indicate_missing_config_file ... FAILED
test session::tests::parse_time_format ... ok
test config::tests::unknown_config_field_warning ... ok

failures:

---- app::tests::indicate_missing_config_file stdout ----
thread 'app::tests::indicate_missing_config_file' panicked at src/bin/uair/app.rs:340:9:
assertion `left == right` failed
  left: "Log Error: attempted to set a logger after the logging system was already initialized"
 right: "IO Error: Could not load config file \"~/.config/uair/no_uair.toml\""
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    app::tests::indicate_missing_config_file

I couldn't find a way to register a temporary logger to capture its output. It seems that log just simply doesn't support that.

We should probably move this logger initialization code to main, that way we can initialize mock loggers. Also, I added rustfmt.toml and applied clippy fixes, you can rebase onto main branch (or copy the code into a separate branch and set its upstream to this branch, if that's easier).
Other than that, can you document the change in the changelog? You can mention your name along with the change.

Finally done @metent. Apologies for the long wait. Let me know if the log-related refactor is ok

No need to apologize, most of us contribute to free software in our spare time. I'll remove the extra commented code which I assume you forgot to clean up, other than that the changes look great! Thanks!

No need to apologize, most of us contribute to free software in our spare time. I'll remove the extra commented code which I assume you forgot to clean up, other than that the changes look great! Thanks!

Thank you for this tool!


Scope selection dropdown won't show more than 25 scopes in publisher

Description
Hi Team,
We have more than 25 shared scopes. But It only shows first 25 shared scopes in publisher dropdown. Please see the screenshot below.

Steps to Reproduce

Create more than 25 shared scopes and visit scope selection dropdown

Affected Component
APIM
Version
4.0.0
Environment Details (with versions)
No response
Relevant Log Output
No response
Related Issues
No response
Suggested Labels
No response

This will be tracked from https://github.com/wso2/api-manager/issues/2354


[feature request] Ability to customize getState

I'm writing a custom abstraction over a redux's store, something similar to https://github.com/HenrikJoreteg/redux-bundler .
I wouldn't like to diverge from redux's core too much (which includes react-redux ofc) but I bind selectors and actions to the store itself. While I understand this is not "idiomatic redux", this is somewhat crucial for us - we'd like to have ability to extend store at runtime & pass a single API object to custom extensions so can consumer/use it easier without worrying about using dispatch/getState appropriately.
Because of this it only makes sense for us to use existing bound actions/selectors (which exist on the store) in our mapStateToProps etc. This is not possible at the moment, because the only thing we can get there is store.getState() result.
So ideally we'd like to have a way to access store directly, I've explored bunch of things - also creating our own connect from scratch on top of the connectAdvanced API but actually getState call is hardcoded in the connectAdvanced implementation.
It seems that the easiest way would be to extend allowed options with something like createGetState which we could use here:
this.store = props[storeKey] || context[storeKey]
this.getState = typeof createGetState === 'function' ? createGetState(this.store) : store.getState

and later just pass it appropriately to this place and refactor the code to
-function makeSelectorStateful(sourceSelector, store) {
+function makeSelectorStateful(sourceSelector, getState) {
  // wrap the selector in an object that tracks its results between runs.
  const selector = {
    run: function runComponentSelector(props) {
      try {
-        const nextProps = sourceSelector(store.getState(), props)
+        const nextProps = sourceSelector(getState(), props)
        if (nextProps !== selector.props || selector.error) {
          selector.shouldComponentUpdate = true
          selector.props = nextProps
          selector.error = null
        }
      } catch (error) {
        selector.shouldComponentUpdate = true
        selector.error = error
      }
    }
  }

  return selector
}

I'm ofc willing to work on this once this gets approval and we establish the API.

It sounds like what you're describing (and what redux-bundler looks like) is "Redux" in name only.
In redux-bundler, there is extensive enhancement going on, which adds new APIs and many behavioral changes. I would argue that it's not really "Redux" at that point. It looks and sounds similar, but it's really a new thing.
Basically, if you don't implement getState() the same way, then you're probably not Redux. And you should probably not be using React Redux bindings.

My "custom" implementation is way closer to redux than redux-bundler, I've used the latter as point of reference as mine is not OSS at this point.
I'm using regular redux machinery under the hood, only with thin layer of additional abstraction on top of it - in form of prebound actions and selectors attached to the store itself.
It's simply something along those lines:
const store = createStore(
	createReducer(normalizeState(preloadedState)),
	undefined,
	compose(applyMiddleware(...middlewares)))
)

const finalStore = assign(store, bindActionMethods(actions, store), bindSelectors(selectors, store.getState))

Basically its just a sugar over vanilla redux's store, nothing more. I can technically reuse my selectors in mapStateToProps but it's a lot more of boilerplate that I could avoid if only I had direct access to the store there.

I haven't yet had a chance to dig into redux-bundler's implementation yet, but in general, the "right" way to expand the store's capabilities or change the behavior of the standard store API is by writing a store enhancer that returns its own version of getState or subscribe rather than the built-in version.  See my examples here:
http://blog.isquaredsoftware.com/presentations/2017-09-might-need-redux-ecosystem/#/26

@Andarist : maybe I'm misunderstanding your question and use case, but it really does seem like a store enhancer is the right answer here.  You can provide your own version of getState, which can return whatever it wants instead of / in addition to the original store's return value.  Here's an example:
export const meaningOfLifeEnhancer = (createStore) => {
    return (rootReducer, preloadedState, enhancers) => {
        const store = createStore(reducer, preloadedState, enhancers);

        function newGetState() {
            return {
                ...store.getState(),
                meaningOfLife : 42
            };
        }

        return { ...store, getState : newGetState };
    }
}

const composedEnhancers = compose(
    middlewareEnhancer,
    meaningOfLifeEnhancer,
);

const preloadedState = {counter : 2};

const store = createStore(rootReducer, preloadedState, composedEnhancers);
console.log(store.getState());
// {counter : 2, meaningOfLife : 42}

With the proposed approach I won't be able to access otherFunction from react-redux bindings.
The best hacky solution for now that I came up with is smth like this:
const proxyStore = Object.create(store)
// react-redux binding should call `getState` under the hood and pass its result as argument to mapStateToProps
proxyStore.getState = () => store
// ...
<Provider store={proxyStore}>

note - i haven't yet tested it
So I could later do
const mapStoreToProps = store => ({
  value: store.getValue(),
})
export default connect(mapStoreToProps)(MyComponent)

And the last given snippet is somewhat what I aim for.

@Andarist : can you show me exactly where and how you need to access the store object itself, rather than just the state reference?

I'd like to be able to do (without a hack) exactly what the last snippet shows.
We are building an extensible system with plugins written by 3rd party authors and we need to limit what they can do (yeah, ofc part of that could be done with a middleware and scoped dispatch) with more friendly API than bare getState/dispatch.

It seems you've got two main options:

A store enhancer that overrides getState to return something other than just the plain store state
Your own alternative to connect that behaves differently.

The current API is just not intended to expose the store object itself to "userland" code - it's meant to act as an abstraction layer that hides the store entirely.

The ultimate point here is that this is a really specialized edge case request. You've got your options laid out, but it's not something we're going to add to the API right now.


change language to chinese

Hi darwiin, thanks for you building such an amazing resume template
I tried to change  \RequirePackage[english, chinese]{babel} in the yaac-another-awesome-cv file, but it doesn't work.
the following error appeared
 /usr/local/texlive/2017/texmf-dist/tex/generic/babel/babel.sty, line 389
Package babel Error: Unknown option `chinese'. Either you misspelled it  or the language definition file chinese.ldf was not found.

Could you help me fix it ?
Thank you!

I don't think babel support chinese this way out of the box....

Yes...I use the xeCJK instead \usepackage{xeCJK}

@77QingLiu 哥们，你中文支持成功了么？求指导，一直没弄出来

you can add \usepackage[UTF8]{ctex} after \documentclass line to support Chinese


Provide Docker containers for building/releasing and testing SCons

This issue adds Dockerfiles to a new top-level folder docker. Based on a current Ubuntu 19.10, each image shall have the required packages installed as given in the setup script bin/scons_dev_master.py.
The idea here is not to push these Docker images to Docker Hub (hub.docker.com) directly, but that each developer creates and keeps them local on his machine.
As an addition to the bin/scons_dev_master.py script, these Docker containers can provide clean and reproducible environments for the tasks of building and testing an SCons version during the development process.
In order to make this all easier for people that are new to Docker, a short quickstart document and READMEs for the single images build and test are added.
The basics of this feature request were also discussed on the Discord channel "devel".

Hi Dirk. I haven't seen SCons in a long time. Is it still self-contained Python that I can just drop into my repo without any additional pip install and stuff?

@techtonik you can run it right from the scons source tree (python3 scons/src/script/scons.py) if you use a git checkout, or from an unpacked local-install release (python3 scons-local/scons-local-3.1.2/scons.py), both without doing any kind of "install" stuff.

Hi Dirk. I haven't seen SCons in a long time. Is it still self-contained Python that I can just drop into my repo without any additional pip install and stuff?

Yes. the scons-local distribution (unpack and run in place) package is still and will be supported going forward.


Name of '!' icon should be ExclamationMark not ExplanationMark

I found the name for exclamation mark icon is ExplanationMark. I guess it is a typo.
It is set as explanation-mark in:
https://github.com/stnrd/healthicons/blob/main/constants.js

Solved in #16

Create a new release (1.6.0) which solves all the issues of missing icons, typos and currentColor missing

Thank you.


TTY Switching is broken

Describe the bug
if I have firefox open and I navigate to tty2 via "ctrl+alt+f2" and then return to Hyprland there are
a lot of drawing artifacts that get drawn and drawn away. This does not happen with weston.
Images/videos/anything that would help
Please attach a log (it's in /tmp/hypr/hyprland.log) and, if crashing, a crashdump (coredumpctl, then coredumpctl info )

yes switching ttys is broken. Just, don't, for now.

ok, good to know.

Hyprland CPU usage doubles when doing this too. But I hear your warning.

I use tty's a lot it would be useful to see this fixed

the problem is idk what the bug is.

mostly fixed in d743ac7bb1339a7407affb97792eb47fb0fe708c, only reported issue is that it doesn't work when you're running a separate Xorg session on another tty.

fixed in 6708f3b1334e8b6a966f424fe04713a4e74d5fdb


Improved bundle configuration

This PR changes the way the service is configured:

by setting parameters as required
by adding info
by using named parameters instead of argument injection

The use of a Php configuration file also helps when using modern IDE

Hi,
You're toooooo fast. I was changing errors spotted by other reviewers.
I will propose a new PR soon


Cannot set both client_id and identity_ids variables.

Describe your changes
Cannot set both client_id and identity_ids variables. Either use a ServicePrincipal or a managed identity.
Issue number
#617
Checklist before requesting a review

[X] The pr title can be used to describe what this pr did in CHANGELOG.md file
[X] I have executed pre-commit on my machine
[X] I have passed pr-check on my machine

@lonegunmanb please take a look again. thanks