plot updates, vignette & bug fixes, etc.

Changes in this PR include the following updates:

fancy_cnlohbar - updated colours (to match gambl palette for CN states), optional parameter to include CN state = 2, adding a second y-axis to annotate the number of nucleotides affected by each CN state. Both y-axis are now in log10 (since CN = 2 is now included). nNucleotides in each CN state are now plotted as geom_points over the corresponding CN count bar.

fancy_sv_chrdistplot - Now uses the newly added palette for DEL and INS.

fancy_snv_ chrdistplot - Name and description of this plot have now been adjusted for SNVs (previously stated SNPs).

fancy_svbar - Now uses the newly added palette for DEL and INS.

fancy_vplot - Now uses the newly added palette for DEL and INS.

fancy_ideogram - Added in this PR. Colours have also been updated to match the defined palette for CN states. Previously, the plot annotated CN states up to 10+, but since the defined colour palette only goes up to CN state = 6, thus all CN states => 6 are annotated the same.

New palette added to get_gambl_colours, all_colours[["indels"]] = c("DEL" = "#53B1FC", "INS" = "#FC9C6D").

Updating get_codin_ssm to have these_samples_metadata parameter

Fixing bug in get_ssm_bt_region (caused an error in ashm_rainbow_plot in the vignette). Were Streamlined = TRUE was wrongly embedded inside the function, causing the function to always return only two columns. This was removed, streamlined and basic_columns were also set to FALSE by default.

lollipopPlot example in the vignette was updated to use get_coding_ssm (instead of get_ssm_by_gene), now works the intended way again.

Regenerated package documentation.

A lot of changes related to removing trailing white space in all scripts (no new code in portal.R, preprocessing_io.R and web.R).

Outstanding things that will be addressed in my next PR are examples in the vignette that are relying on the database for reading data. Examples of newly incorporated plotting functions will also be added.
Pull Request Checklists
Important: When opening a pull request, keep only the applicable checklist and delete all other sections.
Checklist for all PRs
Required

[ ] I tested the new code for my use case (please provide a reproducible example of how you tested the new functionality)

[x] I ensured all dplyr functions that commonly conflict with other packages are fully qualified.

This can be checked and addressed by running check_functions.pl and responding to the prompts. Test your code after you do this.

[x] I generated the documentation and checked for errors relating to the new function (e.g. devtools::document()) and added NAMESPACE and all other modified files in the root directory and under man.

Optional but preferred with PRs

[x] I updated and/or successfully knitted a vignette that relies on the modified code (which ones?)

Checklist for New Functions
Required

[x] I documented my function using ROxygen style.)

[x] All parameters for the function are described in the documentation and the function has a decriptive title.

Example:
#' Use GISTIC2.0 scores output to reproduce maftools::chromoplot with more flexibility
#'
#' @param scores output file scores.gistic from the run of GISTIC2.0
#' @param genes_to_label optional. Provide a data frame of genes to label (if mutated). The first 3 columns must contain chromosome, start, and end coordinates. Another required column must contain gene names and be named `gene`. (truncated for example)
#' @param cutoff optional. Used to determine which regions to color as aberrant. Must be float in the range [0-1]. (truncated for example)

[ ] My function uses a library that isn't already a dependency of GAMBLR and I made the package aware of this dependency using the function documentation import statment.

Example:
#' @return nothing
#' @export
#' @import tidyverse ggrepel

Checklist for changes to existing code

[x] I added/removed arguments to a function and updated documentation for all changed/new arguments

[ ] I tested the new code for compatability with existing functionality in the Master branch (please provide a reprex of how you tested the original functionality)

In this commit the following updates have been made:

Removed LOH from ideogram (replaced with CN0 and CN1)
New ideogram plotting function for visualizing multisample CN segments. This function is based and expanded on the previous ideogram function. The function currently accepts 2, 3 or 4 samples.
New examples were added to the vignette to showcase the latest additions in terms of plotting functions within GAMBL
Examples in the vignette that are using database data have been updated to read from flat files instead.
Examples in the vignette that calls no longer available functions have been removed or replaced.

Changes in this commit include fixes to issues/suggestions raised in the recent PR review.

Use global colours - The following plotting function have been updated to read palette from get_gambl_colours(): fancy_sv_chrdistplot, fancy_sv_bar, fancy_vplot, fancy_ideogram, fancy_multisamp_ideogram.

Renaming of variable returned after calling get_sample_cn_segments in fancy_cnbar (not a maf returned)

New parameter was added to fancy_cnbar, allowing the user to specify the cut-off value for maximum CN states to be retrieved.

CN0 is now retained in fancy_cnbar.

Chromosome tables for both ideograms are updated, now using GAMBLR::chromosome_arms_grch37 to retrieve this information.

fancy_ideogram now stores the plot inside a variable (p) allowing the user to combine multiple plots when arranging a multiplot figure.

fancy_ideogram is now also using the newly added helper function (subset_cnstates).

Above mentioned helper function is also simplified to a unified call.

Overwriting line (all_meta) to database.R has been removed.

Package documentation has been regenerated to reflect added/updated parameters.


Instantiating supabase from unpkg stopped working

Bug report
Instantiating supabase from unpkg stopped working.
Describe the bug
Below results in Cannot read 'createClient' of undefined. It used to work.
<script src="https://unpkg.com/@supabase/supabase-js"></script>
<script>
    const supabaseUrl = 'my supabase url'
    const supabaseAnonKey = 'my anon key'
    var supabase = supabase.createClient(supabaseUrl, supabaseAnonKey)
</script>

Expected behavior
It is expected that the above code or a similar construct will work. Maybe the API changed?

Hi @richcorbs. this is a duplicate of https://github.com/supabase/supabase-js/issues/113#issuecomment-758777176. Tracking it in that issue

Hi @richcorbs. this is a duplicate of https://github.com/supabase/supabase-js/issues/113#issuecomment-758777176. Tracking it in that issue


On OS X after upgrading to v3 the Apple logo is gone

I may be missing something but I just upgraded and now the Apple logo no longer shows. This is the config file https://github.com/REBELinBLUE/dotfiles/blob/master/files/config/neofetch/config which I haven't changed
Here is the log https://gist.github.com/c14d19ce38c463387419af46673feeb8
I can't see anything in the release log about the logo so I am assuming this was not intentional?

Never mind, I reset my config file and it has fixed it


Use GitHub actions to build documentation

