[SPARK-16941]Use concurrentHashMap instead of scala Map in SparkSQLOperationManager.

What changes were proposed in this pull request?
ThriftServer will have some thread-safe problem in SparkSQLOperationManager.
Add a SynchronizedMap trait for the maps in it to avoid this problem.
Details in SPARK-16941
How was this patch tested?
NA

Test build #63346 has started for PR 14534 at commit 4af58bc.

Test build #63346 has finished for PR 14534 at commit 4af58bc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/63346/
Test PASSed.

Test build #63353 has started for PR 14534 at commit a333269.

Test build #63353 has finished for PR 14534 at commit a333269.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63353/
Test FAILed.

Test build #63354 has started for PR 14534 at commit 2591b50.

Test build #63354 has finished for PR 14534 at commit 2591b50.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/63354/
Test PASSed.

Test build #63400 has started for PR 14534 at commit 592d817.

Test build #63400 has finished for PR 14534 at commit 592d817.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/63400/
Test PASSed.

cc/ @srowen Is this OK?

Test build #63433 has started for PR 14534 at commit 0a436a0.

Test build #63433 has finished for PR 14534 at commit 0a436a0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63433/
Test PASSed.

Merged build finished. Test PASSed.

any other comment?

Test build #63531 has started for PR 14534 at commit 4f27261.

Test build #63531 has finished for PR 14534 at commit 4f27261.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/63531/
Test PASSed.

Merged to master


update to run gpu tests on openMM 7.7

Description
We should run our GPU tests using the newest openMM version we support.
Motivation and context

We were running our GPU tests on openMM 7.6 but we should use 7.7 as it is the newest version we support.

Resolves #???
How has this been tested?

Change log

