[SPARK-33420][SQL] Fix BroadCastJoin failure when keys on join side has cast from DateTyte to String

What changes were proposed in this pull request?
Fix BroadCastJoin failure when keys on join side has cast from DateTyte to String

Why are the changes needed?
1.In Expression#canonicalized, Canonicalize.execute method will be called. In it the ignoreTimeZone method will judge CastBase. If it does not need timeZone, timeZone will be forced to be removed。
object Canonicalize extends Logging{
    def execute(e: Expression): Expression = {
      expressionReorder(ignoreTimeZone(ignoreNamesTypes(e)))
    }
    private[expressions] def ignoreTimeZone(e: Expression): Expression = e match {
    case c: CastBase if c.timeZoneId.nonEmpty && !c.needsTimeZone =>
      logDebug(s"e:${e} ignoreTimeZone")
      c.withTimeZone(null)
    case _ => e
  }
  }

2.The CastBase#needsTimeZone method will call the Cast#needsTimeZone method to judge,
  def needsTimeZone(from: DataType, to: DataType): Boolean = (from, to) match {
            case (StringType, TimestampType | DateType) => true
            case (DateType, TimestampType) => true
            case (TimestampType, StringType) => true
            case (TimestampType, DateType) => true
            case (ArrayType(fromType, _), ArrayType(toType, _)) => needsTimeZone(fromType, toType)
            case (MapType(fromKey, fromValue, _), MapType(toKey, toValue, _)) =>
              needsTimeZone(fromKey, toKey) || needsTimeZone(fromValue, toValue)
            case (StructType(fromFields), StructType(toFields)) =>
              fromFields.length == toFields.length &&
                fromFields.zip(toFields).exists {
                  case (fromField, toField) =>
                    needsTimeZone(fromField.dataType, toField.dataType)
                }
            case _ => false
          }

It can be seen here that if from DateType to StringType, the judgment result is false, indicating that cast(DateTyte as String) does not require Timezone

But the conversion from Datetype to String in Cast requires Timezone, as following:

abstract class CastBase extends UnaryExpression with TimeZoneAwareExpression with NullIntolerant {
        private lazy val dateFormatter = DateFormatter(zoneId)

        private[this] def cast(from: DataType, to: DataType): Any => Any = {
            if (DataType.equalsStructurally(from, to)) {
              identity
            } else if (from == NullType) {
              _ => throw new SparkException(s"should not directly cast from NullType to $to.")
            } else {
              to match {
                case dt if dt == from => identity[Any]
                case StringType => castToString(from)
                case BinaryType => castToBinary(from)
                case DateType => castToDate(from)
                case decimal: DecimalType => castToDecimal(from, decimal)
                case TimestampType => castToTimestamp(from)
                case CalendarIntervalType => castToInterval(from)
                case BooleanType => castToBoolean(from)
                case ByteType => castToByte(from)
                case ShortType => castToShort(from)
                case IntegerType => castToInt(from)
                case FloatType => castToFloat(from)
                case LongType => castToLong(from)
                case DoubleType => castToDouble(from)
                case array: ArrayType =>
                  castArray(from.asInstanceOf[ArrayType].elementType, array.elementType)
                case map: MapType => castMap(from.asInstanceOf[MapType], map)
                case struct: StructType => castStruct(from.asInstanceOf[StructType], struct)
                case udt: UserDefinedType[_]
                  if udt.userClass == from.asInstanceOf[UserDefinedType[_]].userClass =>
                  identity[Any]
                case _: UserDefinedType[_] =>
                  throw new SparkException(s"Cannot cast $from to $to.")
              }
            }

            private[this] def castToString(from: DataType): Any => Any = from match {
              case CalendarIntervalType =>
                buildCast[CalendarInterval](_, i => UTF8String.fromString(i.toString))
              case BinaryType => buildCast[Array[Byte]](_, UTF8String.fromBytes)
              case DateType => buildCast[Int](_, d => UTF8String.fromString(dateFormatter.format(d)))
              case TimestampType => buildCast[Long](_,
                t => UTF8String.fromString(DateTimeUtils.timestampToString(timestampFormatter, t)))
            }
        }
 trait TimeZoneAwareExpression extends Expression {
          def timeZoneId: Option[String]
          def withTimeZone(timeZoneId: String): TimeZoneAwareExpression

          @transient lazy val zoneId: ZoneId = DateTimeUtils.getZoneId(timeZoneId.get)
        }

So we should add judge in Cast#needsTimeZone as following:

def needsTimeZone(from: DataType, to: DataType): Boolean = (from, to) match {
            case (StringType, TimestampType | DateType) => true
            case (DateType, TimestampType) => true
            case (DateType, StringType) => true
            case (TimestampType, StringType) => true
            case (TimestampType, DateType) => true
            case (ArrayType(fromType, _), ArrayType(toType, _)) => needsTimeZone(fromType, toType)
            case (MapType(fromKey, fromValue, _), MapType(toKey, toValue, _)) =>
              needsTimeZone(fromKey, toKey) || needsTimeZone(fromValue, toValue)
            case (StructType(fromFields), StructType(toFields)) =>
              fromFields.length == toFields.length &&
                fromFields.zip(toFields).exists {
                  case (fromField, toField) =>
                    needsTimeZone(fromField.dataType, toField.dataType)
                }
            case _ => false
          }

Does this PR introduce any user-facing change?

How was this patch tested?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

It seems https://issues.apache.org/jira/browse/SPARK-33306 has fixed this issue?

hi, @tgravescs , could you help me review this pr please? thanks very much.

It seems https://issues.apache.org/jira/browse/SPARK-33306 has fixed this issue?

yes ,it is .the situation is not same,but this solvation is the same,thank you.
could you help me review SPARK-33192  pr please ?

@cloud-fan @MaxGekk who fixed the first issue
@hzyangkai  what does https://issues.apache.org/jira/browse/SPARK-33192 have to do with this issue?  Perhaps just wrong link?

can you please add a test for this.


Security group create/update fails (thanks boto), no error provided to user in a GUI.

This error occurs after ICMP in the except block in the section concerning inter-instance communication. The POST request fails from the boto authorize statement stating that protocol is null, which is the first parameter is the classical method. However, my boto library seems to be up to date (2.38.0) I understand that this is mostly a boto failure, although this could provide the illusion to the user that a new security group was created or that an existing security group was updated when in reality, the inter-instance communication is not successfully authorized.
            # Add rule that allows communication between instances in the same SG
            g_rule_exists = False  # A flag to indicate if group rule already exists
            for rule in cmsg.rules:
                for grant in rule.grants:
                    if grant.name == cmsg.name:
                        g_rule_exists = True
                        bioblend.log.debug("Group rule already exists in the SG.")
                if g_rule_exists:
                    break
           if not g_rule_exists:
                try:
                    cmsg.authorize(src_group=cmsg)
                except EC2ResponseError as e:
                    err_msg = "A problem with security group authorization: {0} " \
                              "(code {1}; status {2})" \
                              .format(e.message, e.error_code, e.status)
                    bioblend.log.exception(err_msg)
                    progress['err_msg'] = err_msg
            bioblend.log.info("Done configuring '%s' security group" % cmsg.name)

[2015-10-23 15:08:19,451: DEBUG/MainProcess] Security group 'CloudMan' already exists; will add authorizations next.
[2015-10-23 15:08:19,451: DEBUG/MainProcess] Rule (20:21) already exists in the SG
[2015-10-23 15:08:19,451: DEBUG/MainProcess] Rule (22:22) already exists in the SG
[2015-10-23 15:08:19,452: DEBUG/MainProcess] Rule (80:80) already exists in the SG
[2015-10-23 15:08:19,452: DEBUG/MainProcess] Rule (443:443) already exists in the SG
[2015-10-23 15:08:19,452: DEBUG/MainProcess] Rule (8800:8800) already exists in the SG
[2015-10-23 15:08:19,452: DEBUG/MainProcess] Rule (9600:9700) already exists in the SG
[2015-10-23 15:08:19,452: DEBUG/MainProcess] Rule (30000:30100) already exists in the SG
[2015-10-23 15:08:19,452: DEBUG/MainProcess] ICMP rule already exists in CloudMan SG.
[2015-10-23 15:08:19,452: DEBUG/MainProcess] Method: POST
[2015-10-23 15:08:19,452: DEBUG/MainProcess] Path: https://ec2.amazonaws.com/
[2015-10-23 15:08:19,452: DEBUG/MainProcess] Data:
[2015-10-23 15:08:19,453: DEBUG/MainProcess] Headers: {}
[2015-10-23 15:08:19,453: DEBUG/MainProcess] Host: ec2.amazonaws.com
[2015-10-23 15:08:19,453: DEBUG/MainProcess] Port: 443
...
[2015-10-23 15:08:19,572: DEBUG/MainProcess] <?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error>InvalidParameterValue<Message>Invalid value 'null' for protocol. VPC security group rules must specify protocols explicitly.</Message></Error></Errors><RequestID>f36e61be-64fe-40fc-bac5-09227f981253</RequestID></Response>
[2015-10-23 15:08:19,573: ERROR/MainProcess] 400 Bad Request
[2015-10-23 15:08:19,573: ERROR/MainProcess] <?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error>InvalidParameterValue<Message>Invalid value 'null' for protocol. VPC security group rules must specify protocols explicitly.</Message></Error></Errors><RequestID>f36e61be-64fe-40fc-bac5-09227f981253</RequestID></Response>
[2015-10-23 15:08:19,574: ERROR/MainProcess] A problem with security group authorization: Invalid value 'null' for protocol. VPC security group rules must specify protocols explicitly. (code InvalidParameterValue; status 400)
Traceback (most recent call last):
  File "/home/ralstonm/Projects/bioblend/bioblend/cloudman/launch.py", line 301, in create_cm_security_group
    cmsg.authorize(src_group=cmsg)
  File "/home/ralstonm/.pyenv/versions/cloudlaunch/lib/python2.7/site-packages/boto/ec2/securitygroup.py", line 203, in authorize
    dry_run=dry_run)
  File "/home/ralstonm/.pyenv/versions/cloudlaunch/lib/python2.7/site-packages/boto/ec2/connection.py", line 3191, in authorize_security_group
    params, verb='POST')
  File "/home/ralstonm/.pyenv/versions/cloudlaunch/lib/python2.7/site-packages/boto/connection.py", line 1227, in get_status
    raise self.ResponseError(response.status, response.reason, body)
EC2ResponseError: EC2ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error>InvalidParameterValue<Message>Invalid value 'null' for protocol. VPC security group rules must specify protocols explicitly.</Message></Error></Errors><RequestID>f36e61be-64fe-40fc-bac5-09227f981253</RequestID></Response>

