Log into Gravity after logging into Force

Jira: https://artsyproduct.atlassian.net/browse/AUCT-281
Squash and merge me
This is the 2nd pass at a solution to synchronize session state before Force and Gravity so that bidders don't need to sign in twice to access an auction.
The previous attempt involved diff to force (https://github.com/artsy/force/pull/4349, https://github.com/artsy/force/pull/4357) and artsy-passport (https://github.com/artsy/artsy-passport/pull/133), but had downsides of:

Continuing to leverage artsy-passport (generally a tool that we want to avoid investing in now)

this point is mostly my synthesis of a comment in an artsy-passport PR.

Not respecting custom redirect locations (see this comment in particular) -- making it a fundamentally less robust solution.

In this solution attempt, replicate much of the logic in artsy-passport in Force by:

Creating a trust token in Gravity after auth
Using that trust token and a redirect URI to authenticate with Gravity

This is a high-risk change as it touches auth, so I've done my best to test against many flows. Below is a running index of videos describing my QA process:
cc @dblandin @erikdstock

Before
Logging in when viewing any resource

After
Logging in from the index

Logging in from /login

Logging in when viewing any resource

Logging in from auction registration

Logging in from sign up

Warnings

:warning:
The staging version of Metaphysics has breaking changes, this might not affect your build, but could mean your queries don't work the way you expect. See below for breaking changes:

:warning: Field 'AnalyticsPartnerSalesStats.orderResponseTime' changed type from 'Int!' to 'Int'
:warning: Field 'id' was removed from object type 'MarketingCollectionGroup'
:warning: Field 'MarketingCollectionGroup.members' changed type from '[String!]!' to '[MarketingCollection!]!'
:warning: Field 'CommerceOrder.createdAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceOrder.lastApprovedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceOrder.lastSubmittedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceOrder.stateExpiresAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceOrder.stateUpdatedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceOrder.updatedAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceLineItem.createdAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceLineItem.updatedAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceFulfillment.createdAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceFulfillment.estimatedDelivery' changed type from 'CommerceDate' to 'String'
:warning: Field 'CommerceFulfillment.updatedAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceBuyOrder.createdAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceBuyOrder.lastApprovedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceBuyOrder.lastSubmittedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceBuyOrder.stateExpiresAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceBuyOrder.stateUpdatedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceBuyOrder.updatedAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceOffer.createdAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceOffer.submittedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceOfferOrder.createdAt' changed type from 'CommerceDateTime!' to 'String!'
:warning: Field 'CommerceOfferOrder.lastApprovedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceOfferOrder.lastSubmittedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceOfferOrder.stateExpiresAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceOfferOrder.stateUpdatedAt' changed type from 'CommerceDateTime' to 'String'
:warning: Field 'CommerceOfferOrder.updatedAt' changed type from 'CommerceDateTime!' to 'String!'

  Generated by :no_entry_sign: dangerJS against 8863d8f446aea648d9e25ebd1355ffa06cdbe68e

Duplicate Sources / Packages - Duplicates found! ⚠
Duplicates: Found 31 similar files across 40 code sources (both identical + similar)
accounting for 548872 bundled bytes.
Packages: Found 9 packages with 18 resolved, 20 installed, and 47 depended versions.
Roughly 24 lines removed.  This is probably an improvement over master.

Diff of duplicates in this branch vs master
 Duplicate Sources / Packages - Duplicates found! ⚠

-* Duplicates: Found 35 similar files across 46 code sources (both identical + similar)
+* Duplicates: Found 31 similar files across 40 code sources (both identical + similar)

-  accounting for 552191 bundled bytes.
+  accounting for 548872 bundled bytes.

-* Packages: Found 10 packages with 20 resolved, 22 installed, and 49 depended versions.
+* Packages: Found 9 packages with 18 resolved, 20 installed, and 47 depended versions.

-## auctions.c9065c347bb5d32b0879.js
+## auctions.6fee5d2a920608f160d5.js

 acorn (Found 2 resolved, 3 installed, 3 depended. Latest 2.7.0.)
   1.2.2
     ~/with/~/acorn
       * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in auctions.c9065c347bb5d32b0879.js
+      * Duplicated files in auctions.6fee5d2a920608f160d5.js

         acorn/dist/acorn.js (S, 131402)
         acorn/dist/walk.js (S, 11791)

   2.7.0
     ~/jade/~/acorn
       * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in auctions.c9065c347bb5d32b0879.js
+      * Duplicated files in auctions.6fee5d2a920608f160d5.js

         acorn/dist/acorn.js (I, 119975)
         acorn/dist/walk.js (I, 13326)

     ~/with/~/acorn-globals/~/acorn
       * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in auctions.c9065c347bb5d32b0879.js
+      * Duplicated files in auctions.6fee5d2a920608f160d5.js

         acorn/dist/acorn.js (I, 119975)
         acorn/dist/walk.js (I, 13326)

-## common.19936b8e54c4247c31b3.js
+## common.3fe696d7b20b05c0363d.js

 @babel/runtime (Found 2 resolved, 2 installed, 14 depended. Latest 7.4.5.)
   7.1.5
     ~/@babel/runtime
       * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         @babel/runtime/helpers/assertThisInitialized.js (I, 219)

-        @babel/runtime/helpers/esm/extends.js (I, 397)

-        @babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js (I, 350)
-
-
   7.4.5
     ~/react-spring/~/@babel/runtime
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         @babel/runtime/helpers/assertThisInitialized.js (I, 219)

-        @babel/runtime/helpers/esm/extends.js (I, 397)

-        @babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js (I, 350)
-
-
 assignment (Found 2 resolved, 2 installed, 4 depended. Latest 2.2.0.)
   2.0.0
     ~/insane/~/assignment
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         assignment/assignment.js (S, 508)

   2.2.0
     ~/assignment
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         assignment/assignment.js (S, 696)

 bluebird-q (Found 2 resolved, 2 installed, 2 depended. Latest 2.1.1.)
   1.0.3
     ~/artsy-backbone-mixins/~/bluebird-q
       * Dependency graph
<EMAIL_ADDRESS>-> artsy-backbone-mixins@artsy/artsy-backbone-mixins -><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         bluebird-q/index.js (S, 14411)

   2.1.1
     ~/bluebird-q
       * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         bluebird-q/index.js (S, 16795)

 domutils (Found 2 resolved, 2 installed, 6 depended. Latest 1.7.0.)
   1.5.1
     ~/domutils
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         domutils/index.js (I, 322)
         domutils/lib/helpers.js (I, 3930)
         domutils/lib/legacy.js (I, 2489)
         domutils/lib/manipulation.js (I, 1530)
         domutils/lib/querying.js (S, 1867)
         domutils/lib/stringify.js (S, 607)
         domutils/lib/traversal.js (I, 547)

   1.7.0
     ~/htmlparser2/~/domutils
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         domutils/index.js (I, 322)
         domutils/lib/helpers.js (I, 3930)
         domutils/lib/legacy.js (I, 2489)
         domutils/lib/manipulation.js (I, 1530)
         domutils/lib/querying.js (S, 1893)
         domutils/lib/stringify.js (S, 668)
         domutils/lib/traversal.js (I, 547)

 hoist-non-react-statics (Found 2 resolved, 2 installed, 3 depended. Latest 3.3.0.)
   3.1.0
     ~/react-redux/~/hoist-non-react-statics
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js (S, 2553)

   3.3.0
     ~/react-tracking/~/hoist-non-react-statics
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js (S, 2887)

 isarray (Found 2 resolved, 2 installed, 4 depended. Latest 1.0.0.)
   0.0.1
     ~/isarray
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         isarray/index.js (S, 120)

   1.0.0
     ~/buffer/~/isarray
       * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         isarray/index.js (S, 132)

-memoize-one (Found 2 resolved, 2 installed, 2 depended. Latest 5.0.5.)
-  4.1.0
-    ~/memoize-one
-      * Dependency graph
-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-      * Duplicated files in common.19936b8e54c4247c31b3.js
-        memoize-one/dist/memoize-one.esm.js (S, 903)
-
-  5.0.5
-    ~/styled-components/~/memoize-one
-      * Dependency graph
-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-      * Duplicated files in common.19936b8e54c4247c31b3.js
-        memoize-one/dist/memoize-one.esm.js (S, 922)
-
-
 qs (Found 2 resolved, 2 installed, 6 depended. Latest 6.5.2.)
   5.2.0
     ~/artsy-backbone-mixins/~/qs
       * Dependency graph
<EMAIL_ADDRESS>-> artsy-backbone-mixins@artsy/artsy-backbone-mixins -><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         qs/lib/index.js (S, 200)
         qs/lib/parse.js (S, 5363)
         qs/lib/stringify.js (S, 3906)
         qs/lib/utils.js (S, 4319)

   6.5.2
     ~/qs
       * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         qs/lib/index.js (S, 211)
         qs/lib/parse.js (S, 5817)
         qs/lib/stringify.js (S, 6288)
         qs/lib/utils.js (S, 5554)

 redux (Found 2 resolved, 3 installed, 5 depended. Latest 4.0.1.)
   3.6.0
     ~/redux
       * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>
-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

   4.0.1
     ~/farce/~/redux
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         redux/es/redux.js (I, 23104)

     ~/found/~/redux
       * Dependency graph

-<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>+<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>

-      * Duplicated files in common.19936b8e54c4247c31b3.js
+      * Duplicated files in common.3fe696d7b20b05c0363d.js

         redux/es/redux.js (I, 23104)

 * Understanding the report: Need help with the details? See:
   https://github.com/FormidableLabs/inspectpack/#diagnosing-duplicates
 * Fixing bundle duplicates: An introductory guide:
   https://github.com/FormidableLabs/inspectpack/#fixing-bundle-duplicates

Fixing bundle duplicates | An introductory guide
@zephraph

auctions.6fee5d2a920608f160d5.js

acorn (Found 2 resolved, 3 installed, 3 depended. Latest 2.7.0.)

1.2.2
  ~/with/~/acorn
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in auctions.6fee5d2a920608f160d5.js
      acorn/dist/acorn.js (S, 131402)
      acorn/dist/walk.js (S, 11791)
2.7.0
  ~/jade/~/acorn
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in auctions.6fee5d2a920608f160d5.js
      acorn/dist/acorn.js (I, 119975)
      acorn/dist/walk.js (I, 13326)
  ~/with/~/acorn-globals/~/acorn
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in auctions.6fee5d2a920608f160d5.js
      acorn/dist/acorn.js (I, 119975)
      acorn/dist/walk.js (I, 13326)

common.3fe696d7b20b05c0363d.js

@babel/runtime (Found 2 resolved, 2 installed, 14 depended. Latest 7.4.5.)

7.1.5
  ~/@babel/runtime
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      @babel/runtime/helpers/assertThisInitialized.js (I, 219)
7.4.5
  ~/react-spring/~/@babel/runtime
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      @babel/runtime/helpers/assertThisInitialized.js (I, 219)

assignment (Found 2 resolved, 2 installed, 4 depended. Latest 2.2.0.)

2.0.0
  ~/insane/~/assignment
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      assignment/assignment.js (S, 508)
2.2.0
  ~/assignment
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      assignment/assignment.js (S, 696)

bluebird-q (Found 2 resolved, 2 installed, 2 depended. Latest 2.1.1.)

1.0.3
  ~/artsy-backbone-mixins/~/bluebird-q
    * Dependency graph
<EMAIL_ADDRESS>-> artsy-backbone-mixins@artsy/artsy-backbone-mixins -><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      bluebird-q/index.js (S, 14411)
2.1.1
  ~/bluebird-q
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      bluebird-q/index.js (S, 16795)

domutils (Found 2 resolved, 2 installed, 6 depended. Latest 1.7.0.)

1.5.1
  ~/domutils
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      domutils/index.js (I, 322)
      domutils/lib/helpers.js (I, 3930)
      domutils/lib/legacy.js (I, 2489)
      domutils/lib/manipulation.js (I, 1530)
      domutils/lib/querying.js (S, 1867)
      domutils/lib/stringify.js (S, 607)
      domutils/lib/traversal.js (I, 547)
1.7.0
  ~/htmlparser2/~/domutils
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      domutils/index.js (I, 322)
      domutils/lib/helpers.js (I, 3930)
      domutils/lib/legacy.js (I, 2489)
      domutils/lib/manipulation.js (I, 1530)
      domutils/lib/querying.js (S, 1893)
      domutils/lib/stringify.js (S, 668)
      domutils/lib/traversal.js (I, 547)

hoist-non-react-statics (Found 2 resolved, 2 installed, 3 depended. Latest 3.3.0.)

3.1.0
  ~/react-redux/~/hoist-non-react-statics
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js (S, 2553)
3.3.0
  ~/react-tracking/~/hoist-non-react-statics
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js (S, 2887)

isarray (Found 2 resolved, 2 installed, 4 depended. Latest 1.0.0.)

0.0.1
  ~/isarray
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      isarray/index.js (S, 120)
1.0.0
  ~/buffer/~/isarray
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      isarray/index.js (S, 132)

qs (Found 2 resolved, 2 installed, 6 depended. Latest 6.5.2.)

5.2.0
  ~/artsy-backbone-mixins/~/qs
    * Dependency graph
<EMAIL_ADDRESS>-> artsy-backbone-mixins@artsy/artsy-backbone-mixins -><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      qs/lib/index.js (S, 200)
      qs/lib/parse.js (S, 5363)
      qs/lib/stringify.js (S, 3906)
      qs/lib/utils.js (S, 4319)
6.5.2
  ~/qs
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      qs/lib/index.js (S, 211)
      qs/lib/parse.js (S, 5817)
      qs/lib/stringify.js (S, 6288)
      qs/lib/utils.js (S, 5554)

redux (Found 2 resolved, 3 installed, 5 depended. Latest 4.0.1.)

3.6.0
  ~/redux
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js

4.0.1
  ~/farce/~/redux
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      redux/es/redux.js (I, 23104)
  ~/found/~/redux
    * Dependency graph
<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>    * Duplicated files in common.3fe696d7b20b05c0363d.js
      redux/es/redux.js (I, 23104)

@dleve123

generally a tool that we want to avoid investing in now

Can you elaborate on this in the PR description?

@damassi absolutely – see the updated description. My gut was to eschew this mindset, but upon further reflection, the real crux of this latest approach is:

[artsy-passport] Not respecting custom redirect locations (see this comment in particular) -- making it a fundamentally less robust solution.

Thoughts and perspectives on the "health" or whatever of artsy-passport is much less relevant than ⬆. Hope that makes sense, and thanks asking for clarification.

Can you test or comment on what happens when someone is already authenticated with api.* before logging into Force? Their API request for a trust token will probably request the access token provided in the header, but what about the redirect?

@joeyAghion Great question. I have confirmed that subsequent logins with different credentials will login the most recent user into api. To be concrete:

Log out of force and gravity
Log in with user 1
Check: user 1 is logged into force
Check: user 1 is logged into gravity
Log out of force
Log into force with user 2
Check: user 2 is logged into force
Check: user 2 is logged into gravity

I believe that this is the expected behavior.

This^ certainly seems expected. I was asking more about what happens if the API and Force session state doesn't match, such as if you skip (5) above and instead a Force session expires. Or, imagine if one user logs in to CMS (which creates an API session) and then a different, unauthenticated visitor logs into Force. Basically I want to confirm that having an existing session w/API doesn't result in errors or incorrect outcomes.

This^ certainly seems expected. I was asking more about what happens if the API and Force session state doesn't match, such as if you skip (5) above and instead a Force session expires. Or, imagine if one user logs in to CMS (which creates an API session) and then a different, unauthenticated visitor logs into Force. Basically I want to confirm that having an existing session w/API doesn't result in errors or incorrect outcomes.

@joeyAghion I think I understand your question, but am not sure. With that said, to make this more concrete, I played out the following scenario:

Sign out of everything
Sign into cms-staging (via oauth)
Show that the stagingapi.artsy.net user is an admin
Visit staging.artsy.net
Show that there is no force session
Sign into force with a non-admin user<EMAIL_ADDRESS>Show that there is a new API session for this non-admin user
Show that the CMS session isn't automatically cleared
Visit stagingwriter.artsy.net and notice that the user isn't authorized to use writer

To try to distill this behavior down to a statement:
Existing gravity-oauth-backed applications (positron, writer, prediction) are not remotely ended by a change to the current session of the API. However, if the API session changes and there is not yet a session for one of these gravity-oauth-backed applications, then creating a session for one of them respects the new API session
Here's a pretty long gif attesting to the above:

Let me know if any of this is unclear and happy to chat in real-time.

Very clear from the gif 👍. Seems like this does the "correct" thing when a new or different authentication happens.
I volunteer to help test in staging once ready.

Random caveat- the Gravity redirect_uri is only supported to other *.artsy.net locations. Testing this locally, using the default localhost:5000, logging in would leave me at https://stagingapi.artsy.net. Since running Force locally as local.artsy.net isn't standard (+ requires modifying /etc/hosts), should we make sure to note that?
It's been a while since I've done this, but testing FB login has to be done from a *.artsy.net location, and I believe that's the only use case where you might need to actually use local.artsy.net. Generally localhost:5000 (or whatever by default) should be fine (or otherwise noted).

Awesome work! The flow makes sense. Force auth has changed a lot since last time I touched that area, so I might not have good context. But some thoughts:

CMS (and other Kinetic apps) persists its own session (e.g. with cms.artsy.net), so I imagine that will not interfere with a Gravity session. It can be confusing when they are out-of-sync, but it's out of scope of this PR.
I imagine the step to sign in to Gravity happens after steps in artsy-passport, so Facebook sign up/sign in would work the same way?
For apps that use oauth redirect (e.g. CMS), we have the opposite problem: we want to sign user out of Gravity when they sign out of the app. With this PR, users no longer need to sign in to Prediction after signing in to Force. Do we need to worry about a scenario when a user signs out of Force but still signed in to Prediction?

I'd love to help with QA in staging, too!

@mzikherman

Random caveat- the Gravity redirect_uri is only supported to other *.artsy.net locations (https://github.com/artsy/gravity/blob/2c16cfbe07a20cec95a780ed97a9d18ffb2f8369/app/controllers/sessions_controller.rb#L72-L76). Testing this locally, using the default localhost:5000, logging in would leave me at https://stagingapi.artsy.net. Since running Force locally as local.artsy.net isn't standard (+ requires modifying /etc/hosts), should we make sure to note that?

Good call out. These QA instructions were included in a prior PR, but that has since been closed. I've added them to this one.

Thank you everyone for the feedback. In my opinon, it seems like the following things are "left":

Testing that Facebook auth works as expected
Confirming that everything works as expected on mobile

Re 1: I'd love some pointers on how to QA the FB process as I haven't done this before.
Re 2: I'm going to set up a review application for this branch today so that we can do thorough QA without blocking Force's deploy queue.

I think you can use the review app to QA the Facebook flow. You might need to add the review app url to the valid oauth redirect urls of our app on developers.facebook.com.

Review app for QA is here: https://auct-281.artsy.net/ @joeyAghion and @starsirius (and others) please hack away. I created a little script for the review app creation process – PRing that as well.

Further QA updates:
@joeyAghion successfully QA'ed FB flows here (https://artsy.slack.com/archives/C02BC3HEJ/p1565905794068000?thread_ts=1565898620.054200&cid=C02BC3HEJ and https://artsy.slack.com/archives/C02BC3HEJ/p1565905831068400?thread_ts=1565898620.054200&cid=C02BC3HEJ)
I would love some explicit approvals on this PR, and the will merge it. cc @joeyAghion @starsirius @damassi @mzikherman (or, even more importantly, some explicit request for changes at this point).

Both Facebook sign up and log in successfully logged me in to Gravity staging!

Facebook sign up recording

Facebook log in recording

Documenting the steps to set up Facebook auth for the review app:

Log in to developers.facebook.com with it@
In Artsy (staging) app, Facebook login -> Settings -> Enter the callback endpoint of the review app into Valid OAuth Redirect URIs (e.g. https://auct-281.artsy.net/users/auth/facebook/callback)
Save changes

As discussed, it's worth keeping an eye out for side-effects from this change around more users having direct sessions with api.artsy.net. Some users like partners and administrators should benefit from more seamless oauth redirects when visiting other applications. I can't think of negative side effects right now, unless there are important use cases that rely on authenticating as different accounts for different apps.
It might also be worth investigation into the expirations of the various apps' sessions compared to the API's. If the API's sessions expire earlier, we expect users who are still logged into Force to still encounter auth roadblocks when transitioning to other apps.

Going to merge this PR 🎊 after the current release PR (https://github.com/artsy/force/pull/4407) is out the door and onto production to minimize moving pieces here.

Rebased against master to ensure we're building against the latest released code as well.


mount: Fixes for findmount output causing idempotency issues

Signed-off-by: antima-gupta<EMAIL_ADDRESS>
Description

Fixes for CIFS mount not idempotent issue.
Added spec for network device found as mounted.
Removed '/' from end of the device value.

Related Issue
#10453
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[x] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] All commits have been signed-off for the Developer Certificate of Origin.

seems fine either way though, but the regexp may be overly complicated

@lamont-granquist I have updated the PR, please have a look.


Display the game rules

Right now, the game only displays Rules Go Here when a user starts the game and answers "yes" to the prompt: "would you like to see the rules?". Look into the code and the casino game of craps as it pertains to pass line betting and explain the rules to the user.

Done.  😃

Someone took care of this! Thank you! 🙏


Explorer NIF broken on FreeBSD

Hi, I've been trying to use Explorer on FreeBSD 14.0 and 13.1 (in a Jail on 14.0 host) and in both cases I get this:
My LiveBook has just this dependency:
Mix.install([
  {:explorer, "~> 0.8.2"}
])

15:09:05.779 [warning] The on_load function for module Elixir.Explorer.PolarsBackend.Native returned:
{:error,
 {:load_failed,
  ~c"Failed to load NIF library: '/usr/home/informemedico/.cache/mix/installs/elixir-1.16.2-erts-14.2.5/a7fbe39cd87ff258293b03c9b13e8458/_build/dev/lib/explorer/priv/native/libexplorer-v0.8.2-nif-2.15-x86_64-unknown-freebsd.so: No space available for static Thread Local Storage'"}}

Maybe the nif is compiled on a different O.S. version. Is there a way to let me compile it on my machine?

Hey, @leonardorame 👋
José added the instructions for manual compilation to the README.md, but just to complement: we are building for FreeBSD using the crosscompilation feature of the Rust compiler. I think it's not possible to target a specific version of that OS, so you need to compile in your machine.
Another tip is that you can specify the environment var in your Mix.install/2 call:
Mix.install([
  {:explorer, "~> 0.8.2"},
  {:rustler, ">= 0.0.0"} # Rustler is needed for the build.
], system_env: %{"EXPLORER_BUILD" => "1"})

Please check the README.md for more details about the dependencies (mostly the Rust toolchain).

Great @philss I'll try it later today.

Hi, I was able to compile it from the command line. rustc needed 11gb of Ram.
The build directory is ~/.cache/mix/installs/elixir-1.16.2-erts-14.2.5/b4bfc151806c51196f3b62c267bb60b4/_build/dev/lib/explorer/native/explorer/release/deps, now, I would like to prevent a re-compilation. Should I leave this directory as is?

@leonardorame yeah, you shouldn't remove the _build directory of your project. But if you are using Mix.install/2, be aware that changing any of the deps (or adding a new one) will trigger a recompilation. If you need something more stable, you can fork explorer, make a release, publish your artifact that was compiled, and point the RustlerPrecompiled config to your fork.

Let me see if I understood it.
The original Mix.install is:
Mix.install([
  {:explorer, "~> 0.8.2"},
  {:rustler, ">= 0.0.0"} # Rustler is needed for the build.
], system_env: %{"EXPLORER_BUILD" => "1"})

I must convert to this?:
Mix.install([
  {:explorer, "~> 0.8.2"},
  {:rustler, ">= 0.0.0"} # Rustler is needed for the build.
]

@leonardorame no, the idea is to do something like I did in the example project with a fork of explorer, and them use that fork in your notebooks. It's kind of hard to maintain, but at least you won't have to recompile it every time.
Your installation would look like this:
Mix.install([
  {:explorer, git: "yourgitrepo"}
])

But if you do not plan to change dependencies in your current project, I believe it's better to not go through all that work. I would suggest to maintain a fork just in case you need to use Explorer in production, or use in different notebooks.

Hi @philss I forked explorer, then did a mix compile, the dependency adbc didn't compile on FreeBSD so I commented it on mix.exs. Then it started to build, until I've got this error:
   ...
   Compiling polars-time v0.38.3
   Compiling polars-io v0.38.3
   Compiling explorer v0.1.0 (/usr/home/informemedico/explorer/native/explorer)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 00s

11:13:20.530 [warning] The on_load function for module Elixir.Explorer.PolarsBackend.Native returned:
{:error,
 {:load_failed,
  ~c"Failed to load NIF library: '/usr/home/informemedico/explorer/_build/dev/lib/explorer/priv/native/libexplorer.so: No space available for static Thread Local Storage'"}}

Generated explorer app

Any hint?

I see Finished dev profile [unoptimized + debuginfo] target(s) in 2m 00s, how can I build a release (optimized without debug info)?

Set MIN_ENV=prod env var perhaps?

Thanks @josevalim with MIX_ENV=prod I was able to build a release, but I still get the "No space available for static Thread Local Storage" error.
By reading this: https://lists.freebsd.org/archives/freebsd-hackers/2024-April/003182.html and exporting the LD_STATIC_TLS_EXTRA en var with a higher number than 128 it didn't fix the error.
Now I'm looking at this: https://doc.rust-lang.org/beta/unstable-book/compiler-flags/tls-model.html but I don't know where can I set the -Z tls-model param for the build, could you point me to the right place?.

RUSTFLAGS="-Z tls-model=global-dynamic" mix compile -> Same error
RUSTFLAGS="-Z tls-model=local-dynamic" mix compile -> Same error
RUSTFLAGS="-Z tls-model=initial-exec" mix compile -> can't find crate for tracing_attributes
RUSTFLAGS="-Z tls-model=local-exec" mix compile -> many errors
RUSTFLAGS="-Z tls-model=emulated" mix compile -> many errors
It looks like there's no way to build explorer on FreeBSD.


UI is not displaying license information

When I go to this link, I get no license information.

Then, only after I click to curate the declared license, all the license information appears.

Further, in this instance, the curated declared license is Apachev2, but the shown declared license is MIT.

There is some issue alright. The ScanCode scans are present, but the tools listed in the UI seem to show scancode is missing. The scores are wrong too. So the data and the UI seem  completely out if sync

In the first example, actually the service is returning some files without a license:

In the second one, as well, the UI is showing what the service is returning:

In additions, this curation doesn't contain any change:

The same happens for the score, the UI reports everything sent by the service:

In the end, there's something wrong for sure, but not on the UI at this stage.
We should investigate it on the service, i'm going to move this issue on the service repo.


Update service-fabric-cluster-upgrade-version-azure.md

Removed duplicate parameter

@joelmforsyth : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@jborsecnik  I'm the maintainer for these docs, but I can't sign-off because I'm not assigned. Could you merge this for me?
I updated the author fields on the Service Fabric docs to avoid this confusion in the future.
Thanks!

@jborsecnik @Jak-MS @Court72 I'm the maintainer for these docs, but I can't sign-off because I'm not assigned. Could you merge this for me?
I updated the author fields on the ACI docs to avoid this confusion in the future.
Thanks!

@Jak-MS @Court72 I'm the maintainer for these docs, but I can't sign-off because I'm not assigned. Could you merge this for me?
I updated the author fields on the ACI docs to avoid this confusion in the future.
Thanks!

merging as requested via email by @tomvcassidy


Schema registry UI not loading and Error on proxy request when running from local machine

Hi,
I forked the registry project and I was able to get it built via mvn clean install.
I wanted to launch the schema registry UI from the registry repo code that I have on my local machine. I did the following:

Cd into the webservice/src/main/resources folder
Ran npm install to install all the dependencies. That worked fine
Ran npm run build. Worked fine
Issued npm start

And I got the following output on the console:

<EMAIL_ADDRESS>start /Users/anarasimhamurthy/registry/webservice/src/main/resources
node dev-server.js

[HPM] Proxy created: [ '/api' ]  ->  http://localhost:9090
Webpack: 🚧  App is listening at http://localhost:9191
webpack built 1dbeb96d4bc25c7f1159 in 17277ms
I then tried accessing the app from the browser. When I did localhost:9191 I just see an empt white page. When I looked into the developer console, I see the following:
http://localhost:9191/ui/styles/css/style.css net::ERR_ABORTED
localhost/:40 GET http://localhost:9191/ui/js/vendor.bundle.js net::ERR_ABORTED
localhost/:41 GET http://localhost:9191/ui/js/application.js net::ERR_ABORTED
localhost/:41 GET http://localhost:9191/ui/js/application.js 404 (Not Found)
Also when I tried going to the localhost:9191/api endpoint I get the following error:
Error on proxy request
[HPM] Error occurred while trying to proxy request /api from localhost:9191 to http://localhost:9090 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
Error on proxy request
[HPM] Error occurred while trying to proxy request /api from localhost:9191 to http://localhost:9090 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
I also tried going to localhost:9090 and that doesn't resolve.
I guess I am definitely missing something or running it incorrectly. Is there a documentation on how to start the app and the UI from a cloned version of this project. Would really appreciate any timely help on this issue.
PS: I could get the schema registry UI to work via the downloaded distribution and starting up the registry server. I want to know what is the equivalent

@AnirudhNarasimhamurthy @satishd

I also tried going to localhost:9090 and that doesn't resolve.

This could be the case due to admin port being 8081. If so, could be fixed with https://github.com/hortonworks/registry/issues/331

When I did localhost:9191 I just see an empty white page. When I looked into the developer console, I see the following:
http://localhost:9191/ui/styles/css/style.css net::ERR_ABORTED
localhost/:40 GET http://localhost:9191/ui/js/vendor.bundle.js net::ERR_ABORTED
localhost/:41 GET http://localhost:9191/ui/js/application.js net::ERR_ABORTED
localhost/:41 GET http://localhost:9191/ui/js/application.js 404 (Not Found)

Yes, this is an issue currently where /ui/ is not actually present while UI development.
I'll work on the fix for this.

@shahsank3t Raised #332 to address #331, that can be merged once it is reviewed.

@shahsank3t @satishd
Raised PR https://github.com/hortonworks/registry/pull/333 for UI fixes

@satishd I have reviewed #332 and #333 with the latest master branch and both fixes the issue
@AnirudhNarasimhamurthy mentioned above.


Integrate TravisCI into release process

@blueelvis  can you add work details to this task?

Staging & Dev pipelines are complete.


Create wiki documentation about way of work in the project and making contributions

We need to create the documentation and update the information about how to work and make contributions in this project

The information will be updated here: https://github.com/istio-ecosystem/sail-operator/wiki


Add option to manually start long or short break by user's choice

So, I know there's some complicated logic behind wiht some hidden timers and rules when work streak gets reset. I cound't figure out how it works, and it never really works for me.
My suggestion / request is to add a manual mode, where user could decide whether a long break should be started or a short break could be started in the same popup.
Alternatively, if the suggesion above is too drastic, here is another one. Becaise I occasioannly get long breaks after just 3 sessions, it could be useful to have an option to start short break instead of a long break (i.e have two buttons - start short break or start long break). In this case long break could be moved to the next interval.
Clarification:
this should work even when long break is disabled in settings.

I actually find the action of swiping up a dozen times very engaging and thought inducing "How much longer is an action actually going to take me, if I am already getting bored by the swiping"
I think it is actually a hidden, maybe unintentional, HIT feature of this app

And this https://github.com/adrcotfas/Goodtime/issues/280 would be much better


Typo fix in spotify-docker-gc/README.md

In the table's colume description:
Sometime first letter in capital, sometime not. It's better use same format.

/assign @scottrigby


[release-2.5] Do not cache product version

During update, version changes after pods are running
https://github.com/stolostron/backlog/issues/24247

/cc @Randy424


Don't use StringBuilderCache for casing

During code review, Steve proposed we moved to using StringBuilderCache
to the allocation of the temporary char[] array during casing
operations. I made the change but later realized that this caused a few
issues.

The native layer operates on UChar/length pairs, not null terminated
strings.  Because of this, we don't actually write a terminating null
into the destination buffer (since we just do a 1:1 casing operation
on the input and never see the null terminator). However, the
marshalling code for StringBuilder assumes the buffer will be null
terminated and uses that to compute the new length value after a
marshalling call. Because there can be left over data from previous
calls in the buffer the string length calculation will be incorrect
and we will end up leaking in extra data into the cased string.

The StringBuilder marshalling as a whole won't work if we have
embdedded nulls in a string (we'll end up dropping characters on the
transition from native back to managed) but that's something that we
need to be able to handle.

Ideally there would be a way to construct a mutable string, case into
its buffer and the freeze the string, but we don't have a way to do that
today, so we need to stick with this allocation.

@eerhardt, this should fix the xunit issue you were running into.
/cc @stephentoub as an FYI.

Would it be OK if we created the destination buffer to be StringBuilderCache.Acquire(s.Length + 1), and then always write a \0 character at the end of the destination buffer on the native side?

Nevermind, I see your explanation that we need to handle embedded nulls in the string itself.  Please disregard that last comment.

LGTM.


Using SF12 with BW lower the 125khz

I am not able to use SF12 with any BW less than 500khz
I am not able to use SF11 with any BW less than 250khz
I am not able to use SF10 with any BW less than 125khz
I am not able to use SF9 with any BW less than 62.5khz...
and so on.
I was hoping to use SF12 with BW 31.25 of less
any thoughts.
Thanks for the great work on this project!

same issue here, with SF11 or SF12 and BW 125khz it just crashes;
ESP8266 + RA-01SH

@jeffbornes
@lclem
Your PR is welcome.


Fix O(N^2) operation in Material

          My thoughts so far on the these results.

I realized a very bad implementation detail: In MCNP_Probelm.update_pointers there is a for data_input in self.data_inputs loop effective.

This then calls Material.update_pointers which has: for data_input in data_inputs: loop.
That's right: I wrote an O(N^2) operation! 🎉 🎉 I found the worst implementation to do.
This operation is linking M to MT. If we did vice versa MT could use hashing to move to an O(1) operation.
This is an easy fix

Why is Material.__hash__ getting called so much? NumberedObjectCollection is meant to hash on numbers and not objects I thought. There is something weird going on here that needs further investigation.

See also: https://github.com/idaholab/MontePy/issues/137#issuecomment-2310926008

Some new profiling data:
1    0.000    0.000  272.390  272.390 /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/montepy/input_parser/input_reader.py:6(read_input)
        1    0.026    0.026  272.390  272.390 /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/montepy/mcnp_problem.py:236(parse_input)
        1    0.002    0.002  253.773  253.773 /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/montepy/mcnp_problem.py:304(__update_internal_pointers)
     1001    0.363    0.000  252.7[21](https://github.com/idaholab/MontePy/actions/runs/10586963944/job/29336774706?pr=513#step:7:22)    0.252 /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/montepy/data_inputs/material.py:173(update_pointers)

So this is very very inefficient. I think if this were fixed we could open the benchmark case in ~20 seconds?


receiveNotify testing for messageBody.statusCode instead of messageBody.status_code

I'm testing out REFER with 0.13.6 and found that SIP.js didn't terminate it's part of the call after a successful refer (initiated from SIP.js as the referrer).
In the receiveNotify function at https://github.com/onsip/SIP.js/blob/cdaf18a0ceec15e2ae742af672381f80444e7112/src/Session.ts#L2061
https://github.com/onsip/SIP.js/blob/cdaf18a0ceec15e2ae742af672381f80444e7112/src/Session.ts#L2075
Above test refers to messageBody.statusCode which doesn't exist in the messageBody object, though messageBody.status_code does, and enables SIP to properly terminate it's part of the session after a successful REFER.

Good catch, we should be doing a release early next week with this.

@james-criscuolo Thank you kindly!


Update go deps to otel v1.15.1/v0.38.1

Updates deps
Fixes test cases

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Bug] cfn-lint throw E3002 for RotationPeriodInDays property in AWS::KMS::Key Resource

CloudFormation Lint Version
0.83.6
What operating system are you using?
Ubuntu 22.04
Describe the bug
cfn-lint throw E3002 for RotationPeriodInDays property in AWS::KMS::Key Resource
cfn-lint -I src/cloudformation/main.yml
2024-04-22 11:21:39,527 - cfnlint.runner - INFO - Run scan of template src/cloudformation/main.yml
E3002 Invalid Property Resources/KMSKey/Properties/RotationPeriodInDays
src/cloudformation/main.yml:34:7

Thank you
Expected behavior
RotationPeriodInDays is valid property of AWS::KMS::Key Resource.
Reproduction template
Resources:
  KMSKey:
    Type: AWS::KMS::Key
    Properties:
      Description: KMS key
      EnableKeyRotation: true
      RotationPeriodInDays: 90
      KeyPolicy:
        Version: '2012-10-17'
        Id: my-test-kms-key
        Statement:
          - Sid: Allow direct access to key metadata to the root account
            Effect: Allow
            Principal:
              AWS: !Sub arn:aws:iam::${AWS::AccountId}:root
            Action: kms:*
            Resource: '*'

Its in automated PR #3149 .  You can always run cfn-lint --update-specs until a new release is done (will be today).


Fix variable reference

Fixes a variable reference.
Also, it now looks like mol_atompair_ids created in molecule_lengthed_molecule_input_to_atom_input() is not updated. It's just set to all zeros after the einx code was commented out.

oops yes indeed


[Parse] Make sure pound-directives be parsed in 'parseBraceItems()'

instead of parseStmt().
LABEL: #sourceLocation(file: "labeled.swift", line: 100)

try #if
func foo() {}
#endif
foo()

As for #sourceLocation and #line, returning successful ParserStatus as a ParserResult<Stmt> causes assertion error:
swift/Parse/ParserResult.h:214: ... Assertion `Status.isError()' failed.

As for #if, parseBraceItems() has some specific logic for it. Without that, declarations inside the block cannot be propagated to the outside.
try #if
func foo() {}
#endif
foo() // error: use of unresolved identifier 'foo'

@swift-ci Please smoke test


Cannot save models in ppo.py when using deepspeed

Script:
accelerate launch --config_file examples/accelerate_configs/deepspeed_zero2.yaml scripts/ppo_with_save_cmd.py --ppo_config.exp_name ppo_v1 --ppo_config.batch_size 32  --ppo_config.mini_batch_size 8 --ppo_config.log_with wandb --ppo_config.model_name models/zephyr-7b-sft-full --ppo_config.reward_model none:none

However, I cannot find ways to safely save the model at certain checkpoints/ after some epochs/ at the end in ppo.py.
The file does not provide a direct way to save models after certain epochs, so I manually try to save the model.
When I added either ppo_trainer._save_pretrained(path_name) or ppo_trainer.save_pretrained(path_name) to save the model (at the end of the file or after X epoch), it seemed to save only a subset of layers. For instance, the output indicates that shared tensors like 'model.layers.9.mlp.up_proj.weight', 'model.layers.10.post_attention_layernorm.weight', and several others are removed during the save process. The message displayed is:
Removed shared tensor {'model.layers.9.mlp.up_proj.weight' .... q_proj.weight', 'model.layers.10.post_attention_layernorm.weight', 'model.layers.24.mlp.down_proj.weight', 'model.layers.1.self_attn.k_proj.weight', 'model.layers.4.self_attn.q_proj.weight', 'model.layers.13.mlp.up_proj.weight'} while saving. This should be OK, but check by verifying that you don't receive any warning while reloading

Subsequently, when I attempt to reload that saved model using AutoModelForCausalLM.from_pretrained, it results in a warning message:
Some weights of MistralForCausalLM were not initialized from the model checkpoint at my_save_path and are newly initialized [those layers above]

This suggests that the model is not being saved correctly. And the generation, is of course, very bad (like the newly initialized weights are random). Could you provide any guidance on how to ensure the entire model is saved and can be properly reloaded? My code for saving the model to a local directory is as straightforward as the commands mentioned above.
The accelerate script I ran is exactly like the above, and I modified examples/accelerate_configs/deepspeed_zero2.yaml to be compatible with 4 GPUs instead of the default 8. I'm running on 4xA100 80GB. I modified ppo.py to save ppo_traianer after X epochs.  I tried both saving at every GPU or conditioning to only save ppo_trainer if device==0, and neither of them worked.
Thank you for your guidance.
transformers.__version__, accelerate.__version__, deepspeed.__version__
>> ('4.35.1', '0.24.1', '0.12.5')

Also tried with 4.36.0, 4.34.0, 4.35.0, none works.
Thank you!
Once someone can help me, happy to put up a PR to add to existing codes (in case others need this)!
Thank you!

Maybe @vwxyzjn or @lewtun can help who used DeepSpeed quite a bit for training Mistral models.

Hello @viethoangtranduong can you share the code snippet you're using to save the model? One thing to be aware of is to save the model on the main process (assuming you have a shared disk), e.g. with something like:
if accelerator.is_main_process:
    ppo_trainer.save_pretrained("my-ppo-model")

Hi @lewtun
At the end of each epoch, I did: (I attach at the end of ppo.py)
if args.save_freq and epoch % args.save_freq == 0:
        if ppo_trainer.accelerator.is_main_process:
            ppo_trainer.save_pretrained("models_ppo/" + args.ppo_config.exp_name + f"_step_{epoch}")
            print(f"Saved checkpoint at epoch {epoch}.")

It does save the model, but the .bin file is very small - i.e., it doesn't seem to save the whole model
The command I ran was
accelerate launch  --config_file recipes/accelerate_configs/deepspeed_zero3.yaml scripts/my_ppo.py --ppo_config.exp_name ppo_model_v1 --ppo_config.batch_size 16  --ppo_config.mini_batch_size 4 --ppo_config.model_name models/zephyr-7b-sft-full --ppo_config.gradient_accumulation_steps 4

I am running on 4xA100 GPUs.
The code runs and does everything properly (including ppo_trainer.step), and only the save_pretrained is not saving the full model.
Thank you!


DBC22-1112 + DBC22-1157: Added map view button logic and event routing highlighting with popup logic

Due to an existing bug with the direction buttons, I am blocked on properly implementing the popups, however all other logic should be in place for these tickets in this PR

Made new PR


Nicer homepage design

Team homepage is just a bunch of links right now.  Maybe it needs some big icon/image buttons, not sure but something to direct people to what to use and give descriptions of each option.
Most people will only see 1 to 2 links so it isn't too information dense.
https://peaks.ucdavis.edu/caesdo/home/index

Vast majority of people will only see "My Stuff". Handful per team will see Team Assets, and 1-2 per team will also see Administer Team.


[fix] Validate task input name is lowercase

Tracking issue
https://github.com/flyteorg/flyte/issues/5640
Why are the changes needed?
Click does not support uppercase in option names: https://github.com/pallets/click/issues/837
This causes an unintuitive error in flytekit when uppercase is used in task input names:
$ pyflyte run --remote wf.py wf --A 1
Failed with Unknown Exception <class 'flytekit.core.type_engine.TypeTransformerFailedError'>
Reason: Python value cannot be None, expected <class 'int'>/<FlyteLiteral(LiteralType) simple: INTEGER>

This PR aims to improve the error message. A long-term fix might be to support uppercase in input names, but this seems to be incompatible with the click.Option implementation. Lowercase+snake_case is a convention that click aims to follow.
What changes were proposed in this pull request?
Add validation against the task input names to ensure it is lowercase.
How was this patch tested?
New error is improved:
$ pyflyte run --remote wf.py wf --A 1
Failed with Unknown Exception <class 'ValueError'> Reason: Input name must be lowercase: 'A'

Setup process
Screenshots
Check all the applicable boxes

[ ] I updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] All commits are signed-off.

Related PRs

Docs link

@ddl-rliu mind taking a look the test errors
FAILED tests/test_onnx_scikitlearn.py::test_onnx_scikitlearn_simple - ValueError: Input name must be lowercase: 'X_test'

Just pushed a fix, I'll review the CI checks when they complete.
(The original fix had a mistake where the validation is done on task input names, but the uppercase/lowercase issue is specific to workflow input names, so I've updated it by moving the validation to the run.py level)


No ability to Sign/Verify Message with Ledger Nano S

Is there a reason why I cannot Sign/Verify Messages with my Ledger Nano S address?

Duplicate #264


[BEAM-13046][Playground] protobuf supporting examples API

[BEAM-13046] Add methods to protobuf file to support retrieving compiled and run examples and their log/outputs

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Would you mind to resolve these two outputs from ./gradlew playgroundPrecommit
   info - lib/modules/editor/repository/code_repository/code_client/grpc_code_client.dart:102:5 - Missing case clause for 'STATUS_COMPILE_ERROR'. Try adding a case clause for the missing constant. - exhaustive_cases
   info - lib/modules/editor/repository/code_repository/code_client/grpc_code_client.dart:102:5 - Missing case clause for 'STATUS_RUN_TIMEOUT'. Try adding a case clause for the missing constant. - exhaustive_cases

§

Would you mind to resolve these two outputs from ./gradlew playgroundPrecommit
   info - lib/modules/editor/repository/code_repository/code_client/grpc_code_client.dart:102:5 - Missing case clause for 'STATUS_COMPILE_ERROR'. Try adding a case clause for the missing constant. - exhaustive_cases
   info - lib/modules/editor/repository/code_repository/code_client/grpc_code_client.dart:102:5 - Missing case clause for 'STATUS_RUN_TIMEOUT'. Try adding a case clause for the missing constant. - exhaustive_cases

§

done


Docs: discuss migration from tailwind

Hey guys,  just a thought here about the docs.
I, like many others,  am using Tailwind and would like to try migrating from Tailwind to Uno in some projects, like Kaption.co. However, there is very little discussion about migration.  As a suggestion, addressing the following questions would be quite helpful for people making a switch:

What tailwind rules are missing in the "default" preset? For example, I noticed the / opacity shorthand is missing (e.g. text-slate-500/50) more
What would be the recommended way of duplicating common Tailwind plugins? For example, their forms plugin is commonly recommended to use their UI.
How would Tailwind and Uno interact if they are in the same install? What is recommended? Im considering using a prefix for uno, while using vanilla TW; this might make it easier to try out.

Can we use attributify mode for Uno and regular class names for TW?

I think it is there: https://uno.antfu.me/?s=text-slate-500/50 - Even if find anything missing on our side, we are open to aligning with it.
The plugin systems are completely different (so as the philosophies). Currently, there is no easy way to make them compact, but possible with a port from the ground up. We had typography preset ported, if anyone needs the form plugin, we are open for the community to implement it.
It's possible and should work. Tho I didn't have much interest to try that out. Both the core and attributify mode support prefixes. But I doubt if you can use unprefixed attributify mode with the prefixed core.

Right, thanks @antfu .
A key use case for a switch would be whether or not https://tailwindui.com templates look decent or not. These are what typically require the forms plugin.
Otherwise I believe there is another straight forward use case for Uno w embedded scripts and UI (like we are building w Kaption)
I’ll try things out and update when we get bandwidth.

For context, here is some example HTML from TailwindUI (recommending the forms plugin)

Email

  <input type="email" name="email" id="email" class="shadow-sm focus:ring-indigo-500 focus:border-indigo-500 block w-full sm:text-sm border-gray-300 rounded-md"<EMAIL_ADDRESS>

@arpowers Currently, the form plugin is a handcrafted css but using some of the tailwind's default themes. I've been using this as preflight:
https://gist.github.com/chu121su12/fd74503f8fef46d544c37b4538c237b5
basically a rough port of tailwinds' as of few months ago:
https://github.com/tailwindlabs/tailwindcss-forms/blob/master/src/index.js

https://gist.github.com/chu121su12/fd74503f8fef46d544c37b4538c237b5

@chu121su12 Please can you help with directions on how to use this from unocss.config.ts?
Thanks

@CharlesOkwuagwu Please check the preflight docs

https://gist.github.com/chu121su12/fd74503f8fef46d544c37b4538c237b5
basically a rough port of tailwinds' as of few months ago:

Thanks for sharing @chu121su12 👍


catkin compilation error in SpatialDetectionConverter.cpp:69:25

Hi,
I'm using Ubuntu 20.04, with ROS Noetic. All packages installed without problems as stated by the tutorial (including the required depthai-core), however, at the final step for compiling the depthai_bridge with catkin_make/catkin build gives an error that does not seems to be from library issues:
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/SpatialDetectionConverter.cpp: In member function ‘void dai::rosBridge::SpatialDetectionConverter::toRosMsg(std::shared_ptr<dai::SpatialImgDetections>, depthai_ros_msgs::SpatialDetectionArray&)’:
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/SpatialDetectionConverter.cpp:69:25: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘vision_msgs::ObjectHypothesis_<std::allocator<void> >::_id_type’ {aka ‘long int’} in assignment
   69 |           std::to_string(inNetData->detections[i].label);
      |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                         |
      |                         std::string {aka std::__cxx11::basic_string<char>}
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/ImgDetectionConverter.cpp: In member function ‘void dai::rosBridge::ImgDetectionConverter::toRosMsg(std::shared_ptr<dai::ImgDetections>, vision_msgs::Detection2DArray&)’:
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/ImgDetectionConverter.cpp:69:25: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘vision_msgs::ObjectHypothesisWithPose_<std::allocator<void> >::_id_type’ {aka ‘long int’} in assignment
   69 |           std::to_string(inNetData->detections[i].label);
      |           ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                         |
      |                         std::string {aka std::__cxx11::basic_string<char>}
make[2]: *** [luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/build.make:89: luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/src/SpatialDetectionConverter.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/ImageConverter.cpp: In member function ‘cv::Mat dai::rosBridge::ImageConverter::rosMsgtoCvMat(sensor_msgs::Image&)’:
/home/h3ct0r/catkin_ws_depthai/src/luxonis/depthai-ros/depthai_bridge/src/ImageConverter.cpp:247:1: warning: control reaches end of non-void function [-Wreturn-type]
  247 | }
      | ^
make[2]: *** [luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/build.make:76: luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/src/ImgDetectionConverter.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2554: luxonis/depthai-ros/depthai_bridge/CMakeFiles/depthai_bridge.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Invoking "make -j16 -l16" failed

Any clues on how to solve this?

vision_msgs package changed there data_structure which lead to this failue.
it's fixed now. Make a pull once and build it again.
Thanks

Thanks, its working now!


Enable color for consistency checks diffs

Drone can display terminal colors, so force-enable it to make diffs more readable on it.

Pushed a test commit so we can verify, will revert it later.

Color works:

There is no word highlight and that will require additional tools, but I'd say it's still an improvement over uncolored.

ping lg-tm


Better error handling when adding a new repository

Currently, as soon as there's an error during onNewRepo(), the function returns an error. However, it can leave traces in the system. Allowing the function to clean up after itself would help manage resources in the system.
Leftovers :

Cloned repo in ~/.config/gi/git/x-x-x-x
Added hash in IPFS Cluster
Added key in IPFS Key

When those elements aren't deleted, it might create conflicts later down the road. For example, a key that's left there will prevent this repo from being added in the future.

Hopefully. https://github.com/Permaweb/Host/commit/602c43cdd69548f5961a7adcfa04e2193ab8b502 would have resolved the problem. I need to create an API to test this.

I created the separate issue #4 for implementing an API. Once the API is there, it will be possible to test this bugfix more extensively.

The feature was tested, and it works.


[DOCFIX] Add Deploy-Alluxio-Fuse-for-Deep-Learning.md

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10393/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/10400/
Test PASSed.


[FLOC-3712] Make flocker-control serve the right service on the right port

Fixes https://clusterhq.atlassian.net/browse/FLOC-3712
This removes flocker-control socket activation.  The systemd documentation suggests that the way Twisted's systemd socket inheritance feature works makes it unreliable to use that feature to heterogeneous service configuration.
(discovered and fixed while pairing with @jml)

This makes me sad, but the code changes look obviously correct, given the diagnosis. Please merge once jenkins is happy. Please also file tickets against twisted for

documenting this limitation
providing support for addressing passed description by name.

docs: https://twistedmatrix.com/trac/ticket/8146#ticket
support for names:  https://tm.tl/#8147

Acceptance test runs pointed out that we were still using a private network namespace, preventing anyone from connecting to flocker-control network services.  Removed those, hopefully next builds will be good.  If so, I'll merge.

Builds had some problems on Jenkins.  Problems all look unrelated.  Local test runs look good, merging.


Angular RadioGroup component not loading from state when used with reactive forms

Migrated from GitLab
Original Reporter: @waltermesquita

Summary
Angular RadioGroup component not loading from state when used with reactive forms
Steps to reproduce

Bind the component to a FormControl using the 'formControlName' directive;
Setup the FormControl with an initial value that matches one of the options in the RadioGroup;
Verify that the RadioGroup will not have its initial selection based on the FormControl.

Environment

Package version: 0.7.60
Browser: Chrome.

What is the current bug behavior?
The RadioGroup did not have its initial selection based on the FormControl.
What is the expected correct behavior?
The RadioGroup should have its initial selection based on the FormControl.
Relevant logs and/or screenshots
(Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's tough to read otherwise.)
Possible fixes / Bugfix branch

(link to bugfix branch or file/line of code believed to be problem)

Will reevaluate with web component versions.

On the old version.
We have a new radio group component on the supported library
https://ui-components-ui-components-dev.os99.gov.ab.ca/?path=/docs/components-radio-button--basic


Test adding programs using non squashed Felt252Dict

Add non squashed Felt252Dict tests
Description
PR #1721 modified felt tests so that the work with SquashedFelt252Dict. This PR adds the same tests with the difference that they use Felt252Dict.
Checklist

[x] Linked to Github Issue
[x] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.
[ ] CHANGELOG has been updated.

@pefontana changes were done. Sorry about the files, seems I've had some trouble renaming the files.


dask.array.store but with anndata schema

Please describe your wishes and possible alternatives to achieve the desired result.
We should have some way of persisting intermediate results in dask objects to non-volatile storage (disk/ object-store).
It should probably follow a similar API to da.store. Some relevant docs from dask:

Intermediate storage
da.store

Use cases I'm thinking of include:

Persisting normalized data so it doesn't need to be recomputed:

adata.X: dask.array.Array

from anndata.io import TemporaryStorage # Comes up with unique key names so user doesn't have to think about overriding

temp_store = TemporaryStorage(zarr.open("s3:..."))

adata.layers["counts"] = adata.X.copy()
sc.pp.normalize_total(adata)
sc.pp.log1p(adata)
sc.pp.pca(adata)

adata.obsm["X_pca"] = temp_store .store(adata.obsm["X_pca"])
adata.X = temp_store .store(adata.X)

Persisting a copy of the matrix optimized for plotting

adata.layers["normalized_csc"] = temp_store.store(
    adata.X.map_blocks(sparse.csc_matrix).rechunk((100, -1)),
)

sc.pl.umap(adata, [...], layer="normalized_csc")

cc: @Intron7 @ilan-gold
It could be good to look into how xarray handles this.

While working on:

https://github.com/scverse/scanpy-tutorials/pull/92

We got to see some performance benefits to this. For example:
sc.pp.normalize_total(adata_dask, target_sum=1e4)
sc.pp.log1p(adata_dask)
adata_dask.X = adata_dask.X.to_zarr(
    "cell_atlas_normalized_X.zarr",
    storage_options={"consolidated": True, "compressor": zarr.Zstd()},
    return_stored=True,
    overwrite=True,
)
sc.pp.highly_variable_genes(adata_dask, min_mean=0.0125, max_mean=3, min_disp=0.5)
sc.pp.pca(adata_dask)
adata_dask.obsm["X_pca"] = adata_dask.obsm["X_pca"].compute()

The to_zarr call seems to provide significant benefit by caching the normalization and log transformation that would otherwise need to be performed again for calculating HVGs, firing the PCA, and finally calculating the observation level embeddings.


Omitted property does not narrow discriminated union contextual type

TypeScript Version:  4.2.1

Search Terms: discriminated union optional property
Code
type DiscriminatorTrue = {
  disc: true;
  cb: (x: string) => void;
}

type DiscriminatorFalse = {
  disc?: false;
  cb: (x: number) => void;
}

type Props = DiscriminatorTrue | DiscriminatorFalse;

declare function f(options: DiscriminatorTrue | DiscriminatorFalse): any;

f({
  disc: true,
  cb: s => parseInt(s) // Inference works 👍
});

f({
  disc: false,
  cb: n => n.toFixed() // Inference works 👍
});

f({
  cb: n => n.toFixed() // Implicit any error 👎
});

f({
  cb: (n: string) => parseInt(n) // But errors correctly with incorrect type annotation 👍
});

Expected behavior:
No implicit any error on the third call site
Actual behavior:
Implicit any error on the callback parameter at the third call site
Playground Link
Related Issues: https://github.com/microsoft/TypeScript/issues/31404#issuecomment-596841068 is this issue, but the OP there is different.
Notes:
This pattern sometimes appears in React component props, where convention is to make boolean properties optional and only pass them as true (usually with the shorthand <MyComponent boolProp />). I actually suggested using discriminated union props for React components in an old blog post, and noted this issue in a footnote, calling it a possible bug, but didn’t file it at the time because I had low confidence it wasn’t a duplicate or design limitation. It was later mentioned in https://github.com/microsoft/TypeScript/issues/31404#issuecomment-596841068, but was probably ignored because it was assumed to be an instance of the OP’s issue, which was determined to be a design limitation. I dove into this again because someone tweeted at me asking about that footnote after reading the post.

In this case, I think this'd be fixable by adjusting discriminateContextualTypeByObjectMembers and discriminateContextualTypeByJSXAttributes to include undefined'able discriminant props which don't appear in the node's properties. (They both currently filter the props which do exist on the input object down to the discriminant ones right now, so the possibly undefined discriminants from the contextual type would need to be appended to those)

Tagging backlog since this is a longstanding shortcoming, but we can take it earlier if someone's eager to take a stab.

 (I came across this when I was trying to use discriminated unions for react prop types)

@andrewbranch  Is this supposed to be still open? This doesn't error in 4.6, see playground

Huh, the fix was reverted, so I’m not sure what happened.

Hm, so it seems like #43633 originally fixed this but caused a crash and was reverted, and then #43937 promptly fixed it again and caused a performance regression that has not been reverted or fixed 😕

Anyone know the state of this? Is it worth a new issue? Looks to exist in 4.9.5


Route handling with enum of response state

According to pull request https://github.com/perwendel/spark/pull/349 for avoiding route missing when exception thrown and handled I've implemented enum of response state
It also fixed the error of processing response without content, e.g. 204

Not mapped in Spark jtest request detected ^.^

Please re-format according to https://github.com/perwendel/spark/tree/master/config for IntelliJ. This PR re-orders imports in incorrect order etc.


Feature Suggestions

Would you be open to adding a few more methods?
Some methods I would like to see:

.replaceExt() https://github.com/gulpjs/replace-ext
.normalizeTrim() A path.normalize() that trims trailing slashes (needed for comparing paths)
A method (not sure what to call it) that is a wrapper for
path.basename(filePath, path.extname(filePath))

Thoughts?

@jprichardson ping? Would be glad to do PRs.

Sure, sounds good. Would you mind doing a PR with the latest standard@v8?

No problem.
I probably will do it in several separate PRs as I get time.
Any ideas on what to call the wrapper for path.basename(filePath, path.extname(filePath))?

Any ideas on what to call the wrapper for path.basename(filePath, path.extname(filePath))?

@jprichardson bump.

basenameExcludingExtension()... although I hate how verbose that is. Or could just create base() with an ext flag?

:-1: basenameExcludingExtension()
base() +  basename() = confusion :confused: IMO
Is file(), filename(), or name() too vague?

It's a bummer, because basename() should be filename() and our method should be basename() :) ... maybe name()? I feel like it should have base in it since there's no extension.

name() or base(); I'll leave the decision to you.

How do you feel about:

base({ ext: true }) === basename()
base({ ext: false }) === (new functionality)

?

I would prefer:

base(filePath, true) === basename()
base(filePath, false) === (new functionality)

However, that still sort of defeats the purpose of a shortcut (passing two args). Admittedly, base(filePath, false) is shorter than path.basename(filePath, path.extname(filePath)), but still...
There is no good option IMO.

I would prefer:

base(filePath, true) === basename()
base(filePath, false) === (new functionality)

However, that still sort of defeats the purpose of a shortcut (passing two args). Admittedly, base(filePath, false) is shorter than path.basename(filePath, path.extname(filePath)), but still...
There is no good option IMO.

@jprichardson Enough Bikeshedding! You make a decision and I'll do it as I get time. How's that?

Ok, your proposal of base(filePath, boolIncludeExt) seems good.

@jprichardson Should it throw an error if boolIncludeExt is undefined?

It should default... since we already have basename() in node core, maybe the default should be false? What are your thoughts?

the default should be false

That's the happiest solution! :tada:


Validate HTTP version while decoding

Motivation:
We didnt strictly validate HTTP versions while decoding.
Modifications:

Add extra validation logic in HttpRequestDecoder / HttpResponseDecoder
Add unit tests

Result:
Fixes https://github.com/netty/netty/issues/14186

I don't have my computer here but iirc I have introduced encoding initial lines pooling somewhere in the stack. If we move the check down there - when a known http string is used there is no reason to check if it starts correctly, conversely it makes sense if is not a known one.
The same thing could be done by adding a stricter new Http version::valueOf which has the luxury of checking among known Strings iirc (it is another optimization I made, some time ago)

Just tested the patch; one small note.
The original HTTP RFCs (2068 and 2616) allowed multi-digit version majors and minors. The subsequent RFCs (7230 and 9112) restricted HTTP versions to single digits.
Here's a breakdown of what other implementations do:

No version validation:

OpenBSD relayd
Mongoose
Twisted
Netty (before this patch)

Allow multi-digit version minors and majors:

Puma
Unicorn
WEBrick
Netty (assuming this patch is merged as-is)

Allow multi-digit minors, but require single-digit majors:

Nginx
Cloudflare
Google Cloud Classic Application Load Balancer
Envoy
LiteSpeed

Require single-digit majors and minors:

AIOHTTP
Apache httpd
Cheroot
FastHTTP
Go net/http
Gunicorn
H2O
HAProxy
Hyper
Hypercorn
Eclipse Jetty
Libevent
Libsoup
Lighttpd
Node.js
Phusion Passenger
Apache Tomcat
Tornado
OpenWrt uhttpd
Uvicorn
Waitress
OpenBSD httpd
Apache Traffic Server
nghttpx
Pingora
Pound
Squid
Varnish
Akamai GHost

Given that most implementations follow the modern version validation rules, it's probably safe to do the same in Netty.

@idelpivnitskiy PTAL again

@kenballus is it part of your PhD research or how do you find these insights? 🤯

Thank you for asking! It is part of my PhD research :)
I wrote this fuzzer for cross-testing HTTP implementations during an internship last year, and have continued working on it since then.
 It is part of my PhD research :)
I wrote this fuzzer for cross-testing HTTP implementations during an internship last year, and have continued working on it since then.


Session Manager window does not update data when connection changes

Session Manager window does not update data when connection changes.
To open the session manager for other connections, you have to close the tab of the current manager. The same problem and with the lock manager.
Windows 10, PG 11, dBeaver 7.1.1

thanks for the bug report

Fixed

verified


JMX support

I learnt from https://github.com/netty/netty/issues/6523, until 2017, there is no JMX metrics available for Netty.
May I confirm the recent state of metrics? Any update about metrics? If no, is there any plan to support to expose metrics to JMX?
Thanks.

You are right hat there is nothing shipped as part of netty. That said you can add such instrumentation easily by yourself for most parts. Like adding a ChannelHandler that publish metrics etc


"Hidden input" taking a blank space when it's next to the "header tag"

It's possible to see too how was solved this simple problem. But I still think it's a little strange.
http://jsfiddle.net/AnDroidEL/qmarh3qh/2/

Components try to remove margins based on :first-child and :last-child theres nothing that can be done with regards to hidden inputs, or additional wrappers sometimes causing excess margins.
I'd recommend massaging the component into place with some page specific css for your design.


Remove obsolote unit.yml file

Description
The unit.yml file is no longer in the synced files list anymore, this pr removed this file.

Type of Change

[ ] Non-module change (e.g. CI/CD, documentation, etc.)
[ ] Azure Verified Module updates:

[ ] Bugfix containing backwards compatible bug fixes

[ ] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
[ ] The bug was found by the module author, and no one has opened an issue to report it yet.

[ ] Feature update backwards compatible feature updates.
[ ] Breaking changes.
[ ] Update to documentation

Checklist

[ ] I'm sure there are no other open Pull Requests for the same update/change
[ ] My corresponding pipelines / checks run clean and green without any errors or warnings
[ ] I did run all  pre-commit checks

Supplanted by #101


CB-2878 - Hive Needs to be in HTTP Mode for Knox to Proxy J/ODBC Access

Adding HTTP mode to the default blueprints

Follow-up to #5991