@mikemhenry : We're back to a ton of these errors---do you need to fix the buffer issue in more tests?
E                   new_positions, logp_proposal = geometry_engine.propose(topology_proposal, pos, beta,
E                 File "/usr/share/miniconda/envs/test/lib/python3.8/site-packages/perses/rjmc/geometry.py", line 237, in propose
E                   logp_proposal, new_positions, rjmc_info, atoms_with_positions_reduced_potential, final_context_reduced_potential, neglected_angle_terms, omitted_terms = self._logp_propose(top_proposal, current_positions, beta, direction='forward', validate_energy_bookkeeping = validate_energy_bookkeeping)
E                 File "/usr/share/miniconda/envs/test/lib/python3.8/site-packages/perses/rjmc/geometry.py", line 641, in _logp_propose
E                   final_context = openmm.Context(final_system, final_system_integrator, platform)
E                 File "/usr/share/miniconda/envs/test/lib/python3.8/site-packages/openmm/openmm.py", line 16230, in __init__
E                   _openmm.Context_swiginit(self, _openmm.new_Context(*args))
E               openmm.OpenMMException: NonbondedForce: The cutoff distance cannot be greater than half the periodic box size.

perses/tests/test_examples.py:34: Exception
----------------------------- Captured stdout call -----------------------------

Let me merge in main to this PR and see, I think those errors are fixed now


Code

You have done a very meaningful work, I want to learn. Can you provide the source code?

Thanks for your interest! We definitely plan to release codes and hope they would be released the next month.


Option to hide terminal when clicking on something other than the terminal

It would be great if there was an option to hide the terminal if you click on a window other than the terminal itself. It is really annoying when you click on a file tab, and the terminal is still showing (I usually have the terminal as large as possible so the only thing I see is the file tabs).
Another way to set this option would be to have a button on the terminal that if pressed, would cause this action to take place. This way you could toggle between this if you wanted (for example if you want to temporarily turn this off so that you can cut/paste between the terminal and a file). Having to hit ctrl+` every time I want to show/hide the terminal is too slow.

This is basically https://github.com/microsoft/vscode/issues/3742 but for the panel instead of side bar, you could also accomplish this by hitting ctrl+` to hide, which I think will focus the last active editor group.


Routines

People should be able to have routines assigned to them, so they don't randomly do actions, but do a set of instructions and them go away to their home or out of the visible portion of the screen.
Technically, there should be a component of array of components. It also needs some kind of timer to indicate their completion, this could come in a form of a tuple, or the implementation of said component (e.g. SittingActivity) brings a timer with it.

Closing this issue since issue #3 brought it.


Cloud access: permission deny due to use of Smart Industry

First, thank you so much for Tinytuya, which greatly simplified my project !
Just I found a problem. When I paired my Tuya device by using APP Smart Industry and try to access my cloud, it always was denied. But when I used APP Tuya Smart to pair device, which you advised, it worked. And I could see that my device was linked under All Devices of my account in both ways .

Thanks, @Antonymonnaie !   You are correct. I'm not aware of any apps other than the "Smart Life" or "Tuya Smart" apps that will work with TinyTuya. Thanks for confirming.
Should we add a note to the README to make that even more clear?  Here is the current README:
https://github.com/jasonacox/tinytuya/blob/df6a4591d3ddb1ec8cdccb8e6979c22cb7d8af42/README.md?plain=1#L65


Relay can't modify SODG back

@UARTman just FYI, I reproduced the problem we discussed in f0f3c6c Maybe you'll have some ideas.

@rultor release, tag is 0.0.18

@rultor release, tag is 0.0.18

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.18

@yegor256 Done! FYI, the full log is here (took me 3min)

@rultor release, tag is 0.0.20

@rultor release, tag is 0.0.20

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.20

@yegor256 Done! FYI, the full log is here (took me 3min)

@rultor release, tag is 0.0.21

@rultor release, tag is 0.0.21

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.21

@yegor256 Done! FYI, the full log is here (took me 3min)


I need a PR approval

I need an approval for a PR I created for cli changes - K8s extension/release 1.3.6 by deeksha345 · Pull Request #5406 · Azure/azure-cli-extensions (github.com)
The people who are assigned to this PR are OOF till Oct 7th but I have a customer waiting on this change and so would like to get this merged ASAP.

route to CXP team

@deeksha345 Thanks for reaching out to us and reporting this issue. I see that you have closed this PR now.  Do you still need any assistance on that PR or not ? Awaiting your reply.

Hi yes sorry I do not need that PR to be merged I will be opening another PR with more recent updates which will need approval!

@deeksha345 Once you file the PR, please let us know, I will reach out to the concerned assignee for the review and approval.

@navba-MSFT this is the new PR with the latest changes - https://github.com/Azure/azure-cli-extensions/pull/5424


Precompile interface file option (better paralellize build)

I've done small experiment on 6 core xeon comparing shake -j12 and gmake -j12 build on Solaris 11.2 on the same code base.
Shake:
real    34m11.983s
user    138m41.855s
sys     40m42.177s

Gmake:
real    39m7.557s
user    167m17.491s
sys     45m34.928s

I've disabled haddock in gmake build, but I'm still not sure both gmake and shake build things in equal way, I'm afraid gmake may build more so basically performance of builds is let say the same.
In https://mail.haskell.org/pipermail/ghc-devs/2015-March/008474.html I've provided some data about performance of highly parallel build. As you can see performance was quite bad at that time but it looks like shake based build is around the same perf. My idea from following builds rolling on the console is that sometimes build just waits on one or two files for which it needs to have interface file generated since this is dependency for a set of other files which need to wait in a queue instead of being compiled quickly. So my idea is if we somehow are able to divide actual file compilation and generation of the file's interface file, then the performance of the parallel build may be much higher. It looks like GHC supports this option with -fno-code -fwrite-interface command-line options. Now the question is how hard would be to add that capability to shake-based build? Thanks a lot for consideration!

First of all, let me list the current limitations to help you compare things in a fair way:

We only build vanilla way at the moment.
Split objects are disabled by default to save build time (this can be changed in Settings/User.hs).
Documentation is broken #98.
Some compilation flags may differ leading to different compilation times.

So my idea is if we somehow are able to divide actual file compilation and generation of the file's interface file, then the performance of the parallel build may be much higher. It looks like GHC supports this option with -fno-code -fwrite-interface command-line options.

Interesting idea, I never thought about this. I think we can add support to it in the new build system without much difficulty. At the moment we have the following rule:
    matchBuildResult buildPath "hi" ?> \hi ->
        need [ hi -<.> osuf (detectWay hi) ]

Basically it says: if you'd like to get a *.hi file, go build the corresponding *.o file. We could instead have a separate build rule here with -fno-code -fwrite-interface which produces only *.hi file. Is this what you have in mind? I think I like this, sounds like a simple change with a big benefit potentially.

@snowleopard yes, that's exactly what I had in mind. The only problem here is that probably for interface files to stay intact or applicable for *.o compilation you need to use exactly the same compiler params like for later *.o compilation. -- my wild guess. Anyway, if there is a possibility to build just necessary hi file that easily, then I'm ready to give it a try on my heavily threaded slow sparc box next week and see if with 32 thread I get better performance. Thanks!

@kgardas I can enforce absolutely the same build flags for *.hi (apart from -fno-code -fwrite-interface) if that's what you mean.
One question: do I have to do -o file.hi instead of -o file.o?

Looks like I don't need to use -o at all when producing *.hi files only.

I've added initial support for this feature. To activate it set compileInterfaceFilesSeparately = True in Settings/User.hs. Let me know how it works for you.
Note, I sometimes experience the following errors that I cannot explain:
ghc [...] -fno-code -fwrite-interface -I.build/stage0/compiler
Exit code: 1
Stderr:
Unable to open .build/stage0/compiler/build\Vectorise\Utils\Poly.o

As you can see this happens in the -fno-code -fwrite-interface mode. I have no idea why GHC attempts to access any *.o files in this mode.

@snowleopard First of all thanks a lot for your fast reaction to this RFE. I'm testing the feature and twice I've seen this error:
Error when running Shake build system:
* utils/hpc/stage1/build/tmp/hpc-bin
* .build/stage1/utils/hpc/build/HpcOverlay.o
* .build/stage1/utils/hpc/build/HpcParser.hi
user error (Development.Shake.cmd, system command failed
Command: inplace/bin/ghc-stage1 -hisuf hi -osuf o -hcsuf hc -static -hide-all-packages -no-user-package-db -package-id array-<IP_ADDRESS> -package-id base-<IP_ADDRESS> -package-id containers-<IP_ADDRESS> -package-id directory-<IP_ADDRESS> -package-id filepath-<IP_ADDRESS> -package-id hpc-<IP_ADDRESS> -i -i.build/stage1/utils/hpc/build -i.build/stage1/utils/hpc/build/autogen -iutils/hpc -I.build/stage1/utils/hpc/build -I.build/stage1/utils/hpc/build/autogen -I/tmp/shake-test/libraries/directory/include -I/tmp/shake-test/libraries/unix/include -I/tmp/shake-test/libraries/time/lib/include -I/tmp/shake-test/libraries/containers/include -I/tmp/shake-test/libraries/bytestring/include -I/tmp/shake-test/libraries/base/include -I/usr/include/gmp/ -I/tmp/shake-test/libraries/integer-gmp/include -I/tmp/shake-test/.build/stage1/rts/build -I/tmp/shake-test/includes -I/tmp/shake-test/includes/dist-derivedconstants/header -optP-include -optP.build/stage1/utils/hpc/build/autogen/cabal_macros.h -XHaskell2010 -odir .build/stage1/utils/hpc/build -hidir .build/stage1/utils/hpc/build -stubdir .build/stage1/utils/hpc/build -rtsopts -H32m -O2 -c .build/stage1/utils/hpc/build/HpcParser.hs -fno-code -fwrite-interface
Exit code: 1
Stderr:
ghc-stage1: panic! (the 'impossible' happened)
  (GHC version 8.1.20160114 for i386-unknown-solaris2):
        lookupVers2 GHC.Stack.Types CallStack

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

)

perhaps we stretch GHC too much? Also what little bit worries me is sometimes messages compilation IS NOT required while doing fresh build. I'm curious if we do not confuse GHC when it sees hi file and then refuses to compile o file?
What's also interesting now, is that GMP library (in-tree) is always built:
/---------------------------------------------------------------\
| Copy file                                                     |
|      input: libraries/integer-gmp/gmp/tarball/gmp-5.0.4.patch |
|  => output: .build/stage0/gmp/gmp-5.0.4.patch                 |
\---------------------------------------------------------------/
| Apply patch .build/stage0/gmp/gmp-5.0.4.patch
| Run configure in .build/stage0/gmp/gmp-5.0.3...
| Run /usr/bin/gmake (MAKEFLAGS=) in .build/stage0/gmp/gmp-5.0.3...

although I've correctly configured system gmp...

@kgardas: see https://ghc.haskell.org/trac/ghc/ticket/11331 for that panic. They are working on it.

@snowleopard w.r.t. gmp issue, after doing proper gmake clean; rm -rf .build inplace; configure I see gmp is detected well so this was perhaps some error caused by merge and not running cleanup/configure properly. I'll keep an eye on this anyway.

@thomie thanks! This really helps to know this.

I also see failures of GHC sometimes, especially when parallelism is high. Next time I see it, I'll check whether it is the same error.
@kgardas Other than spurious GMP issue and GHC panicking, was the build successful?

Also what little bit worries me is sometimes messages compilation IS NOT required while doing fresh build. I'm curious if we do not confuse GHC when it sees hi file and then refuses to compile o file?

Yes, this is strange. Are you sure .build directory was removed before the build? At the moment we do not have a proper clean target: #131.

@snowleopard I'll double-check and will let you know. This was on -j12 build. Now I'm trying simple -j1

@snowleopard complete side note, I'm not sure if this is for another issue or not. I usually hit following error when rm -rf .build inplace and when starting build without -B option:
user error (Development.Shake.cmd, system command failed
Command: /opt/ghc-7.10.1-i386/bin/ghc -hisuf hi -osuf o -hcsuf hc -static -no-user-package-db -package-db /tmp/shake-test/.build/stage0/bootstrapping.conf -i -i.build/stage0/utils/hp2ps/build -i.build/stage0/utils/hp2ps/build/autogen -I.build/stage0/utils/hp2ps/build -I.build/stage0/utils/hp2ps/build/autogen -odir .build/stage0/utils/hp2ps/build -hidir .build/stage0/utils/hp2ps/build -stubdir .build/stage0/utils/hp2ps/build -rtsopts -H32m -O -no-auto-link-packages -optl-lm -optl-lgmp .build/stage0/utils/hp2ps/build/AreaBelow.o .build/stage0/utils/hp2ps/build/Curves.o .build/stage0/utils/hp2ps/build/Error.o .build/stage0/utils/hp2ps/build/Main.o .build/stage0/utils/hp2ps/build/Reorder.o .build/stage0/utils/hp2ps/build/TopTwenty.o .build/stage0/utils/hp2ps/build/AuxFile.o .build/stage0/utils/hp2ps/build/Deviation.o .build/stage0/utils/hp2ps/build/HpFile.o .build/stage0/utils/hp2ps/build/Marks.o .build/stage0/utils/hp2ps/build/Scale.o .build/stage0/utils/hp2ps/build/TraceElement.o .build/stage0/utils/hp2ps/build/Axes.o .build/stage0/utils/hp2ps/build/Dimensions.o .build/stage0/utils/hp2ps/build/Key.o .build/stage0/utils/hp2ps/build/PsFile.o .build/stage0/utils/hp2ps/build/Shade.o .build/stage0/utils/hp2ps/build/Utilities.o -o inplace/bin/hp2ps -no-hs-main
Exit code: 1
Stderr:
ghc: can't find a package database at /tmp/shake-test/.build/stage0/bootstrapping.conf
)

this is very reproducible. Perhaps also pointing to a need to have proper shake clean way...

@kgardas There is inplace/lib/package.conf.d which you delete in this way. I presume you have to restart the build after that.

@kgardas I've created a separate issue for inplace/lib/package.conf.d problem: #176.

@snowleopard it looks like lookupVers2 GHC panic is a showstopper for me now. Anyway, on completely clean build which was done as
rm -rf .build inplace
gmake clean
./configure <params>
./shake-build/build.sh -B

so -j1 and with compileInterfaceFilesSeparately = True -- I'm able to see 109 compilation IS NOT required messages before failing on GHC panic.
$ grep "IS NOT required" sb-2.0.log |wc -l
     109

the panic hits me while compiling .build/stage1/utils/hpc/build/HpcParser.hs
Thanks for #176

@kgardas I'm afraid I don't have any insight into why we see compilation IS NOT required. Can you try to investigate why this happens? It makes sense not to use any -j flags at all during the investigation.

The issue with inplace/lib/package.conf.d (#176) should now be fixed.

@snowleopard few cases I've investigated and the behavioural pattern is still the same:
hs is compiled into o (side effect hi is generated too)
hs is compiled into hi. (message is printed)
I'm not sure why hs-> hi compilation is run at all when it's not needed. Bug anywhere?
E.g.
/-------------------------------------------------------------------------------
---------\
| Run Ghc Stage0 (package = Cabal)
         |
|      input: libraries/Cabal/Cabal/Distribution/Simple/GHC/IPI642.hs
         |
|  => output: .build/stage0/libraries/Cabal/Cabal/build/Distribution/Simple/GHC/
IPI642.o |
\-------------------------------------------------------------------------------
---------/
/-------------------------------------------------------------------------------
----------\
| Run Ghc Stage0 (package = Cabal)
          |
|      input: libraries/Cabal/Cabal/Distribution/Simple/GHC/IPI642.hs
          |
|  => output: .build/stage0/libraries/Cabal/Cabal/build/Distribution/Simple/GHC/
IPI642.hi |
\-------------------------------------------------------------------------------
----------/
compilation IS NOT required

@kgardas Ah, I see! Now I understand what's going on.

I'm not sure why hs-> hi compilation is run at all when it's not needed.

I think this is because the *.o rule does not actually tell Shake that it also produces *.hi files.
We probably need to add the following:

In the beginning of *.o rule add a need for the *.hi file, forcing the *.hi rule to fire first.
Tell Shake that the *.o rule also produces *.hi files and specify which rule has higher priority, so that when a *.hi file is needed Shake knows which rule to run. I think we need to give a higher priority to the *.hi rule.

I'll do a quick experiment and will commit a fix if it works for me.

I confirm that I'm also hit by the lookupVers2 GHC panic.

I've committed some further work on this. The build has finished now, improving average parallelism from 2.61 to 3.00 with -j4. However, I got a lot of lint errors.

@ezyang might have something to say about this ticket.

Just to clarify the reason behind the lint errors in the current implementation: we first create *.hi files via -fno-code -fwrite-interface, but then we write them again when producing the corresponding *.o file. Is there a way to disable writing of interface files in the normal mode of operation? While searching I came across -fno-write-interface, but not sure it's what we need.

Shot in the dark: you can use -hisuf to divert them. What happens when
specifying "-hisuf /" ?
Em domingo, 17 de janeiro de 2016, Andrey Mokhov<EMAIL_ADDRESS>escreveu:

Just to clarify the reason behind the lint errors in the current
implementation: we first create *.hi files via -fno-code -fwrite-interface,
but then we write them again when producing the corresponding *.o file.
Is there a way to disable writing of interface files in the normal mode of
operation? While searching I came across -fno-write-interface, but not
sure it's what we need.
—
Reply to this email directly or view it on GitHub
https://github.com/snowleopard/shaking-up-ghc/issues/174#issuecomment-172321088
.

@ggreif I thought about this and will give it a try. However, I'm not entirely sure I know what I am doing: are these two interface files exactly the same? Can I throw away the second one with no consequences?

@snowleopard pretty sure you can, they are tiny, normally. Would be better still if GHC wouldn't make the effort of producing them for some suffix values in the first line.

This approach is certainly an interesting idea, but I am somewhat sceptical. Has anyone measured time to generate interface file vs time to do code too? My understanding is this approach will only be a speed up if interface is cheap compared to code, which I don't think is true, especially at -O2 (which is the most relevant for compiling GHC).
For parallelising the build, I'm sure there will be lots of tricks, but first get it building everything. The more it builds, the more chance it will sort itself out on its own.

For info, with a system the size of GHC, I would expect median 20 core parallelism without excessive effort on -j24. If not, I'll break out the profiler :)

@ndmitchell fair point, considering NCG. On the other hand if you start to use LLVM you will notice code generation is slower and once you move to unregisterised build and compiling -fvia-C like I do on SPARC, then this will be huge difference since in this setup majority of time of compiling single hs is dominated by GNU C compiling generated C code. Potential of paralelization is also exact reason why I try to get that working on Solaris and later on SPARC/Solaris. :-)
Anyway, if you do have some idea how to paralellize build to 32-64 threads, that would be awesome and I would really appreciate it.

(incoming comment)

@ndmitchell In the past, using GNU make build, I was on average 4 and median 2 GHCs running... (IIRC!)

@kgardas ok, willing to believe in certain situations code gen could dominate. Could you measure on one module you think makes a difference? A useful number to guide us.
This technique trades additional cost for more parallelism, but I always want parallel for free where possible. I wonder if GHC could be persuaded to generate the C plus the command to compile, then Shake could do both pieces separately.

Obviously, typechecking can't be parallelized, unless you actually and go and modify GHC a bit. The hope here is to parallelize optimization and code generation.
Unfortunately, the results you get optimizing here are not going to be as good as doing it the normal way. When you write out an interface for -fno-code -fwrite-interface, we write out the contents of the interface PRIOR to doing any optimization. Among other things, this means that unfoldings are not included. Put differently, your scheme is analogous (actually, it performs a bit worse, because you're typechecking the internal contents of functions too; but this means it works even if you're missing type signatures) to having written hs-bootfiles for every module in your project, and changing all your imports to{-# SOURCE #-}(existing cycles notwithstanding! You need two levels ofhs-bootto deal with that.) Everyone knows that you can't inline an implementation when compiling against anhs-boot`... because there is no implementation to inline.
In principle, such a system may still be useful for incremental recompilation, because avoiding unfoldings means that things recompile less when you make modifications; it also means that you can parallelize optimization and code generation (so this IS a little different from compiling with -O0; the point being that even if you can't inline across module boundaries, you still want to optimize within a module. It's unclear how useful this actually would be, because cross-module inlining matters a lot for optimization.)
In any case, the current implementation is a bit dodgy, because GHC does not guarantee that an -fno-code -fwrite-interface interface will let you successfully build code that can use the normal -O2 compilation; we strive for determinism but GHC is not fully deterministic, and in any case important names may change between the two compilations. You'll need more assistance from GHC.
If you still want to implement this, here's how GHC could be adjusted to make this possible:

Resurrect my fat interface patch https://ghc.haskell.org/trac/ghc/ticket/10871 which lets you divide the compilation of a Haskell file into two steps: compilation to a "buildable" interface file, and then actual optimization and code generation of the buildable interface file. Type-checking is done with respect fat interface files, whereas optimization is done with respect to "real" interface files. The benefit is that you get to typecheck things more quickly (since the partial results are popping out more quickly); the downside is that there's more serializing/deserializing (which could erase your performance gains) and the actual optimization/code generation will not perform any better.
Add a new mode to GHC which says "optimize inside a module, but maintain AS MUCH API stability at each module boundary as possible." So, in effect, something like -O0 but which still optimizes inside a module. Doing this will immediately improve recompilation times. Then, an interface file can be written out immediately after type-checking, and all you need is to somehow arrange for Shake to realize that intermediate results for hi files have come out (meaning that you can start type-checking other things.)

Brain wave! I think @ezyang's comments mean this isn't going to really give us what we were hoping for. But, there is an alternative which might be faster in all circumstances, never noticeably slower than a normal compile, and therefore could become the default. My scheme:

Compile as normal, but configure the C compiler to be at a different location (either by tweaking the PATH or with flags).
Substitute in a fake C compiler that just records the command line, and writes out an empty .o file, but does nothing more.
Then have a second rule that takes the C compiler command line and runs it.

You get the parallelism of compiling and codegen separately, without having to do anything funky to GHC.
There's the assumption that GHC won't break if we replace the .o file after (I think that's fine. Compilation checking is the only possible niggle, and I think compilation checking is timestamp only.) and that GHC doesn't use the .o file in that compile (I don't think that's true for stub files, but I think it's true most of the time).

@ezyang thanks a lot for the indepth explanation. I was afraid that we may hit the wall here by exploring paths not directly tested/supported by GHC. From your description it looks like -fwrite-interface -fno-code combination is simply GHC buggy as it write interface too early, probably on different place than usual interface write is done during normal compilation. Your reference to GHC ticket leads to quite a lot of other information w.r.t. backpack etc which is quite hard to distile.
Anyway, the conclusion for me from this is that GHC's interface is kind of API unstable based on actual optimization level too? If this is true, then hic sunt dracones and this way is probably not pass-through (sigh non-english speaker here). So bad assumption done on my side that "interface" file is API stable...

@ndmitchell interesting idea, but what about different thing? Let's test (if it does already) or change GHC to write hi files as quickly as possible (but reliably like @ezyang pointed out), it should be done kind of transactional so write hi to hi_promise and once done rename hi_promise to hi (or kind of that) and then continue with compilation to asm/llvm/C as usual. Then hack shake to not wait for ghc compiling hs -> hi,o but check for hi only and if it's there it can fire out new compilations of dependent modules. Am I clear on this? IMHO this is what GNU make is not able to do (or current build system) and this is why it sucks on parallel compilation...

@kgardas - I think my hacking the C file is just an implementation of promises that would be simple and quite robust. Having a Shake rule that starts, produces something, but then continues and produces more without the possibility of pausing it, doesn't really fit with Shake. Polling for the .hi file or using notify techniques is a pain. I think the benefit over my promises technique would be small (you save computing the ASM, but little else), and the cost high (polling, watching, Shake side implementation).

I should say, while this "doesn't really fit" with Shake, I have no doubt it is somehow possible, so if that becomes the only reason holding this back, I'll have a think.

@ndmitchell your hacking on C compiler is interesting by I fear the build system for unregisterised and registerised builds will be different which is something I would try to avoid. Or well, perhaps I do not understand how hard would be to put your idea into GHC's shake build machinery...

@ndmitchell yes, my idea is about polling for kind of intermediate result since other modules compilations depend on this intermediate result and not on the actual result of compilation. i.e. hi files versus o files. Surely final linkage depends on o files, but this is not important in situation where you E.g. see build process compiles DynFlags.hs and you wait ~30 minutes for C compiler to finish compiling generated DynFlags C files while hi is already on the drive and your machine is idle since only one thread from 32 available is working. ;-) (DynFlags is classical example which I need to break here).

Hmm, true, I hadn't thought of registered vs unregistered - that may be the place where GHC mangles the .o file afterwards, which is mostly fatal to my technique. That said, maybe combining our techniques gives something better - when GHC calls out to the C compiler we know the .hi file is done, so we could use that as the trigger to allow everything else to continue.

Is it really 30 mins to build DynFlags C code? That seems like a bug - as though GHC is tickling some bad complexity in the C compiler. Is that using gcc, or some ancient system compiler?

@ndmitchell next week I will measure DynFlags for you, but please keep in mind this is UltraSPARC T1 so basically 1GHz single-issue in-order 8 core with 4 threads per core machine. Old and tuned for highly parallel work indeed. Also if you are curious just test --enable-unregisterised on Linux and see how build times differ. NCG is really a kind of speed here... Unfortunately I still do have some bugs to fix in SPARC NCG before the build may be sped up this way...

@ndmitchell small correction to your fake C compiler idea. The problem to solve is that at the time real C compiler is invoked original C source is long time gone since this is GHC's temporary file which is deleted on GHC process exit (more or less). So your idea involves also copying C code to some other temporary location to prevent its deletion and compiling this then.

Let me add, it's relatively straightforward using the GHC API to bail out before running the compiler/assembler. But I really don't think it's C's fault. For example, on DynFlags, I'm pretty sure the bottleneck is due to instance deriving on the giant data structure.

@ezyang by your last note about DynFlags, do you suggest this also means that DynFlags.hi will not be generated that soon as I hope so? Well, will need to test this in real for sure...

I don't know. Here's the GHC bug tracking: https://ghc.haskell.org/trac/ghc/ticket/7258
Whether or not it generates quickly enough depends on whether or not the type checker is slow (if so, nothing will help), or if the optimizer is slow (if so, -O0 or -fno-code -fwrite-interface will help), or if the code generator is slow (if so, eagerly writing the interface will help.)

Thanks all for your input. Very interesting discussion and I hope we'll eventually find a way forward.
In the meanwhile, shall I remove my experimental implementation from the codebase? It looks like it won't bring us to a right solution. Or will anyone still like to play with it? The compileInterfaceFilesSeparately is off by default, so we can keep it (at the cost of less readable code).

@snowleopard could you be so kind and keep it at least for benchmarking purposes? IMHO if it's done correctly then it may represent times of parallel build we can get either with shake polling for hi file as intermediate or with fixed ghc emitting correct hi file...At least good for the reference, isn't it? I think @ndmitchell idea of fake C compiler may run only a little bit slower due to a wait for actual C code to be generated...

@kgardas OK, let's keep it for now. Let us know if you get any interesting benchmarks results.

Hi,
first of all @ezyang was right about the fact that current -fno-code -fwrite-interface machinery is not working as it should and that it generates wrong interface file(s). I've done promised testing on sparc T1 and the results are here:
DynFlags.o compilation (of GHC 8.0.1 RC1 done by GHC 7.10.1) takes ~30 minutes.
DynFlags.hi compilation done by -fno-code -fwrite-interface takes ~20 seconds, resulting file is 88kb long
DynFlags.hi compilation from DynFlags.o compilation, actually I'm doing DynFlags.o with -v to see messages about writeBinIface took ~13 minutes. The result is obviously correct hi file
After hi files is saved, C code gen took ~6 minutes and GNU C took ~11 minutes
Now, the question is how hard is it to fix GHC's -fno-code -fwrite-interface to behave correctly...

A note about correct and incorrect hi files for DynFlags:
$ ls -la compiler/stage1/build/DynFlags.hi*
-rw-r--r--   1 karel    karel    1691874 Jan 20 10:12 compiler/stage1/build/DynFlags.hi
-rw-r--r--   1 karel    karel      88797 Jan 20 09:39 compiler/stage1/build/DynFlags.hi-no-code-write-interface

so hi-no-foce-write-interface is generated by -fno-code -fwrite-interface which took those 20 seconds. The other one is from ordinary compilation and took ~13 minutes to get to its write.

I've experimented some with this too, though in the makefile system (most of it messing about just to get the rules to run properly for .hi and .o files). The current state of that mess is at https://github.com/olsner/ghc/commits/separate_hi_2
That included some code to write the "full" interface with -fno-code, attempting to get the same interface generated as when running without -fno-code: https://github.com/olsner/ghc/commit/b762186b75c98e8718cd2669477689b4a969e674
An issue with this is that the interface sometimes changes when building the .o file, and then you end up with e.g. DynFlags.o compiled against a new interface and dependent modules built against an old mismatching interface, and the dependent modules sometimes end up referencing symbols that aren't there or got different names in the actual object file...
To detect that, I added some code to panic instead of updating the interface when subsequently compiling the .o file:
https://github.com/olsner/ghc/commit/3741e25478e695b8383080397526f55d01db4eee
I had some debugging code to print the old/new interface too, and iirc the diffs seemed mostly to boil down to non-determinism in ghc, like different unique names.
Fat interfaces or properly dependable determinism seem like what we'd need to make it work.

There hasn't been much activity here and it looks like the approach we were exploring got stuck anyway, so I'm inclined to close this issue for now. I will also remove the associated experimental code, as it often makes it more difficult for me to work with the build system. We can always bring it back if need be.

https://ghc.haskell.org/trac/ghc/ticket/4012 seems to have made good progress since my last experiment, so it might be worthwhile to make an attempt at picking this up again. It would probably also catch #216 as a bonus, by having the .hi files as actual targets rather than by-products of .o compiles.

@olsner Note: issue #216 can be solved by using Shake's multiple-output rules, which I planed to implement soon (currently progress on Hadrian is slow due to various other commitments). This is not too difficult, but requires some refactoring of Hadrian. Still much simpler, I think, than solving this issue.
However, if you wish to come back to this issue and optimise the build that would be great! If you'd like to do so, I'd suggest to open a new issue with an outline of the proposed approach, because this thread got a bit too long to make sense of all the discussions.


Broken link 'getting started' in README.md

Summary
The 'getting started' link is broken in the README
What needs to be done
Route the link to here instead.
Related issues
#158

@krupalitrivedi if you could comment in this issue, I can assign it to you =)

Hello There! I'd love to work on this :)

Shall I also link the repository license at the end? It gives more flexibility to the visitors of the repository.

No thank you @krupalitrivedi
We usually let somebody else handle the licenses.. Thank you though!

Complete in #177


Failed to run 'elixir' command. ElixirLS will probably fail to launch.

Environment

Elixir & Erlang versions (elixir --version): Erlang/OTP 24 [erts-12.0.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit] Elixir 1.12.1 (compiled with Erlang/OTP 24)
Operating system: Linux 033d18dbe177 5.4.0-1055-azure #57~18.04.1-Ubuntu SMP Fri Jul 16 19:40:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Editor or IDE name (e.g. Emacs/VSCode): VSCode (Codespaces)

Output logs:
[Trace - 9:57:33 AM] Sending request 'initialize - (0)'.
erl_child_setup closed

Crash dump is being written to: erl_crash.dump...done
[Info  - 9:57:35 AM] Connection to server got closed. Server will restart.

Developer Tool logs:
Failed to run 'elixir' command. ElixirLS will probably fail to launch. Logged PATH to Development Console.
[Extension Host] Failed to run 'elixir' command. Current process's PATH: /home/codespace/.vscode-remote/bin/e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
The ElixirLS - blank-application server crashed 5 times in the last 3 minutes. The server will not be restarted.

I manually ran /home/codespace/.vscode-remote/extensions/jakebeck…xir-ls-0.8.1/elixir-ls-release/language_server.sh in my terminal and it booted up just fine.

I've done my very best to debug this myself, plus looking various issues and bug reports.
I have two guesses:

Something is fundamentally wrong with my environment (see output logs)
Somehow it's not picking up on my asdf install.

Please ensure that elixir is in PATH env of vscode process. I guess it's not correctly lading your bash_rc/bash_profile. Use search - there were already similar reports before.

I manually ran /home/codespace/.vscode-remote/extensions/jakebeck…xir-ls-0.8.1/elixir-ls-release/language_server.sh in my terminal and it booted up just fine.

Closing as this confirms that it's not a problem with elixir-ls itself. If you find it's a problem with the vscode extension please open an issue in https://github.com/elixir-lsp/vscode-elixir-ls

@lukaszsamson
It's definitely in my .bash_rc and .bash_profile. I suspect this has to do with codespaces itself.

@lukaszsamson Can you just move this issue over to that repo please? I don't want to have to copy and paste all this.

It's definitely in my .bash_rc and .bash_profile. I suspect this has to do with codespaces itself.

What really matters is wether vscode process has proper PATH environment set.
cat /proc/{vscode pid}/environ | tr '\0' '\n' | grep PATH

Verify that the session that loads vscode loads bash_rc/pash_profile correctly.

Can you just move this issue over to that repo please?

I dont't have access in that repo. @axelson?


Update go-elements

This pull request addresses some issues where the recovery of a swap (in csv condition) failed with a panic. It adds the following:

A basic test for recovery
Wait for the node to be in sync with the blockchain before attempting to recover
Add some helper functions to the test framework
Fixes an issue with the transaction watcher having to wait an extra confirmation

Fixes: #74
Fixes: #73

To be clear, This pr does not fix the panic we could not reproduce but it encountered some problems that also came up when discussing #73.

Wait for the node to be in sync with the blockchain before attempting to recover

This improved things a bit but it but we need more startup checks. PeerSwap gives up too quickly sending things into cancel when it should have seen it is temporary.
For now this is good enough for merge. Want to squash fixups first?

Yes, let me squash that fixups!

ACK 688ebca and tested for several days by a few people
confirmed 6135d8d is equivalent


feat: Add hover effect to Navbar links

Added hover effect to Navbar links.
Before:

After:

This Pull Request resolves issue #144

@halkeye The PR was incomplete. It is complete now. I can't understand the reason for this linting error.

<file name="/home/jenkins/agent/workspace/tes_jenkins-io-components_PR-145/src/jio-navbar.css">
 <error source="stylelint.rules.rule-empty-line-before" line="107" column="1" severity="error" message="Expected empty line before rule (rule-empty-line-before)" />

does line 107 on jio-navbar.css have a empty line before the next rule?

<file name="/home/jenkins/agent/workspace/tes_jenkins-io-components_PR-145/src/jio-navbar.css">
 <error source="stylelint.rules.rule-empty-line-before" line="107" column="1" severity="error" message="Expected empty line before rule (rule-empty-line-before)" />

does line 107 on jio-navbar.css have a empty line before the next rule?

Made the appropriate changes.

I'll admit, i'm not sure why a hover effect is wanted. Have you talked to any of the sig leaders about it? like @MarkEWaite or @kmartens27 ?

No, but I was working with the Navbar component when I noticed that it is very easy to click another link when there is no difference on hover.


Support svg

can you please add support to sniff svg? thats the only thing missing to use this package for image content format sniffing.

A few things need to be pointed out here; this library is binary file focused and SVG is an XML text file and may be subject to variations. For example, the XML and doctype heading presence and content will vary, since Mime-Type expects a specific byte block match at a specific location, it may fail to recognize SVG sometimes.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 1200 1200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">


Support original hook at runtime

This adds two commits:
The first adds runtime detection to determine whether the library is running under the existing hook or as a standalone.
The second commit cleans up some of the wholly unnecessary use of heap-allocated objects, although there's still more left.

Also, it's using C++11 features.

It doesn't really match the mission statement of the project for the hook to act as a client to match some functionality.
We want to maintain maximum developer friendliness at the behest of the userbase, avoiding unnecesary inter-mod conflicts where possible. Having two instances performing similar functionality side by side just seems unnecesary, and will cause issues down the line, especially if one project is closed source.
If you'd like to submit another pull request regarding the pointer issues, I'll see if I can run a build and test it. I personally had issues during static initialization before deciding to just go for lazy-loads.


DBZ-5908 ConnectorLifecycle is not logging anymore the exception stac…

…ktrace when startup fails

@ggaborg Applied, thanks


regctl image copy raise 'blob unknown to registry'

Our team uses nexus as our docker registry.
We use regctl image copy --platforms linux/amd64 --platforms linux/arm64 docker.io/library/python:3.11-slim-buster example.internal/mirsrors/python:3.11-slim-buster gives an error
WARN[0004] Failed to push manifest                       err="failed to put manifest example.internal/mirrors/python:3.11-slim-buster: request failed: unexpected http status code: Bad Request [http 400]: {\"errors\":[{\"code\":\"BLOB_UNKNOWN\",\"message\":\"blob unknown to registry\",\"detail\":\"sha256:1750693500ba44a3288232623aea32ab090a2129fd155078f6d91d3ecc7e29ef\"},{\"code\":\"BLOB_UNKNOWN\",\"message\":\"blob unknown to registry\",\"detail\":\"sha256:1750693500ba44a3288232623aea32ab090a2129fd155078f6d91d3ecc7e29ef\"}]}" target="example.internal/mirrors/python:3.11-slim-buster"
Manifests: 2/3 | Blobs: 0.000B copied, 0.000B skipped | Elapsed: 4s
failed to put manifest example.internal/mirrors/python:3.11-slim-buster: request failed: unexpected http status code: Bad Request [http 400]: {"errors":[{"code":"BLOB_UNKNOWN","message":"blob unknown to registry","detail":"sha256:1750693500ba44a3288232623aea32ab090a2129fd155078f6d91d3ecc7e29ef"},{"code":"BLOB_UNKNOWN","message":"blob unknown to registry","detail":"sha256:1750693500ba44a3288232623aea32ab090a2129fd155078f6d91d3ecc7e29ef"}]}

Then I used regctl image copy --platforms linux/amd64 --platforms linux/arm64 docker.io/library/python:3.11-slim-buster ocidir://python311 to download to the locally, and used grep to find the file where<PHONE_NUMBER>ba44a3288232623aea32ab090a2129fd155078f6d91d3ecc7e29ef is located
I find
$ cat ./python311/blobs/sha256/c46b0ae5728c2247b99903098ade3176a58e274d9c7d2efeaaab3e0621a53935 | jq
{
  "manifests": [
    {
      "digest": "sha256:b94af75d4ff65c50bf1b2119bca6d0ba707037bacd0cb75314801a6953c03241",
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "platform": {
        "architecture": "amd64",
        "os": "linux"
      },
      "size": 1370
    },
    {
      "digest": "sha256:e1708e8c4ede3133f4645275d3ae40e33cefcd85886ef9f77ba5509d43a2d9c8",
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "platform": {
        "architecture": "arm",
        "os": "linux",
        "variant": "v7"
      },
      "size": 1370
    },
    {
      "digest": "sha256:81b2c804d9ba5014835bedffff61fb42e5d78be661b781654cda06b3d95237f0",
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "platform": {
        "architecture": "arm64",
        "os": "linux",
        "variant": "v8"
      },
      "size": 1370
    },
    {
      "digest": "sha256:1750693500ba44a3288232623aea32ab090a2129fd155078f6d91d3ecc7e29ef",
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "platform": {
        "architecture": "386",
        "os": "linux"
      },
      "size": 1370
    }
  ],
  "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
  "schemaVersion": 2
}

I found that even though I specified platform, there are still other blobs in this configuration file

The --platforms flag is expected to create images that won't work on registries that validate content. I'm curious where you are seeing this flag advertised? The flag is intentionally hidden from --help output. Is there some other place you saw this documented?

@sudo-bmitch I see that from souce code


Maps loaded from a sub folder that require additional XML files doesn't find them from files above

For example here, it loads my map Oculo and many others that are located in sub-folders.  Some of them require extra XML files like tutorial.xml and blitz-global.xml which as you can see is inside the front directory of the maps folder.  The map gets the XML files if it's only in the same folder as where the map itself is stored.  So if like blitz-global.xml was in the Blitz folder than CardinalPGM would find it and apply it properly.

#1045

Fixed in 7df14c3, imports should be imported from anywhere in all your repo now


Mongoose nested schemas not showing _id field

Describe the bug
When showing/editing a parent resource (mongoose model) with an array of nested schemas, each of the schemas is not showing the _id field.
Installed libraries and their versions

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
To Reproduce
Steps to reproduce the behavior:

Go to resource list
Click on show in any resource
Go to nested schemas list
See no _id field in nested schemas

Expected behavior
Each of the nested schemas should have the _id field.
Screenshots

AdminJSOptions with schema
Default adminJs options
const adminJsOptions = {
    resources: [ Thematic ]
};

thematic.js
export const ThematicSchema = {
  subthematics: [ SubthematicsSchema ]
};

export const Thematic = mongoose.model('Thematic', ThematicSchema);

subthematic.js
export default SubthematicSchema = new Schema(
  {
    title: String,
  },
  // This is the default behavior, but just to indicate that each nested schema could have an _id
  { _id: true, timestamp: true }
);

I've already tried that and unfortunately it isn't working. Is it for you?
In addition, each of the subthematics have a 2nd level nested schema (questions). In case that works at the end, would it be possible to add something like:
const adminJsOptions = {
    resources: [{
        resource: Thematic,
        options: {
            properties: {
                'subthematics._id': { type: 'string' },
                'subthematics.questions._id': { type: 'string' },
            }
        }
    }]
};

You can also try to additionally add:
subthematics: { type: 'mixed', isArray: true }

it's difficult to say why this happens. @adminjs/mongoose is the only adapter which is able to take automatically create subproperties from subschemas, for all other adapters you have to manually define them like we did above. Also please check if _id is actually present in server response by going to Network tab in your dev tools.

@dziraf Sorry, still not working 😞 Just double checked that the record has a field like "subthematics.0._id":"61a909b82eee2300146121c9" on each subschema.


hertz client 报错 the server closed connection before returning the first response byte.

Describe the Question
我使用hertz client 请求有些接口的时候 会返回这个错:
the server closed connection before returning the first response byte. Make sure the server returns 'Connection: close' response header before closing the connection
Reproducible Code
package main

import (
	"context"
	"crypto/tls"
	"fmt"
	"github.com/cloudwego/hertz/pkg/app/client"
	"github.com/cloudwego/hertz/pkg/common/hlog"
	"net/url"
)

func main() {
	uri := "https://restapi.amap.com/v3/geocode/regeo"
	encode := url.Values{}
	encode.Add("key", "51a4ed0d08ade61c6eb5f7c81b3f5954")
	encode.Add("location", "104.04089,30.654112")
	packurl := fmt.Sprintf("%s?%s", uri, encode.Encode())

	cli, _ := client.NewClient(client.WithTLSConfig(&tls.Config{
		InsecureSkipVerify: true,
	}))
	_, _, err := cli.Get(context.TODO(), nil, packurl)

	hlog.Info(err)

        //使用内置的http请求就不会报错
        res, er := http.Get(packurl)
        hlog.Info(res.Status, er)
}

[Info] the server closed connection before returning the first response byte. Make sure the server returns 'Connection: close' response header before closing the connection

[Info] 200 OK<nil>

Hertz version:
0.6.5

稍等，我试下。

稍等，我试下。
如果服务端那边返回Connection:close 模式，  hertz client tls请求就会报错the server closed connection before returning the first response byte


How to select tags in a stylesheet

I might be dumb, but I can't figure out how to select tags (not classes) in a stylesheet.
I managed to get that working for classes:
object Style extends StyleSheet {
  initStyleSheet()
  val date = cls(color := "red")
}

val document = html(
  head(
    scalatags.Text.tags2.style(Style.styleSheetText)
  ),
  h1("Report"),
  h2(Style.date)("2022-05-17")
)

But how do I select the h1 tag for example? How do I generate something like the following in the stylesheet generated by my Style object?
h1 {
  color: blue;
}

I feel like I'm missing something very obvious but I can't find anything working.

I do not think it is possible to select or generate tags with custom stylesheets as the intention is to either pass them yourselves inline (e.g. h1(color := "red")("My Title")) or to make stylesheets as prescribed via extending StyleSheet or CascadingStyleSheet. The closest you can do, I think, is to make a list of CSS modifiers that you want to include and then pass them directly into the tag itself.
/* Things I want to apply to `h1` tags. Can just be a plain value; I only created a companion object for
 * demonstration purposes.
 */
object StyleForH1TagsOnly:
  val css = List(
    color := "blue",
    backgroundColor := "green"
  )

/* Apply the styles to the tag using the spread operator. */
...
h1(StyleForH1TagsOnly.css*)
...


cannot import name 'MGP' from 'smt.surrogate_models'

the error occurs from the code of smt-mastertutorial/SMT_Tutorial.ipynb:
from smt.surrogate_models import LS, QP, KPLS, KRG, KPLSK, GEKPLS, MGP, why the package cannot be imported?

Which version of SMT are you using? Which Python version? Which OS? How have you installed SMT?

No news is good news. I close.


Rooting terminal

I have used this script and it is rooting my terminal, i don't know it's useful or not.But removes system security

Ignore this. it is only help for making beautiful interface for users


Losslessly recompressing JXL turns enum tags into ICC profiles

Describe the bug
Consider the conformance sample animation_icos4d.jxl. (Here, for convenience: https://buzo.us/H.jxl).
Attempting to losslessly recompress it using cjxl -d 0 appears to be taking the 8-bit pixel data from the original and encoding it losslessly as 32-bit float, which inflates the file size pretty dramatically. Fixed by #2591 although the next issue remains, at the moment:
It also seems to be embedding an ICC profile rather than tagging the new file with an sRGB enum, despite the original being tagged with an sRGB enum.
To Reproduce
$ cjxl -d 0 animation_icos4d.jxl test.jxl
$ jxlinfo -v animation_icos4.jxl
$ jxlinfo -v test.jxl

Expected behavior
I expected cjxl to preserve the tagged enum space rather than synthesize an ICC profile and then embed the synthesized profile.
Log
https://buzo.us/D.log
Environment

OS: Arch Linux x86_64
Compiler version: GCC 13
cjxl/djxl version string: JPEG XL encoder v0.9.0 00935aaa [AVX2]

Ugh, why does github auto-close the issue if I referenced it saying my PR "partially fixes" this issue.
The bitdepth thing should be fixed now, but it will still convert an enum colorspace to a synthesized icc profile...

Should I open a separate issue for that?

Updated title and body to reflect the current issue.

Ugh, why does github auto-close the issue if I referenced it saying my PR "partially fixes" this issue.

@jonsneyers Because of the keyword "fixes" (and I don't know why they even say "may close" on the side when it seem to do it always when linked). Been there, using "partially addresses" now 😉 (But then it doesn't create the link between the issue and the PR apart from the mentions...)


My design, first upload

The Verification error is an easy fix.  there are two overlapping waveguides.
Also you can just connect the terminator directly to the splitter.


fix setting --only-extended or --only-core flags to False if not prov…

Description:
--only-extended and --only-core flags are not set correctly to False, if not provided
Issue:
When trying to run make coverage I got the following issue:
INTERNALERROR> ValueError: no option named 'only_extended'

It turned out that config.getoption("--only-extended") in pytest_collection_modifyitems function was unable to get the --only-extended value

@eryk-dsai  this error
INTERNALERROR> ValueError: no option named 'only_extended'
Should not be resolved by the change made in this PR. It's complaining about the option not being unknown which has happens in pytest_addoption
This conftest is only defined for unit tests, and not integration tests. are you perhaps running coverage with integration tests included?


Revert "fix(daemon): Upsert secrets immediately poller added "

This reverts commit a986dfba1c96679faab0097b96c5f77e4deb8dca.
I'd like to revert the change introduced in #125 as it causes unnecessary polling when watch stream is disconnected, and causes upserts for all external secrets everytime the pollers are recreated.
I think we can definitely do some kind of improvement here tho.
See discussion in #117 :)

Hi @Flydiverny - see my comment in other PR. Can you help me understand why the extra polling is bad?
For my .02 I prefer the simpler code, but I'm open to being convinced otherwise  :-)

Closing this, see #133


Singularity behind proxy issue

All of our singularity services are behind nginx proxy, with ssl certificate acl binded. Services are listening on localhost:7099, proxy is listening on publiv IPs, port 7100.
I've updated one of three singularity services from 0.14.1 to 0.17.0.  When trying to deploy one test job using updated service, I've got error 500.
 Causing: java.net.ConnectException: Connection refused: db11.example.com/x.x.x.x:7099 to http://db11.example.com:7099/singularity/api/deploys?user=boban
! at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:103)
! ... 12 common frames omitted
! Causing: java.util.concurrent.ExecutionException: java.net.ConnectException: Connection refused: db11.example.com/x.x.x.x:7099 to http://db11.example.com:7099/singularity/api/deploys?user=boban
! at com.ning.http.client.providers.netty.NettyResponseFuture.abort(NettyResponseFuture.java:342)
! at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:107)
! at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:427)
! at org.jboss.netty.channel.DefaultChannelFuture.notifyListeners(DefaultChannelFuture.java:418)
! at org.jboss.netty.channel.DefaultChannelFuture.setFailure(DefaultChannelFuture.java:380)
! at org.jboss.netty.channel.socket.nio.NioClientBoss.processSelectedKeys(NioClientBoss.java:109)
! at org.jboss.netty.channel.socket.nio.NioClientBoss.process(NioClientBoss.java:79)
! at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318)
! at org.jboss.netty.channel.socket.nio.NioClientBoss.run(NioClientBoss.java:42)
! at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
! at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
! at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
! at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
! at java.lang.Thread.run(Thread.java:748)

