GCSFileSystem does not accept token, file.json or instance of service credentials

According to this docs https://gcsfs.readthedocs.io/en/latest/index.html#credentials we should be able to pass a .json file with credentials or an instance of Credentials but this is currently not working
MRE - json file
import gcsfs
import google.auth
from google.oauth2 import service_account

project_id = "my_project_idg"
key_file = "/Users/my_user/creds.json" #these are service account creds
res = gcsfs.GCSFileSystem(project_id=project_id, token=key_file).ls("/")

Traceback
_request non-retriable exception: Invalid argument., 400
Traceback (most recent call last):
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/retry.py", line 114, in retry_request
    return await func(*args, **kwargs)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 422, in _request
    validate_response(status, contents, path, args)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/retry.py", line 101, in validate_response
    raise HttpError(error)
gcsfs.retry.HttpError: Invalid argument., 400
Traceback (most recent call last):
  File "/Users/ncclementi/Documents/dask-bigquery-demo/demo.py", line 19, in <module>
    res = gcsfs.GCSFileSystem(project_id=project_id, token=key_file).ls("/")
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/fsspec/asyn.py", line 115, in wrapper
    return sync(self.loop, func, *args, **kwargs)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/fsspec/asyn.py", line 100, in sync
    raise return_result
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/fsspec/asyn.py", line 55, in _runner
    result[0] = await coro
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 842, in _ls
    out = await self._list_buckets()
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 619, in _list_buckets
    page = await self._call("GET", "b", project=self.project, json_out=True)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 429, in _call
    status, headers, info, contents = await self._request(
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/decorator.py", line 221, in fun
    return await caller(func, *(extras + args), **kw)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/retry.py", line 149, in retry_request
    raise e
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/retry.py", line 114, in retry_request
    return await func(*args, **kwargs)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 422, in _request
    validate_response(status, contents, path, args)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/retry.py", line 101, in validate_response
    raise HttpError(error)
gcsfs.retry.HttpError: Invalid argument., 400

MRE with creds instace
import gcsfs
import google.auth
from google.oauth2 import service_account

project_id = "my_project_idg"
key_file = "/Users/my_user/creds.json" #these are service account creds

sa_creds = service_account.Credentials.from_service_account_file(key_file,
                                                           )
res = gcsfs.GCSFileSystem(project_id=project_id, token=sa_creds).ls("/")

Traceback
_request out of retries on exception: ('invalid_scope: Invalid OAuth scope or ID token audience provided.', {'error': 'invalid_scope', 'error_description': 'Invalid OAuth scope or ID token audience provided.'})
Traceback (most recent call last):
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/retry.py", line 114, in retry_request
    return await func(*args, **kwargs)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 413, in _request
    headers=self._get_headers(headers),
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 392, in _get_headers
    self.credentials.apply(out)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/credentials.py", line 185, in apply
    self.maybe_refresh()
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/credentials.py", line 180, in maybe_refresh
    self.credentials.refresh(req)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/google/oauth2/service_account.py", line 425, in refresh
    access_token, expiry, _ = _client.jwt_grant(
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/google/oauth2/_client.py", line 303, in jwt_grant
    response_data = _token_endpoint_request(
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/google/oauth2/_client.py", line 274, in _token_endpoint_request
    _handle_error_response(response_data, retryable_error)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/google/oauth2/_client.py", line 73, in _handle_error_response
    raise exceptions.RefreshError(
google.auth.exceptions.RefreshError: ('invalid_scope: Invalid OAuth scope or ID token audience provided.', {'error': 'invalid_scope', 'error_description': 'Invalid OAuth scope or ID token audience provided.'})
Traceback (most recent call last):
  File "/Users/ncclementi/Documents/dask-bigquery-demo/demo.py", line 19, in <module>
    res = gcsfs.GCSFileSystem(project_id=project_id, token=sa_creds).ls("/")
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/fsspec/asyn.py", line 115, in wrapper
    return sync(self.loop, func, *args, **kwargs)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/fsspec/asyn.py", line 100, in sync
    raise return_result
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/fsspec/asyn.py", line 55, in _runner
    result[0] = await coro
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 842, in _ls
    out = await self._list_buckets()
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 619, in _list_buckets
    page = await self._call("GET", "b", project=self.project, json_out=True)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 429, in _call
    status, headers, info, contents = await self._request(
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/decorator.py", line 221, in fun
    return await caller(func, *(extras + args), **kw)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/retry.py", line 144, in retry_request
    raise e
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/retry.py", line 114, in retry_request
    return await func(*args, **kwargs)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 413, in _request
    headers=self._get_headers(headers),
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/core.py", line 392, in _get_headers
    self.credentials.apply(out)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/credentials.py", line 185, in apply
    self.maybe_refresh()
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/gcsfs/credentials.py", line 180, in maybe_refresh
    self.credentials.refresh(req)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/google/oauth2/service_account.py", line 425, in refresh
    access_token, expiry, _ = _client.jwt_grant(
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/google/oauth2/_client.py", line 303, in jwt_grant
    response_data = _token_endpoint_request(
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/google/oauth2/_client.py", line 274, in _token_endpoint_request
    _handle_error_response(response_data, retryable_error)
  File "/Users/ncclementi/mambaforge/envs/test-dask-bq-pip/lib/python3.9/site-packages/google/oauth2/_client.py", line 73, in _handle_error_response
    raise exceptions.RefreshError(
google.auth.exceptions.RefreshError: ('invalid_scope: Invalid OAuth scope or ID token audience provided.', {'error': 'invalid_scope', 'error_description': 'Invalid OAuth scope or ID token audience provided.'})

cc: @j-bennet since we were working on this together

Please state your versions of gcsfs, fsspec and relevant google libraries. It's also good to check whether any of the latter have had recent releases that might have fouled things.

Versions:
fsspec                    2023.5.0           pyh1a96a4e_0    conda-forge
gcsfs                     2023.5.0           pyhd8ed1ab_0    conda-forge
google-api-core           2.11.0             pyhd8ed1ab_0    conda-forge
google-api-core-grpc      2.11.0               hd8ed1ab_0    conda-forge
google-auth               2.18.0             pyh1a96a4e_0    conda-forge
google-auth-oauthlib      1.0.0              pyhd8ed1ab_0    conda-forge
google-cloud-bigquery     3.10.0             pyhd8ed1ab_0    conda-forge
google-cloud-bigquery-core 3.10.0             pyhd8ed1ab_0    conda-forge
google-cloud-bigquery-storage 2.18.0             pyh1a96a4e_0    conda-forge
google-cloud-bigquery-storage-core 2.18.0             pyh1a96a4e_0    conda-forge
google-cloud-core         2.3.2              pyhd8ed1ab_0    conda-forge
google-cloud-storage      2.9.0              pyh1a96a4e_0    conda-forge
google-crc32c             1.1.2            py39h17a57db_4    conda-forge
google-resumable-media    2.5.0              pyhd8ed1ab_0    conda-forge
googleapis-common-protos  1.57.1             pyhd8ed1ab_0    conda-forge
grpcio                    1.54.2           py39hb198ff7_0    conda-forge
grpcio-status             1.52.0             pyhd8ed1ab_0    conda-forge

Looking at the API docs for GCSFileSystem (https://gcsfs.readthedocs.io/en/latest/api.html#gcsfs.core.GCSFileSystem) it looks like the kwarg is project=, not project_id=. Do things work if you use project= instead?

@jrbourbeau
Nice catch, this solves the problem partially. With this fixed I see the following behavior:
GCSFileSystem does not accept token, instance of service account credentials.

path to service account JSON file works ✅

import gcfs

project_id = "project-id"
creds_file_sa = "service_account.json"
gcsfs.GCSFileSystem(project=project_id, token=creds_file_sa).ls("/")

path to application default credentials (ADC) works ✅

creds_file_adc = "application_default_credentials.json"
gcsfs.GCSFileSystem(project=project_id, token=creds_file_adc).ls("/")

an instance of google.oauth2.credentials.Credentials works ✅

credentials_adc, _ = google.auth.default()
gcsfs.GCSFileSystem(project=project_id, token=credentials_adc).ls("/")

an instance of google.oauth2.service_account.Credentials doesn't work ❌

import json
from google.oauth2.service_account import Credentials

creds_dict = json.load(open(creds_file_sa))
credentials_sa = Credentials.from_service_account_info(info=creds_dict)
gcsfs.GCSFileSystem(project=project_id, token=credentials_sa).ls("/")

It fails with:
RefreshError: ('invalid_scope: Invalid OAuth scope or ID token audience provided.', {'error': 'invalid_scope', 'error_description': 'Invalid OAuth scope or ID token audience provided.'})

a token from ADC instance doesn't work ❌

credentials_adc.refresh(google.auth.transport.requests.Request())
# after this, credentials_adc.token is a non-empty string
gcsfs.GCSFileSystem(project=project_id, token=credentials_adc.token).ls("/")

raises:
FileNotFoundError: ya29.a0AWY7CXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX

I have just tested with a service account key JSON file path and successfully listed files in a restricted bucket. Are you doing something different? The service account was specifically listed as a reader on the bucket, rather than assigning with any role, but this shows that service accounts can indeed authenticate.
For the "invalid scope" error when using a Credentials instance, you need to set the scopes. This maybe should be done by gcsfs, but we are (apparently) assuming that the instance is already fully configured.
credentials_sa._scopes = ["https://www.googleapis.com/auth/devstorage.read_only"]

(docs suggest there should be a .createScoped method, but I don't see one)

@martindurant the original issue description is not correct anymore, but I can't edit that.
What is actually not working described in this comment:
https://github.com/fsspec/gcsfs/issues/553#issuecomment-1548753882

a token from service account instance doesn't work

I don't know that me can make a raw token work, we need to know whether it is still valid and should be refreshed. You will need to make these into a Credentials I think.

I don't know that me can make a raw token work, we need to know whether it is still valid and should be refreshed. You will need to make these into a Credentials I think.

What about a dict, should that work?

It will still try to refresh. I think what you might need, is to subclass gcsfs.credentials.GoogleCredentials, which needs to expose an apply(head: dict) function, or make a PR for the existing class to accept a non-refreshable raw token, presumably in _connect_token().

@martindurant Thank you, I think we can close this issue.

If you find a path that works for you to pass tokens in directly, please contribute a PR, as this can be useful to others too.


FEATURE: create & sync Salesforce cases from Discoure topics.

Also, move the leads & contacts creation button inside the post admin menu.
A follow-up to the other draft PR https://github.com/discourse/discourse-salesforce/pull/3

I'm going to add a few more tests.


FreeCodeCamp website, map page, "Last Updated" date

Hi: today is 02/17/2016. However the date that shows on my page says: 02/18/2016
In addition, all the days I completed tasks in 2015 are missing.
Please verify. Thanks.

I believe "last updated" takes the date from the server (hence why it says '18/02/16')? Or am I wrong @FreeCodeCamp/issue-moderators?
I'm not sure what you mean by "all the days I completed tasks in 2015 are missing." - could you clarify?

Hi: Here are the issues:
Issue #1: the days are incorrect. As you can see on my example above, yesterday was Feb 17, 2016, and as I was completing the tasks, the column that says "Last Updated" was filling out with the date of Feb 18, 2016. I seems this issue was fixed already.
Issue #2: the days I completed the tasks last year are not showing on the calendar (top page). However this is a minor issue and therefore, please ignore that.
Thanks!

@happycodecamper Could you provide a screenshot of the heatmap (calendar)

Hi:
Issue #1: Please see file attached: FCC_dates_20160219.jpg. Today (Feb19, 2016), I have  **not ** done any task yet, but the  Last Updated column  is already showing today's date (third column from the left). How is it possible?
Issue #2:  Please see file attached: FCC_calendar_20160219.jpg. My calendar starts on the month of September of 2015. However I started on FCC around July of 2015. Therefore I cannot see any of the tasks I completed before Sep/2015 on this page. As I said before, I consider this is a minor issue, and if it is not possible to be fixed, that's fine.
Thanks, Maria

Cc: @QuincyLarson @BerkeleyTrue


How configure correctly a CPFP ?

Do we have any instructions on how to use CPFP to speed up the reveal transaction using bitcoin-cli? I read up the generic instructions but the issue is how would i sign the transaction using bitcoin-cli? My ord wallet is different than bitcoind wallet.
In work in regtest ATM and I want to understand how to set up a cpfp transaction.
I use :
bitcoin-cli createwallet dev
bitcoin-cli generatetoaddress 101 $(bitcoin-cli -rpcwallet=dev getnewaddress)

ord -r  wallet --name=ord_dev create
bitcoin-cli -rpcwallet=dev sendtoaddress $(ord -r  wallet --name=ord_dev receive) 0.47
bitcoin-cli -rpcwallet=dev -generate 1
bitcoin-cli -rpcwallet=dev sendtoaddress $(ord -r  wallet --name=ord_dev receive) 0.47
bitcoin-cli -rpcwallet=dev -generate 1
bitcoin-cli -rpcwallet=dev sendtoaddress $(ord -r  wallet --name=ord_dev receive) 0.06
bitcoin-cli -rpcwallet=dev -generate 1

Now i have 1 BTC on my ord_dev and i try to inscribe one inscription
ord -r  wallet --name=ord_dev inscribe --fee-rate 2 --file ".1.html"

{
  "commit": "8f0c01aadc09e4ee2b0c3c63d225f3dfa248390801af73b6f6acb330fa97fa12",
  "inscriptions": [
    {
      "id": "e06ccf2fc50c7499998503d107b517fc3ea96a3fc0ae05ac8b28318683b73e8di0",
      "location": "e06ccf2fc50c7499998503d107b517fc3ea96a3fc0ae05ac8b28318683b73e8d:0:0"
    }
  ],
  "parent": null,
  "reveal": "e06ccf2fc50c7499998503d107b517fc3ea96a3fc0ae05ac8b28318683b73e8d",
  "total_fees": 5696
}

I get the inputs and outputs :
bitcoin-cli -rpcwallet=ord_dev decoderawtransaction $(bitcoin-cli -rpcwallet=ord_dev getrawtransaction e06ccf2fc50c7499998503d107b517fc3ea96a3fc0ae05ac8b28318683b73e8d 2 | jq '.hex') | jq '[.vin[] | {txid: .txid, vout: .vout} ]' -c`

[{"txid":"8f0c01aadc09e4ee2b0c3c63d225f3dfa248390801af73b6f6acb330fa97fa12","vout":0}]
bitcoin-cli -rpcwallet=ord_dev decoderawtransaction $(bitcoin-cli -rpcwallet=ord_dev getrawtransaction e06ccf2fc50c7499998503d107b517fc3ea96a3fc0ae05ac8b28318683b73e8d 2 | jq '.hex') | jq '[.vout[] | .value]' -c`

[0.0001]
bitcoin-cli -rpcwallet=ord_dev listunspent | jq '[.[] | select(.amount > 0) | {txid: .txid, vout: .vout} ]' -c

[] <= because its a refresh wallet
ord -r  wallet --name=ord_dev inscriptions

[] <= because its a refresh wallet
And from then on, it becomes a nebula.
I've tried createrawtransaction, walletcreatefundedpsbt, converttopsbt, but I either get a message like "not enough additional fees to relay; 0.00 < 0.00000111" or the transaction goes through but I don't have a registration.
and I can't see how to import these wallets into sparrow. I'd like to stay on the command line.
I've already read the issue https://github.com/ordinals/ord/issues/1519#issuecomment-1464834295
and try this script but not working https://github.com/MMCGW/restore-ord-txs

Do we have any instructions on how to use CPFP to speed up the reveal transaction using bitcoin-cli?

bitcoin-cli createrawtransaction '[{"txid": "reveal_output_txid", "vout": "reveal_output_vout"}]' '{"your_address": 0.00010000}'
bitcoin-cli fundrawtransaction <TX_HEX>
bitcoin-cli signrawtransactionwithwallet <TX_HEX>
bitcoin-cli sendrawtransaction <TX_HEX>

Oh sorry, you have to also specify the fee rate to use
Example
bitcoin-cli fundrawtransaction <TX_HEX> '{"fee_rate": 10}'

I think this would be great addition to the docs, if anyone feels motivated :)

In fact, I don't think I understand how to retrieve the reveal_output_txid and reveal_output_vout values.
If I take the example above, isn't the value of reveal_output_txid e06ccf2fc50c74998503d107b517fc3ea96a3fc0ae05ac8b28318683b73e8d?
If so, how do I get the vout back?
If not, how do I retrieve the information?
Once I've got the hang of it, I'll be happy to write the doc or even the command directly in the CLI.

The way the ord client creates the reveal transaction, it will usually be
vout 0: inscription
vout 1: your BTC change (if any)
if your inscription has a parent:
vout 0: parent inscription
vout 1: inscription
vout 2: your BTC change (if any)
in your case:
txid: e06ccf2fc50c74998503d107b517fc3ea96a3fc0ae05ac8b28318683b73e8d
vout: 0

this feat is TX Accelerator.
Do we need a command to add this feat?
Usage
ord wallet accelerator <TxID> <FeeRate>

@casey @raphjaph

Sounds good


Only leaflet.js file is version Leaflet 1.7.1 others are 1.6.0

I have downloaded the latest version 1.7.1 from https://leafletjs.com/download.html
The zip file has a 1.7.1 version leaflet.js
All other files are 1.6.0.
I use the leaflet-src.esm.js file so i was suprised to find out it is version 1.6.0
Was there a mistake made when making the zip file or are the version variables and comments not updated?

Duplicate of #7258


Android 8 & above conversion happens about 1/4th of the page only!!

hello,
its failing to convert entire page to pdf for Android 8 and above. I'm getting partial html page like, just top 5 lines of the html page and left of the page is blank. I see the html is fine but in Android 8 I see the Filestream size is about 1/4 of that of Filestream size from Android 5. So, i think its stopping the conversion at around 1/4 of the page.  Please help
Thanks
Vamshi

@vkreddyg  can you share any sample HTML file?

@dinesh4official I was able to fix it using below and it worked in both Android 5 & 8. Dont use Webview.LoadData, instead use LoadDataWithBaseURL.
//webpage.LoadData(_HtmlToPDF.HTMLString, "text/html; charset=utf-8", "UTF-8");
webpage.LoadDataWithBaseURL(null, _HtmlToPDF.HTMLString, "text/html", "utf-8", null);
But, really your solution is amazing. Thanks for the work you did.. I had to change few things to show images in the pdf from html file. but other than that your solution is right on the spot..thanks

Your kind words warmed my heart... Good to hear that your issue is resolved. Closing this issue as resolved.


WIP: DON'T MERGE: use bridge for libvirt

Why is this PR needed?
This PR is not meant to be merged, it was created just for sharing purposes.
Terraform libvirt deployment is by default configured to use NAT networking model managed by libvirt but it might be not useful for CI/validation jobs because then the guest machines are not reachable from outside (without port-forwarding set) but only from a hypervisor host.
Also this sample deployment was configured (see terraform.tfvars.example.th) to use remote libvirt host so now it's possible to call terraform apply from different machine (eg. from jenkins worker).
To make it work you'll need perform several steps:

checkout this PR on worker machine
rename terraform.tfvars.example.th to terraform.tfvars
modify libvirt_uri =<EMAIL_ADDRESS>URI pointing to your KVM in terraform.tfvars file
either add your SCC key into registration.auto.tfvars or add repos into terraform.tfvars
on worker machine as a user which will run terraform, run: ssh-copy-id <myhypervisor.suse.cz> (the user have to exists on hypervisor machine as well)
configure libvirt daemon on your KVM hypervisor machine:

cat > /etc/libvirt/libvirtd.conf << EOF
listen_tcp = 1
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"
auth_tls = "none"
EOF

restart libvirtd systemctl restart libvirtd
configure bridge on hypervisor machine:

cat >  /etc/sysconfig/network/ifcfg-br0 << EOF
BOOTPROTO='dhcp'
BRIDGE='yes'
BRIDGE_FORWARDDELAY='0'
BRIDGE_PORTS='eth0'
BRIDGE_STP='off'
STARTMODE='auto'
ZONE=public
EOF

configure enslaved interface used by bridge (interface connected to uplink):

cat > /etc/sysconfig/network/ifcfg-eth0 << EOF
BOOTPROTO='none'
STARTMODE='auto'
EOF

restart wicked systemctl restart wicked
done, call terraform apply on worker machine

What does this PR do?
It bootstraps SLES15-SP1 VMs on libvirt/KVM hypervisor used for CaaSP v4 deployment by skuba. The VMs are preconfigured to use bridge network model instead of default NAT.

\cc @pablochacin

BTW I just realized that NAT mode is not so suitable for users as well - then the management host has to be deployed within the libvirt network to have direct access to the nodes.
OR
With management host located outside of the libvirt network the deployment of the nodes would be a mess:
# skuba cluster init cluster --control-plane kvm_host_public_ip:26443
# skuba node bootstrap --user sles --sudo --target kvm_host_public_ip:20022 caasp-master-0
# skuba node join -s -u sles -t kvm_host_public_ip:20023 -r master caasp-master-1
...

also it would need to configure port-forwarding on hypervisor.
@innobead @evrardjp would it be possible to change terraform libvirt to bridge mode instead of NAT according to this PR?

if you disable NAT mode then the VMs will not able to download anything from outside, because the packets will have the VM address as the source, in order to work you have to route the internal subnet, that doesn't seem a good idea to me for a CI system.

Just wanted to note that IIRC we are NOT delivering libvirt related terraform files to customers. This configuration is only for testing  -- mostly CI, but also locally-- and in that sense, keeping the NAT would be maybe better.
I'm testing an alternative to make VMs in a NAT network visible from the CI, replicating the setup we have for VMware cluster.

if you disable NAT mode then the VMs will not able to download anything from outside, because the packets will have the VM address as the source, in order to work you have to route the internal subnet, that doesn't seem a good idea to me for a CI system.

I'm replacing NAT by bridge so VMs will lease IP/route/DNS directly from company's network
DHCPd. When using bridge there is no internal subnet, the nodes will use "public" SUSE IPs directly.
The very same approach was used in CaaSP v3 and bridge is also used in CaaSP v4 VMware terraform deployment.
The NAT makes it similar to OpenStack deployment but libvirt doesn't offer floating IPs.

The NAT makes it similar to OpenStack deployment but libvirt doesn't offer floating IPs.

That's true. I'm approaching this by creating static routes from CI workers to the VMs, as we did with VMware. This is the same approach I used locally between my laptop and workstation. So it can be used also for testing locally without having to modify the terraform.

if you disable NAT mode then the VMs will not able to download anything from outside, because the packets will have the VM address as the source, in order to work you have to route the internal subnet, that doesn't seem a good idea to me for a CI system.

I'm replacing NAT by bridge so VMs will lease IP/route/DNS directly from company's network
DHCPd. When using bridge there is no internal subnet, the nodes will use "public" SUSE IPs directly.
The very same approach was used in CaaSP v3 and bridge is also used in CaaSP v4 VMware terraform deployment (which is used by CI as well).
The NAT makes it similar to OpenStack deployment but libvirt doesn't offer floating IPs.

Thanks @thehejik for this PR.
Even this PR comes from a CI requirement, but actually raised a good point for rethinking what case we really want to support for KVM infra deployment? especially we are about to release KVM infra offering.
Like you said, the current KVM terraform scripts is more about local deployment which means management & provision/hypervisor on the same host that is totally different from other TF infra offerings including VMware, OpenStack and AWS.
I think this approach will make KVM offering similar as others and being able to deploy from a management host different from the provision/hypervisor node. I am not against this change actually but just a little concern about the configurations of the provision/hypervisor node becoming a little tedious.
cc @jordimassaguerpla @Klaven @cmurphy  related people involving in KVM offering to provide feedbacks.

We are not releasing terraform libvirt to our customers. We assume they have a kvm cluster. Thus, this is only for CI.

This PR was used for discussing this alternative, but the actual implementation of KVM networking in CI will be different.


#825: Allow passing explicit connection to pubsub API methods

See #825.

Coverage remained the same at 100.0% when pulling b60cf16aeb338f912879912f71cd8e86db53ba45 on tseaver:825-pubsub-explicit_connection into 8b5c5b9af84e8ffece99f750569adf33f9e53988 on GoogleCloudPlatform:master.

Overall no complaints, but we still have connection bound to our objects. What is the point of #825 without the context of #728 (or something like #728 for pubsub)?

@dhermes ad82cf7 removes all use of a .connection attribute / property in pubsub.

Coverage remained the same at 100.0% when pulling ad82cf7f2a9f8ed2c206be2860620bfb6f9aa07b on tseaver:825-pubsub-explicit_connection into 8b5c5b9af84e8ffece99f750569adf33f9e53988 on GoogleCloudPlatform:master.

LGTM


How to deal with union light client modifications

We have some small modifications to the union light client to make it work for our Solidity Eureka implementation.
The code we use for our e2e tests with those modifications are currently located in this branch: https://github.com/gjermundgaraba/union/tree/gjermund/eth-light-client-for-eureka
The changes are mostly around:

Using Merkle path v2 (union will likely need to make this change themselves soon as well, so might not be an issue)
TODO: Fill out the rest of the changes

The question is, where should those changes live? If possible, the ideal scenario might be that we upstream our changes to the union repo so that we don't have to maintain a fork, but if that is not possible, we need to consider where such a fork should live, and how to make the maintenance burden as light as possible.

We have decided to move the light client to ibc-go, therefore, I'm closing the issue


Adding vue-apollo-example

Hi everyone, this is my first PR. I can't run the tests, I work through wsl.

Hi, neat 👌, and welcome.
You can run the tests by using GitHub actions. (I almost never run the test locally on my machine.)
Alternatively: we skip testing altogether, publish the example under your name, and add a link to https://github.com/brillout/vite-plugin-ssr/tree/master/examples#community-examples.

I fixed my tests, but now the error is in ../../examples/cloudflare-workers/.test-miniflare.spec.ts and I do not know how to fix it =)
I can make my repository (vite-plugin-sst-vue-graphql-apollo for example) and drop the link here or in Discord.

Thanks 👌.


Add validation and test cases to choice

resolves #70, resolves #71.

Codecov Report

Merging #72 into master will increase coverage by 0.08%.
The diff coverage is 63.15%.

@@             Coverage Diff              @@
##             master      #72      +/-   ##
============================================
+ Coverage     51.64%   51.73%   +0.08%
- Complexity      377      378       +1
============================================
  Files            91       91
  Lines          1667     1670       +3
  Branches        197      197
============================================
+ Hits            861      864       +3
  Misses          728      728
  Partials         78       78

Impacted Files
Coverage Δ
Complexity Δ

...in/java/seedu/address/logic/parser/ParserUtil.java
67.60% <0.00%> (ø)
18.00 <0.00> (ø)

...java/seedu/address/logic/commands/EditCommand.java
58.18% <9.09%> (ø)
9.00 <0.00> (ø)

src/main/java/seedu/address/flashcard/Option.java
60.00% <60.00%> (ø)
4.00 <1.00> (ø)

src/main/java/seedu/address/flashcard/Choice.java
64.28% <88.88%> (+9.74%)
4.00 <3.00> (+1.00)

src/main/java/seedu/address/flashcard/Answer.java
87.50% <100.00%> (ø)
8.00 <2.00> (ø)

...c/main/java/seedu/address/flashcard/Flashcard.java
73.91% <100.00%> (ø)
12.00 <1.00> (ø)

...eedu/address/flashcard/MultipleChoiceQuestion.java
79.16% <100.00%> (ø)
10.00 <0.00> (ø)

...ava/seedu/address/flashcard/OpenEndedQuestion.java
92.85% <100.00%> (ø)
8.00 <3.00> (ø)

...parser/AddMultipleChoiceQuestionCommandParser.java
80.95% <100.00%> (ø)
5.00 <0.00> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bf3cb41...66950c0. Read the comment docs.


Save the data in sessionStorage or localStorage

right now it re-fetches data on each page change which is undesirable

done https://github.com/fossasia/open-event-webapp/commit/468ee7d6df053915872f520f89f3c8e6fb58cafd


Cannot retrieve consumer by username if username is a guid

I have set my consumer usernames to equal user guids from another database. After upgrading from 0.13 to 1.3 I can not retrieve consumers.
Is there any way to retrieve a consumer by username where the username is a guid?
or alternatively, specify consumer id on creation?

@eamonnmcevoy yes, if you already have a source of UUIDs, you can use them as id when creating consumers:
$ http :8001/consumers id=675f695e-680e-4279-ba6f-2732f0f18a20 username=gobo
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 116
Content-Type: application/json; charset=utf-8
Date: Tue, 15 Oct 2019 20:00:37 GMT
Server: kong/1.3.0

{
    "created_at":<PHONE_NUMBER>,
    "custom_id": null,
    "id": "675f695e-680e-4279-ba6f-2732f0f18a20",
    "tags": null,
    "username": "gobo"
}

@hishamhm great, I guess that solves my problem.
I see this isn't in the admin api documentation, is this behaviour likely to change in the future?

@eamonnmcevoy this is safe to use, It's not likely to change at all.
Regarding the documentation, I think it implies that every attribute listed can be given during creation, but indeed it doesn't call out id in a special way.


Polish InternalPool as a viable albeit non-default alternative to Spawner

During 0.17.0 the recently displaced InternalPool became Group::Pool and lost its place as the sole and therefore default collection of threads used by ActorSystem and associated things like Future, etc. Basically any thread Celluloid needs.
Let's give it a rest and basically leave it as it is for 0.17.0 ( i.e. less awesome, troublesome, etc ) and revisit it as a viable alternative in 0.17.5.

To actively discourage putting time into Group::Pool right now, it has been removed as a CI test case until we get into this issue later.

@digitalextremist - it's green, but not wrapped up yet. See: https://github.com/celluloid/celluloid/issues/579

Yeah I'm catching intermittent failures, but only on jruby-head and rbx-2 at present. At gym, will look further soon.

@aayushranaut this is a good one to look through, it would give you insight into the actor system itself.


Fix broken helm istio install in CI

What this PR does / why we need it:
fix broken CI for istio installation
Error: render error in "istio/charts/gateways/templates/rolebindings.yaml": template: istio/charts/gateways/templates/rolebindings.yaml:4:7: executing "istio/char
ts/gateways/templates/rolebindings.yaml" at <($spec.sds) and (eq $spec.sds.enabled true)>: can't give argument to non-function $spec.sds
error: no objects passed to apply

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

This is awesome, it unblocks: https://github.com/kubeflow/kfserving/pull/876, lets get it in :)

/lgtm

/approve


refactor: Deprecate Generic IValidatesProperties

What kind of change does this PR introduce?

This PR deprecates the generic IPropertyValidationComponent<TViewModel> and IValidatesProperties<TViewModel> in favor of the non-generic version of these interfaces, namely IPropertyValidationComponent and IValidatesProperties. The reasoning for this change was described in detail by @thargy in https://github.com/reactiveui/ReactiveUI.Validation/pull/118#issuecomment-708322698

Commit 1565d37, updated IValidatesProperties, splitting it into generic/non-generic versions.  The generic version now contains solely the problematic <...> I say problematic, as implementing such an interface is non-trivial for authors intending to extend validation rules outside the library. The current implementation within the library is always the same <...> and makes use of the GetPropertyPath extension method, which is marked internal, necessitating consumers rewrite a version of that method.

Now, the generic ContainsProperty method is extracted into a separate class named ValidatesPropertiesExtensions.
What is the current behavior?

Currently, if folks decide to implement the generic versions of the mentioned interfaces, namely  IPropertyValidationComponent<TViewModel> and IValidatesProperties<TViewModel>, they experience difficulties, and the implementation of these two interfaces is always the same.
What is the new behavior?

Now, the interfaces are deprecated in favor of their non-generic versions. This should simplify extending ReactiveUI.Validation.
What might this PR break?
Hopefully, nothing, as we aren't removing the interfaces, but just deprecating them by marking as [Obsolete].

That was quick @worldbeater, I was just about to fork for a PR, thanks!

@thargy you are welcome! Just having free time this week and decided to fix the old ReactiveUI.Validation issues. Hopefully, now it will be a bit more usable. There are still two issues left, if you still have time to help out! https://github.com/reactiveui/ReactiveUI.Validation/issues

Sorry @worldbeater, I used my time to write out #123 for your consideration instead!  This was another area I came across whilst 'extending' the library.  It often takes longer to write the descriptions/justifications than to do the research and make the change!


What is meant by number of classes = 4, number of cache ways = 12

sudo ./pqos -H returns the following.
 1)       Config ID: CFG0     Description: non-overlapping, ways equally divided  Configurations: 	number of classes = 4, number of cache ways = 12 	number of classes = 4, number of cache ways = 16 	number of classes = 4, number of cache ways = 20
2)       Config ID: CFG1     Description: non-overlapping, ways unequally divided  Configurations: 	number of classes = 4, number of cache ways = 12 	number of classes = 4, number of cache ways = 16 	number of classes = 4, number of cache ways = 20
3)       Config ID: CFG2     Description: overlapping, ways unequally divided, class 0 can access all ways  Configurations: 	number of classes = 4, number of cache ways = 12 	number of classes = 4, number of cache ways = 16 	number of classes = 4, number of cache ways = 20
4)       Config ID: CFG3     Description: ways unequally divided, overlapping access for higher classes  Configurations: 	number of classes = 4, number of cache ways = 12 	number of classes = 4, number of cache ways = 16 	number of classes = 4, number of cache ways = 20
What is meant by number of classes = 4, number of cache ways = 12 	number of classes = 4, number of cache ways = 16 	number of classes = 4, number of cache ways = 20 which is repeated across all the options?

"-H" option lists predefined CAT profiles available in the tool. Each profile has its ID, brief description and list of hardware configurations on which it can be applied on, for example:
number of classes = X, number of cache ways = Y

this means that profile can be applied on CPU that supports minimum X classes of service and has exactly Y cache ways. Currently, all profiles can be applied on CPU's with 12, 16 and 20 last level cache ways.

@tkanteck perfect. Thanks for clarifying!


configure: use git describe for version number

Remove the hardcoded version number and use git describe. This makes
it impossible to release a version of the tools that does not agree
with the git tag.
Additionally, builds not on a tag will be marked dirty:
$ ./src/tpm2_listpcrs -v
./src/tpm2_listpcrs, version v1.1.0-81-ga5d2946
Once the current HEAD is a tag, it will only read the tag number.
Signed-off-by: William Roberts<EMAIL_ADDRESS>

Solid. We may want to rethink the 'v' prefix on our tags now. A version string like "version v1.0.0" seems redundant. We can defer that discussion till the next release though. Merging now.

I was thinking we would want to write up what our release process is.


Implement CreateRedshiftCluster Operator

It makes sense it implement a sensor/operator to create an AWS Redshift cluster.  It would help in testing the Redshift related operator and sensor without knowing any AWS interface.
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/redshift.html#Redshift.Client.create_cluster

PR https://github.com/apache/airflow/pull/23186


Bug with LP/BungeeChat2

https://pastebin.com/hHTuQkm1
Luck Perms 4.4..17 works, 18/19 give this problem
Waterfall 282
Luck Perms 4.4.18
BC2 <IP_ADDRESS>5
After logging in and typing a chat message, nothing shows in the ingame chat, my bungee discord bot DOES carry it to discord. But that error is what spams the console. Reverting to 4.4.17 fixes, so it appears to be with 4.4.18. I did test 4.4.19 this morning and got the same error though.
Reported it to BC2, was told it was a LP bug

@Cosido Based on your logs, seem like It's a duplicated report
I've reported it earlier today, here
https://github.com/lucko/LuckPerms/issues/1525

I mean, we have some similar errors in the log, but the reason were getting them is entirely different.
I dont have problems with disconnecting or commands, or permissions, I have problems with chat being carried. If Im told they are duplicates, Im sure it will be closed by someone who has a bit more information. Thank your for the response though

When you think about it, it's probably the same.
This is LuckPerms, it grant people permisson.
What do chat and command have in common, which handle by luckperms? ;) It's permission <3

It’s a duplicate. Same exact error as the other report.

And for future reference, post your case on the existing issue. And only if told to make a separate issue, make a separate issue. Not the other way round.
Creating duplicates creates unnecessary noise that makes keeping track of bugs easier.


Consider all comment types for doc comments

In #80, the existing code only emits hover docs based on doc comments (like /** */ or ///). However, in VS Code, clangd also shows doc comments based on // (sometimes this is incorrect). It seems like the right API to use is getCommentForDecl, which handles a bunch of cases where getRawCommentForAnyRedecl doesn't work, but I couldn't quite figure out how to extract the text from the result in a simple way. Kythe also has a bunch of non-trivial looking code for handling comments (https://sourcegraph.com/github.com/kythe/kythe@d6659b1e971444e9a7f632412311d2f8176b263a/-/blob/kythe/cxx/indexer/cxx/IndexerASTHooks.cc?L872&subtree=true), which seems a bit overkill for a first pass.
There is also a bunch of code in clangd around hover docs:

Entry point: https://sourcegraph.com/github.com/llvm/llvm-project@35eff6ceec66c8fa92b162039d64cdb4354c06cc/-/blob/clang-tools-extra/clangd/Hover.cpp?L1089
For named decls: https://sourcegraph.com/github.com/llvm/llvm-project@35eff6ceec66c8fa92b162039d64cdb4354c06cc/-/blob/clang-tools-extra/clangd/Hover.cpp?L578:11

We should figure out how to reuse the clangd hover doc API or maybe do something similar to it.

For using clangd hover docs, I think we will need to submit a patch upstream to provide a target which includes clangd headers (or add an extra BUILD file ourselves somehow, maybe as a patch? not entirely sure since the project itself is generated by llvm_configure). It doesn't seem like we can use clangd headers right now because it is not part of the Bazel build: https://sourcegraph.com/github.com/llvm/llvm-project/-/tree/utils/bazel/llvm-project-overlay/clang-tools-extra

Related: #235

It doesn't seem like we can use clangd headers right now because it is not part of the Bazel build: sourcegraph.com/github.com/llvm/llvm-project/-/tree/utils/bazel/llvm-project-overlay/clang-tools-extra

Clangd has 20 different CMakeLists.txt files. It also depends on the include-cleaner code, which has 5 CMakeLists.txt files. So this will be a non-trivial amount of work.

Retitled this issue to be more narrow. Producing more detailed doc comments with useful signatures will take more work.


Upgrade typescript to 3.7

upgrade typescript to 3.7.
This will cause errors in type-check, so some code fix will be required.

The typescript version is already bumped to 4.3.2 with PR #688. So this issue should be closed.


Add Applescript commentstring

Is highlighting and filetype is supported natively?

Neovim recognizes the filetype (:echo &ft returns applescript) but there is no highlighting unfortunately. But Neovim does at least recognize the filetype properly based on the *.scpt file extension.


Jaeger should use healthcheck for readinessProbe

Query and standalone currently have readinessProbe using Query port(16686).
Wouldn't it be better using healthcheck port for all components(Collector, Query, Standalone)?
They have their own port for healthcheck.
(Note that Standalone healthcheck is in  PR)
Another question,
Per my understanding, there are 2 probes in kubernetes. livenessProbe and readinessProbe.
Why readinessProbe is used?

Wouldn't it be better using healthcheck port for all components(Collector, Query, Standalone)?

Absolutely. A PR would be welcomed :)

Why readinessProbe is used?

The health check isn't actually checking the health of the component. Instead, we are using it mostly as a "readiness probe", to mark when the component is ready to receive requests (ie: when it has connected to the backend storage/services).

Thanks for the clarification.
I'll look into this for kubernetes and openshfit, will PR.

v1.6 has just been published. Is this the right time to work on this issue?

Ok, I'll work on this.


Improved logging for health checks

Add logging of description/data
Add logging for aggregate begin/end

dbug: Microsoft.Extensions.Diagnostics.HealthChecks.DefaultHealthCheckService[100]
      Running health checks
dbug: Microsoft.Extensions.Diagnostics.HealthChecks.DefaultHealthCheckService[102]
      Running health check GCInfo
dbug: Microsoft.Extensions.Diagnostics.HealthChecks.DefaultHealthCheckService[103]
      Health check GCInfo completed after 3.5313ms with status Degraded and 'reports degraded status if allocated bytes >= 1gb'
dbug: Microsoft.Extensions.Diagnostics.HealthChecks.DefaultHealthCheckService[105]
      Health check data for GCInfo:
          Allocated: 1636848
          Gen0Collections: 0
          Gen1Collections: 0
          Gen2Collections: 0
          HealthCheckName: GCInfo

dbug: Microsoft.Extensions.Diagnostics.HealthChecks.DefaultHealthCheckService[101]
      Health check processing completed after 20.6395ms with combined status Degraded
dbug: Microsoft.AspNetCore.Server.Kestrel[9]

Discused in person.


Search should strip trailing space

VSCode Version: 1.32.3
OS Version: Windows 10 Pro 17763

I appreciate that this is probably intentional behaviour, but I would contend that rarely, if ever, are searches conducted where the user wants it to limit the results to only those with a trailing space (I'm referring specifically to the space character 0x20). Whitespace within the search term? Of course. But a trailing space character, seriously? Bear in mind that many, many searches are conducted on terms that have been copy/pasted, it's very easy to mistakenly include a trailing space, and not realize the results are incomplete. This is misleading.
Steps to Reproduce:

In the search box, enter a term with a trailing space.
Results are restricted to that term, including the space.

Does this issue occur when all extensions are disabled?: Yes

I disagree, it's absolutely a valid thing to search for. We should search for whatever the user types, not try to outsmart them.


Pushing commits to my own pull requests gives me a gitify notification

Pushing commits to my own pull requests gives me a gitify notification each time I push a new commit with the notification type "Author" - ill try to add a screenshot next time I see it.
Using version 2.0.2 on MacOS High Sierra 10.13.13
Im not sure if this has any relevance or not but Im using signed commits.

@lCharlie123l I'm not sure there's any way to prevent this, as this presumably is just how the GitHub notifications are handled.

I sign my commits, and don't get this. It most likely has to do with your github settings.

It looks like it it might be due to me pushing my commits using my work email account as the primary account locally for work projects when its not my primary github account leading to notifications on the main account. However - i dont get these notifications in github only on gitify (this could however be a red herring) but it seems to go away if I change my local email to be that of my github one.

Interesting how it still labels you as author even though its from a different account


M53: Fix GYP for Android.

It partly works. At least, gyp_xwalk can be executed and almost half of the source code files can be compiled.

Have you submitted a patch upstream for this? Otherwise, I don't think we can land these patches just to make Android build work on gyp. We will have to wait until GN build is working on Android.

I think it was more of an experiment to see how much the gyp files would need to be changed in case the GN code wasn't ready soon.
@msisov ^

Yes, true. At first, I thought I'm able to build the Android build completely, but then it turned out more fixes are needed. I guess we can discard this PR.


Dev UI: Add Card

I am working on adding new Dev UI card for this library which I think will be a common pattern for a lot of libraries.  I like to know which version without digging through POM files of the library itself not the extension is loaded.

That's a good idea,  +1

PR coming!

I have Phillip working on an enhancement so we can add logos but this is my final ouput.
https://user-images.githubusercontent.com/4399574/224509572-0e8e2d12-eb12-45b6-bf67-2a3f866e14d9.png


Alternative to presets.

Rather than using presets, a simpler item interaction like right clicking would be nice. Using an empty bundle would store all equipped armor, while using a filled bundle would attempt to equip items.
This would have disadvantages, but it might make using a lot of bundles and armor sets easier. It might also be a little more intuitive to users.

i'd still like to keep the presets, but i think the preset setting would conflict with this. maybe preset setting could be moved to a keybind (as in something like you hold the bundle and press one of the already existing preset keys to set one) and then right clicking could be exclusively for this?

breaking the binding when the bundle is moved out of the inventory might be difficult with how many ways there are to move items around, but the rest sounds good. with this change should bundles only have enough space for one set of armour?

also the visual indicator for bound bundles could be something like showing the armour items it’s bound to in the item tooltip, separate from the bundle’s contents

breaking the binding when the bundle is moved out of the inventory might be difficult with how many ways there are to move items around, but the rest sounds good. with this change should bundles only have enough space for one set of armour?

I think it would be reasonable to say an empty bundle would always be unbound. I'm a little less sure how to handle multiple sets in one bundle without fixed presets determining which set to use.

i think i'll try implementing this once i get the 1.21.3 port fully working


Development: Refactor student actions buttons checks

Checklist
General

[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I followed the coding and design guidelines.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.

Motivation and Context

#6498 has already been merged to fix the bug but we want to improve the code quality a bit. That's why I opened this PR.
Description
moved the checks if the team button and the start exercise buttons should be available into seperate methods to reduce code duplication and to avoid copy-paste errors.
Steps for Testing

Prerequisites:
1 Instructor
1 Students

Log in to Artemis
Navigate to Course Administration
Create a team exercise that is released (affected exercise types are file-upload, modeling and text)
navigate as a student to the exercise and verify no buttons are visible
add the student to a team
Navigate again as a student to the exercise and verify that both buttons are visible, clickable and no errors are produced when clicking them.

Review Progress

Performance Review

[x] I confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

unchanged, my changes are tested by the tests added in #6498

There is a missing margin between the buttons and unintended styles. Remove btn-group class and add gap-3 to the div surrounding both buttons
Clicking start exercise and then file upload leads  to an You are not authorized to access this page error. Going back by to the previous page I see the start exercise button again


Loss can't backward

Hi, I encountered an issue that the loss can't backward. It seems there is an operation to modify a tensor inplace, but I can't find where is it. Could you please look into it?
Here is the stacktrace:
Traceback (most recent call last):
File "/home/qiyuan/2021summer/VQA_ReGAT/main.py", line 275, in
main()
File "/home/qiyuan/2021summer/VQA_ReGAT/main.py", line 271, in main
train(model, train_loader, eval_loader, args, device)
File "/home/qiyuan/2021summer/VQA_ReGAT/train.py", line 111, in train
loss.backward()
File "/home/qiyuan/miniconda3/envs/torch14/lib/python3.8/site-packages/torch/tensor.py", line 195, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph)
File "/home/qiyuan/miniconda3/envs/torch14/lib/python3.8/site-packages/torch/autograd/init.py", line 97, in backward
Variable._execution_engine.run_backward(
RuntimeError: unsupported operation: more than one element of the written-to tensor refers to a single memory location. Please clone() the tensor before performing the operation.
0%|                                                  | 0/3467 [00:04<?, ?it/s]
Process finished with exit code 1
Thanks.

While running your fork code, I have similar problem.

RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [64, 2048]], which is output 0 of ReluBackward0, is at version 1; expected version 0 instead.

I change relu inplace = False, but I couldn't solve it.
Could you let me know the way to solve the problem?


No suitable driver postgresql

Getting this error when trying to connect to a Postgres RDS instance out of the box using the latest docker image. Also seeing this from a local pip based installation. How do I install the proper jdbc driver for postgresql?
com.twosigma.beakerx.sql.DBConnectionException: Connection URI:jdbc:postgresql:// ... No suitable driver
thanks!

https://github.com/twosigma/beakerx/pull/6281


[Bug]: Game crash on Proton experimental

What modules are you seeing the problem on?
ScriptHookVDotNet.asi (runtime), ScriptHookVDotNet3.dll (v3 SDK/API), ScriptHookVDotNet2.dll (v2 SDK/API)
SHVDN Version
I cant open the console because the game wont even start
Game Version
latest
Bug Description
Alright when I launch the game on linux with proton on steam(the normal version of proton thats included with base steam) I get this error
[21:57:38] [DEBUG] Loading API from .\ScriptHookVDotNet2.dll ...
[21:57:38] [DEBUG] Loading API from .\ScriptHookVDotNet3.dll ...
[21:57:38] [ERROR] Failed to create console: System.NullReferenceException: Object reference not set to an instance of an object
at System.AppDomain.CreateInstanceFromAndUnwrap (System.String assemblyName, System.String typeName) [0x00000] in <69ebfd1fc56040acade074e61bd61307>:0
at .?A0xc1aa4bd5.ScriptHookVDotnet_ManagedInit () [0x00188] in <0f1133baa2e243d2802541074a8dc0b4>:0
the game when loading immediately crashes and wont let me even into the game. I have no mods installed .
Steps To Reproduce
1.Launch the game on Linux proton
2.wait for it to crash
Link To Code Example
No response
The Current Behavior

launch the game
goes to the menu screen
crashes while loading

The Expected Behavior

acutally work

I haven't used Proton or Wine for GTA V mods, but are you sure that if your issue is not because Proton doesn't work well with .NET Framework? I googled a bit, and I thought it can be mainly responsible to Proton/Wine.
As for how your issue is reported, you aren't telling me which SHVDN version you are using, but you could tell me which version you downloaded and tried to load. You could tell me what URL you downloaded a build from if you're not sure which version you are using (and I'll correct the SHVDN version info on your first post). You shouldn't tell me a version the console prints, since it prints the constant string generated from the latest version tag. I don't think game version is not that relevant in this case, but could you tell me your game version as well just in case the game version is really relevant? Legitimate exe files have version info.

Hey thanks for writing.  I dont know the exact version of the game im using(all i know is that its the latest version) as for where i got shvdn I got it here https://www.gta5-mods.com/tools/scripthookv-net.

Hey thanks for writing. I dont know the exact version of the game im using(all i know is that its the latest version) as for where i got shvdn I got it here https://www.gta5-mods.com/tools/scripthookv-net.

Im sorry about that I found the version of script hook dot net I was using it was version v3.6.0.

hey i got a question. could i run this on dotnet 45 or no

Thanks for telling me your SHVDN version. I guess I can safely assume you are running it on v1.0.2944.0 of the game, too...
As for Linux compatibility, SHVDN are suppose to run on .NET Framework, not Mono. crosire and me didn't except it to run on Mono at all. Mono doesn't have all features available in Microsoft's .NET Framework 4.8, either. Mono article on WineHQ Wiki says you can install Microsoft's .NET runtime through winetricks. Linux article on GTAMods wiki says you should install dotnet472 and vcrun2017 too but you should install dotnet48 and vcrun2019 (or may be u can use vcrun2022?) for current SHVDN instead. SHVDN is dependent on .NET Framework 4.8 and Visual C++ 2019 since v2.10.10 (the Linux article on GTAMods hasn't updated since Jury 2019, which is before SHVDN v2.10.10 got released). Be aware that SHVDN is not tested to run on Wine/Proton with .NET Framework and your issue may be (mainly) responsible to it.

Thanks. .NET 4.8 dosent work in wine or proton so its safe to say that script hook dot net is busted on linux. thanks for your help, man. ill keep this open in case anyone finds a way to get it to work. again your a huge help

I'll close this issue as not planned as I couldn't confirm that this issue is responsible to SHVDN, but I agree that there is no need to lock conversations on this issue (unless some spammers would bomb us on this) or even delete this issue. So other users can search for Linux topics and find this issue page later, and they can comment something if needed.

ok then that sounds good thank you so much for being so understanding

I FIXED IT I FIXED IT I FIXED IT I FIXED IT.
you need to run
env WINEPREFIX="~/.steam/debian-installation/steamapps/compatdata/271590/pfx" winetricks --force d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx10 d3dx10_43 d3dx11_42 d3dx11_43 d3dx9 dotnet452 dotnet48 vcrun2019

lets see this one


code hanging attempting to @thread.join

This is coming from this issue:
https://github.com/SeleniumHQ/selenium/issues/9104
Reproduction is very straightforward.
I debugged it to this line: https://github.com/enkessler/childprocess/blob/c6260739e86c1cabd9baebd76f2058eea2b1ae16/lib/childprocess/jruby/pump.rb#L14
Not sure why it is getting hung up, what thread join is doing and if it is necessary in all contexts.

Now that we've switched backends to use Ruby's built-in Process.spawn, this might no longer be an issue. With that said, I haven't tested personally.
If you're still seeing this issue and care about it's resolution, feel free to open a new issue. Thanks!


Fixed #27024 -- Prevented logging error with empty string as geometry widget value

Thanks Gavin Wahl for the report.

It would be nice to have some tests for the non-error case to verify the logging happens, since the original commit didn't add any tests.


Rename HUSL -> HSLuv

@tallada hey Roger, just wanted to get your confirmation before I wreck this repo :)
As you can see I renamed the entire project after consulting with an expert. The new name is consistent with the conventions of color science, so I think it's going to have a long-term benefit that outweighs the short-term annoyance.
Note also that we are now publishing the Swift CocoaPod using an organization-level account (hsluvcontributors@gmail.com). The credentials are encrypted and shared in the main repo. If you send me your public key I will give you access, and I can publish the new version myself.

Hey Alexei, I saw the name change a couple of weeks ago but I haven't had time to look more into it. Thanks for taking care of it.
I'll get back to you with the public key as soon as I can.


No need to redefine DissociationFlux

The dissociation flux is implemented in FESTIM 1.1.1 there is no need to redefine it in TDS_EUROFER_festim.py

Probably it was not implemented or I needed to tailor it (at first) when I first did the research, I'll delete it and test it soon


TypeError: Cannot read property 'flags' of undefined in 'getActionsForUMDImport' during 'getCodeFixes'

This issue comes from crash dumps in telemetry. We've tried to de-duplicate issues on a best-effort basis, comparing the sequence of methods called and the command requested while ignoring line numbers.
TypeScript Version Prefix: 2.7.2
VSCode Version 1.20.1
command requested: getCodeFixes
hitting sessions: 117
proportion of all sessions: 0.008339272986457591
five line hash: 280032ef16e7890e22e00b5f6c761944
stack
TypeError: Cannot read property 'flags' of undefined
    at getActionsForUMDImport (tsserver.js:78757:26)
    at Object.getImportCodeActions [as getCodeActions] (tsserver.js:78749:19)
    at unknown (tsserver.js:77219:33)
    at Object.forEach (tsserver.js:1431:30)
    at Object.getFixes (tsserver.js:77218:16)
    at unknown (tsserver.js:83366:35)
    at Object.flatMap (tsserver.js:1698:25)
    at Object.getCodeFixesAtPosition (tsserver.js:83364:23)
    at IOSession.Session.getCodeFixes (tsserver.js:90388:64)
    at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (tsserver.js:89292:61)
    at unknown (tsserver.js:90553:88)
    at IOSession.Session.executeWithRequestId (tsserver.js:90544:28)
    at IOSession.Session.executeCommand (tsserver.js:90553:33)
    at IOSession.Session.onMessage (tsserver.js:90573:35)
    at Interface.<anonymous> (tsserver.js:91774:27)
    at emitOne (events.js:96:13)
    at Interface.emit (events.js:191:7)
    at Interface._onLine (readline.js:241:10)
    at Interface._normalWrite (readline.js:384:12)
    at Socket.ondata (readline.js:101:10)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at readableAddChunk (_stream_readable.js:178:18)
    at Socket.Readable.push (_stream_readable.js:136:10)
    at Pipe.onread (net.js:560:20)

Looks like this was fixed by #21755. We now treat umdSymbol as potentially undefined.


[3.x] Fix long category name display in Inspector

3.x version of https://github.com/godotengine/godot/pull/91820

Thanks!


Ship pre-generated docs in the release tarball

Correct me if I'm wrong, but 'doc' target, according to Makefile spec, should not be included in 'all' target:

‘all’
Compile the entire program. This should be the default target. This target need not rebuild any documentation files; Info files should normally be included in the distribution, and DVI (and other documentation format) files should be made only when explicitly asked for.

One should be able to build and install newsboat, podboat and mo-files with just 'make && make install' and manpages optionally with 'make doc'. This would make patching source based install scripts, such as Gentoo ebuild (https://bugs.gentoo.org/831123) much more straightforward.

Originally posted by @ossimoi in https://github.com/newsboat/newsboat/issues/2419#issuecomment-1559330282

The quote is from the GNU Make manual, which is not a spec. Furthermore, Newsboat is not a GNU program, so adhering to GNU conventions is, I believe, optional.
OTOH it's not the first time we get asked to either drop Asciidoctor or make it optional somehow. The Gentoo bug is yet another instance. Newsbeuter (Newsboat's predecessor) shipped pre-built documentation. It seems like doing that would save a lot of effort downstream, even if I personally believe that source tarballs should contain just the source. I'll think about it.


Versioned releases

One thing we need to discuss before going live with the Jekyll site is how we want to tag releases. Historically we've done our best to make a release each month, ideally around the same time. However, we've also had one-off releases in-between to fix bugs/errors or when there's something new we're excited about and want to get into production sooner than the next release.
For these reasons, I think our release tags should use calendar dates as the beginning of the release version, but we should also include MINOR and PATCH (MICRO) numbers, i.e. semantic versioning (MAJOR.MINOR.PATCH) where the rollover date is the MAJOR "version". For example, 2021-07-05.1.3. This tag indicates that the site was rolled over on July 5, 2021, but we added a new feature later and made 3 patches after that.
Are there any thoughts or opinions on this? Here's a website that discusses a few different options for using calendar dates as version numbers: https://calver.org/.
@cann0010 @nathanweeks @adf-ncgr

"When to use CalVer:
...
Does your project feature a large or constantly-changing scope?
...
If you answered yes to any of these questions, CalVer's semantics make it a strong choice for your project.
"
I'm sold.

CalVer is a good choice. Since this is a static site, where the latest tagged release is probably the one that will always be deployed, I suspect there may not be as much benefit in attempting to distinguish between MINOR and PATCH versions for a semantic versioned suffix. It may suffice to adopt an numerically-increasing single-digit suffix, with a .0 implied for the first tag on a given date (e.g., 2021-07-05, then 2021-07-05.1, then 2021-07-05.2...)
But I'm open to other ideas.

sounds good to me. hopefully we'll never have to debate whether 2021-07-05.10 is actually larger than 2021-07-05.1

On second thought, an explicit .0 (2021-07-05.0) might make parsing easier for any automated processes (CI / CD) that reference these tags?

I guess I was thinking we would use the MINOR number for new features and the PATCH number for bug fixes. I can think of a few times we've released new features between rollovers, so that's my case for the minor number. At the end of the day, though, it's just semantics. So if we decide we want one number to indicate any release between rollovers (new features, patches, or otherwise) then that's fine.
Do we want to drop the day from the date? Historically we've had a monthly release cadence (or slower) so the day may be gratuitous. Then we would have something like 2021-07.0.

I see us doing promotions more often than once a month (which is arbitrary and a bit silly for a more dynamically updated site) so I say we keep the day in the tag.  Plus a sub-day piece since one often fixes something an hour later.
2022-04-04.0

would be the Day 0 tag.

@nathanweeks we think this is the tag format in an NCGR cabal today, speak now or forever or at least a little while hold your peace. :)

@sammyjava That tag convention LGTM. Is it OK to forego enforcement at the GitHub Action and/or client-side git hook level)for now, to allow for some flexibility (e.g., 2022-04-04.1_test or 2022-04-04.1_revert), or should that convention be enforced at some level?

@nathanweeks well I think that if a tag promotes the site to www.legumeinfo.org it should be a strictly conformant tag. But if you're talking about pre-launch testing, sure, whatever you'd like to use. Seems to me once we're in production there'd be no reason to use anything other than production tags.

@sammyjava with no prior experience actually implementing this, I'll propose preventing non-conformant tags from being pushed from the client with a pre-push hook (to make it immediate & obvious that a production site won't be built from the non-conformant tag). I'll have a go at a PR.

Did this morph into implementing validation of tags? Or should we just close it since we're in production with the agreed-upon tag format? (Plus, it's easy to change them - I did so recently on an update with a non-conformant tag.)

