WebRTC support

I'm using WebRTC for a web-based HTML5 export, so I've configured my network such that my server is technically just another peer in the network with its own peer_id.
I've dropped netfox into my codebase and set up the authority for all nodes except the input node to be the server's peer ID, but I'm not getting any network activity and state is not replicated across the network.
Any advice would be appreciated.

I've realized that all of the network configuration starts from NetworkEvents, which doesn't get fired for me because I've rolled my own server-client connection with WebRTC.
I'm going to add the same hooks to my own GameClient and GameServer code and report back.

For anyone interested in doing something similar with WebRTC in the future, I resolved this by making the following edits:
# network-time-synchronizer.gd
-L121: var sync_result = await sync_time(1)
+L121: var sync_result = await sync_time(Program.game_authority_id)

# network-time.gd
-L299: if not multiplayer.is_server():
+L299: if not Program.is_game_authority:

On my own WebRTC code, I added the following calls:
# webrtc_client.gd
func _handle_webrtc_peer_connected(new_peer_id: int) -> void:
+ if new_peer_id == Program.game_authority_id:
+   NetworkTime.start()

# webrtc_signalling.gd
func _handle_authority_webrtc_client_ready(peer_id: int) -> void:
~   Program.game_authority_id = peer_id
+   NetworkTime.start()
~   await set_game_authority_on_existing_peers(peer_id)

Thanks for the detailed post @bryanmylee!

I've realized that all of the network configuration starts from NetworkEvents

I see you've also figured this out, so this note is mostly for anyone else reading :slightly_smiling_face: You can also manually start things by calling NetworkTime.start. NetworkEvents is a convenience wrapper over Godot's multiplayer events, but you can skip that layer.
I think I can support your use case by making NetworkTime's authority configurable, but default to 1 as it currently does. So that way you would set the NetworkTime's sync authority to Program.game_authority_id and be done with it.
By the way, do I understand it right that your WebRTC setup does not emit the usual events ( connected_to_server, peer_connected, etc. ), and that's the reason why the original NetworkEvents implementation did nothing?

@elementbound As far as I know, that's correct. connected_to_server isn't emitted in a WebRTC environment since all connection nodes are peers.
peer_connected is emitted, but unlike a traditional client-server model, it's not isolated to the server only and is emitted on all peers when a new peer joins the mesh.
I've essentially replaced:

connected_to_server with peer_connected(id) where id == Program.game_authority_id, and
peer_connected with peer_connected where Program.is_game_authority.

Thanks! I'll try to cater a bit to this use case, both in implementation and in docs 🙂

@elementbound Actually, I think you can ignore this. I've realized that it's practically impossible to get a WebRTC client to work when it's deployed on a server, especially if it's behind a container network like Docker.
I'm basically abandoning this approach :/


New GUI for Auto

We need to update auto pages to the new GUI design

Shouldn't this be in the html-pages repository?


Problem on Mac

Hello there,
First of all, I want to thank you for this. I hope I can get it to work, secondly I'd like to apologise as I'm sure there is nothing wrong with it, it's just that I am a total novice / newbie and don't understand simple terminal commands.
I have set everything up; step A is complete and I think working. Section B, I have all my mbox files ready and the file structure in place. I've created the test user.
Now, when I try to upload I get this error:
-bash: ./import-mailbox-to-gmail.py: No such file or directory
What could be causing that? Have I set up step A correctly?
Could you possibly give me the exact terminal command? This is currently what I am trying to use:
./import-mailbox-to-gmail.py --json /Users/jasonbradbury/Desktop/MBOXTEST/Gmail API-c1434271fb44.json --dir<EMAIL_ADDRESS>Thanks so much in advance!
Jason

Try to run it prefixed by python, e.g.:
python import-mailbox-to-gmail.py --json ...
Also, make sure the current directory is the directory you put import-mailbox-to-gmail.py in.
Please let me know if that doesn't work.

Thank you for your super speedy reply.
I made some progress. I actually didn't have the .py file in the current directory, so that was the problem. However, it's throwing up anothwe thing (probably another rookie error by me). Any thoughts?
Thanks again.
Hello-Mozart-MacBook-Pro:~ jasonbradbury$ python import-mailbox-to-gmail.py --json<EMAIL_ADDRESS>API-c1434271fb44.json --dir<EMAIL_ADDRESS>usage: import-mailbox-to-gmail.py [-h] [--auth_host_name AUTH_HOST_NAME]
                                  [--noauth_local_webserver]
                                  [--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]]
                                  [--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
                                  --json JSON --dir DIR [--no-fix-msgid]
                                  [--noreplaceqp] [--num_retries NUM_RETRIES]
                                  [--log LOG]
                                  [--httplib2debuglevel HTTPLIB2DEBUGLEVEL]
import-mailbox-to-gmail.py: error: unrecognized arguments: API-c1434271fb44.json

You must double quote the path of the JSON file, otherwise the shell will
split the path in two separate arguments:
python import-mailbox-to-gmail.py --json
<EMAIL_ADDRESS>API-c1434271fb44.json*"* --dir
<EMAIL_ADDRESS>On Fri, Aug 25, 2017 at 3:40 PM, hellomozart<EMAIL_ADDRESS>wrote:

Thank you for your super speedy reply.
I made some progress. I actually didn't have the .py file in the current
directory, so that was the problem. However, it's throwing up anothwe thing
(probably another rookie error by me). Any thoughts?
Thanks again.
Hello-Mozart-MacBook-Pro:~ jasonbradbury$ python import-mailbox-to-gmail.py --json<EMAIL_ADDRESS>API-c1434271fb44.json --dir<EMAIL_ADDRESS>usage: import-mailbox-to-gmail.py [-h] [--auth_host_name AUTH_HOST_NAME]
[--noauth_local_webserver]
[--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]]
[--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
--json JSON --dir DIR [--no-fix-msgid]
[--noreplaceqp] [--num_retries NUM_RETRIES]
[--log LOG]
[--httplib2debuglevel HTTPLIB2DEBUGLEVEL]
import-mailbox-to-gmail.py: error: unrecognized arguments: API-c1434271fb44.json
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/import-mailbox-to-gmail/issues/30#issuecomment-324923115,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4wuKlOD6MxSqkiI-NJh_dyt4xkU3Rpks5sbs6ygaJpZM4PCo3w
.

--
Paolo Mossino<EMAIL_ADDRESS>

Thanks Paolo!
This has now come up:
Hello-Mozart-MacBook-Pro:~ jasonbradbury$ python import-mailbox-to-gmail.py --json
usage: import-mailbox-to-gmail.py [-h] [--auth_host_name AUTH_HOST_NAME]
                                  [--noauth_local_webserver]
                                  [--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]]
                                  [--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
                                  --json JSON --dir DIR [--no-fix-msgid]
                                  [--noreplaceqp] [--num_retries NUM_RETRIES]
                                  [--log LOG]
                                  [--httplib2debuglevel HTTPLIB2DEBUGLEVEL]
import-mailbox-to-gmail.py: error: argument --json: expected one argument
Hello-Mozart-MacBook-Pro:~ jasonbradbury$<EMAIL_ADDRESS>> API-c1434271fb44.json*"* --dir
-bash<EMAIL_ADDRESS>API-c1434271fb44.json**: No such file or directory
Hello-Mozart-MacBook-Pro:~ jasonbradbury$<EMAIL_ADDRESS>-bash<EMAIL_ADDRESS>is a directory
Hello-Mozart-MacBook-Pro:~ jasonbradbury$

Really appreciate the help!

@PMox your response, while correct, was garbled by GitHub. :)
The correct commandline is:
python import-mailbox-to-gmail.py --json<EMAIL_ADDRESS>API-c1434271fb44.json" --dir<EMAIL_ADDRESS>Note that the dir argument here is probably incorrect. You probably need it to be:
python import-mailbox-to-gmail.py --json<EMAIL_ADDRESS>API-c1434271fb44.json" --dir /Users/jasonbradbury/Desktop/MBOXTEST
This will import the file named CVs.mbox to<EMAIL_ADDRESS>account under a "CVs" label.

Thank you Liron & Paolo. Will give this a go. Stand by!

Ah, that did something! It ran I think.
However, I think it failed. Here is the log:
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:285) *** Starting import-mailbox-to-gmail 1.3 on Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] ***
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:286) Arguments:
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	auth_host_name: 'localhost'
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	auth_host_port: [8080, 8090]
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	dir<EMAIL_ADDRESS>2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	fix_msgid: True
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	httplib2debuglevel: 0
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	json<EMAIL_ADDRESS>API-c1434271fb44.json'
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	log: 'import-mailbox-to-gmail-36819.log'
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	logging_level: 'INFO'
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	noauth_local_webserver: False
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	num_retries: 10
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:288) 	replace_quoted_printable: True
2017-08-25T14:54:52 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:301) Processing user CVs.mbox
2017-08-25T14:54:52 (+0100) 36819 WARNING autodetect (__init__.py:44) file_cache is unavailable when using oauth2client >= 4.0.0
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery_cache/__init__.py", line 41, in autodetect
    from . import file_cache
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery_cache/file_cache.py", line 41, in <module>
    'file_cache is unavailable when using oauth2client >= 4.0.0')
ImportError: file_cache is unavailable when using oauth2client >= 4.0.0
2017-08-25T14:54:52 (+0100) 36819 INFO _retrieve_discovery_doc (discovery.py:273) URL being requested: GET https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest
2017-08-25T14:54:52 (+0100) 36819 INFO new_request (transport.py:157) Attempting refresh to obtain initial access_token
2017-08-25T14:54:52 (+0100) 36819 INFO _do_refresh_request (client.py:777) Refreshing access_token
2017-08-25T14:54:53 (+0100) 36819 INFO _do_refresh_request (client.py:806) Failed to retrieve access token: {
  "error" : "invalid_request",
  "error_description" : "Invalid impersonation prn email address."
}
2017-08-25T14:54:53 (+0100) 36819 ERROR main (import-mailbox-to-gmail.py:309) Can't get access token for user CVs.mbox
2017-08-25T14:54:53 (+0100) 36819 ERROR main (import-mailbox-to-gmail.py:347) Can't process user CVs.mbox
Traceback (most recent call last):
  File "import-mailbox-to-gmail.py", line 307, in main
    service = discovery.build('gmail', 'v1', http=http)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery.py", line 228, in build
    requested_url, discovery_http, cache_discovery, cache)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery.py", line 275, in _retrieve_discovery_doc
    resp, content = http.request(actual_url)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/transport.py", line 159, in new_request
    credentials._refresh(orig_request_method)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/client.py", line 749, in _refresh
    self._do_refresh_request(http)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/client.py", line 819, in _do_refresh_request
    raise HttpAccessTokenRefreshError(error_msg, status=resp.status)