Obviously, service is trying to forward request to db11.example.com (current master), but to port 7099 using http scheme, probably discovered through zookeeper.

The Singularity instances will try to talk directly to each other, you are correct that this is discoveed via zookeeper. The host used is discovered via this method: https://github.com/HubSpot/Singularity/blob/master/SingularityService/src/main/java/com/hubspot/singularity/SingularityMainModule.java#L186-L201
It will attempt to find it's own IP to then broadcast to other hosts. If you need to override this due to the way routing is set up in your environment, you can set the hostname parameter in your yaml file to the dns or IP where that particular Singularity instance is reachable

Does it allow scheme and port change?

Right bellow that code is
    private final String hostname;
    private final int httpPort;

Does that mean that https is not allowed?

The Singularity -> Singularity communication is all http right now, and is parsed from the dropwizard configuration. Given the nginx proxy setup you mentioned, it seems that nginx is terminating ssl already anyways

I guess I will have to let Singularity bind to public ip (its on localhost now). I don't see other way.

Right now we don't have a port/scheme override, it's just grabbed form dropwizard configs. It's definitely something we can add in the future though.

Thanks for help.


redirectUserToSignIn doesn't work on Safari

redirectUserToSignIn in 0.2.22 doesn't do anything on the following browsers:

Safari 10.1 on macOS 10.12.4
iOS 10.3