Pip freeze
amqp==1.0.12
anyjson==0.3.3
billiard==<IP_ADDRESS>
-e git+https://github.com/MatthewRalston/bioblend.git@126ea70c3ad90ac02406b21d032d1b1d12d3858d#egg=bioblend-master
boto==2.38.0
celery==3.0.21
dj-database-url==0.2.1
Django==1.3
django-bootstrap-toolkit==2.12.0
django-celery==3.0.17
gunicorn==19.3.0
honcho==0.6.6
Jinja2==2.7
kombu==2.5.12
MarkupSafe==0.18
mock==1.0.1
nose==1.3.0
poster==0.8.1
psycopg2==2.4.2
python-dateutil==2.1
python-memcached==1.48
pytz==2013b0
PyYAML==3.10
requests==2.8.1
requests-toolbelt==0.4.0
simplejson==3.3.0
six==1.9.0
South==0.7.3
wheel==0.24.0

Trying things out, it seems the group rule will also need to have all of its properties specified. So the authorization code in BioBlend would need to be changed to: cmsg.authorize(src_group=cmsg, ip_protocol='tcp', from_port=0, to_port=65535)

Hmm the boto error has changed after changing this.
[2015-10-26 10:10:34,542: DEBUG/MainProcess] <?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error>InvalidParameterCombination<Message>The parameter groupName cannot be used with the parameter subnet</Message></Error></Errors><RequestID>e72077dd-f31d-4c94-b0ac-970f6c41fe56</RequestID></Response>
[2015-10-26 10:10:34,542: ERROR/MainProcess] 400 Bad Request
[2015-10-26 10:10:34,542: ERROR/MainProcess] <?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error>InvalidParameterCombination<Message>The parameter groupName cannot be used with the parameter subnet</Message></Error></Errors><RequestID>e72077dd-f31d-4c94-b0ac-970f6c41fe56</RequestID></Response>
[2015-10-26 10:10:34,543: ERROR/MainProcess] Problem launching an instance: The parameter groupName cannot be used with the parameter subnet (code InvalidParameterCombination; status 400)
Traceback (most recent call last):
  File "/home/ralstonm/Projects/bioblend/bioblend/cloudman/launch.py", line 177, in launch
    placement=placement)
  File "/home/ralstonm/.pyenv/versions/cloudlaunch/lib/python2.7/site-packages/boto/ec2/connection.py", line 973, in run_instances
    verb='POST')
  File "/home/ralstonm/.pyenv/versions/cloudlaunch/lib/python2.7/site-packages/boto/connection.py", line 1208, in get_object
    raise self.ResponseError(response.status, response.reason, body)
EC2ResponseError: EC2ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error>InvalidParameterCombination<Message>The parameter groupName cannot be used with the parameter subnet</Message></Error></Errors><RequestID>e72077dd-f31d-4c94-b0ac-970f6c41fe56</RequestID></Response>


[WIP] Redesign keyboard interface

Fixes #287

Thanks so much for working on this, but it turned out to be a pretty simple fix so I did it in #324.


Add failing test to demo to_dict issue

Going to close this PR for the time being since I'm not actively working on it, and it was really just a demo to kick of worflows. Can always be re-opened later.


Api upgrades

Work In Progress

I'm going to separate this out into an "API Cleanup" PR and an "API Caching" PR cause probs shouldn't have combined the two :dizzy_face:

PRs now separated. Closing this PR out.


Staging env doesn't render images in Getting Started correctly

The staging environment doesn't render images in the Getting Started PR's when a manual deployment is initiated for the branch PR. We need to investigate and figure out why is that.

Related to #1854 #1825

Resolved, the images were added to the wrong directory. They instead should be added to https://github.com/balena-io/docs/tree/master/static/img/getting-started
Refer: https://github.com/balena-io/docs/pull/1684/files


internationalization

Added i18n package
proof of concept implementation for intro and one biometrics page

Note: The intro is translated with Google translate, so probably not really good

@n13 good to merge once lint check passes


RlationTrait

Is it possible to generate relations, but omit RelationTrait and corresponding methods in CRUD?

You got to create new template of your own..
Please use gitter to ask, this is only for issue tracking..


Is it possible to add a slider

Sometimes the method name and argument  is very long and I have to copy it

thx!!!

Hello, @chengruyi
What do you mean by slider?
The tab is already dynamically changeable.
We concern that sometimes the depth of the call stack is too long to display(same effect with very log method name)
Do you have any good idea for this?

I turned off the record attribute length limit

I mean Argument can slide

oh.. you mean. one column already exceeds the width of the window itself.
So you are suggesting to add a slide for a certain column, in this case, argument?
Have you ever saw UI that you've suggested on other systems? or anywhere?

Yes i think you get what i mean

@chengruyi
Have you ever saw UI that you've suggested on other systems? or anywhere?
I'm not a UI expert, but the only design I can think of is not good enough

Sorry i haven't seen it


badge

Username and Discrim: pandora#3067
User ID:<PHONE_NUMBER>10490368
Image Link: https://cdn.discordapp.com/attachments/747175904878526568/819376432593371176/saturn-planet.png

done~


My friend has an problem

When he plays Apex, his movement do only after 2 seconds. He solved it, but here is a new problem. In Apex, his overlay shows 1 FPS ad his aimbot makes broken. In overlay window, he see 20 FPS. Here is a problem: How to make overlay FPS while in Apex more?

The only way to improve FPS is either by Lowering your game graphics too lower the load on the GPU & CPU or upgrade your components, Like I said, This cheat is very hardware demanding.


Add $HOME/go/bin to $PATH

Fixes #105

I'm not shure about doing stuff, GitHub Hosted Runner Images don't do.
All in all act and it's default images are to help creating workflows for GitHub Actions (not Gitea Actions)
GITHUB_PATH can add entries like this at job level.