HttpAccessTokenRefreshError: invalid_request: Invalid impersonation prn email address.
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:348) *** Done importing all users from directory<EMAIL_ADDRESS>2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:349) *** Import summary:
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:351)     0 users imported with no failures
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:353)     0 users imported with some failures
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:355)     1 users failed
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:357)     0 labels (mbox files) imported with no failures
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:359)     0 labels (mbox files) imported with some failures
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:361)     0 labels (mbox files) failed
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:363)     0 messages imported successfully
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:365)     0 messages failed

2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:368) *** Check log file import-mailbox-to-gmail-36819.log for detailed errors.
2017-08-25T14:54:53 (+0100) 36819 INFO main (import-mailbox-to-gmail.py:369) Finished.

Sorry, didn't mean to close the thread! Does this reopen it?

Sorry, didn't mean to close the thread! Let me know if there looks like something is wrong from may log. Thank you!

Here's the result from another try in Terminal:
Hello-Mozart-MacBook-Pro:~ jasonbradbury$ python import-mailbox-to-gmail.py --json<EMAIL_ADDRESS>API-c1434271fb44.json" --dir<EMAIL_ADDRESS>14:54:52 INFO<EMAIL_ADDRESS>*** Starting import-mailbox-to-gmail 1.3 on Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] ***
14:54:52 INFO<EMAIL_ADDRESS>Arguments:
14:54:52 INFO<EMAIL_ADDRESS>auth_host_name: 'localhost'
14:54:52 INFO<EMAIL_ADDRESS>auth_host_port: [8080, 8090]
14:54:52 INFO<EMAIL_ADDRESS>dir<EMAIL_ADDRESS>14:54:52 INFO<EMAIL_ADDRESS>fix_msgid: True
14:54:52 INFO<EMAIL_ADDRESS>httplib2debuglevel: 0
14:54:52 INFO<EMAIL_ADDRESS>json<EMAIL_ADDRESS>API-c1434271fb44.json'
14:54:52 INFO<EMAIL_ADDRESS>log: 'import-mailbox-to-gmail-36819.log'
14:54:52 INFO<EMAIL_ADDRESS>logging_level: 'INFO'
14:54:52 INFO<EMAIL_ADDRESS>noauth_local_webserver: False
14:54:52 INFO<EMAIL_ADDRESS>num_retries: 10
14:54:52 INFO<EMAIL_ADDRESS>replace_quoted_printable: True
14:54:52 INFO<EMAIL_ADDRESS>Processing user CVs.mbox
14:54:52 WARNING<EMAIL_ADDRESS>file_cache is unavailable when using oauth2client >= 4.0.0
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery_cache/__init__.py", line 41, in autodetect
    from . import file_cache
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery_cache/file_cache.py", line 41, in <module>
    'file_cache is unavailable when using oauth2client >= 4.0.0')
ImportError: file_cache is unavailable when using oauth2client >= 4.0.0
14:54:52 INFO<EMAIL_ADDRESS>URL being requested: GET https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest
14:54:52 INFO<EMAIL_ADDRESS>Attempting refresh to obtain initial access_token
14:54:52 INFO<EMAIL_ADDRESS>Refreshing access_token
14:54:53 INFO<EMAIL_ADDRESS>Failed to retrieve access token: {
  "error" : "invalid_request",
  "error_description" : "Invalid impersonation prn email address."
}
14:54:53 ERROR<EMAIL_ADDRESS>Can't get access token for user CVs.mbox
14:54:53 ERROR<EMAIL_ADDRESS>Can't process user CVs.mbox
Traceback (most recent call last):
  File "import-mailbox-to-gmail.py", line 307, in main
    service = discovery.build('gmail', 'v1', http=http)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery.py", line 228, in build
    requested_url, discovery_http, cache_discovery, cache)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery.py", line 275, in _retrieve_discovery_doc
    resp, content = http.request(actual_url)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/transport.py", line 159, in new_request
    credentials._refresh(orig_request_method)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/client.py", line 749, in _refresh
    self._do_refresh_request(http)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/client.py", line 819, in _do_refresh_request
    raise HttpAccessTokenRefreshError(error_msg, status=resp.status)
HttpAccessTokenRefreshError: invalid_request: Invalid impersonation prn email address.
14:54:53 INFO<EMAIL_ADDRESS>*** Done importing all users from directory<EMAIL_ADDRESS>14:54:53 INFO<EMAIL_ADDRESS>*** Import summary:
14:54:53 INFO<EMAIL_ADDRESS>   0 users imported with no failures
14:54:53 INFO<EMAIL_ADDRESS>   0 users imported with some failures
14:54:53 INFO<EMAIL_ADDRESS>   1 users failed
14:54:53 INFO<EMAIL_ADDRESS>   0 labels (mbox files) imported with no failures
14:54:53 INFO<EMAIL_ADDRESS>   0 labels (mbox files) imported with some failures
14:54:53 INFO<EMAIL_ADDRESS>   0 labels (mbox files) failed
14:54:53 INFO<EMAIL_ADDRESS>   0 messages imported successfully
14:54:53 INFO<EMAIL_ADDRESS>   0 messages failed

14:54:53 INFO<EMAIL_ADDRESS>*** Check log file import-mailbox-to-gmail-36819.log for detailed errors.
14:54:53 INFO<EMAIL_ADDRESS>Finished.

The issue is that you set dir to<EMAIL_ADDRESS>This means that it would treat subdirectories of<EMAIL_ADDRESS>as the users.
You probably want to set dir to ""/Users/jasonbradbury/Desktop/MBOXTEST".

Hmmmm. I thought I did that, anyway... I changed that and got the following error:
Hello-Mozart-MacBook-Pro:~ jasonbradbury$ python import-mailbox-to-gmail.py --json "/Users/jasonbradbury/Gmail\API-c1434271fb44.json" --dir ""/Users/jasonbradbury/Desktop/MBOXTEST""
16:47:34 INFO<EMAIL_ADDRESS>*** Starting import-mailbox-to-gmail 1.3 on Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] ***
16:47:34 INFO<EMAIL_ADDRESS>Arguments:
16:47:34 INFO<EMAIL_ADDRESS>auth_host_name: 'localhost'
16:47:34 INFO<EMAIL_ADDRESS>auth_host_port: [8080, 8090]
16:47:34 INFO<EMAIL_ADDRESS>dir: '/Users/jasonbradbury/Desktop/MBOXTEST'
16:47:34 INFO<EMAIL_ADDRESS>fix_msgid: True
16:47:34 INFO<EMAIL_ADDRESS>httplib2debuglevel: 0
16:47:34 INFO<EMAIL_ADDRESS>json: '/Users/jasonbradbury/Gmail\\API-c1434271fb44.json'
16:47:34 INFO<EMAIL_ADDRESS>log: 'import-mailbox-to-gmail-59398.log'
16:47:34 INFO<EMAIL_ADDRESS>logging_level: 'INFO'
16:47:34 INFO<EMAIL_ADDRESS>noauth_local_webserver: False
16:47:34 INFO<EMAIL_ADDRESS>num_retries: 10
16:47:34 INFO<EMAIL_ADDRESS>replace_quoted_printable: True
16:47:34 INFO<EMAIL_ADDRESS>Processing user<EMAIL_ADDRESS>16:47:34 ERROR<EMAIL_ADDRESS>Can't get access token for user<EMAIL_ADDRESS>16:47:34 ERROR<EMAIL_ADDRESS>Can't process user<EMAIL_ADDRESS>Traceback (most recent call last):
  File "import-mailbox-to-gmail.py", line 303, in main
    credentials = get_credentials(username)
  File "import-mailbox-to-gmail.py", line 122, in get_credentials
    scopes=SCOPES).create_delegated(username)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/service_account.py", line 219, in from_json_keyfile_name
    with open(filename, 'r') as file_obj:
IOError: [Errno 2] No such file or directory: '/Users/jasonbradbury/Gmail\\API-c1434271fb44.json'
16:47:34 INFO<EMAIL_ADDRESS>*** Done importing all users from directory '/Users/jasonbradbury/Desktop/MBOXTEST'
16:47:34 INFO<EMAIL_ADDRESS>*** Import summary:
16:47:34 INFO<EMAIL_ADDRESS>   0 users imported with no failures
16:47:34 INFO<EMAIL_ADDRESS>   0 users imported with some failures
16:47:34 INFO<EMAIL_ADDRESS>   1 users failed
16:47:34 INFO<EMAIL_ADDRESS>   0 labels (mbox files) imported with no failures
16:47:34 INFO<EMAIL_ADDRESS>   0 labels (mbox files) imported with some failures
16:47:34 INFO<EMAIL_ADDRESS>   0 labels (mbox files) failed
16:47:34 INFO<EMAIL_ADDRESS>   0 messages imported successfully
16:47:34 INFO<EMAIL_ADDRESS>   0 messages failed

16:47:34 INFO<EMAIL_ADDRESS>*** Check log file import-mailbox-to-gmail-59398.log for detailed errors.
16:47:34 INFO<EMAIL_ADDRESS>Finished.

