Possible error with flake8 address

I'm using the latest version of atom under Ubuntu 20 LTS. I have installed linter and linter-flake8, and previously installed flake 8 with
pip3 install flake8
When I open a python project, however, Linter crashes and I get the following error.

My understanding is that linter is trying to run "/home/gerardpc/.local/lib/python3.8/site-packages/flake8" as a binary. However, this is actually a folder, the binary being in "/home/gerardpc/.local/bin/flake8".
Is my suspicion correct? And if that is the case, how can I change the path of the executable?

Ok, I just saw that in the settings of linter-flake8 I can specify the path. I changed it to "/home/gerardpc/.local/bin/flake8" (which btw I obtained by running
which flake8
on a terminal) and now everything seems to work fine. To the developers, please check why the default path detected by linter-flake8 is wrong.
Thanks!


Source Request Anime4i

Source name
Anime4i
Source link
Anime4i.com
Source language
English
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a title with source name.
[X] I have checked that the extension does not already exist on the website extensions list or the app.
[X] I have checked that the extension does not already exist by searching the GitHub repository and verified it does not appear in the code base.
[X] I will fill out all of the requested information in this form.

can someone please add this source it's great for donghua even has series that Luciferdonghua and Myanime don't have

can someone please add this source it's great for donghua even has series that Luciferdonghua and Myanime don't have


Provide daemon presence API for UI to use

For user interface we'd like to be able to show whether the daemon is presently connected.
This need not be complicated; simply reporting whether there's a websocket attached for the particular instance is probably enough. It's fine to have this in the client API, even if we don't use it for the command-line client for the minute.

Fixed by #240


cmd/go: install with explicit version should allow overriding versions of dependencies

