Website Redesign - Managing your connection

As a User,
I want to visit the ReportStream Managing your connection Page,
So that I can become informed about the tools available to me to manage my account
Designs

Figma Link: https://www.figma.com/file/Du7feM8huRDAAZCQcUIj93/Website-Redesign?type=design&node-id=1267-6590&mode=design

Content Updates

See Figma Link

Page Title

"CDC ReportStream - Managing your connection"

Analytics

TBD

Storybook updates

TBD

Verification Steps

Signed off in Staging by Product / Design
Signed off in Production by Product / Design / Engineering

Acceptance Criteria:

[ ] Analytics / Metrics Required - TBD
[ ] Storybook update required
[ ] Unit Tests
[ ] End to End Tests - TBD
[ ] Manual Testing Steps

Dependencies:

Designs - https://www.figma.com/file/Du7feM8huRDAAZCQcUIj93/Website-Redesign?type=design&node-id=1267-6590&mode=design
Platform API Endpoints - N/A
Links - TBD

Additional Details:

The deployment strategy will follow the general deployment strategy for the Website Redesign EPIC. We will deliver this page in isolation from the other pages.
Conversion to MDX will be determined by the Engineer owning this ticket

Hey team! Please add your planning poker estimate with Zenhub @etanb @jpandersen87 @penny-lischer

Image assets
Submission History:
Private Zenhub Image
Daily Data:
Private Zenhub Image

Test Steps:

Log into RS
navigate to /manage-connection
Click links within page and validate that they open the correct page

Re-opening to address these outstanding comments: https://github.com/CDCgov/prime-reportstream/pull/11022#issuecomment-1693431697


Scraper Password readable

Batocera build version
ES v40 2024/08/01 1:28
Your architecture
x86
Your Graphic Processor Unit(s) (GPU)
APU
Issue description
When I set the password for screenscraper and go out of the password section, I can go back into it and read the password as cleartext. This means anyone with access to the system can go read the password that I really don't want to share with them.
Can we please have this aspect of security improved soon?
Detailed reproduction steps
Already described
Details of any attempts to fix this yourself
No response
Details of any modifications you have made to Batocera.
None
Logs and data
No response

I don't think the screenscraper should be cleared out in the UI. Then, you could argue that the wifi password is in the clear too.
If a Batocera machine is left unattended, it should be put in kiosk/kids mode with no access to the passwords (or any other sensitive setting).

This will in fact clear the input box for wifi passwords, and all other passwords - which currently display as "******" but then show the password in the input dialog.
I think it's best to always do this, for all passwords.  If there's strong disagreement, I can make it only clear the input dialog when "ENABLE SECURITY" is set.

This will in fact clear the input box for wifi passwords, and all other passwords - which currently display as "******" but then show the password in the input dialog.
I think it's best to always do this, for all passwords. If there's strong disagreement, I can make it only clear the input dialog when "ENFORCE SECURITY" is set.