Neither callback is gets called in protocolCheck on Safari.

@larrysalibra how do you think we should address this?

custom-protocol-detection provides protocolCheck and there are a number of limitations.
One of which is that it doesn't work on Safari: https://github.com/ismailhabib/custom-protocol-detection/issues/2
I like to think this is to protect privacy of the users so that random websites can't tell which apps you have installed on your iPhone or if you have a bitcoin wallet installed on your mac.
It reportedly doesn't work on Edge either - Edge will always say that the protocol is available and then try to search for something appropriate in the Windows App Store.
I propose:

We call protocolCheck when blockstack.js loads and store the result as a property protocolHandlerExists: yes or no. If neither of protocolCheck callbacks return, the value will be unknown.
@shea256 thoughts?

We call protocolCheck when blockstack.js loads and store the result as a property protocolHandlerExists: yes or no. If neither of protocolCheck callbacks return, the value will be unknown.

Isn't this what we're already doing? If the protocol handler exists, a redirect is initiated to a URL with the protocol handler. If it doesn't exist, a redirect is initiated to blockstack.org.

Isn't this what we're already doing?
We're calling protocolCheck(uri, failCallback, successCallback):

In my testing on Safari, neither fallCallback nor successCallback are called, nor is the uri opened.

I see. Seems like an error with the library. The callbacks are always supposed to return. Maybe we can edit the library and see what's going on there. The case for Safari should be handled properly.