Add a new Github action where the documentation is built within and the artifacts are uploaded to be reused by ReadTheDocs (powered by rtds-action) to decrease the build time in ReadTheDocs. Therefore, we can extend the examples further without having to worry too much about the time and memory constraints of ReadTheDocs (see https://github.com/FZJ-INM1-BDA/siibra-python/issues/267).

Codecov Report

Merging #467 (40528b1) into main (5a0e6b3) will increase coverage by 0.64%.
Report is 121 commits behind head on main.
The diff coverage is 27.67%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main     #467      +/-   ##
==========================================
+ Coverage   36.81%   37.46%   +0.64%
==========================================
  Files          61       61
  Lines        5421     5602     +181
==========================================
+ Hits         1996     2099     +103
- Misses       3425     3503      +78

Files Changed
Coverage Δ

siibra/configuration/configuration.py
42.35% <ø> (ø)

siibra/configuration/factory.py
22.22% <0.00%> (+0.24%)
:arrow_up:

siibra/core/atlas.py
85.71% <ø> (+1.23%)
:arrow_up:

...a/features/connectivity/functional_connectivity.py
55.55% <0.00%> (ø)

siibra/livequeries/ebrains.py
25.35% <0.00%> (+0.35%)
:arrow_up:

siibra/locations/boundingbox.py
19.88% <ø> (ø)

siibra/volumes/neuroglancer.py
21.42% <0.00%> (ø)

siibra/volumes/volume.py
50.29% <0.00%> (ø)

siibra/features/tabular/cortical_profile.py
26.43% <3.70%> (-4.23%)
:arrow_down:

...a/features/tabular/receptor_density_fingerprint.py
26.19% <4.54%> (-2.02%)
:arrow_down:

... and 25 more

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Description field should support markdown link pattern

Currently <a> tag in description works but markdown link pattern [LinkName](linkUrl) is not working.

In fact, the markdown syntax detection and rendering has been implemented at classes view by YUIDoc itself, this bug seems to be reproduced at modules view that is created by us, now I introduced this feature at modules view via 00faf69. Let me know if this feature still not yet got correctly in your builds. Thank you!!!
/cc @nantas


items stuck between adding/removing cause scroll flicker

I am back trying to use version 1.1.7 on a list of same-size elements. This is something I've done a few months back, but the change was never integrated into the code base, so I am updating it to get it merged. Now, however, when using the vs-repeat directive alone, if I scroll down a slight bit, it seems like the scroll can stop at awkward positions, causing the min-height of vs-repeat-before-content to flicker between two values, and it seems like either the first and last element to be added/removed continuously.
I've tried vs-excess to no success. Latch helps, but it defeats the purpose. Is there something I'm missing?
*Again, I had this working a couple months back with the exact same list.

Providing the calculated height to the vs-repeat directive solved the issue.

For me it was due to the ng-repeat items being an anchor tag.  Changing it to div made it work.  I changed it back to anchor, removed href and added display: block !important inline styling just to see if it would suddenly work again but it went back to scroll spazz mode. 🤷


shapenet-r2n2.zip doesn't exist in the GDrive

shapenet-r2n2.zip doesn't exist in the GDrive? Can you share it again?

I find it using the url in the ../misc/gdrive-download.sh

Hello, I recently read this paper, download the data set encountered some problems, please ask you have this paper data set?

@njnj0314 The link has no problem.


Submission checker: YokogawaWT310E is not supported

As part of supporting the Qualcomm audit, I've re-run all benchmarks with a new Yokogawa WT310E power meter. (For the submission, we had a WT333E on loan, while waiting for the WT310E to arrive.)
Unfortunately, the submission checker complains about YokogawaWT310E not being supported:

[strattja@ax530b-03-giga ~]$ python3.8 \
> $(ck locate env --tags=mlperf,inference,r1.0)/inference/tools/submission/submission-checker.py \
> --more-power-check --submitter Qualcomm --version v1.0 --input /tmp/inference_results_v1.0
...
INFO    Sucessfully loaded MLPerf log from closed/Qualcomm/results/r282_z93_q5-qaic-v1.3.14-aic100/resnet50/offline/accuracy/mlperf_log_detail.txt.
INFO    Detected power logs for closed/Qualcomm/results/r282_z93_q5-qaic-v1.3.14-aic100/resnet50/offline
INFO    Sucessfully loaded MLPerf log from closed/Qualcomm/results/r282_z93_q5-qaic-v1.3.14-aic100/resnet50/offline/performance/run_1/mlperf_log_detail.txt.
INFO    Sucessfully loaded MLPerf log from closed/Qualcomm/results/r282_z93_q5-qaic-v1.3.14-aic100/resnet50/offline/performance/run_1/mlperf_log_detail.txt.
INFO    Sucessfully loaded MLPerf log from closed/Qualcomm/results/r282_z93_q5-qaic-v1.3.14-aic100/resnet50/offline/performance/run_1/mlperf_log_detail.txt.
[x] Check client sources checksum

[x] Check server sources checksum

[ ] Check PTD commands and replies

        Power meter 'YokogawaWT310E' is not supportable. Only YokogawaWT210, YokogawaWT500, YokogawaWT500_multichannel, YokogawaWT310, YokogawaWT330E, YokogawaWT330_multichannel are supported.

[x] Check UUID

[x] Check session name

[x] Check time difference

[x] Check client server messages

[x] Check results checksum

[x] Check errors and warnings from PTD logs

[x] Check PTD configuration

[x] Check debug is disabled on server-side

ERROR: Not all checks passed

ERROR   Power WG check.py did not pass for: closed/Qualcomm/results/r282_z93_q5-qaic-v1.3.14-aic100/resnet50/offline/performance
ERROR   closed/Qualcomm/results/r282_z93_q5-qaic-v1.3.14-aic100/resnet50/offline/performance/run_1 has issues

Surely, it's just a matter of adding the string to some predefined list.

For all our intents and purposes, the WT310E should be the same as the WT310. PTDaemon, however, does not recognize it:

$ /ptd-linux-x86 -h
...
for AC power measurements:
  0. *Dummy (testing only)             8. Yokogawa WT210
 14. Instek GPM-8212                  16. ZES LMG450:1-Channel
 17. ZES LMG450:4-Channel             18. ZES LMG500:1-Channel
 19. ZES LMG500:4-Channel             22. ZES LMG95
 23. Voltech PM1000+                  25. Infratek 107A-1
 28. Xitron 280X:1-Channel            31. Chroma 66202
 33. Hioki 3334                       35. Yokogawa WT500:1-Channel
 36. Yokogawa WT500:MULTIPHASE        37. ZES LMG450:3-Phase
 38. ZES LMG500:3-Phase               41. N4L PPA15X0:1-Channel
 44. N4L PPA55X0:1-Channel            47. Yokogawa WT1800:1-Channel
 48. Yokogawa WT500:MULTICHANNEL      49. Yokogawa WT310
 50. N4L PPA5X0:1-Channel             51. Chroma 66203 66204:1ch
 52. Yokogawa WT330:1-Channel         53. Yokogawa WT330:3-Phase
 56. Tektronix PA1000                 57. Hioki PW3335
 58. Hioki PW3336:1-Channel           59. Hioki PW3336:2-Channel
 60. Hioki PW3337:1-Channel           61. Hioki PW3337:3-Channel
 62. Hioki PW3337:3-Phase             65. Chroma 66205
 66. Yokogawa WT5000:1-Channel        67. Yokogawa WT5000:3-Phase
 68. ZES LMG610                       69. ZES LMG641:1-Channel
 70. ZES LMG671:1-Channel             75. Instek GPM-8310
 76. Instek GPM-8213                  77. Yokogawa WT330:MULTICHANNEL

I think we can simply invert the dictionary and add Yokogawa310E there as follows:

SUPPORTED_MODEL = {
    "YokogawaWT210" : 8,
    "YokogawaWT500" : 35,
    "YokogawaWT500_multichannel" : 48,
    "YokogawaWT310" : 49,
    "YokogawaWT310E" : 49,
    "YokogawaWT330E" : 52,
    "YokogawaWT330_multichannel" : 77,
}

and then update the rest of the script accordingly, using the keys instead of the values, and vice-versa.

@psyhtest   -  We had added a limited set of meters that we want to ensure are validated prior submission, so if we want to add Yokogawa310E , we can move forward as you have proposed.  Have you validated that the meter outputs look reasonably as expected as 310 from your prior data collection during v1.0 submission ?

@s-idgunji So far, I have only validated the Datacenter submission.

From the v1.0 submission with the WT333E:

resnet50/offline<PHONE_NUMBER>00 with power_metric = 561.943939
resnet50/server 78501.900000 with power_metric = 533.812000
ssd-resnet34/offline 1777.910000 with power_metric = 598.093263
ssd-resnet34/server 1557.430000 with power_metric = 547.826500

From a recent rerun with the WT310E:

resnet50/offline<PHONE_NUMBER>00 with power_metric = 566.887367
resnet50/server 78501.900000 with power_metric = 536.106667
ssd-resnet34/offline 1773.960000 with power_metric = 603.937761
ssd-resnet34/server 1557.430000 with power_metric = 554.615000

The performance results are very close, but the power results are 3-7 W higher with the WT310E. I can attribute this a new ST4000NM002A HDD added to the system. It's idle average power is 5.4 W.


Can't open Settings window of MicaForEveryone

[ ] This is not about other apps being displayed weird or etc.
[ ] This is not about rendering issues that caused by a bug in the Windows.
[ ] I've read FAQ.
[ ] I've checked other issues and this is not a duplicate.
Describe the bug
I can't open settings window of micaforeveryone
even though micaforeveryone is working
To Reproduce
Steps to reproduce the behavior:

Go to the right of 'windows toolbar'
Right-Click on 'mica for everyone' icon
Click to 'Settings'
See error (see screenshot)

Expected behavior
Appearing the Settings window of MicaForEveryone
Screenshots

Windows Version
Windnows 11 build 22621.2428
Additional context

Can you translate the error message for me?

Can you translate the error message for me?

Sure
title: UI exception occurred
the first line of the content: Specified module not found

The only cause I could think of is your Windows install acting up, since the function that was failing is a mere call to a Windows native API.


Account cleanup

To clean up the user account for the site:

Mark account inactive that has not logged in after 3 month.
Delete accounts that has not logged in and have no submissions.

Should we move this to the otf issue repo @frjo?

Both commands are in place but only the inactivate one is running for now.


Issue using S3 Upload with Apollo & Graphql

Hi,
Im using the s3 direct upload option.
<vue-dropzone
    id="profile_image_dropzone"
    ref="myDropzone"
    :awss3="awss3"
    :options="dropzoneOptions"
  />

In my data I have:
 data: function() {
    return {
      awss3: {
        signingURL: f => {
          this.getSigningUrl(f);
        },
     }
}

And the method:
methods: {
    async getSigningUrl(f) {
      const response = await this.$apollo.mutate({
        mutation: createProfileImage,
        variables: {
          studentId: this.$route.params.id,
          fileName: f.name,
          fileType: f.type,
        },
      });
      const graphqlErrors = response.data.createProfileImage.errors;
      if (graphqlErrors) {
        console.log("errors happend")
      } else {
        return response.data.createProfileImage;
      }
    },

When the upload is initiated the getSigningUrl is executed, however because of async / await then the result is not returned as needed. How do I fix this?

You probably need to call the getSigningUrl when the component is mounted rather or a computed property rather than as a function


webgpu headers need to be updated to include WGPURenderPassAttachment.depthSlice

See https://github.com/gfx-rs/wgpu/issues/4764
and the PR here
Missing this field in the webgpu.h headers is causing device errors when running the emscripten build on web.

As a temporary workaround, you can do:
            WGPURenderPassColorAttachment colorAttachmentDesc = {};
#ifdef __EMSCRIPTEN__
            colorAttachmentDesc.depthSlice = WGPU_DEPTH_SLICE_UNDEFINED;
#endif

Since the API is always changing, each branch of this distribution repo contains precise git tag files telling which version of Dawn/wgpu-native/emscripten it was built for. The webgpu.h files that are shipped in this repo are never used when building with emscripten, so the problem you report has to be accounted for in the codebase that uses WebGPU rather than in this repo.
That being said, I noted this difference as well and the dev version of the guide takes care of this ;)


Link in Physics Ragdoll workflow leads to non-existing page

Describe the issue
The Ragdoll Authoring Improvements Workflow Tests section has a hyper link (Creating and Simulating a PhysX Ragdoll) that leads to non-existing page.
Please note that this issue should be consider as a Major.
Impacted page(s)
Physics Ragdoll workflow
Expected experience
All links in the Physics Ragdoll workflow should lead to a proper documentation page.

Tagging @FuzzyCarterAWS

Issue verified as fixed. The Physics Ragdoll workflow page contains five working links that leads to proper documentation.


Fix handling KazooState.SUSPENDED in SetPartitioner

We must do a repartition at every connection state change because all watchers are lost when connection gets SUSPENDED state.
I've also added state_change_event attribute to be able to respond more quickly to partitioner state changes.

Looks good, any chance of a test?

Yes, I'm on it.

@bbangert, I've added the tests. Please look on it. One build has failed, but it seems that it's due to a some temporary problem on a build server.

I kicked travis, tests now pass. Looks like code coverage went up a little as well.

Only one question/comment/nit.
Whats up with all the self.__ usage in tests; haven't seen that used much (especially in tests where its not that much of a concern to really hide members/functions...)?

When I write some class I always make all members private until it become needed by derived classes or class users for the following reasons:

When I expose some API that may be used by someone else I take a burden of supporting this API. So I believe that it's better to expose any member only if it may be needed by derived classes or class users.
If I want to refactor some code, I always feel free to modify any self.__* members without searching for their usage in other modules because __ guarantees that this member is used only in this class.
A can name my methods using short names like __wait() and __finish() without any chance to accidentally override other member in one of base classes. For example there is a chance that in the future KazooTestCase will get a wait() or _wait() method which will wait until the connection will be established. By naming my method as __wait() I protect myself from possible colliding of two methods with totally different meaning.

But of course it's not principal - it's just my coding style and if you wish I'll replace all my self.__member with self._member.

Is there anything I should do to make the PR be merged?

Nope, looks good to me.


Run tests on GitHub CI

Run the tests on GitHub actions.
I figured we can run these side-by-side with Travis before for a bit and then turn off the Travis ones if we want in the future.

This has the advantage that we can run tests on CI in private repos.


Kellnr's docker image doubled in size in last release

I've upgraded kellnr from 5.2.0 to 5.2.1 and I sadly noticed, that the size of docker image was doubled.
$ docker images | grep kellnr
ghcr.io/kellnr/kellnr                        5.2.1                       38aacc10a1c7   3 days ago       2.03GB
ghcr.io/kellnr/kellnr                        5.2.0                       069d62c02192   2 weeks ago      1.01GB

I think this was caused by #255. Is there any possibility to trim down some of those newly added dependencies?

https://github.com/kellnr/kellnr/pull/255#issuecomment-2031142471

I understand that the doc build is executed inside the kellnr docker container, so these dependencies are only needed to build docs hosted on kellnr?
This will only become more and more.
docs.rs and crater are using our own crates-build-env container, see also https://docs.rs/about/builds, and the list of installed packages is long.

Thanks for reporting. I see a general conflict of interest in what Kellnr wants to achieve.

It should be very easy to setup and use. Just one docker run -> That speaks for a build-in doc.rs build
It should be small enough to run on low-end hardware -> This speaks for a separat builder

The only option which would solve both is to split Kellnr into three images.

The full image with a build in doc.rs builder (what we have now)
A minimal Kellnr image without the doc.rs build
A builder container which can be used as a sidecar for the 2. to build if needed

With this option, a user can decide if he needs the docs.rs build and if he wants one large image or two smaller one. Unfortunately that is a lot of work to implement.

another factor I can imagine:
if kellnr is used more as a private registry, it's totally fine to just extend the main kellnr docker container with the system dependencies your packages need.
If you use kellnr more as a mirror of crates.io, you'll need the full image over time.

two other things to add because I just had to look it up for another question:

we also have a linux-micro container which just includes build-essential packages: https://github.com/rust-lang/crates-build-env/blob/master/linux-micro/packages.txt
rustwide (the library that docs.rs & crater use to run the builds) has an example how a containerized doc-build could work: https://github.com/rust-lang/rustwide/blob/master/examples/docs-builder.rs


Add an unsigned version on the release page of github

( ie : volkovlabs-env-datasource-3.1.0.unsigned.zip )

@mikhail-vl something like this will help a lot, because the plugin can't be installed automatically otherwise

@darkxeno We will add it in the upcoming release.


Bottom Navigation always using BottomNavBgMode.BLACK_WHITE_AUTO

[ X ] I have verified there are no duplicate active or recent bugs, questions, or requests
[ X ] I have verified that I am using the latest version of Aesthetic (see the README)
[ X ] I have given my issue a description and title
[ X ] I have read over the documentation (before asking questions on how to do something).

Include the following:

Aesthetic version: 0.7.0
Device OS version: 8.1
Device Manufacturer: Motorola
Device Name: Moto G5 Plus

Bottom navigation always using BottomNavBgMode.BLACK_WHITE_AUTO
And sometimes Text using primary text instead of accent
Aesthetic.config {
                    activityTheme(R.style.Theme_AppCompat_NoActionBar)
                    isDark(true)
                    colorPrimary(primaryColor(context))
                    colorStatusBarAuto()
                    colorNavigationBarAuto()
                    colorAccentRes(accentColor(context))
                    navigationViewMode(NavigationViewMode.SELECTED_ACCENT)
                    bottomNavigationBackgroundMode(BottomNavBgMode.PRIMARY)
                    bottomNavigationIconTextMode(BottomNavIconTextMode.SELECTED_ACCENT)
                }

Reproduction Steps
Use bottomNavigationBackgroundMode(BottomNavBgMode.PRIMARY)
Expected Result
Bottom navigation use primary color
Actual Result
Bottom navigation use black/white

Hmmm, I'm not able to reproduce this.

I found a clue, i was using this in my bottom nav
app:background="?colorPrimary"
app:itemBackground="?colorPrimary"
app:itemIconTint="@drawable/bottom_state"
app:itemTextColor="@drawable/bottom_state"

bottom_state.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="?colorAccent" android:state_checked="true"/>
    <item android:color="@android:color/white"/>
</selector>

After removing it, the bottom nav is now using correct background

I found some more errors
-Bottom nav not changing when colorAccent changes
-Radio buttons from List preference not theming

That'd belong in a separate issue


TYPOGRAPHY - Line height and content width

TODO

[ ] Adjust the line height for body copy to 165% to match the Canada.ca design
[ ] Limit content width to 65 characters

Outcomes

Typography more consistent with Canada.ca

Deliverables
Estimated Effort

[ ] XS: 1 to 2 hours
[ ] S: half a day
[ ] M: 1-2 day
[ ] L: 1 week
[ ] XL: Move to an epic

Out of scope

Changes are in the dto-archive branch
https://github.com/cds-snc/gcds-docs/blob/dto-archive/src/styles/style.css


Deployment fails on Openshift

Hi, I'm trying to deploy cachet using the DeploymentConfig provided
But I'm facing an issue, the deployment fails each time with the following error message :

Error creating: pods "cachet-1-" is forbidden: unable to validate against any security context constraint: [securityContext.runAsUser: Invalid value: 0: UID on container cachet does not match required range. Found 0, required min:<PHONE_NUMBER> max:<PHONE_NUMBER>]

So the pod can't be created...
I tried with both OpenShift 3.3 & 3.4
Hope you will can help me
Regards,
Cyril D.

cc: @andelhie who contributed the OpenShift configurations.

cc: @gamkiller77

You have to have a SCC setup for less restrictive for this to work. It beat to aka Openshift support for those doc.
Also way is to run it priv but that is not recommended.

I am on a production platform which prevents containers running as root, for security reasons.
Is there any way to have dockerized cachet running as non root ?

So this less restrictive lets a pod start as root then switch so in production it ok.  We do this at my company as most containers out in the wild do have root setup.
On the other hand @djdefi you guys should look at removing the need to run the container as root.

Ok guys,
I made it work using source to image with official cachet (and some dirty manipulations)

@cyril-dussert yah we do not use S2I where I work.  I still think @djdefi that container needs to not run in root.  This is going to be a bigger problem as more people use Kubernetes.

How @cyril-dussert ?

It is pretty easy, but not usable for production deployment, if you wantto share a full template of cachet fully automated, you will have to automate these steps :

First, fork the CachetHQ repository : https://github.com/CachetHQ/Cachet

Then, add to the bootstrap/autoload.php file the following line :
ini_set('xdebug.max_nesting_level', 300);
Just before : define('LARAVEL_START', microtime(true));

This will increase perfs of original RedHat's php image

Deploy a PostgreSQL (ephemeral or persistent) inside your openShift project

Then : oc new-app php~http://your-forked-repo.com

oc rsh to your deployed cachet pod

And copy .env.example to a .env, with database credentials, your app url and so on...
And enjoy then ;)
It is not really comfortable but it works..

I shipped #178 which should run everything as a non-root user. I don't have an environment to reproduce your issue in, so let me know if there is anything else we can do here.

Thanks @djdefi Rayn i will test this out later this week and remove the less restrictive from my DC config.

Please open an new issue if you are still having trouble with the latest v2.3.11 release.


@CombatEnd not fired sometimes and combat memories not deleted from players when npcs dies

Tested with last version and clean script pack
[events e_player_generic_event]
//Generic event to all players
ON=@CombatStart
say combat start
ON=@CombatEnd
say combat end
ON=@CombatAdd
say combat add <src.name>
ON=@CombatDelete
say combat delete <src.name>
.add c_zombie and start the fight
If you kill the zombie with a melee weapon, like i_dagger, @combatEnd doesn't fire.
Also if you check the player memories the zombie fight memory is still there (unnamed) linked to a uid that doesn't exists anymore.
If you kill the zombie with magic, like harm, @combatEnd works but there still the memory problem.
Tested with GM account and player account.

there was another issue that may be related. I dont find it. But npcs were staying in warmode undef cos combat never ends.
I remember I spent a lot of time trying to understand all. I never found the reason.

This one?https://github.com/Sphereserver/Source-X/issues/517

i don't know if is related, in this case the problem is on players and is not about statf_war.
When the last attacker is deleted from the list, because is killed by melee weapons, @combatEnd doesn't fire.
In the meantime i solved it by script, like this:
ON=@CombatDelete
if (<memoryfind.>) //To remove fight memory linked to the dead npc. Maybe i can check if the attacker is not a player.
memoryfind..remove
endif
if ( == 1) //To fire @combatEnd if it's the last attacker
fulltrigger @CombatEnd
endif

Same problem between players, @combatEnd doesn't fire with melee weapons, works is the player is killed by harm spell. The fight memory remains, but i think is ok in this case, because the uid exists.
Betweens npcs (2 zombies) @combatEnd seems to be called two times, and the fight memory is removed

Possible Fix sent.

It seems to work, thank you
@CombatEnd doesn't fire when a player with attacker > 0 dies, i don't know if it can be related or if it's the desired behavior

for me the memory is still there as "unnamed" even tho NPC dies.

Chec the color flag in the memory, what they are?

It seems to work, thank you
@CombatEnd doesn't fire when a player with attacker > 0 dies, i don't know if it can be related or if it's the desired behavior

Yes it's supposed to be fired when the  whole attacker list is going to be cleared

Chec the color flag in the memory, what they are?

one of three monsters memory was deleted, the rest is unnamed.
One color flag is 020, second one 0b1.

Closing as apparently completed and abandoned discussion


Fixed Empty Output Issue and Run without installing

So, I have been facing an issue where the generator does not generate anything. It even creates the generated directory but there is no file.
So, I have tested some solutions and found out that, it requires you to have prisma-kysely installed globally, with npm install -g prisma-kysely as it executes the command prisma-kysely. So, if you do not have it installed globally this does nothing.
But this can be easily solvable by using npx as npx helps to run the prisma-kysely script without having installed it globally.
And this also minimizes the need of installing the script altogether.

Hmm, this is an interesting issue. Thank you for reporting it. I haven't heard of anyone else having this problem, so I'm hesitant about recommending npx as the preferred way of using the library for this reason alone. I'd instead like to figure out the root problem. Can you share your setup? Are you running prisma-kysely in a single project or a monorepo, and what package manager are you using? Does the tool produce any errors?

Closed in favor of fixing issue #69 properly


what to put in the release instead of test device id?

**Admobadapter version :1.4.6
*Android compileSdkVersion:28
I have successfully implemented the wrapper in my code, and it is properly showing test ads with my device id. Now I want to make a release, but I am not sure what to put in the string array testdevice ids, and how to put it in.
Can anyone please write an example with a demo app id? will putting my app id or native ad unit id directly in the place of the string array reference would do? I am precisely talking about below 2 lines:
String[] testDevicesIds = new String[]{"mymobiledeviceidfortestad",AdRequest.DEVICE_ID_EMULATOR};
                       adapterWrapper = new AdmobAdapterWrapper(MainActivity.this,testDevicesIds);

Hey @devasish11 I'd recommend you to use one of that ctors https://github.com/clockbyte/admobadapter/blob/master/admobadapter/src/main/java/com/clockbyte/admobadapter/AdmobAdapterWrapper.java#L203 which have a release ad Id in its args. You can get one in your AdMob console - just register your app there and create any banner there. Then you will be able to get a release Id from it, just copy and paste it to that AdmobAdapterWrapper ctor and you will starting to get your real ads. And fyi it could take some time to get your ad ID activated, as I remember it could take about a few hours from a creation of banner (see https://groups.google.com/forum/#!topic/google-admob-ads-sdk/yCiMLY3eqNE). Otherwise it should show you an appropriate error in your LogCat.

I already have the id from admob for Native advanced type of ads, so I am gonna put it in the AdmobAdapterWrapper replacing the testDevicesIds and see how it goes, thank you for the reply!


Inconsistent Historical Data Request Result

Expected Behavior
Historical data request reflects the date range.
Actual Behavior
For some date ranges, the history request turns out to be empty.
Reproducing the Problem
namespace QuantConnect.Algorithm.CSharp
{
    public class CalibratedResistanceEngine : QCAlgorithm
    {
        public override void Initialize()
        {
            SetStartDate(2019, 2, 18);

            AddEquity("AA", Resolution.Minute);

            var startDate = new DateTime(2016, 10, 1);

            var prices = History(Securities.Keys, startDate, new DateTime(2016, 11, 1), Resolution.Daily);
            Log($"First: {prices.Count()}");

            var pricex = History(Securities.Keys, startDate, new DateTime(2016, 10, 31), Resolution.Daily);
	    Log($"Second: {pricex.Count()}");
        }

        public override void OnData(Slice data) => Quit();
    }
}

Prints out:
2019-02-18 00:00:00 First: 7
2019-02-18 00:00:00 Second: 0

where it should be
2019-02-18 00:00:00 First: 21
2019-02-18 00:00:00 Second: 20

System Information
QuantConnect cloud. The expected result is found in local backtest mode in a linux virtual machine.
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues
[x] I have provided detailed steps to reproduce the issue

Alcoa split into two companies in November 2016.
The original Alcoa Inc (AA) became Arconic Inc. (ARNC) and then Arconic Inc. (ARNC) spun off the new Alcoa Corporation (AA). So the first date for AA is 2016-11-1.
Why are we getting 7 data points for the first history request? We are not checking the data against the map file first date, that allows these data points to pass through, this seems like the issue here.


Add Russian translation

[ ] I have read freeCodeCamp's contribution guidelines.
[ ] My pull request has a descriptive title (not a vague title like Update index.md)
[ ] My pull request targets the master branch of freeCodeCamp.
[ ] None of my changes are plagiarized from another source without proper attribution.
[ ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@Aiganymus everything LGTM! Thank you for helping us improve this section. Looking forward to your next contribution!


DRAFT: Improve searchability of contributor drop down (admin site)

Overview
In the admin site, there are several pages that have a contributor drop down field (e.g. Source page). When the items in the dropdown are viewed, there seems to be no order to how the items are displayed. This creates issues in using the tool given the growing number of contributors.
Proposal: update the display of the items in the dropdown to be either alphabetical or chronological, based on their associated number that identifies the sequence in which they were added to the OAR.
If it is straightforward, it would be ideal that the dropdown be searchable with partial-matches enabled.

I estimated this as a :one: since the Django admin provides a method for sorting the options list
https://docs.djangoproject.com/en/2.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formfield_for_foreignkey


xarray minimum versions policy is more aggressive than NEP-29

What is your issue?
In #4179 / #4907, the xarray policy around minimum supported version of dependencies was changed, with the reasoning that the previous policy (based on NEP-29) was too aggressive.
Ironically, this caused xarray to drop Python 3.8 on Jan 26th (#7461), 3 months before what NEP-29 recommends (Apr 14th).
This is hard to defend - and in fact it sparked discontent (see late comments in #7461).
Regardless of what policy xarray decides to use internally, it should never be more aggressive than NEP-29.
The xarray documentation is also incorrect, as it states "Python: 24 months (NEP-29)" which is not, in fact, in NEP-29.

see also #7765, where there is a bit more information and discussion about this. In short, the policy did work like NEP-29 before, but stopped doing so with python 3.8 because python switched from a irregular ~18 month release cycle to a regular 12 month cycle. We can adjust our policy by extending these 24 months to 30 months, which makes us align with NEP-29's 42 months window.


Unable to subscribe to more than 21 orderbooks

Hi,
I'm currently trying out the latest websockets implementation, it seems that no matter how slowly I try to subscribe to the level2 orderbook streams I always get an exception thrown saying the connection has been closed when trying to subscribe to more than 21 orderbooks.  Has anyone else been able to successfully subscribe to all orderbooks on the exchange using this wrapper?
I get the following:
websockets.exceptions.ConnectionClosed: WebSocket connection is closed: code = 1000 (OK), no reason

To clarify, I actually get no exception initially (data just stops coming in after subscribing to the 22nd orderbook).  Only when attempting to subscribe to the 23rd orderbook is that exception above thrown.

Problem solved, there was an unhandled error in my handle event function that wasn't being shown in the callstack.   One of the topic subscriptions was invalid, if an error is returned the 'topic' and 'subject' fields don't exist in the message and it looks like as follows instead:
{'code': 404, 'data': 'topic /market/level2:BSV-BTC is not found', 'id': '1551623050668', 'type': 'error'}
That said, it appears that the max number of subscriptions is 100 anyway so that's something to bear in mind (might need multiple sockets or something?).


Handle block comment start/end tokens in strings and single-line comments

SANY correctly parses this, but the grammar does not:
---- MODULE Test ----
op == "(*"
====

Both SANY and the grammar fail on these cases:
---- MODULE Test ----
(*op == "*)"*)
=====================

---- MODULE Test ----
(*
\* *)
*)
=====================

Ref https://github.com/tlaplus/tlaplus/issues/812

Another one, this time with a single-line comment inside strings:
---- MODULE Test ----
op == "\*"
=====================

SANY handles this but this grammar does not; perhaps prior example with single-line comment starting inside string should be parsed as a single-line comment.
---- MODULE Test ----
op == "\\*"
=====================

@susliko would you be able to handle this one if you have time? I'm not entirely sure how all the comment precedence stuff interacts with everything else.

@ahelwer Sorry it took a long time to respond! Here's my PR for this issue https://github.com/tlaplus-community/tree-sitter-tlaplus/pull/89


2.2.5 breaks ember-flatpickr

I have not dug into the cause yet, but it seems the timestamp has changed in the output. The selected date appears correct, but the time is wrong.
Please see the PR here with the issue:
https://github.com/shipshapecode/ember-flatpickr/pull/85
This is the failure output on Travis:
not ok 9 Chrome 55.0 - Integration | Component | ember flatpickr: onChange action fired
    ---
        actual: >
            2080-12-06T12:00:00.000Z
        expected: >
            2080-12-06T16:16:00.000Z
        stack: >
                at Object.<anonymous> (http://localhost:7357/assets/tests.js:530:14)
                at Object.context.send (http://localhost:7357/assets/test-support.js:7588:12)
                at Class.triggerAction (http://localhost:7357/assets/vendor.js:47129:29)
                at Class.sendAction (http://localhost:7357/assets/vendor.js:52511:14)
                at Class._onChange (http://localhost:7357/assets/vendor.js:72545:97)
                at triggerEvent (http://localhost:7357/assets/vendor.js:68590:13)
        message: >
            onChange action was executed
        Log: |
    ...

Fixed with 2.2.7, thanks!


[Zuul] Increase the resources for OCP4.12 jobs

Depends-On: https://softwarefactory-project.io/r/c/config/+/31596
Depends-On: https://github.com/infrawatch/sg-core/pull/135
Depends-On: https://github.com/infrawatch/prometheus-webhook-snmp/pull/22

recheck

recheck

checking if job would be running on different cloud provider.

Suggest to squash commits and add into the commit message: Depends-On: https://github.com/infrawatch/sg-core/pull/135. Would be easier later to read git log

recheck

recheck

It seems that the CRC image rebuild solved our problems and more resources are not required after all. Can we just abandon this change?

It seems that the CRC image rebuild solved our problems and more resources are not required after all. Can we just abandon this change?

That makes sense. I'm mildly concerned about the "larger" jobs failing, but we're dropping OCP4.12 support once 4.16 is available, so it is not worth looking into.


if modules not extends  parent module  can't update version

parent  pom.xml
<parent>
    <groupId>com.huinong.truffle</groupId>
    <artifactId>hn-framework-parent</artifactId>
    <version>2.3.1-SNAPSHOT</version>
    <relativePath>../hn-framework-parent</relativePath>
  </parent>
  <artifactId>hn-framework-starters</artifactId>

  <name>hn-framework-starters</name>
  <description>hn-framework-starters</description>
  <packaging>pom</packaging>

  <properties>
    <main.basedir>${basedir}/..</main.basedir>
  </properties>

<modelVersion>4.0.0</modelVersion>
  <groupId>com.huinong.truffle</groupId>
  <artifactId>hn-framework-build</artifactId>
  <packaging>pom</packaging>
  <version>2.3.1-SNAPSHOT</version>
  <name>hn-framework-build</name>
  <description>hn-framework-build</description>
  <url>http://maven.apache.org</url>

  <properties>
    <main.basedir>${basedir}</main.basedir>
    <nexus.url>http://<IP_ADDRESS>:8081</nexus.url>
  </properties>
  <profiles>
    <profile>
      <id>default</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <modules>
        <module>hn-framework-autoconfigure</module>
        <module>hn-framework-dependencies</module>
        <module>hn-framework-starters</module>
        <module>hn-framework-parent</module>
      </modules>
    </profile>

hn-framework-dependencies pom.xml
 <modelVersion>4.0.0</modelVersion>
  <artifactId>hn-framework-dependencies</artifactId>
  <groupId>com.huinong.truffle</groupId>
  <packaging>pom</packaging>
  <version>2.3.1-SNAPSHOT</version>
  <name>hn-framework-dependencies</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <spring.boot.version>1.5.6.RELEASE</spring.boot.version>
    <spring.cloud.version>Dalston.SR2</spring.cloud.version>
  </properties>

I have this problem too.
This happens update parent maven task fails on dev builds of projects that rely on parent when new parameter is introduced to parent which is used in the dependant projects …
Because maven tries to resolve all params from current version of parent (prior of actually updating it), but current version doesn't have new param and build fails.

i wrote custom little script to update parent in python.
This works fine. The code could be simpler if using python lxml library but i don't control the env where the script runs, so built-in functions it is:
import os

new_version = os.environ['new-parent-ver']  # look up new-parent-ver env var that is set for the build
lines = open('pom.xml').readlines()
enum_lines = enumerate(lines)
for i, l in enum_lines:
    if 'parent' in l:
        i, l = next(enum_lines)
        while 'version' not in l:
            i, l = next(enum_lines)
        print("Updating parent version from {0} to {1}".format(l.split('>')[1].split('<')[0], new_version))
        lines[i] = '\t\t<version>'+new_version+'</version>\n'
        break
open('pom.xml', 'w').writelines(lines)

Could be related to https://github.com/mojohaus/versions-maven-plugin/issues/201 ?

First never use a profile to add/remove modules....apart from that do you have this project somewhere online (github?) or can you make a full working example of that?

@dmitrytokarev can you try current 2.5-SNAPSHOT?

@khmarbaise why not using profiles to add/remove modules? a lot of projects use that :-)  or you mean having as default activated?

@olamy seems that version is not available for automatic download from central

Hi,
it's now available from here: https://oss.sonatype.org/content/repositories/snapshots/org/codehaus/mojo/versions-maven-plugin/
BTW: Central will only have releases no SNAPSHOT's.
Kind regards
Karl Heinz Marbaise


error make

i follow this step,
./autogen.sh
./configure
make
sudo make install
sudo ldconfig
but when i run make, i got error, then i run autoreconf -i after ./autogen.sh , but i got same result

what's wrong with this step ?

Sounds the same as #41

That error means that you are not linking against wrong version of leptonica  library (<1.71). You need to fix your leptonica instalation

thnks tfmorris and zdenop for the reply, it's very helpful


Alternative names for certain kwargs?

The Catlayst/SI extension (https://github.com/SciML/Catalyst.jl/pull/709) should be merged soon (just waiting for an issue that popped up in Symbolcis that causes Catlayst tests to fail generally).
One thing that came up there was if there could be better names for some kwargs. E.g. the p kwarg for guaranteed minimum probability of correctness. Throughout SciML, p generally means parameters. In the end, we decided to use prob_threshold in the extension (which is then passed as p to SI.jl internally). Changing it in SI might be something to consider?
Another one that came up was whether quantities_to_identify or quants_to_ident, or maybe  quants_to_check would be better than funcs_to_check. This one, however, is kept as funcs_to_check in Catalyst for now.

I completely agree about p, the letter is very overloaded. Also, this parameter is not normally changed by a user. I will rename it next week.
For funcs_to_check, the change would be more noticeable (this keyword is often used) while the advantages of quants_to_check (which I do not deny! ) over the current name do not seem to be significant for such a change. Maybe this would wait for a larger interface revision.


Update visual-csharp-code-snippets.md

Added space in snippet svm -> staticvoid -> static void

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@kempb Closing this PR but you might consider making the right fix.

Done. I made this fix and a few others in my branch. Thank you @JanRajnoha for your contribution.


Update release version to <IP_ADDRESS>

Summary

How to test

Checklist

[ ] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

Codecov Report

:exclamation: No coverage uploaded for pull request base (releases/v0.4.0-geti1.1.0@9d10bc7). Click here to learn what that means.
 Consider uploading reports for the commit 1761353 to get more accurate results

Additional details and impacted files
@@                     Coverage Diff                      @@
##             releases/v0.4.0-geti1.1.0     #778   +/-   ##
============================================================
  Coverage                             ?   83.21%
============================================================
  Files                                ?      166
  Lines                                ?    22421
  Branches                             ?     4697
============================================================
  Hits                                 ?    18658
  Misses                               ?     2654
  Partials                             ?     1109

Flag
Coverage Δ

ubuntu-20.04_Python-3.7
82.91% <0.00%> (?)

ubuntu-20.04_Python-3.8
83.17% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Automated cherry pick of #4749: Updated styles and table rows

Cherry pick of #4749 on release-v3.19.
#4749: Updated styles and table rows

@bmckercher123 can you verify the change on the preview: https://app.netlify.com/sites/calico/deploys/60f1b4fca63f910007186534. I'll merge once you give the PR your 👍

Approved

/merge-when-ready delete-branch

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and delete the branch after I've merged it.

I'm sorry but I failed delete the branch after merging the pull request.


Fix isServiceFactory deprecation with Ember 1.13

Since Ember 1.13, Ember expects that services either extend
Ember.Service, or they must set isServiceFactory to true at the
class level. Since the Cart service already extends ArrayProxy, this
commit reopens the Cart service class to set isServiceFactory to
true.
See https://github.com/emberjs/ember.js/pull/11261

Whoops - sorry for the duplicate! Closing.


Retry Logic for caches

We use aws redis for caching , Due to some reasons the connection for redis is getting lost and immediately trickster gets down  ,it would be  great if there is an option like no of retries it can try before an exception is thrown
Exception Thrown

goroutine 11 [running]:
main.(*RedisCache).ReapOnce(0xc000113340)
/go/src/github.com/Comcast/trickster/redis.go:84 +0x6e7
main.(*RedisCache).Reap(0xc000113340)
/go/src/github.com/Comcast/trickster/redis.go:61 +0x2b
created by main.(*RedisCache).Connect
/go/src/github.com/Comcast/trickster/redis.go:42 +0x241

@dheerajkulakarni Thanks for the report. In PR #220, we have exposed all go-redis options to the Trickster configuration, which gives you 12 new knobs for tuning the redis client - including command retries.  When this PR is merged and we cut a new 1.0 beta release, you'll be able to test out the features. I see from your log output that you are using 0.1.x and we will not be adding these new tuning features into that codebase.

@jranson  hey thank you so much , it would be so helpful for us .


pot stop prints "pfctl: /dev/pf: No such file or directory"

I get:

pfctl: /dev/pf: No such file or directory

as an output of pot stop mypot.
I didn't configure anything in particular, just pot init and pot create.
Also, the pf kernel module is not loaded (which is most likely the reason for this warning to be printed).

Thanks for reporting. It's kind of a false positive message, but pfctl should be invoked only if pf is up and running.
This patch should solve it:
diff --git a/share/pot/stop.sh b/share/pot/stop.sh
index 19c3aab..210967c 100644
--- a/share/pot/stop.sh
+++ b/share/pot/stop.sh
@@ -51,7 +51,9 @@ _js_stop()
                        fi
                fi
        fi
-       pfctl -a "pot-rdr/$_pname" -F nat -q
+       if [ -c "/dev/pf" ]; then
+               pfctl -a "pot-rdr/$_pname" -F nat -q
+       fi

        if [ -r "$_jdir/ncat.pid" ]; then
                pkill -F "$_jdir/ncat.pid" "ncat-$_pname"

can you please try the patch?

Patch works. Thanks!


Public can't view subfolder it should be able to

In a private window I can't open: https://dev.revolutionarygamesstudio.com/files/Public/Release Candidates/0.5.2
even though the 0.5.2 folder and all parents have public read on them.

I think I found the same / similar issue with the new version. Basically trying to go to the Public sub folders causes an error.

Can now confirm that that link works in a private window, so I think this is fixed already.


New package: MyCloudGame.AirGame version 1.6.9-x64

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.6 schema?

Microsoft Reviewers: Open in CodeFlow

This package installed normally and appears to have launched normally on a Windows 10 VM. But during validation, this message popped up more than a dozen times, suggesting that Microsoft.VCRedist.2015+.x64 or similar should be a dependency:

Also the game clients opened for validation scanning had errors. But after closing all of these, and reopening the client, it seems to operate normally:


Directive issue on static deployment with SPA mode and zeit.co/now

Hello,
I am facing following issue after build and upload the static assets of the dist directory with zeit.co/now service:
On page reload all pages are simply not available, because they are called like:

domain.com => not found
domain.com/some-folder => not found

I need to explicit set

domain.com/
domain.com/some-folder/
To make the pages load correctly.

Is there some option missing in the Nuxt config to make this work? I now changed back to npm mode of the deployment to make it work again but curious why this issue occurs.

You may have a look at https://github.com/nuxt/nuxt.js/issues/721 and https://github.com/nuxt/nuxt.js/pull/2032 firstly 😃

Looks like the PR would solve it. Thanks @clarkdo I overlooked that in my search


Has the groups search an scope related with the token used?

I've used a python script to get some metrics about the OpenStack communities, but the results that I'm getting are limited to my local communities, so I'm wondering this is a consequence that my account was created or used from Mexico or it's that I'm missing something
import json
import urllib2

from prettytable import PrettyTable

key = ''
country = 'US'
url = 'https://api.meetup.com/find/groups?key=%s&country=%s&text=Openstack'

req = urllib2.Request(url % (key, country) )
req.add_header('Accept', 'application/json')
res = urllib2.urlopen(req)
body = res.read()
results = json.loads(body)
table = PrettyTable(['Name', 'Country', 'Members'])
table.align["Name"] = "l"
for community in results:
    table.add_row([community['name'], community['country'], community['members']])

print(table)

I'm getting the following results:
+--------------------+---------+---------+
| Name               | Country | Members |
+--------------------+---------+---------+
| OpenStack GDL      |    MX   |   277   |
| Docker Guadalajara |    MX   |    56   |
+--------------------+---------+---------+

Even more, is there a way to get global results without having to specify the country as part of the search?  And also, why is docker community listed in those results?

We currently only support geosearches based on a point of origin and a radius. You are seeing the fallback of the location associated with the authentication  credentials.
You can provide the point of origin as lat/lon, county/city/state or zip. You can then test with varying radius widths.


Test 64 bit Raspberry Pi OS

Hi. Is it possible to change the system to 64bit using rpi-update?

Never tried .. @openoms do you see any problems here?

I know that when I ask:

But why?

The obvious answer will be:

Why not!

But it might really make sense to list actual, real world improvements that this change would bring to RaspiBlitz.

I would like to compare between 2 Pi4 and 4GB if there is a noticeable difference in performance and stability. I just want to convince myself and not listen to the opinion of others ^^

Hi. Is it possible to change the system to 64bit using rpi-update?

Not possible since there is no 64 bit Raspbian AFAIK.
See test results with other linux distros here:  https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md
Currently there is no need to switch away from the most supported Raspbian for the RPi, but alternatives are possible, eg.: https://github.com/rootzoll/raspiblitz/issues/1196
or more here: https://github.com/rootzoll/raspiblitz/tree/master/alternative.platforms

Great, thanks for the detailed info! :)

64bit Raspbian OS is available now as well as an 8 GB version of Raspberry Pi 4 : https://www.raspberrypi.org/blog/8gb-raspberry-pi-4-on-sale-now-at-75/
https://downloads.raspberrypi.org/raspios_arm64/images/
https://twitter.com/bavarianledger/status/12659512738676736
A 64bit Raspbian seems possible now, will start testing so reopening,

64bit Raspbian OS is available now as well as an 8 GB version of Raspberry Pi 4 : https://www.raspberrypi.org/blog/8gb-raspberry-pi-4-on-sale-now-at-75/
https://downloads.raspberrypi.org/raspios_arm64/images/
https://twitter.com/bavarianledger/status/12659512738676736
A 64bit Raspbian seems possible now, will start testing so reopening,

I have a RPi 4 (2GB RAM) with a Ubuntu server 64bit running 👍

Changing to a 64bit OS base seems inevitable in the future.
Testing the beta image found that the LCD divers are not compatible (neither with the 64 bit Raspberry OS nor the 64 bit Ubuntu) so opened an issue here: https://github.com/goodtft/LCD-show/issues/212

Updates:
Issues with this OS are tracked here: https://github.com/raspberrypi/Raspberry-Pi-OS-64bit/issues (no talk of the GPIO LCD yet)
Had repetaed warning from the LNd devs that a 32 bit system won't work with a LND database >2GB currently. Solutions are database compaction and swtching to etcd, but 64 bit OS would be preferred.
An alternative is the Ubuntu to try building on (the same  displaydriver issue will be present).

+1 for this.
I am running lnd (among many other services) on a ubuntu server 20.04 64-bit image and things are stable for several months now (and feel quite a bit snappier too). Since Canonical officially committed to fully support the Pi4 and likely future models down the road, a move to ubuntu as base OS should be considered.
Optionally, there is a new Pi OS 64bit beta image to be tested too.

@kilrau do you use an LCD display?
Give some support here as there is no progress: https://github.com/goodtft/LCD-show/issues/212
We won't migrate without figuring out the LCD support.

I got one but didn't use it so far. Let me test!

@holgern mentioned  this driver:
https://github.com/tux1c/wavesharelcd-64bit-rpi
looks promising

Good news: the LCD works just fine with the latest Pi OS 64bit :tada:
Display:

Result:

I had to tweak /boot/config.txt slightly to get the display working fully. After this all was good including touch as you can see in the picture above.
Next step: Raspiblitz build based on this Pi OS image? Happy to test!

Next step: Raspiblitz build based on this Pi OS image? Happy to test!

Yes exactly. The steps to test will be to download:
And flash as per:
https://github.com/rootzoll/raspiblitz#build-the-sd-card-image
The build SDcard command will be:
wget https://raw.githubusercontent.com/rootzoll/raspiblitz/v1.6/build_sdcard.sh && sudo bash build_sdcard.sh v1.6
or after the 1.6.1 release:
wget https://raw.githubusercontent.com/rootzoll/raspiblitz/dev/build_sdcard.sh && sudo bash build_sdcard.sh dev.
Will need to catch the logs of the SD card build and test each service. Once stable can make a test image in preparation to v1.7.

Just did that.

Flashed https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-08-24/
sudo apt update && sudo apt upgrade
wget https://raw.githubusercontent.com/rootzoll/raspiblitz/v1.6/build_sdcard.sh && sudo bash build_sdcard.sh v1.6 Here the complete CLI output.
Installed the the lcd drivers:

git clone https://github.com/tux1c/wavesharelcd-64bit-rpi.git
cd wavesharelcd-64bit-rpi
chmod +x install.sh
sudo bash install.sh

Commented out hdmi_force_hotplug=1 in /boot/config.txt + one more restart.
5. Created an image, which you can download here. Please help out with testing!
6. Flashed the image to a different sd card and connected it to a new Pi4 4GB with empty hard drive. So far setup working all fine and bitcoind is syncing. Only thing that is not working: the LCD shows the Raspberry Pi Desktop after boot instead of the Raspiblitz SSH UI. Probably a small thing to change that - any hints appreciated!

Only thing that is not working: the LCD shows the Raspberry Pi Desktop Welcome Screen instead of the Raspiblitz SSH UI. Probably a small thing to change that - any hints appreciated!

Any idea? @openoms @rootzoll

Only thing that is not working: the LCD shows the Raspberry Pi Desktop Welcome Screen instead of the Raspiblitz SSH UI. Probably a small thing to change that - any hints appreciated!

Not sure .. @frennkie do you have an idea how to change this?

Opening the terminal via the screen icon works btw:

not supposed to boot into the Raspberry Desktop GUI at all just open a tty output as the pi user on the LCD.
Will surely be able to sort this out.
It is probably set in the /boot/config.txt or some other place for autostart. Need to look at the differences in those between the 32 and 64 bit setups.

Huh, I figured it out. Had to disable a couple of options in /boot/config.txt just like you suspected. Here the working /boot/config.txt, will update the image at some point:
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Enable DRM VC4 V3D driver on top of the dispmanx display stack
#dtoverlay=vc4-fkms-v3d

# arm64 settings
arm_64bit=1
dtoverlay=waveshare35a:rotate=90

Moved a routing node to the 64bit RaspberryOS https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-08-24/ out of necessity.
With a channel.db > 1GB it kept LND kept crashing.
Looks ok so far, even the status display is up with these drivers: https://github.com/tux1c/wavesharelcd-64bit-rpi
So far discovered some issues to be investigated:

[ ] the touchscreen only shows a black screen with a cursor flashing top left
[ ] lndmanage had some errors during recovery
[ ] Thunderhub had some errors during recovery

Want to share you build_sdcard.sh - happy to run it and help debug

I just used the latest v1.6 branch:
wget https://raw.githubusercontent.com/rootzoll/raspiblitz/v1.6/build_sdcard.sh
sudo bash build_sdcard.sh v1.6

and did not spot any errors in the output, only when installing services during recovery.
These can be debugged on the fly on the functional node, but will put another one together to break, test BTRFS etc.

How about /boot/config.txt settings?

How about /boot/config.txt settings?

My only active settings now (with LCDrotate off lcdrotate=0):
arm_64bit=1
dtoverlay=waveshare35a:rotate=270
hdmi_force_hotplug=1
dtparam=i2c_arm=on
dtparam=spi=on
enable_uart=1

Refactored the build_sdcard.sh in the above PR.
can test with:
# download
wget https://raw.githubusercontent.com/openoms/raspiblitz/64bit-rpi/build_sdcard.sh
# use the scripts from rootzoll's (default) v1.6 branch to keep up-to-date
sudo bash build_sdcard.sh v1.6

I think we are not planning to commit anything more in the v1.6 branch so it can be a good base for a test image.

Just been made aware of the 64bit pure Debian images for the RPi: https://bitcoinhackers.org/web/statuses/105313530789076007
Should have a look to reduce upstream dependencies and trust: https://raspi.debian.net/
The drawback is that it might need an awful lot of packages installed for the display (desktop) to work: https://raspi.debian.net/defaults-and-settings/

Running on a pure debian would make the build script more unsiversal - also for use with debian based VMs, correct?

Should have a look to reduce upstream dependencies and trust: https://raspi.debian.net/

As long as dependencies are part of official debian repos we should be good. Can you see any non official debian repos in the process?

The drawback is that it might need an awful lot of packages installed for the display (desktop) to work: https://raspi.debian.net/defaults-and-settings/

The waiting time should not be then problem - as this is just for building the sd card image. For nomal users downloading the image it would not make a difference.
But am I correct that with running on pure debian we will also loose some typical hacks used on raspberryPi like opening up ssh with a file on boot drive called ssh and having no raspi-config?

Running on a pure Debian would make the build script more universal - also for use with debian based VMs, correct?

yes, instead of removing things we would need to add them which gives better control and convertibility to other platforms. The extra packages are mainly related to the desktop components we are using for the display.
Non-official repos can be added  as needed just as we do it for Tor, but most thing should be available for Debian since the Raspberry OS is also Debian based.
The ssh "hack" is surely not useful for us and not a part of a standard Linux setup. Raspi-config should be ok to be installed since the specific RPi instructions it relies on are included with the proprietary package included in this version of Debian.
The list of added packages to the 64bit Raspberry OS are in this file: https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-08-24/2020-08-20-raspios-buster-arm64.info
The Raspberry OS as well is generated from Debian Buster with this tool: https://github.com/RPi-Distro/pi-gen (which we don't need if the pure Debian works also)
On the 64bit Raspberry OS image I had most things working except the touchscreen so far. It comes to a black screen with the cursor flashing.

Someone pointed out to a fork of the LCD-drivers ... do those help on the 64bit image?
https://github.com/rootzoll/raspiblitz/issues/1436#issuecomment-766440294

Someone pointed out to a fork of the LCD-drivers ... do those help on the 64bit image?
https://github.com/rootzoll/raspiblitz/issues/1436#issuecomment-766440294

Also check problems with IP2Tor subscriptions: https://github.com/rootzoll/raspiblitz/issues/1589#issuecomment-769506806

Also check problems with IP2Tor subscriptions: https://github.com/rootzoll/raspiblitz/issues/1589#issuecomment-769506806

Someone pointed out to a fork of the LCD-drivers ... do those help on the 64bit image?
#1436 (comment)

No, that fork is still for 32bit.

@openoms I edited the build script using the 64-bit os to install the new needed LCD driver.
https://github.com/rootzoll/raspiblitz/blob/a4b70aea11ea28e013198121ac68ede65c579b70/build_sdcard.sh#L1117
When I run install.sh it seems to run after the reboot but I see the following error as kind of last output from the build script going reboot:
cp: cannot stat './99-fbturbo.conf': No such file or directory

Can that be ignored?

cp: cannot stat './99-fbturbo.conf': No such file or directory
Can that be ignored?

@rootzoll I would think so.
sudo find / -name 99-fbturbo.conf
finds no file on my 64bit node with a working LCD.
The line https://github.com/tux1c/wavesharelcd-64bit-rpi/blob/5a206a78c8ce8102154ffeed16dcb9cb585c8821/install.sh#L7 tries to copy that file, but it is not present in that repo.
We dont need need all the line from that https://github.com/tux1c/wavesharelcd-64bit-rpi/blob/master/install.sh either.

OK .. I got the 64-bit os build script running so far in this branch: https://github.com/rootzoll/raspiblitz/tree/btc-and-lnd-update
But yes the touchscreen is not working - black screen from the start of the device .. so something that gets installed during tochscreen activation. @frennkie any idea at what to look at?
And also @openoms what will be our strategy if we dont find a quick fix for this? Deactivate the touchscreen on next release and hope we will find something in the future?

And also @openoms what will be our strategy if we dont find a quick fix for this? Deactivate the touchscreen on next release and hope we will find something in the future?

Hope it is an easy fix, because I love the touchscreen, however my nodes don't work with 32bit and getting more reports from others so moving to 64bit should be priority.

In a worst case the v1.7 will have touchscreen deactivated to be refactored for the v1.8 with focus on "UI & UX"(web browser UI & touchscreen UI).

Got touchscreen working again but still calibration is off --> #2150
Otheriwse so far the 64-bit image looks good and will be further tested in RC2

OK Touchscreen and calibration is now working again. And in general the 64-bit image seems to work fine.
Closing issue for v1.7 release.


Database change: Build Plan API

Is your feature request related to a problem?
Currently, a build plan is set when a task is created. Changing the build plan later is almost impossible, especially if the task has already been published.
Describe the solution you'd like
GitLab CI supports that the build plan is retrieved from an external URL on each trigger (https://docs.gitlab.com/ee/ci/pipelines/settings.html#specify-a-custom-cicd-configuration-file).
Therefore, it is necessary that the Artemis API makes the build plan belonging to the exercise available in the future.
The proposed change is that the build plan and a secret are additionally stored in the database.
Since the build plan will probably be identical in many cases, the build plan will be stored in a separate relation and referenced by the respective task in order to avoid redundant storage.

Describe alternatives you've considered
No response
Additional context
No response

Accepted by @jpbernius via Slack.


Update save_chat.py

Issue that this pull request solves
Closes: #361
Proposed changes
Syntax Error while running
Types of changes
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update (Documentation content changed)
[ ] Other (please describe):

Checklist
Put an x in the boxes that apply

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

Screenshots
Please attach the screenshots of the changes made in case of change in user interface
Other information
Any other information that is important to this pull request

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Clones added
============
- wplay/save_chat.py  3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Clones added
============
- wplay/save_chat.py  3

See the complete overview on Codacy

@soumyashaw Resolve conflicts :)

It was there when the pulled it. I thought it is important for future development. I just ensured it was error free and running

@soumyashaw No need of the commented portion.


Skip notes on us_cia_world_leaders country pages

On an us_cia_world_leaders country page, people names are contained in <p> elements. However, some of these country pages, for example https://www.cia.gov/resources/government/vietnam/, also contain notes in <p> elements. These notes are the first element in the "content" key of "free_form_content", without any preceding headings.
The change simply adds another condition on which to skip the text inside.

Oh very cool, I'd missed that!


auto-init always runs due to unused fields in backend config

Terragrunt: 0.38.4 (using Alicloud OSS remote backend)
Hello,
Thanks for all the great work on Terragrunt!
I've noticed an issue where auto-init always runs even when it shouldn't need to. It seems to be caused by unused fields in my backend config not being present in the backend config block.
My backend config looks like this:
remote_state {
  backend = "oss"
  config = {
    bucket                         = "REDACTED"
    prefix                         = "${local.project_path}/${local.project_environment}"
    key                            = "terraform.tfstate"
    region                         = "eu-west-1"
    tablestore_endpoint            = "https://REDACTED.eu-west-1.ots.aliyuncs.com"
    tablestore_table               = "statelock"
  }
  generate = {
    path      = "backend.tf"
    if_exists = "overwrite"
  }
}

If I run a terragrunt init followed by e.g. a terragrunt plan I can see this logged just before the unneeded auto-init runs:
DEBU[0001] Changed from map[access_key:<nil> acl:<nil> assume_role:[] assume_role_policy:<nil> assume_role_role_arn:<nil> assume_role_session_expiration:<nil> assume_role_session_name:<nil> bucket:REDACTED ecs_role_name:<nil> encrypt:<nil> endpoint:<nil> key:terraform.tfstate prefix:REDACTED profile:<nil> region:eu-west-1 secret_key:<nil> security_token:<nil> shared_credentials_file:<nil> sts_endpoint:<nil> tablestore_endpoint:https://REDACTED.eu-west-1.ots.aliyuncs.com tablestore_table:statelock] to map[bucket:REDACTED key:terraform.tfstate prefix:REDACTED region:eu-west-1 tablestore_endpoint:https://REDACTED.eu-west-1.ots.aliyuncs.com tablestore_table:statelock]

(nb the REDACTED fields are the same in the "from" and "to" sections.)
If I populate all the unused fields in my backend config then the problem temporarily goes away:
remote_state {
  backend = "oss"
  config = {
    bucket                         = "REDACTED"
    prefix                         = "${local.project_path}/${local.project_environment}"
    key                            = "terraform.tfstate"
    region                         = "eu-west-1"
    tablestore_endpoint            = "https://REDACTED.eu-west-1.ots.aliyuncs.com"
    tablestore_table               = "statelock"
    access_key                     = null
    acl                            = null
    assume_role                    = []
    assume_role_policy             = null
    assume_role_role_arn           = null
    assume_role_session_expiration = null
    assume_role_session_name       = null
    ecs_role_name                  = null
    encrypt                        = null
    endpoint                       = null
    profile                        = null
    secret_key                     = null
    security_token                 = null
    shared_credentials_file        = null
    sts_endpoint                   = null
  }
  generate = {
    path      = "backend.tf"
    if_exists = "overwrite"
  }
}

which then allows me run terragrunt commands without auto-init occurring. However, at the point when I do re-init the project I get the following error:
│ Error: Unsupported argument
│
│   on backend.tf line 6, in terraform:
│    6:     assume_role                    = []
│
│ An argument named "assume_role" is not expected here. Did you mean to
│ define a block of type "assume_role"?

In case it helps anyone, my current workaround is removing the remote_state block altogether and putting my entire backend config into a generate block.


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v5.10 to before v5.14.15",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ae1ed0093281939b80664a687689f12436c0e874",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b0e6db0656ddfd8bb57303c2ef61ee1c1cc694a8"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "ae1ed0093281939b80664a687689f12436c0e874",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "b0e6db0656ddfd8bb57303c2ef61ee1c1cc694a8",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "drm: mxsfb: Fix NULL pointer dereference crash on unload\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.14.15 by commit b0e6db0656ddfd8bb57303c2ef61ee1c1cc694a8, it was introduced in version v5.10 by commit ae1ed0093281939b80664a687689f12436c0e874. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1002114


MM-4138_linkAndButtonStyles

Summary
Removed sidebarStyles and centerChannelStyles specs. This branch only contains linkAndButtonStyles spec and related commands.
Ticket Link
https://github.com/mattermost/mattermost-server/issues/10367
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] Ran make check-style to check for style errors (required for all pull requests)
[X] Ran make test to ensure unit and component tests passed

And same here as the other two PRs. :)

Closing, created new PR with just test spec


Refactor: Redraw as-needed

This refactor builds on @joshuachp's timer-based design to offer (hopefully) the best of performance and simplicity. It refactors the redraw logic to be triggered when requested if it's been update_interval ms since the last redraw. This is in contrast to the every-update_interval ms check of the current design.
While the performance of these two designs is probably similar (this is at best a micro-optimization, though it should not be slower), I think this design is a bit simpler - we don't have to track the state of the needs_redraw flag, we don't eagerly generate the statusline text, etc.
We do still need a timer, but it runs at most once per redraw interval, and usually will not need to run. Its purpose is to account for redraws requested too close to the last redraw.
@joshuachp, what do you think? Does this branch still solve the performance issues of #36? Do you agree that this is simpler?

It's worth mentioning also that I've tested this to work with Sumneko Lua, rust-analyzer, JuliaLS, and pyright so far.

Seems perfect to me 👍🏻

@nerosnm, does this also maintain the fix to #36 for you? Since I was never able to reproduce #36, I'd like to get a couple of verifications that this still works as a fix.

@wbthomason I'll test this today and let you know

Still seems to be fine for me over the last few days

Great, thanks for testing. I think we're good to merge, then (famous last words...)


Award financials changes

Changing notice before C1 on all awards to:

You can provide estimated figures for now but, should you be shortlisted, you will have to provide the actual figures that have been verified by an independent accountant by November.

To be merged AFTER #1423

 [QAE18IMP] As an applicant, I want to see an improved help copy about financials and the use of estimates, so that I understand what information I must provide (in all award applications) (1.5)


Make syncing and all command, work also for regex discovering.

Beyond existing solutions, with discovering components via @scope-name, we need second solution for discovering them with regex like way:
@scope-name/this-is-part-of-the-component-text-block so @scope-name/this-is-part-of-the-component-* should be the regex which will find more component, and the part after regex would be the name of component

This is pretty interesting thing, becasue it would make syncing specific components easier, shouln'b be also very hard to implement, so let's tackle it 04-05.2023

Yeah, probably v6, more important stuff to do for v5 :)

Taking care of it now :)

the interface for ti will look probably similar to that:
sb-mig sync components form-*

Will sync all components started from form-
but maybe i will need to introduce new flag
sb-mig sync components form-* --regex

Will see, goal is to make regex discovering for all sync commands so:
sb-mig sync components form-*
sb-mig sync datasources form-fields-*
sb-mig sync roles text-*

etc...

ok, interesting fact, completelly forget how i implemented it, it already works...
sb-mig sync components "sb-form-*"

should discover all components starting from sb-form- ...
so yeah, works..
important part is to wrap it in " " becasue * have hard love with terminal I think.

You can also combine it with others:
sb-mig sync components "sb-form-*" sb-section

sb-mig sync components "sb-form-*" "sb-cards-*"


Gracefully report parser error when file not gherkin

I've started taking a look at using gherkin3 with cucumber-ruby-core,  and I noticed that we weren't handling empty Gherkin documents or trying to parse non-gherkin documents gracefully. This PR adds some acceptance tests for these errors, and includes a fix for ruby/javascript.

Wouldn't it be simpler to have getTags() & friends check if the argument is null/undefined?

@aslakhellesoy yes - except we then call methods on the arguments returned. I had a quick stab at creating a null-object node, but it wasn't right.


Fabric Revival

Hey guys,
since I currently don't have much else to do, I started playing Minecraft again and I was already missing a well-balanced weapon mod, so I thought to dig this one up again.
I'm planning to work with the Fabric Mod Loader for the newer Minecraft version (currently 15.2), since that seems to be more developer-friendly than Forge, even though missing some advanced features at the moment.
Anyway, I wanted to ask if anyone objects to me "recycling" the resources and basic structure from this project after being absent for so long. I probably won't do a 1:1 port, since a lot of combat mechanics have changed in the meantime.

Hey, long time no hear!
You certainly have my permission to use the code in this repo. Much of the code also is still from you.
And I think, you also may take the resources, because the artists gave you the permission to use them back then, but I am not sure about that.
Also, I noticed that your Curseforge account somehow got renamed or something. If you plan to publish new releases, even on a totally new code base, I can readd you on Reforged's project page, so you can release them there, because it already has some publicity.
You could name them Reforged 2 or something. But if you want, you can also create a totally new project on Curseforge, that's up to you :)
Interestingly enough, my friends asked me about this mod for a while now and are asking if I wanted to continue working on it, but I don't have too much time next to studying as I study maths and computer science at the same time. But if I find time, I will definetly continue developing this mod or your rewrite further.
But be aware when taking the code from this repo:
Many parts. No... Major parts don't have any code style, are inefficient or unsafe. When I look back at this code, I almost have to throw up :D
That said, have fun and see you soon when and if I have enough time!

Yeah, since Fabric uses a lot of different function names, class naming conventions, etc., I will have to rewrite most of the code anyway, so I will not retain the old unsafe and inefficient parts, but create my own unsafe and inefficient ones ;)
But considering that a lot of the ugly stuff was forced upon us by Minecraft and Forge, it's actually not that bad. At least for the items I started with, I had no trouble figuring out what it was supposed to do. But I guess you're talking about the more advanced stuff.
At the least, Fabric seems to have better official documentation, so it's easier to get things done "the right way".
About publishing, I'm still not sure. Apparently, CurseForge switched to using Twitch accounts and I never migrated my account. I'm still pondering whether I want to create one, but you're right, it might help a lot of people actually finding the new releases, so I probably will do so eventually...
And of course I'd love to have explicit permission from @SnowballFlame to use the textures before releasing anything.

Okay, very nice ;)
Yes, the Forge API is terrible, as many people already pointed out (including me).
The advanced stuff is even more terrible.  That would be no problem for me, as it doesn't take much time (I just have to upload the files and add the changelog).
If you would like to create a new project, then I could just link to that one in Reforged's description, but I think, that not that many people will find it then. But that's your decision to make :)

I was also thinking about moving my code from my current repository to a branch of this one.
I'll check how much sense that makes with Git when the codebase ends up having large differences.
Regarding the CurseForge project, I will have to consider that... there seem to be both approaches right now. Making a separate project for Forge and Fabric versions as well as using one project for both releases. The latter ones seem to usually end up getting comments from disappointed Forge users for not actually supporting the version they were looking for.
So, yeah... actually not sure what to do about the organizational issues right now. Let's get some coding done first. :)

Okay. Yes, I have seen some people doing such things. It doesn't seem like it is a major problem though, as long as you don't compare - or even worse: merge - across these branches.
That's a good point, though. Most people have 2 separate releases, one labeled "-forge" and one "-fabric" for that specific reason. We could do the same and also add the "Fabric" category to Reforged itself. I think, Fabric doesn't work with anything up to 1.12.2 (please correct me if I am mistaken), so there won't be anyone, that could mistake the old releases for Fabric ones then, I guess...
Yes, get some coding done first and then we can talk again :) Also be sure to make it open source as soon as possible, so I might create some PRs or addons or something as well if I find some time next to university (digital study sucks btw) :)