In case it is useful, here is the log generated:
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:285) *** Starting import-mailbox-to-gmail 1.3 on Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] ***
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:286) Arguments:
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	auth_host_name: 'localhost'
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	auth_host_port: [8080, 8090]
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	dir: '/Users/jasonbradbury/Desktop/MBOXTEST'
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	fix_msgid: True
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	httplib2debuglevel: 0
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	json: '/Users/jasonbradbury/Gmail\\API-c1434271fb44.json'
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	log: 'import-mailbox-to-gmail-59398.log'
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	logging_level: 'INFO'
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	noauth_local_webserver: False
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	num_retries: 10
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:288) 	replace_quoted_printable: True
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:301) Processing user<EMAIL_ADDRESS>2017-08-25T16:47:34 (+0100) 59398 ERROR main (import-mailbox-to-gmail.py:309) Can't get access token for user<EMAIL_ADDRESS>2017-08-25T16:47:34 (+0100) 59398 ERROR main (import-mailbox-to-gmail.py:347) Can't process user<EMAIL_ADDRESS>Traceback (most recent call last):
  File "import-mailbox-to-gmail.py", line 303, in main
    credentials = get_credentials(username)
  File "import-mailbox-to-gmail.py", line 122, in get_credentials
    scopes=SCOPES).create_delegated(username)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/service_account.py", line 219, in from_json_keyfile_name
    with open(filename, 'r') as file_obj:
IOError: [Errno 2] No such file or directory: '/Users/jasonbradbury/Gmail\\API-c1434271fb44.json'
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:348) *** Done importing all users from directory '/Users/jasonbradbury/Desktop/MBOXTEST'
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:349) *** Import summary:
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:351)     0 users imported with no failures
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:353)     0 users imported with some failures
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:355)     1 users failed
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:357)     0 labels (mbox files) imported with no failures
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:359)     0 labels (mbox files) imported with some failures
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:361)     0 labels (mbox files) failed
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:363)     0 messages imported successfully
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:365)     0 messages failed

2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:368) *** Check log file import-mailbox-to-gmail-59398.log for detailed errors.
2017-08-25T16:47:34 (+0100) 59398 INFO main (import-mailbox-to-gmail.py:369) Finished.

Thanks for your continued support!

The issue is: No such file or directory: '/Users/jasonbradbury/Gmail\\API-c1434271fb44.json'
Try to use a slash instead of a backslash, i.e.:
python import-mailbox-to-gmail.py --json "/Users/jasonbradbury/Gmail/API-c1434271fb44.json" --dir "/Users/jasonbradbury/Desktop/MBOXTEST"

That didn't work either, well it did. It solved the initial dir problem. I think there is a few more now:
Hello-Mozart-MacBook-Pro:~ jasonbradbury$ python import-mailbox-to-gmail.py --json "/Users/jasonbradbury/Gmail API-c1434271fb44.json" --dir "/Users/jasonbradbury/Desktop/MBOXTEST"
17:08:13 INFO<EMAIL_ADDRESS>*** Starting import-mailbox-to-gmail 1.3 on Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] ***
17:08:13 INFO<EMAIL_ADDRESS>Arguments:
17:08:13 INFO<EMAIL_ADDRESS>auth_host_name: 'localhost'
17:08:13 INFO<EMAIL_ADDRESS>auth_host_port: [8080, 8090]
17:08:13 INFO<EMAIL_ADDRESS>dir: '/Users/jasonbradbury/Desktop/MBOXTEST'
17:08:13 INFO<EMAIL_ADDRESS>fix_msgid: True
17:08:13 INFO<EMAIL_ADDRESS>httplib2debuglevel: 0
17:08:13 INFO<EMAIL_ADDRESS>json: '/Users/jasonbradbury/Gmail API-c1434271fb44.json'
17:08:13 INFO<EMAIL_ADDRESS>log: 'import-mailbox-to-gmail-63290.log'
17:08:13 INFO<EMAIL_ADDRESS>logging_level: 'INFO'
17:08:13 INFO<EMAIL_ADDRESS>noauth_local_webserver: False
17:08:13 INFO<EMAIL_ADDRESS>num_retries: 10
17:08:13 INFO<EMAIL_ADDRESS>replace_quoted_printable: True
17:08:13 INFO<EMAIL_ADDRESS>Processing user<EMAIL_ADDRESS>17:08:13 WARNING<EMAIL_ADDRESS>file_cache is unavailable when using oauth2client >= 4.0.0
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery_cache/__init__.py", line 41, in autodetect
    from . import file_cache
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery_cache/file_cache.py", line 41, in <module>
    'file_cache is unavailable when using oauth2client >= 4.0.0')
ImportError: file_cache is unavailable when using oauth2client >= 4.0.0
17:08:13 INFO<EMAIL_ADDRESS>URL being requested: GET https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest
17:08:13 INFO<EMAIL_ADDRESS>Attempting refresh to obtain initial access_token
17:08:13 INFO<EMAIL_ADDRESS>Refreshing access_token
17:08:14 INFO<EMAIL_ADDRESS>URL being requested: GET https://www.googleapis.com/gmail/v1/users/jason%40hellomozart.co.uk/labels?fields=labels%28id%2Cname%29&alt=json
17:08:14 INFO<EMAIL_ADDRESS>Skipping<EMAIL_ADDRESS>because it doesn't have a .mbox extension
17:08:14 INFO<EMAIL_ADDRESS>Starting processing of<EMAIL_ADDRESS>17:08:14 ERROR<EMAIL_ADDRESS>Can't process mbox files for user<EMAIL_ADDRESS>17:08:14 ERROR<EMAIL_ADDRESS>Can't process user<EMAIL_ADDRESS>Traceback (most recent call last):
  File "import-mailbox-to-gmail.py", line 322, in main
    result = process_mbox_files(username, service, labels)
  File "import-mailbox-to-gmail.py", line 179, in process_mbox_files
    mbox = mailbox.mbox(full_filename)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/mailbox.py", line 832, in __init__
    _mboxMMDF.__init__(self, path, factory, create)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/mailbox.py", line 571, in __init__
    f = open(self._path, 'rb+')
IOError: [Errno 21] Is a directory<EMAIL_ADDRESS>17:08:14 INFO<EMAIL_ADDRESS>*** Done importing all users from directory '/Users/jasonbradbury/Desktop/MBOXTEST'
17:08:14 INFO<EMAIL_ADDRESS>*** Import summary:
17:08:14 INFO<EMAIL_ADDRESS>   0 users imported with no failures
17:08:14 INFO<EMAIL_ADDRESS>   0 users imported with some failures
17:08:14 INFO<EMAIL_ADDRESS>   1 users failed
17:08:14 INFO<EMAIL_ADDRESS>   0 labels (mbox files) imported with no failures
17:08:14 INFO<EMAIL_ADDRESS>   0 labels (mbox files) imported with some failures
17:08:14 INFO<EMAIL_ADDRESS>   0 labels (mbox files) failed
17:08:14 INFO<EMAIL_ADDRESS>   0 messages imported successfully
17:08:14 INFO<EMAIL_ADDRESS>   0 messages failed

17:08:14 INFO<EMAIL_ADDRESS>*** Check log file import-mailbox-to-gmail-63290.log for detailed errors.
17:08:14 INFO<EMAIL_ADDRESS>Finished.

17:08:14 ERROR<EMAIL_ADDRESS>Can't process mbox files for user<EMAIL_ADDRESS>17:08:14 ERROR<EMAIL_ADDRESS>Can't process user<EMAIL_ADDRESS>IOError: [Errno 21] Is a directory<EMAIL_ADDRESS>Could it be an issue with the API set up at Google?
Any thoughts? Sorry this is so drawn out!

No problem! :)
It looks like "CVs.mbox" is a directory and not an mbox file.
Please attach the output of this command (note that uppercase/lowercase matters):
ls -laR /Users/jasonbradbury/Desktop/MBOXTEST
This should print the list of files and directories under /Users/jasonbradbury/Desktop/MBOXTEST and give us more insight about what needs to be changed, if any.
Please make sure you redact any private information shown there before posting.
Thanks!

Thanks :)
Ok, here us the output:
Last login: Sat Aug 26 16:00:52 on ttys000
Hello-Mozart-MacBook-Pro:~ jasonbradbury$ ls -laR /Users/jasonbradbury/Desktop/MBOXTEST
total 16
drwxr-xr-x   4 jasonbradbury  staff   136 25 Aug 16:46 .
drwx------+ 25 jasonbradbury  staff   850 26 Aug 15:47 ..
-rw-r--r--@  1 jasonbradbury  staff  6148 25 Aug 16:47 .DS_Store
drwxr-xr-x   4 jasonbradbury  staff   136 25 Aug 16:45<EMAIL_ADDRESS>
<EMAIL_ADDRESS>total 16
drwxr-xr-x  4 jasonbradbury  staff   136 25 Aug 16:45 .
drwxr-xr-x  4 jasonbradbury  staff   136 25 Aug 16:46 ..
-rw-r--r--@ 1 jasonbradbury  staff  6148 25 Aug 16:45 .DS_Store
drwxr-xr-x@ 6 jasonbradbury  staff   204 25 Aug 12:10 CVs.mbox

<EMAIL_ADDRESS>total 26024
drwxr-xr-x@ 6 jasonbradbury  staff       204 25 Aug 12:10 .
drwxr-xr-x  4 jasonbradbury  staff       136 25 Aug 16:45 ..
-rw-------@ 1 jasonbradbury  staff       123 25 Aug 12:10 .lock
-rw-r--r--@ 1 jasonbradbury  staff       330 25 Aug 12:10 Info.plist
-rw-------@ 1 jasonbradbury  staff  13308411 25 Aug 12:10 mbox
-rw-r--r--@ 1 jasonbradbury  staff      3399 25 Aug 12:10 table_of_contents

I have tried using the mbox inside CVs.mbox (which is actually the 'large' multiple GB file) but it's not recognised as a .mbox. If that makes sense.
ps - I don't think there is any private information in this? On that note... nothing I have previously posted can compromise my accounts or computer right?
Thanks!
Jason

Thanks for the details! I made a small update to try and add support for this scenario. Can you please download https://raw.githubusercontent.com/google/import-mailbox-to-gmail/master/import-mailbox-to-gmail.py and see if that works? You should still run it with:
python import-mailbox-to-gmail.py --json "/Users/jasonbradbury/Gmail API-c1434271fb44.json" --dir "/Users/jasonbradbury/Desktop/MBOXTEST"
Regarding private information - I don't see anything sensitive here (aside from your email address if you consider that sensitive). Feel free to edit your previous comments to remove it if you like.