I fixed this so that it always tries the blockstack: handler in safari.

This is still an issue with all Blockstack apps it would seem.

Just try and sign in here https://app.graphitedocs.com on Safari Version 12.0.1 (146<IP_ADDRESS>.1)


Add an option to redirect a domain to www.domain

@jwilder: this is a duplicate of #958, also by @haemse

Actually, the other on is a question on how to do it, this is a request to add the feature. However you could delete one ...


Bootstrap without replacement

The help for prtDataSetClass.bootstrap says it uses sampling with replacement. I would like to randomly subsample my training data without getting redundant observations. Does that functionality exist in the PRT?

Surprisingly it didn't. So I added it.
In the devel branch there is new method of prtDataSetBase, bootstrapUnique. This should do what you need. It has been tested but hasn't been run through the ringer a lot. Let me know if you have any issues.


Error when selecting Role to assume

Okta implemented new method to console login to child accounts. This new method uses a fixed role: Okta-Idp-cross-account-role
I don;t believe the cli takes this into account. AWS credentials being used is from account<PHONE_NUMBER> which works because the cli uses the GetRole command. But fails when selecting<PHONE_NUMBER>, possibly because it is running the GetRole command but the role is not in<PHONE_NUMBER> account and is not switching roles to the<PHONE_NUMBER> account via Okta-Idp-cross-account-role before doing the GetRole
sdk-1.11.165.jar com.okta.tools.awscli
Username: myuser
Password:
Please choose the role you would like to assume:
[ 1 ]: arn:aws:iam::1234567890:role/Testing1
[ 2 ]: arn:aws:iam::2222222222:role/Testing2
Selection: 1
13:46:27 [main] DEBUG com.okta.tools.awscli - Cross-account role is Testing1
13:46:28 [main] DEBUG com.okta.tools.awscli - Creating the AWS Identity Management client
13:46:28 [main] DEBUG com.okta.tools.awscli - Getting role: Testing1
Exception in thread "main" com.amazonaws.services.identitymanagement.model.NoSuchEntityException: Role not found for Testing1 (Service: AmazonIdentityManagement; Status Code: 404; Error Code: NoSuchEntity; Request ID: 052303fa-7098-11e7-9234-1707482cd147)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1587)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1257)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1029)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:741)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:715)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:697)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:665)
at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:647)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:511)
at com.amazonaws.services.identitymanagement.AmazonIdentityManagementClient.doInvoke(AmazonIdentityManagementClient.java:8275)
at com.amazonaws.services.identitymanagement.AmazonIdentityManagementClient.invoke(AmazonIdentityManagementClient.java:8251)
at com.amazonaws.services.identitymanagement.AmazonIdentityManagementClient.executeGetRole(AmazonIdentityManagementClient.java:4390)
at com.amazonaws.services.identitymanagement.AmazonIdentityManagementClient.getRole(AmazonIdentityManagementClient.java:4367)
at com.okta.tools.awscli.GetRoleToAssume(awscli.java:437)
at com.okta.tools.awscli.main(awscli.java:119)