Wel even so, This particular flavor of this Image is used by Gitea Actions and Gitea folks, because Gitea Actions chose to support Go as a first-class language for writing custom actions.
Further, adding to the $PATH really doesn't change the runner's behavior much, in fact it just helps improve things and removes an unnecessary step everywhere.
IMO even if Github Actions runners (I don't really use Github myself much) did include the Go compiler, they should include $HOME/go/bin in the $PATH for the very same reason!


Enable WASM tests after bump to fuel-core 0.10.1

Enable the WASM test that were skipped in https://github.com/FuelLabs/fuels-rs/pull/546.

Wasm tests were enabled as part of another issue.


Overlayering is no longer supported

The page still talks about overlayering as an option.
However, as the following (https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/extensibility/extensibility-home-page) page explains, overlayering is no longer supported.

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

ID: cd0c5515-aa2a-64c2-e5b6-093eecdfff53
Version Independent ID: 53446ef1-fc30-9ad1-d097-409fcd5c7949
Content: Development and continuous delivery FAQ - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/dev-tools/continuous-delivery-faq.md
Service: dynamics-ax-platform
Product: ****
Technology: ****
GitHub Login: @RobinARH
Microsoft Alias: robadawy

@robadawy Can you take a look? thanks.

Bug 381308 created to track this issue.

I corrected the text and the new text will be published live later today. - Robin


Share an other nr than the id as payment reference to pay.nl

Hi!
Our client wants to use the order reference nr in pay.nl to identify which payment is for which order. It now contains the order id.
Is there a way to share the reference to pay.nl instead of the id?
Thanks in advance!
John

Hi John,
Unfortunately, there isn't. This is because the order reference is only created AFTER payment - so we don't know it when we submit to PAY.


Add logging sampler

To prevent log flood, like one fixed in https://github.com/fluxninja/aperture/pull/260, some log sampling needs to be introduced.
BurstSampler should be introduced to the platform logger, with appropriate config. See https://pkg.go.dev/github.com/rs/zerolog#section-readme

We already have sampled logger functions in the platform logger and can customize the sampler for the log samplings.


Bump to latest sonobuoy and golang 1.21

This PR bumps sonobuoy to 0.57.1 and
switches to golang v1.21

Need to manually test this

This should be ready to go
Mon, 26 Feb 2024 19:20:23 CST> Global Status: post-processing
JOB_NAME                           | STATUS     | RESULTS    | PROGRESS                  | MESSAGE
05-openshift-cluster-upgrade       | complete   |            | 0/0 (0 failures)          | waiting for post-processor...
10-openshift-kube-conformance      | complete   |            | 384/390 (1 failures)      | waiting for post-processor...
20-openshift-conformance-validated | complete   |            | 3870/3879 (102 failures)  | waiting for post-processor...
99-openshift-artifacts-collector   | complete   |            | 0/0 (0 failures)          | waiting for post-processor...
INFO[2024-02-26T19:20:23-06:00] Waiting for post-processor...
Mon, 26 Feb 2024 19:27:23 CST> Global Status: complete
JOB_NAME                           | STATUS     | RESULTS    | PROGRESS                  | MESSAGE
05-openshift-cluster-upgrade       | complete   | passed     | 0/0 (0 failures)          | Total tests processed: 1 (1 pass / 0 failed)

➜  vsphere-ipi ../opct-linux-amd64 retrieve
INFO[2024-02-27T06:16:19-06:00] Collecting results...
INFO[2024-02-27T06:16:33-06:00] Results saved to /home/jcallen/Development/before-installer-testing/vsphere-ipi/202402262142_sonobuoy_fd9c2eb3-e6ea-4c03-846b-b63d22ebb87d.tar.gz
INFO[2024-02-27T06:16:33-06:00] Use the results command to check the validation test summary or share the results archive with your Red Hat partner.

/lgtm
/approve


Improve defmt trace

I'm using nrf-softdevice with defmt logger, and I found the traces printed by nrf-softdevice are all from nrf-softdevice/src/fmt.rs, which misses file info and makes debugging harder.
TRACE ble evt 80
└─ nrf_softdevice::ble::on_evt @ /Users/haobogu/.cargo/git/checkouts/nrf-softdevice-8a2bc4dcba836638/8db29ff/nrf-softdevice/src/fmt.rs:112
TRACE gatts write handle=26 data=[1, 0]
└─ nrf_softdevice::ble::gatt_server::run::{async_fn#0}::{closure#1} @ /Users/haobogu/.cargo/git/checkouts/nrf-softdevice-8a2bc4dcba836638/8db29ff/nrf-softdevice/src/fmt.rs:112
TRACE ble evt 18
└─ nrf_softdevice::ble::on_evt @ /Users/haobogu/.cargo/git/checkouts/nrf-softdevice-8a2bc4dcba836638/8db29ff/nrf-softdevice/src/fmt.rs:112
DEBUG on_conn_param_update conn_handle=3 conn_sup_timeout=100 max_conn_interval=12 min_conn_interval=12 slave_latency=4
└─ nrf_softdevice::ble::gap::on_evt @ /Users/haobogu/.cargo/git/checkouts/nrf-softdevice-8a2bc4dcba836638/8db29ff/nrf-softdevice/src/fmt.rs:125

Maybe it can be improved somehow? by logging the real file and line numbers.

fmt.rs is required to allow the crate to be agnostic between the log and defmt logging options. Unfortunately there's no way to make the file and line numbers come from the caller instead.


Use cargo artifacts in dev environment

Crane, similar to the rest of the nix-rust builders, relies on crates-io for dependencies in the nix-shell
This is a bit off the beaten path for nix users where you (usually) get the dependencies from your nix-store or cache before rebuilding from source.
Cargo and crates-io are wonderful tools but this is a bit non-standard for nix users.
Has this project considered exposing cargoArtifacts to cargo in the nix-shell environment?
One rather janky way I envision this happening is adding a shellHook to set the target directory and symlinking the dependencies from the nix-store to said directory.
Cargo used to have a "build-plan" which would be ideal here but it seems to deprecated.
https://github.com/rust-lang/cargo/issues/7614
Thoughts?

I'm not sure if I understand, but cartoArtifacts (or shall we say: most stuff created in ./target/ directory) are not very reusable. They vary based on OS, environment variables, available system C libraries, cargo config options, toolchain version, enabled cargo features, etc.

We can control all of these with Nix!

Yes, but the chances that two users will have exactly same combination are becoming increasingly small, making the caching largely pointless. Who's going to pay for storing all these gigabytes of data per project?
The re-usability of cargo artifacts makes sense only within the same organization, largely around just working on the exactly same project, pinned to the same inputs. It's trivial to plug in cachix (or other private Nix cache) and achieve the same results, without
On top of it crane is specifically designed to avoid the complexity of largely reimplementing chunks of cargo building logic to allow per-crate derivations. For that see cargo2nix.

One rather janky way I envision this happening is adding a shellHook to set the target directory and symlinking the dependencies from the nix-store to said directory.

I have actually done just this in my own nix cargo/rust solution, as I had trouble using https://github.com/twistedfall/opencv-rust with many of these other solutions. I also needed workspace support, which many of these don't support.
CARGO_HOME, Cargo.toml and Cargo.lock can indeed be symlinked into your project directory. You can also mostly prevent cargo from touching these by using export CARGO_NET_OFFLINE="true". But the target directory needs to be extracted from the nix store as it needs to be writable for cargo build to work. Cargo uses fingerprints to determine when/if things to be rebuilt, and a nix-shell is quite different than the nix sandbox. Many packages that run a build script will rebuild after being extracted. It would appear changing CARGO_HOME always results in crates being rebuilt. I've ran into many issues with cargo picking up system libraries or using system binaries for building stuff. So I actually clean the PATH variable in my shellHook using some python code.
This has been an uphill battle. What we really need for a pure cargo/rust shell is chrooted shells. Combining that with overlayfs would allow us to reuse the target directory. CARGO_HOME could also always be set to /build/.cargo.

Yes, but the chances that two users will have exactly same combination are becoming increasingly small, making the caching largely pointless.
The re-usability of cargo artifacts makes sense only within the same organization, largely around just working on the exactly same project, pinned to the same inputs. It's trivial to plug in cachix (or other private Nix cache) and achieve the same results, without the overhead of global caching infrastructure.

I don't agree with these points. Caching build artifacts between your development environment, CI, and other projects is valuable outside of the 'same organization'.

On top of it crane is specifically designed to avoid the complexity of largely reimplementing chunks of cargo building logic to allow per-crate derivations

It sounds the feature I am suggesting is a non-starter for this project.

Has this project considered exposing cargoArtifacts to cargo in the nix-shell environment?

@SkamDart yes I have considered it, the issue has been finding a robust solution. The last time I tried looking into that there were issues with cargo rebuilding things anyway. Come to think of it, the last time I even tried building in one directory then copying the artifacts somewhere else it would crash the compiler (though maybe this is related to incremental builds?)...
I have a suspicion something might be sensitive to the full path to the ./target directory. It works out fine in the Nix builder since they usually get built in the same (chrooted) path, but this isn't the case for "local" builds. @luveti has also highlighted the additional sources of cache invalidation which are harder to control for outside of the Nix sandbox

It sounds the feature I am suggesting is a non-starter for this project.

I wouldn't go quite that far. If someone is willing to investigate and find a solution that works I'd be happy to include it in the documentation! Even though crane's design is not solely focused on as granular caching of individual crate files, caching is still a design goal to strive for; so far I've been wanting to avoid potential "false advertising" if the theoretical applications don't work out in practice...

yes I have considered it, the issue has been finding a robust solution. The last time I tried looking into that there were issues with cargo rebuilding things anyway. Come to think of it, the last time I even tried building in one directory then copying the artifacts somewhere else it would crash the compiler (though maybe this is related to incremental builds?)...

I've been doing this in CI on a few projects for a while now with the cache working perfectly. I think it's actually pretty neat. The main reason I began looking into this was that I was unhappy with running tests in the Nix sandbox.
The reasons were:

Integration tests might might need to reach out to the (localhost) network
It's tricky to extract out test artifacts like junit reports without making the build always succeed
Making the build always succeed caches failures which is really bad if you ever run into a flaky test

So I just decided to build the deps buildDepsOnly and then extract the build artifacts and run the rest in a dev shell. The key thing is that this shouldn't be your regular dev shell that you work in. It needs to be purposely built to exactly match your buildDepsOnly/buildPackage args, with a few additional crane hooks, and then it works fine.
Btw there's no guarantee that the Nix sandbox build directory stays the same between depsOnly and package either. So this is not unique to dev shells. In fact on Darwin it changes very often because of /tmp collisions.
I'll see if I can clean up and upstream some of this when I find some free time.


unknown command: wd/hub/session

./cm selenoid start --vnc --tmpfs 128
> Using Docker
- Your Docker API version is 1.24
registry.ping url=https://registry.hub.docker.com/v2/
> Selenoid is already downloaded
> Selenoid is already configured
> Starting Selenoid...
> Successfully started Selenoid

then
docker ps -a
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                    NAMES
190dc3339664        aerokube/selenoid:1.6.1   "/usr/bin/selenoid -l"   2 seconds ago       Up 1 seconds        <IP_ADDRESS>:4444->4444/tcp   selenoid

docker exec -it selenoid /bin/sh
/ # ps aux
PID   USER     TIME   COMMAND
    1 root       0:00 /usr/bin/selenoid -listen :4444 -conf /etc/selenoid/browsers.json -video-output-dir /opt/selenoid/video/ -conf /etc/selenoid/browsers.json -video-output-dir /opt/seleno
   13 root       0:00 /bin/sh
   19 root       0:00 ps aux
/ # cat /etc/selenoid/browsers.json
{
    "chrome": {
        "default": "66.0",
        "versions": {
            "65.0": {
                "image": "selenoid/chrome:65.0",
                "port": "4444",
                "path": "/wd/hub"
            },
            "66.0": {
                "image": "selenoid/chrome:66.0",
                "port": "4444",
                "path": "/wd/hub"
            }
        }
    }
}

i got json response "unknown command: wd/hub/session"
OS ubuntu 14.04
php 5.6
facebook/webdriver 1.1

@ivanbogomoloff CM generates browsers.json with correct path - you incorrectly modified it.

@ivanbogomoloff any updates? did it help?

Closing because of inactivity. Feel free to reopen if having any more questions.

@vania-pooh
Also having the same problem:
version: '3'
services:
  selenoid:
    image: "aerokube/selenoid"
    network_mode: bridge
    ports:
      - "4444:4444"
    volumes:
      - "./:/etc/selenoid/" # assumed current dir contains browsers.json
      - "/var/run/docker.sock:/var/run/docker.sock"
  selenoid-ui:
    image: "aerokube/selenoid-ui"
    network_mode: bridge
    links:
      - selenoid
    ports:
      - "8086:8080"
    command: ["--selenoid-uri", "http://selenoid:4444"]

{
  "chrome": {
    "default": "67.0",
    "versions": {
      "67.0": {
        "image": "selenoid/vnc:chrome_67.0",
        "port": "4444",
        "path": "/wd/hub"
      }
    }
  }
}

>           raise exception_class(value)
E           selenium.common.exceptions.WebDriverException: Message: unknown command: wd/hub/session

What is worng with this configs?

For chrome browser path should be "/" instead of "/wd/hub".
2018-06-13 9:27 GMT+03:00 zeburek<EMAIL_ADDRESS>
@vania-pooh https://github.com/vania-pooh
Also having the same problem:
version: '3'services:
selenoid:
image: "aerokube/selenoid"
network_mode: bridge
ports:
- "4444:4444"
volumes:
- "./:/etc/selenoid/" # assumed current dir contains browsers.json
- "/var/run/docker.sock:/var/run/docker.sock"
selenoid-ui:
image: "aerokube/selenoid-ui"
network_mode: bridge
links:
- selenoid
ports:
- "8086:8080"
command: ["--selenoid-uri", "http://selenoid:4444"]
{
"chrome": {
"default": "67.0",
"versions": {
"67.0": {
"image": "selenoid/vnc:chrome_67.0",
"port": "4444",
"path": "/wd/hub"
}
}
}
}

      raise exception_class(value)

E           selenium.common.exceptions.WebDriverException: Message: unknown command: wd/hub/session
What is worng with this configs?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/aerokube/selenoid/issues/448#issuecomment-396827961,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABWNbZTRI_F8nOZuQEA4OViwJD3ZNSRZks5t8LC_gaJpZM4UNd3T
.

So yes, now I'm understand what are you talking about
ср, 13 июн. 2018 г., 9:30 Alexander Andryashin<EMAIL_ADDRESS>
For chrome browser path should be "/" instead of "/wd/hub".
2018-06-13 9:27 GMT+03:00 zeburek<EMAIL_ADDRESS>
@vania-pooh https://github.com/vania-pooh
Also having the same problem:
version: '3'services:
selenoid:
image: "aerokube/selenoid"
network_mode: bridge
ports:

"4444:4444"
volumes:
"./:/etc/selenoid/" # assumed current dir contains browsers.json
"/var/run/docker.sock:/var/run/docker.sock"
selenoid-ui:
image: "aerokube/selenoid-ui"
network_mode: bridge
links:
selenoid
ports:
"8086:8080"
command: ["--selenoid-uri", "http://selenoid:4444"]

{
"chrome": {
"default": "67.0",
"versions": {
"67.0": {
"image": "selenoid/vnc:chrome_67.0",
"port": "4444",
"path": "/wd/hub"
}
}
}
}

raise exception_class(value)
E selenium.common.exceptions.WebDriverException: Message: unknown
command: wd/hub/session

What is worng with this configs?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/aerokube/selenoid/issues/448#issuecomment-396827961
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/ABWNbZTRI_F8nOZuQEA4OViwJD3ZNSRZks5t8LC_gaJpZM4UNd3T
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/aerokube/selenoid/issues/448#issuecomment-396828633,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AT4y48-vnyowFRhWkFyAmfYfl341MMZXks5t8LGNgaJpZM4UNd3T
.


Not all toolchains contain all targets

I was looking at my disk space usage, and the rustup directory was showing prominently, so I took a dive in the directory and noticed something weird: I have stable, beta and nightly toolchains installed, and 5 different targets (android-arm, windows, darwin, linux x86-64 and x86), but somehow, the beta directory only contains the linux x86-64 target.
I have no idea how I got in this situation, and I also have no idea how to remedy it. rust target list shows all five, and I haven't found a per-toolchain way of installing targets. I guess a way around would be to remove targets and re-add them?

This is the expected behaviour - targets are installed for a specific toolchain (if unspecified, they are installed to the currently active toolchain) - as to do otherwise would result in a quadratic increase in the number of components being installed.
When adding a target, you can specify a different toolchain using the --toolchain argument to rustup.


Case-sensitive strings are an affront to everything we hold dear

As we all know, string manipulation is hard. Luckily for all of us, the Execution Agent Engineering Task Force (EXAETF) saved us from a lot of the trouble of strings by mandating back in the 80s that all strings be ASCII encoded and strictly case-insensitive. That's why all the most advanced computer systems of today, from highway signs to bank accounts to MMORPG backends, work exclusively in case-insensitive ASCII strings.
This is why I was surprised to find that this (very neat) syntax highlighter program had somehow decided that case sensitivity was a thing again! Imagine my surprise when I typed a benign copy command only to realize that it was not highlighted. However, COPY seems to get highlighted just fine. I knew something was afoot when I saw this.
Of course, any conformant EDE (EXA Development Environment) will convert input text into a standard case-insensitive format (generally upper-case) upon entry. It should therefore be harmless to support case variants within this extension. Please consider following universally-adhered-to EXAETF standards regarding strings within your "visual" coding extension.
Happy hacking and thanks for the extension.

v1.3.0 should allow lowercase instructions, but some might be accidentally displayed as invalid. If you see any weird behavior please open another issue!

Looks fixed on my end, thanks! Please note the image in your README is now out of date and still showing lowercase instructions not highlighting. Doesn't seem super urgent to fix but might generate some false bug reports.

🤦 I'll get that updated, good catch.


fix for noetic

@pazeshun

@wkentaro can you merge this PR?
or @pazeshun can you host baxter_interface in your fork or jsk fork?


What about a yaml build file example

I came to this page looking for example of how to do a variable substitution in appsettings.json from my yaml build file.

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

ID: 315ff823-9992-9f9b-62a1-42ce622ed41c
Version Independent ID: 72ec3ffc-1dc9-b2dc-e3d4-4f14deae3720
Content: File transforms and variable substitution - Azure Pipelines
Content Source: docs/pipelines/tasks/transforms-variable-substitution.md
Product: devops
Technology: devops-cicd
GitHub Login: @RoopeshNair
Microsoft Alias: ronai

@chillbilly79 Thank you for the feedback, assigning this to the author for review.

The document has been updated and I'll be closing the issue. Thank you for the feedback and feel free to open a new issue if you have any more feedback.


Add full range of same{Unit} functions.

We currently have sameDay which is a helpful utility to compare two dates with reduced resolution, which I find helpful in many real-world applications. However, it would be nice to include a full range of these utilities:

sameSecond
sameMinute
sameHour
~sameDay~ ✅
sameYear

@justin-schroeder You can assign this to me, I will add them soon

@justin-schroeder sameMonth we skip, or you forgot to mention it?


SAK-43223 - New Assignments - Add due date to Calendar should be checked by default

The biggest complaint from students that we get at Western is that instructors underutilize the calendar. The option to "Add due date to calendar" is currently unchecked by default. It would be much more helpful for students if we flip the default.
Implement a sakai.property to specify the default for this checkbox:
asn.due.date.to.calendar.default=true (default)

Also need to document new sakai.property in default.sakai.properties.


Disable coverage for derived traits

In a library I work on, we add Derive traits on public structs so that our clients can use them, we fairly often don't need them in our internal work, and we don't want to keep adding tests just to verify that default trait works.
The result is that a lot of our coverage for code like this:
#[derive(Debug, PartialEq, Eq, Clone, Hash, PartialOrd, Ord, Copy)]
#[non_exhaustive]
pub enum ExtensionType {
    /// Transform Extension Type marked as `t`.
    Transform,
    /// Unicode Extension Type marked as `u`.
    Unicode,
    /// Private Extension Type marked as `x`.
    Private,
    /// All other extension types.
    Other(u8),
}

gets flagged with:

Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::fmt::Debug>::fmt
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::fmt::Debug>::fmt
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::cmp::PartialEq>::eq
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::cmp::PartialEq>::eq
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::clone::Clone>::clone
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::clone::Clone>::clone
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::hash::Hash>::hash::<>
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::hash::Hash>::hash::<>
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::cmp::PartialOrd>::partial_cmp
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::cmp::PartialOrd>::partial_cmp
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::cmp::Ord>::cmp
Unexecuted instantiation: <icu_locid::extensions::ExtensionType as core::cmp::Ord>::cmp

which makes the coverage noisy and less useful to notice actual coverage gaps.
How can we disable coverage for default derived traits?

This is the upstream issue: see https://github.com/rust-lang/rust/issues/84605#issuecomment-984287186 and subsequent 3 comments.

This will be fixed in https://github.com/rust-lang/rust/pull/120185.


Update to nigthly 2019-01-11

The panictry macro is now private, so I just copied it.

@Techcable this PR has become pretty significantly out of date. Do you mind rebasing? If the changes were simple it may be easier just to start fresh.

panictry is no longer being used.


Edit: message.content always returns a string

Not to sure but this could be a simple fix for system messages having "no message content".
Everytime someone uses the client.on("message",...) function they have to include a check if message.content even exists when wanting to work with message.content since if you don't the program breaks every time it recieves a system message/a message with just an attachment, which returns a message with undefined content. In my opinion making message.content always return a string is a better alternative to undefined. It would make using revolt.js more convenient for most of the developers.
Edit: If there are any other valid reasons for making message.content undefined you can close this but in my opinion this is a good fix for the current problem system messages cause.
Also since messages with just attachments can be edited and then have message content changing their content to be a string but empty would also make sense.
Please make sure to check the following tasks before opening and submitting a PR

[x] I understand and have followed the contribution guide
[x] I have tested my changes locally and they are working as intended
[x] These changes do not have any notable side effects on other Revolt projects ¯\_(ツ)_/¯

-> These changes could potentially break a very small number of Revolt projects but all they would have to do to avoid this is changing the code that checks wether message.content exists to checking message.content's length.

I feel like this is somewhat unnecessary- it doesn't seem that costly to just check for message.system, and a message's content may be null if it purely consists of embeds

I feel like this is somewhat unnecessary - it doesn't seem that costly to check if message.content is null

True but in my opinion having one general response type would just make it easier to work with revolt.js. I just don't see a need for using undefined when the only real use case is to avoid it.


feat: derived metrics use different line style

SUMMARY
The legacy line chart(NVD3) with the time shift has a feature that the derived metrics were displayed dashed line rather than a solid line. For example, a Line Chart has a metric be called sum(sales), and select time shift 1 month ago in Advanced Analytics, the line of sum(sales) was displayed solid line and derived metric sum(sales)__1 month ago was displayed dashed line.
This PR introduces this feature on the new chart.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

After

Before

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[x] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[x] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up

/testenv up


feature runtime filter prune when column  stats are not available

Proposed changes

prune rf when  column  stats are not available
print rf in "explain shape plan", both join side and apply side
add regression case to check plan shape/rf/rf prune for tpch_sf1000 (stats are not available)

Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall


Error requesting jobs

I'm sure this is something to do with my code or setup, but I'm getting an error trying to fetch jobs from beacon. Strangely, if I run the test suite everything seems to work fine.
Here's the error I'm seeing:
Error: null
Success: true
_http_outgoing.js:355
    throw new Error('"value" required in setHeader("' + name + '", value)');
    ^

Error: "value" required in setHeader("User-Agent", value)
    at ClientRequest.OutgoingMessage.setHeader (_http_outgoing.js:355:11)
    at new ClientRequest (_http_client.js:85:14)
    at Object.exports.request (http.js:31:10)
    at Object.exports.request (https.js:199:15)
    at Request.start (/home/luke/work/beacon-data/node_modules/request/request.js:708:30)
    at Request.end (/home/luke/work/beacon-data/node_modules/request/request.js:1405:28)
    at end (/home/luke/work/beacon-data/node_modules/request/request.js:433:16)
    at /home/luke/work/beacon-data/node_modules/request/request.js:447:9
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)

Here's the code:

var beacon = new Libbeacon();
beacon.login('beacon-id', 'password', function(err, success) {
    console.log("Error: " + err);
    console.log("Success: " + success);

    beacon.get('Jobs/1', {}, function(error, data) {
        console.log(data);
      });
});

If you can spot anything that I'm doing wrong I'd be appreciative. Thanks, Luke

uhh pretty sure @OSPFNeighbour has a fix

Add this after line 156 in libbeacon/lib/main.js
options.headers['User-Agent'] = this._userAgent;

Thanks Tim, that fixed it for me. That line seemed to be in my copy from npm already, but using userAgent instead of _userAgent? Anyway I've added it in with a pull request.

Fixed in #2


:memo: add tsdoc for package utils

Description
This PR add dev documentation for the package utils.
The documentation will be following TSDoc and generated using Typedoc.
Checklist

[x] My changes follow the contributing guidelines of this project.
[ ] I have performed a self-review of my code.
[ ] I have made corresponding changes to the documentation.
[ ] I have added tests that prove my fix is effective or that my changes work.
[x] New and existing unit tests pass locally with my changes.

coverage: 93.961% (+0.007%) from 93.954% when pulling 1f93a7b7e694ca98b8ba3a0cd85e659a3a17f0e4 on docs/package-utils into 399fcf2e2a2bb0a2de243aed7f559329904ba142 on main.


Multipart with no file causes InternalServerError

Problem statement
When I do:
curl -X POST -v -H "Content-Type: multipart/form-data; boundary=------------------------a31e2ddd4b2c0d92" http://localhost:8080/v1/file
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8080 (#0)
> POST /v1/file HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: multipart/form-data; boundary=------------------------a31e2ddd4b2c0d92
>
< HTTP/1.1 500 Internal Server Error
< Content-Type: application/json
< Date: Thu, 01 Feb 2018 16:58:23 GMT
< Content-Length: 49
< Connection: close
<
* Closing connection 0
{"code":500,"message":"multipart: NextPart: EOF"}

I'm getting a 500 InternalServerError, but I think it ought to be returning a 4XX error instead as the error is on the client.
Swagger specification
2.0
Steps to reproduce
"paths": {
    "/file": {
      "post": {
        "summary": "Deposit New File (binary).",
        "description": "Deposits a new File (binary) into SDR. Will return the SDR identifier for the File resource (aka the metadata object generated and persisted for management of the provided binary).",
        "operationId": "depositNewFile",
        "consumes": ["multipart/form-data"],
        "produces": ["application/json"],
        "parameters": [{
          "in": "formData",
          "name": "upFile",
          "type": "file",
          "description": "Binary to be added to an Object in TACO.",
          "required": true
        }],
     }
  }
}

Environment
swagger version: 0.13.0
go version: 1.9
OS:   OSX

It seems that the parsing error return directly without being wrapped by go-openapi/errors. Hence the code 500.
I would say it's there: https://github.com/go-swagger/go-swagger/blob/dfe8aa7cd3ac65f8d754cdf9ae285dd52a42e1d3/generator/templates/server/parameter.gotmpl#L138
If you take a look below, other errors once the form is properly parsed are well handled with 4xx.

with PR #1449 parsing errors on multiform data would result in HTTP 400


-o flag to set output binary file path for gb build. fixes #309

When we pass tags through gb build for project foo (e.g. gb build -tags 'production monitoring') gb generates bin file foo-production-monitoring while we expects just foo.
The idea is to add -o flag to specify output file name(e.g. db build -tags 'production monitoring' -o SOME_PATH/foo')

Codecov Report

Merging #696 into master will decrease coverage by -0.18%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #696      +/-   ##
==========================================
- Coverage   53.32%   53.15%   -0.18%
==========================================
  Files          40       40
  Lines        3036     3044       +8
==========================================
- Hits         1619     1618       -1
- Misses       1241     1248       +7
- Partials      176      178       +2

Impacted Files
Coverage Δ

context.go
74.16% <0%> (-1.26%)
:x:

package.go
72.3% <0%> (-1.13%)
:x:

cmd/gb/main.go
8.91% <0%> (-0.09%)
:x:

build.go
78.94% <0%> (-1.19%)
:x:

Continue to review full report at Codecov.

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

any comments/thoughts/etc?

I'm not keen on adding this, gb works on projects not packages, -o implies a specialisation on a single output binary which I don't feel comfortable with.

@davecheney Hi Deve,
Didn't get why you mentioned packages here.
Problem that i wan't to solve is when we build i project with set of flags i don't want the output binary name to change with -flag1-flag2-flag3-etc.
Simple option -o implemented for a wide list of tools that produce something, why gb should be exception?

@davecheney
What if we will ad possibility to set format of output for binary files? like ${project_name}-${tags} or ${project_name}_{$arch_name}?

gb works on projects, and projects can have multiple outputs. Adding -o would put gb in the same position as the go tool; go build -o only works in some cases.

On 13 Mar 2017, at 20:51, Maxim Korolyov<EMAIL_ADDRESS>wrote:
@davecheney Hi Deve,
Didn't get why you mentioned packages here.
Problem that i wan't to solve is when we build i project with set of flags i don't want the output binary name to change with -flag1-flag2-flag3-etc.
Simple option -o implemented for a wide list of tools that produce something, why gb should be exception?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Doesn't that exist already?
What is the problem you are trying to solve?

On 13 Mar 2017, at 21:10, Maxim Korolyov<EMAIL_ADDRESS>wrote:
@davecheney
What if we will ad possibility to set format of output for binary files? like ${project_name}-${tags} or ${project_name}_{$arch_name}?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

What is the problem you are trying to solve?
when we use build flags we got binaries with formatting projectname-flag1-flag2 while need just simple projectname

currently there is a possibility only to set output bin dir.

when we use build flags we got binaries with formatting projectname-flag1-flag2 while need just simple projectname

You get command-flag, not project-name, flag. If there is only one command in your project and it is the name of the project, this will be the same thing.

currently there is a possibility only to set output bin dir.

The output directory is hard coded, that is why files with a different tag have a different suffix.
What would you say to
$PROJECT/bin/tag/tag/tag/binary
so
gb build -tag release would generate $PROJECT/bin/release/command

@davecheney what if we have more than 1 build tag? 5 for example? it is not convenient to build by hand binary path that depends on specified go build flags.

@davecheney what if we have more than 1 build tag? 5 for example? it is not convenient to build by hand binary path that depends on specified go build flags.

But you would know the path, it's the same as the flags you passed in.
Please, there is something you are not telling me, something about how your Ci or build and release process works that has put you in a position of needing to change how gb works. If you can explain what the problem is that you are solving, maybe there is a different way to achieve what you need.

@davecheney

gb build -tag release would generate $PROJECT/bin/release/command

didn't find such logic in the code, could you pls show it? Asking because current gb produced $project/bin/projectname-release for me and not $project/bin/release/projectname

Yes, sorry for the confusion, this was an alternative proposal. It is not implemented.

On 13 Mar 2017, at 22:04, Maxim Korolyov<EMAIL_ADDRESS>wrote:
@davecheney
gb build -tag release would generate $PROJECT/bin/release/command
didn't find such logic in the code, could you pls show it? Asking because current gb produced $project/bin/projectname-release for me and not $project/bin/release/projectname
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@davecheney  so how about proposal for possibility to set output binary format?

I'm sorry, I don't want to add this flag for the reasons I've explained above.
We can talk about alternatives.

On 13 Mar 2017, at 22:09, Maxim Korolyov<EMAIL_ADDRESS>wrote:
@davecheney so how about proposal for possibility to set output binary format?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@davecheney
i am already proposing an alternative
i mean add something like --output-bin-format with usage
gb build --output-bin-format '${name}-${tags}' -tags release
or gb build --output-bin-format '${name}-${arch}'
or gb build --output-bin-format '${name}'
which produce
$projectdir/bin/projectname-release
or $projectdir/bin/projectname-armor$projectdir/bin/projectname`

No, I'm sorry I won't want to add that. It's a more complicated version of -o

On 13 Mar 2017, at 22:15, Maxim Korolyov<EMAIL_ADDRESS>wrote:
@davecheney
i am already proposing an alternative
i mean add something like --output-bin-format with usage
gb build --output-bin-format '${name}-${tags}' -tags release
or gb build --output-bin-format '${name}-${arch}'
or gb build --output-bin-format '${name}'
which produce
$projectdir/bin/projectname-release
or $projectdir/bin/projectname-armor$projectdir/bin/projectname`
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@davecheney it is adoption of -o for gb multi binary semantics.
What would you propose than to achieve same result?

My counter proposal is

do nothing, the name of the final binary is predictable from the inputs
to gb build
-or-, mvoe from $PROJECT/bin/command-tag-tag-tag to
$PROJECT/bin/tag/tag/tag/command

On Mon, Mar 13, 2017 at 10:24 PM, Maxim Korolyov<EMAIL_ADDRESS>wrote:

@davecheney https://github.com/davecheney it is adoption of -o for gb
multi binary semantics.
What would you propose than to achieve same result?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/constabulary/gb/pull/696#issuecomment-286081018, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcA-sBp5Ofz_VGwvajljI7jFHUC2Rwks5rlSdggaJpZM4MViR4
.

Thank you for this pr, but I am not going to merge. It. As I explained I do not want to make -o configurable. I am going to close this pr and the issue.
Thank you for you understanding


Localstorage bug

Attempting to run the JS on the weather page now throws "Cannot access 'displayData' before initialization" as an error.

I fixed this issue and just submitted a pull request.


Make GenerateTypeScript support GenerateType.VersionTolerant

 error MEMPACK028: Type 'XYZ' is annotated GenerateTypeScript, its MemoryPackable only allows GenerateType.Object

Is it possible to make the TypeScript generation support MemoryPackable objects that use GenerateType.VersionTolerant?

We've decided not to do it due to implementation costs.
If someone else makes it, we can accept it...


Preparing release for 1.0.0beta10

This is automatically generated to prepare for the new version

This adds the missing entry for the CHANGELOG.md for version 1.0.0beta9


Installation issue for cellrank in combination with ehrapy

Report
Hi all,
thanks for this wonderful tool. First tests with your provided datasets look really cool. However, so far I could not make CellRank work in combination with ehrapy (tried it on a Mac and Windows machine with either first installing ehrapy 0.7.0 and then Cellrank or the other way round). Basically, after installing CellRank the encoding function (ep.pp.encode) will shoot me an error. Any idea what might be the issue here (screenshot below)?
Thanks all!
Max

Version information
anndata             0.10.6
ehrapy              0.7.0
matplotlib          3.7.1
pandas              2.2.1
seaborn             0.13.2
session_info        1.0.0
PIL                 10.2.0
asttokens           NA
attr                23.2.0
autograd            NA
autograd_gamma      NA
backcall            0.2.0
bs4                 4.12.3
cachetools          5.3.3
category_encoders   2.6.3
causallearn         NA
certifi             2024.02.02
charset_normalizer  3.3.2
colorama            0.4.6
comm                0.2.2
cycler              0.12.1
cython_runtime      NA
dateutil            2.9.0
...
Python 3.9.0 (default, Nov 15 2020, 08:30:55) [MSC v.1916 64 bit (AMD64)]
Windows-10-10.0.17763-SP0
Session information updated at 2024-03-13 22:30

Dear @mhaist94
thank you very much for playing around with it! I'm sorry for the inconvenience.
Here's what's happening:
When you're installing cellrank, it also installs scvelo (https://github.com/theislab/scvelo) which until recently, had a pin of scikit-learn. However, what you actually need is the latest version of scikit-learn.
So to resolve it, you probably just need to force upgrade the sciki-learn version. If you're still running into issues please come back and I'll lay out an explicit chain of commands to 100% get it resolved.

I was also just told that scvelo will make a release this weekend which should fix this properly


Get rid of mod_spatialite dependency

We load mod_spatialite module to sqlite3 because we need some basic ST_* functions like ST_IsEmpty() which are used in triggers of tables of geopackages.
Maybe we can somehow use libgpkg implementations from geodiff?

For geometry-based filtering, we are using more functions from spatialite:

ST_Intersects
ST_GeomFromText
GeomFromGPB

(could be replaced by reading data and then doing intersection tests with shapely)


Plugin api

This is a great tutorial for getting started with writing plugins. However, the following are some questions I expected to find some answers to. I'm not specifically asking for these answers, I just think that this information should be part of the handbook. Especially since the babel website links to this as the only documentation for writing plugins - unless I'm missing someting obvious.
Is there a plugin API? What does the return value of a plugin function do? Are properties other than visitor supported? If so, where can I see which ones? Can a plugin add type definitions? If so, how?

Go to http://slack.babeljs.io for support


Fix code span in README

Fix README.
Motivation:
Code span in README was incorrect.
Modifications:
I Fixed code span in README.
Result:
README has been reformatted.

thanks @uhooi


Dragging not working

on longPress nothing happens :   (
Therefore I can not perform sorting by drag and drop ::: (

Could you post a code snippet of your implementation?
Quick tip: Make sure your TouchableHighlight tag is a the highest most position

The problem was that I haven't used TouchableHighlight at all. At thirst I didn't know that I must embed items in TH. Suddenly I have observed this and fixed it. But thanx anyway.


Check if VoIP certificate already exists

How can I check if VoIP certificate already created?
Foк certificate creation I am using next lane:
lane :make_voip_cert do
output_path = ".."
p12_password = "31415926"
Spaceship.login("#{ENV['APPLE_ID']}")
Spaceship.client.select_team
csr, pkey = Spaceship::Certificate.create_certificate_signing_request
cert = Spaceship::Certificate::VoipPush.create!(csr:csr,bundle_id:"co.synergetica.Synergy.develop")
x509_certificate = cert.download
certificate_type = "voippush"
filename_base = "#{ENV['PEM_FILE_PREFIX']}_VoIP_XXX"
p12_cert_path = File.join(output_path, "#{filename_base}.p12")
p12 = OpenSSL::PKCS12.create(p12_password, certificate_type, pkey, x509_certificate)
File.write(p12_cert_path, p12.to_der)
x509_cert_path = File.join(output_path, "#{filename_base}.pem")
File.write(x509_cert_path, x509_certificate.to_pem + pkey.to_pem)
end

First of all, I like the 8 digits of Pi password. :)
You can run through all distribution certificates and see if there are any that match the type. Something like this should work.
Spaceship::Portal.login("","")
Spaceship::Portal.select_team
certs = Spaceship::Portal::Certificate::VoipPush.all()
if certs.length > 0
  voip_first = certs.first
end

Alternatively, you can store the certificate id somewhere and use that to retrieve the certificate - if you need it.

Thanks a lot! One more question, how can I find specific certificate by name?

Done with
cert = Spaceship::Portal::Certificate::VoipPush.all().find do |certificate| certificate.owner_name == "app_bundle_id" end
        if cert.nil?
            ...
        end


Remove support for configuring validation options

In preparation for #31, this commit removes support for global
and matcher-specific options, like strict: true.
The json_schema gem does not accept similar configuration
options, so we'll remove support entirely.

@mike-burns I like that idea!
I've opened https://github.com/thoughtbot/json_matchers/pull/78.
Once that's ready to go, how would you suggest we version that release?
The current version is 0.8.0. Is a deprecation warning a patch version change, or a minor version change?


Fix Throttler initialization.

Ensure that the Throttler last allowed time is zero-initialized. This field was uninitialized on macOS with clang 14, causing test failures.
Since we are here, we also switch the Throttler to use the chrono steady_clock (since we don't want it to jump during a throttle interval), and remove virtual functino annotations, since Throttler can't reasonably serve as a base clase.

[ci approve autest]

[ci approve autest]

[ci approve autest]

[ci approve autest]

polite_hook_wait appears to be a spurious failure @dragon512
 ./autest.sh --ats-bin=/opt/ats/bin --filter=polite_hook_wait
Python 3.6 or newer detected!
python3-dev/devel detected!
pipenv detected!
Using the pre-existing virtual environment.
Environment config finished. Running AuTest...
Running Test polite_hook_wait:... Passed

Generating Report: --------------
Total of 1 test
  Unknown: 0
  Exception: 0
  Failed: 0
  Warning: 0
  Skipped: 0
  Passed: 1


No client export works, only setPlayerAppearance.

Hi there, I was having a problem since two days or more. The problem start when I try to execute a client exports function, for example the setPedComponents and the getPedComponents well saved in the SQL.  When I start the command it throw me this console error, Gyazo Error .
If anyones knows the error tell me please my head is going to explode, I'm using right now the no build 1.2.0 version.

I actually found the error.


add python image to crossdock test and update go image to use master …

…branch
This is for [https://github.com/uber/jaeger-client-java/issues/35]

LGTM.
I think you want to say "Fixes #35" in the description to have the issue automatically closed once this is merged.


SSL Support for API/RPC Endpoints?

Can we get support for SSL endpoints?
RPC_ENDPOINT - Node RPC to use ex: http://your_node:26657
API_ENDPOINT - Node API to use ex: http://your_node:1317

I am actually using https endpoints and do not have any kind of issue, could you describe the issue you are having?

closed due to lack of information


Add ISOE and ISOF partition to anomaly monitor and anomaly subscription mappings

Description of changes:
Add ISOE and ISOF partition to anomaly monitor and anomaly subscription mappings.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Looks like automated build is failing, can't find symbol
Error:  /home/runner/work/aws-cloudformation-resource-providers-cost-explorer/aws-cloudformation-resource-providers-cost-explorer/anomalymonitor/src/main/java/software/amazon/ce/anomalymonitor/AnomalyMonitorBaseHandler.java:[33,73] cannot find symbol
  symbol:   variable US_ISOF_SOUTH_1
  location: class software.amazon.awssdk.regions.Region

Maybe we need to bump our SDK version?


deps: Remove dependency on github.com/c9s/goprocinfo

What this PR does
This PR removes dependency on an old module github.com/c9s/goprocinfo. The same functionality is also in module github.com/prometheus/procfs, that is already imported.
Changes:

Replace usage of github.com/c9s/goprocinfo with github.com/prometheus/procfs
Update github.com/prometheus/procfs to latest released version v0.15.1

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note
None

/sig code-quality

/cc @0xFelix @xpivarc

I need to fix unit tests on ARM.
/hold

Fixed tests on ARM.
/unhold

/retest pull-kubevirt-conformance-arm64

/test pull-kubevirt-conformance-arm64

/hold

@akrejcir Hey! thank you for the effort! I see that the PR is pretty big, perhaps you can decouple the third bullet:

Added pkg/monitoring/domainstats/downwardmetrics to linter

To a follow-up PR. That would make it easy for the review focus.

Ok, I've removed the last commit.
/unhold

@nestoracunablanco Please advise, does this look compatible with s390x?

Hi @0xFelix, thank you for reaching out. I'm glad to review it, but as this is a really big PR, it will require a significant effort to analyze. Let me discuss it with the team first to schedule it appropriately.

/retest

Hi @0xFelix, thank you for reaching out. I'm glad to review it, but as this is a really big PR, it will require a significant effort to analyze. Let me discuss it with the team first to schedule it appropriately.

I think this PR is not that important to spend a lot of time on it.
The code that this PR refactors collects some host metrics and provides them to the guest.
If there is some error collecting the metrics, it will log the error and continue without the metric.

IMO it doesn't hurt to get this reviewed. We're not in a rush to get this in, right?

True. I just didn't want to give people more work.

The CI is passing.
Can someone please take another look?

To give you more context about this PR:

The old library github.com/c9s/goprocinfo only works correctly for x86. On ARM and maybe other platforms the code that uses the library would silently fail, and not include the host sockets metric.
I think kubevirt should not depend on random personal github repositories. This PR just removes the first one from the top in go.mod.

/cc @avlitman @sradco @machadovilaca

@akrejcir regenerate the BUILD.bazel and looks good to me

/approve

/retest

@machadovilaca , I see you don't have approve role.
Maybe, @xpivarc , can you approve this?

Maybe @enp0s3 can help us? :pray:

/approve
@akrejcir Thank you for the effort!


[10.x] Accounting for timezone when calcualting lastDayOfTheMonth

This is a hotfix for #49211
This is a draft as a Test needs to be written in tests/Console/Scheduling/FrequencyTest.php.

Given the following:
$schedule->command(ExampleCommand::class)->lastDayOfMonth('23:30');

Should it run the schedule at 23:30 (UTC) or 23:30 (Local)?

@crynobone I believe it should schedule at 23:30 application timezone. So if the config is set to UTC, then it should fire on UTC - from my understanding at least.

Closing because of inactivity.


sarah jorgenson emberjs auth

Hi @SarahJay55!
I will take care of the following steps for preparing the post for publication:

adjusting the Jekyll frontmatter to match our formats and adding tags/categories,
using the appropriate Jekyll syntax for code fencing,
adding 2 Twitter quotes,
getting design assets,
and ensuring the post displays properly when run on the blog locally

There are two things that I will need from you:

a picture (Gravatar URL is preferred)
and a link to the social account where you'd like your author link to go; most of us use Twitter for this, but any link you prefer will work as long as it's public


Fix: Resolving Issues #12 and #17 by adding SMB to user module

Resolves #12 and #17

SMB required in Module due to Mut-ex nature with password_disabled

I've integrated the smb parameter to the user module.
I haven't made it mutually-exclusive with passwd_disabled, because that combination is apparently legal under CORE. I've opted to just document the limitation.


Error: initializing netbox controller

I am setting up a new instance of ip controller, It looks like a get request to netbox pod was executed successfully. When the ip controller pod does a post i am getting a error.
The below is from pod logs of ip controller:
Error: initializing netbox controller: "upserting UID field: executing request: 400 Bad Request: {"object_types":["This field is required."]}"
The below is the pod log from netbox for the transaction:
"POST /api/extras/custom-fields/ HTTP/1.1" 400 44 "-" "Go-http-client/1.1"
Its not clear to me what went wrong. Can anyone help?

👋 what version of NetBox were you running this against?
This error is coming from the UpsertUIDField function, which is responsible for creating the uid custom field. As the error implies, the controller is not passing a value for object_types field in the request to create the custom field.


Detect guids that should not be treated as permalinks

If a guid does not start with "http" and it contains no slashes, and there’s a link that does start with http, treat the guid as not a permalink.
This is imperfect, but it should be pretty good. This will certainly catch the common case where a guid is just a integer.

Really, the simple thing to look for is probably no-slashes.

Fixed in RSParser.


Buffer sock output

Result of my review of PR #26. The last commit is rather a curiosity, yet I spent fruitlessly 2h trying to hack a more elegant solution. Obviously I failed, but happy to hear your comments :)

I picked the first two commits from this branch, and will close this.
I have another refactor of the timed buffering in the works to support a Writer API with similar functionality to the FrameStreamSockOutput. This refactor seems to simplify things further still.


How to implmenet something like Rails' collection_checkboxes

I'd like to create a form that holds both a Person's fields (first name, last name, etc') and a checkboxes list of the selected hobbies, just like Rails' collection_check_boxes (http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/collection_check_boxes)
The hobbies come from a different data source so their number may vary.
How would you recommend implementing that?
Thanks!

Something along the lines of
const hobbies = ['surf', 'tennis']

const hobbiesProps = {}

hobbies.forEach(h => hobbiesProps[h] = t.Boolean)

const Type = t.struct({
  firstName: t.String,
  lastName: t.String,
  hobbies: t.struct(hobbiesProps)
})

Thanks for the super-fast response!
I'll try this one and let you know.


tests: change placeholder for politicians page

What changed? Why?
UI changes
Web

Old 👴
New 👶

old screenshot
new screenshot

Mobile Web

Old 👴
New 👶

old screenshot
new screenshot

Notes to reviewers

How has it been tested?

[ ] Locally
[ ] Development
[ ] Unit test
[ ] Functional test

Change management
type=routine
risk=low
impact=sev5

Gonna close this out for now, please reopen once it's ready for review :)


add filters when retrieving timeseries data from database

This PR adds the option to apply filters when retrieving timeseries data for a Scenario or TimeSeries object.

this PR depends on the ixmp.jar from #17


Html Extension Render Icon is not working

Dear All,
The Html Extension Render Icon is not yet working due the parameter passed parameter type HtmlHelper is not exist in .NET Core. Instead the code need to be IHtmlHelper.
public static IHtmlContent RenderIcon(this IHtmlHelper helper, IHtmlContent icon, object htmlAttributes, params string[] extraClasses)     {}

@OmarAlkylaney HtmlHelper does indeed exist in .Net Core >= 5.x in the Microsoft.AspNetCore.Mvc.ViewFeatures namespace... however, this is a good pickup.  Fix coming.

Fixed on 3.1.5.


yarn: add yarnpkg bin alias output

Motivation for this change
Because the hadoop project also provides a binary yarn, the yarn project added this alias to help people with both hadoop and yarn installed.  Some scripts in the wild use this alias for the same reason.
With this change, those scripts are usable with the nixpkgs yarn package.
Things done

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

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

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

I am thinking we should just move to using nodePackages.yarn. It runs yarn's package.json which sets up this symlink automatically.

@matthewbauer I agree, and I tried to make that change earlier in the year (#35063).
Updated to simply symlink.  The wrappers work fine, but I don't see why they'd be necessary.

Updated to fix merge conflict.


Browservice not loading pages

I'm running Windows 10 (Version 21H2) and for some reason, pages do not display even when I use localhost.
Tried resetting the router and re-plugging in my network, but to no avail.
I'm wondering if this is some sort of configuration issue. If it is, how can it be fixed?

Cannot reproduce on my Windows 10 21H2 installation with the latest Browservice version <IP_ADDRESS>. Some ideas that could help us get to the bottom of this; please try each one and report the results:

Which version of Browservice are you running? If it's not the latest version <IP_ADDRESS>, switch to using that. If you are indeed running the latest version, then try whether the issue is already present in the previous version <IP_ADDRESS>.
Are using the 32-bit or the 64-bit version of Browservice (that is, the release file ending in -windows32.zip or -windows64.zip)? Whichever you use, try the other one and see whether you still get the same issue.
Please show the log output in the Browservice console window for a run in which you try to navigate to google.com and nothing shows up; it might contain clues on what is going wrong.
Try different GL implementations for Chromium using the use-gl Chromium command line argument, by trying each of the following commands for invoking Browservice:browservice.exe --chromium-args=use-gl=disabled
browservice.exe --chromium-args=use-gl=egl
browservice.exe --chromium-args=use-gl=angle
browservice.exe --chromium-args=use-gl=swiftshader

Try instructing Browservice to go directly to google.com by going to URL http://localhost:8080/goto/google.com. This is to rule out possible issues with keyboard input, particularly the Enter key.

Cannot reproduce on my Windows 10 21H2 installation with the latest Browservice version <IP_ADDRESS>. Some ideas that could help us get to the bottom of this; please try each one and report the results:

Which version of Browservice are you running? If it's not the latest version <IP_ADDRESS>, switch to using that. If you are indeed running the latest version, then try whether the issue is already present in the previous version <IP_ADDRESS>.
Are using the 32-bit or the 64-bit version of Browservice (that is, the release file ending in -windows32.zip or -windows64.zip)? Whichever you use, try the other one and see whether you still get the same issue.
Please show the log output in the Browservice console window for a run in which you try to navigate to google.com and nothing shows up; it might contain clues on what is going wrong.
Try different GL implementations for Chromium using the use-gl Chromium command line argument, by trying each of the following commands for invoking Browservice:browservice.exe --chromium-args=use-gl=disabled
browservice.exe --chromium-args=use-gl=egl
browservice.exe --chromium-args=use-gl=angle
browservice.exe --chromium-args=use-gl=swiftshader

Try instructing Browservice to go directly to google.com by going to URL http://localhost:8080/goto/google.com. This is to rule out possible issues with keyboard input, particularly the Enter key.

I am running the latest version (Windows x64).
Also, I believe trying those args should do the trick.

So did you test the diagnostics I suggested? I would very much like to know which ones worked and look at things like log output so that I could figure out what went wrong and possibly change Browservice so that problems like this do not occur in the future.

So did you test the diagnostics I suggested? I would very much like to know which ones worked and look at things like log output so that I could figure out what went wrong and possibly change Browservice so that problems like this do not occur in the future.

Well, use-gl=disabled and angle did work, but egl and swiftshader didn't.
I also recommend taking a look at my debug.log file. Is it a GPU problem or something? I don't know.
debug.log

I also reset my PC; turns out it could definitely be a GPU problem, since it works fine after the reset.
GPU: NVIDIA GeForce GTX 960
Driver Version: <IP_ADDRESS>56 (Post-Reset)
Maybe update support for the latest GPU drivers since they constantly update every now and then?

So I installed the GeForce Experience Application; doesn't affect Browservice at all; it's completely fine.
So my guess is that there was something wrong with a Windows component or something, but I don't know.


refactor: support dynamic route segments + scroll-based pagination and slew of other improvements

🎃 Happy Halloween 🎃
NyumatFlix has been back for one week now, and we've gotten over 2,000 unique visitors since re-launch! 🚀
It's awesome to be back in the swing of things again, but this means more work, and more enhancements that can be made. I had some free-time today, so I thought why not just address all of them in one big ole' refactor.
What I did

Enabled support for intersection observer based data fetching and infinite scrolling pagination on all pages
Fixed eslint configuration by removing react-hooks since next/core-web-vitals already has it
Declared new types taking advantage of unions to support legacy behavior I don't have time to re-write yet
Added a new utility fetchTrailerUrl to fetch the trailer for use during previews of the content
Split static endpoints for fetching both movies and tv shows to different keys for re-usability
Modified splash screen <p> styling to have text shadow "outlines" and added a brutalist "Get Started" button
Removed person filtering from the Body component since MediaItem now encompasses all paths
Enhanced Card component to include more metadata and support the mobile experience better
Added Modal for previewing media content metadata without routing to watch the content
Removed catch-all dynamic route for genre selection on [...filter] as it's not needed anymore
Enabled support for long press previews and modal movie/tv show metadata on mobile devices
Added a new component CategoryRow for content rows by category and increased re-usability
Styled a custom scrollbar for support on all major browsers that fits the design system
Applied guards around genre badge generation for verifying existence before render step
Now that eslint is fixed, I addressed all the regressions one by one. Took a while, but we're good.
Removed feature parity between movie and tv show pages by adding dynamic route segment scroll-based pagination for TV shows

What's next
Overall there's a bunch of minor design and UX improvements (like #24) I want to do.
However, I'm big on functionality > everything so it won't come until this new code is established and I don't observe any major regressions.

For future me: clear all of those TODOs!
Further refine the mobile behavior
More pages in the future?
Slainey wants you to move the cast list down

What the changes look like
New splash screen brutalism look

Dynamic route segment per-category for tv shows

New modal preview with trailer for all media content types

Going to experiment with a new hero design for the watch page(s). Something a bit more sleek.

Yea I'll probably just do an A//B type thing with this for movies, and the old UI for tv shows, for now.


Installing this package seems to force installation of tensorflow.

When installing this via pip install positional-encodings the installer automatically downloads and attempts to install tensorflow. This is undesirable for some users who are using pytorch instead.

Hi @curt-tigges! You're right, this is undesirable. I think that the best thing to do is to change the package such that it is installed something like this:
pip install positional-encodings[pytorch,tensorflow]

This would install the package as it is, with the option for the user to take what they want.

Thanks, seems resolved!


feat(comments): disable warning for todo comments

Turn off TODO rule so linting tests pass on CircleCI.  Also reduces noise.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


saying CPU is compatible when it isn't

App says computer is ready but it should be failing on CPU check:
Intel Core i5 6200U

should be fixed here https://github.com/builtbybel/ReadySunValley/releases/tag/0.70.0


Multi Series Sequences Colour Sequences On Each New Series

Would be nice if each line was a different colour by default within a multi series object.
Think could be done by adding a class to the container. Ideally guess would skip things that aren't series (e.g. gridlines) but that is a minor detail.

Hmm not sure, I can't see how to do this in a generic way and it's pretty easy to do manually with decorate e.g.
multi()
  .decorate((g) => g.attr('class', (d, i) => `series-${i}`))

Have you got an idea for how to do it generically or an example of where the above wouldn't work?

Have been trying to find a good way to do generally.
I thought if we added a common class to the enclosing g on the various series it would be quite straight forward (I think all except area and lines are contained in a g already). This could then have the stroke and fill colours on it and be picked up automatically. Hoped could be used in the stacked implementation as well.

Sorry, I think I'm still missing what you're trying to achieve?
Once upon a time line and area did actually have containers. However, I've been on a one-man crusade to eliminate as many of them as we can because I think superfluous gs in the SVG DOM make it harder to understand, navigate and style.

was aiming a way so that colours could be defined in a single place something like:

.series {
  stroke: #06c;
  fill: #9cf;
}

g.multi.item2 .series {
  stroke: #c60;
  fill: #c96;
}

The multi series can then just append the item# in rotation.
We wouldn't need an extra g as could just add the series class to each of the drawn elements

Submitted a WIP PR #632 showing what I was thinking off.

I'd say it is easy-ish to add classes with decorate, however it is a little more complex with grouped / stacked where you need to use the index for the series being decorated rather than the index of the datum:
https://github.com/ScottLogic/d3fc/blob/master/visual-tests/series/grouped-bar.js#L31
I'd be happy to see a simpler solution to this as long as it is elegant, and also solves the problem for stacked / grouped also.

Most stylistic attributes in SVG are inherited so you can just target the mutli classes e.g. -
g.multi.item2 {
  stroke: #c60;
  fill: #c96;
}

Excluding the edge case @ColinEberhardt mentioned, I still think this is better done as a decorate method e.g. -
const colors = d3.scale.category10();

multi()
  .decorate((g) => g.style({fill: (d, i) => category10(i), stroke: (d, i) => category10(i)}))

my thought on having a series class was to avoid the current split
path.line {
  fill: none;
  stroke: #06c;
}

path.area {
  fill: #9cf;
}

.point>circle {
  stroke: #06c;
  fill: #9cf;
}

.bar>path {
  stroke: #06c;
  fill: #9cf;
}

and unify into a single entry for colour control. As we currently have it set on a very specific level didn't want to change it to affect all child elements.

Ah, I think I get it now! Could we use inheritance of fill/stroke inline styles set by a decorate using a d3.scale.category10 combined with default css which uses fill-opacity/stroke-opacity to appropriately hide/half-show/show the colours?
So maybe by default everything renders in greyscale (apart from ohlc/candlestick?) and the only css we have is for fading the stroke or fill?
I've knocked up a quick JS Bin which shows the how the colours are inherited.

definitely could work for the multi method, will finish off my go with the css class and then take a look at doing it that way

Another thing worth considering is the nth-child CSS selector, which gives more flexibility that classes such as item2, for example, this will style the second multi-series:
g.multi:nth-child(2) path {
    stroke: red;
}

It also works with stacked series:
g.stacked:nth-child(2) path {
    fill: red;
}

I have a feeling that in the past we used decorate due to CSS specificity / inheritance issues, although I cannot remember the specifics.

I did some more playing with having a series class, one thing that came up when I was working with the visual tests is wanting the ability to control the index for different series. Added a seriesIndex property allowing you to control this.
While I like the nth-child idea, think the ability to control the 'index' makes it easy to achieve nice results. Not sure how we could do that with the child index.
Have updated the #632 PR, would appreciate comments. Still need to have a look at how to integrate with stacked/grouped.

This comes across as a pretty specific use-case, which we've previously
dealt with using decorate rather than add more to the API.
I do prefer the idea of a CSS files which would set some default colours
for stacked/multi using nth-of-type (or equivalent).
I'd also like to see the rest of the component CSS moved inline to
control fill/stroke
opacity and overflow appropriately to produce appropriate greyscale
renderings (maybe as a default decorate?).
When both of the above are included you're left with a decent colourful
rendering which you can either theme by specifying custom CSS, or decorate
to your hearts content.
On Tue, 20 Oct 2015 at 11:25 James Dunkerley<EMAIL_ADDRESS>wrote:

I did some more playing with having a series class, one thing that came up
when I was working with the visual tests is wanting the ability to control
the index for different series. Added a seriesIndex property allowing you
to control this.
While I like the nth-child idea, think the ability to control the 'index'
makes it easy to achieve nice results. Not sure how we could do that with
the child index.
Have updated the #632 https://github.com/ScottLogic/d3fc/pull/632 PR,
would appreciate comments. Still need to have a look at how to integrate
with stacked/grouped.
—
Reply to this email directly or view it on GitHub
https://github.com/ScottLogic/d3fc/issues/629#issuecomment-149514715.

Will have a go at using the nth of type and see how that works out

Have created another WIP PR #640 with the styles done via multi class with an nth-of-type property. Less changes needed for this method, I think. Not sure the best way to set the default stroke and fill to affect only the right things on this method.
Also updated the original PR so both are running all of the visual tests completely.
Going to look at the stacked and grouped charts next and see how can integrate into those.

I'm much more in support of the nth-child approach, it is consistent with the way we are currently using CSS.
I'll just add a .gitignore rule on @chrisprice computer for *.css ;-)

Ok will close the other PR and work on integrating stacked and grouped within the #640 one

Added in .stacked:nth-child entries to the series.css.
The stacked example is not automatically coloured without a decorate function (admittedly in pastel fills but hey):

Think this is a good solution. Only thing don't love is changing the style of svg and text globally (hence my suggestion of adding a series class to everything).

Ohh pretty, where are you getting the colours from BTW? Are they from d3.series.category10?

Colour sequence came from rotating the hue of the default blue through 30 degrees.


'rm'/'mv' is not recognized as an internal or external command

This is an error I get when building on windows.
A workaround would be using rimraf and move-file for cross-platform support.

I have plans to fix this. #28 brought up this issue as well. Just haven't had time to implement the fixes.


Add comprehensive error messages to the MsRestAzure library

Currently most errors are thrown without a message, like:
fail CloudError

This task is about checking whether throwing CloudError is correct in every place and adding proper error message.

Done at 33c2519ee23edb676942fb675daaccb225cf227b.
Full restructured error handling.


vm.$el is an HTML comment () in Chrome extension Content Script

Vue.js version
2.1.10
Reproduction Link
https://github.com/SoullessWaffle/yaglman/tree/comment-repro
Steps to reproduce

$ git clone https://github.com/SoullessWaffle/yaglman.git
$ git checkout comment-repro
$ npm install
$ npm run watch
Open Chrome and go to Extensions, ensure Developer mode is checked in the top right
Click Load unpacked extension and select the project's dist directory
Navigate to any GitHub labels page, e.g. https://github.com/vuejs/vue/labels
Open the Chrome console and look at the logs

What is Expected?
vm.$el is a

 element and a HELLO THERE element appears on the page
What is actually happening?
vm.$el is an HTML comment () and no HELLO THERE element appears on the page
No errors are logged.

Update your webpack config:
...
resolve: {
  alias: {
    vue$: 'vue/dist/vue.common.js'
...

If you're utilizing the vue.min.js and you have a template rendering error, the entire $el gets replaced with an HTML comment. (In my case it was because I was following an old Vue tutorial that didn't account for the change from v-on="click:theFunction" to v-on:click="theFunction".)
This seems weird enough that maybe the "Getting Started" guide should mention it—or maybe the comment could say "Vue template error" instead of just empty mysterious nothingness?


compiler.AnimationParser is not a constructor

Please provide us with the following information:

OS?

Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)

Mac OSX Sierra: 10.12.1 (16B2555)
Versions.

Please run ng --version. If there's nothing outputted, please run in a Terminal: node --version and paste the result here:

ng --version
angular-cli: 1.0.0-beta.20-4
node: 7.1.0
os: darwin x64
Repro steps.

Was this an app that wasn't created using the CLI? What change did you do on your code? etc.

The log given by the failure.

Normally this include a stack trace and some more information.

ng build --prod --aot
0% compilingcompiler.AnimationParser is not a constructor
TypeError: compiler.AnimationParser is not a constructor
at Function.CodeGenerator.create (/Users/iminar/Dev/angular/modules/@angular/compiler-cli/src/codegen.ts:141:9)
at AotPlugin._make (/Users/bengill/development/flo/designer-ui/node_modules/@ngtools/webpack/src/plugin.js:189:54)
at Compiler. (/Users/bengill/development/flo/designer-ui/node_modules/@ngtools/webpack/src/plugin.js:157:75)
at Compiler.applyPluginsParallel (/Users/bengill/development/flo/designer-ui/node_modules/tapable/lib/Tapable.js:156:14)
at Compiler. (/Users/bengill/development/flo/designer-ui/node_modules/webpack/lib/Compiler.js:463:8)
at Compiler.applyPluginsAsync (/Users/bengill/development/flo/designer-ui/node_modules/tapable/lib/Tapable.js:73:70)
at Compiler.compile (/Users/bengill/development/flo/designer-ui/node_modules/webpack/lib/Compiler.js:456:7)
at Compiler. (/Users/bengill/development/flo/designer-ui/node_modules/webpack/lib/Compiler.js:219:10)
at Compiler.readRecords (/Users/bengill/development/flo/designer-ui/node_modules/webpack/lib/Compiler.js:367:10)
at Compiler. (/Users/bengill/development/flo/designer-ui/node_modules/webpack/lib/Compiler.js:216:9)
at next (/Users/bengill/development/flo/designer-ui/node_modules/tapable/lib/Tapable.js:81:11)
at Compiler. (/Users/bengill/development/flo/designer-ui/node_modules/webpack/lib/CachePlugin.js:34:58)
at Compiler.applyPluginsAsync (/Users/bengill/development/flo/designer-ui/node_modules/tapable/lib/Tapable.js:85:13)
at Compiler. (/Users/bengill/development/flo/designer-ui/node_modules/webpack/lib/Compiler.js:213:8)
at next (/Users/bengill/development/flo/designer-ui/node_modules/tapable/lib/Tapable.js:81:11)
at Compiler. (/Users/bengill/development/flo/designer-ui/node_modules/webpack/lib/node/NodeEnvironmentPlugin.js:23:3)
at Compiler.applyPluginsAsync (/Users/bengill/development/flo/designer-ui/node_modules/tapable/lib/Tapable.js:85:13)
at Compiler.run (/Users/bengill/development/flo/designer-ui/node_modules/webpack/lib/Compiler.js:210:7)
at /Users/bengill/development/flo/designer-ui/node_modules/angular-cli/tasks/build-webpack.js:24:29
at Class.run (/Users/bengill/development/flo/designer-ui/node_modules/angular-cli/tasks/build-webpack.js:23:16)
at Class.run (/Users/bengill/development/flo/designer-ui/node_modules/angular-cli/commands/build.js:50:26)
at Class. (/Users/bengill/development/flo/designer-ui/node_modules/angular-cli/angular-cli/lib/models/command.js:152:17)
at process._tickCallback (internal/process/next_tick.js:103:7)
Mention any other details that might be useful.

Thanks! We'll be in touch soon.

Upgrading to Angular 2.2.0 fixed this for me.


R Notebook Mode

This PR adds Notebook Mode for the R language.
This was pretty simple at first, but I found an issue which we may need to follow more closely; when an executor process is closed, any child processes that it may have spawned are kept open. This both leaves zombies around and keeps the plugin from recognizing that the executor is closed. There doesn't seem to be any Node API to fix this, so I shelled out to taskkill in Windows and pkill in unix systems-- someone on Mac should test before this gets merged.
This finishes what was started by #132
This PR is a copy-paste of #155, which wasn't registering updates to my branch

Looks great! Do you think taskkill/pkill is reliable enough? Or should we add some hint to this in the README.md?

taskkill is available from XP onwards, so that shouldn't be an issue. pkill is available on MacOS since 10.8 (2012) and seems to be available on the majority of Linux systems. Shelling out isn't my favourite way to implement a feature, but these seem to be reliable enough: a quick README note might be good regardless though. Thanks!

@chlohal Thank you so much!