I vote to close for now, and reconsider enforcement if it becomes an issue. (If anyone seconds, please go ahead and close the issue)

thirded (as I think @alancleary's thumb indicates seconding). closing.


Upgrade ballerina version in microgateway to latest

Description
$subject
old version : 1.2.47
new version : 1.2.48
Steps to Reproduce
N/A
Affected Component
APIM
Version
3.2.0
Environment Details (with versions)
No response
Relevant Log Output
No response
Related Issues
No response
Suggested Labels
No response

Fixed in 3.2.x with https://github.com/wso2/product-microgateway/pull/3476/files. Hence closing.


Specifying "-ItemClass "IPM.Appointment"" still produces results that do not match IPM.Appointment

[Enter feedback here]

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

ID: a3e0524b-e92d-eefb-5416-557620edfb39
Version Independent ID: 7afae510-9006-4667-5756-92714f0b08f0
Content: Get-CalendarDiagnosticObjects (ExchangePowerShell)
Content Source: exchange/exchange-ps/exchange/Get-CalendarDiagnosticObjects.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

This is in regards to trying to get a list of recurring meetings for different users. Since there's no way to actually do that directly, I have to use this module. But if I have no way to cut down on results over 1000 (which are most users), then I can't do this at all.

@Ramadel, your best way forward is to open a support case about this. It sounds like a bug.

Already did, and showed them this page.


Keyboard shortcuts

I'm running into this quite a lot, downloading single items or folders one by one. So I was thinking it would be great to have some keyboard shortcuts to help.
They should have a prefix, maybe even configurable, like CTRL, because currently we can navigate large folders with by typing the first letters of folders/files
From the browse windows something like CTRL+D or CTRL-U to open the Download / Upload window and then something like R or CTRL+R if prefix is global to run the job.
As this is basically the only workflow I use, I haven't thought more about it. Maybe someone else has more examples for shortcuts for different workflows.

Definitely will add - should be easy.
Have you thought about using filtering?
--files-from or --include could make transferring multiple files easy.

I would create task with --files-from mylist.txt then just go over files I have to transfer - copy/paste names. save file. and run task

What OS you are on? I have added it already - will send you link to beta version with this feature included.

I also looked into the code Alt-U, Alt-D and Alt-R should work on Windows.. it is another hell:) different OS have different keys