Hey! Ok great on the private information front, I may go back and edit out my e-mail just for spams sake, but anyway...
That fix seems to have done something! It created labels within Gmail: "CVs" and "CVs.mbox" However... It didn't upload any messages.
I tested importing the box back into Mail and it works fine, so the file is not corrupt or anything.
I feel like we're getting closer though?
Details below,
Thanks!
Jason
Hello-Mozart-MacBook-Pro:~ jasonbradbury$ python import-mailbox-to-gmail.py --json "/Users/jasonbradbury/Gmail API-c1434271fb44.json" --dir "/Users/jasonbradbury/Desktop/MBOXTEST"
12:05:03 INFO<EMAIL_ADDRESS>*** Starting import-mailbox-to-gmail 1.3 on Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] ***
12:05:03 INFO<EMAIL_ADDRESS>Arguments:
12:05:03 INFO<EMAIL_ADDRESS>auth_host_name: 'localhost'
12:05:03 INFO<EMAIL_ADDRESS>auth_host_port: [8080, 8090]
12:05:03 INFO<EMAIL_ADDRESS>dir: '/Users/jasonbradbury/Desktop/MBOXTEST'
12:05:03 INFO<EMAIL_ADDRESS>fix_msgid: True
12:05:03 INFO<EMAIL_ADDRESS>from_message: 0
12:05:03 INFO<EMAIL_ADDRESS>httplib2debuglevel: 0
12:05:03 INFO<EMAIL_ADDRESS>json: '/Users/jasonbradbury/Gmail API-c1434271fb44.json'
12:05:03 INFO<EMAIL_ADDRESS>log: 'import-mailbox-to-gmail-1414.log'
12:05:03 INFO<EMAIL_ADDRESS>logging_level: 'INFO'
12:05:03 INFO<EMAIL_ADDRESS>noauth_local_webserver: False
12:05:03 INFO<EMAIL_ADDRESS>num_retries: 10
12:05:03 INFO<EMAIL_ADDRESS>replace_quoted_printable: True
12:05:03 INFO<EMAIL_ADDRESS>Processing user<EMAIL_ADDRESS>12:05:03 WARNING<EMAIL_ADDRESS>file_cache is unavailable when using oauth2client >= 4.0.0
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery_cache/__init__.py", line 41, in autodetect
    from . import file_cache
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/discovery_cache/file_cache.py", line 41, in <module>
    'file_cache is unavailable when using oauth2client >= 4.0.0')
ImportError: file_cache is unavailable when using oauth2client >= 4.0.0
12:05:03 INFO<EMAIL_ADDRESS>URL being requested: GET https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest
12:05:03 INFO<EMAIL_ADDRESS>Attempting refresh to obtain initial access_token
12:05:03 INFO<EMAIL_ADDRESS>Refreshing access_token
12:05:05 INFO<EMAIL_ADDRESS>URL being requested: GET https://www.googleapis.com/gmail/v1/users/jason%40hellomozart.co.uk/labels?fields=labels%28id%2Cname%29&alt=json
12:05:05 INFO<EMAIL_ADDRESS>Label 'CVs.mbox' doesn't exist, creating it
12:05:05 INFO<EMAIL_ADDRESS>URL being requested: POST https://www.googleapis.com/gmail/v1/users/jason%40hellomozart.co.uk/labels?alt=json
12:05:05 INFO<EMAIL_ADDRESS>Label 'CVs.mbox' created
12:05:05 INFO<EMAIL_ADDRESS>Skipping<EMAIL_ADDRESS>because it doesn't have a .mbox extension
12:05:05 INFO<EMAIL_ADDRESS>Skipping<EMAIL_ADDRESS>because it doesn't have a .mbox extension
12:05:05 INFO<EMAIL_ADDRESS>Skipping<EMAIL_ADDRESS>because it doesn't have a .mbox extension
12:05:05 INFO<EMAIL_ADDRESS>Skipping<EMAIL_ADDRESS>because it doesn't have a .mbox extension
12:05:05 INFO<EMAIL_ADDRESS>Skipping<EMAIL_ADDRESS>because it doesn't have a .mbox extension
12:05:05 INFO<EMAIL_ADDRESS>Done importing user<EMAIL_ADDRESS>Labels: 0 succeeded, 0 with some errors, 0 failed. Messages: 0 succeeded, 0 failed.
12:05:05 INFO<EMAIL_ADDRESS>*** Done importing all users from directory '/Users/jasonbradbury/Desktop/MBOXTEST'
12:05:05 INFO<EMAIL_ADDRESS>*** Import summary:
12:05:05 INFO<EMAIL_ADDRESS>   1 users imported with no failures
12:05:05 INFO<EMAIL_ADDRESS>   0 users imported with some failures
12:05:05 INFO<EMAIL_ADDRESS>   0 users failed
12:05:05 INFO<EMAIL_ADDRESS>   0 labels (mbox files) imported with no failures
12:05:05 INFO<EMAIL_ADDRESS>   0 labels (mbox files) imported with some failures
12:05:05 INFO<EMAIL_ADDRESS>   0 labels (mbox files) failed
12:05:05 INFO<EMAIL_ADDRESS>   0 messages imported successfully
12:05:05 INFO<EMAIL_ADDRESS>   0 messages failed

12:05:05 INFO<EMAIL_ADDRESS>Finished.

I think I found the issue. Please try the new version of https://raw.githubusercontent.com/google/import-mailbox-to-gmail/master/import-mailbox-to-gmail.py with the same commandline.
Let me know if it works. :)

Ah! It worked a treat. Thank you!! Now, just to uploading my 25,000 15GB of e-mails.
Thanks again!

Great, thanks for reporting the issue, testing and confirming!


No indication for non visible tests

Tested on TS1, the results are now correctly displayed.
One thing for a future PR: There is no indication of the test cases with a visibility of "never" for the student. This could lead to confusion if he only sees tests where he passed and does not get any feedback about failing unshown tests.
Originally posted by @JohannesStoehr in https://github.com/ls1intum/Artemis/pull/4159#pullrequestreview-784177200
I see different options:

Not shown tests should never be shown but also not give any points (=> Truly hidden)
Not shown tests are displayed combined like the successful tests without feedback but with the number of points
Not shown tests are displayed normally but without feedback
Not shown tests are only displayed normally without if they don't give points. Otherwise, they are neglected.

Either way the naming has to adapt to reflect the exact behaviour

I guess we need to discuss this with the instructors who use the feature. At TUM, we don't really use it so far.
@dfuchss @b-fein what is your opinion on this?


Kafka-Python KafkaConsumer not able to consume. Pykafka and other Clients working fine

I was trying to consume a kafka-topic (say ABC)
KafkaConsumer indefinitely polls without consuming a single message.
consumer = KafkaConsumer(
                        bootstrap_servers=<broker_id>,
                        group_id="some_id",
                        value_deserializer=lambda m: json.loads(m.decode('utf-8'))
                        )

consumer.subscribe(["ABC"])
for message in consumer:
    print message.topic, message.offset

The Pykafka and JavaClient works fine. (A code path is given for them as well)
topic = client.topics[topicName]

consumer = topic.get_balanced_consumer(
                     consumer_group="SomeName",
                     auto_commit_enable=True,
                     use_rdkafka = True,
                     auto_commit_interval_ms =10,
                     zookeeper_connect = zkBrokers
        )

for message in consumer:
    if message is not None:
        print message.value

This one successfully prints the messages
Also, I get the following logs from kafka-python
03/23/2017 12:11:10,174 kafka.consumer.subscription_state INFO Updated partition assignment: []
03/23/2017 12:11:10,174 kafka.coordinator.consumer INFO Setting newly assigned partitions set([]) for group indexer-daemon-stag-1
03/23/2017 12:11:10,347 kafka.consumer.subscription_state WARNING subscription unchanged by change_subscription([u'stag_78288_Messages_v1')
03/23/2017 12:16:10,441 kafka.consumer.subscription_state WARNING subscription unchanged by change_subscription([u'stag_78288_Messages_v1'])

Environment
OS: Ubuntu16
Python: 2.7 and 3.5
Kafka-Python=1.3.1

Sorry, I  needed to post it on kafka-python.


Use default PulseAudio device

Passing NULL to pa_simple_new as the device instructs PulseAudio to use the default. This is better then the current baresip behaviour which just uses the first device if no device was specified. In my case the first device was not the default.

thanks, your patch also fixes a potential NULL dereference
in case mediadev_get_default returns NULL.
@nicotyze can you please review and/or test ?

@alfredh , yes I will have a look and test it  (beginning of next week...)

I merged the patch to master.
@trampster many thanks !
@nicotyze please feel free to test it and report and issues.


Update messages.py

Changed fishare to figshare in two places to fix the issue stated in [#OSF-5888]

Cherry-picked into release/0.66.0


uriparser: 0.9.1 -> 0.9.3

Motivation for this change
Bump uriparser, reduce build dependencies bloat
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build libkml libkml.tests


Fix closest edge and face check in NavigationServer3D.map_get_closest_point_to_segment

If the line segment was not intersecting a face, Geometry3D::get_closest_points_between_segments was used. It calculated distance between the line segment and face's edges, instead of the distance between the line segment and face itself.
Since If the line segment is not itersecting a face, closest point to this face will be either beggining or end of this line segment, Face3::get_closest_point_to was used.

Fixes https://github.com/godotengine/godot/issues/93138

When you've fixed the comment please squash your commits into one, see here
And please also update the commit message to match the PR title to make it a bit clearer

Sorry, my bad. Will follow pull-request guidelines properly next time.

Since If the line segment is not itersecting a face, closest point to this face will be either beggining or end of this line segment,

This is incorrect statement (and hence this PR is incorrect as well). Counterexample: consider a face [(0, 0, 0), (1, 0, 0), (0, 1, 0)] and a segment [(0, 0, 1), (1, 2, 0)]. Then:

Segment's endpoint (0, 0, 1) distance to the face is 1.0, closest on-face point is (0, 0, 0).
Segment's endpoint (1, 2, 0) distance to the face is sqrt(2) (approx 1.414), closest on-face point is (0, 1, 0).
Distance of on-segment point (5 / 11, 10 / 11, 6 / 11) to on-face point (3 / 11, 8 / 11, 0) (it's on face's edge) is 2 / sqrt(11) (approx 0.603).

@kleonc you're right, completely missed this, thanks! I still would like to try to implement a proper fix with your correction in mind.
@AThousandShips what would be the correct way of handeling this? Should a bug be reopened and a new PR created?

A bug report could be good so we make sure to track this for the 4.3 release, and ensure that we can either merge a fix up PR, or revert this one if it's incorrect, to revisit later.

I still would like to try to implement a proper fix with your correction in mind.

@oshman99 So any update on this / are you planning to open a PR? If you are not able to then please say so (in such case I'll address this myself). :slightly_smiling_face:

@kleonc yeah you can go ahead and address this. Wanted to tackle it today, but life got in the way. If you don't mind, can you tag me in your PR, when you create one?

@kleonc yeah you can go ahead and address this. Wanted to tackle it today, but life got in the way. If you don't mind, can you tag me in your PR, when you create one?

@oshman99 Oh, I've asked kinda preemptively (seeing no update and just wanting to ensure it will be fixed for 4.3.stable). Aka haven't looked into this myself yet, maybe I'll do so tomorrow/Tuesday. So if you still want to open PR yourself feel free to do so (sorry if I made you not open a PR today etc.!); a simple fix ensuring correctness of the result would be fine for now (there's very likely a more optimal way to do the calculations as we're dealing with convex polygons / triangle fans and currently we're considering/checking each triangle separately).
And sure I'll tag you if I'll end up opening a PR for this.

@oshman99 Oh, I've asked kinda preemptively (seeing no update and just wanting to ensure it will be fixed for 4.3.stable). Aka haven't looked into this myself yet, maybe I'll do so tomorrow/Tuesday. So if you still want to open PR yourself feel free to do so (sorry if I made you not open a PR today etc.!); a simple fix ensuring correctness of the result would be fine for now (there's very likely a more optimal way to do the calculations as we're dealing with convex polygons / triangle fans and currently we're considering/checking each triangle separately). And sure I'll tag you if I'll end up opening a PR for this.

@kleonc oh, hahaha, sorry for causing confusion then. There is MOST DEFINITELY a more optimal way of doing things. My first instinct was to basically add a third shortest distance check, that would compare the current shortest distance with the distance to the edge (basically, a copy-paste of the previous implementation). It works fine, but that's a pretty naive solution. I'll create a PR today and ping you and @smix8 . Feel free to comment on any issues or suggest better ways of doing this :)