I am experiencing the exact same issue. I can assume roles in the "master" account, but not roles in the other connected accounts, despite the fact that the connected account roles are displayed in the list of options.
@jonjohnston I contacted Okta support about this and this was the short version of their answer "Unfortunately this particular SDK is no longer supported, the reason it was also removed from our developers portal."
I think this is a solvable issue, but I'm not sure if anyone from Okta is still maintaining this repo.

I reread this. All the roles are intended to live under one account. https://support.okta.com/help/servlet/fileField?retURL=%2Fhelp%2Fapex%2FOktaArticleDetailPage%3FchildCateg%3D%26id%3DkA0F0000000McF7KAK%26source%3DDocumentation&entityId=ka02A000000XdHMQA0&_CONFIRMATIONTOKEN=VmpFPSxNakF4Tnkwd09DMHdPRlF3TnpvMU1Eb3lOUzQzTWpkYSxzWE90RzU1STI0aS1EOGxNemlWWnJjLFlqZ3hZemhp&common.udd.actions.ActionsUtilORIG_URI=%2Fhelp%2Fservlet%2FfileField&field=File_Attachment__Body__s
Trying that instead.


Update discord-py version to ~=1.2

This changes increases the version of discord.py from ~=1.1 to ~=1.2.

The pipfile needs to be relocked

The changes look fine but youll have to resolve the merge conflicts before we can merge it.

I've pinned pydocstyle before 4.0 to fix issues with flake8-docstrings.
More info here: https://github.com/python-discord/organisation/issues/115


Pull Request Theming Responsive

Responsive Theming Integration - Pull Request
HTML templates & CSS have been reworked for make the app as most responsive as possible

Pull Request Accepted


[SR-5744] Refactoring action to convert if-let to guard-let and vice versa

Implement action to convert from:
func foo(idxOpt: Int?) {
  if let idx = idxOpt {
    print(idx)
  }
}

to
func foo(idxOpt: Int?) {
  guard let idx = idxOpt else {
    return
  }
  print(idx)
}

and vice-versa
Resolves new feature request SR-5744.
Refactoring action to convert if-let to guard-let and vice versa
Feedback is very much appreciated!

@swift-ci test

You can't invoke CI yourself, you need commit access for it.

cc @akyrtzi

@swift-ci please smoke test

@swift-ci please stress test

Also I fixed similar issues at this PR: Refactoring action to convert to computed property.

All tests passed. Congratulations for your first Swift contribution!🚢


Prefer Shelley CLI commands over Byron ones where they clash

We have done a fair bit of shuffling of CLI commands over time, and have
kept the old commands for backwards compatibility.
There was a name clash over the "genesis" top level command: between the
Shelley command and the backwards compat Byron command.
Reorder the command lists so we prefer the new Shelley commands, and
generally the new ones over the old ones.

bors merge

bors merge


opml import should check for duplicates

I just switched to newsblur from feedly.
Some time back I had signed up for newblur and imported my then feed list.
I just re-imported the current list into newblur (feedly.com is operational again, I was able to export as OPML)
But now the original feeds have been duplicated.
So perhaps check if the feed already exists when doing an OPML import.

It does this, but if you move folders then it duplicates into the new folder. The Organizer (Manager > Organizer) should help you make quick work of the dupes, but I'd be interested to see a screenshot of the feed list to see exactly how it duped (sub folders can be tricky sometimes).

They were all at the same level, but I just checked the opml file and realised the feed URLs are actually different.
E.g.
<outline htmlUrl="http://ewn.co.za" text="Eyewitness News | Latest News" title="Eyewitness News | Latest News" type="rss" version="RSS" xmlUrl="http://ewn.co.za/RSS%20Feeds/Latest%20News" />
<outline htmlUrl="http://ewn.co.za" text="Eyewitness News | Latest News" title="Eyewitness News | Latest News" type="rss" version="RSS" xmlUrl="http://ewn.co.za/en/RSS%20Feeds/Latest%20News.aspx" />


Hopper Causing Crash Upon Hopping to Mobile World

The Mobile UI Beta worlds are a possible hop point. As of today's update, if it hits one of these worlds, it forces a soft or hard crash of Runelite. Means that there is a small chance that, with each random hop, that the client will crash. These are worlds 585-589.

Will replicate and try to fix asap

Repro:
From login screen, click "Random Hop" button until it lands on one of the worlds. Issue should immediately happen.
Sub: P2P
PVP: Never
High Risk: Never
Skill Total: Sometimes
Target World: Never
Seed: none
Region: All
World Type: Normal
Instance 1: Hit 587. Crash did not occur.
Instance 2: Hit 586. Crash did not occur.
Instance 3: Hit 587. Crash did not occur.
Something to note, those servers are back online, so that is likely where the difference is now. It'd probably be best to remove the mobile beta worlds from the "Normal" world set.

PR in plugin hub should fix this
https://github.com/runelite/plugin-hub/pull/5006

Fix should be merged in. Re-open issue if it didn't actually fix please.


File upload

Screenshot
Drag and drop file upload

Select file - file upload

Other links
GOV.UK elements: http://govuk-elements.herokuapp.com/form-elements/#form-file-upload

New screenshots of the employment intermediaries service provided by Steven Proctor

Large file upload with drag and drop and progress bar