I can test on Windows and Linux :)
Filtering doesn't really work for me, i'm picking movie names, or a some single series episodes.

Here you are latest Windows beta:
https://1drv.ms/u/s!Aq335pidOrBV4II3db1xzFESWcuLvw
Let me know if you spot anything not working. Also any comments are welcomed.

Works great so far! :) Thanks so much.

Could the new queue system also be used for these one off downloads/uploads? Currently i usually start a bunch of them and they all run at the same time, so the bwlimit doesn't really help. If they would run one after the other that would solve this.

Good to hear that so far so good.
The way how queue is designed is that it needs tasks so what you ask can't  work out of the box - well it is software so all could be done but sometimes it is just too much work.
But I can imagine adding button "save and run: (ALT-something ?):). Then we would need task name - e.g. temp_date_time_unique_id. It should not be a big deal to delete all tasks later - tasks list supports multiselect. Or temp_* tasks can be auto deleted on quit unless user changes their name. There are many ways how to skin a cat.
At the moment I am still working on this new release. I rather don't add it before it is out but definitely we can think about solving it later as I can see that it can be useful for many people.

When new version is released - in week or two time - please create new issue. Not now - it would confuse people as stable release does not have queue.

Absolutely :) Thanks for all your hard work.
My idea for a shortcut would be ALT+s, i'd say ALT+q but on MacOS Option+q might be too close to CMD+q :)
Auto clean and/or button to clean temporary tasks sounds like a good idea, like you said with some kind of prefix and generated names.