You still have my permission to use the textures as always. I can create or modify more if needed, just mention me here.

I assumed that, I just wanted to make sure after such a long time.
And thanks for the offer, I might actually come back on that.

If someone sees this issue, there is also this: https://github.com/ThexXTURBOXx/Reforged-Modernized
It provides functionality for both Forge and Fabric simultaneously. However, I did not implement most weapons yet

See #217 :)


Cannot parse JSON Error when processing a long response

Cannot parse JSON Error when processing a long response
com.marklogic.client.MarkLogicIOException: Cannot parse JSON '[{"ICS_codeData":{"midbData":{"co' for fn:doc("/content/GUIDE://1972/4442a1b1-2107-4796-b2da-7bf722d05fc1/ndl-w/u/|||/a2a6f9a4-3261-421b-a309-00631c482ebc.json")
        at com.marklogic.client.io.SearchHandle$MatchDocumentSummaryImpl.populateExtractedResult(SearchHandle.java:607) ~[java-client-api-3.0.3.jar:na]
        at com.marklogic.client.io.SearchHandle$MatchDocumentSummaryImpl.getExtracted(SearchHandle.java:567) ~[java-client-api-3.0.3.jar:na]
        at MarkLogicDatabaseClientTestCase.queryForCodePage(MarkLogicDatabaseClientTestCase.java:127) [TestCase/:na]
        at MarkLogicDatabaseClientTestCase.main(MarkLogicDatabaseClientTestCase.java:162) [TestCase/:na]
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected end-of-input: was expecting closing '"' for name
 at [Source: [{"ICS_codeData":{"midbData":{"co; line: 1, column: 67]
        at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1581) ~[jackson-core-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:533) ~[jackson-core-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.core.base.ParserMinimalBase._reportInvalidEOF(ParserMinimalBase.java:470) ~[jackson-core-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._parseName2(ReaderBasedJsonParser.java:1447) ~[jackson-core-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._parseName(ReaderBasedJsonParser.java:1431) ~[jackson-core-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName(ReaderBasedJsonParser.java:778) ~[jackson-core-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer.deserializeObject(JsonNodeDeserializer.java:208) ~[jackson-databind-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer.deserializeObject(JsonNodeDeserializer.java:224) ~[jackson-databind-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer.deserializeObject(JsonNodeDeserializer.java:224) ~[jackson-databind-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer.deserializeArray(JsonNodeDeserializer.java:270) ~[jackson-databind-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:71) ~[jackson-databind-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:15) ~[jackson-databind-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3736) ~[jackson-databind-2.6.5.jar:2.6.5]
        at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:2271) ~[jackson-databind-2.6.5.jar:2.6.5]
        at com.marklogic.client.io.SearchHandle$MatchDocumentSummaryImpl.populateExtractedResult(SearchHandle.java:600) ~[java-client-api-3.0.3.jar:na]
        ... 3 common frames omitted

PR: https://github.com/marklogic/java-client-api/pull/593

Copy of https://github.com/marklogic/java-client-api/issues/598 for 3.x branch

Sorry to bother ... Is there an anticipated completion data for  java-client-api-3.0.5?

I believe Sam is on vacation, so I'll throw in my two cents:
I think that's probably the wrong milestone, unless Sam plans to make a patch available. We've already released 3.0.6. I don't think we have a timeline for 3.0.7 yet.

Thanks Kim -
I appreciate your reply...
Here is the situation: A ML customer is running a patched version of this
library and that is reducing a quality metric of the whole system. They
researched this and they would like to get back to 'released code' ASAP.
I think Sam put this on 'milestone:java-client-api-3.0.5'. Maybe it should
be on either 3.0.7 or on a new milestone <IP_ADDRESS>? It would be great it we
could expedite this.
Thanks!
Eric
On Thu, Dec 22, 2016 at 1:55 PM, Kim Coleman<EMAIL_ADDRESS>wrote:

I believe Sam is on vacation, so I'll throw in my two cents:
I think that's probably the wrong milestone, unless Sam plans to make a
patch available. We've already released 3.0.6. I don't think we have a
timeline for 3.0.7 yet.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/marklogic/java-client-api/issues/598#issuecomment-268865970,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAihfDL8zKxzyiSeBmNo668y71K8xaoks5rKsemgaJpZM4LK25O
.

--
Eric Laquer
cell:<PHONE_NUMBER>

Thanks for pointing that out.  I'm not sure why I set the milestone to 3.0.5, I meant 3.0.7.  I'm not the one to set priorities or release dates . . . please go to through "usual" channels for that (i.e. support).  If it will help for me to get the code merged into github, I can prioritize that.  However, I was thinking that's not the goal.  You're looking for an official release, correct?  To get that prioritized, I believe our support organization has channels.

Sorry - I'm behind on my personal.....
I think we are fine to pick this uo after vaca...
Regards, Eric
On Thu, Dec 22, 2016 at 5:24 PM, Sam Mefford<EMAIL_ADDRESS>wrote:

Thanks for pointing that out. I'm not sure why I set the milestone to
3.0.5, I meant 3.0.7. I'm not the one to set priorities or release dates .
. . please go to through "usual" channels for that (i.e. support). If it
will help for me to get the code merged into github, I can prioritize that.
However, I was thinking that's not the goal. You're looking for an official
release, correct? To get that prioritized, I believe our support
organization has channels.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/marklogic/java-client-api/issues/598#issuecomment-268904202,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAihWIFaH8GLBIY-xvLpfa50ENvAuGZks5rKviqgaJpZM4LK25O
.

--
Eric Laquer
cell:<PHONE_NUMBER>

Details to reproduce are attached to support ticket https://help.marklogic.com/staff/Tickets/Ticket/View/17586/inbox/-1/-1/-1/0/25

Ajit, I believe all you can do to QA is verify this doesn't introduce any regression.

Will verify regression servers' and Jenkins' results of 01/24/2017 for develop branch.

No regressions due to this fix.