Ctrl-/ produces a "whump" sound that's not in Cmd-z

I can't seem to figure out why: when you bind some other key to core:undo, it produces a whump sound, unlike Cmd-z.

Hi @artagnon, I'm not seeing this. Perhaps another package is binding ctrl-/ -- does the key binding resolver (cmd-.) show anything else being run? What Atom version & OS are you running?

 I see this issue in both places, and it happens consistently. I checked Cmd-. and C-/ is only core:undo; C-_, which is bound to core:undo as well, doesn't produce the whymp; maybe the OS is producing the sound?

Yeah I suspect Mac OS is intercepting it somehow. If I switch to a blank space and hit ctrl-/ (or ctrl with almost anything) it whumps. I wonder if you have something under System Preferences -> Keyboard -> Shortcuts that binds something to ctrl-/?
If you disable atomic-emacs, or bind anything else in Atom to C-/, do you still get it? I can't imagine what atomic-emacs could be doing to cause it.

This is an Atom Mac bug then. I'll file the bug there, as appropriate. Thanks for helping me through this.


Make milestones and projects assignable through issue templates

Gitea version (or commit ref): 1.14.0+dev-665-g19fccdc45
Git version:
Operating system: docker image from docker hub
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No

Log gist:

Description
I recently discovered the template feature for issues and created a test template with the same content as the documentation page. (https://docs.gitea.io/en-us/issue-pull-request-templates/) That worked.
Then I tried to assign the milestone and project (to get new issues to show up on the kanban board) through the template:
---

name: "Template Name"
about: "This template is for testing!"
title: "[TEST] "
labels:

- bug
- "help needed"

milestones:
- 1.0.0
projects:
- test
---

This is the template!

I created the milestone and the project beforehand and tried it with "milestones"/"projects" as well as "milestone"/"project". Neither worked.
I didn't find anything milestone or project related on the documentation page, in the github issues or via general google.
Is this even possible? If not, wouldn't it be a nice feature?

I'm not sure about milestones.
But for "projects": being able to automatically add a new issue (user story) to the "backlog" on a kanban board would be nice. (What is currently referred to as "projects".)

I personally agree with milestones (and projects). I'm not bothered by recommitting a template or creating a new one. If milestones could be specified in a template, it means you can add a bunch (or even bulk load) tickets (tasks) that are associated with a planned release. Then once everything is complete, you can create a release associated with hitting the milestone. Often times when planning out software "next features", you know some (most/all occasionally) of the requirements and user stories and being able to queue these on a planned milestone more easily would be nice (i.e., don't have to select the milestone manually after creating the ticket - milestone already pre-populated by the template).


docs(install): Easier way to install using omz

Changes

Use omz command to enable plugin
Updated git command to do a shallow clone to save space

The changes to step 2 seem fine. For the changes to step 1, shallow clones aren't preferred cf. #855.

shallow clones aren't preferred cf. #855.

Thanks for this! Updated the PR.


Updated some obsolete info in the WPF/WinForms (XAML Islands) articles

Docs Build status updates of commit 37b405a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/wpf-winforms/WebView.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/InkCanvas.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/InkToolbar.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/MapControl.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/MediaPlayerElement.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/WebViewCompatible.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/WindowsXamlHost.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/WebView.md

Line 32, Column 2: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text, or remove any extra table cells that cause an extra column.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 8c38aed:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/wpf-winforms/WebView.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/InkCanvas.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/InkToolbar.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/MapControl.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/MediaPlayerElement.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/WebViewCompatible.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/WindowsXamlHost.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/WebView.md

Line 32, Column 2: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text, or remove any extra table cells that cause an extra column.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit a377ee4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/wpf-winforms/InkCanvas.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/InkToolbar.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/MapControl.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/MediaPlayerElement.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WebView.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WebViewCompatible.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WindowsXamlHost.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WebView-known-issues.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/InkCanvas.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=InkCanvas' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/InkToolbar.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=InkToolbar' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/MapControl.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=MapControl' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/MediaPlayerElement.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=MediaPlayerElement' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/WebView.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=WebView' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.
Line 32, Column 2: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text, or remove any extra table cells that cause an extra column.

docs/controls/wpf-winforms/WebViewCompatible.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=WebViewCompatible' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/WindowsXamlHost.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=WindowsXamlHost' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit c314a3a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/wpf-winforms/InkCanvas.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/InkToolbar.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/MapControl.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/MediaPlayerElement.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WebView.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WebViewCompatible.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WindowsXamlHost.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/InkCanvas.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=InkCanvas' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/InkToolbar.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=InkToolbar' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/MapControl.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=MapControl' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/MediaPlayerElement.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=MediaPlayerElement' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/WebView.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=WebView' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.
Line 32, Column 2: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text, or remove any extra table cells that cause an extra column.

docs/controls/wpf-winforms/WebViewCompatible.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=WebViewCompatible' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/WindowsXamlHost.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=WindowsXamlHost' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit e0b551a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/wpf-winforms/InkCanvas.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/InkToolbar.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/MapControl.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/MediaPlayerElement.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WebView.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WebViewCompatible.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/WindowsXamlHost.md
:bulb:Suggestion
View
Details

docs/controls/wpf-winforms/InkCanvas.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=InkCanvas' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/InkToolbar.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=InkToolbar' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/MapControl.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=MapControl' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/MediaPlayerElement.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=MediaPlayerElement' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/WebView.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=WebView' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.
Line 32, Column 2: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text, or remove any extra table cells that cause an extra column.

docs/controls/wpf-winforms/WebViewCompatible.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=WebViewCompatible' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

docs/controls/wpf-winforms/WindowsXamlHost.md

Line 0, Column 0: [Suggestion-disallowed-domain] Url 'uwpct://WPFandWinFormsControls?sample=WindowsXamlHost' references a disallowed domain 'uwpct://wpfandwinformscontrols'. This poses a security risk.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 248551e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/wpf-winforms/InkCanvas.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/InkToolbar.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/MapControl.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/MediaPlayerElement.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/WebView.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/WebViewCompatible.md
:white_check_mark:Succeeded
View

docs/controls/wpf-winforms/WindowsXamlHost.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Revise paradigm and layout files for verbs to match marking of tense as preverb rather than suffix-feature

As of today, the crk FST has been revised so that tense is rather marked with the associated preverb (kî-, wî-, or ka-) rather than as a suffixal feature (+Prt, +Fut+Int, +Fut+Def). This also means that present tense is an unmarked case and  does not have a feature any more (+Prs).
This requires that the references to the old tense features anywhere need to be updated to match this new preverb-marking, in the specification of paradigms and layouts as well as in relabeling. In relabeling, we can make use of the standard format for alternative labels of preverbs as well as definitions in CW.
For the verbal paradigms and their layouts, the changes should be deterministic, with the following template:
ninipân: nipâw+V+AI+Ind+Prs+1Sg -> nipâw+V+AI+Ind+1Sg
nikî-nipân: nipâw+V+AI+Ind+Prt+1Sg -> PV/ki+nipâw+V+AI+Ind+1Sg
niwî-nipân: nipâw+V+AI+Ind+Fut+Int+1Sg -> PV/wi+nipâw+V+AI+Ind+1Sg
nika-nipân: nipâw+V+AI+Ind+Fut+Def+1Sg -> PV/ka+nipâw+V+AI+Ind+1Sg
ê-nipâyân: nipâw+V+AI+Cnj+Prs+1Sg -> PV/e+nipâw+V+AI+Cnj+1Sg
ê-kî-nipâyân: nipâw+V+AI+Cnj+Prt+1Sg -> PV/e+PV/ki+nipâw+V+AI+Cnj+1Sg
ê-wî-nipâyân: nipâw+V+AI+Cnj+Fut+Int+1Sg -> PV/e+PV/wi+nipâw+V+AI+Cnj+1Sg
This also means that the affixation of other tense/aspect grammatical preverbs take the unmarked stem case (i.e. what used to be marked as present tense with +Prs, but which no longer has that feature/tag). This makes the feature/tag representation of such tense/aspect preverbs more coherent.