Would this allow pausing and resuming jobs? I have the slowest internet in the world, and trying to upload just ~10gigs of essential files takes 2+ days. I need to be able to pause the uploading occasionally to reclaim that bandwidth. I know I could just limit the bandwidth, and I do, but a pause and resume feature would be great.

yes. when you run transfer task you can stop it at any time and then start again. It is not pause sensu stricto but rather stop/start rclone. Queue is persistent between applications restarts and only fully finished tasks are removed from it. So you can even turn computer off and then start all again.

if you are on windows try latest beta - link in the first post of #93

This is handy but with many small files it can leads to time wasted since it has to do many checks again on restart, right?

and how not to "waste" this time?

he he maybe pausing the underlying rclone process?

I doubt it is something that can be implemented across all operating systems. And don't see any real practical benefit - very few niche cases would benefit vs a lot of coding and testing. If you have to stop and start the same job again you have to live with small overhead needed to recheck already transferred files. It can be further reduced by using --fast-list on some remotes.

Thanks for quick reply. Im on a mac

Here you are the latest beta for macOS:
https://1drv.ms/u/s!Aq335pidOrBV4IJJ-XhPhrvqr9KEBw
In case you described save your transfers as tasks and add them to the queue. Queue will process them one by one and can be stopped and re-started at any time.