This pattern allows users to upload large files to HMRC and understand its status, before during and after transfer.
Live service: This is an invite only service with a prearranged agreement between HMRC for users to send files, so cannot be accessed for general use.
Prototype: https://sdes-ux.herokuapp.com/stable/dashboard/upload
Username: sdes-ux
Password: sdes-ux
N.B. To use the upload functionality and recreate different scenarios and their outputs, some dummy files have been created for use with the prototype.
Dummy files:
https://drive.google.com/drive/folders/1TTj8FTIEKrhiVwiun9YJO3CRQIjPfDIg?usp=sharing
Name of file: 10gb_804586706943_DWPUC_851.txt
Desired output: Error, file too large
Name of file: cancel_IMAGE20150904001001.txt
Desired output: File cancelled (click cancel whilst it’s uploading to trigger this)
Name of file: ConnErr_SHIP0904ARPA14594402.txt
Desired output: Error, file failed to upload (click retry to try and upload again)
Name of file: valid_P6770_03_001_001_2015_TXT.txt
Desired output: File uploads successfully
Describe when to use this pattern/component
Is it a pattern or component?
Pattern as it uses a combination of different components
What need does it help you meet?
Allows users to securely send large files to the intended recipient with a record of what happened.
When is it appropriate to use?
When there is a need to send documents to a user where alternatives such as email are not appropriate
Not tested with users who upload lots (e.g. 20+ files daily) of small files

How it works
Full description
This upload pattern has been designed to handle the secure transfer of large files from third parties and other government departments to HMRC. It is different to File Upload As A Service (FUUAS) as there are few restrictions on the type and size of files for intended transfer.
Users can send individual files up to the size of 10GB and any format, excluding executable files (.exe). The pattern allows users to select either individual or multiple files at a time via the main CTA or drag and drop. Once the user has selected the files they wish to upload, there is the opportunity for them to remove (if any have been selected in error) or add new files. Basic checks to ensure selected files are not over 10GB individually or .exe format are done in the backend first so that we can provide appropriate erroring. This allows users to correct any issues with file size and also to mitigate files sent in error.
Errors have been dealt with in a unique way and require further testing from an accessibility and usability perspective within Private Beta. Users must fix the issue before they can proceed to upload by removing the file selected with the issue. This allows users to record the file with the issue in case they need to investigate further.
The error box at the top of the screen allows users to remove all files with problems, however this may cause usability issues for users with screen readers as they are unable to link to the individual files. They can then continue to upload, which will then launch the uploading functionality.
Uploads in progress is a new component which uses a progress bar in addition to a percentage indicator with the opportunity to cancel any in flight uploads. If users send files that are larger than average, we found that it was important to give the user more visual feedback for the stats of that upload. A similar erroring pattern is used for files with connection errors as previously described. If any errors occur, the user is still able to proceed with the successful files.
Coded examples
David Birchall can provide<EMAIL_ADDRESS>Why it works
This pattern works because it is a single page application that gives dynamic inline error messaging when something goes wrong, giving user feedback as to the progress of the upload and individual file control at all stages of the upload process. User research has found that users find this pattern easy to follow with minimal errors encountered.

Research on this pattern
SDES has just moved into Private Beta from January 29th 2018. Further research is required to understand how users deal with the transfer of large files (2GB and upwards)
All Alpha research can be found here: https://confluence.tools.tax.service.gov.uk/display/SDES/Alpha+Research
Feature specific research summary:
Real time feedback such as error messages and status (failed, cancelled, complete) -
Dynamic components - The upload journey uses a single page which uses JS to dynamically change components based on the scenario. This tested very well with users and they found the additional info, inline errors and individual control very intuitive. Further testing is required for large batches of files uploaded at once.
User control before and during upload - This tested well in alpha, although users  didn’t have actual reasons to cancel and retry as they were using dummy files with the prototype. More extensive contextual research is required in Private Beta.
Multi file uploads - Most of our users selected single files to upload. Multi file uploads were useful for those uploading on behalf of their organisation, however within that group only those with a higher technical proficiency used the drag and drop functionality. This is why the design reflects drag and drop as a secondary action.
10GB per individual files - this needs to be extensively tested via contextual enquiry within Private beta. The prototype and the machines we tested on were super efficient and potentially don’t give an accurate reflection of the time it actually takes to upload files. Best practice stipulates around 1GB per file for efficient browser uploading.

Published in the GOV.UK Design System.

The GOV.UK Design System is a file upload component for a single file. The examples on the page include drag and drop methods for single and multiple files. We should delete our issue and contribute to the Design System.

Contributions moved to File upload on the GOV.UK issues backlog


Add support for PROGRAMFILES installations

Hello! Love this script. This didn't work when running with an enterprise-installed slack client (because slack was installed into Program Files).
There's probably a more elegant way to handle this logic, but this is what I was able to get working.
Thanks again! I know this is a bit of a corner-case

Thanks, looks good and will test it on a windows machine once I'm home. I wonder how commonly this occurs but I imagine it to be a fairly common use-case imo. :)


Create AdminServlet, AdminServletTests, and Add /admin to XML

Looks good to me, I'll defer to Bailey for final review & approval.


EasyCla bot status is not updated correctly when user add comments with valid GitHub id while first commit done with invalid id

Setup :

Add non existing email address under the system .getconfig file
Provide admin access at GitHub repo to test user say : thakurveerendras1
Get “Personal access tokens” for test user "Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information."
Git Clone repository on local machine

Setup on PCC :

Add EasyCLA group
Configure GitHub EasyCLA App
CLA enforced GitHub repo

Steps :

Make changes on local repository say update README.md
Git Push changes on branch

a.      git checkout -b <branchName>
b.	git add .
c.	git status
d.	git commit -m “commit text”
e.	git push origin <branchName>
i.	add test user name : thakurveerendras1
ii.	add token key : ghp_jzCsHsxvxxxxxxxxxxxx
f.	Copy pull request url from cmd : https://github.com/VeerNoGithubIDOrgTest/repo02/pull/new/testbranch5

Past PR url on browser & create pull request
Update the email address which associated GitHub user (thakurveerendras1) under the system .getconfig file
Repeat above steps 1 to 3

Actual results : comment is updated correctly & added on previous missing IDs section

This issue is now resolved as part of this release: https://github.com/communitybridge/easycla/releases/tag/v2.0.109. Closing this issue.


az aks remove-connector not working correctly

Installed the connector for both Windows and Linux.  Had issues running a workload via the virtual kubelet so decided to remove the connector.  Running az aks remove-connector only removes the Linux connector and leaves the Windows one in place.   I used helm list and saw that the deployment still listed so I used helm delete virtual-kubelet- windows-eastus2 --purge  to remove the connector.  It appears that worked.  I am not sure if any other cleanup needs to occur.

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

ID: acfb234b-c0db-3e6a-7938-cab614d530c0
Version Independent ID: 2adff671-6ccb-d84a-f689-8b0d72b1577c
Content: Run Virtual Kubelet in an Azure Kubernetes Service (AKS) cluster
Content Source: articles/aks/virtual-kubelet.md
Service: container-service
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

Thanks for the feedback! We are currently investigating and will update you shortly.

@mphacker did you try specifying the name of the Windows Connector in the delete command? I am assuming it was a different name than the Linux connector.
Also, did you get any specific errors?

@mphacker any update on this?

Yes.  Sorry for the delay.  I did try it again by passing in the  os-type parameter and it did uninstall the windows connector.   I am not sure why that same command failed to work previously.
I would recommend updating the documentation at https://docs.microsoft.com/en-us/azure/aks/virtual-kubelet to show using the os-type parameter in the Remove Virtual Kubelet section.   The documentation walks through creating the connectors for both Linux and Windows but only shows uninstalling the Linux connector.
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Micah<EMAIL_ADDRESS>Sent: Monday, August 27, 2018 11:43:59 AM
To: MicrosoftDocs/azure-docs
Cc: Mike Hacker; Mention
Subject: Re: [MicrosoftDocs/azure-docs] az aks remove-connector not working correctly (#13936)
@mphackerhttps://github.com/mphacker any update on this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/13936#issuecomment-416270595, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQFd_XhsGnbNG5d_UpRwrnLMf4wokGxyks5uVBO_gaJpZM4WLXKy.

@mphacker thanks for the update! Glad to hear it worked :)
I will assign to the content author to review and see if we can enhance the document.

@mphacker The install command shows --os-type Both for the install command, but I'll add a note on removal.
Essentially the Linux connector is removed first, then Windows. When the issue was first encountered in removing the Windows connector and the command subsequently re-ran, it fails as is looking for the Linux connector, which has already been removed. The command should likely fail gracefully and skip the Linux component, and instead try to remove the Windows connector. Worth filling an issue on the Azure CLI behavior on this - https://github.com/Azure/azure-cli/issues
#in-progress


win-acme issues certs with the old root cert and not with the new root cert

Before you post
Make sure to search through the issue list to check if others have reported the same bug already. If you find an existing issue, make your voice heard there. Your case may provide valueable extra clues towards a solution and will increase its priority.
Describe the bug
The tool issues certs using the old root and the old root expires next month and therefore we should be issuing using the new root. For more information:
https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
To Reproduce

Renew cert as normal

Platform:

OS: Server 2019 Essentials
Version: v<IP_ADDRESS>9 x64 pluggable

Yeah it doesn't really it will just be the way windows favours the old R3 vs the new one: https://community.letsencrypt.org/t/potential-problem-with-r3-intermediates-on-windows-servers/157164/16


Fix broken spec in domain/finders/content_spec.rb

This spec previously hardcoded August 2022 as the date to test. However, the recalculate_aggregations! helper method only refreshes the last year worth of monthly aggregations, meaning that this spec broke in August 2023.
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

Just realised there's a typo in the commit description, should say "this spec broke in September 2023" 😅
Oh well


AWS SDK for DynamoDB should be a provided dependency?

Hey there,
Just wondering if we should make the SDK for DynamoDB a provided dependency. I find myself doing the following in projects:
libraryDependencies ++= {
  Seq(
    "com.gu"                  %% "scanamo"                    % "0.9.5" exclude("com.amazonaws", "aws-java-sdk-dynamodb"),
    "com.amazonaws"            % "aws-java-sdk"               % "1.11.158"
  )
}

The reason for doing this is usually to include other AWS libraries or for the purposes of tracking metrics on the DynamoDB client which requires other components of the SDK
AwsSdkMetrics.enableDefaultMetrics
AwsSdkMetrics.setCredentialProvider(DefaultAWSCredentialsProviderChain.getInstance)
AwsSdkMetrics.setMetricNameSpace(settings.accountsTableName.getOrElse("my-app-name"))