In order for this not to disrupt itwêwina's functioning, this means making changes in four places at the same time:

[ ] 1. Removing the tense suffix tags from the basic paradigm layouts for all verbs
[ ] 2. Updating the FSTs to the latest ones where this change has been implemented.
[ ] 3. Updating the full paradigm specifications for verbs which are used to pregenerate the core inflected forms.
[ ] 4. Make sure that the new preverbal tense features (PV/ki+, PV/wi+, PV/ka+) are treated similar to other preverbs in the presentation of the search results.

@eddieantonio Has the new branch new-paradigm-and-layouts been implemented according to the standard practice? I hoped to have made it available on our repo and not just on my own MBA.

@eddieantonio Has the new branch new-paradigm-and-layouts been implemented according to the standard practice? I hoped to have made it available on our repo and not just on my own MBA.

Yes, it looks right as far as I can tell! We might have conflicts when merging with master, so look out for that!

Ok, good. I implemented also git branch --set-upstream-to=origin/develop new-fst-and-paradigm-layouts so that it would be linked to the main branch (as that was suggested). Now, Branch 'new-fst-and-paradigm-layouts' set up to track remote branch 'develop' from 'origin'.

Ok, good. I implemented also git branch --set-upstream-to=origin/develop new-fst-and-paradigm-layouts so that it would be linked to the main branch (as that was suggested). Now, Branch 'new-fst-and-paradigm-layouts' set up to track remote branch 'develop' from 'origin'.

That... is incorrect! The name locally and the name on the remote (i.e., GitHub) should be the same. So please run the following command:
git branch --set-upstream-to=origin/new-paradigm-and-layouts

Ergh. I had already run the above git command. So when I tried to run the one you recommend, I get the following error message:


feat: Implement the rule "best-practice"

Describe your changes
Implement the ruleset by referring to the best-practice of eslint-config-airbnb-base.
However, the following rules are set by us:

consistent-return

A false positive occurs because TypeScript flow analysis cannot be taken into account.

default-case

Depending on the type of the value passed to the conditional expression of switch, default may not be necessary.

no-empty-function

An empty constructor method must be available in order to use TypeScript's Parameter Properties.

no-implicit-globals

Global variables created from a script can produce name collisions with global variables created from another script, which will usually lead to runtime errors or unexpected behavior.

Issue ticket number and link
Checklist before requesting a review

[ ] I have performed a self-review of my code
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics?
[ ] Will this be part of a product update? If yes, please write one phrase about this update.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Files like hosts, resolve.conf, and hostname are read-write if --read-only is enabled.

Problem
Files like hosts, resolve.conf, and hostname are read-write if --read-only is enabled.
Solution
When running read-only containers, docker mounted files such as /etc/hosts, /etc/resolv.conf, and /etc/hostname should also be changed from their default read-write permissions to read-only.

@jfrazelle I'd love to undestand more about this :smile: but I'm stuck at tracing the -read-only flag lol

@runcom ReadonlyRootfs in hostconfig.
@crosbymichael do we really want this?

@LK4D4  traced hostconfig too and I first thought about appending /etc/hosts and the others to ReadonlyPaths found in https://github.com/docker/docker/blob/65f0ba42f5fa260d2b3b35fa22087f202058f29d/daemon/execdriver/native/template/default_template.go#L86
in this call https://github.com/docker/docker/blob/455a272aef4e109ce57c20f9ea224e4d4b32ece7/daemon/execdriver/driver.go
(I also found this definition to be duplicate https://github.com/docker/docker/blob/455a272aef4e109ce57c20f9ea224e4d4b32ece7/daemon/execdriver/driver.go#L176 and https://github.com/docker/docker/blob/455a272aef4e109ce57c20f9ea224e4d4b32ece7/daemon/execdriver/driver.go#L179)
or
add them after container initialization here:
https://github.com/docker/docker/blob/e1a0bff6b8aefdea341d01a75a0c7e9235cda421/daemon/execdriver/native/create.go
and here:
https://github.com/docker/docker/blob/0c2eb5ebfb118e1fcab84a8eb70dc8aee5a618ad/daemon/execdriver/lxc/driver.go
I'm not actually working on this right now, just wanted to undestand a little more the whole process..

@runcom Yeah, your idea makes sense. Let's wait for @crosbymichael before doing anything

#dibs

+1 go for it

hello! here are my changes basically : https://github.com/mauriyouth/docker/blob/11577-fix-readonly/daemon/execdriver/driver.go#L181
but i'm getting a failing test https://github.com/docker/docker/blob/master/integration-cli/docker_cli_run_test.go#L3313. the error i'm getting is unable to mount /etc/hostname as readonly max retries reached, someone on @dqminh on irc told me it's mount returning EBUSY.https://github.com/docker/libcontainer/blob/master/rootfs_linux.go#L347
+status/help-wanted
thanks :)

status/help-wanted

@mauriyouth as @dqminh told you on irc you should try to mount that files read only in setupMounts in daemon/volumes.go
Just check read-only flag is passed and change the Writable boolean accordingly

@mauriyouth are you still working on this?

@mauriyouth please let us know so that we can update the fix.

hi! sorry, i stopped working on it weeks ago. didn't get it to work, tried many ways...I have failing test, I can still try to report the errors I'm having. fill free to push you have a fix

@mauriyouth no worries, @runcom made a fix and he was nice enough to credit you as the author :)

@runcom, thanks, very kind of you :) @tiborvass  thanks :)

No problem at all @mauriyouth!


add embed files to the package chaincode

Recently pr failed tests and failed to update the google.golang.org/protobuf package.
The reason is that we added go:embed to the https://github.com/protocolbuffers/protobuf-go/blob/master/internal/editiondefaults/defaults.go. When building the package we didn't copy file editions_defaults.binpb and the build of the chaincode ended with an error.
After accepting this pr, you can update the package again

@denyeart

@Mergifyio backport release-2.5


[Builtins] Adjust for IITDescriptor::ScalableVecArgument removal

Adjust for 1c3d9c2f3629c758db859b55e839dc97734fa171:
[SVE] Remove IITDescriptor::ScalableVecArgument
I have refactored the code so that we no longer need the
ScalableVecArgument descriptor - the scalable property of vectors is
now encoded using the ElementCount class in IITDescriptor. This means
that when matching intrinsics we know precisely how to match the
arguments and return values.
Differential Revision: https://reviews.llvm.org/D80107

Looks like Matt also put up a PR for this in #32045


Fix for issue #301.

Old code had bad conditional opacity setting for touch thumbs, resulting in all thumbs initalizing with a 0.6 opacity. This fixes that.
Note: opacity starts out at 1 for all thumbs, so no need to re-set the opacity:1 for the active thumb.

Closing since it didn't get a review after a while.


MGD: Matching Guided Distillation in ECCV 2020

Add paper and implement of MGD - ECCV2020. Thanks in advance.

Hello @KaiyuYue ! Could you please add direct link to the arxiv (https://arxiv.org/abs/2008.09958) instead of http://kaiyuyue.com/mgd/?

Also please trim new line

Done. Please check it out. :)

Thank you for the contribution!


Add a Gitter chat badge to README.md

italorossi/ishell now has a Chat Room on Gitter
@italorossi has just created a chat room. You can visit it here: https://gitter.im/italorossi/ishell.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

The patch below works similar shell and IOS systems:
*** /usr/local/lib/python2.7/dist-packages/ishell/console.py	Sun Jan  3 12:44:04 2016
--- /root/console.py	Sun Jan  3 12:45:08 2016

*** 100,106 ****
break
else:
self.walk_and_run(input_)
!             except (KeyboardInterrupt, EOFError):
print "exit"
break
--- 100,108 ----
break
else:
self.walk_and_run(input_)
!             except (KeyboardInterrupt):
!                 sys.stdout.write("\n")
!             except (EOFError):
print "exit"
break


Lindsay: Slider doesn't reset when switching to 24-hr clock

From Lindsay:
When I slide the slider to say 6 hr difference and then switch it from 12 hr to 24 hr clock it resets the times but doesn’t reset the slider.

Also accidentally fixed somewhere along the line!


Pytorch Geometric build error in Github Actions

Im writing this part of Library Deepchem which has dependencies on PyG for number of graph-based models on molecules.
Here is requirement.yml file initializing Pytorch Geometric - https://github.com/deepchem/deepchem/blob/master/env.cpu.yml
Our CI/CD pipeline is failing because of PyG Torch dependency and it would really help if you could help us. There were two instances -

We tried upgrading to Pytorch 1.8.1 as part of PR

Here is the CI failure log - https://github.com/deepchem/deepchem/pull/2518/checks?check_run_id=2633008423
  Collecting torch-cluster
    Downloading torch_cluster-1.5.9.tar.gz (38 kB)

  failed
  Warning: Pip subprocess error:
      ERROR: Command errored out with exit status 1:
       command: /usr/share/miniconda3/envs/deepchem/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_6bw23xo/torch-cluster/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_6bw23xo/torch-cluster/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-hobm9ljh
           cwd: /tmp/pip-install-_6bw23xo/torch-cluster/
      Complete output (5 lines):
      Traceback (most recent call last):
        File "<string>", line 1, in <module>
        File "/tmp/pip-install-_6bw23xo/torch-cluster/setup.py", line 8, in <module>
          import torch
      ModuleNotFoundError: No module named 'torch'
      ----------------------------------------
  ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

We tried installing JAX as part of PR
Here is the CI failure log - https://github.com/deepchem/deepchem/pull/2541/checks?check_run_id=2770978151#step:11:907

      ERROR: Command errored out with exit status 1:
       command: /usr/share/miniconda3/envs/deepchem/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-a1ap_hr0/torch-scatter/setup.py'"'"'; __file__='"'"'/tmp/pip-install-a1ap_hr0/torch-scatter/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-tun2odv5
           cwd: /tmp/pip-install-a1ap_hr0/torch-scatter/
      Complete output (5 lines):
      Traceback (most recent call last):
        File "<string>", line 1, in <module>
        File "/tmp/pip-install-a1ap_hr0/torch-scatter/setup.py", line 8, in <module>
          import torch
      ModuleNotFoundError: No module named 'torch'
      ----------------------------------------
  ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Thanks in advance,