When you go and edit the field, it should NEVER show the password value in clear-text. This is generally seen as very insecure practice for any password field regardless of where such a function is implemented. It is bad practice for websites, it is bad practice for desktop applications, and any other such thing.
There is no upside to being able to read the text of a password that is already set, whether it's through the GUI (which I am originally speaking to) or reading it via files on disk (as per @nadenislamarre 's point).
Considering in the case I speak to for screenscraper this is the same password I use to login to the website and services (as in this is not an API token or service account that's separate from the main account) this represents a pretty substantial security problem.
I would also like to add that there's a significantly tangible difference between:

Someone in your home walking past your batocera system unattended and simply going to read the settings in the GUI which would take seconds, taking a photo of your password, and moving on unnnoticed.
Taking the same batocera computer and physically opening it to remove the storage device and reading the files on disk...

#2 would be very very very noticed by the owner of said system, and #1 is much easier to do as a "drive-by" action.
I understand that batocera isn't inherently designed to be a security-focused ecosystem in the first place, but this is bare minimum security for any system to block passwords that are already set from being read.
I am glad this is re-opened, and that we have dialogue going on here. But I really still advocate for passwords being improved in these regards in the batocera ecosystem. And I do agree that the files on disk containing such info have them one-way encrypted (this doesn't necessarily require TPM by the way) as there are already tools in the Linuxy ecosystem to enable this.

I understand that batocera isn't inherently designed to be a security-focused ecosystem in the first place, but this is bare minimum security for any system to block passwords that are already set from being read.

I agree, which is why I'm correcting most of these exposures.

And I do agree that the files on disk containing such info have them one-way encrypted (this doesn't necessarily require TPM by the way) as there are already tools in the Linuxy ecosystem to enable this.

What tools are you referring to?

I understand that batocera isn't inherently designed to be a security-focused ecosystem in the first place, but this is bare minimum security for any system to block passwords that are already set from being read.

I agree, which is why I'm correcting most of these exposures.

And I do agree that the files on disk containing such info have them one-way encrypted (this doesn't necessarily require TPM by the way) as there are already tools in the Linuxy ecosystem to enable this.

What tools are you referring to?

Well here's one: https://man7.org/linux/man-pages/man3/crypt.3.html

Also, thanks for coming up with a workable solution! :)

What tools are you referring to?

Well here's one: https://man7.org/linux/man-pages/man3/crypt.3.html

That's useless in these contexts.  Batocera needs to be able to use the stored credentials, so it needs to be able to decrypt them.  A one-way hash is useful only for credential validation, not for credential storage.

Also, thanks for coming up with a workable solution!


None of the examples build on Linux (specifically Ubuntu 21.04)

monomer/examples/ticker> stack build
... a bunch of compiling output...

--  While building package generic-deriving-1.13.1 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

--  While building package memory-0.15.0 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

--  While building package profunctors-5.5.2 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

--  While building package formatting-6.3.7 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

monomer/examples/generative> stack build
... a bunch of compiling output...

--  While building package generic-deriving-1.13.1 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

--  While building package memory-0.15.0 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

--  While building package profunctors-5.5.2 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

--  While building package formatting-6.3.7 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1

I can go back and get the other ones later, if that would help. I know they're dependencies but I'd love to play around with the demos.

Hi @jc00ke!
I see you're using GHC 9.0.1? Have you updated stack.yaml to point to a different version of Stackage? To which version?
If that's not how you built the examples, how did you build them?
I'm using Ubuntu 21.04 and, using Stack as suggested in the Setup page, builds correctly.

Hi! I used asdf to install Haskell and then in each directory I ran stack build. I'm new to the Haskell ecosystem so I can't be certain I have everything set up correctly. I default to using asdf when possible.

Even if you're building the library and not the starter project, checking the setup page might be a good idea. If you already have stack installed (it seems you have it), you only need to check the non-haskell dependencies section (you may have problems installing libsdl-dev, and a possible solution for that is suggested).
Then you need to run stack build inside the top level directory of the library (monomer, assuming you checked out the project with the default name). The package.yaml file has all the build steps defined, and each example will be built with that single command. From there you can run each of the examples individually, from the top level directory where package.yaml resides, with:
stack run todo
stack run books
stack run ticker
stack run generative
If you run into issues, you may want to run stack --version. I'm using 2.7.3; the version in your computer should not be too far from that. I'm not familiar with asdf, but the stack installation script usually works great.

Hmm, this fails from the top level.

monomer> stack build
WARNING: Ignoring memory's bounds on base (>=4.9 && <4.15); using base-<IP_ADDRESS>.
Reason: trusting snapshot over cabal file dependency information.
WARNING: Ignoring lens's bounds on Cabal (>=1.10 && <3.3); using Cabal-<IP_ADDRESS>.
Reason: trusting snapshot over cabal file dependency information.
WARNING: Ignoring profunctors's bounds on base (>=4.7 && <4.15); using base-<IP_ADDRESS>.
Reason: trusting snapshot over cabal file dependency information.
WARNING: Ignoring lens's bounds on template-haskell (>=2.4 && <2.17); using template-haskell-<IP_ADDRESS>.
Reason: trusting snapshot over cabal file dependency information.
WARNING: Ignoring generic-deriving's bounds on template-haskell (>=2.4 && <2.17); using template-haskell-<IP_ADDRESS>.
Reason: trusting snapshot over cabal file dependency information.
formatting         > configure
formatting         > Configuring formatting-6.3.7...
formatting         > build
generic-deriving   > configure
formatting         > Preprocessing library for formatting-6.3.7..
formatting         > Building library for formatting-6.3.7..
formatting         > [ 1 of 13] Compiling Data.Text.Format.Functions
formatting         > [ 2 of 13] Compiling Data.Text.Format.Int
formatting         >
formatting         > /tmp/stack-2e08390f0376a2ea/formatting-6.3.7/src/Data/Text/Format/Int.hs:121:30: error:
formatting         >     Ambiguous occurrence ‘quotRemInteger’
formatting         >     It could refer to
formatting         >        either ‘GHC.Num.quotRemInteger’,
formatting         >               imported from ‘GHC.Num’ at src/Data/Text/Format/Int.hs:27:17-30
formatting         >            or ‘GHC.Integer.GMP.Internals.quotRemInteger’,
formatting         >               imported from ‘GHC.Integer.GMP.Internals’ at src/Data/Text/Format/Int.hs:34:1-32
formatting         >               (and originally defined in ‘GHC.Integer’)
formatting         >     |
formatting         > 121 |     splith p (n:ns) = case n `quotRemInteger` p of
formatting         >     |                              ^^^^^^^^^^^^^^^^
formatting         >
formatting         > /tmp/stack-2e08390f0376a2ea/formatting-6.3.7/src/Data/Text/Format/Int.hs:126:30: error:
formatting         >     Ambiguous occurrence ‘quotRemInteger’
formatting         >     It could refer to
formatting         >        either ‘GHC.Num.quotRemInteger’,
formatting         >               imported from ‘GHC.Num’ at src/Data/Text/Format/Int.hs:27:17-30
formatting         >            or ‘GHC.Integer.GMP.Internals.quotRemInteger’,
formatting         >               imported from ‘GHC.Integer.GMP.Internals’ at src/Data/Text/Format/Int.hs:34:1-32
formatting         >               (and originally defined in ‘GHC.Integer’)
formatting         >     |
formatting         > 126 |     splitb p (n:ns) = case n `quotRemInteger` p of
formatting         >     |                              ^^^^^^^^^^^^^^^^
formatting         >
formatting         > /tmp/stack-2e08390f0376a2ea/formatting-6.3.7/src/Data/Text/Format/Int.hs:144:26: error:
formatting         >     Ambiguous occurrence ‘quotRemInteger’
formatting         >     It could refer to
formatting         >        either ‘GHC.Num.quotRemInteger’,
formatting         >               imported from ‘GHC.Num’ at src/Data/Text/Format/Int.hs:27:17-30
formatting         >            or ‘GHC.Integer.GMP.Internals.quotRemInteger’,
formatting         >               imported from ‘GHC.Integer.GMP.Internals’ at src/Data/Text/Format/Int.hs:34:1-32
formatting         >               (and originally defined in ‘GHC.Integer’)
formatting         >     |
formatting         > 144 |     putH (n:ns) = case n `quotRemInteger` maxInt of
formatting         >     |                          ^^^^^^^^^^^^^^^^
formatting         >
formatting         > /tmp/stack-2e08390f0376a2ea/formatting-6.3.7/src/Data/Text/Format/Int.hs:152:26: error:
formatting         >     Ambiguous occurrence ‘quotRemInteger’
formatting         >     It could refer to
formatting         >        either ‘GHC.Num.quotRemInteger’,
formatting         >               imported from ‘GHC.Num’ at src/Data/Text/Format/Int.hs:27:17-30
formatting         >            or ‘GHC.Integer.GMP.Internals.quotRemInteger’,
formatting         >               imported from ‘GHC.Integer.GMP.Internals’ at src/Data/Text/Format/Int.hs:34:1-32
formatting         >               (and originally defined in ‘GHC.Integer’)
formatting         >     |
formatting         > 152 |     putB (n:ns) = case n `quotRemInteger` maxInt of
formatting         >     |                          ^^^^^^^^^^^^^^^^
generic-deriving   > Configuring generic-deriving-1.13.1...
generic-deriving   > build
memory             > configure
generic-deriving   > Preprocessing library for generic-deriving-1.13.1..
generic-deriving   > Building library for generic-deriving-1.13.1..
generic-deriving   > [ 1 of 22] Compiling Generics.Deriving.Base.Internal
generic-deriving   > [ 2 of 22] Compiling Generics.Deriving.Instances
generic-deriving   > [ 3 of 22] Compiling Generics.Deriving.Base
generic-deriving   > [ 4 of 22] Compiling Generics.Deriving.Functor
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Functor.hs:216:19: warning: [-Wdeprecations]
generic-deriving   >     In the use of type constructor or class ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >     |
generic-deriving   > 216 | instance GFunctor Option where
generic-deriving   >     |                   ^^^^^^
memory             > Configuring memory-0.15.0...
memory             > build
profunctors        > configure
memory             > Preprocessing library for memory-0.15.0..
memory             > Building library for memory-0.15.0..
generic-deriving   > [ 5 of 22] Compiling Generics.Deriving.Foldable
memory             > [ 1 of 29] Compiling Data.Memory.ExtendedWords
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Foldable.hs:246:20: warning: [-Wdeprecations]
generic-deriving   >     In the use of type constructor or class ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >     |
generic-deriving   > 246 | instance GFoldable Option where
generic-deriving   >     |                    ^^^^^^
memory             > [ 2 of 29] Compiling Data.Memory.Internal.Compat
memory             > [ 3 of 29] Compiling Data.Memory.Endian
profunctors        > Configuring profunctors-5.5.2...
memory             > [ 4 of 29] Compiling Data.Memory.Hash.SipHash
profunctors        > build
profunctors        > Preprocessing library for profunctors-5.5.2..
profunctors        > Building library for profunctors-5.5.2..
profunctors        > [ 1 of 16] Compiling Data.Profunctor.Unsafe
memory             > [ 5 of 29] Compiling Data.Memory.Encoding.Base16
memory             > [ 6 of 29] Compiling Data.Memory.Internal.CompatPrim
memory             > [ 7 of 29] Compiling Data.Memory.Encoding.Base32
memory             > [ 8 of 29] Compiling Data.Memory.Internal.CompatPrim64
memory             > [ 9 of 29] Compiling Data.Memory.Internal.DeepSeq
profunctors        > [ 2 of 16] Compiling Data.Profunctor.Types
memory             > [10 of 29] Compiling Data.Memory.Internal.Imports
memory             > [11 of 29] Compiling Data.Memory.Hash.FNV
memory             > [12 of 29] Compiling Data.Memory.Encoding.Base64
generic-deriving   > [ 6 of 22] Compiling Generics.Deriving.Eq
memory             > [13 of 29] Compiling Data.Memory.Internal.Scrubber
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Eq.hs:484:24: warning: [-Wdeprecations]
generic-deriving   >     In the use of type constructor or class ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >     |
generic-deriving   > 484 | instance GEq a => GEq (Option a) where
generic-deriving   >     |                        ^^^^^^
memory             > [14 of 29] Compiling Data.Memory.MemMap.Posix
profunctors        > [ 3 of 16] Compiling Data.Profunctor.Monad
profunctors        > [ 4 of 16] Compiling Data.Profunctor.Adjunction
profunctors        > [ 5 of 16] Compiling Data.Profunctor.Strong
profunctors        >
profunctors        > /tmp/stack-2e08390f0376a2ea/profunctors-5.5.2/src/Data/Profunctor/Strong.hs:188:12: error:
profunctors        >     • Couldn't match type: Tambara p (a, c) (b, c)
profunctors        >                      with: forall c1. Tambara p (a, c1) (b, c1)
profunctors        >       Expected: Tambara (Tambara p) a b -> Tambara p (a, c) (b, c)
profunctors        >         Actual: Tambara (Tambara p) a b
profunctors        >                 -> forall c. Tambara p (a, c) (b, c)
profunctors        >     • In the first argument of ‘(.)’, namely ‘runTambara’
profunctors        >       In the expression: runTambara . produplicate
profunctors        >       In an equation for ‘first'’: first' = runTambara . produplicate
profunctors        >     • Relevant bindings include
profunctors        >         first' :: Tambara p a b -> Tambara p (a, c) (b, c)
profunctors        >           (bound at src/Data/Profunctor/Strong.hs:188:3)
profunctors        >     |
profunctors        > 188 |   first' = runTambara . produplicate
profunctors        >     |            ^^^^^^^^^^
profunctors        >
profunctors        > /tmp/stack-2e08390f0376a2ea/profunctors-5.5.2/src/Data/Profunctor/Strong.hs:428:13: error:
profunctors        >     • Couldn't match type: p a0 b0 -> Cotambara q a0 b0
profunctors        >                      with: forall a b. p a b -> Cotambara q a b
profunctors        >       Expected: (p :-> q) -> p :-> Cotambara q
profunctors        >         Actual: (p :-> q) -> p a0 b0 -> Cotambara q a0 b0
profunctors        >     • In the expression: Cotambara
profunctors        >       In an equation for ‘cotambara’: cotambara = Cotambara
profunctors        >     • Relevant bindings include
profunctors        >         cotambara :: (p :-> q) -> p :-> Cotambara q
profunctors        >           (bound at src/Data/Profunctor/Strong.hs:428:1)
profunctors        >     |
profunctors        > 428 | cotambara = Cotambara
profunctors        >     |             ^^^^^^^^^
generic-deriving   > [ 7 of 22] Compiling Generics.Deriving.Enum
memory             > [15 of 29] Compiling Data.Memory.PtrMethods
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Enum.hs:481:28: warning: [-Wdeprecations]
generic-deriving   >     In the use of type constructor or class ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >     |
generic-deriving   > 481 | instance GEnum a => GEnum (Option a) where
generic-deriving   >     |                            ^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Enum.hs:1025:42: warning: [-Wdeprecations]
generic-deriving   >     In the use of type constructor or class ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >      |
generic-deriving   > 1025 | instance (GEq a, GEnum a, GIx a) => GIx (Option a) where
generic-deriving   >      |                                          ^^^^^^
memory             > [16 of 29] Compiling Data.ByteArray.Types
memory             >
memory             > /tmp/stack-2e08390f0376a2ea/memory-0.15.0/Data/ByteArray/Types.hs:39:1: warning: [-Wunused-imports]
memory             >     The qualified import of ‘Basement.PrimType’ is redundant
memory             >       except perhaps to import instances from ‘Basement.PrimType’
memory             >     To import instances alone, use: import Basement.PrimType()
memory             >    |
memory             > 39 | import qualified Basement.PrimType as Base (primSizeInBytes)
memory             >    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
memory             > [17 of 29] Compiling Data.ByteArray.MemView
memory             > [18 of 29] Compiling Data.ByteArray.Pack.Internal
memory             > [19 of 29] Compiling Data.ByteArray.Hash
memory             > [20 of 29] Compiling Data.ByteArray.Sized
memory             > [21 of 29] Compiling Data.ByteArray.ScrubbedBytes
memory             >
memory             > /tmp/stack-2e08390f0376a2ea/memory-0.15.0/Data/ByteArray/ScrubbedBytes.hs:93:71: error:
memory             >     Variable not in scope:
memory             >       unsafeCoerce# :: MutableByteArray# RealWorld -> ByteArray#
memory             >    |
memory             > 93 |                 let !scrubber = (getScrubber sz) (byteArrayContents# (unsafeCoerce# mbarr))
memory             >    |                                                                       ^^^^^^^^^^^^^
memory             >
memory             > /tmp/stack-2e08390f0376a2ea/memory-0.15.0/Data/ByteArray/ScrubbedBytes.hs:151:38: error:
memory             >     Variable not in scope:
memory             >       unsafeCoerce# :: MutableByteArray# RealWorld -> ByteArray#
memory             >     |
memory             > 151 |     a <- f (Ptr (byteArrayContents# (unsafeCoerce# mba)))
memory             >     |                                      ^^^^^^^^^^^^^
generic-deriving   > [ 8 of 22] Compiling Generics.Deriving.Copoint
generic-deriving   > [ 9 of 22] Compiling Generics.Deriving.ConNames
generic-deriving   > [10 of 22] Compiling Generics.Deriving.Semigroup.Internal
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Semigroup/Internal.hs:193:38: warning: [-Wdeprecations]
generic-deriving   >     In the use of type constructor or class ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >     |
generic-deriving   > 193 | instance GSemigroup a => GSemigroup (Option a) where
generic-deriving   >     |                                      ^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Semigroup/Internal.hs:194:13: warning: [-Wdeprecations]
generic-deriving   >     In the use of data constructor ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >     |
generic-deriving   > 194 |   gsappend (Option a) (Option b) = Option (gsappend a b)
generic-deriving   >     |             ^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Semigroup/Internal.hs:194:24: warning: [-Wdeprecations]
generic-deriving   >     In the use of data constructor ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >     |
generic-deriving   > 194 |   gsappend (Option a) (Option b) = Option (gsappend a b)
generic-deriving   >     |                        ^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Semigroup/Internal.hs:194:36: warning: [-Wdeprecations]
generic-deriving   >     In the use of data constructor ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >     |
generic-deriving   > 194 |   gsappend (Option a) (Option b) = Option (gsappend a b)
generic-deriving   >     |                                    ^^^^^^
generic-deriving   > [11 of 22] Compiling Generics.Deriving.Monoid.Internal
generic-deriving   > [12 of 22] Compiling Generics.Deriving.Semigroup
generic-deriving   > [13 of 22] Compiling Generics.Deriving.Monoid
generic-deriving   > [14 of 22] Compiling Generics.Deriving.Show
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/Show.hs:544:28: warning: [-Wdeprecations]
generic-deriving   >     In the use of type constructor or class ‘Option’
generic-deriving   >     (imported from Data.Semigroup):
generic-deriving   >     Deprecated: "will be removed in GHC 9.2; use 'Maybe' instead."
generic-deriving   >     |
generic-deriving   > 544 | instance GShow a => GShow (Option a) where
generic-deriving   >     |                            ^^^^^^
generic-deriving   > [15 of 22] Compiling Generics.Deriving.TH.Internal
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/TH/Internal.hs:104:34: error:
generic-deriving   >     • Expecting one more argument to ‘TyVarBndr’
generic-deriving   >       Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
generic-deriving   >     • In the first argument of ‘Maybe’, namely ‘TyVarBndr’
generic-deriving   >       In the type signature: typeToTyVarBndr :: Type -> Maybe TyVarBndr
generic-deriving   >     |
generic-deriving   > 104 | typeToTyVarBndr :: Type -> Maybe TyVarBndr
generic-deriving   >     |                                  ^^^^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/TH/Internal.hs:177:27: error:
generic-deriving   >     • Expecting one more argument to ‘TyVarBndr’
generic-deriving   >       Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
generic-deriving   >     • In the type signature:
generic-deriving   >         applyTyToTvbs :: Name -> [TyVarBndr] -> Type
generic-deriving   >     |
generic-deriving   > 177 | applyTyToTvbs :: Name -> [TyVarBndr] -> Type
generic-deriving   >     |                           ^^^^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/TH/Internal.hs:211:24: error:
generic-deriving   >     • Expecting one more argument to ‘TyVarBndr’
generic-deriving   >       Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
generic-deriving   >     • In the type signature: uncurryTy :: Type -> ([TyVarBndr], [Type])
generic-deriving   >     |
generic-deriving   > 211 | uncurryTy :: Type -> ([TyVarBndr], [Type])
generic-deriving   >     |                        ^^^^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/TH/Internal.hs:222:26: error:
generic-deriving   >     • Expecting one more argument to ‘TyVarBndr’
generic-deriving   >       Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
generic-deriving   >     • In the type signature:
generic-deriving   >         uncurryKind :: Kind -> ([TyVarBndr], [Kind])
generic-deriving   >     |
generic-deriving   > 222 | uncurryKind :: Kind -> ([TyVarBndr], [Kind])
generic-deriving   >     |                          ^^^^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/TH/Internal.hs:232:20: error:
generic-deriving   >     • Expecting one more argument to ‘TyVarBndr’
generic-deriving   >       Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
generic-deriving   >     • In the type signature: tyVarBndrToType :: TyVarBndr -> Type
generic-deriving   >     |
generic-deriving   > 232 | tyVarBndrToType :: TyVarBndr -> Type
generic-deriving   >     |                    ^^^^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/TH/Internal.hs:297:15: error:
generic-deriving   >     • Expecting one more argument to ‘TyVarBndr’
generic-deriving   >       Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
generic-deriving   >     • In the type signature: unKindedTV :: TyVarBndr -> TyVarBndr
generic-deriving   >     |
generic-deriving   > 297 | unKindedTV :: TyVarBndr -> TyVarBndr
generic-deriving   >     |               ^^^^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/TH/Internal.hs:297:28: error:
generic-deriving   >     • Expecting one more argument to ‘TyVarBndr’
generic-deriving   >       Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
generic-deriving   >     • In the type signature: unKindedTV :: TyVarBndr -> TyVarBndr
generic-deriving   >     |
generic-deriving   > 297 | unKindedTV :: TyVarBndr -> TyVarBndr
generic-deriving   >     |                            ^^^^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/TH/Internal.hs:364:44: error:
generic-deriving   >     • Expecting one more argument to ‘TyVarBndr’
generic-deriving   >       Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
generic-deriving   >     • In the type signature:
generic-deriving   >         genericKind :: GenericClass -> [Type] -> ([TyVarBndr], GenericKind)
generic-deriving   >     |
generic-deriving   > 364 | genericKind :: GenericClass -> [Type] -> ([TyVarBndr], GenericKind)
generic-deriving   >     |                                            ^^^^^^^^^
generic-deriving   >
generic-deriving   > /tmp/stack-2e08390f0376a2ea/generic-deriving-1.13.1/src/Generics/Deriving/TH/Internal.hs:489:37: error:
generic-deriving   >     • Expecting one more argument to ‘TyVarBndr’
generic-deriving   >       Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
generic-deriving   >     • In the type signature:
generic-deriving   >         checkExistentialContext :: Name -> [TyVarBndr] -> Cxt -> Q ()
generic-deriving   >     |
generic-deriving   > 489 | checkExistentialContext :: Name -> [TyVarBndr] -> Cxt -> Q ()
generic-deriving   >     |                                     ^^^^^^^^^

--  While building package generic-deriving-1.13.1 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options ""
    Process exited with code: ExitFailure 1

--  While building package memory-0.15.0 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options ""
    Process exited with code: ExitFailure 1

--  While building package profunctors-5.5.2 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options ""
    Process exited with code: ExitFailure 1

--  While building package formatting-6.3.7 (scroll up to its section to see the error) using:
      /home/jesse/.asdf/installs/haskell/9.0.1/stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-9.0.1 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS> build --ghc-options ""
    Process exited with code: ExitFailure 1

Looks like I have the right deps, yeah?
monomer> sudo apt install libsdl2-dev libglew-dev
[sudo] password for jesse:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libglew-dev is already the newest version (2.1.0-4).
libsdl2-dev is already the newest version (2.0.14+dfsg2-3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

monomer> stack --version
  Version 2.sa7.3, Git revision 7927a3aec32e2b2e5e4fb5be76d0d50eddcc197f x86_64 hpack-0.34.4

I didn't modify stack.yaml but I can if it'll help!

stack.yaml
# This file was automatically generated by 'stack init'
#
# Some commonly used options have been documented as comments in this file.
# For advanced use and comprehensive documentation of the format, please see:
# https://docs.haskellstack.org/en/stable/yaml_configuration/

# Resolver to choose a 'specific' stackage snapshot or a compiler version.
# A snapshot resolver dictates the compiler version and the set of packages
# to be used for project dependencies. For example:
#
# resolver: lts-3.5
# resolver: nightly-2015-09-21
# resolver: ghc-7.10.2
# resolver: ghcjs-0.1.0_ghc-7.10.2
# resolver:
#  name: custom-snapshot
#  location: "./custom-snapshot.yaml"

#resolver: lts-14.27
resolver: lts-17.15
#resolver: lts-18.5

# User packages to be built.
# Various formats can be used as shown in the example below.
#
# packages:
# - some-directory
# - https://example.com/foo/bar/baz-0.0.2.tar.gz
# - location:
#    git: https://github.com/commercialhaskell/stack.git
#    commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a
#   extra-dep: true
#  subdirs:
#  - auto-update
#  - wai
#
# A package marked 'extra-dep: true' will only be built if demanded by a
# non-dependency (i.e. a user package), and its test suites and benchmarks
# will not be run. This is useful for tweaking upstream packages.
packages:
- .

# Dependency packages to be pulled from upstream that are not in the resolver
# (e.g., acme-missiles-0.3)
extra-deps:
  - git: https://github.com/fjvallarino/nanovg-hs
    commit: ba8733f58da63e0934b5d2853ed84b71e872e6f1
  - regex-posix-clib-2.7@sha256:998fca06da3d719818f0691ef0b8b9b7375afeea228cb08bd9e2db53f96b0cd7,1232

  # Override default flag values for local packages and extra-deps
flags:
  nanovg:
    stb_truetype: true

# Extra package databases containing global packages
# extra-package-dbs: []

# Control whether we use the GHC we find on the path
# system-ghc: true
#
# Require a specific version of stack, using version ranges
# require-stack-version: -any # Default
# require-stack-version: ">=1.6"
#
# Override the architecture used by stack, especially useful on Windows
# arch: i386
# arch: x86_64
#
# Extra directories used by stack for building
# extra-include-dirs: [/path/to/dir]
# extra-lib-dirs: [/path/to/dir]
#
# Allow a newer minor version of GHC than the snapshot specifies
# compiler-check: newer-minor

I think this is related to an issue on asdf itself: https://github.com/asdf-community/asdf-haskell/issues/7; apparently asdf ignores the compiler version defined in the project's stack.yaml.
If you install Stack as suggested in its website, everything should work fine. Just in case, make sure to remove .stack-work from the project's directory. Even safer, remove the monomer directory and checkout the project again, since some cabal stuff could have been generated and cause unexpected failures.

Interesting. When I manually install stack everything builds and runs fine. I'll keep an eye on asdf-community/asdf-haskell#7.


install gulp

[Enter feedback here]
https://docs.microsoft.com/en-us/microsoftteams/platform/get-started/get-started-nodejs-app-studio?tabs=AS

I installed gulp but there is no gulp CLI version.
From StackOverflow, I install gulp-cli using "npm gulp-cli" and it shows gulp CLI version like:

CLI version: 2.3.0
Local version: 4.0.2

When I execute gulp -v, there is some error showing that I can't execute this script because I don't have enough authority.
So I enter "Set-ExecutionPolicy -ExecutionPolicy Unrestricted" to get authority.

Please optimize the documentation, Thanks!

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

ID: 33cdb816-f2b6-31a4-0e4c-d730435d0a6b
Version Independent ID: c111eaef-ac66-e245-b2bc-623c1801a7db
Content: Tutorial - Create your first app using Node.js - Teams
Content Source: msteams-platform/get-started/get-started-nodejs-app-studio.md
Product: msteams
GitHub Login: @surbhigupta
Microsoft Alias: lajanuar

We are looking into this issue, We will update you.

@t-lji -

We installed gulp using the command mentioned in the doc. But added -g to install it globally and both local version and CLI got installed. Can you please confirm once?
We are able to use gulp -v even if ExecutionPolicy is set to Unrestricted or Restricted. Could you please share what were your policies before you changed the ExecutionPolicy to Unrestricted.
Use the following command to get the list : Get-ExecutionPolicy -List


Fix/update demos

Merge changes in #236 into devel.

Codecov Report
Attention: Patch coverage is 26.41509% with 39 lines in your changes missing coverage. Please review.

Project coverage is 76.84%. Comparing base (d464268) to head (8f2be97).
Report is 12 commits behind head on devel.

Files with missing lines
Patch %
Lines

mogp_emulator/demos/projectile.py
0.00%
9 Missing :warning:

mogp_emulator/demos/excalibur_workshop_demo.py
0.00%
8 Missing :warning:

mogp_emulator/demos/multioutput_tutorial.py
0.00%
7 Missing :warning:

mogp_emulator/demos/gp_demos.py
0.00%
5 Missing :warning:

mogp_emulator/demos/gp_kernel_demos.py
0.00%
4 Missing :warning:

mogp_emulator/tests/test_GaussianProcess.py
63.63%
4 Missing :warning:

mogp_emulator/demos/tutorial.py
0.00%
1 Missing :warning:

setup.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##            devel     #238      +/-   ##
==========================================
- Coverage   76.89%   76.84%   -0.05%
==========================================
  Files          55       55
  Lines        9454     9477      +23
==========================================
+ Hits         7270     7283      +13
- Misses       2184     2194      +10

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Building

I cant seem to build it
can someone name the steps to build dcrat?

This is what u need

https://github.com/qwqdanchun/DcRat/releases/tag/AutoBuild
just use this
---Original---
From: @.>
Date: Sun, Jan 9, 2022 05:40 AM
To: @.>;
Cc: @.***>;
Subject: [qwqdanchun/DcRat] Building (Issue #75)
I cant seem to build it
can someone name the steps to build dcrat?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

https://github.com/qwqdanchun/DcRat/releases/tag/AutoBuild just use this
…
---Original--- From: @.> Date: Sun, Jan 9, 2022 05:40 AM To: @.>; Cc: @.>; Subject: [qwqdanchun/DcRat] Building (Issue #75) I cant seem to build it can someone name the steps to build dcrat? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.>

hahaha he was asking how to build dcrat source ?
my bad 🤭

I really wish people would not respond to questiions like this.  Building this is not specific to DcRat, maybe learn this basics before you mess around with a program that can spy on people if abused or destroy your or someone else's computer.


pass mysql host to camtool dbinit

dbinit for mysql wasn't using the host. This works for my case, but I don't know if I've broken something.

@rfistman We don't do pull requests, please see https://camlistore.org/code#contributing

Alternatively, sign the CLA at least and ask one of us to submit it for you.
But generally we also require test updates for changes.


Add CertManager issuer and clusterIssuer to docs

Added docs for https://github.com/rancher/rancher/issues/16178 .
The code changes are in the server helm chart ( https://github.com/rancher/server-chart/pull/40 )

Solved with the additional annotations in the helm chart, so this ist no longer needed


[help]question about nsm support sriov

In Kubernetes, any Pod can add a Network Service using an annotation:
annotations:
networkservicemesh.io: "kernel://my-networkservice-1/nsm-1"
if we want nsm to support sriov, is there any change for the annotation.

when we try the sriov deployment in example directory, we have to prepare the sriov config first. what kind of resource will be created from the sriov config file. (hint, SriovNetworkNodePolicy or SriovNetwork)

when we try the SriovKernel2Noop usecase in example directory, we met some errors, how to solve it.
root@ubuntu-be8216485a:~/nsm_sriov_test# kubectl logs -f nsc-kernel-7ff8f5dcc7-g5ffq -n ns-hlnx5
...
Aug  2 00:41:16.645 [FATA] [cmd:[/bin/app]] rpc error: code = PermissionDenied desc = no sufficient privileges

root@ubuntu-be8216485a:~/nsm_sriov_test# kubectl logs ponger-7675f85679-cglrb -n ns-hlnx5
ip: can't find device 'eno4'
ip: can't find device 'eno4'
ip: can't find device 'eno4'

can nsm support mem_if or vhost?

/cc @glazychev-art  @edwarnicke

In Kubernetes, any Pod can add a Network Service using an annotation:
annotations:
networkservicemesh.io: "kernel://my-networkservice-1/nsm-1"

If you're intrested in kernel mechanims then here as I can see need to add a sriovToken label. See at kernel sriov use-case example https://github.com/networkservicemesh/deployments-k8s/tree/main/examples/use-cases/SriovKernel2Noop

when we try the sriov deployment in example directory, we have to prepare the sriov config first. what kind of resource will be created from the sriov config file. (hint, SriovNetworkNodePolicy or SriovNetwork)

We're testing this on the packet cluster. I think this configuration of the cluster could be interested for you https://github.com/networkservicemesh/integration-k8s-packet/blob/main/.github/workflows/ci.yaml#L72

when we try the SriovKernel2Noop usecase in example directory, we met some errors, how to solve it.
root@ubuntu-be8216485a:~/nsm_sriov_test# kubectl logs -f nsc-kernel-7ff8f5dcc7-g5ffq -n ns-hlnx5

This is intresting. Could you dump logs from your clusterr and attach them?

can nsm support mem_if or vhost?

Yes, but it is supporting by another forwarder (vpp). See at memif/vxlan examples https://github.com/networkservicemesh/deployments-k8s/tree/main/examples/basic

I deploy sriov example, it succeeded  (https://github.com/networkservicemesh/deployments-k8s/tree/main/examples/sriov)

I deploy "Test SR-IOV kernel connection" (https://github.com/networkservicemesh/deployments-k8s/tree/main/examples/use-cases/SriovKernel2Noop)
the status is shown below
root@ubuntu-be8216485a:~/nsm_sriov_test# kubectl get po -n ns-8s8v6
NAME                          READY   STATUS    RESTARTS        AGE
nsc-kernel-5f65c5b4-hmqk4     1/1     Running   0               7m56s
nse-kernel-75ccfd5c9f-8z24t   1/1     Running   0               7m56s
ponger-7675f85679-mwzk2       1/1     Running   6 (2m59s ago)   7m56s
while the pod of ponger is error, and the error log is as below
root@ubuntu-be8216485a:~/nsm_sriov_test# kubectl logs ponger-7675f85679-mwzk2 -n ns-8s8v6
ip: can't find device 'eno4'
ip: can't find device 'eno4'
ip: can't find device 'eno4'
ip: ioctl 0x8913 failed: No such device
ip: can't find device 'eno4'
ip: can't find device 'eno4'
ip: can't find device 'eno4'
ip: can't find device 'eno4'

the pod of nsc-kernel and nse-kernel is deployed successfully, but how to make sure the pod is using sriov vf interface.


spec export is not working

The export gets stuck on this message and doesn't move forward. What could be the cause?

This is happening to me too -- any news on fixing?

I find that it hangs on the first path it encounters. I tested by removing items until it worked. An artboard with only a text object worked. Adding one rectangle or shape caused it to hang.

the same is happening here to after the new update

metoo

I find that it hangs on the first path it encounters. I tested by removing items until it worked. An artboard with only a text object worked. Adding one rectangle or shape caused it to hang.

I have complex screens and to troubleshoot this way would take days. Everyone in my office who uses this sketch plugin has the same problem, except for people who didn't upgrade sketch from 52.2 or updated the plugin.

I'm dealing with the exact same problem --I'm currently running v.51.2

Same thing. v51.3 on High Sierra

I have a potential fix...
Updated to macOS High Sierra Version 10.13.6, then updated to Sketch 52.3.
Exporting specs for individual artboards now works but will still hang if I select multiple artboards.
FWIW, my company doesn't support Mojave yet so I'm hamstrung.


Adding the glow effect Canner

In the new version of gregtech, the glow effect of the dashboard mechanisms has appeared. It is necessary to make changes for correct display

The glow effect of the control panel of this machine is not required


Synchronizing highlights.

Could there be a way to let Vim perform the filetype detection, and then let Vim perform the syntax highlighting, but then map that back into something that looks decent in Sublime? Imagine a special colorscheme in Vim, whose only job it is to identify various colors to be mapped to equivalent sublime colorscheme colors.
For example, I have spellpad highlighting using Syntastic in Vim and these plugins could be mapped to a red background/underline in Sublime. Also, various syntax highlighters I've defined for Vim could be translated into Sublime this way.

I asked about this yesterday. @justinmk says highlighting is only stored to the screen grid in vim, so we can't borrow highlights right now.

From chat:

Ryan Hileman @lunixbochs Mar 14 13:44
is there any way to get a buffer's highlights?
Justin M. Keyes @justinmk Mar 14 13:45
you mean like a map of the syntax groups? Not yet, but it seems like a natural thing to expose in the api
vim does have things like synstack(), synID(), hlID(), etc, already.
But i'm not aware of any way to get the full picture
the problem is that that info is mixed into the screen grid, not a separate structure AFAIK. but it's something i hope we can work on in 2018...
matrixbot @matrixbot Mar 14 14:01
raichoo on Freenode Ah nice, I've been hoping for something like this to happen sometime.
Justin M. Keyes @justinmk Mar 14 14:02
it's a ways off, unless someone randomly goes nuts with it
matrixbot @matrixbot Mar 14 14:03
raichoo on Freenode It's currently way beyond my capabilities otherwise I'd be up for the task. I just started to find my way around the codebase.
Justin M. Keyes @justinmk Mar 14 14:03
the amazing thing about that is it would allow a child nvim instance to asynchronously calculate syntax info then transfer it to the parent
matrixbot @matrixbot Mar 14 14:03
raichoo on Freenode That would be great.
Justin M. Keyes @justinmk Mar 14 14:04
or any client that conforms to the map structure, could caluclate however they want
matrixbot @matrixbot Mar 14 14:06
raichoo on Freenode Would also be nice to gather some semantic information so one could have things like "semantic-objects" to do things like "delete inner pattern match branch" etc. Not sure if I'm making sense.
Justin M. Keyes @justinmk Mar 14 14:07
oh, i asked for that on vim_dev. it's actually on brams' todo.txxt

If you only want highlights (not syntax semantics), those are already sent as UI events, see :help rpc-remote-ui and the "highlight_set" event. That might avoid screen scraping.

That's what I meant by screen scraping. highlight_set only affects characters drawn to the Neovim screen. To show them in Sublime I need to translate highlights from the virtual Neovim screen to the actual text, which is kinda a hack. I am currently syncing viewport size to Neovim, but not scroll position as Sublime can scroll very fast.

The primary highlights that I think are most important are:

Incremental search and search results when navigating via n/N or searching with /.
Underlined (spellbad) for syntax checkers.

The syntax semantics are not really important. I know vim understands them, and to the user, those are just a means of calculating the colors in the grid. So it sounds like screen scraping will work - but how much of a hack is it?

I need to translate highlights from the virtual Neovim screen to the actual text, which is kinda a hack.

How involved is that? I can't imagine it is harder than whatever you did to synchronize scrolling between the two worlds. Wouldn't it be okay if the syntax near the viewport was highlighted and then content offscreen would be colored as information becomes available? If you scroll further than you have color information, I imagine it would be okay to show gray text, and then even fade the colors in as they become available (I wish it could be done via an animation to avoid the jaring FOUC (flash of unstyled content)). Asynchronously highlighting colors isn't so bad, but text switching from normal to italic asynchronously is really terrible imho.

Scrolling isn't actually synchronized. There's just a check to make sure the cursor is visible in Sublime. But that's on my shortlist.
I will sync basic highlights relative to the cursor. That's pretty much guaranteed to work for search as it moves the cursor.

My incremental search might move the cursor but it highlights many things in the buffer as I type. Will that work?

I should be able to detect any highlights on the same screen (vim, not sublime, though they are set to the same size) as the cursor. This means it should only miss highlights if you use Sublime's navigation (mouse scroll, etc) to move the screen away from the cursor.

That seems totally reasonable. Note that I use this amazing plugin called inc-search, and what it does, is it allows me to search incrementally using / but then hit tab/shift+tab to move the cursor between the highlight results, without exiting incremental search. You can jump through the whole file while incrementally searching. This would still work with your approach right since it uses vim's own internal jumping around?
Basically, is it correct to say, that if you only ever use vim's own navigation, and not sublime's scrolling, the screen will always have accurate highlighting? I would be very excited to just have that.

Sounds about right. And here "highlight" means when vim displays a background color, I will try to apply a background color in sublime as well. I'm not planning to parse foreground colors, and honestly I should probably make sure neovim's syntax highlighting is off.

Why not parse foreground color though if you're already doing background? Is your goal only to see where search highlighting is? There's some other valuable ones as well such as "SpellBad" which is used for error highlighting - where those error markers are determined by VimScripts.
Is it much harder just to parse all colors background and foreground?
My thinking was that you can inject a special color scheme into Vim, that lets you perfectly disambiguate:

IncSearch : bg=#000000, fg=#000001
Constant: bg=#000002, fg=#000003
... and so on

Which is a terrible looking color scheme, but allows you to then map these colors to their equivalent Sublime color theme because you always know that #000002 means the bg color for "Constant".  No hex color is repeated among syntax elements - that is important. You would inject this sublimeMappingColorScheme.vim into the vim instance. If fact, other neovim frontends could use this to perform their own reconstruction.
So with this, all your vim language plugins work and highlight their grammar elements correctly, yet you get to enjoy a beautiful Sublime color scheme that matches regular Sublime.

I don't think you can change foreground text colors in Sublime from a plugin without resorting to massive hacks: https://github.com/SublimeTextIssues/Core/issues/817
This will also have an update lag as I need to wait for vim to finish drawing the screen, won't work with the minimap, won't work for scrolling... foreground is extremely low priority.
Sublime has spellchecking and pretty good error checking plugins, which will have much better UI integration for now.

So what about spellbad, which allows underlining of errors highlighted by Vim plugins? How would that play with your current approach?

I can do underlines in Sublime.

Check out the highlight branch for the initial PoC.

Whoa. How do you do this? Does it effect performance? :D

Screen scraping neovim, dumping window attributes and correlating with the underlying text. Probably affects perf because I get a ton of redraw events for every action, but it wasn't that slow and it should scale okay. Can optimize a ton still (mostly by making it apply a few dozen less times a second).
There's several moderate bugs still, and it assumes all special character attributes are a background highlight. I think even syntax highlights. Which explains why some files had a huge highlighted section. Probably where the vim screen was centered.

Basic highlight support pushed to master.


Setup continuous build

It'd be nice to have a test suite run automatically to validate pull requests. Travis is free for open source projects and pretty easy to setup. Most of the Lightbend plugins use it, so there's lots of examples as well

added travis

wow, that's awesome! thank you!


APIScan fails in  VSEngSS-MicroBuild2019-1ES pool

Need reconfig APIScan to run in the new VSEngSS-MicroBuild2019-1ES pool

Closing as API Port was deprecated in favor of binary analysis in .NET Upgrade Assistant.


Handling the formatting issue

I tried looking into the formatting-issue since we couldn´t just copy the google-style formatter cause of that license, I thought of letting contributors download the formatter and apply it to the project. Maybe anyone of you has a better idea on how to handle this. So assume this PR as a suggestion.
This PR also includes the following:

last google_checks.xml that is working with the current checkstyle IntelliJ-plugin
fixed checkstyle issues regarding the ... license header
reformatted the project sources

Hi @serious6, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

We should really keep the codeStyleSettings in place. It has been generated by IntelliJ, right?

And we should stop reformatting the source code over and over again. It makes the git history almost impossible to browse. Why is reformatting even required now? There's no explanation in this PR and the diff is far too large to browse the changes.

codeStyleSettings is not generated its drawn together from the google-master. #158 declares there are  differences between (our settings.xml) intelliJ and eclipse formatter. So one goal should be to solve these issues and configure it right.
As a assumption you prefer in doing these reformatting step by step (I would be fine with that too)?

Here are the priorities as far as I'm concerned:

We get the big changes that will make merge impossible out of the way before 2.0 is out to avoid merge hell later between dev and stable branches.
Have a decent coding style - doesn't have to be 100% consistent with google's.
Have a way to stay clean in terms of style via integrations into the build and Travis.
Style changes are in different checkins than functional commits.

Does that make sense?
As for the large diff, I would expect that local tools should be able to handle that rather than the github web interface.  So I don't see a reason to re-do the work and split this into multiple checkins, unless there are some other benefits.
In general though, once this is in, ideally, we are done with the formatting changes.

What I tried to say was that if we reformat the entire thing again, we should make sure that we get the result right this time and that this will be the very last time reformatting the entire repo. The large changesets are really hard to handle when browsing history, not so much for the tools (ok, except you, GitHub), but more for humans trying to find when and why a specific change was made (blaming).
Reformatting has failed twice already, so this time we'll have to fix it once and for all.

Furthermore, we really should keep the IntelliJ code style settings in the repo, or everyone will start submitting incorrectly formatted pull requests. If this file has not been generated by IntelliJ and causes legal clashes (I doubt it), we'll just have to create a new one using IntelliJ. And yes, the new file will most likely be 100% equal to what we have now.

thanks for the feedback since we rely on the google-format.xml for intelliJ. I think we can't really guarantee that this file is free of bugs. I would also like having the formatter with our project-files but I remember @vboctor saying that this is prohibited by the license of that project. Is this information up to date?

I will try to solve this with keeping the codeStyleSettings


[web]: Failed to load asset at path: packages/build_web_compilers/src/dev_compiler/dart_sdk.js

Hi team, I've been getting the following issue in any application like:
void main() => runApp(MaterialApp(
      title: 'Failed to load dart_sdk.js',
      home: Scaffold(
        appBar: AppBar(title: Text('Failed to load dart_sdk.js')),
      ),
    ));

After the build, just before the service is ready, the following error appears:
[        ] Attempting to connect to browser instance..
[+4714 ms] Failed to load asset at path: packages/build_web_compilers/src/dev_compiler/dart_sdk.js.

                    Status code: 404

                    Headers:
                    {
                      "date": "Tue, 08 Oct 2019 17:15:29 GMT",
                      "content-length": "9",
                      "x-frame-options": "SAMEORIGIN",
                      "content-type": "text/plain; charset=utf-8",
                      "x-xss-protection": "1; mode=block",
                      "x-content-type-options": "nosniff",
                      "server": "dart:io with Shelf",
                      "via": "1.1 shelf_proxy"
                    }

                    Content:
                    Not Found

The web app works as expected, but this slows down the startup process for ~5 seconds.
Reference app.

but this slows down the startup process for ~5 seconds.

Why do you think it is doing this?

I don't know, but I suspect it might be trying to fetch it from a web server or something and the request might be timing out rather than erroring out.

> flutter doctor -v
[✓] Flutter (Channel master, v1.10.14-pre.15, on Mac OS X 10.14.6 18G95, locale en-US)
    • Flutter version 1.10.14-pre.15 at /Users/dcavazos/local/flutter
    • Framework revision 83e5a8a0e4 (47 minutes ago), 2019-10-08 18:32:10 +0200
    • Engine revision 819b0cae0c
    • Dart version 2.6.0 (build 2.6.0-dev.0.0 8ba6f7e2eb)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/dcavazos/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • CocoaPods version 1.8.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 39.0.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] IntelliJ IDEA Community Edition (version 2019.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 39.0.5
    • Dart plugin version 192.6262.58

[✓] VS Code (version 1.38.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.5.1

[✓] Connected device (2 available)
    • Chrome          • chrome          • web-javascript • Google Chrome 77.0.3865.90
    • Headless Server • headless-server • web-javascript • Flutter Tools

• No issues found!

I don't know, but I suspect it might be trying to fetch it from a web server or something and the request might be timing out rather than erroring out.

Its receiving a 404, that had to come from the local several - there is not a timeout here.

@davidcavazos How are you running the app? Do you use any custom servers or proxies?

No, I just did a flutter create, modified the lib/main.dart and flutter run -d chrome -v. I'm using the latest version, I ran a flutter upgrade recently.

But I get that error even if I don't modify the code, the generated Hello World app also has that error.

@jonahwilliams We map the dart_sdk module to this file explicitly here https://github.com/dart-lang/build/blob/master/build_web_compilers/lib/src/dev_compiler_bootstrap.dart#L99.
Flutter should likely do something similar but map it to whatever path you are serving your custom sdk from.


changed backend directory as python module

Describe your changes
Screenshots (if appropriate):
Issue ticket number and link
Checklist before requesting a review

[ ] I have performed a self-review of my code
[ ] I have increased the version number in the frontend/package.json and backend/swagger.yaml files
[ ] I have checked that Black, Flake8, Prettier and Cspell are passing

Complete the pull request description


PLAT-125214: Fix FormCheckboxItem: Icon for slotBefore does not look disabled

Enact-DCO-1.0-Signed-off-by: Stanca Pop<EMAIL_ADDRESS>Checklist

[x] I have read and understand the contribution guide
[x] A CHANGELOG entry is included
[x] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Resolution
Fixed FormCheckboxItem styling to show proper colour for 'slotBefore' icon in disabled state.
Links
PLAT-125214
Comments

Could you please add screenshot for this case??
You can use "focus:true" config.


Real User Monitoring configuration naming

From  https://github.com/signalfx/gdi-specification/blob/v1.5.0/specification/configuration.md

Splunk-specific configuration variables defined in the GDI specification MUST be prefixed with SPLUNK_.

Therefore shouldn't the all configuration like have a splunk prefix e.g.

rumAccessToken -> splunkAccessToken
realm -> splunkRealm

I know that the section is marked as "Stable". But I believe it is still experimental. See https://github.com/signalfx/gdi-specification/pull/247

Actually, after another read though I think I disagree with this assertion. This quote:

Splunk-specific configuration variables defined in the GDI specification MUST be prefixed with SPLUNK_.

...I think was intending to specifically be referring to environment variables. The two RUM items you call out above are NOT injected through the environment, and I think therefore are not subject to the requirement.
I still think we should keep it stable.

Thanks for your feedback. Closing.

@t2t2 @seemk What is your opinion on this? Would you prefer to keep the existing configuration naming? Changing it would probably be annoying for the users. On the other hand, the splunk prefix can help in differentiating Splunk specific configuration if OTel defines some standards for RUM (Client Instrumentation).
PS. I am fine closing this issue. It is just a double-check.

I guess splunk* makes more sense, but can just keep the existing one for backwards compatibility.

@seemk Do you want to deprecate existing ones (and still support them) and define new ones?

I don't think it makes as much sense, in case of environment variables SPLUNK_ prefix ensures there's no conflicts with different vendors expecting their own access tokens, while in RUM case all of the configuration parameters are explicitly passed into splunk libraries - following from documentation examples:
// Browser
   SplunkRum.init({
      realm: '<realm>',
      rumAccessToken: '<your_rum_token>',

// IOS
SplunkRum.initialize(beaconUrl: "https://rum-ingest.<realm>.signalfx.com/v1/rum",
      rumAuth: "<rum-token>",

// Android
      SplunkRum.builder()
               .setApplicationName("<name_of_app>")
               .setDeploymentEnvironment("<name_of_env>") // Environment
               .setRealm(realm)
               .setRumAccessToken(rumAccessToken)

Closest match to environment variables problem would be build-time replacement of variables, eg
   SplunkRum.init({
      realm: 'us0',
      rumAccessToken: process.env.REACT_APP_SPLUNK_RUM_ACCESS_TOKEN,

But as this passes into developer decisions of how to include the library, it is not relevant

Closing.


add badge to readme

Reference Issues / PRs
closes #2
What does this implement/fix?
Added "Join our Monthly Community Webinars" badge to readme

Any other comments?
No

this is great Achal, thanks. Would you like to contribute more to this repository? if you're interested, you could look through and add issues for any documentation related things you don't understand


add Hebrew translation

add Hebrew translation, happy to support this repository.

Hi! Thank you for adding new lang to our lib. I will publish new update as soon as possible!


Remove RootMostResolvePlugin

Fixes #2015.

thankyou very much for this @di.  It is making my work on warehouse a whole lot faster :)


Add run_tempest.yml playbook

This playbook installs tempest and executes the tempest tests
defined in group_vars/all/rpc_o.yml in the variable
tempest_test_sets.
The goal for doing this is to eventually move out tempest test
execution from the rpc-gating repository, into the rpc-openstack
repository series branches. This is so, from the point of view
of the gating jobs, the tempest tests are consumed the same
way regardless of openstack version.
Connects https://github.com/rcbops/u-suk-dev/issues/1680

I'm missing the RUN_TEMPEST_OPTS and TESTR_OPTS here. Fixing that now.


In the new AnimationPlayer it's harder to see deleted nodes in the Scene

Godot 3.1 stable, Windows 10
I really liked in the old AnimationPlayer that deleted nodes in the scene view would have a red line slapped over them. It made it very easy to see if a path was wrong. Now it changes the path to the full path instead

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


MSID: 90347 Version: 1 DOI: 2<IP_ADDRESS>0518

[PLACE MANUSCRIPT AND EDITOR DETAILS HERE WHEN AVAILABLE] See step 3
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=90347)

or (only one should be ticked. remove other from description.)

[ ] Confirmed with Ted at bioRxiv that MECA archive is available

Send the following email to Ted and wait for his reply.
Hi Ted,

Please can you prepare the preprint MECA for 10.1101/2<IP_ADDRESS>0518

Thanks

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/90347/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[ ] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>0518)
[ ] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/90347/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/90347)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/90347

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/90347

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/90347/v1/90347-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/90347)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

Hi @fred-atherden the docmap isn't available yet.

Thanks @KJT08. It's likely because there's a missing match between the preprint and submission in datahub. I've updated the spreadhseet that manually makes this match, and would expect the docMap to update in the next 24 hours .

@hazalCiplak - I've added the link between this MS and the preprint in the relevant spreadsheet but the docMap for this one still isn't available. Do you know why that is?

Hi Fred,
Thank you for letting me know and I appreciate you adding the manuscript into the document.
Typically, it should have been updated already, but the issue arises from some of the previously added data. The problem occurs when the data pipeline is running. The data type of the 'manuscript_id' column should be numeric, and one of the records in the screenshot below is causing problems. I have removed the incorrect characters, so it should run smoothly now.

Ah I see - thanks for letting me know

Hi @fred-atherden the docmap is there now so I've moved this on.

Do we want to fix this, @fred? It's a bioRxiv tagging issue (follows logically from the PDF).

elocations missing from the references.

Thanks @JGilbert-eLife - Yes we want to fix this

Yep! Thanks!


Allow to disable skipClicks

User experience of Master -> Detail demo is fine in w2ui 1.4.2 release, but it sucks in development version because of annoying focus behaviour. User needs to click twice in development version if he wants to select another row in another grid.
Reproduce like:

Click on first row in Master grid
Click on first row in Details grid
Click on second row in Master grid

Demo: http://jsfiddle.net/chaq7ssd/

Yes. Agree. However, I am dissatisfied how sub grids work. I will be refactoring it completely. Implementation in 1.4 branch is not very useful. I think it should be one grid, not another grid when you open up nested grid. It should be parent -> child records, not grids.
Thanks for putting jsfiddle.

In my use case, I don't really use it in parent -> child relationship way. I show two grids with static data and user selects which rows in these grids should be paired together. Then he clicks the button, these rows disappear and process repeats until nothing is left to pair.

What about two grids side by side?

Yes, that's how I'm doing it. I'm just saying that if you solve this issue by implementing parent-child mechanism, it may not help in my case (because it's unknown which records are childs of which records beforehand).

Hello vitmalina, first thanks for that great project!
I need to build a huge TreeTable (something like http://www.java2s.com/Code/JavaImages/SmartGWT-TreeTableWithFrozenColumnsSample.PNG).
I've seen that for some time you mentioned that subgrid is broken and that you're gonna redo it,  so I guess I need to wait for the new parent->child mechanism (I cannot use 1.4, timestamp field mostly).
I guess my questions are:

By parent->child mechanism, you mean an API like the Sidebar? that would be great.
Any idea when a working prototype will be available?
Is there something I can do to speed that up (test, donation, whatever)?

Yes, the idea for sub grids is as your screenshot. I have not scheduled time to work on it as of yet, and probably it is a few months out.

In 1.5 it's not neccessary to click the grid(s) twice.
Updated fiddle: http://jsfiddle.net/chaq7ssd/1/
Tree-like grids are also part of 1.5
I'd say, this issue can be closed.


Update README.md to new repo name

Noticed this repo changed its name and the readme is still referencing the old name

Sweet, thanks


Tran on Windows complains about config file not being found in wrong directory

when running tran from Powershell, the following is displayed:
2022/08/02 10:21:19 Config File "tran" Not Found in "[C:\\.config\\tran]"
My tran.yml file is situated in ~/.config/tran as per the instructions.
I don't think it should be trying to find the .config file at the root of the C drive?

Could this be that in config.go, $HOME is being used instead of $USERPROFILE for Windows configurations?

Ok, no problem, I'm going to fix it

@soda3x checkout the new version of tran

@soda3x is every thing okay ?

Hmm, no dice unfortunately.
I'm presented with a similar error:
2022/08/04 09:10:58 Config File "tran" Not Found in "[C:\\.tran C:\\Users\\username\\.tran]"
It's progress though because that second path is where it should be!

I have opened a PR: #44 to action this issue

@soda3x checkout the new version v0.1.43

Seems like it's working now! :)

nice, thanks for fixing this bug


Geoquery data and pin

What does this PR do?
Allows search results to be selected on the map in order to display metadata related to the search, similar to any other layer.
Also, allows these points to be pinned to the map so that they remain even after the search has been cleared.
Screenshot

Related Issue
N/A

One bug I have noticed is if the pinned search results and the search items are on top of each other, although it prompts to select which layer/feature you intended to click correctly, it appears to always show the data for the top feature for some reason.
I am currently looking into the above bug and concerns I posted on certain lines and adding test cases.


Switch to opt-out metrics

Part of https://github.com/ipfs/ipfs-gui/issues/117

Note that while this task is closed, it is not technically done until an ipfs-desktop release is made.


Problem With ACL Import

Hi All,
My JAVA program cannot resolve the following import, although I have added the jade.jar and commons-codec.jar in my JAVA program class-paths >>>
import jade.lang.acl.ACLMessage;
Please help.
Thanks,
Zakia

I think you might be referring to the "JAVA Agent DEvelopment Framework" (https://jade.tilab.com/) which is a different project than this.


Release 0.9.3

[x] Update the version in Cargo.toml.
[x] Update CHANGELOG.
[x] Check dependencies.
[x] Tag the new version and push it.
[x] Announce the release in the channel.

tagged https://github.com/aicers/frontary/releases/tag/0.9.3


feat(religion): Auto-refine tears and TCs

You can now set a threshold at which tears and TCs will be refined into higher-class resources.
Fixes #19

I'm not entirely happy with how this approach floods the log right now. This might be a good chance to understand how to use the 20% and 50% button functionality. But this might also be good enough for a first shot.


Git commits / PRs to show provenance of changes between image tags

Proposed Feature
When Kargo makes a git commit and/or PR, it would be extremely useful if Kargo included some provenance information/metadata in the commit/PR details about the application contents of what exactly was promoted.
This would be similar to the PRs that https://github.com/renovatebot/renovate creates. e.g.

The difference is that Renovate is more geared towards 3rd party dependencies that follow proper semantic versions and release notes that Rennovate can incorporate into the PR.
In the case of this proprosal, it would work with a user's internal services, which may or may not be using semantic versions for their image tags.  As long as user could supply "hints" that map a image tag back to the application source code commit, Kargo could formulate GitHub deep links between the current vs. new version.
We already started down this path of "hints", with the gitRepoURL field in Warehouses, but have yet to take advantage of it.
<EMAIL_ADDRESS>Motivation
Today, promoting an image tag is a black box. Often times the image tag has enough information incorporated into the tag (e.g. commit sha), so a user could reverse lookup which commit the image was built from. Kargo could do this work for them, and give reviewers more information about what exactly they are approving as part of the promotion.
Suggested Implementation
When Kargo creates a PR or makes a commit to the gitops repo, it is able to see the image tag before the commit and after the commit. A Kargo user could give "hints" about how these image tags map back to the application repo, in order to create a URL. We already have the gitRepoURL hint, but will need some extraction rule hints.
e.g. If the tag is a semantic version, it could create a link like:
https://github.com/akuity/kargo/compare/v0.5.0...v0.5.2
If an image incorporates a source code git hash, it could extract the hash to do something similar:
https://github.com/akuity/kargo/compare/9d358f4...5d53351
Or if a build date is incorporated into the tag, we could generate a link like:
https://github.com/akuity/kargo/commits/v0.5.2?since=2024-04-03&until=2024-04-08

@krancour can I take this one?

@maksimstankevic, but before you get coding, could you outline how you might approach this. Looks like @jessesuen had some thoughts above, but I haven't put much thought into this yet.

@krancour I'm taking this off me, after taking closer look - seems that this is far from trivial and probably more optimal to be handled internally

@maksimstankevic no worries. This is a difficult one.


(Lunch) breaks

Is your feature request related to a problem? Please describe
Not really, as in, it's not a bug. But I'd like to have some support for (scheduled) breaks, like a lunch break at a fixed time. In short, I'd like us to implement a way to solve the VRP with lunch breaks (VRPLB), for example as described by Coelho et al. (2016). Ideally we'd do a little more, and also allow the break to be had at a fixed location, rather than just along the route at whatever client's currently being visited.
Describe alternatives you have considered
If the breaks are held at a fixed location, it is somewhat possible to do this by creating a dummy client representing the lunch break for each vehicle, and setting the time windows such that they must be assigned to different routes. I already tried that, but PyVRP has a pretty hard time making that work: it takes a while to reach feasibility, and even then, the routes are not particularly good. So that way of making this work is probably not the best.
If the breaks are held along the route, that approach could still work (dummy node with zero distance/duration to all other nodes), but that'd not solve the issue that PyVRP struggles to schedule this.
So, a key part of making this work is explicitly telling PyVRP that the breaks are part of the vehicle type, and must be part of a route.

There's also a whole literature on time-based breaks, e.g. after N hours of driving. That gets really complex quick, so I don't think we need to consider that within this issue. Fixed breaks is a good start.

Break at a location
Behaves like a node, since there is travel to/from that location to take the break (service duration), starting between some time windows. This is straightforward to add in: the nodes need to be part of the vehicle's route, and cannot be moved elsewhere. They're a bit like the start and end depots in that sense.
Breaks along the route
Such a break is had before or after a client service. It might be easiest to do if we somehow add the concept of virtual nodes, places that going to/from takes zero time. Then they could still be nodes in the current sense, but any distance/duration from/to them is automatically 0. But that's a pretty significant departure from the current codebase, so I'm not sure.

In any case: breaks at locations is really easy, breaks along the route is a bit trickier. I only need breaks at locations for my own use case, but I'd like to try and support this generally if it's not too difficult to do.

Pragmatically, I'll probably start with breaks at a location. We can later adapt that to also support breaks along the route, but we'll first need a basis for that anyway.

OK, so, in my application, the break location is pretty close to the depot. I can also model returns for breaks by implementing shift durations on the vehicle types, duplicating the vehicles for each time segment, and adjusting the shift time windows to fall around the breaks. That's close enough, and a lot simpler than breaks, which are turning into a right mess in #364. So let's not do that, and do the shift time windows instead.


Have LED status helper report stale data

We've seen a case where sensor_tracker stops running but LED status helper continues to function.  In this case, the temp & pH data for a tank can become stale.  We should check the update time records using LED status helper and alter the message if temp or pH updates for a given tank become stale.

Use (!) or [!] to display this compactly, next to each stale reading

In terms of the default display, Stakeholder strongly prefers bracketed 🤓
Of course it can be configurable via .env file.
#1: 82.31F [!] pH 7.67 [!]    #2: 82.24F
e.g. The above indicates that temp and pH readings from tank #1 are both stale, while tank #2 is reporting fresh temp data.

Implemented in #73

The happy result.  We stopped temp data flow and saw a nice little warning on our LED receiver.


Make example in README.md easier to follow

Hi, first time hyperdrive user here.
Based on my experience trying hyperdrive, here's my attempt to make the example in README.md easier to follow.

The 'another-hyperdrive.db' example led me to think it's in another file. However, it should be put right after the archive.finalize part, so I merged them together.
Copy-paste and you're ready to go. Better experience for anyone just trying out.

Any comment is appreciated :)

looking great!