if you notice something not working or have any comments would be great if you let me know.

@csss1234 if you have period of time you don't want your tasks to consume bandwidth you could also use scheduler and --max-duration option,
as per documentation:
--max-duration=TIME
Rclone will stop scheduling new transfers when it has run for the duration specified.
Defaults to off.
When the limit is reached any existing transfers will complete.
Rclone won’t exit with an error if the transfer limit is reached.

so let's say you only want to run your task between 1am and 8am - you schedule it to run daily at 1am and add --max-duration 7h in extra options.


An invalid argument was supplied: listen_no_tls

Discussed in https://github.com/h2oai/wave/discussions/2079

Originally posted by sx8469 July 18, 2023
I just installed h20_wave and when I tried running the app or server, i was hit with this error.
2023/07/18 15:39:27 #
2023/07/18 15:39:27 # ┌────────────────┐ H2O Wave
2023/07/18 15:39:27 # │  ┐┌┐┐┌─┐┌ ┌┌─┐ │ 0.26.1<PHONE_NUMBER>0254
2023/07/18 15:39:27 # │  └┘└┘└─└└─┘└── │ © 2021 H2O.ai, Inc.
2023/07/18 15:39:27 # └────────────────┘
2023/07/18 15:39:27 # ┌──────────────────────────────────────┐
2023/07/18 15:39:27 # │  Running at http://localhost:10101/  │
2023/07/18 15:39:27 # └──────────────────────────────────────┘
2023/07/18 15:39:27 # {"address":":10101","base-url":"/","t":"listen","web-dir":"venv\www"}
2023/07/18 15:39:27 # {"error":"listen tcp :10101: socket: An invalid argument was supplied.","t":"listen_no_tls"}
Can someone please make me understand what is the issue and what can I do, please?
I'm just running the command waved.exe.
My Dependency version:
h2o-wave==0.26.1
Python 3.9.13