Even in the env.cpu.yml file https://github.com/deepchem/deepchem/blob/master/env.cpu.yml, torch==1.6.0+cpu is being installed

Thanks for reaching out. The errors can be explained by the fact that the PyG dependencies are not installed from wheels, but are instead compiled from source. Compiling from source requires that PyTorch is already installed on the system (and therefore torch and torch-scatter can not co-exist in the same requirements.txt file).
However, this is not a problem when installing from wheels. The correct link to install from wheels is
https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html

even for PyTorch 1.8.1 (not https://pytorch-geometric.com/whl/torch-1.8.1+cpu.html) since wheels for PyTorch 1.8.0 work as well for PyTorch 1.8.1.
For installing the dependencies for older PyTorch versions such as 1.6.0, it's always best to define the correct version number. Otherwise, the dependencies will be installed from source as well (as a never version exists for which we do not provide wheels anymore). You can find a list of supported versions for PyTorch 1.6.0 here.

@rusty1s
Thank you very much for the quick reply, it was very helpful
I have implemented the changes, we initiated the PR for upgrading to pytorch - 1.8.1
The install dependencies checks have been successfully passed, and if you get time could you also verify the changes in this PR
https://github.com/deepchem/deepchem/pull/2541/files to see if I have followed the best practice.

Awesome, I added some comments to the PR :)

Thanks, @rusty1s
We are facing few other build errors in CI due to pytorch geometric - https://github.com/deepchem/deepchem/pull/2538/checks?check_run_id=2780500329#step:11:869
    ERROR: Command errored out with exit status 1:
     command: /usr/share/miniconda3/envs/deepchem/bin/python /usr/share/miniconda3/envs/deepchem/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-1khr12rd/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --find-links https://download.pytorch.org/whl/torch_stable.html --find-links https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html -- 'numpy>=1.20.1' 'setuptools>=43.0.0'
         cwd: None
    Complete output (3 lines):
    Looking in links: https://download.pytorch.org/whl/torch_stable.html, https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html
    ERROR: Could not find a version that satisfies the requirement numpy>=1.20.1 (from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0rc1, 1.13.0rc2, 1.13.0, 1.13.1, 1.13.3, 1.14.0rc1, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0rc1, 1.15.0rc2, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0rc1, 1.16.0rc2, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.17.0rc1, 1.17.0rc2, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.4, 1.17.5, 1.18.0rc1, 1.18.0, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.19.0rc1, 1.19.0rc2, 1.19.0, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.19.5)
    ERROR: No matching distribution found for numpy>=1.20.1
    ----------------------------------------
  ERROR: Command errored out with exit status 1: /usr/share/miniconda3/envs/deepchem/bin/python /usr/share/miniconda3/envs/deepchem/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-1khr12rd/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --find-links https://download.pytorch.org/whl/torch_stable.html --find-links https://pytorch-geometric.com/whl/torch-1.8.0+cpu.html -- 'numpy>=1.20.1' 'setuptools>=43.0.0' Check the logs for full command output.

This does not look related to PyG, why do you think so?


Crash when importing project with sends

[2021-08-07 13:33:40.357 float-main-app error] Error opening project file C:\Privat\Programming\Bitwig\import-export\Testdateien\Test.dawproject:
java.io.IOException: java.lang.NullPointerException: Cannot invoke "java.util.List.get(int)" because "this.UHd" is null
at com.bitwig.flt.app.wGd.run(SourceFile:237)
at LO.run(SourceFile:284)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:831)
Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.get(int)" because "this.UHd" is null
at iQk.m2i(SourceFile:745)
at com.bitwig.flt.document.api.document.ApiDawProjectImporter.importTrackSettings(SourceFile:275)
at com.bitwig.flt.document.api.document.ApiDawProjectImporter.forEachTrack(SourceFile:164)
at com.bitwig.flt.document.api.document.ApiDawProjectImporter.convertPhase2(SourceFile:129)
at com.bitwig.flt.document.api.document.ApiProject.lambda$modifyExcept$2(SourceFile:196)
at NLc.doProcessEvent(SourceFile:65)
at NLc.processEvent(SourceFile:53)
at NLc.processEvent(SourceFile:42)
at com.bitwig.flt.document.api.document.ApiModificationProcessor.processEvent(SourceFile:37)
at com.bitwig.flt.document.api.document.ApiModificationProcessor.modify(SourceFile:26)
at com.bitwig.flt.document.api.document.ApiObject.modify(SourceFile:81)
at com.bitwig.flt.document.api.document.ApiProject.modifyExcept(SourceFile:193)
at com.bitwig.flt.document.api.document.ApiProject.importDawProject(SourceFile:180)
at com.bitwig.extensions.importer.dawproject.DawProjectImporter.CwM(SourceFile:21)
at com.bitwig.extensions.importer.dawproject.DawProjectImporterDefinition.importProject(SourceFile:56)
at com.bitwig.flt.app.wGd.run(SourceFile:224)
... 4 more

This happens when the Send track is tagged with mixerRole="aux" instead of mixerRole="return".

Not sure if this is still the same issue, I replaced in the attached project return-tracks with aux-tracks and it crashes Bitwig completely. Rename .zip to .dawproject:
Test.zip

ok, this one should be fixed in 4.1.3 as well


Overhanging glyph fix

Fix issue with some fonts where glyphs, overhanging their advance, would be cut off.
https://github.com/pythonarcade/arcade/issues/937
This issue doesn't exist in the DirectWrite font renderer.

Sneak into master as well? :)

@einarf done!


fix typo in privilege.md

Guess you meant to enable ARCH_USE_S_MODE here?

Sorry about that, thank you so much! :-)


Replace alpha links with public links

Issue #, if available:
Description of changes:
This PR will change links starting with http://alpha-docs-aws.amazon.com to  https://docs.aws.amazon.com and remove some extra whitespace.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks! This will be live later today.


Syncdb fails when there are non-app tables that the user doesn't have access to.

Syncdb runs this query:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
to determine the list of tables to run this sort of query on:
ALTER TABLE [django_admin_log] NOCHECK CONSTRAINT ALL
If a different user, in a different schema, creates a table, say, [demo].[table_d3], syncdb will try to run this query:
ALTER TABLE [table_d3] NOCHECK CONSTRAINT ALL
which will raise this error:
Cannot find the object "table_d3" because it does not exist or you do not have permissions.

Closing, since PR #93 was merged.


It doesn't work with TabGroups Manager addon

When using TGM plugin - the new tabs still opened at the last (right most) position, and not next to current position.

I think you need to speak to the developers of TabGroups Manager to include this functionality or not interfere with tab positioning...


Latency increasing notably with result size

The result size of the a final PromQL query seems to have very significant effect on total latency.
For example, apiserver_request_count{job="apiserver"} takes at the order of 15-20 seconds. If wrapped with a sum like sum(apiserver_request_count{job="apiserver"}), latency sharply decreases to 2-3 seconds.
The data queried from GCS and flowing into query nodes is the same. The query engine is actually doing more work.
So the whole delta seems to come from sending the result after data fetching and processing completed successfully. The result is bigger, so more JSON encoding happens and more data is sent to the browser. The difference seems rather extreme nonetheless.
Query node is in the US, end client in EU. Still seems rather unusually high.
The query node is accessed via an SSH tunnel, which might play a role as well.

I can reproduce that easily as well for VPN setup and US cluster (from 5-16s) to reliable 500ms for go_goroutines{} vs sum(go_goroutines{})

Looks like the tunnel is the issue.
Retrying it directly on the node, the queries take 800 and 600ms respectively. I've been having issues with my SSH traffic apparently being heavily throttled for a couple of days now. Not sure whether by my ISP or GCP.

After having access to a full setup with store nodes and sidecars, it appears that queries hitting sidecars/Prometheus servers are significantly slower. That's unlikely to be just the plain data duplication overhead.
A few things found out:

The HTTP v1 API is not using gzip
The HTTP v1 API doesn't encode straight into the response writer but into an intermediate byte slice

Both are problematic in general but especially for the Prometheus proxy which uses that very API to get full resolution data, which means massive responses.
Regardless of fixing above issues, it probably is a good idea to switch to the remote read APIs. They are still experimental and not gRPC yet but at least protobuf over HTTP.

@Bplotka can we close this? The issue seems entirely fixed for me?

yup, let's close it for now. Cannot repro


NH-5772-Trace-Context-in-Queries

Overview
This pull request adds injection of Trace Context into database queries. The functionality is meant to allow integration with SolarWinds DPM using Query Tags. Tags used are similar to those inserted by sqlcommenter.
Implementation
Changes are contained within the mysql, pg, oracledb and tedious probes without breaking any API barrier.
Configuration
A new configuration value is introduced to each of the probes: sqlTag. It defaults to false.
Tagging Decision
For all probes tagging is done when the probe is registered and enabled and sqlTag is set to true, we are tracing and we are sampling.
Additionally, for the pg probe only, named prepared statement are not tagged.
Tag (SQL comment) Creation
A new module, sql-trace-context is introduced. It handles creation of an SQL comment string in the desired format.
Module exposes a single method tag which accepts a string and returns either a comment which contains a traceparent key and a single-quoted value that matches open telemetry traceparent format, or, if input not valid, an empty string.
Integration with probes is done via this method.
Tagging
Comment injection is done by string concatenation at the runner function. The traceparent string is obtained from the api (a global method accessing key on global object), validated using the above module and prepended to the SQL statement provided in the arguments passed to the instrumented function.
Key Value Pairs
A key QueryTag is added. It contains the tag (SQL comment) injected into the SQL. It is generated by a call to the callback function of the Span generating function. Note that QueryTag and the injected comment itself are generated by the same mechanism and using the same value but they do not refer to the same string.
Tests
All tests pass for Node versions 14 and 16, 17.
Integration testing is done using a simple app that performs CRUD operations on all four dbs.

Injection verification testing via query logging is not implemented at this time.
Risk
The instrumentation in the package is based on the shimmer package which notes that: "There are times when it's necessary to monkeypatch default behavior in JavaScript and Node. However, changing the behavior of the runtime on the fly is rarely a good idea ... "
Given the above, the general approach to instrumentation was to observe only. The patched function collects the needed tracing data and then apply the original function to the user supplied arguments as-provided.
This feature is a departure from that concept. With this pull request merged, the agent will be modifying user supplied arguments for mission critical database interactions.
Notes:

Pull Request merges into nh-main branch. Agent built from master will stay unchanged.

Feature does not LGTM. Merging based on organizational decision.


add query params to context

Pull request checklist

[X] Please read our contributor guide
[ ] Consider creating a discussion on the discussion forum
first
[X] Make sure the PR doesn't introduce backward compatibility issues
[x] Make sure to have sufficient test cases

Pull Request type

[ ] Bugfix
[X] Feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Other (please describe):

Changes in this PR
Adds query params to the DGS context

I'm not sure about this. Query params aren't super common to use, and can easily be accessed from the WebRequest/ServerRequest.
Also we have the @RequestParam for data fetchers already.
If add request parameters, why not also cookie values, and everything else that's on WebRequest/ServerRequest?
Is there anything that you can't do without this change?

@paulbakker yeah I guess you're right. I figured since we had http headers in there, it'd be nice to have query params as well, but there is no reason it can't be pulled from the WebRequest. 👍


v0.6.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@dmilkie, note that I'm also adding you as a maintainer in this PR (which gives you merge permissions on this repo)


🧑💻 [ENHANCEMENT]: React Client Setup

Description

Project setup separate client and server setup react app
Approach to Creating This Feature

Separate react client and flask server in client,server folders
setup VITE react app inside client folder
setup router and routes for current project (complex)
setup pages for all route only demo

Screenshots 📷

Features Expected

:white_check_mark: To be Mentioned while taking the issue:

Full name: Priyanshu Verma
Email<EMAIL_ADDRESS>GitHub Link: https://github.com/priyanshuverma-dev
What is your participant role? (Mention the Open Source Program name. Eg. GSOC, GSSOC, SSOC, JWOC, etc.)

GSSOC

Checklist

[x] I have included a clear and detailed description of the enhancement.
[ ] I have provided any relevant documentation or references.
[ ] I have included screenshots or examples where applicable.
[ ] I have mentioned related issues or pull requests if any.

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

@kom-senapati May I work on this issue

For now, do in a separate directory called client


Make the image height and width larger than the original?

Is there an option to do this? The image returned after taking a code scan is clipped in most occassions.

The returned image is the same one that is used for scanning (edges cropped). There is no option to change the result image currently - pull requests welcome.

In v4.0.2, BarcodeResult#getBitmap() returns the entire image instead of the cropped one.


Need to Add a Query Route for Item

As a Order Manager
I need a query capability to the list method for items
So that extract items with certain traits from all item lists
Details and Assumptions

[document what you know]

Acceptance Criteria
Given the server is running
When querying for a category
Then only the items with selected category/categories will be listed

Need more thoughts on this. This is just an idea, not sure if we need this

As discussed with the professor, we can query the attributes of the item inside the LIST Orders API. For instance, we can query all orders containing a particular product id. Also,  LIST API for items only returns items for a single order, therefore there are not many items to further apply a query filter. Thus, this ticket is not needed.


Music play: completely unexpected error

Command that caused the error
/music play https://www.youtube.com/watch?v=1HLOBG_40gw
Image that caused the error
No response
Steps to reproduce

Go into a voice channel
Use the command
See error

Self-hosted instance?
No
Error file
[error.txt](https://github.com/esmBot/esmBot/files/13260497/error.txt)

Additional context
The command seemed to work just fine yesterday and now it does not. Whatever link I paste it gives out the same error.

There's a patch included in 60b0d8e.


Issue153 qa

More spacing fixes
Fix #153
Test URLs:

Before: https://main--merative2--hlxsites.hlx.page/newsroom
After: https://issue153-qa--merative2--hlxsites.hlx.page/newsroom
Before: https://main--merative2--hlxsites.hlx.page/leadership
After: https://issue153-qa--merative2--hlxsites.hlx.page/leadership
Before: https://main--merative2--hlxsites.hlx.page/terms
After: https://issue153-qa--merative2--hlxsites.hlx.page/terms

Is mobile leadspace supposed to look like this ?

Yes, they don't expect a fluid mobile design apparently, just 375px wide. I have allowed other content to flow beyond that, and I considered centering this area -- but the rest of the content is flush left. So I'm leaving it like this and we can ask them if they would like to adjust this for phase 3.

Yes, they don't expect a fluid mobile design apparently, just 375px wide. I have allowed other content to flow beyond that, and I considered centering this area -- but the rest of the content is flush left. Now that I think on it, I think I will just add an auto margin to the left of that quarter image and let it move right for now? We can ask their opinion later.

https://github.com/hlxsites/merative2/pull/72 adds right alignment to the leadspace quarter circle image.


[Bug]: Docker Buildx fails on ARM Mac during SWE-bench evaluation

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Describe the bug and reproduction steps
When trying to execute run_infer.sh from the swe_bench evaluation harness using this command:
./evaluation/swe_bench/scripts/run_infer.sh llm.mini HEAD CodeActAgent 100 30 1 "princeton-nlp/SWE-bench_Lite" test
The sandbox image build fails as it tries to fetch a specific image from ghcr.io:
ERROR: ghcr.io/all-hands-ai/runtime:oh_v0.9.8_image_7c37a7ac_.astropy_s_astropy-12907_tag_latest: not found
The error occurs because the base image specified in the Dockerfile (ghcr.io/all-hands-ai/runtime:oh_v0.9.8_image_7c37a7ac_.astropy_s_astropy-12907_tag_latest) cannot be found in the container registry, causing the build to fail.
However, when I use the --platform=linux/amd64 flag, the build works successfully:
docker buildx build --platform=linux/amd64 ...
This indicates that the image is only available for the amd64 architecture, and not for arm64 (the default architecture on Apple Silicon or other systems).
OpenHands Installation
Development workflow
OpenHands Version
0.9.8
Operating System
MacOS
Logs, Errors, Screenshots, and Additional Context
14:44:56 - openhands:ERROR: shared.py:311 - ----------
Error in instance [astropy__astropy-12907]: Command '['docker', 'buildx', 'build', '--progress=plain', '--build-arg=OPENHANDS_RUNTIME_VERSION=0.9.8', '--build-arg=OPENHANDS_RUNTIME_BUILD_TIME=2024-10-15T14:44:56.592665', '--tag=ghcr.io/all-hands-ai/runtime:v0.9.8_6cfdaf6cb5db2ff0f842cb3e493bb767', '--load', '/var/folders/4p/6wz4pkv96qjgkmgjr7sq9hxc0000gn/T/tmp4c_5wxuz']' returned non-zero exit status 1.. Stacktrace:
Traceback (most recent call last):
  File "/Users/acuadron/Documents/OpenDevin/OpenHands/evaluation/utils/shared.py", line 281, in _process_instance_wrapper
    result = process_instance_func(instance, metadata, use_mp)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/acuadron/Documents/OpenDevin/OpenHands/evaluation/swe_bench/run_infer.py", line 370, in process_instance
    runtime = create_runtime(config)
              ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/acuadron/Documents/OpenDevin/OpenHands/openhands/core/main.py", line 77, in create_runtime
    runtime: Runtime = runtime_cls(
                       ^^^^^^^^^^^^
  File "/Users/acuadron/Documents/OpenDevin/OpenHands/openhands/runtime/client/runtime.py", line 162, in __init__
    self.runtime_container_image = build_runtime_image(
                                   ^^^^^^^^^^^^^^^^^^^^
  File "/Users/acuadron/Documents/OpenDevin/OpenHands/openhands/runtime/utils/runtime_build.py", line 283, in build_runtime_image
    _build_sandbox_image(
  File "/Users/acuadron/Documents/OpenDevin/OpenHands/openhands/runtime/utils/runtime_build.py", line 375, in _build_sandbox_image
    image_name = runtime_builder.build(path=docker_folder, tags=tags_to_add)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/acuadron/Documents/OpenDevin/OpenHands/openhands/runtime/builder/docker.py", line 113, in build
    raise subprocess.CalledProcessError(
subprocess.CalledProcessError: Command '['docker', 'buildx', 'build', '--progress=plain', '--build-arg=OPENHANDS_RUNTIME_VERSION=0.9.8', '--build-arg=OPENHANDS_RUNTIME_BUILD_TIME=2024-10-15T14:44:56.592665', '--tag=ghcr.io/all-hands-ai/runtime:v0.9.8_6cfdaf6cb5db2ff0f842cb3e493bb767', '--load', '/var/folders/4p/6wz4pkv96qjgkmgjr7sq9hxc0000gn/T/tmp4c_5wxuz']' returned non-zero exit status 1.

----------[The above error occurred. Retrying... (attempt 1 of 5)]----------

CC @xingyaoww , where do those docker images get built?

I manually build these SWE-Bench images and push them to Dockerhub since the original authors didn't release them. I think we might need this fix to specify build arch for SWE-Bench evlauations.

Fixed in #4402


Rename MOVOA to MOVO.

The assembler does no longer seem to support MOVOA.

The Go project doesn't use GitHub pull requests. We use Gerrit for code review. See https://golang.org/doc/contribute.html.
Please re-send this using Gerrit. Thanks!


Fix PhpDoc in yii\db\Query

Fix PhpDoc's for methods with parameter $db = null

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
-

Thanks.


Create a sysbench-mysql test container for cpu bound tests on OpenEBS storage

Sysbench lets you stress many of the fundamental components of your hardware and infrastructure, such as your disk subsystem, along with your CPUs and memory. An additional option exists that is designed to perform synthetic stress testing of MySQL
Create a openebs/tests-sysbench-client container image with a respective test config file (on the lines of the openebs/tests-tpcc-client & tpcc.conf) to able to readily run sysbench benchmarks on OpenEBS

Sure @woernfl ! That would be helpful!


[FormsyText] Convert to uncontrolled component for performance

This PR removes the onChange & value props from TextField which fixes the input lag
handleChange handler was also removed since it's not being used.
Controlled & uncontrolled component reference: https://facebook.github.io/react/docs/forms.html
Closes #54
Closes #68

This change was applied manually (although may have had unintended consequences - TVC.