Wondering if you had any thoughts :-)

Not sure. Your use case seems very reasonable, but I'm slightly loathe to make the default use case any harder than necessary.

Yeah that seems reasonable, don’t want to degrade the out of box experience.


Rename sbt/setup-sbt or sbt/setup-sbt-runner

Problem
See https://github.com/sbt/setup-sbt/issues/2
Apparently sbt/setup-sbt causes a permission issue on non-sbt repo:

sbt/setup-sbt@v1 is not allowed to be used in pjfanning/micrometer-pekko. Actions in this workflow must be: within a repository owned by pjfanning, created by GitHub, or verified in the GitHub Marketplace.

Solution
I've now copied the action to sbt/setup-sbt-runner. This is registered to the Marketplace - https://github.com/marketplace/actions/setup-sbt-runner
/cc @pjfanning

I believe that the marketplace/actions/... url doesn't matter for the action usage because in the workflow it is referenced using full repository name (with the owner prefix). Please, see my commen in https://github.com/sbt/setup-sbt-runner/issues/2

Closing this for now.


dynamic sampling for elb logs, run on a ticker

Add in dynamic sampling based on backend_status_code and elb_status_code
run every 5 minutes instead of waiting 5 minutes between runs for more consistent behavior

Mostly looks good, I have a couple of code nitpicks (variables in Go are meant to be styled as camelCase, never snake_case) and deps need to be updated, I will close and carry in another PR!


Allow untrusted_app find app_override_serivce

Allow untrusted app to find app_override service for hotfix or workaround some 3rd party apps problem in our platform.
Tracked-On: OAM-124215

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

SUCCESS: Android CI has completed Engineering Build for this issue.Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started MERGE Build for this pr ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has completed MERGE Build for this pr, build is SUCCESS. Please check the linked Tracked-On issue/Android CI Web  for more details. For Binaries: /cactus-absp-or-local/celadon_umr0_master-merge/272


Mock config in tests

Mocking out the config so that we don't need to have config dependencies outside of the code directory.

@dfjxs I can't set you as a reviewer for this yet, but I invited you to the project so that I can add you.  In the meantime, do you want to take a quick look at this?

Thanks!


Pagination definition

From the discussion in this pull request: https://github.com/googleapis/api-linter/pull/496
[AIP-158] Change the definition of Pagination Method
Before ...
isPaginatedRequestMessage: request name matches with "^(List|Search)[A-Za-z0-9]*Request$" or request has page_size / page_token field.
isPaginatedResponseMessage: response name matches with "^(List|Search)[A-Za-z0-9]*Response$" or response has next_page_token field.
This CL ...
isPaginatedRequestMessage: request has page_size field.
isPaginatedResponseMessage: response has next_page_token field.
[AIP-132] Add rules

List RRCs request should have page_size field
List RRCs response should have next_page_token field

Let's leave this in AIP-158.


[DROOLS-1058] osgi: upgrade jaxb bunles from 2.2.10 to 2.2.11

@mariofusco could you please quickly check this?

jenkins retest this

@mariofusco could you please take a look?

+1


SNOW-654839: Additional regression test for save_as_table

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes SNOW-654839

Fill out the following pre-review checklist:

[x] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.
Attempting to save a new dataframe created out of a
SELECT * result failed in 0.8.0 but was fixed by
SNOW-619431 inadvertently.
This change adds an additional test covering a scenario
where a bulk insert is made from data collected through
a SELECT * query (no columns specified).
This is a test-only change. It makes no changes to
any library or API files.
Testing notes:

Ran all of the test suites via pytest
Newly added unit test passes on main
Verified manually that the unit test also:

Passes on tag 0.7.0
Fails  on tag 0.8.0
Passes on tag 0.9.0

Signature of failure on tag 0.8.0 matches the reported issue in SNOW-654839:
FAILED tests/integ/scala/test_dataframe_suite.py::test_write_from_collected_dataframe - TypeError: argument of type 'NoneType' is not iterable

Hi @sfc-gh-yixie, could you please help review this test-only addition?


"editor.wordBasedSuggestions": false but still getting word based suggestions in mark down

VSCode Version: code-alpha
OS Version: Linux

Steps to Reproduce:

set "editor.wordBasedSuggestions": false
open a markdown file
request code complete

Observe: the list contains word based suggestions:

Good catch. That's for sure for those that come from workers...

fixed with https://github.com/Microsoft/vscode/commit/0ac95a8f1d3b831349018669bdd7bc31fa3efe37

From the milestone and the tag of the commit, I have the impression this should be fixed in 1.2.1?
Asking because it still reproduces...

Assigning back to @jrieken to respond to comments.

@jods4 A little detail would be helpful

@jrieken
I open a folder containing .md files (through command line code .).
I have a .vscode\settings.json containing
// Place your settings in this file to overwrite default and user settings.
{
    "editor.wordBasedSuggestions": false
}

When I open intellisense all words suggestions appear.

That will be fixed with the June release as we have moved out markdown into an extension


Can packit Centos 9 Streams repositories

When trying to run packit for Centos 9 Streams cloud-init got following error:
2021-03-22 11:49:18.734 utils.py          ERROR  Dist-git URL git@gitlab.com:redhat/centos-stream/rpms/cloud-init.git not recognized, we expected centos.org or fedoraproject.org
Used command is (run in checkouted git@gitlab.com:redhat/centos-stream/rpms/cloud-init.git directory)
packit init --upstream-url git://git.launchpad.net/cloud-init --upstream-ref 47f4229ebcef9f83df8b549bb869a2dbf6dff17c --dist-git-path /tmp/cloud-init --dist-git-branch c9s

oh, so this for init, not propose-downstream

another feedback is that we should properly document where the source-git repo is being created - Mirek said it's confusing the command is still trying to do changes in $PWD with the command above


Add messageId to JSQMessage

Hello,
I have now encountered many situations in my code where it would be practical to assign a unique message id to each JSQMessage. The way I am working around this at the moment is using the date as unique identifier for the message but I would prefer to have a messageId property.
Thanks!

import UIKit
import JSQMessagesViewController
class Message : JSQMessage
{
var recipientId: String!
public init(senderId: String!, recipientId: String!,displayName: String!, text: String!)
{
    self.recipientId = recipientId;
    super.init(senderId,displayName,text); // 1.  Error shows here
}

public required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

}
This is my code...
I tried to subclass JSQMessage but when I call super.init() from my custom class it is saying "Argument labels '(_:, _:, _:)' do not match any available overloads". Can you tell me what am I doing wrong here.


Lots of Ionicons not loaded in V4

[x] 4.x
Current behavior:
Lots of Ionicons are not loading. arrow-up, log-out, people, alarm, paper-plane...
Expected behavior:
Well... Icons should load :)
Steps to reproduce:
1/ Create a new blank project ionic start myApp tabs --type=angular
2/ Add to home <ion-icon name="arrow-up"></ion-icon> and <ion-icon name="settings"></ion-icon>
3/ Witness the desperately empty place of arrow-up icon. Try not to cry. Cry a lot.
Other information:
Was working perfectly with Ionic 3. Doesn't change anything to npm install --save ionicons.
Ionic info:
Ionic:

   ionic (Ionic CLI)             : 4.10.1 (C:\Users\me\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.0.0
   @angular-devkit/build-angular : 0.11.4
   @angular-devkit/schematics    : 7.2.3
   @angular/cli                  : 7.2.3
   @ionic/angular-toolkit        : 1.2.2

Cordova:

   cordova (Cordova CLI) : not installed
   Cordova Platforms     : none
   Cordova Plugins       : no whitelisted plugins (1 plugins total)

System:

   NodeJS : v8.11.3 (C:\Program Files\nodejs\node.exe)
   npm    : 5.6.0
   OS     : Windows 7

Hi,
Try emptying the browser cache.
See
https://github.com/ionic-team/ionic/issues/17019#issuecomment-452828443

Actually I had to delete my www folder as well, thanks for the link !


Cache zip file to allow for offline execution...

When running pkl-gen-go, I shouldn't need to be online or have a stable internet connection.
In my .pkl file, I have:
import<EMAIL_ADDRESS>
Which downloads https://github.com/apple/pkl-go/releases/download/pkl.golang<EMAIL_ADDRESS>every time.  Can this file be cached since I'm using a stable tagged version of pkl?
panic: –– Pkl Error ––
Exception when making request `GET https://github.com/apple/pkl-go/releases/download/pkl.golang<EMAIL_ADDRESS>Operation timed out

goroutine 1 [running]:
main.init.1()
    /Users/seanc/go/pkg/mod/github.com/apple/pkl-go@v0.6.0/cmd/pkl-gen-go/pkl-gen-go.go:245 +0x62c

It's a bug if it isn't cached. Are you seeing this in CI? In some sort of build system that attempts to make things hermetic? Pkl's default cache is ~/.pkl/cache, but you can set it explicitly with --cache-dir. I just tried it and failed to reproduce.

I looked for that type of option to start, and noticed that in WithDefaultCacheDir, there isn't a way to override its behavior:
// WithDefaultCacheDir sets the cache directory to Pkl's default location.
// It panics if the home directory cannot be determined.
var WithDefaultCacheDir = func(opts *EvaluatorOptions) {
  dirname, err := os.UserHomeDir()
  if err != nil {
    panic(err)
  }
  opts.CacheDir = path.Join(dirname, ".pkl/cache")
}

$ pkl-gen-go --help | grep -i cache
$ pkl-gen-go --version
0.6.0

I didn't see a way where these flags were being magically plumbed through to the CacheDir evaluator setting in pkl-gen-go, either.  Does this flag only exist internally w/in Apple and not in the OSS version of pkl-gen-go?
As a plz user, this would be a pretty amazing quality of life improvement because os.UserHomeDir changes every time a rule is updated to keep builds hermetic, just like bazel.  I've unblocked myself with the following workaround, but it's pretty unsavory:
cmd = "env HOME=$(echo $HOME | perl -p -e 's#plz-out(.*)#plz-out/.pkl-gen-go/v0.6.0#') pkl-gen-go ..."

If a --cache-dir flag existed, this would be preferred.

Closed by #59


[feat/fix]: Update Astro and fix styling bugs

Description of the change

Update Astro and fix styling bugs.

Closes #220.

Screenshots

Checklist
I agree to the following :-

[x] Added description of the change
[x] I've read the contributing guidelines
[x] Search previous suggestions before making a new PR, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes (optional): We should check all the pages and ensure everything is fine before merging.

No idea why Vercel isn't loading Tailwind CSS. You can use Gitpod and it should look fine.