Answer: https://github.com/h2oai/wave/discussions/2079#discussioncomment-6478753


Updated debug Workflow

Current dependencies on/for this PR:

main

PR #111

PR #112

PR #113   👈

PR #114

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: vmtcHKsEznLlBvD4q5aU


Fix no space between Deprecated warning and the DocumentationHero

Bug/issue #, if applicable: 91008709
Summary
Fixes the lack of space between the DocumentationHero and any deprecation warnings.

Dependencies
NA
Testing
TinyMixedLanguageLibrary.doccarchive.zip
Use the provided archive to test out this exact scenario, but its also a good idea to test with other archives, to make sure I did not introduce a regression.
Steps:

Go to http://localhost:8080/documentation/tinymixedlanguagelibrary
Assert there is enough space between the Hero and the deprecation notice

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran npm test, and it succeeded
[x] Updated documentation if necessary

@swift-ci test


ProgrammingError raised on empty DB (CMS_RAW_ID_USERS)

Summary
When running django-admin check or django-admin migrate on a fresh database and CMS_RAW_ID_USERS = True in the settings, I get a ProgrammingError. This affects Django 1.11.x and worked fine on Django 1.10.x.
Expected behaviour
django-admin check and django-admin migrate should work.
Actual behaviour
$ django-admin check
Traceback (most recent call last):
  File "django-admin", line 11, in <module>
    sys.exit(execute_from_command_line())
  File "django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "django/core/management/commands/check.py", line 68, in handle
    fail_level=getattr(checks, options['fail_level']),
  File "django/core/management/base.py", line 359, in check
    include_deployment_checks=include_deployment_checks,
  File "django/core/management/base.py", line 346, in _run_checks
    return checks.run_checks(**kwargs)
  File "django/core/checks/registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "django/contrib/admin/checks.py", line 25, in check_admin_app
    errors.extend(site.check(app_configs))
  File "django/contrib/admin/sites.py", line 81, in check
    errors.extend(modeladmin.check())
  File "django/contrib/admin/options.py", line 117, in check
    return self.checks_class().check(self, **kwargs)
  File "django/contrib/admin/checks.py", line 520, in check
    errors = super(ModelAdminChecks, self).check(admin_obj)
  File "django/contrib/admin/checks.py", line 72, in check
    errors.extend(self._check_raw_id_fields(admin_obj))
  File "django/contrib/admin/checks.py", line 90, in _check_raw_id_fields
    if not isinstance(obj.raw_id_fields, (list, tuple)):
  File "cms/utils/helpers.py", line 46, in __get__
    return self.fget(owner_cls)
  File "cms/admin/permissionadmin.py", line 158, in raw_id_fields
    threshold = threshold and get_user_model().objects.count() > threshold
  File "django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "django/db/models/query.py", line 364, in count
    return self.query.get_count(using=self.db)
  File "django/db/models/sql/query.py", line 499, in get_count
    number = obj.get_aggregation(using, ['__count'])['__count']
  File "django/db/models/sql/query.py", line 480, in get_aggregation
    result = compiler.execute_sql(SINGLE)
  File "django/db/models/sql/compiler.py", line 894, in execute_sql
    raise original_exception