This issue is based on a discussion with @rsc around https://blog.golang.org/path-security.
Let's say I want to install a command with go install example.com/cmd@latest. I know that the latest version of that command depends on a version of golang.org/x/tools that has a security vulnerability, so I actually want to build example.com/cmd with a different version of golang.org/x/tools where the vulnerability is fixed.
go install example.com/cmd@latest <EMAIL_ADDRESS>
In Go 1.16, this is an error. go install cmd@version requires that all arguments refer to main packages in the same module, at the same version. We could relax this a bit: if an argument refers to non-main packages (perhaps just a module path that's not a package, as above), that argument is used in version selection.
In other words, the above command would do the same thing as:
cd $HOME  # or any directory without go.mod
go get example.com/cmd@latest <EMAIL_ADDRESS>
The rules here should also apply to go run example.com/cmd@version and other commands if/when we support them.
cc @bcmills @matloob

I also worry about package/module ambiguity. The arguments to go get and go install are packages, but go get also allows arguments that are module paths.
Users often try to upgrade dependencies by passing module paths to go get instead of package paths, and that actually mostly works as long as they run something afterward (such as go mod tidy) to populate checksums for transitive dependenices.
But if someone tries to do that with go install, and the module they're trying to upgrade happens to contain another binary at the module root, then the command could inadvertently run afoul of the restriction that main packages come from only one module, and I worry that the resulting error messages would be too confusing.

The story about upgrading past a security vulnerability when building a command doesn't resonate that well. Command authors should be responsible for upgrading quickly; that responsibility shouldn't be on their users.

Consider also that it'd also make it possible for users to make a command vulnerable (accidentally or by being tricked).
Suppose that<EMAIL_ADDRESS>and<EMAIL_ADDRESS>have a vulnerability which is fixed in v1.2.1 and v1.3.1 patch releases. If<EMAIL_ADDRESS>uses<EMAIL_ADDRESS>then go install<EMAIL_ADDRESS><EMAIL_ADDRESS>is problematic despite looking innocuous.
The same problem can happen when authors perform version selection, but this is to support that the responsibility of selecting versions is better suited for authors (fewer, goes through code review, etc.) than users (many, can be copy-pasted from anywhere).

I was pushing for this but based on the discussion it sounds like we should probably not do it.

Withdrawing this issue, reflecting discussion above.


edgesRenderer super slow

I import a obj file and the edges rendere takes ages >30min on an iMac, compared with seconds in three.js

Do you mind using the forum for your question? We try to use issues only for bugs to fix.
Did you try using highlights layer? Or outline rendering? Not sure the edge renderer is the best option if you have a complex mesh.

I will ask the question in the forum and come back when it's a bug

Thanks a lot


HDDS-10772. [Ozone-Streaming] Stream write metric is wrong

What changes were proposed in this pull request?
Not every channel write generated io, but only added to the Buffers object, and in the close channel will be in the Buffers object has not been written to the disk data, the part also need to record metrics.
For the detailed see jira.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10772

Thanks @guohao-rosicky and @szetszwo


Add doc on gradle project properties and cmd line args

Could we put a link to this file from the root README.md?

Addressed here: https://github.com/AzureAD/android-complete/pull/68/commits/c4040d4dd69e5a41922fb90f247d4873a844a004


[Q] Adding custom function

Hi!
I'm trying to add a custom function to graphite as described in the documentation, and after all steps added function not displayed in grafana.
https://graphite.readthedocs.io/en/latest/functions.html#function-plugins
docker-compose.yml:
version: '3.6'

services:
  graphite:
    image: graphiteapp/graphite-statsd
    container_name: graphite
    restart: always
    ports:
      - "80:80"
      - "2003-2004:2003-2004"
      - "2023-2024:2023-2024"
      - "8125:8125/udp"
      - "8126:8126"
    volumes:
      - graphite_data:/opt/graphite/storage
      - ./to_upper.py:/opt/graphite/webapp/graphite/functions/custom/to_upper.py
    networks:
      - dev

  grafana:
    image: grafana/grafana
    container_name: grafana
    restart: always
    depends_on:
      - graphite
    ports:
      - "3000:3000"
    volumes:
      - grafana_data:/var/lib/grafana
    networks:
      - dev

networks:
  dev:
    name: dev
    driver: bridge

volumes:
  grafana_data:
    name: grafana_data

  graphite_data:
    name: graphite_data

to_upper.py:
from graphite.functions.params import Param, ParamTypes

def toUpperCase(requestContext, seriesList):
  """Custom function that changes series names to UPPERCASE"""
  for series in seriesList:
    series.name = series.name.upper()
  return seriesList

toUpperCase.group = 'Custom'
toUpperCase.params = [
  Param('seriesList', ParamTypes.seriesList, required=True),
]

SeriesFunctions = {
  'upper': toUpperCase,
}

As mentioned in the documentation:
Custom plugin files may be placed in the /opt/graphite/webapp/graphite/functions/custom folder and will be loaded automatically when graphite starts.

Should I explicitly adding my function to FUNCTION_PLUGINS?
Thanks.

Hi @rdcm ,
If you open http://localhost/functions?pretty=1 - is it shows your function?

Hi @deniszh
Yes, the list of functions contains following:
  "upper": {
    "description": "Custom function that changes series names to UPPERCASE",
    "function": "upper(seriesList)",
    "group": "Custom",
    "module": "graphite.functions.custom.to_upper",
    "name": "upper",
    "params": [
      {
        "name": "seriesList",
        "required": true,
        "type": "seriesList"
      }
    ]
  },

How can I use it with grafana? In my mind upper() should be listed here:

According to https://grafana.com/blog/2018/01/11/graphite-1.1-teaching-an-old-dog-new-tricks/ Grafana should use exact that API to get list of functions - https://graphite.readthedocs.io/en/1.1.1/functions.html#function-api
Which Graphite version you have defined in Graphite datasource - https://grafana.com/docs/grafana/latest/datasources/graphite/ ?
Should be 1.1.x or exact version, not 1.0.x or 0.9.x

Should be 1.1.x or exact version, not 1.0.x or 0.9.x

Specified 1.1.x version:

Then I can only suggest open issue in Grafana repo - https://github.com/grafana/grafana
because according their docs it should work 🤷

Thanks for the additional info, I need a little bit more time to investigate this.

If you're onusingGraphite 1.7 it might be caused by a bug that should get fixed in Grafana 8: https://github.com/grafana/grafana/pull/32305
If you're using Graphite <1.7 you might be affected by a different bug: https://github.com/grafana/grafana/pull/31680. If your data source was created in Grafana <7.4.0 it might be incorrectly recognised as Graphite 0.9 (with no custom functions support) even when data source config shows 1.1.x. The easiest way to fix it is to change the version of Graphite datasource from 1.1.x to something else and then change it back to 1.1.x.

Right. Looks like I need to carve out time and release 1.1.8, though. Thanks for info, @ifrost !


codehilite: detect languages with funny names

Extend the language regex to match things like 'C#' and 'VB.Net'.

Not technically necessary as the relevant languages have aliases which work, but I suppose we might as well support them all.

Probably should update fenced extension as well...for consistency.


add_noise_to_model includes Ecorr even if -pta flag is different from NANOGrav in timfile

In the notebook [https://github.com/nanograv/pint_pal/blob/main/nb_templates/process_v1.2.ipynb] I'm facing an issue with the function nu.add_noise_to_model: I'm running the noise analysis using the timfile attached, with flags -pta EPTA and -f ciao (dummy variable). Since -pta flag is different from NANOGrav, the ecorr parameter is not included in the noise modelling (only efac and equad). However, while calling nu.add_noise_to_model, it seems that an ecorr parameter must be added when performing non wide-band timing as in my case (I'm attaching the error).
The error should come from lines 414-418 of https://github.com/nanograv/pint_pal/blob/main/src/pint_pal/noise_utils.py#L251 in which:
if not using_wideband:
            ec_comp.add_param(param = ecorr_params[ii], setup = True)
        else:
            dm_comp.add_param(param = dmefac_params[ii])
            dm_comp.add_param(param = dmequad_params[ii], setup = True)

It could solved by adding the case of non-wide-band toas without writing ecorr parameter in the parfile.
toa.tim.txt

Parfile is:
parfile.txt

This probably results from the fact that PINT Pal was originally developed with a narrow focus on the NANOGrav 15-year data set, where we always used ECORR. Some of us have been using it with IPTA data for Early DR3, but in the IPTA work we've been using a very different noise modeling setup that doesn't use nu.add_noise_to_model(), so we haven't needed to adapt that part of the code to non-NANOGrav data before now. I'll see if I can figure out what needs to be changed to fix this.

@FrancescoIraci Have you had a chance to test this since the fix was merged? It's not in the PyPI version yet, and won't be until we release the new version, but you can get the latest changes either by cloning this repository and using pip install . from the top-level pint-pal directory, or by running
pip install git+https://github.com/nanograv/pint_pal.git@main

Hi @rossjjennings, I will probably be able to check that next week. Sorry for the delay

Closing since this should be fixed by #45.


Create test workflow

Also uses new base image to speed up package building

Where are we publishing to PyPI now?


Opening the url in the browser crashes HA due to an openssl issue

System Health details
The system health cannot be provided, because opening the HA url in the browser generates an error.
Checklist

[X] I have enabled debug logging for my installation.
[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of currently previous issues..

Describe the issue
Opening the url reported back by VSCode when running scripts/develop in the dev container will crash HA, with an error message in the browser and on the command line where I started HA (scripts/develop).
Reproduction steps

Clone the repo
Open it in VSCode
Build and open in dev container
Building of the container does not show issues
The postCreateCommand (scripts/setup) also runs fine
Starting HA via scripts/develop seems to be ok
But when opening the HA url in the browser will produce an error (both in the browser and in the command line where the script was started.

In one of the trials I saw an error message that OpenSSL version was incompatible, but I can no longer get it to show.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. pyopenssl 23.0.0 requires cryptography<40,>=38.0.0, but you have cryptography 35.0.0 which is incompatible.
Debug logs
Logs in the console window:
==========================

2023-03-31 16:42:09 DEBUG (MainThread) [asyncio] <Server sockets=(<asyncio.TransportSocket fd=11, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('<IP_ADDRESS>', 8123)>, <asyncio.TransportSocket fd=12, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=6, laddr=('::', 8123, 0, 0)>)> got a new connection from ('<IP_ADDRESS>', 50248): <socket.socket fd=14, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('<IP_ADDRESS>', 8123), raddr=('<IP_ADDRESS>', 50248)>
2023-03-31 16:42:09 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/home/vscode/.local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
    resp = await request_handler(request)
  File "/home/vscode/.local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/home/vscode/.local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/home/vscode/.local/lib/python3.10/site-packages/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
  File "/home/vscode/.local/lib/python3.10/site-packages/homeassistant/components/http/forwarded.py", line 80, in forwarded_middleware
    from hass_nabucasa import (  # pylint: disable=import-outside-toplevel
  File "/home/vscode/.local/lib/python3.10/site-packages/hass_nabucasa/__init__.py", line 15, in <module>
    from .auth import CloudError, CognitoAuth
  File "/home/vscode/.local/lib/python3.10/site-packages/hass_nabucasa/auth.py", line 7, in <module>
    import boto3
  File "/home/vscode/.local/lib/python3.10/site-packages/boto3/__init__.py", line 17, in <module>
    from boto3.session import Session
  File "/home/vscode/.local/lib/python3.10/site-packages/boto3/session.py", line 17, in <module>
    import botocore.session
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/session.py", line 26, in <module>
    import botocore.client
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/client.py", line 15, in <module>
    from botocore import waiter, xform_name
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/waiter.py", line 18, in <module>
    from botocore.docs.docstring import WaiterDocstring
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/__init__.py", line 15, in <module>
    from botocore.docs.service import ServiceDocumenter
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/service.py", line 14, in <module>
    from botocore.docs.client import ClientDocumenter, ClientExceptionsDocumenter
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/client.py", line 17, in <module>
    from botocore.docs.example import ResponseExampleDocumenter
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/example.py", line 13, in <module>
    from botocore.docs.shape import ShapeDocumenter
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/shape.py", line 19, in <module>
    from botocore.utils import is_json_value_header
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/utils.py", line 37, in <module>
    import botocore.httpsession
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/httpsession.py", line 46, in <module>
    from urllib3.contrib.pyopenssl import (
  File "/home/vscode/.local/lib/python3.10/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    import OpenSSL.crypto
  File "/home/vscode/.local/lib/python3.10/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/home/vscode/.local/lib/python3.10/site-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/home/vscode/.local/lib/python3.10/site-packages/OpenSSL/crypto.py", line 3258, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'

Browser response page with the error:
====================================
500 Internal Server Error
Traceback:

Traceback (most recent call last):
  File "/home/vscode/.local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
    resp = await request_handler(request)
  File "/home/vscode/.local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/home/vscode/.local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/home/vscode/.local/lib/python3.10/site-packages/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
  File "/home/vscode/.local/lib/python3.10/site-packages/homeassistant/components/http/forwarded.py", line 80, in forwarded_middleware
    from hass_nabucasa import (  # pylint: disable=import-outside-toplevel
  File "/home/vscode/.local/lib/python3.10/site-packages/hass_nabucasa/__init__.py", line 15, in <module>
    from .auth import CloudError, CognitoAuth
  File "/home/vscode/.local/lib/python3.10/site-packages/hass_nabucasa/auth.py", line 7, in <module>
    import boto3
  File "/home/vscode/.local/lib/python3.10/site-packages/boto3/__init__.py", line 17, in <module>
    from boto3.session import Session
  File "/home/vscode/.local/lib/python3.10/site-packages/boto3/session.py", line 17, in <module>
    import botocore.session
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/session.py", line 26, in <module>
    import botocore.client
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/client.py", line 15, in <module>
    from botocore import waiter, xform_name
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/waiter.py", line 18, in <module>
    from botocore.docs.docstring import WaiterDocstring
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/__init__.py", line 15, in <module>
    from botocore.docs.service import ServiceDocumenter
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/service.py", line 14, in <module>
    from botocore.docs.client import ClientDocumenter, ClientExceptionsDocumenter
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/client.py", line 17, in <module>
    from botocore.docs.example import ResponseExampleDocumenter
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/example.py", line 13, in <module>
    from botocore.docs.shape import ShapeDocumenter
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/docs/shape.py", line 19, in <module>
    from botocore.utils import is_json_value_header
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/utils.py", line 37, in <module>
    import botocore.httpsession
  File "/home/vscode/.local/lib/python3.10/site-packages/botocore/httpsession.py", line 46, in <module>
    from urllib3.contrib.pyopenssl import (
  File "/home/vscode/.local/lib/python3.10/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    import OpenSSL.crypto
  File "/home/vscode/.local/lib/python3.10/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import SSL, crypto
  File "/home/vscode/.local/lib/python3.10/site-packages/OpenSSL/SSL.py", line 19, in <module>
    from OpenSSL.crypto import (
  File "/home/vscode/.local/lib/python3.10/site-packages/OpenSSL/crypto.py", line 3258, in <module>
    utils.deprecated(
TypeError: deprecated() got an unexpected keyword argument 'name'

Diagnostics dump
Again, as I cannot get to the HA UI, I cannot share the diagnostics dump.

By adapting dependencies in requirements.txt for homeassistant (and pip because of the changed ha dependency), I could get the dev container to work properly.
A working requirements.txt:
colorlog==6.7.0
homeassistant==2023.3.6
pip>=21.0,<23.1
ruff==0.0.259

I just made a pull request that happens to have fixed this.
https://github.com/ludeeus/integration_blueprint/pull/97


I'd propose that https://github.com/erikras/react-redux-universal-hot-example/blob/master/src/components/SurveyForm/SurveyForm.js should be split into a container and a dumb form component. The container would connect to the redux-form store and contain the validation and submit functionality. It should only pass its props to the dumb form component. @erikras are you on board with a change like this? If so I could send a PR for that.

I'd love to see that. I think it could be taken a step further and remove the handleSubmit and handleInitialize methods on the Survey component and pass those in as props. It's a little confusing to me what qualifies as a "containers" as what gets placed into the components directory. To me, if it contains jsx that renders into html it should be a component. If this gets approval I would sign up for helping convert other containers/components to stateless functional components where possible.

@webmasterkai What do you mean with going further? What i meant was that everything should be a prop on the Survey component and it should have its own container component which does the connecting to the store. That way the form component would be a stateless component in react 0.14. Or did I misunderstand what you mean?

Ah perfect. I just wasn't sure based on the link to SurveyForm. I'd love to see Survey and SurveyForm turn into functional components. Willing to help anywhere/way possible.

Yeah. We would then have Survey + SurveyContainer and SurveyForm + SurverFormContainer.
SurveyContainer would connect to the redux store
SurveyFormContainer would use the form decorator
I am not 100% sure whether Survey itself has to really be spread out into a container and a dumb component, because there is not much going on except rendering some static data and then the form itself. The benefit here isn't as big I think. But separating SurveyForm from its container gives us a benefit of better testability (in case the component is decorated more than once for example).

I was thinking one container that wraps Survey. Survey consumes the one handleInitialize property and then does something like <SurveyForm {...rest} />.

Something along the lines of https://github.com/webmasterkai/boiler/blob/master/src/containers/Survey/Survey.js for a container. Untested but it shows the idea. (Please ignore comma-dangle, they are required on the project I'm working on.)

@webmasterkai yeah that is nice :+1: - I would change Survey and SurveyForm to pure functions though instead of making them classes now. They have no lifecycle hooks or anything, so there is no point to use a class - what do you think?

Yeah, totally agree 100%. I just didn't get that far in thinking it out.

Ah ok - but great work so far!

Ok, Survey and SurveyForm are now functions. Now I need to figure out how to move the use of <DocumentMeta /> further up the tree. Having it inside a "dumb" template really bothers me. Maybe just calling it as a function before the return would calm my sensibilities. I think ideally I'd like to see it called within the container if possible...

I think <DocumentMeta /> could be defined once in <App /> to render all default values including title like so
<DocumentMeta {...config.app} />
and then in any container that needs to override any of the document meta data properties to use extend prop i.e.:
 <DocumentMeta title={config.app.title + ': Survey'} extend />


Preserve relative ordering in ParsedOptions.arguments(for options:)

Another small bugfix: according to https://github.com/apple/swift/pull/8134, the relative ordering of "-F" and "-Fsystem" search paths needs to be preserved in frontend invocations. Instead of introducing a special case, I just changed the behavior of ParsedOptions.arguments(for options:) since it shouldn't be that expensive to always sort the options and I'm guessing this isn't the only case where it could end up mattering for correctness.

@swift-ci test


Create an Example of IAM Policy Restricting Access to Secrets/Parameters

User Story
As a DevOps Engineer I would like to create an example IAM policy that restricts access to an AWS Secret/Parameter to a user/group/role so that Data Engineering can implement AWS Secrets Manager secret storage strategy more securely.
User Type(s)
Data Engineering and potentially other teams across Data Platform service area.
Value
Common standards across the platform and improved security
Proposal
Ideally, implement this policy in code for an existing secret as an example for the devs to follow.
Definition of done

[ ] Secret identified.
[ ] Policy amended
[ ] another team member has reviewed
[ ] tests are green

Reference
How to write good user stories

Thread for discussion: https://mojdt.slack.com/archives/C04EZAZQV1V/p1678984207038219


[#3758] Improvement(PyGVFS): Support Oauth2 authentication in Python GVFS

What changes were proposed in this pull request?
Support Oauth2 authentication in PyGVFS so that it can interact with the Gravitino server. This is supported in Java GVFS and we should also support it in PyGVFS. This is depended on https://github.com/apache/gravitino/pull/5026 which refactor the Python GVFS.
Why are the changes needed?
Fix: #3758
How was this patch tested?
Add some UTs.

@jerqi would you please help to review this PR?

Could you correct your typo about Oauth? It should be OAuth.


Can't import * as gocardless from 'gocardless-nodejs';

Hi guys, anyone have any idea why i cant import gocardless?
m using new ES6 syntax from NestJS:
import * as gocardless from 'gocardless-nodejs';
But it results in:

@jjholmes927 any ideas?

Found solution for NestJS / ES6 thanks to @mauricedoepke
import { GoCardlessClient } from 'gocardless-nodejs/client';
and instead of calling gocardless(...), instance the client:
    return new GoCardlessClient(
      process.env.GC_ACCESS_TOKEN,
      constants.Environments.Sandbox,
    );

Awesome, Glad you got it resolved! I'll close this @matteusbarbosa 👍


Settings - user uploaded photo persists in db

Also change navbar to use this photo

Closed by https://github.com/covid19risk/permission-portal/pull/169


Drop ClassAd functions and fix view package requirements

We can fully drop the ClassAd functions and merge the upstream spec changes since we're only making security updates to OSG 3.2, which was holding us back due to its old version of HTCondor.

Hum... even if the builds fail, travis ci still shows up green.  That should be fixed!

I opened a pull request to fix the docker test #67

@djw8605: looks like it successfully succeeded this time around!


Check if Database is in UTF8

In primitiveToString() please check if the content is already in utf8 before calling utf8_encode().
When using Postgres data is already in utf8 and this utf8_encode break special characters like umlaut.

just sorting out a few things with the test setup (you got your own app setup in regression tests) but we can get on this in the near future.
I am thinking about using mb_detect_encoding instead of checking the database, thoughts?

@bgoak , since @c-harris and I have re-arranged the IronicSerialiser somewhat since your initial report, could you supply a string that's being mangled (such as one with an umlaut)?
From your report, that should be passed through unchanged - if not, could you also supply what it should be processed into?

For example a typical german name like Müller, this should be passed unchanged.
So when mb_detect_encoding detects a string in utf8 (or ascii) it should just skip the encode.

Sweet, thanks for that.  Now to pry some of these hands off my time.

@bgoak , can you try #212 and see if it solves your reported problem?

This issue is simple and well-characterised, so I'm closing it as fixed.


Remove fast_finish flag

It has been confirmed that the fast_finish flag is responsible for triggering multiple build notifications on #zftalk.dev.

@weierophinney, @Ocramius  do you confirm this behaviour?

No clue: I don't watch IRC build notifications
On 5 Dec 2016 3:32 p.m., "Enrico Zimuel"<EMAIL_ADDRESS>wrote:

@weierophinney https://github.com/weierophinney, @Ocramius
https://github.com/Ocramius do you confirm this behaviour?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zendframework/zend-crypt/pull/35#issuecomment-264868522,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJakLyt9c1MSzXWaeWRomaPSjQYflINks5rFCCTgaJpZM4J-TzA
.

I just leave this here:
http://imgur.com/nfbSyXE
https://github.com/travis-ci/travis-ci/issues/1696
Wanted to avoid linking that issue in every PR so their issue log doesn't look as messy

@Koopzington ok, I see the issue is still opened since 2013. That means we cannot use fast_finish anymore :(


fix: awaitable resources start time comparison

Fixed a bug in awaitable resources that caused some events to be skipped because time with different precision were wrongly compared

Codecov Report
Base: 67.92% // Head: 67.78% // Decreases project coverage by -0.14% :warning:

Coverage data is based on head (3d0500d) compared to base (88e6f72).
Patch coverage: 57.14% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #60      +/-   ##
==========================================
- Coverage   67.92%   67.78%   -0.15%
==========================================
  Files          10       10
  Lines        1400     1403       +3
==========================================
  Hits          951      951
- Misses        354      356       +2
- Partials       95       96       +1

Impacted Files
Coverage Δ

pkg/deploy/apply.go
65.65% <57.14%> (-0.51%)
:arrow_down:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


feat: Add 'expo' and 'gradle' folders

What does this PR add to the project?
This commit adds two new folders to the extension: the expo and gradle folders.
The Figma file with the new folders can be found by clicking here.
Print with the icons working

Sure! I'll update it and upload it again.

Much better, thank you!

Good afternoon miguelsolorio, how are you?
I would like to know, if it weren't too much trouble, how often the project is updated. I really like this extension and I am very interested in joining as a contributor to the project!


Adding Workday GPT Actions Library

Adding Workday GPT in the workday Library – main & lead contribution from Erick for the content of the cookbook.

Something seems to be up with the author profile for Erick. Image isn't appearing and the hyperlink is broken. Other than that it looks good to me!


"Could not call remote function 'getPath'."

Hello,
I don't know if this is a bug, maybe more like a tech support request. Yesterday, I downloaded GBStudio for Windows 64-bit, no installer, and ran it for the first time. After that, I altered the registry on Windows 10 to change my user folder name, using a different admin account.  I get it's because the program can't find the Documents folder, maybe it's trying to look where it was before. Is there any way I can solve it without renaming back the folder? Thanks.

Try clearing your temp folders, might be gbstudio cache related, usually %appdata% in the windows bar will get you close to it, but can't remember where the data is stored.
You could also try a dev build from the bototm of the github readme page.


ci: adds deploy to testnet environment

We've recently created a cuiloa deployment in the "testnet" environment, so let's ensure both deployments are updated on merges into cuiloa main.

awesome 🎉


Update google-auth-library-credentials to 1.27.0

About this PR
📦 Updates com.google.auth:google-auth-library-credentials from 1.8.1 to 1.27.0
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.auth", artifactId = "google-auth-library-credentials" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.auth", artifactId = "google-auth-library-credentials" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #392.


Encode path params after applying

I found a situation today where we have params which we want to record unencoded to opentelemetry attributes but results in a path which is not URI encoded. This update will encode the path after application to the template so that the params don't need to be encoded by the user.

Perfect, that is settled then. Until next time! :D

@wojtekmach would you mind cutting a release? I have to ship some internal packages to hex that are dependent on this fix. It would be much appreciated!


Override colors and brands value is not working

bootstrap-styled
There is a problem with changing theme variables at same time, changing these two variables not working:
{
  '$brand-danger': 'green',
  '$green': '#FFF',
}

Issue Type

[ ] Bug

Steps to reproduce

Import BootstrapProvider to _app.js
Inject theme custom config to this provider:

<Provider store={store}>
  <BootstrapProvider theme={myTheme}>
          <ResetStyledComponent />
          <Component {...pageProps} />
  </BootstrapProvider>
</Provider>

Add the following config object to myTheme:

const myTheme = {
  '$brand-danger': 'green',
  '$green': '#FFF'
};

Add Button component to app
<Button color={'danger'}>Click</Button>

Run the app

Expected
It should change color of danger buttons to white, but there is green color still there.
Tested Things
I've test it with makeTheme function but the problem still exists:
const makedTheme = makeTheme(myTheme);
  <BootstrapProvider theme={makedTheme}>
          <ResetStyledComponent />
          <Component {...pageProps} />
  </BootstrapProvider>

Suggestions
I think the problem is because of '$brand-danger': 'green' config in theme object that changes v['green'] to just 'green', so changing '$green' after that not working.
So if we could set '$brand-danger' to $green or v['green'] maybe this problem would be resolved.
Versions

Node/NPM: v13.0.1/6.12.0
OS: Windows 10
bootstrap-styled: 2.7.2

Hi and thanks for using bootstrap-styled, looking at your configuration:
const myTheme = {
  '$brand-danger': 'green',
  '$green': '#FFF'
};

This explicitly state that $brand-danger value is green.
If you want to process your theme using the bootstrap v4 logic, you must read the logic provided by our makeTheme to understand what values will be set in your theme.
If you do not want to use bootstrap 4 logic, I would recommend you not to use our makeTheme, which is by default called in <BootstrapProvider />.
Iinstead, use theme and override your values one by one (you will lose all the logic of the makeTheme) and use the <ThemeProvider /> from styled-components instead.
You have the full control on the theme at all point.
If you feel that this doesn't cover your problem or that it doesn't answer the question, feel free to reply and add more details to your question.

@kopax Hi and thank you for your answer, I want to use bootstrap v4 logic with your package, and I need to change $brand-danger to another variable (like $green) and change $green to some green color (like #0f0).
So how can do it with makeTheme?
I need something like this:
const theme = {
  '$green': '#0F0',
  '$brand-danger': '$green',
}

Could you please help me with this makeThme method? Kind of it's not well documented.
And I did it so far but nothing happens:
const myTheme = makeTheme(v => {
  v['$green'] = '#0F0';
  v['$brand-danger'] = v['$green'];
  return v;
});

You need to understand the logic behind it. You can't passe variable name on the right side of your theme object. You can only pass values. (That's why it work when you assign a value first and read from that  variable).
The makeTheme can compute for your most of the variable with bootstrap 4 logic of variable computation. If you need another logic you need to write your own makeTheme.
If you want the bootstrap 4 logic. Then you must read what's a ternary operator and see the order of variable assignation in the makeTheme in order to leverage the computation for the right variable at the right moment.
From what I see you need to get some basic js knowledge to understand it, such as how work ternary operator.


Add history to deposit details page

See the "History" section at the bottom of the page: https://projects.invisionapp.com/share/EQXC9CLKCR2#/screens/420930436
This data is persisted as Work#events.

Could use prioritization, @amyehodge. Can chat if helpful, as always.


Deleting a Helm-based operator CR doesn't guarantee all it's associated resources are deleted

Bug Report
What did you do?
Sometimes (very rarely but it does happen) after I delete a Helm-based CR, there are resources that are left behind.
The CR is now gone, when it should probably remain because there are still remaining resources.
An example:
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
operator-sdk new nginx-ingress-operator --type=helm --helm-chart=stable/nginx-ingress
cd nginx-ingress-operator
kubectl apply -f deploy/crds/helm.operator-sdk_nginxingresses_crd.yaml
kubectl apply -f deploy/crds/helm.operator-sdk_v1alpha1_nginxingress_cr.yaml
operator-sdk run --local

In a separate terminal
kubectl edit deployment example-nginxingress-nginx-ingress-controller
# add a finalizer like
# finalizers:
# - abc.com/def
kubectl delete nginxingress/example-nginxingress

Now nginxingress/example-nginxingress is deleted but when I run
$ kubectl get deployments
NAME                                            READY   UP-TO-DATE   AVAILABLE   AGE
example-nginxingress-nginx-ingress-controller   1/1     1            1           3m30s

There are still a resource left behind.
What did you expect to see?
I am hoping that the CR nginxingress/example-nginxingress remains because not all the resources are deleted.
What did you see instead? Under which circumstances?
After a delete, very rarely I see some resources are left behind. Manually adding the finalizers in the reproduction step above is just to illustrate the point.
I think there was something "busy" with the Kubernetes server and it failed to properly process the delete (or issue the delete)
Environment

operator-sdk version:

operator-sdk version: "v0.19.0", commit: "8e28aca60994c5cb1aec0251b85f0116cc4c9427", kubernetes version: "v1.18.2", go version: "go1.13.10 linux/amd64"

go version:

go version go1.14.2 linux/amd64

Kubernetes version information:

kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:56:40Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.4", GitCommit:"224be7bdce5a9dd0c2fd0d46b83865648e2fe0ba", GitTreeState:"clean", BuildDate:"2020-01-14T01:25:43Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:

kind create cluster --image kindest/node:v1.16.4

Are you writing your operator in ansible, helm, or go?

helm
Possible Solution
The stripping of the CR finalizer happens in here https://github.com/operator-framework/operator-sdk/blob/v0.19.0/pkg/helm/controller/reconcile.go#L138
Is it possible to double check all the resources are in fact deleted before removing the finalizer?
Additional context
NA

Hi @mikeshng,
I am no sure if I understood your scenario. Are you adding a finalizer to the kubectl edit deployment example-nginxingress-nginx-ingress-controller? But the operator reconciles the CR's. For example: if in your example you run kubectl edit  NginxIngress example-nginxingress you will find the following finalizer which is managed by the line point out.
  finalizers:
  - uninstall-helm-release

Could you please let us know what problem you are trying to solve and how?

Hi @camilamacedo86
It's hard to reproduce the issue, so I manually added the finalizer to show that its possible to have the CR deleted and still have dangling resources left behind. I am wondering if it's possible to improve the usability a bit. Currently, for the Helm-based operator CR, if the uninstall didn't cleanup everything and the CR is now deleted. It's hard to find out that the uninstall didn't complete successfully besides looking at the log.
Looking at the helm and operator-sdk code, I think this is what I am seeing:
https://github.com/helm/helm/blob/v3.2.4/pkg/action/uninstall.go#L112-L137
For kept, errs := u.deleteRelease(rel) even if errs is not nil (maybe some resources were not deleted),
it will still call purgeReleases and return with the message uninstallation completed with %d error(s)
then
https://github.com/operator-framework/operator-sdk/blob/v0.19.0/pkg/helm/controller/reconcile.go#L105-L120
manager.UninstallRelease(context.TODO()) will return an error and the operator will set the uninstall error status.
But then almost immediately, it reconciles and come back to the same function call and this time it will return driver.ErrReleaseNotFound error which proceed to removing the finalizer and the CR is now gone.

@mikeshng Yeah I see what's happening here. Basically helm is purging the release state which convinces the helm-operator that everything has been cleaned up.
It seems like we need an option in Helm like KeepHistoryIfError or something semantically equivalent.

/remove-lifecycle stale
I have a PR for this and its marked for the v2.0.0 milestone

/remove-lifecycle stale
I have a PR for this and its marked for the v2.0.0 milestone


Use the GraphQL-Ruby runtime introduced with 1.9

GraphQL-Ruby 1.9 introduced a new runtime offering "better performance and some new features". We should evaluate it and maybe start using it.

@mdesantis it looks like we are now on graphql-ruby 1.9.3 :)


Refresh bindings after setting are saved

Summary
Follow up on https://github.com/mattermost/mattermost-plugin-apps/pull/372
Ticket Link
https://mattermost.atlassian.net/browse/MM-47950

Codecov Report
Base: 21.72% // Head: 21.72% // No change to project coverage :thumbsup:

Coverage data is based on head (7303d60) compared to base (af14625).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #407   +/-   ##
=======================================
  Coverage   21.72%   21.72%
=======================================
  Files          81       81
  Lines        5243     5243
=======================================
  Hits         1139     1139
  Misses       3975     3975
  Partials      129      129

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


String column with first row as number fails to load

if the first value in the column looks like a number, it fails to load. so -100 is invalid, but +100 is correctly treated like a string
Repro
I have the following table:
<DataTable data={filtered_future_games} rows=15 link=game_link>
  <Column id=date/>
  <Column id=T title=" "/>
  <Column id=visitor/>
  <Column id=home/>
  <Column id=home_win_pct1 title="Win % (Home)"/>
  <Column id=american_odds align=right title="Odds (Home)"/>
  <Column id=implied_line_num1 title="Line (Home)"/>
  <Column id=predicted_score title="Score"/>
</DataTable>

It renders like this:

Notes on slack: https://evidencedev.slack.com/archives/C023LRB9Z40/p1703969056675849

Can't reproduce


Create Jazzcash

Welcome to jazzcash
:exclamation: Please review the guidelines for contributing
Description
Please describe your pull request.
Reference issue it fixes.

Say my name


[Q] blur background when modal is active

Current behavior is that the background is darken-ed when modal is visible. I would like to blur the background instead, how can I achieve this? Thanks!

Hi @garan82 , I'm sorry but it is not possible right now. 😞
To achieve the blur effect we would need something like react-native-blur, which being a native module would cause a lot of trouble in its implementation.

Doesn't work shouldn't be closed: https://github.com/react-native-community/react-native-modal/issues/445


Ensuring gradient flow from flax neural network output to synthax synth parameters

Hello, synthax team!
I'm working on a project where I use synthax to generate audio based on parameters predicted by a neural network (NN) using flax. The NN predicts a set of parameters that should be passed into the synth using jax.jit(synth.apply)(params) to create audio.
However, I've encountered a challenge regarding the gradient flow from the network predictions to the synthax synthesizer parameters. The goal is to backpropagate through the synthesizer's parameter updates to optimize the NN's predictions. To achieve this, I'm attempting to maintain the gradient information from the NN's output as it's transformed and applied to the synthesizer.
My primary concern is ensuring that the transformation process from the output of the NN to the FrozenDict maintains the gradient information so that the NN can be effectively trained based on the audio output.
Could you provide guidance or best practices on how to ensure that the gradient flow is preserved during this transformation process? Specifically, I'm looking for advice on how to structure this transformation in a way that is compatible with JAX's automatic differentiation, ensuring that gradients can propagate back through the parameter transformation step to the NN. I see that the structure of flax networks and the synths in synthax are similar so I think I am missing something.
Any insights or recommendations would be greatly appreciated.
Thank you!
Jofre

Hi @jofrevalles,
Thanks for your comment! If I understand correctly, you're working on transforming the output from a model (an array of shape (batch_size, params)) into the parameter dict, to drive a Synthax synthesizer? If so, here's a very quick toy example. Let us know if you already considered something like this:
import jax
import jax.flatten_util
import jax.numpy as jnp
import flax.linen as nn
from synthax.config import SynthConfig
from synthax.synth import Voice

batch_size = 16
n_features = 300

class SimpleMLP(nn.Module):
    features: int

    @nn.compact
    def __call__(self, x):
        x = nn.Dense(features=self.features)(x)
        x = nn.relu(x)
        x = nn.Dense(features=78)(x)
        return x

config = SynthConfig(
    batch_size=batch_size,
    sample_rate=44100,
    buffer_size_seconds=4.0
)

# Instantiate and initialize synthesizer
synth = Voice(config=config)
synth_apply = jax.jit(synth.apply)
key = jax.random.PRNGKey(42)
init_params = synth.init(key)

# Get n_params for ravel/unravel
init_params = jax.tree_util.tree_map(lambda x : x[0], init_params)
_, unravel_pytree = jax.flatten_util.ravel_pytree(init_params)

# vmap for batch dimension
unravel_pytree = jax.vmap(unravel_pytree)

# Instantiate MLP
mlp = SimpleMLP(features=n_features)
mlp_params = mlp.init(key, jnp.ones((batch_size, n_features)))
mlp_apply = jax.jit(mlp.apply)

# Predict params and synthesize
def predict_params_and_synthesize(x):
    params = mlp_apply(mlp_params, x)
    params = nn.sigmoid(params) # Sigmoid to ensure params are in [0, 1]
    params = unravel_pytree(params)
    return synth_apply(params)

control_input = jax.random.normal(
    jax.random.split(key)[0],
    (batch_size, n_features)
)

audio = predict_params_and_synthesize(control_input)

It's worth noting that the gradients from an architecture like Voice with respect to the parameters can be very unstable and difficult to optimize. For example, in our ctag project, we used LES as an optimizer with this architecture.

Thank you so much for the quick answer, @nikhilsinghmus!
I did not know about this jax.flatten_util.ravel_pytree notation, this makes a lot of sense! Sorry, I am still not completely familiar with the jax notation. This example is perfect for what I am looking for.
On a side note, I am trying this inspired from your ctag project, which I found very interesting.
Thank you for the example and the tips! I am closing the issue.


tla-toolbox: 1.7.0 -> 1.7.1

Motivation for this change

updates package version
fixes #114741, by updating gtk2 to gtk3
fixes TLC model check call

Things done

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

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

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

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 115917 run on x86_64-linux 1

1 package built:

tlaplusToolbox

The following issues got detected with the above build packages.
Please fix at least the ones listed with your changed packages:

tlaplusToolbox:

warning: maintainers-missing
Package does not have a maintainer. Consider adding yourself?
Near pkgs/applications/science/logic/tlaplus/toolbox.nix:79:5:
   |
79 |     maintainers = [ ];
   |     ^

See: https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/maintainers-missing.md

@SuperSandro2000 Thank you for the review, I have applied the suggested changes and retested the application.
If this is ok now and gets merged, please also close #115663 .


No index.html file included

No index.html file included.
Detailed steps for using the plugin in index.html is missing.
Its very confusing and not clear how exactly to use the plugin.
A sample html file or app should have been present.

Refer this sample code for ionic 3 https://github.com/PrithiviRajG/Ionic-3-Native-Date-Picker-example


encoding/xml: cannot marshal self-closing tag

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.8.3 darwin/amd64
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/xxx/.go:/Users/xxx/workspace/goproject"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.8.3/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.8.3/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/53/r61bh2fj1hg9n0w03fs__7kc0000gn/T/go-build440341166=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
What did you do?
I want to marshal a xml struct which has a self-closing tag field. After looking up in golang doc, there isn't an official support. In google group they use string.Replace, it's ugly. It seems we could write marshal func for the custom struct, by i'm willing to see an official support like
	type Person struct {
		XMLName   xml.Name `xml:"person"`
		Id        int      `xml:"id,attr"`
		FirstName string   `xml:"name>first"`
		LastName  string   `xml:"name>last"`
		Age       int      `xml:"age"`
		Height    float32  `xml:"height,omitempty"`
		Married   bool
		Address
		Comment string `xml:",comment"`
		Balabala string `xml:"balabala,allowempty"`  // i want something like this
	}

In xml standard, a self-closing tag is permitted.
https://www.w3.org/TR/REC-xml/#dt-empty
And empty-element tag should be used, and should only be used, for elements which are declared EMPTY.
https://www.w3.org/TR/REC-xml/#d0e2480

I like this idea; though i suspect the community will have to agree on it (and also the naming of the tag)
However, I whipped up a quick implementation at https://go-review.googlesource.com/59830 .
I'll polish it up and add tests if this proposal actually goes through.

CC @rsc XML suggestion.

Change https://golang.org/cl/59830 mentions this issue: encoding/xml: add 'allowempty' tag for self-closing XML tags

The proposed patch only works for marshaling structs. What if we're using the EncodeToken method and write a StartElement immediately followed by its corresponding EndElement? If this ends up being desired and it were an option on the Encoder instead it would work in both places (although it would be global for all tags, not local to specific struct fields, but that seems more desriable to me).

We still need the ability to output non-selfclosing pairs of tags. The idea is to give the user the option to make certain fields self closing, not to do that for all fields.

Oh, I see, you're suggesting this be global. Hm. I don't really like the idea of making this a global change, but we could also make it an option on the marshaler.

I don't really like the idea of making this a global change

Is there a benefit to only doing this for some elements and not for others?

For the same reason this bug exists in the first place; not all XML parsers handle this correctly and I wanted maximum flexibility.
I'm fine with doing it the other way though.

not all XML parsers handle this correctly and I wanted maximum flexibility

If a parser did not handle this you couldn't mix the two anyways, you'd just have to turn it on or off entirely to make sure that parser would work.
In case there's confusion, I'm not suggesting that we always do self-closing tags or non-self-closing tags, but that an individual encoder should be configurable to do one or the other.

fair. I'll change the patches. Should/can I tag you for review?

fair. I'll change the patches. Should/can I tag you for review?

I don't have +2 permissions, but I'm happy to run trybots and provide feedback.

Can we expect this to be implemented in Go 1.10?
Currently we have a Go library, that needs to communicate with a remote API endpoint, which can only understand empty XML elements with self-closing tags.
With the current implementation of XML package we are not able to use Go in order to communicate with that API endpoint. I realize that this is an issue of the remote side by not supporting both ways of specifying empty elements, but having the option to define how empty elements are defined in Go structs would be very useful and would allow us to overcome such edge cases.
Thanks,
Marin

Sorry, but we're not going to get to this for Go 1.10.

The current behaviour of documented tag "omitempty" allows the following workaround.
AllowEmpty string `xml:"allowempty>doesnotmatter,omitempty"'
will be marshalled as
<allowempty></allowempty>

@iWdGo how does this solve the original question?
The desire is to produce either
<tag /> or <tag>notempty</tag>. Not <tag></tag>.

The answer was focused on the suggested additional tag. A medium fix is required to use self-closing tags. If implemented, it would not be optional without breaking Go 1 promise. #9519 and #8167 have the same constraint.

Any news on this?

This is a good idea since I'm running into the same issue.

This is a good idea since I'm running into the same issue.

Any news?

Any news?

No more news?

 I've just updated golang and my old application now produces invalid output because encoding/xml library no longer outputs self-closing tags. FFS, at least add an option if you break compatibility.

I'm just running into this problem myself. I'd be interested in a fix too.
Side-note: This should probably be NeedsInvestigation or NeedsDecision, not NeedsFix.
@Manishearth

A potential middle ground is to make the field only affect marshalling structs, and for EncodeToken add a new SelfClosing token variant so the caller can deal with it.

To be clear, this token would only be accepted by EncodeToken, not being created by (*Decoder).Token, correct? Because otherwise, this would probably break consumers using that API, who type-switch over the returned tokens. Though we could add an option to *Decoder to generate them.
An alternative might be to add an Attr []Attr field to EndElement, as that's what a self-closing tag syntactically is. The restriction would be the same, that the *Decoder continues to synthesize StartElement/EndElement pairs, but EncodeToken could accept them. This seems nicer than adding a new token type, but it's probably less compatible.
Personally, I consider it more important to support the low-level (i.e. EncodeToken) use-case, than support he high-level (i.e. EncodeElement) use-case. It is always possible to drop to a lower level, but not vice-versa. I'm not opposed to solve it for EncodeElement as well, though.

To be clear, this token would only be accepted by EncodeToken, not being created by (*Decoder).Token, correct?

Yeah.

@jybp we use this
func forceSelfClosingTags(b []byte) []byte {

	emptyTagIdxs := regexp.MustCompile(`<(\w+)></\w+>`).FindAllSubmatchIndex(b, -1)

	var nb []byte

	for _, idx := range emptyTagIdxs {
		// get everything in b up till the first of the submatch indexes (this is the start of an
		// "empty" <thing></thing> tag), then get the name of the tag and put it in a self-closing
		// tag.
		nb = append(b[0:idx[0]], fmt.Sprintf("<%s/>", b[idx[2]:idx[3]])...) //nolint: gocritic

		// finally, append everything *after* the submatch indexes
		nb = append(nb, b[len(b)-(len(b)-idx[1]):]...)
	}

	return nb
}

I have been looking for this since I started writing Go and my original issue https://github.com/golang/go/issues/6896 and still running into this.
In my particular use case a self-closing is being used (probably improperly by the API) to be a bool.  If it exists then we get a "true" if it's missing we get a "false".   There is a second use case where self-closed tags are used as variables, but there are ok workarounds for that.
It seems a custom type would be needed to follow the proposals "allowempty" proposal to be used a extant  bool, but there are at least workarounds.
Given a "RawXML" token type we could have a proper workaround.  https://github.com/golang/go/issues/26756

Do this
import (
	"regexp"
)

func SelfClosing(xml []byte) ([]byte, error) {
	regex, err := regexp.Compile(`></[A-Za-z0-9_]+>`)
	return regex.ReplaceAll(xml, []byte("/>")), err
}

@StEvUgnIn Pretty much eliminates stream mode and has overhead with regexp matching.

It's also not correct - it would, for example, also apply the replacement in comments.

Do this
import (
	"regexp"
)

func SelfClosing(xml []byte) ([]byte, error) {
	regex, err := regexp.Compile(`></[A-Za-z0-9_]+>`)
	return regex.ReplaceAll(xml, []byte("/>")), err
}

the following case not work:
<student><name>xxx</name></student>

the ></student> also match the regex rule, but it's wrong

the repo seems fine: https://github.com/ECUST-XX/xml/tree/master
however, why the offical doesnot support this feature? what's the key point?

@ttys3 thanks!

See #69273 for a concrete proposal.


Getting error while Pod Install: None of your spec sources contain a spec satisfying the dependency: Mixpanel-swift (= 2.9.3).

[!] CocoaPods could not find compatible versions for pod "Mixpanel-swift":
In Podfile:
MixpanelReactNative (from ../node_modules/mixpanel-react-native) was resolved to 1.2.2, which depends on
Mixpanel-swift (= 2.9.3)
None of your spec sources contain a spec satisfying the dependency: Mixpanel-swift (= 2.9.3).
You have either:

out-of-date source repos which you can update with pod repo update or with pod install --repo-update.
mistyped the name or version.
not added the source repo that hosts the Podspec to your Podfile.

hi @rohitatcoffee , your cocoa repo is out of date. If you run pod repo update or pod install --repo-update, that should be able to fix it.


Help me

Hellow bro,
after I run
└──╼ $bash run.sh
Moriarty Project Remastered V4.1.1
Github:https://github.com/AzizKpln/Moriarty-Project
Linkedin:https://www.linkedin.com/in/aziz-k-074604170/
Project is currently running. If your browser not showing up,
Please go to this link: http://192.168.1.X:8080
Press CTRL+C to kill the webserver.

me too

same

yes, what to do next


Fix .Net Core unit tests

Fixes the issue of js tests not being discovered/executed on .Net Core projects using Visual Studio's Test Explorer.
Also, adds Jest support to .Net Core JS unit tests.

            throw new InvalidOperationException($"Called from unexepected assembly: '{currentAssembly.FullName}'.");

At some point, we should review these and add telemetry.

Refers to: Nodejs/Product/Nodejs/TestFrameworks/TestFrameworkDirectories.cs:82 in 1a3cb0e. [](commit_id = 1a3cb0e07644535153629d7afbd3e6d8be889fe4, deletion_comment = False)

I agree on the telemetry. Actually, I think we should invest some time to analyze, identify important telemetry and implement it.


Frontend

First things first, update the frontend branch to the latest commits from the main branch before you anything.


Support for formParam

From<EMAIL_ADDRESS>on June 16, 2011 10:22:41
For example to support form params in put
Original issue: http://code.google.com/p/rest-assured/issues/detail?id=75

From<EMAIL_ADDRESS>on June 21, 2011 11:17:00
Status: Fixed


Add external repo for bitbucket.org/creachadair/stringset. [phab:D1014]

Created by fromberger at 2016-08-16 22:30:42:

shahms accepted this revision at 2016-08-16 22:32:26

fromberger closed via commit 8c68a6979e36a3824b5dd17dcad9f6c7d917842a at 2016-08-16 22:41:22


Intellisense when having multiple package.json

Hey guys!
I'm having some problem using Intellisense when having more inner package.json working as small libraries inside our code.
I currently have a medium structure with a few package.json files nested in some folders which make nodejs treat them as small libraries...
Before I was using relative path, and VSCode had no problem finding them and providing Intellisense for the structure. But now, with a few package.json files inside, this completions had just disappeared and nothing that I had added to jsconfig.json seems to take effect.
Part of the structure:
src
|-----components
|          |----ComponentA.js
|          |----ComponentB.js
|          |----ComponentC.js
|          |----ComponentD.js
|          |----package.json
|          |----components.include.js
|
|-----styles
|          |----StyleA.js
|          |----StyleB.js
|          |----package.json
|          |----styles.include.js
|
|-----api
|          |----ApiA.js
|          |----ApiB.js
|          |----package.json
|          |----apis.include.js

each package.json file contains:
{
    "name": "components",
    "version": "1.0.0",
    "main": "components.include.js"
}

X.includes.js files contains inclusion for all inner files in that directory and subdirectories
I'm not able anymore to see JSDoc or any completion when importing through the package instead of the relative path(horrible idea).
Relative Path:

Using Package.json:

that's the big deal! :D

Guys!
I've just have figured out the problem!
VS Seems no to regard the section ("main": "X.include.js")....
Is that a bug?

When I specifically add the file to be included, it works like a charm!
Any Suggestions? :D
Thanks a million


SessionCache documentation enhanced; config keys moved to Constants class

continuation of https://github.com/azkaban/azkaban/pull/1608:
documentation of SessionCache enhanced; session TTL config key moved to Constants
@HappyRay

Could you add to your PR description how you tested this change?
Otherwise LGTM. Thanks!

New: I have added test for SessionCache hits/misses. Rebased on the latest master. Fixed some more doc/typos found in the process.

Thanks for adding unit tests!
Left one comment. Otherwise LGTM.

Thanks for the update.
Could you submit new commits with a description about each commit? This will help reviewers see the changes better and allow the whole change history to be preserved.
We will rebase for you when the PR is merged.
Make sure you keep the PR description updated. We will use that as the final commit message.

@mtrna sorry about the delay in getting back to you. I have been very busy with other tasks.
Your change LGTM. I will try to merge it now.
I am curious why you decided to close this PR.

Unfortunately, there is a merge conflict now.
@mtrna are you interested in resolving the conflict? I will try to merge it as soon as you update this PR.

cc @ameyamk

Hi @HappyRay @ameyamk ! No problem about the delay. I have re-based the MR. It should be conflict free now. ;)


feat: provide functions to build a HashMap from a List of key-value pairs

As a motivation, programming languages that implement hash maps usually provide an interface for easy instantiation.
You'll notice that I added two functions because their behaviors actually differ in performance.
Closes #947

@Kha let me know if you want me to do a force push to clean up the commit history so that only one commit will be merged into master with a proper message 👍🏼

Nevermind, I just went ahead and did it


Jump to slide with incremental slides

When using countIncrementalSlides: false, the shortcut to jump to a slide given a number uses the numbering defined with countIncrementalSlides: true. It would be nice if it could just jump to the first slide with the requested number.
Example:
# First slide

- First item

--

- Second item

---

# Second slide

2+enter will just show the second item and not the second slide.

How would you navigate to the second item then?

I would only use arrows to get there. I do not see how we can know the number of each slide if it is not the one displayed anyway. But I understand it is debatable.
If I have a presentation with 50 slides, and among them some incremental slides, I do not see how I can use the current shortcut.

I understand your perspective as well. But at least now it is possible to reach any (incremental) slide from any other, even if unintuitive and maybe even complicated. Sometimes I have many incremental slides, so arrow keys might make for a very 'hectic' transition.

It is a matter of taste I guess. To me, even if it is possible to reach any slide at the moment, in practice it is not doable, I cannot remember the number of every slide, especially with many incremental slides.
Feel free to close if you think there is no other possibility.


COPY command does not recognize and copy directories with name "lib"

Description
COPY command does not recognize and copy directories with name "lib"
After renaming "lib" to something else, it works.
Steps to reproduce the issue:

create folder lib
Use COPY ./ ./ in Dockerfile
docker build -t test:latest .

Describe the results you received:
lib directory is not copied into the image.
Describe the results you expected:
lib directory should be copied into the image.
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client:
 Version:      1.12.2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   bb80604
 Built:        Tue Oct 11 17:00:50 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.12.2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   bb80604
 Built:        Tue Oct 11 17:00:50 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 207
Server Version: 1.12.2
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 27
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge overlay null host
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.24-boot2docker
Operating System: Boot2Docker 1.12.2 (TCL 7.2); HEAD : 9d8e41b - Tue Oct 11 23:40:08 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 2.937 GiB
Name: blackwell
ID: H2OS:LLBY:4ATJ:CAAM:TSYL:2A3Q:7CZA:R7AM:4AKQ:TF4J:G3GW:HN4X
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 17
 Goroutines: 30
 System Time: 2016-10-26T15:25:11.462153489Z
 EventsListeners: 0
Registry: https://index.docker.io/v1/
Labels:
 provider=virtualbox
Insecure Registries:
 <IP_ADDRESS>/8

Is lib in .dockerignore?

duh! Yes. My bad.....
You can close the ticket :)


Rename teleop node -> teleop mode

LGTM aside from remaning nodes/node vars in openrr-apps/src/bin/robot_teleop.rs.
https://github.com/openrr/openrr/pull/773/files#diff-1741e11c5282745ac56454eeda668ba22cfa56963f06ca240a280068123af62bR97

@taiki-e Thanks and I have fixed them.

LGTM aside from remaning nodes/node vars in openrr-apps/src/bin/robot_teleop.rs. https://github.com/openrr/openrr/pull/773/files#diff-1741e11c5282745ac56454eeda668ba22cfa56963f06ca240a280068123af62bR97

@OTL Please squash and merge this PR.


A switch expression with a cast pattern on a variable pattern is incorrectly said to not be exhaustive

Example:
void main() {
  // The expectation is that 'someKey' will only ever be a bool or a String.
  final model = switch (json['someKey']) {
    final bool value => MyModelExpectingABoolean(value),
    final value as String => MyModelExpectingAString(value),
  };
}

final Map<String, dynamic> json = {
  'someKey': 'In some cases, this field could also be a boolean',
};

This gives the warning on the switch declaration that "The type 'dynamic' is not exhaustively matched by the switch cases since it doesn't match 'Object()'." However, to my understanding, all possible values are matched because the pattern final value as String will accept any input but throw if it is not a String.
Additionally, if I add a wildcard, Object(), or any other third case, it is said to be dead code. I can't find a way to use a cast pattern with a variable pattern that doesn't cause an analysis issue, except if I use final _ as String. Using this, the switch will no longer complain about exhaustiveness, but of course I don't have access to the variable within the case body.
It works if I don't use variable patterns, as in the following:
final _ = switch (json['someKey']) {
    bool() => print('Got a bool'),
    _ as String => print('Got a String'),
  };

Environment:
I was running this code on DartPad on Dart 3.2.0

@eernstg is this a specification issue or implementation?

I believe this is an implementation issue: It is specified that a switch expression must be exhaustive. Next, final value as String is irrefutable (because <pattern> as String is irrefutable when <pattern> is irrefutable, and final value is irrefutable), and any switch expression that has an irrefutable case is exhaustive.
The pattern feature specification doesn't spell out in detail which patterns are refutable and which ones are irrefutable, but I think it's reasonably clear anyway: We can conclude that a pattern is irrefutable whenever we have an argument why the pattern match cannot fail for any possible matched value (e.g., final value will match and bind value with any matched value, and <pattern> as String will match or throw for any matched value that matches <pattern>). We would also note the general rule that a pattern is only required to match or throw for every matched value in order to be characterized as irrefutable, because throwing is enough to ensure that the value of the enclosing expression (here: switch expression) is well-defined in all cases where it is needed.
Perhaps the implementation classifies the variable pattern final value as refutable, even though there is no type constraint?

Labeled as an implementation issue (cc @stereotype441 @johnniwinther )

Occurs in both analyzer and CFE.
The specification of exhaustion of cast patterns is:

Formally, the space union spaces for a cast pattern with cast type C is a union of:

The lifted space union of the cast's subpattern in context C.

For each space E in the expanded spaces (see below) of M:

If E is not a subset (see below) of C and C is not a subset of M, then the lifted space union of E.

If M is dynamic, the previous bool() has not made a dent in that.
The lifted space union of the cast's subpattern (_) in context C is ... hard to find.
The _ pattern categorized as an identifier pattern, but it has no declaration and therefore no declared type.
In type inference of an identifier pattern in a matching context, the only rule which could apply is:

In a matching context, the name refers to a constant. Type check the constant identifier expression in context type M.

but it doesn't refer to a constant.
So it's not really an identifier patter, it acts more like a "freshly named variable pattern".
If that's how it's treated, then the applicable rules are:

If the variable has a type annotation, the required type of p is that type, as is the static type of the variable introduced by p.

Else the required type of p is M, as is the static type of the variable introduced by p.

Here we'll have to fall into the second item, which means that the static type of the pattern _ is M, not Object?.
(This also matches the description of what happens to _? in the "null check" pattern below where the static type of _ in _? becomes Object.)
If so:

The lifted space union of the cast's subpattern in context C.

is String, when that's considered the static type of _ with matched value type String.

For each space E in the expanded spaces (see below) of M:

The expanded spaces of dynamic is dynamic.

1. If `E` is not a subset (see below) of `C` and `C` is not a subset of `M`, then the lifted space union of `E`.

dynamic is not a subset of String, but String is a subset of dynamic, so not adding dynamic.
(Actually, the "lifted space union of E" is meaningless, since "lifted space union" applies to patterns, turning them into spaces, and E is already a space.)
Which means that the spaces of _ as String with context dynamic is the set String, which doesn't exhaust dynamic.
So this is working as (somewhat) specified. It's just not working as intended. We should fix the specification too.
We lose out because the algorithm:

Cannot subtract String from dynamic, so it cannot represent that as String matches dynamic-except-String,
(to quote the spec: But the exhaustiveness algorithm doesn't model "all objects that are not int",)
and (guessing, since specification is under-specified) _ with matched value type String only matches String.

The one change we should make, is to fix the handling of _.
Maybe to make _ a pattern type by itself, instead of being an identifier pattern.
It's really neither a variable pattern, nor an identifier pattern, the way it's used. It's the "dynamic of patterns", which is exactly what it needs to be to be allowed everywhere, it can be used in matching patterns where the only allowed identifier patterns are constants, in assignments, where no variable pattern is allowed, and in declaration patterns where no identifier pattern is allowed.
So maybe just introduce "wildcard pattern", _, which is allowed everywhere, which has a context type scheme of _, the matched value type as static type, and whose lifted space union is that static type.
(Or special-case that a non-constant identifier pattern is allowed in declaration and matching patterns if it's _, but might as well move the special-casing to top-level, instead of risking to forget it in some cases.)
That doesn't help with with the inference here.
So we can try changing the rules for the lifted space union of p as C to (additions and moves italicized.):

Formally, the space union spaces for a cast pattern with subpattern p and cast type C is a union of:

The lifted space union of the cast's subpattern in context C (call this S).
If C is a subset of S, then M.
If C is not a subset of M, then for each space E in the expanded spaces (see below) of M:

If E is not a subset (see below) of C, then the lifted space union of E.

It basically (tries to) add a "this matches everything trivially" clause, even if we don't know how to prove it by
creating an M-minus-C set. If the sub-pattern matches everything that gets past the as cast, then the pattern matches everything thrown at it.
(Hoisted the "if C is not a subset of M" clause out of the loop, since it's invariant.)
I'm blindly keeping the third clause here, because I don't understand what it's doing.
So let'stry to sanity-check the

If E is not a subset (see below) of C and C is not a subset of M, then the lifted space union of E.

clause. Read: Let me try to understand it. ... some time later ... Nope, I don't.
And I don't think it's what's actually implemented, or that it's even correct. As I read it, the following should work:
void main() {
  M e = V();
  switch (e) {
    case == 0 as C: print(e);
  }
}

sealed class M {}
class E extends M {} // Sole subclass of sealed class M
interface class C {} // Completely unrelated type.
class V extends E implements C {} // Subtype disproving assumptions.

The case ==0 as C has a sub-pattern which exhausts nothing. Then:

E is in the expanded subsets of M (it's the sealed class subtype).
E is not a subset of C, and C is not a subset of M,

so we should add E to the spaces union spaces of ==0 as C.
Which should mean that the clause exhausts E, which exhausts M.
And yet our implementations tell me that the switch is not exhaustive, so the spec is wrong, and the implementation is ... different.
@munificent what's the real behavior here?
(And given that, the analysis above might not be relevant.)

I think that the rule about the space produced by a cast pattern needs to be reconsidered.

Formally, the space union spaces for a cast pattern with cast type C is a union of:

The lifted space union of the cast's subpattern in context C.

For each space E in the expanded spaces (see below) of M:

If E is not a subset (see below) of C and C is not a subset of M, then the lifted space union of E.

One situation is where every object of type C is guaranteed to be matched by the subpattern. We could describe this as "C is a subset of E". In this case the space being matched is M: Every instance of type C (including subtypes) will allow the dynamic type check to complete normally, and the subpattern will then match the object; every instance which does not have type C will cause the dynamic type check to throw. In other words, this pattern covers "everything", and M describes everything that we can encounter.
Another situation of interest is where M is a subset of C. In this case we can ignore the cast pattern and just use the subpattern. This means that the matched set of objects is modeled by E.
One situation is where M has been expanded (so M is a sealed type, and it has been split into the immediate subtypes that are known to exhaust M because it is sealed). In this case

I've created https://dart-review.googlesource.com/c/sdk/+/338760 which adds a new rule to exhaustiveness handling of the as-pattern:
The new rule checks whether the cast type is fully contained in the space of the subpattern. If so, we can assume that the whole context type has been matched because there is no value that passes the as-test that would be rejected by the subpattern.
This change, if accepted, should be spec'd. And we should also consider whether this change should be versioned.

And yet our implementations tell me that the switch is not exhaustive, so the spec is wrong, and the implementation is ... different.
@munificent what's the real behavior here? Or what am I missing?

I think the spec is bad and I just designed something that isn't actually sound. I'll follow up on Erik's PR.

I'm a little late to the party here, but I just wanted to add my two cents:
I feel like part of what's tricky about as expressions and exhaustiveness checking is that in principle, if we want to do it with maximum fidelity, the analysis depends on the order of operations during a pattern match, in a way that I believe doesn't apply to other kinds of patterns. Consider:
f((Object, Object) x) => switch (x) {
      (var a as int, 0) => a,
      (int a, _) => a,
    };

The first thing this switch does is throw if x.$1 is not an int, therefore if (var a as int, 0) doesn't match x, then (int a, _) is guaranteed to match. So in principle the switch is exhaustive. But the exhaustiveness checker doesn't (currently) understand that it is.
But now if we just swap the left and right sides of the pair, we get this:
f((Object, Object) x) => switch (x) {
      (0, var a as int) => a,
      (_, int a) => a,
    };

Which is definitely not exhaustive. For example, if you call f((1, 'foo')), then:

(0, var a as int) doesn't match, because x.$1 isn't 0.
(_, int a) doesn't match, because x.$2 isn't an int.

I don't know if we want the exhaustiveness checker to be smart enough to be able to understand the difference between these two examples. On the one hand, I feel like a principle we've learned through flow analysis is that the user's mental model of data flow is extremely sophisticated, so making the compiler's data flow analysis smarter doesn't lead to user confusion the way other "smart" compiler features might; it seems like a similar principle probably applies to exhaustiveness analysis. On the other hand, it might be really difficult or bug prone to make the exhaustiveness checker understand the order of operations in a pattern match, so I don't know if it's worth it.


Reading the test file causes an incorrectly formatted table result

Using getline() for reading each line and strtok() to delimite a string by a char, cause the table to display incorrectly. Meaby It's that is storing a \n in first_name.

Fixed in bd99bf555f20ab64a7345260098c3c1901fbfb6b


Make ToTriangle in Sharps.Triangle overrideable

As a practical and useful example. In some cases, the user needs to change the orientation of the triangle. But simple rotation does not meet the needs, as an example:
this.InternalChildren = [
  new Box {
    RelativeSizeAxes = Axes.Both,
    Width = 0.8f,
    Height = 0.25f,
    Anchor = Anchor.Centre,
    Origin = Anchor.Centre,
    Colour = Color4.Blue,
  },
  new Triangle {
    RelativeSizeAxes = Axes.Both,
    Rotation = 90,
    Width = 0.8f,
    Height = 0.25f,
    // Width = 0.25f, Height = 0.8f, // Also not working properly.
    Anchor = Anchor.Centre,
    Origin = Anchor.Centre,
    Colour = Color4.Yellow,
  },
];

 Width = 0.8f, Height = 0.25f,
Width = 0.25f, Height = 0.8f,

It is not possible to obtain a Triangle with the same length and width as the Box. Currently, modifying this behavior to make it work as expected would require writing a lot of code, and most of logic would be duplicated with what is already in the Triangle class.
The easiest way to override Triangle and make it behave as expected is to override the ToTriangle method. After modification you can easily change its orientation and it will behave as expected:
internal partial class RightTriangle : Triangle {
  protected override Primitives.Triangle ToTriangle(Quad q) => new Primitives.Triangle(
    (q.TopRight + q.BottomRight) / 2,
    q.TopLeft,
    q.BottomLeft);
}
// And then...
this.InternalChildren = [
  new Box {
    RelativeSizeAxes = Axes.Both,
    Width = 0.8f,
    Height = 0.25f,
    Anchor = Anchor.Centre,
    Origin = Anchor.Centre,
    Colour = Color4.Blue,
  },
  new RightTriangle {
    RelativeSizeAxes = Axes.Both,
    Width = 0.8f,
    Height = 0.25f,
    Anchor = Anchor.Centre,
    Origin = Anchor.Centre,
    Colour = Color4.Yellow,
  },
];

It seems you are misunderstanding how RelativeSizeAxes works when paired with Rotation. If you use apsolute sizes, you'll see that it works out fine.
Alternatively, add this line and the two will match perfectly:
this.InternalChildren = [
  new Box {
    RelativeSizeAxes = Axes.Both,
+   Rotation = 90,
    Width = 0.8f,
    Height = 0.25f,
    Anchor = Anchor.Centre,
    Origin = Anchor.Centre,
    Colour = Color4.Blue,
  },
  new Triangle {
    RelativeSizeAxes = Axes.Both,
    Rotation = 90,
    Width = 0.8f,
    Height = 0.25f,
    // Width = 0.25f, Height = 0.8f, // Also not working properly.
    Anchor = Anchor.Centre,
    Origin = Anchor.Centre,
    Colour = Color4.Yellow,
  },
];

If you need additional assistance in understanding how RelativeSIzeAxis works when used with Rotation, feel free to create a new discussion or reach out in the discord.

I don't think it's valuable to expose toTriangle() for overriding. We would need to check for vertex order, and it would incur additional virtual method invocation costs.
https://github.com/ppy/osu-framework/blob/63405204eba19d054f24c8f349137129a1557936/osu.Framework/Graphics/Primitives/Triangle.cs#L14-L18

It seems you are misunderstanding how RelativeSizeAxes works when paired with Rotation

The thing is that the current framework behaviour is not really intuitive or what a framework consumer would expect. Not to disagree with the fact that the solution here is incorrect in fixing the wrong thing, because it is, but yeah. And we have trouble with this game-side too.
Then again, I don't know whether there's anything that can feasibly be done to address this framework-side.

Sorry I didn't notice the performance issues described in the structure. And apart from this, I can't think of any other solution. Maybe I'll just have to build my own implementations so that I can use them in some less performance-sensitive scenarios.🤔

Alternatively, add this line and the two will match perfectly: ...

This does get one of the desired behaviors: matched size. However, the size was not what I expected. (0.8 times the width of the entire parent object.）

If you use apsolute sizes, you'll see that it works out fine.

I've tried this approach, like binding the absolute size of other elements to update itself synchronously, etc. But seriously, the complicated bindings make the logic confusing and hard to follow, so I don't really like it.

The thing is that the current framework behaviour is not really intuitive or what a framework consumer would expect.

In practice, I can also understand that it behaves like: the size is calculated first and then rotated. However, in some scenarios, consumers (such as me) will want to reverse the order of processing. I hope what I'm thinking isn't a weird thing.😕

This is probably the simplest way to achieve what you want. Rotates the triangle, and then scales to match the desired width and height.
public partial class RotatedTriangle : Triangle
{
    protected override Vector2 DrawScale => Vector2.Divide(DrawSize.Yx, DrawSize);

    public RotatedTriangle()
    {
        Anchor = Anchor.Centre;
        Origin = Anchor.Centre;
        Rotation = 90;
    }
}


Rename 'Rare Books and Special Collections' to 'Special Collections'

This was changed in Blacklight but stayed with the old name in voyager.
We should change it in Alma.
Update 'Rare Books and Special Collections' to 'Special Collections'.

I changed the Organization Unit Name for now.
What does the location prefix "Rare Books:" relate to? Is it shorthand for "Rare Books and Special Collections"? In that case, we should change it to "Special Collections:".
Or does it mean the umbrella collection "ex" (=rare books)? In that case, some of them need correcting, e.g. "hsvm" (=manuscripts high security vault) : "Rare Books: South East (MSS)"

Thank you for changing the name @regineheberlein.
Your questions make a lot of sense. @kevinreiss @mzelesky who is the right person/group of people to answer these questions?

Per conversation with Alexis:

Change external name to human readable expanded string
Change internal name to code + abbreviated human readable string
remove all prefixes

I'll get started now.

Also pinged Joshua about the East Asian location labels (currently all "East Asian Rare")

@mzelesky @kevinreiss Can we delete the location "UNASSIGNED"?

@christinach What gets displayed in Blacklight, Name or External Name?

We cannot delete the location "UNASSIGNED"; it's used for migration purposes. At least, that's my understanding. If there is nothing in the locations after go-live we can delete. In general, we cannot delete any locations prior to go-live unless those locations are also deleted in Voyager.

@regineheberlein we use 'name', not the 'external_name'

@regineheberlein but we can change it to the 'external_name' if that makes more sense.

@christinach Yes please. There is a difference between what staff need to see in the UI and what we want patrons to see in Blacklight, so change the source to external_name would be great.

Now reaching out to Martin per Joshua

Martin confirms that the labels for EA rare, while all the same, are good as is.


Rust language support

[x] Initilizing basic Rust project (squashing and merging https://github.com/tessel/t2-cli/pull/131)
[x] Detecting project is Rust based (as opposed to JS)
[x] Compiling and bundling rust code
[x] Running rust code
[ ] Module porting to Rust

I'm going to close this issue since it's mostly complete and the rest of the to-dos can be found in the [tessel-rust](https://github.com/tessel/tessel-rust repo.


Error with modeling

Dear author.. I got some error here.. maybe you can to solve this..
I am quite new in machine learning..
Thankyou
Traceback (most recent call last):
File "/content/drive/My Drive/app/darts-master/cnn/test.py", line 103, in
main()
File "/content/drive/My Drive/app/darts-master/cnn/test.py", line 59, in main
utils.load(model, args.model_path)
File "/content/drive/My Drive/app/darts-master/cnn/utils.py", line 99, in load
model.load_state_dict(torch.load(model_path))
File "/usr/local/lib/python3.6/dist-packages/torch/serialization.py", line 381, in load
f = open(f, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'EXP/model.pt'

This is because the path is not right. Please check whether the file indeed exists in this path.
This issue is closed, feel free to reopen it if you have any further questions.


DHCP client stops working sometimes

Hello,
I am using your DHCP client source files. The problem is that DHCP client stops working sometimes. The program still waits if the socket is closed (file: socket.c, line: 193 - while(getSn_SR(sn) == SOCK_CLOSED); ).
I would understand that this problem can happen when the ethernet cable is disconnected (but this situation should be caught). But this situation happends when the cable is connected for all the time.
Thank you for your help.

this problem is not related ethernet cable.
I have some questions.
What type of our product you are using and what interface to use with your mcu?
and... what kind of application project you use now?

Hello,
Sorry, I have forgot to write these important information.
I am using W5500 ethernet controller, I would like to use this chip with NRF52832 microprocessor. This microprocessor has implemented Bluetooth communication. My goal is to able to set parameters over the Bluetooth and over the ethernet.
But I think that the problem is in hardware connection. At this moment I am using the W5500-EVB kit with development kit with NRF52832 and the connection via cables isn't stable. The W5500 is reset after several minutes itself (all data is clear - IP, mask, GW, MAC, ... everything is zero).

Hi
You can refer to the BLE Board created by WIZnet.
https://wizwiki.net/wiki/doku.php?id=oshw_using_wiznet:bletoethernet
reference schematic  : nrf52832 & W5500
https://drive.google.com/open?id=0Bx-BD_H8XJXxVWdrcVliY1E1RGM
example firmware : nrf52832 & W5500
https://github.com/Wiznet/WIZBLE510_ETHERNET