django.db.utils.ProgrammingError: relation "auth_user" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "auth_user"

It looks like Django now raises a ProgrammingError and not a OperationalError (which would be catched in cms/admin/permissionadmin.py). Maybe the more generic DatabaseError should be catched instead?
Work-around
Disable CMS_RAW_ID_USERS until the database is initialized.
Environment

Python version: 2.7.12
Django version: 1.11.6
django CMS version: 3.4.5

Thanks for reporting this.
Closing as a duplicate of https://github.com/divio/django-cms/issues/5262


ExplosionEvent should extend Cancellable

All of the sub-events of ExplosionEvent extend Cancellable in some way, shape or form.
It would make sense to declare ExplosionEvent as Cancellable to make it easier to work with if a listener is just listening for the base event.

PR merged


Add WithReplaceServerUrls option

This closes #4 because it allows users to replace the existing values of spec.servers.

After resolving the conflict I would merge it.
My comment regarding the empty comment should not delay the merge


/bin/sh: npm: command not found

I have tried to install ungit through Brackets Ungit but recieved message provided in title, then i installed ungit through terminal, all works fine if use 'ungit' command in terminal, but even after reinstalling extension i still recieving message from header while trying to open ungit from side panel
❯ npm -v
2.13.1
❯ which npm
/usr/local/bin/npm
❯ uname
Darwin
❯ /bin/sh npm
/usr/local/bin/npm: npm: line 2: syntax error near unexpected token ;' /usr/local/bin/npm: npm: line 2: ;(function () { // wrapper in case we're in module_context mode'

The extension just calls npm install in the extension folder because it uses a local installation of Ungit.
If you get an error during the self-installation you can do this step yourself before you open Brackets:

Go to the extension folder
1. In Brackets Help > Show Extensions Folder (and close Brackets)
2. Go to user/hirse.ungit
Run npm install and make sure it finishes and creates the node_modules in that extension folder.

When you say that you can use the ungit command in the terminal, it means that you installed Ungit globally, right? The extension (currently) doesn't look for any global installations.
Are you sure npm is working and is globally available?

Tried your guide, looks like ungit installed succefully, here some warn logs that actoually don't looks like it's really bad
❯ npm install ungit
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.8.x"} (current: {"node":"0.12.4","npm":"2.13.1"})

><EMAIL_ADDRESS>preinstall /Users/user/Library/Application Support/Brackets/extensions/user/hirse.ungit/node_modules/ungit/node_modules/getmac/node_modules/extract-opts/node_modules/typechecker
> node ./cyclic.js

npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.8.x"} (current: {"node":"0.12.4","npm":"2.13.1"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.8.x"} (current: {"node":"0.12.4","npm":"2.13.1"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.8.x"} (current: {"node":"0.12.4","npm":"2.13.1"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.8.x"} (current: {"node":"0.12.4","npm":"2.13.1"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.8.x"} (current: {"node":"0.12.4","npm":"2.13.1"})

node_modules folder created, I've reloaded Brackets, opened ungit from left sidebar and recieved this:

Seems like ungit don't started, here error from Devtools console:
GET http://localhost:8448/ net::ERR_CONNECTION_REFUSED

Yes, those warnings always occur. The ungit dependencies seem to be a bit out of date.
I have had that problem before as well. I am not sure how it happens and I haven't found a good way to detect it in the code.
Try to kill ungit by using Navigate > Stop Ungit and open the viewer again.

Same result, developer console don't give any additional information

I am working on the issue.
Can you open ungit in your browser after you opened it in Brackets?

No, ungit by default address http://localhost:8448 is unreachable, but i still can start ungit from extensions folder

So the whole ungit process is not started by the extension, right?
btw, what OS are you on.
I only have Windows and wasn't able to test on anything else.

Right, I'm using OS X Yosemite 10.10.5. i'll try to check on Ubuntu and report results here.

Thanks for your effort.

Can you apply the latest commit from GitHub and see if that improves the situation?

Installed, still getting same message as in header.

Checked on Ubuntu, untag installed succefully but don't displaying content and looks same as https://github.com/Hirse/brackets-ungit/issues/2#issuecomment-126220408

I just set up my computer again (Update to Windows 10) and got an error myself during the installation of this extension.
The reason is that I did not install node.js (and therefore npm) yet.
Are you sure you have npm installed and globally available?

Yep, npm goes with nodeJS if download from offical website, after installing i've updated node manually and here an output:
❯ which npm
/usr/local/bin/npm

to compare, here an output from Ubuntu:
$ which npm
/usr/bin/npm

I've reinstalled npm using Brew(OS X package manager) and recieved same path.


the text paste doesn't match the format

Environment
SSH
Any other software?

# Steps to reproduce

on an SSH connection, paste the text on the screen tab position incorrectly

# Actual behavior

on an SSH connection, paste the text on the screen tab position incorrectly

I'm going to need more specific information from you to be able to do anything.
What SSH are you running?
What text are you copying?
When you say "incorrectly", what specifically do you mean? Could you share screenshots?
This may be any combination of #2324, #1073, #2275, #1091, but I can't be sure without more information.


use idiomatic full import paths, goimports ordering

I would suggest to use the absolute import paths - I think it would be more Go-idiomatic and would allow to do go get github.com/yahoo/athenz/... at once without having to resort to running make.  It would also allow to browse the API docs in godoc.org and avoid the current error on https://godoc.org/github.com/yahoo/athenz/utils/zms_cli:
The go get command cannot install this package because of the following issues:

Unrecognized import path "../../clients/go/zms" (zms-cli.go:22:2)
Unrecognized import path "../../libs/go/zmscli" (zms-cli.go:23:2)

I also propose to switch to the goimports [1] convention of ordering the imports (in blocks, first stdlib, then third-party ones) to avoid spurious diffs when someone who uses goimports (which is quite popular) would save the source code.
[1] https://godoc.org/golang.org/x/tools/cmd/goimports

hmm... having the code in $GOPATH/src/github.com/yahoo/athenz, I can successfully run mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V

Hi Dimitry. This is on my list of things to be changed. The current setup allows a change in of the shared code and then re-using that same code right away to build the tools. So that's why we're using relative paths for now as oppose to copying source code around as a short term solution. This is also why we don't reference go get support now and instead the zms-cli is available through the bin package. I'm planning an end-to-end example using go with Athenz - should be published in about 2 weeks and as part of that change the plan is to remove the the relative paths and use more standard absolute paths with other checks that we currently do internally. Thanks.

PR #13 addresses the issues raised in this PR. Thanks.


ARROW-7096: [C++] Unified ConcatenateTables APIs

Introduced a UnifySchemasOptions.

Currently the only option is to control whether to promote a Null
column to a non-Null. (If turned off, UnifySchemas will only union the
columns and raise an error on any mismatched types).
We can introduce more switches to control whether to promote
integers, floats, etc (through casting).
We can also allow strategy of metadata merging to be specified.

Introduced a ConcatenateTablesOptions.

Currently the only option is to control whether to unify schemas.

For now PromoteTableToSchema won't accept any options. I'm not sure if
this is desirable. But my vision is to make it do the best effort to
cast the columns to the types specified in the desired schema. It's
the caller's responsibility to make sure the desired schema is "safe"
(or not).

Tests have not been updated fully. Test cases need to be added for UnifySchemas where promote_null == false. The ConcatenateTables test cases and ContenateTablesWithPromotion  test caes may need to be merged (i.e. using the same test fixture).
The python APIs / tests have not been changed.  (do we want to introduce the counter-part of those options class in the python API?)

See https://github.com/apache/arrow/pull/6056 as it is related (and conflicting merge).

incorporated #6056 by @fsaintjacques :

Introduced a Field::MergeOptions to control the behavior of Field::MergeWith().

For now, there is only one option to control whether to promote a Null type to a non-Null type (if false, the two fields must be of the same type).
options to control type casting can be added later here.

the c'tor of SchemaBuilder will take Field::MergeOptions. (only effective with policy MERGE).
Again, ConcatenateTables() and ConcatenateTablesWithPromotion() are unified into one ConcatenateTables that takes a option struct.

One implication that I think needs discussion is: this will lead to PromoteTableToSchema() doing the best effort eventually (i.e. if field 'a' of the target schema is of a type that is "compatible" in any sense (null, wider integer, etc), it will cast / promote without leaving the caller an option to disallow such behavior. Note sure if we need yet another set of switches for PromoteTableToSchema().
Tests are not updated yet. New test cases are needed and will be added once the overall approach is LGTM'ed.


fix: sidecar doesn't work properly for Microsoft ODBC Driver for SQL (#593)

Reason for Change:

Proxy defines expires_in as a "number", while odbc drivers expects "string". Because
of this jdbc drivers are failing to parse retrieved token. A bit more details in this comment.
Internally we have replaced proxy to patched version and java jdbc driver started working
properly.

Requirements

[ ] squashed commits
[ ] included documentation
[ ] added unit tests and e2e tests (if applicable).

Issue Fixed:

Please answer the following questions with yes/no:
Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?

[ ] yes
[x] no

Notes for Reviewers:

Closing this due to inactivity. Feel free to reopen when you get a chance to look at the comments.


⚠ Science Web Services - QState has degraded performance

In 3476569, Science Web Services - QState (https://sws.labbricks.com/qstate/) experienced degraded performance:

HTTP code: 523
Response time: 3199 ms

Resolved: Science Web Services - QState performance has improved in e244b19 after 24 minutes.


Once tiles are placed on a valid pattern line, they are removed from the middle/factory

@maxhausdorf and me got this working in commit https://github.com/sopra-fs22-group-34/server/commit/89708013fd252b0809ad4a78d98574fb41fbfa59


convert register pair move to two single register moves

The code generator handles single register operations a lot better than register pair operations.

Auto-merge toggled on

This pull request introduced a regression:
https://issues.dlang.org/show_bug.cgi?id=15861

Thanks for tracking the regression down.

Always a pleasure :)


Update Content for Pay leave for parents Smart answer

Trello card
Description
This PR update content belonging to the Pay leave for parents Smart answer. The following templates have been updated:

start page
mother_started_working_before_continuity_start_date.govspeak.erb
partner_started_working_before_continuity_start_date.govspeak.erb
mother_earned_at_least_390.govspeak.erb
partner_earned_at_least_390.govspeak.erb
mother_earned_more_than_lower_earnings_limit.govspeak.erb
partner_earned_more_than_lower_earnings_limit.govspeak.erb
mother_salary.govspeak.erb
partner_salary.govspeak.erb
mother_worked_at_least_26_weeks.govspeak.erb
partner_worked_at_least_26_weeks.govspeak.erb
salary_1_66_weeks.govspeak.erb
_mat_allowance.govspeak.erb
_mat_allowance_14_weeks.govspeak.erb
_mat_leave.govspeak.erb

These changes, have been made  to warn users that they should only
use it (i.e information) once per job. ie if they have two jobs, they run the smart answer
once for their first job, and again for their second job.
Factcheck
Preview link
GOV.UK
Expected changes

Content change warning users they should only use it (i.e information) once per job.

Before

After

@ikennaokpala Apart from one comment about the style of the hint, this LGTM. 👍


New command: entra group set. Closes #5479

Closes #5479

Thank you for yet another PR 👍. We will review it ASAP

@milanholemans All requested changes processed.

@milanholemans Thanks for another review. I will double check that all requested changes were processed.


generator: REST

add generator plugin to interface w. REST APIs

uri
params
auth headers
prompt field
output field

generations field

temperature field
rate limit HTTP response code(s)

see pr #295


Open Cypher Query Language (Neo4J)

Neo4j is about to open source their cypher query language: http://www.opencypher.org
Is there some documentation where I can learn how to implement cypher for Cayley?

It seems like the spec is not yet available in their repo. But it would be great to have Cypher implementation.
You may need to learn how iterators and paths works in Cayley. Maybe this video can give you an insights. You can also check how gremlin uses the iterators. Tests may be useful also.

Missed the moment when spec became available. Now we can review it again, I guess.
Repository contains links to all kinds of Cypher grammar definitions, thus parser code could be generated easily.
Regarding actual implementation of queries - this will take some time. Maybe a limited subset of queries can be implemented with a little bit of effort. Will check the spec later to be sure.
I also think we need a vote to determine the priority of this feature.

Moved to the feature request section on the forum: https://discourse.cayley.io/t/implement-cypher-query-language/238

We (Neo Technologie's openCypher group) are hosting the first Cypher implementers meeting in February 2017. Please see
https://groups.google.com/forum/#!topic/opencypher/vCNM4UOXcTY
for details. We would be delighted if someone from cayley graph could attend.

Cypher on Cayley would be awesome!

Requesting to open this ticket again.

Not directly related to OpenChypher, but I made a partial implementation of a Bolt protocol used by Neo4j to support their UI in Cayley: cayleygraph/cayley/neo4j-browser. Once it's done we can try implementing OpenCypher. Note, however, that we don't have enough resources to work on it right now.

Greetings @dennwc
I know its been almost 3 years, but any update on this ? OpenCypher really is much more viable then the current supported languages. Any plans in implementing it soon?


Add option to cancel all children on first raised exception to gather

This adds another optional argument exceptions_cancel_tasks. If set to True the first raised exception (that is not a CancelledError) in a child will cancel any other children.
Closes #238

Hm, I don't think I like this. gather() is getting too many flags this way, and they can't even be combined. I also don't think this is common (I don't recall being asked for this before) and going by the description you gave in #238 there's an easy workaround. Not every three-line function deserves to be enshrined in a library.

I have to say, I am not a big fan of the mutual exclusive flags either. I had another idea to add a force flag to the cancel function of _GatheringFuture or add another function that cancels the remaining children. But this would mean that gather() doesn't return a regular Future instance any more which certainly is overkill for an uncommon problem. In the end, I think you and @asvetlov are correct - there is an easy workaround for this kind of problem.


Incompatibility with Colytra.

When both Colytra and Immersive Portals are present, elytras are unable to open.

post the log


Update root readme for Track 2 Java management libraries

This is the PR to update readme to reflect new management libraries, however we should hold off on merging until the release.
Please review it first to see you have suggestions/comments. Thanks

LGTM. When do you plan to merge the change?

After release?

/azp run

/check-enforcer override


Add hover to buttons in jobs

I want to add hover feature in jobs section.
Please assign this issue to me under gssoc-extd and hacktoberfest.

Hi! I am eager to contribute towards this issue.
I want to add hover feature in jobs section.
Please assign this issue to me under gssoc-extd and hacktoberfest.

give proper description please there is the reason why i have added issue templates