RAIL windows hidden once can never be shown again

Describe the bug
Rail windows hidden once can never be shown again.
To Reproduce
Steps to reproduce the behavior:

make the test application attached a remote app and give it a fixed command line argument 5000 or time interval in milliseconds.
run the remote app with xfreerdp.
you can see the main window can show once, hide and never be shown again.

Expected behavior
The rail window should do showing and hiding in every 5s or the time interval you specified.
Application details

FreeRDP 2.0.0
Command line used
freerdp /sec:rdp /u:Administrator /p:'larry+1s' /app:'||test_window' /v:<IP_ADDRESS>
output of /buildconfig

This is FreeRDP version 2.0.0-rc4 (e21b72c95+debian)
Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=ON HAVE_AIO_H=1 HAVE_EXECINFO_H=1 HAVE_FCNTL_H=1 HAVE_INTTYPES_H=1 HAVE_JOURNALD_H=TRUE HAVE_MATH_C99_LONG_DOUBLE=1 HAVE_POLL_H=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK=ON HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL= HAVE_SYSLOG_H=1 HAVE_SYS_EVENTFD_H=1 HAVE_SYS_FILIO_H= HAVE_SYS_MODEM_H= HAVE_SYS_SELECT_H=1 HAVE_SYS_SOCKIO_H= HAVE_SYS_STRTIO_H= HAVE_SYS_TIMERFD_H=1 HAVE_TM_GMTOFF=1 HAVE_UNISTD_H=1 HAVE_XI_TOUCH_CLASS=1 WITH_ALSA=ON WITH_CCACHE=ON WITH_CHANNELS=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CUPS=ON WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DIRECTFB=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_DSP_FFMPEG=OFF WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=TRUE WITH_FFMPEG=TRUE WITH_GFX_H264=ON WITH_GPROF=OFF WITH_GSM=ON WITH_GSSAPI=OFF WITH_GSTREAMER_0_10=OFF WITH_GSTREAMER_1_0=ON WITH_ICU=ON WITH_IPP=OFF WITH_JPEG=ON WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=ON WITH_MACAUDIO=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_OPENH264=OFF WITH_OPENSLES=OFF WITH_OPENSSL=ON WITH_OSS=ON WITH_PAM=ON WITH_PCSC=ON WITH_PROFILER=OFF WITH_PULSE=ON WITH_SAMPLE=OFF WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SERVER=ON WITH_SERVER_CHANNELS=ON WITH_SERVER_INTERFACE=ON WITH_SMARTCARD_INSPECT=OFF WITH_SOXR=OFF WITH_SSE2=ON WITH_THIRD_PARTY=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_WAYLAND=ON WITH_X11=ON WITH_X264=OFF WITH_XCURSOR=ON WITH_XDAMAGE=ON WITH_XEXT=ON WITH_XFIXES=ON WITH_XI=ON WITH_XINERAMA=ON WITH_XKBFILE=ON WITH_XRANDR=ON WITH_XRENDER=ON WITH_XSHM=ON WITH_XTEST=ON WITH_XV=ON WITH_ZLIB=ON
Build type:          RELWITHDEBINFO
CFLAGS:              -g -O2 -fdebug-prefix-map=/home/hualet/temp/freerdp2-2.0.0~git20181120.1.e21b72c95+dfsg1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -g -DWINPR_DLL
Compiler:            GNU, 8.2.0
Target architecture: x64

OS version connecting to
windows server 2008

Additional context
I checked the source code and printed the window order infos:
[12:50:08:793] [6087:6088] [INFO][com.freerdp.client.x11] - window id: 0x00020074
[12:50:08:794] [6087:6088] [INFO][com.freerdp.client.x11] - WINDOW_ORDER_INFO {
[12:50:08:794] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_STYLE 0x800b0000
[12:50:08:794] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_SHOW 0x00000000
[12:50:08:794] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_VISIBILITY
[12:50:08:794] [6087:6088] [INFO][com.freerdp.client.x11] - }
[12:50:08:794] [6087:6088] [INFO][com.freerdp.client.x11] - window state: 0
[12:50:08:891] [6087:6088] [INFO][com.freerdp.client.x11] - window id: 0x00020074
[12:50:08:891] [6087:6088] [INFO][com.freerdp.client.x11] - WINDOW_ORDER_INFO {
[12:50:08:891] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_STYLE 0x96cf0000
[12:50:08:891] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_SHOW 0x00000005
[12:50:08:891] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_VISIBILITY
[12:50:08:891] [6087:6088] [INFO][com.freerdp.client.x11] - }
[12:50:08:891] [6087:6088] [INFO][com.freerdp.client.x11] - window state: 5

[12:50:18:798] [6087:6088] [INFO][com.freerdp.client.x11] - window id: 0x00020074
[12:50:18:798] [6087:6088] [INFO][com.freerdp.client.x11] - WINDOW_ORDER_INFO {
[12:50:18:798] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_STYLE 0x800b0000
[12:50:18:798] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_SHOW 0x00000000
[12:50:18:798] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_VISIBILITY
[12:50:18:798] [6087:6088] [INFO][com.freerdp.client.x11] - }
[12:50:18:798] [6087:6088] [INFO][com.freerdp.client.x11] - window state: 0

[12:50:18:895] [6087:6088] [INFO][com.freerdp.client.x11] - window id: 0x00020074
[12:50:18:895] [6087:6088] [INFO][com.freerdp.client.x11] - WINDOW_ORDER_INFO {
[12:50:18:895] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_STYLE 0x96cf0000
[12:50:18:895] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_SHOW 0x00000005
[12:50:18:895] [6087:6088] [INFO][com.freerdp.client.x11] -     WINDOW_ORDER_FIELD_VISIBILITY
[12:50:18:895] [6087:6088] [INFO][com.freerdp.client.x11] - }
[12:50:18:895] [6087:6088] [INFO][com.freerdp.client.x11] - window state: 5

it seems that the HIDE event is sent along with SHOW event.  Because window show state change should happen every 5s, but actually every 10s there were 2 continuous show state changes.
test_window.zip

Added it to the future target. Rail support is currently tailored for specific use cases only lacking a lot of features of the protocol.
Would appreciate any pull requests fixing such issues, but I'm not too familiar with the specifics of that so I can't actually tell you if this window show/hide thing should work as you expect it, sorry.
(only note: orders are not delayed/reordered/whatever, they are processed as they are received, so most likely some capability/setting is missing to handle that properly)

Added it to the future target. Rail support is currently tailored for specific use cases only lacking a lot of features of the protocol.
Would appreciate any pull requests fixing such issues, but I'm not too familiar with the specifics of that so I can't actually tell you if this window show/hide thing should work as you expect it, sorry.
(only note: orders are not delayed/reordered/whatever, they are processed as they are received, so most likely some capability/setting is missing to handle that properly)

Hmmm... that's so sad :(  do you know someone else that can help me with that?
Anyway thank you @akallabeth


⚠ Bofrost.at has degraded performance

In cd2328d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2407 ms

Resolved: Bofrost.at performance has improved in 9cb9efa after 27 minutes.


ERROR: Unable to find storage adapter ghost-storage-github

OS: ubuntu 20.04
Docker: 19.03.14

Hi, I am using ghost with docker, and after I installed this adapter following the README, it given me the following error:
[2020-12-04 04:29:05] ERROR Unable to find storage adapter ghost-storage-github in ,/var/lib/ghost/content/adapters/,/var/lib/ghost/versions/3.38.3/core/server/adapters/.

Unable to find storage adapter ghost-storage-github in ,/var/lib/ghost/content/adapters/,/var/lib/ghost/versions/3.38.3/core/server/adapters/.

Error ID:
    3e172b50-35e9-11eb-9036-3d0bb8ad1017

----------------------------------------

IncorrectUsageError: Unable to find storage adapter ghost-storage-github in ,/var/lib/ghost/content/adapters/,/var/lib/ghost/versions/3.38.3/core/server/adapters/.
    at new IncorrectUsageError (/var/lib/ghost/versions/3.38.3/node_modules/ghost-ignition/lib/errors/index.js:98:23)
    at AdapterManager.getAdapter (/var/lib/ghost/versions/3.38.3/node_modules/@tryghost/adapter-manager/lib/AdapterManager.js:110:19)
    at Object.getAdapter (/var/lib/ghost/versions/3.38.3/core/server/services/adapter-manager/index.js:26:31)
    at Object.getStorage (/var/lib/ghost/versions/3.38.3/core/server/adapters/storage/index.js:4:27)
    at setupSiteApp (/var/lib/ghost/versions/3.38.3/core/server/web/site/app.js:111:71)
    at setupParentApp (/var/lib/ghost/versions/3.38.3/core/server/web/parent/app.js:65:44)
    at /var/lib/ghost/versions/3.38.3/core/server/index.js:109:52

I examined the directory /var/lib/ghost/content/adapters/ and there did has storage/ghost-storage-github/，then according to the official document https://ghost.org/docs/concepts/storage-adapters/

Inside of content/adapters/storage create a file or a folder: content/adapters/storage/my-module.js or content/adapters/storage/my-module - if using a folder, create a file called index.js inside it

I moved the index.js and utils.js outside from build folder, but it didn't work either.
adapters/
└── storage
    └── ghost-storage-github
        ├── build
        │   ├── index.js
        │   └── utils.js
        ├── index.js
        ├── LICENSE.txt
        ├── package.json
        ├── README.md
        └── utils.js

My ghost configuration is:
{
  "url": "http://localhost:2368",
  "server": {
    "port": 2368,
    "host": "<IP_ADDRESS>"
  },
  "database": {
    "client": "mysql",
    "connection": {
    }
  },
  "mail": {
    "transport": "Direct"
  },
  "logging": {
    "transports": [
      "file",
      "stdout"
    ]
  },
  "process": "systemd",
  "paths": {
    "contentPath": "/var/lib/ghost/content"
  },
  "storage": {
    "active": "ghost-storage-github",
    "ghost-storage-github": {
        "token": "TOKEN",
        "owner": "OWNER",
        "repo": "ghost-assets",
        "branch": "master",
        "useRelativeUrls": false
    }
  }
}

and my docker-compse file is:
version: '3'
services:

# other services ...

  ghost:
    image: ghost
    volumes:
    - ./ghost/content/:/var/lib/ghost/content
    - ./ghost/config.json:/var/lib/ghost/config.production.json
    expose:
    - "2368"
    depends_on:
    - caddy
    - mariadb

Hi, @lecoan! Just saw this issue and noticed that you've closed it. How did you manage to solve the problem you were having?

@ifvictr I downloaded the module by npm outside the docker, but the node_modules didn't mount within docker container, as shown in my docker-compse.yaml file, thus the adapter can not find its dependencies.

I see. Glad you were able to resolve this! :)

@lecoan could you tell me how did you update your docker-compose.yml file? Thank you.

@lecoan thank you very much. I've manage to run it successfully.
Actually, my error is mistaken config.


Updating numerical parameters

@nerisaurus @cekees @tridelat @Giovanni-Cozzuto-1989
All, I am proposing these new numerical parameters. The reason I am doing this is because we had used this configuration in the first numerical tanks, and these were reported to give good results. I have reasons to believe that the set we currently use is not as good, mainly because I repeated some of the old tests with the parameters in Neri's branch
We had long discussions with @tridelat about the performance of the model under these parameters and how we can get the best out of them.
One possible way to do is to minimise inputs if possible by grouping parameters that can take a single value, such as the eps. Another way to do it is once we set-up regression tests, we keep changing them one at the time and then review the regression reports to decide.
Sorry I forgot to mention it during the meeting. Looking forward for your opinion

@adimako What's the scope of the usefulness of these parameters? Specifically the linear waves case, or do you think the general idea (tighter shock capturings and beta's, larger eps values, etc.) is a good fit for the other numerical tanks or even similar (dambreak, hydraulic structures...) problems?

I believe they are good (but I do not know if they are the best) for the numerical wave tanks. We have come up with slightly different ones for e.g. the sloshing case. @cekees I think it will help if @nerisaurus has the report, so he can have access to the numerical parameters we used before. My opinion is that at least for the test cases we have tried, we should use the ones that know they work.

That sounds good. I'll get him a copy if you don't beat me to it.  I'm trying to get some PR's up this morning and start some runs on the HPC, but I will go over your new parameter values before tomorrow.

I've got the report now, and it looks very useful.  I'll make a pass through the numerical tanks and other updated code with it (setting parameters to known cases, testing new results, updating some of the documentation) this afternoon or tomorrow (whenever I get finished with the tanks-with-obstacles workflow).

These parameters look reasonable to me. I usually err  on the side of large numerical diffusion/viscosity, but if  the model is robust and the results are accurate with these lower  values, then that's great, since it should be more accurate.


UseStaticImport replaces non-static calls

UseStaticImport replaces everything that matches the method pattern. Even non static methods. That's a problem if the method pattern is a wildcard for a complete class like java.util.function.Predicate *(..), where the class contains both static and non-static methods.
What is the smallest, simplest way to reproduce the problem?

import java.util.function.Predicate;

public class Reproducer {
    void reproduce() {
        final Predicate<Object> predicate = x -> false;
        final var okay = Predicate.not(predicate);
        final boolean error = predicate.test(null);
    }
}

What did you expect to see?
Only the second line of the method being modified, but not the third.
What did you see instead?

import java.util.function.Predicate;

import static java.util.function.Predicate.not;
import static java.util.function.Predicate.test; // compiler error

public class Reproducer {
    void reproduce() {
        final Predicate<Object> predicate = x -> false;
        final var okay = not(predicate);
        final boolean error = test(null); // compiler error
    }
}

Are you interested in contributing a fix to OpenRewrite?
Yes. Looks like fix is just one more condition in the if.

Thanks for reporting this issue, and the offer to help fix it as well! Indeed looks well to do, especially given your background to the project already. Do let us know if you need any help, or can't get to it in the near future!


Moving scripts assets to repo and updating extensions sample to install mysql on Windows

Hi @anuchandy, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (anuchan). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

:shipit:


Convert e2e test script logic into python code

also refactor some of the e2e helper code into utils modules
Description

Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue #
Closes #

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

@onmete  @nemerna this PR will be relevant to your fine grained permissions testing as it introduces what i hope you will find are helpful ways to manage additional users/permissions on the cluster.

/assign @tisnik
there's more to be done here, but this should encourage a bit more structure to our e2e suite, and starts getting rid of some of the bash scripting.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.29%. Comparing base (e4bbae2) to head (15c2230).
 Consider uploading reports for the commit 636249c to get more accurate results

Additional details and impacted files

@@             Coverage Diff             @@
##             main     #675       +/-   ##
===========================================
+ Coverage   73.73%   96.29%   +22.55%
===========================================
  Files          53       53
  Lines        1824     1860       +36
===========================================
+ Hits         1345     1791      +446
+ Misses        479       69      -410

see 26 files with indirect coverage changes

/lgtm


Eliminating tuple headers in QIR

With this PR, QIR would no longer use tuple headers at all. Instead, concrete tuples represented as normal structs are used locally, and an opaque pointer %Tuple is passed around. The bitcasts remain the same.
The current target branch is just to show a proper diff. I will retarget it once the reference handling is done and merged.

Could the QIR spec possibly be updated before merging this PR?

@irinayat-MS Since this is so far just a merge to my own branch, I'll merge this and then put up a spec update PR before this goes to main.


Fix: Use list(string) for var.policy

what

Use list(string) for var.policy (in a backwards-compatible fashion).

why

Attempts to fix #102
https://github.com/hashicorp/terraform/issues/26755#issuecomment-719103775

references

Relates to #104

Closing in favor of adding source_policy_documents in #131


Add a proxy.config.http.per_server.connection.max test

This adds an AuTest to verify enforcement of:
proxy.config.http.per_server.connection.max

Adding this to 9.2.x since it is a test-only change and therefore has zero production risk for the release.


[Feature] Accept multi input

From a single output it is possible to connect multiple inputs (one-to-many).
It is not possible to connect multiple outputs to a single input (multi-to-one). If I do it now, a route previously defined is removed.

With this feature it is possible to use barfi to describe real systems (like in my case the schematic of a compressed air system).

Can you not create a new block that has 2 inputs and 1 output and then use that to combine two outputs into one.


After frame artifacts

I am getting artifacts on the image in the demo. Tail of previous frames. Can I do something about it?

I also have this problem. From what I see, there is a strict relationship between the application frames and the frames of the decoded gif image. This won't help you much, but I was able to control this behavior by slightly changing the code to the one below.
You can go further and catch broken frames (the consequences of the rigid dependence of frames in the application and gif images are artifacts).
Since we have information about each frame, we can try to reset the frames manually by noticing approximate fluctuations in the direction of pointing, thereby preventing the transition to the artifact state.
If you increase the dopTimeSpan value below to 450000~500000 ticks, you will see an almost perfect GIF image without artifacts and everything that follows, but the frame rendering speed will decrease by more than half.
** This cannot be considered a solution, it is only a temporary support.**
File: Gif Instance
Range: 58~67 lines
I hope it was useful to you!


Create VM with multiple disks

Vm manager is able to create a VM from a qcow2 and the xml description of the virtual machine
Describe the solution you'd like
The possibility to create a VM that has multiple qcow2 disk
Describe alternatives you've considered
You can add the disk manually after the VM creation but it's not very user friendly

The number of disk is handled exclusively in the libvirt XML of the virtual machine, so in the ansible repository.
You can either

Create your own XML file and use it with the variable vm_template in the vm inventory.
Use the default template guest.xml.j2 and use the variable local_disk to add more disks to the VM.

See the inventory examples for the syntax.
This is available for both Debian and Yocto.


Downgrade check_excess_params to warning message

This PR is to solve the issue in GAMBLR.viz heatmap_mutation_frequency_bin that internally calls calc_mutation_frequency_bin_regions. This was discussed in this Slack thread.
The change is to downgrade the check_excess_params error message to a warning message.

This is what heatmap_mutation_frequency_bin returns, besides the pot of course.
> heatmap_mutation_frequency_bin(
+   regions_bed = my_regions,
+   these_samples_metadata = my_meta,
+   metadataColumns = meta_columns,
+   sortByColumns = meta_columns
+ )
Warning: Multiple regions in the provided data frame have the same name. Merging these entries based on min(start) and max(end) per name value.
Warning: You have given one or more unsupported or deprecated arguments to calc_mutation_frequency_bin_regions and they are going to be ignored. Please check the documentation and spelling of your arguments.
Ignored argument(s): from_indexed_flatfile, mode.
Warning: Multiple regions in the provided data frame have the same name. Merging these entries based on min(start) and max(end) per name value.
starting with 5 samples
returning matrix with 5 samples
No legend element is put in the last 1 row under `nrow = 3`, maybe you should set
`by_row = FALSE`? Reset `nrow` to 2.
No legend element is put in the last 1 row under `nrow = 3`, maybe you should set
`by_row = FALSE`? Reset `nrow` to 2.
No legend element is put in the last 1 row under `nrow = 3`, maybe you should set
`by_row = FALSE`? Reset `nrow` to 2.

There are other warning messages that we don't want there but this is out of the scope of this PR.
The plot is created okay.

What if you try something like:
get_coding_ssm(adam_is_awesome = TRUE)

It returns:
> GAMBLR.data::get_coding_ssm(adam_is_awesome = TRUE)
Warning: Yeah! Adam is the guy!!

Sorry, I couldn't avoid the joke. I will delete this message in 5 min.

> get_coding_ssm(adam_is_awesome = TRUE)
Using the bundled SSM calls (.maf) calls in GAMBLR.data...
Warning: You have given one or more unsupported or deprecated arguments to get_coding_ssm and they are going to be ignored. Please check the documentation and spelling of your arguments.
Ignored argument(s): adam_is_awesome.
Using the bundled metadata in GAMBLR.data...
after linking with metadata, we have mutations from 446 samples
# A tibble: 46,559 × 47
   Hugo_Symbol Entrez_Gene_Id Center NCBI_Build Chromosome Start_Position
   <chr>                <dbl> <chr>  <chr>      <chr>               <dbl>
 1 AIFM1                    0 .      GRCh37     X               129264130
 2 USP24                    0 .      GRCh37     1                55638175
 3 LYST                     0 .      GRCh37     1               235966207
 4 GCKR                     0 .      GRCh37     2                27745442
 5 ORMDL1                   0 .      GRCh37     2               190640297
 6 BCL6                     0 .      GRCh37     3               187442788
 7 RP11-13P5.1              0 .      GRCh37     6               159530473
 8 EZH2                     0 .      GRCh37     7               148508728
 9 DIP2C                    0 .      GRCh37     10                 454908
10 SORCS1                   0 .      GRCh37     10              108439075
# ℹ 46,549 more rows
# ℹ 41 more variables: End_Position <dbl>, Strand <chr>,
#   Variant_Classification <chr>, Variant_Type <chr>, Reference_Allele <chr>,
#   Tumor_Seq_Allele1 <chr>, Tumor_Seq_Allele2 <chr>, dbSNP_RS <chr>,
#   dbSNP_Val_Status <lgl>, Tumor_Sample_Barcode <chr>,
#   Matched_Norm_Sample_Barcode <chr>, Match_Norm_Seq_Allele1 <chr>,
#   Match_Norm_Seq_Allele2 <chr>, Tumor_Validation_Allele1 <lgl>, …
# ℹ Use `print(n = ...)` to see more rows

In the last commit Add rtracklayer dependency, I added rtracklayer as a dependency because of this line.
When I run devtools::check() in GAMBLR.viz, is says this
‘GAMBLR.viz’ ...
** using staged installation
** R
** byte-compile and prepare package for lazy loading
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
  there is no package called ‘rtracklayer’
Calls: <Anonymous> ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted
ERROR: lazy loading failed for package ‘GAMBLR.viz’
* removing ‘/tmp/RtmpsA3CoD/file4e553ff71dee/GAMBLR.viz.Rcheck/GAMBLR.viz’

Which is a problem in GAMBLR.data that is solved in this commit.

I added some changes here to drop the dependency on rtracklayer since that chage was unnecessary. The GAMBLR.viz a completely separate package and there is no need to introduce heavy dependency in the GAMBLR.data.
Both devtools check with default arguments and arguments standard to GAMBLR fail because of tests. Here is the relevant part:
W  checking for unstated dependencies in ‘tests’ (6.7s)
   'library' or 'require' call not declared from: ‘testthat’
─  checking tests ...
─  Running ‘test_get.R’
E  Some test files failed
   Running the tests in ‘tests/test_get.R’ failed.

This has nothing to do with rtracklayer and so it's introduction as dependency was reverted in the last 2 commits.
@mattssca can you please review this and if it looks good approve/merge?

Thanks for looking into this. I will test and review first thing tomorrow.

In my tests, devtools::check also never complained about rtracklayer when it's run on GAMBLR.data. The reason why I added rtracklayer in GAMBLR.data, is because when I run devtools::check on GAMBLR.viz and rtracklayer is not added in GAMBLR.data, it returns this error:
* installing *source* package ‘GAMBLR.viz’ ...
** using staged installation
** R
** byte-compile and prepare package for lazy loading
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
  there is no package called ‘rtracklayer’
Calls: <Anonymous> ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted
ERROR: lazy loading failed for package ‘GAMBLR.viz’
* removing ‘/tmp/RtmpWQFCwg/file230c995342e3/GAMBLR.viz.Rcheck/GAMBLR.viz’

Keep in mind that GAMBLR.data is a dependency for GAMBLR.viz.
To reproduce this error, I updated my local GAMGLR.data branch — pulling Kostia's changes — and devtools::install() to install this GAMGLR.data branch; then I cd to my local GAMBLR.viz branch (vsouza-fix_function_code_and_examples) and ran devtools::check()

But if I install GAMBLR.data while keeping the changes in my commit Add rtracklayer dependency, and run devtools::check on my GAMBLR.viz branch, it returns
0 errors ✔ | 0 warnings ✔ | 4 notes ✖

This might be a bug in devtools::check. Now I installed my GAMBLR.viz branch, while this GAMBLR.data branch is installed (keeping Kostia's changes), and GAMBLR.viz was installed normally.

I did a small test using the installation of both branches (viz and data; data branch with Kostia's changes) and it worked fine. I ran heatmap_mutation_frequency_bin examples and got the plot.
# get meta data
my_meta <- get_gambl_metadata() %>%
  filter(sample_id %in% c("DOHH-2", "OCI-Ly10", "OCI-Ly3", "SU-DHL-10", "SU-DHL-4"))

# get ashm regions of a set of genes.
my_regions = GAMBLR.data::somatic_hypermutation_locations_GRCh37_v_latest %>%
  rename( "chrom"="chr_name", "start"="hg19_start", "end"="hg19_end", "name"="gene") %>%
  mutate( chrom = stringr::str_remove(chrom, "chr") )

# create heatmap of mutation counts for the specified regions
meta_columns <- c("pathology", "lymphgen", "COO_consensus", "DHITsig_consensus")
heatmap_mutation_frequency_bin(
  regions_bed = my_regions,
  these_samples_metadata = my_meta,
  metadataColumns = meta_columns,
  sortByColumns = meta_columns
)


Update name validation to allow only Unicode letters

Allow special characters (' -)
No limit on length
Update tests to reflect new functionality
Fix #199

Codecov Report

Merging #219 (565c6aa) into master (148804a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #219   +/-   ##
=========================================
  Coverage     69.49%   69.49%
  Complexity      535      535
=========================================
  Files            89       89
  Lines          1659     1659
  Branches        188      188
=========================================
  Hits           1153     1153
  Misses          451      451
  Partials         55       55

Impacted Files
Coverage Δ

...ain/java/seedu/linkedout/model/applicant/Name.java
72.72% <ø> (ø)

Continue to review full report at Codecov.

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


Run the svelte code through babel

I'm using svelte-jester successfully to test my svelte app with testing-library. Love it!
However mocking svelte components is so far something that I have not figured out. I am trying to mock svelte-select in this instance but it is something that will come up time and again while testing.
I am currently trying to use babel-plugin-rewire-exports which I can get working for any js module imports but not the svelte ones. I figure it's only a case of running the compiled code produced from svelte-jester through babel but I'm not sure how to do that. Any ideas?

Hey @spirift sure you can use jest.mock to mock the module.

You'll need to create the mock first like so

Mocked Svelte Select

Then in your test tell Jest to swap out svelte-select for the mocked version
import MockSvelteSelect from './fixtures/MockSvelteSelect.svelte';

// If the name doesn't start with "Mock" you'll get an error.
jest.mock('svelte-select', () => ({ default: MockSvelteSelect }));

// your usual testing stuff ...

That's it :)

Hey @mihar-22 thank you so much for the swift response. Unfortunately that is not working for me. It's pretty similar to a pattern I've used hundreds of times with React. I've created a reproduction on sandbox here or github here.
Any light you can shed on where I'm going wrong would be much appreciated.

This is really weird because I can't get it work in the repo you provided but I have pretty much an exact close I made separately via the svelte-template and it works just fine ...

Have you tried cloning a fresh svelte-template and trying again?

So even stranger is the fact that if I delete the src folder and recreate the exact same code from scratch it works, if I use the original it doesn't...

That was a fresh repo I made this morning using npx degit sveltejs/template svelte-jest-mocking-example. I get the same error in an app I made using the sapper template which originally lead me down this rabbit hole.

Hey @spirift I actually solved this before but my brain went completely blank. The explanation is here. In short Jest respects only the main key, so it's pulling in the UMD file and failing, you can test this by simply changing your import statement to import * as Select from 'svelte-select';.
To fix this you can install this custom resolver so that Jest can resolve the file using the svelte key, but you still have to tell Jest to transform it because by default it ignores node_modules, so add this to your jest.config.js:
transformIgnorePatterns: [
  "node_modules/(?!svelte-select)"
]

Sorry about that, completely slipped my mind. Enjoy!

Thanks again for that @mihar-22 the custom resolver helps a lot.  Mocking is still painful though. I went through a bunch of different patterns before finding something that works. I've updated the repo if you want to take a look. Anyway I got something working which is enough, cheers!

Hey @spirift I'm glad you made some progress. Out of curiosity I tried to see if I can recreate any of your issues but I couldn't. Jest caches transformations and that can sometimes cause issues to not go away.
Your configuration is correct and the following is the definitely the right way to do it.
import MockSvelteSelect from './fixtures/MockSvelteSelect.svelte';

jest.mock('svelte-select', () => ({ default: MockSvelteSelect }));

Try running your command like this yarn test --no-cache. Hopefully that fixes it. Make sure your Node and Yarn is updated as well.

Hey @mihar-22, first of all, thanks for providing the library! Like @spirift, I'm using it successfully to test my Svelte components. However after adding a Babel plugin I believe I am facing the exact same issue that @spirift faced, specifically:

I figure it's only a case of running the compiled code produced from svelte-jester through babel but I'm not sure how to do that

I configured rollup to use babel, so the plugin works well when I access the application on the browser, but when I try to run a test for the component that uses the plugin, I get the error Cannot find module [...], which makes sense if the Babel plugin is not being used.
It seems you guys solved @spirift specific problem another way, so I wonder: what should be the general approach for this?
I don't have much experience with JS and I am still trying to wrap my head around this stuff, so I am sorry if this issue is not related to this repository! Anyway, any guidance is appreciated...

Hey @nunesmatheus basically Jest runs in a Node environment so it resolves only CommonJS modules and finds the files to pull in by looking at the main key in each package's package.json. This is why we have the concept of resolvers and transformers. Resolvers help us find the files we are trying to import, and transformers "transform" those files into CommonJS to be executed in Node.
svelte-jester is a transformer that makes sure Svelte code is transformed into JS that can run in Node so Jest can run your tests. If you're importing files from an external package then by default Jest doesn't transform those files at all. That's why babel-jest and svelte-jester are doing nothing and you're getting an error. In addition, if you're importing an external Svelte package and expecting Jest to resolve the files via the svelte key then that's not going to happen. As mentioned, it only looks at the main key.
So the general solution is if you're importing a package that contains un-transpiled code, then you have to add the following to your Jest configuration to get babel-jest to transform it:
transformIgnorePatterns: [
  "node_modules/(?!some-library)"
]

If you're importing a Svelte package and you're importing files relying on resolving them via  the svelte key. You'll need a resolver such as jest-svelte-resolver.

@mihar-22 thanks for the explanation! That's the kind of stuff I am trying to understand. I believe, however, that I failed to explain my problem. I was actually trying to import a simple .js file located in the src folder of my svelte project. As I am going down folders, the imports were becoming verbose, like:
import { myFunction } from '../../../utils';

So I found babel-plugin-module-resolver, which allows me to set an alias on babel.config.js and import like this:
import { myFunction } from 'utils';

I configured rollup to run babel after compiling svelte files, so the babel plugin worked when running the application on the web browser, but not on tests, because jest was using svelte-jester to transform svelte files, not babel, so I figured I needed to chain svelte-jester with babel-jest. Here's the transformer I came up with:
const babelJest = require('babel-jest')
const svelteJester = require('svelte-jester')

const transformer = (src, filename, ...rest) => {
  const transformedContent = svelteJester.createTransformer().process(src, filename);
  return babelJest.process(transformedContent.code, filename, ...rest)
}

exports.process = transformer

I saved it to a file ./svelte-jester-babel.js and changed my jest.config.js from:
module.exports = {
  transform: {
    '^.+\\.svelte$': 'svelte-jester',
    '^.+\\.js$': 'babel-jest',
  }
}

to:
module.exports = {
  transform: {
    '^.+\\.svelte$': './svelte-jester-babel',
    '^.+\\.js$': 'babel-jest',
  }
}

After hours and hours of research, I feel like this should be straightforward for experienced people, but I am posting here because it might be useful for someone that comes across something like this and struggles with the core concepts like me...
Unfortunately my transformer does not handle sourcemaps well, so npx jest --coverage is broken, but I believe this is a start.

Ahhh I see, I haven't been in that situation exactly but I would try to use moduleNameMapper.
Maybe something like this:
module.exports = {
  // ...
  'moduleNameMapper': {
    'utils': '<rootDir>/src/utils/$1'
  }
}

Cool! It does work :). It's a tiny bit of a bummer that the same aliases have to be declared on two files, but it is totally worth it because now I can use jest --coverage! Thanks!!


CLA issues fix

CLA issues fix

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.harmonygeek seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[REGRESSION] The start maximized option in the Appearance tab of its Preferences no longer works properly

Having it checked is the same thing as having it unchecked.

Windows 11 23H2

This issue is still occurring for me.

ShowWindow is never called on g_Hwnd (the main window). Instead, the window is made visible through the WS_VISIBLE flag.
But I will make a commit to call ShowWindow so that perhaps your issue will be fixed.

Thanks. That fixed it.


fail-simulator-on-error can exit with success

If the fail-simulator-on-error.h error handler itself crashes -- by, say, exhausting the stack during a ConditionalDebug::log call -- then the simulation can end with a successful result, because we don't reach the simulation_exit(1) call.
I'm not quite sure what to do about this, but it sure is sad.  It'd have been nice if HTIF and friends had allowed separately setting the exit status and commanding the exit, but alas.

Yes, I've known this for a while. The Hello World example was exiting that way due to its small stack and returning from the entry point causing a trap on returning to null. Thankfully you fixed that by setting up the the thread entry point so it returns cleanly into the switcher and then thread exit.
One potential solution would be to add a stackless error handler and use CHERIOT_DURING etc. in the compartment_error_handler! This would require linking with unwind library.


add support for customizing SNI for TunnelingAgent

PR Checklist:

[ Y] I have run npm test locally and all tests are passing.
[ N] I have added/updated tests for any new behavior.

[ N] If this is a significant change, an issue has already been created where the problem / solution was discussed: [N/A, or add link to issue here]

PR Description
Please refer to
https://github.com/request/request/issues/3204

it's already reported:
https://github.com/request/tunnel-agent/pull/45


Use -f to provide non-zero return codes

Signed-off-by: Russell Bunch<EMAIL_ADDRESS>Description

Checklist Before Merging

[ ] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[ ] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[ ] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

/backport release/1.3


allow use MultiValueArgument and MultiKeywordArgument together without word_breakpoint

Hi! Thank's for great library!
I want use MultiValueArgument and MultiKeywordArgument together like this:
class MyTag(Tag):
    name = 'my_tag'
    options = Options(
        MultiValueArgument('args'),
        MultiKeywordArgument('kwargs'),
        blocks=[('end_my_tag', 'nodelist')],
    )

    def render_tag(self, context, args, kwargs, nodelist):
        # some logic ...
        return some_result

# in template
{% my_tag var_1 var_2 key_1=v_1 key=v_2 %}

But in case I get error with parsing of arguments: MultiValueArgument takes all 'var_1 var_2 key_1=v_1 key=v_2' and can not parse 'key_1=v_1':
TemplateSyntaxError at /.../
Could not parse the remainder: '=v_1' from 'key_1=v_1'

To decide this bug it need use 'word_breakpoint' like this:
class MyTag(Tag):
    name = 'my_tag'
    options = Options(
        MultiValueArgument('args'),
        'word_breakpoint',
        MultiKeywordArgument('kwargs'),
        blocks=[('end_my_tag', 'nodelist')],
    )

    def render_tag(self, context, args, kwargs, nodelist):
        # some logic ...
        return some_result

# in template
{% my_tag var_1 var_2 word_breakpoint key_1=v_1 key=v_2 %}

But this solution need to use  'word_breakpoint'.

How would it know when to stop parsing your "args" without you telling it where it stops? Explicit really is better than implicit, maybe use a shorter breakword?
If the existence of the = character in an argument means it should switch modes, you can probably use something like this:

class MagicMultiValueArgument(MultiValueArgument):
    def parse(self, parser, token, tagname, kwargs):
        """
        Parse a token.
        """
        value = self.value_class(self.parse_token(parser, token))
        if '=' in value:
            return False
        else:
            return super().parse(parser, token, tagname, kwargs)

I find solution for this issue: https://github.com/divio/django-cms/blob/develop/cms/templatetags/cms_tags.py#L1038
It looks like to your code.
May be use your code for modification of MultiValueArgument?

The thing in django CMS looks better than what I wrote above.
It doesn't do this by default because it would break {% mytag "arg=one" foo=bar %}. You can just pass string constants as arguments and those could include = characters.

I see, it's interesting case. I'm agree.
Then maybe add additional some 'MagicMultiValueArgument' with Django CMS impliment to django-classy-tags? Or it's no good idea?

I would prefer not having it in classy-tags. There's absolutely nothing wrong with subclassing argument classes to meet your needs (actually: that's encouraged!).

OK, I see. I'm agree with you.
Thanks for having time for this ussie!


Add supervisor name to window title

Added functionality that adds the supervisor name to the game client title to easier find which of all windows is having an issue and solve it

Implemented with #490


Training / inference script for the models

Hi,
Thanks for the great collection of models.
I would like to fine-tune the existing models on my own dataset. Could you please share the instructions for the same, or point me to a training & inference script?
Thanks.

Hi @naveenv2,
The training and inference script are present here:
https://github.com/Open-Speech-EkStep/vakyansh-wav2vec2-experimentation


Load textures at runtime

So that people can edit textures without having to rebuild the app.

Yeah, I've also been thinking about this. I have a few ideas in mind for it.
On Tue, May 19, 2015 at 11:25 PM James Gilles<EMAIL_ADDRESS>wrote:

So that people can edit textures without having to rebuild the app.
—
Reply to this email directly or view it on GitHub
https://github.com/JapaMala/armok-vision/issues/16.

Okay, this is working now.


Firesass fails with Firebug 1.8

It installs without any complaint but it wont show the sass line numbers on the inspector.
Am i missing anything?

Hi nex3. :) No news under the sun about FireBug 1.8? I'm still in stuck with it.

I'd love to see it happening too :-)

Hm, it works to me?

Not working for me. Using FireBug 1.8.4

Not working for me either.
Firebug 1.9.0a5
Firefox 8.0 (release channel)

Firefox 8.0 stable, FireBug 1.9.0b1, Latest version of FireSASS - doesn't work for me neither. Shame :(

Firefox 9.0.1, Firebug 1.8.4, FireSASS from the repo (I bumped maxVersion to install it into latest Firefox).
It works:

By the way, when I click on line numbers links I see the following.

Is it OK?

Ok, how do I install it from the repo ?

$ git clone git://github.com/NV/firesass.git
$ cd firesass
$ rake package
Packaging FireSass 0.0.6
zip -r pkg/firesass-0.0.6.xpi<EMAIL_ADDRESS>  adding: .zipignore (deflated 4%)
  adding: chrome/ (stored 0%)
  adding: chrome/content/ (stored 0%)
  adding: chrome/content/firesass.xul (deflated 38%)
  adding: chrome/content/reps.js (deflated 67%)
  adding: chrome/locale/ (stored 0%)
  adding: chrome/locale/en-US/ (stored 0%)
  adding: chrome/locale/en-US/firesass.properties (deflated 42%)
  adding: chrome.manifest (deflated 53%)
  adding: install.rdf (deflated 53%)
  adding: license.txt (deflated 49%)
  adding: Rakefile (deflated 57%)
  adding: README.md (deflated 47%)
  adding: skin/ (stored 0%)
  adding: skin/logo.png (stored 0%)
  adding: skin/screenshot.png (deflated 2%)
  adding: VERSION (stored 0%)

Drag pkg/firesass-0.0.6.xpi into Firefox window to install it.

That worked for me, thanks NV!

Is this still fixed?  :)  I'm trying the github cloned firesass with firefox 10.0.1 and firebug 1.91.

The latest build worked for me briefly. But currently not working with Firefox 10.0.2 and Firebug 1.9.1
Perhaps it was a minor version upgrade with FF? Not sure.


add rnpm support for linking

can you implement rnpm support to link all the native dependencies automatically.

Hi @seraj-ahmad, I've been looking into this in the past few days and I have no idea on how to get this working. If you can help out that would be awesome! Meanwhile, I'll experiment and see where I can get to.

I started working on it. I will send out the pull request as soon as it is working

Thanks @clozr !


browse: implement OPTIONS and PROPFIND

I'd like to extend the built-in plugin browse by HTTP methods OPTIONS and (trivial) PROPFIND. Both are read-only. PROPFIND will add a third view to browse, which currently renders for text/html and application/json. Would you entertain a corresponding PR?
The changes will enable users of some Windows versions to enter the URL of an endpoint (representing a directory; browse displays directories) in Windows Explorer and see its contents as if it were a local folder.

Propfind is a WebDAV method, right? I'm not sure if we want the browse middleware to get into webdav space (do we?). Check this out: https://forum.caddyserver.com/t/webdav-server-support/1629/3?u=matt - similar?

browse does currently not emit listings in XML. Before inventing one from scratch I like to reuse an existing one.
PROPFIND would work like a GET, only that the parameters are in a different place and extensions get ignored. Low hanging fruit, the added benefit of becoming a convenient way for, say, developers in a LAN to get to static files (like build artifacts) without a browser.
A full WebDAV implementation would go before browse, and needs quite more than a rendering a third format.

only that the parameters are in a different place and extensions get ignored

What do you mean by extensions? Like HTTP extensions?
I suppose if it's just a few lines of code and not very invasive, this would be okay. Sounds like all it requires is adding a third view (XML, yuck, but whatever) and a PROPFIND and OPTIONS method check.
Although I thought OPTIONS was an attack vector for some class of HTTP attacks.

Re OPTIONS: The response would be:
HTTP/1.1 200 OK
Allow: OPTIONS, PROPFIND, GET, HEAD
DAV: 1, 2

… two fields, the bare minimum to get most clients to use PROPFIND. Setting this is the low hanging fruit. :-)
Re extensions: The client can set them when sending PROPFIND in the body – which would otherwise be empty on GET. Something like this, excerpt:
<prop>
  <supported-live-property-set />
  <getlastmodified />
</prop>

… can and will be ignored.
In a nutshell, the above is kind of an alias to curl -X GET -H "accept: text/xml".
The response code will be 200 with GET, and 207 with PROPFIND. The difference here is that for every file a key DAV:status is set with content HTTP/1.1 200 OK substituting the overall 200 we'd return with GET. 207 tells the client to its return code from the body from every entry.
Bottom line, not complex and two birds one stone.

@wmark This sounds fine to me -- not too invasive, only the Allow and DAV headers for an OPTIONS request -- I think we could accept a PR for it.

Work commenced. Testing with a few WebDAV (read-only), and XML libraries to maximize impact. PR follows this week.

Closing this for now. I won't have the time to support this after the PR landed.


Added AudioSystem / Changed to CameraSystem

AudioSystem:

First attempt with audio and OpenAL.
Also works 3d-ish, including distance.
We have to convert Stereo16 to Mono16, because only
mono sounds are affected by ditance.

CameraSystem:

Updated Camera to CameraSystem

General:

Changed all demos, so they won't be affected

Note: this is initial support for Audio; lots of improvements to be made, but it's nice to have something.

Awesome contribution @EtienneBruines!

Still have to force-push some changes, so don't push just yet, but I'm waiting for that so I won't break comments (not sure if it would, but would be a shame if it did).

Everything is now according to the changes discussed.
One thing I didn't address, is the Playing State w.r.t. the GoF. This is mostly because I'm not sure what I should be changing.
It looks good to me, but as this is my PR, someone else should say/approve it :-).

So, I'd be happy to have GoF in another PR.

GoF State pattern could be an overkill. One would have to play and check if this is not over engineered for a simple use case.

@matiwinnetou does this LGTY?

yes, LGTM

Thanks again @EtienneBruines!


temp switch hicdex and and ipfs-proxy to teztok server so that zir0h …

…can update his server

i suppose we can also just risk doing this without huge testing sessions :)

Or on one of those onrender previews?

Nevermind, YOLO'd on .rocks, seems to work perfectly! :smile:


Refactoring card definitions

Before I commit to this (pun intended) I wanted to suggest a refactoring like this to get card definitions into their own files.
I am happy to follow up with other model instances too if this seems reasonable.
I am interested in contributing some features as well just trying to get my bearings in the codebase first!

hi! I'm curious what you see as the benefit of doing this is. I'm not sure if it is just because I've gotten familiar with the existing setup but I quite like having everything in one file (most of the code in these files are unchanged once implemented with the exception of the occasional bug fixes so I'm not sure we'll gain too much unless we also plan to do further refactoring / code changes after splitting the entities into their own files)

It mostly just seems easier for someone coming onto the project to understand if things are separated out, and then makes future bug fixes or refactorings easier as well (IMO).  I like having easier chunks of code to digest but it's your project so if you don't think there is a benefit then i can work around it.


feature: don't save buffers out of the cwd

Did you check the docs?

[X] I have read all the persistence.nvim docs

Is your feature request related to a problem? Please describe.
Yes, kind of. Buffers with files that are not part of the cwd seem to be persistent even after closing them.
Describe the solution you'd like
At the moment (using LazyVim distro) buffers with files that are not part of the cwd are saved in the session. Furthermore, those buffers seem to be persistent, that is, even if I close them, quit neovim, reopen and restore the session, they show up again.
Describe alternatives you've considered
I have consider implementing a function to pass to pre_save that close/delete the buffers with file paths that are no children of the cwd. Would this be the approach to go with here?
Thanks in advance!
Additional context
This is a session which cwd is ~/.config/nvim:
let SessionLoad = 1
let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1
let v:this_session=expand("<sfile>:p")
silent only
silent tabonly
cd ~/.config/nvim
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
  let s:wipebuf = bufnr('%')
endif
let s:shortmess_save = &shortmess
if &shortmess =~ 'A'
  set shortmess=aoOA
else
  set shortmess=aoO
endif
badd +16 lua/plugins/colorschemes.lua
badd +1 lua/config/options.lua
badd +0 ~/.prettierrc.json
argglobal
%argdel
$argadd ~/.prettierrc.json
tabnext 1
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal'
  silent exe 'bwipe ' . s:wipebuf
endif
unlet! s:wipebuf
set winheight=1 winwidth=20
let &shortmess = s:shortmess_save
let s:sx = expand("<sfile>:p:r")."x.vim"
if filereadable(s:sx)
  exe "source " . fnameescape(s:sx)
endif
let &g:so = s:so_save | let &g:siso = s:siso_save
set hlsearch
nohlsearch
doautoall SessionLoadPost
unlet SessionLoad
" vim: set ft=vim :

As you can see, there is ~/.prettierrc.json that was saved and it is not part of the cwd.

@idr4n The pre_save function you described is a valid solution, which would look like this:
local function pre_save()
	-- remove buffers whose files are located outside of cwd
	local cwd = vim.fn.getcwd() .. '/'
	for _, buf in ipairs(vim.api.nvim_list_bufs()) do
		local bufpath = vim.api.nvim_buf_get_name(buf) .. '/'
		if not bufpath:match('^' .. vim.pesc(cwd)) then
			vim.api.nvim_buf_delete(buf, {})
		end
	end
end

require('persistence').setup{
	pre_save = pre_save,
}

Thanks @koonix. I'm closing this issue based on your solution.


add demo

And thanks a lot for this project

And thanks a lot for this project

Sorry about the delay - I've been quite busy over the past few days.
I noticed that you modified lib/cjpeg.js. That file is a CommonJS module, meant to be used by Node.js. To use it in a browser, you'll need to bundle it correctly, which is done in the NPM package<EMAIL_ADDRESS>Thanks for your contribution! I'll probably reuse your code once I get a chance to create a demo page (and properly document this library).

Thanks, yes I know cjpeg.js was meant to be required and felt bad to modify it, but I use mozjpeg-js or pngquantjs from a Worker in browser, doesn't really need to be integrated in some other code, a global function is enough I think. Do you accept if I put a if (typeof module!=='undefined') .. in cjpeg.js instead to keep compatibilty?

That's already done in the bundled version. The Rollup build process automatically creates a module that, if running in a browser, creates a global function mozjpeg.cjpeg.

and the bundle comes with npm run build right, I had and still have this error:
D:\Dev\mozjpeg-js>npm run build

><EMAIL_ADDRESS>build D:\Dev\mozjpeg-js
> rollup -c

Could not load null: path must be a string or Buffer
Error: Could not load null: path must be a string or Buffer
    at D:\Dev\mozjpeg-js\node_modules\rollup\src\Bundle.js:183:11
    at process._tickCallback (internal/process/next_tick.js:103:7)
    at Module.runMain (module.js:607:11)
    at run (bootstrap_node.js:422:7)
    at startup (bootstrap_node.js:143:9)
    at bootstrap_node.js:537:3
Type rollup --help for help, or visit https://github.com/rollup/rollup/wiki

npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\admin\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
npm ERR! node v7.6.0
npm ERR! npm  v3.10.9
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build: `rollup -c`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script 'rollup -c'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the mozjpeg-js package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     rollup -c
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs mozjpeg-js
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls mozjpeg-js
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     D:\Dev\mozjpeg-js\npm-debug.log

the problem is probably that index.js is in lib/ it should be at the root


Show placeholder land / estates with grey boxes and a placeholder name while the real ones load

Image from React Native Elements could help with this https://react-native-training.github.io/react-native-elements/docs/image.html

This issue arguably should be merged with https://github.com/tasitlabs/tasit/issues/115

@marcelomorgado Merging this into #115


Request to consolidate global conditions keys

The other day I came across two IAM documents discuss global condition keys:

AWS Global Condition Context Keys
IAM Policy Elements: Variables

The document AWS Global Condition Context Keys seems to be the better choice for in depth information. Consider removing the conditions & their descriptions from IAM Policy Elements: Variables and just link to AWS Global Condition Context Keys?
One more thing, the  document IAM Policy Elements: Variables has unique information that the condition aws:UserAgent should only be used with the AWS CLI and not for restricting a web browser:
aws:UserAgent This value is a string that contains information about the requester's client application. This string is generated by the client and can be unreliable. You can only use this context key from the AWS CLI.
Can we get this unique information added to AWS Global Condition Context Keys

Excellent suggestions! I've added them to our backlog and hope to add them to the docs in the next few months.


compose: Silent mentions don't work with user groups.

The compose typeahead doesn't recognize it, and the markdown parser doesn't either.

Hi @rishig, i was working on one markdown recently and would like to work on this one. @zulipbot claim

This was to some extent intentional (we put user groups with wildcard mentions on this front).  But I guess there's a use case for silent mentions of user groups in a way there isn't with wildcard mentions, so I suppose we can add it.

I would be in favor of adding these if only to prevent notifications on
quoting something, but not with full typeahead support. It is much more
important to know which "Generic Name" we're talkng about, but if you have
two "Mobile Teams" or similar, then I think it is more of an issue with
naming.
On Sun, Mar 3, 2019, 1:44 AM Tim Abbott<EMAIL_ADDRESS>wrote:

This was to some extent intentional (we put user groups with wildcard
mentions on this front). But I guess there's a use case for silent mentions
of user groups in a way there isn't with wildcard mentions, so I suppose we
can add it.
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zulip/zulip/issues/11711#issuecomment-468956113, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHqT1udke2NmxRjh-Mwhb8VvoH9VBtKSks5vStuIgaJpZM4bV6FO
.

yeah, I think at-all should also allow this syntax, for quote and reply.

@zulipbot  Waiting for PR review!

@zulipbot claim

@timabbott, we should close the PR: #11862 since the issue is fixed now.


Memory Warning

Hi, thanks for your awesome work! This project is a beast!
I'm trying to place a mapView into a cell but everytime the tableview is scrolled then the controller reloads the section (bypassing the !_section control block) throwing a memory warning exception in no time.
Any way i can avoid this??!
Thanks

Did you find the problem?

I solved it using a flag on my custom cells classes. Thanks for your help.
Alessandro Lucarini
<EMAIL_ADDRESS>
On 01 Oct 2015, at 15:34, Ernesto Rivera<EMAIL_ADDRESS>wrote:
Did you find the problem?
—
Reply to this email directly or view it on GitHub https://github.com/CyberAgent/AMBTableViewController/issues/4#issuecomment-144727282.

Good to hear that.


Suggestion : Write Incidents to a Local File.

The Google Sheets solution seems a bit convoluted as obtaining the credentials.json may not be for everyone. Additionally, i can imagine users leaving the json insecure and risking someone obtaining access to their google sheets.
Have you thought of implementing it via a Local File? Perhaps, save it to a Local CSV or XLSX?

I would gladly be willing to assist to add this feature.

Writing to a local file hasnt really been a priority so far but there is not reason why that couldn't be a feature.
I would prefer CSV since thats the easiest but its still human readable.
I have done something similar before with a json file. There i update the file everytime a new incident comes in so there is no need to save the file explicitly. Also removes the possibility of forgetting to save it.
In regards to the credentials.json; i am not a expert on Google API stuff but the credentials should be safe since you still have to log in with yout google account to use it. In a perfect world i would supply the credentials to the user myself but there is a 100 person limit on an unverified application and i have no idea how to get it verified.
Feel free to give it a go, im here for any questions on my weird code.

I dont think this other person ever did anything with it.
It shouldnt be to hard to implement this kind of feature.


ImportError: No module named jscompiler

When I build movie-en It has occur error
Movie - en - uncompressed:
Traceback (most recent call last):
File "third-party/build/closurebuilder.py", line 39, in
import jscompiler
ImportError: No module named jscompiler
Movie - en - compressed:
Traceback (most recent call last):
File "third-party/build/closurebuilder.py", line 39, in
import jscompiler
ImportError: No module named jscompiler

Did you 'make deps' first?

Yes, I resolve the problem by pip install https://github.com/jeffkistler/jscompiler/archive/master.zip


[documentation] moving info out of the metrics section

What does this PR do?
Updates the metrics section to remove the notes and restore the magic phrase. The notes are keeping the metrics from rendering on the tile and on the documentation.
Motivation
Broken things should be fixed.

@yzhan289 and @mx-psi  looks like the case update dismissed your reviews. can you please approve again?


Docker plans?

Hello,
are there plans for docker images?
Would be a great thing to limit memory usage with docker and the good server setup from linuxgsm.
I want to have multiple game server on one server. But some game server like very ram and use it as much as they can and other game server is going empty.

+1

i was thinking about this a few days ago.
linuxgsm + docker would be a game changer.

see here: https://hub.docker.com/r/johnjelinek/csgoserver/

I have played with docker and i think ot will work but I have no official plans for it. Mainly due to time limits. However I welcome anyone to try themselves to adapt lgsm to work with docker.


mini-css-extract-plugin is not compatible with ie11

Version
3.11.0
Environment info
System:
    OS: macOS Mojave 10.14.5
    CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
  Binaries:
    Node: 10.9.0 - /usr/local/bin/node
    Yarn: 1.19.0 - /usr/local/bin/yarn
    npm: 6.2.0 - /usr/local/bin/npm
  Browsers:
    Chrome: Not Found
    Firefox: Not Found
    Safari: 12.1.1
  npmPackages:
    @fortawesome/vue-fontawesome: ^0.1.6 => 0.1.6
    @storybook/vue:  5.1.11
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.0.0
    @vue/babel-preset-app:  3.11.0
    @vue/babel-preset-jsx:  1.1.0
    @vue/babel-sugar-functional-vue:  1.0.0
    @vue/babel-sugar-inject-h:  1.0.0
    @vue/babel-sugar-v-model:  1.0.0
    @vue/babel-sugar-v-on:  1.1.0
    @vue/cli-overlay:  3.11.0
    @vue/cli-plugin-babel: ^3.11.0 => 3.11.0
    @vue/cli-plugin-e2e-nightwatch: ^3.10.0 => 3.10.0
    @vue/cli-plugin-typescript: ^3.6.0 => 3.8.1
    @vue/cli-plugin-unit-mocha: ^3.10.0 => 3.10.0
    @vue/cli-service: ^3.6.0 => 3.11.0
    @vue/cli-shared-utils:  3.11.0 (3.10.0)
    @vue/component-compiler-utils:  3.0.0
    @vue/preload-webpack-plugin:  1.1.1
    @vue/test-utils: 1.0.0-beta.29 => 1.0.0-beta.29
    @vue/web-component-wrapper:  1.2.0
    typescript: ^3.4.3 => 3.5.2
    vue: ^2.6.10 => 2.6.10
    vue-cli-plugin-storybook: ^0.6.1 => 0.6.1
    vue-cli-webpack:  1.0.0
    vue-hot-reload-api:  2.3.4
    vue-json-component: ^0.3.0 => 0.3.0
    vue-loader:  15.7.1
    vue-prism-component: ^1.1.1 => 1.1.1
    vue-prism-editor: ^0.2.1 => 0.2.1
    vue-router: ^3.0.1 => 3.0.2
    vue-style-loader:  4.1.2
    vue-template-compiler: ~2.6.6 => 2.6.10
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: 3.0.5

Steps to reproduce

Create a vue-cli project with ie11 as supported browser
Set extract css to true ( vue.config.js -> css { extract: true} } )
Try and view the application on IE11

What is expected?
Application runs in ie11
What is actually happening?
Unable to open application in ie11 due to compilation errors

The issue seems to be that @vue/cli-service is relying on mini-css-extract-plugin: "^0.6.0" which relies on a version of "normalize-url" which is incompatible with ie11.
see below for more information.
https://github.com/webpack-contrib/mini-css-extract-plugin/issues/385

You are referring to an outdated issue.
The depended version of normalize-url in the latest mini-css-extract-plugin is pinned to 1.9.1, which does not have the compatibility issue.
I think it's likely to be caused by other dependencies in your project. So please provide a reproduction repo.
Also, as a last resort, you can try to add transpileDependencies: [/.*/] to your vue.config.js to transpile all your deps through babel.

Here is a simple reproduction - https://github.com/Billaye/extract-css-bug
Done using vue-create only adding the below snippet to vue.config.js
 css: {
    extract:true
 }

The main problem is<EMAIL_ADDRESS>depends on a version of mini-css-extract-plugin that doesn't support ie11. Which is mini-css-extract-plugin "^0.6.0".
I've tried to transpile that module directly, it had some issues. I'd avoid that for now.
Thanks for responding.

Thanks for the report!
Didn't realize the dependency version in v3 is not updated. Will try to release a patch this weekend.

Sorry for the delay, now v3.12 is available.


Faux astro-tiles for science & mappers

About the PR

fake grass-planet and ice tiles which aren't indestructible and can be removed and replaced with a crowbar
t2 civilian services. no particular reason for this decision but theyre both pretty fancy and imposing + ice is pretty useful as transportation sort of
FUN !! ice rinks!! yay!!
a tile mappers should map into station maps instead of the indestructible planet variants!!
maybe more in the future to make this worth it but i just wanted these 2 for now
Why / Balance

Technical details

Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

add: Scientists can now fabricate faux grass planet and ice tiles with a tier 2 civilian services research! They're just as good as the real thing, while being removable.

astro-snow?

oh, i should have added it tbh


Purpose of ServiceResult

When looking through the proposed design in the article, I was a little confused about the purpose of the ServiceResult class. My We already have Response and HTTPException from FastAPI/Starlette which seem to fulfill the same purpose. What benefit does having a dedicated ServiceResult provide? (for instance, what is a case where we would want to use __enter__ and __exit__ in a result rather than performing the behavior directly?)

Hi @MatthewScholefield, thank you for your comments!
FastAPI is a flexible, unopinionated framework. This allows us to quickly outline an API with a handful of routes without any boilerplate. Contrary to Django, for instance, all it takes is one module with a few lines of code, and we're good to go.
This flexibility allows us to structure a FastAPI project, as it grows in complexity, exactly as we want. Building upon this example in the docs, we can see that separating response and exception handling from CRUD operations makes sense as soon as the project grows above a handful of routes.

Handle requests and responses in main module:

# main.py

@app.get("/users/{user_id}", response_model=schemas.User)
def read_user(user_id: int, db: Session = Depends(get_db)):
    db_user = crud.get_user(db, user_id=user_id)
    if db_user is None:
        raise HTTPException(status_code=404, detail="User not found")
    return db_user

Handle CRUD operations in crud module:

# crud.py

def get_user(db: Session, user_id: int):
    return db.query(models.User).filter(models.User.id == user_id).first()

Now, let's assume you want to add logic to prevent returning data via this route for any user whose profile was deactivated. Should we put this logic in main or crud? This, I believe, relates to your question regarding why we would separate different parts of our implementation "rather than [perform] the behavior directly". The outcome in a functional sense is identical. However, in systematizing routes, models, schemas, business logic into distinct modules, I found it easier to reason about larger projects as a whole.
The companion article to this repository in fact inserted a layer in between the two layers described above: The business logic layer, tasked with handling anything that is not explicitly handling request-response and not explicitly handling lower-level tasks such as CRUD. This starts to make sense especially in a project of a certain size, which I will illustrate further.
The way I proposed thinking about separating both concerns (e.g., request/response handling from CRUD operations, like in the example above) and scope of the respective services (by putting all related modules in their respective package, e.g., putting all routes into the package route) resulted in the following structure:

Separate everything related to the authentication service auth from the service handling static assets for all blogposts blog. Thus, CRUD operations for these two services are no longer together in crud.py, but in services/auth.py and services/blog.py, respectively.
Routes for auth and blog are in routes/auth.py and routes/blog.py respectively
etc...

I conceptualized ServiceResult as the "interface" between the three layers of controller (routes), service (business logic) and data access (CRUD) for:

accepting requests (top down: controller → service → data access)
returning responses (bottom up: data access → service → controller)

... thereby, the request-response flow "follows" / conceptually matches the call stack of the execution first "down" and then back "up" across the different components of the implementation.
Of course, we are completely free to directly call both Response and HTTPException in any of the three layers instead of deliberately always handling responses from the controller (routes) layer. Seeking to structure the project in a more rigid (and, of course, arbitrary) fashion, I sought to reduce cognitive load and context switching when working on a specific part of the project. As such, in a larger project, it's always clear in which module to find all routes/CRUD operations/models/schemas/... belonging to a specific service. I hope this explained some of the reasoning behind this concept. I'm curious to hear your thoughts of alternative approaches!

Hi @MatthewScholefield, thank you for your comments!
FastAPI is a flexible, unopinionated framework. This allows us to quickly outline an API with a handful of routes without any boilerplate. Contrary to Django, for instance, all it takes is one module with a few lines of code, and we're good to go.
This flexibility allows us to structure a FastAPI project, as it grows in complexity, exactly as we want. Building upon this example in the docs, we can see that separating response and exception handling from CRUD operations makes sense as soon as the project grows above a handful of routes.

Handle requests and responses in main module:

# main.py

@app.get("/users/{user_id}", response_model=schemas.User)
def read_user(user_id: int, db: Session = Depends(get_db)):
    db_user = crud.get_user(db, user_id=user_id)
    if db_user is None:
        raise HTTPException(status_code=404, detail="User not found")
    return db_user

Handle CRUD operations in crud module:

# crud.py

def get_user(db: Session, user_id: int):
    return db.query(models.User).filter(models.User.id == user_id).first()

Now, let's assume you want to add logic to prevent returning data via this route for any user whose profile was deactivated. Should we put this logic in main or crud? This, I believe, relates to your question regarding why we would separate different parts of our implementation "rather than [perform] the behavior directly". The outcome in a functional sense is identical. However, in systematizing routes, models, schemas, business logic into distinct modules, I found it easier to reason about larger projects as a whole.
The companion article to this repository in fact inserted a layer in between the two layers described above: The business logic layer, tasked with handling anything that is not explicitly handling request-response and not explicitly handling lower-level tasks such as CRUD. This starts to make sense especially in a project of a certain size, which I will illustrate further.
The way I proposed thinking about separating both concerns (e.g., request/response handling from CRUD operations, like in the example above) and scope of the respective services (by putting all related modules in their respective package, e.g., putting all routes into the package route) resulted in the following structure:

Separate everything related to the authentication service auth from the service handling static assets for all blogposts blog. Thus, CRUD operations for these two services are no longer together in crud.py, but in services/auth.py and services/blog.py, respectively.
Routes for auth and blog are in routes/auth.py and routes/blog.py respectively
etc...

I conceptualized ServiceResult as the "interface" between the three layers of controller (routes), service (business logic) and data access (CRUD) for:

accepting requests (top down: controller → service → data access)
returning responses (bottom up: data access → service → controller)

... thereby, the request-response flow "follows" / conceptually matches the call stack of the execution first "down" and then back "up" across the different components of the implementation.
Of course, we are completely free to directly call both Response and HTTPException in any of the three layers instead of deliberately always handling responses from the controller (routes) layer. Seeking to structure the project in a more rigid (and, of course, arbitrary) fashion, I sought to reduce cognitive load and context switching when working on a specific part of the project. As such, in a larger project, it's always clear in which module to find all routes/CRUD operations/models/schemas/... belonging to a specific service. I hope this explained some of the reasoning behind this concept. I'm curious to hear your thoughts of alternative approaches!

Thanks for the response!

I conceptualized ServiceResult as the "interface" between the three layers of controller (routes), service (business logic) and data access (CRUD) for...

Just to clear up confusion, ServiceResult is the interface between only the service layer and the controller (on the returning side) right?
Assuming that's the case, I do see how it makes sense to provide a uniform result from the service layer (and also perhaps the idea that raising an HTTPException is a controller related task).
With regards to my comment on "performing the behavior directly", I was trying to understand if ServiceResult's usage of __enter__ and __exit__ was to support custom context manager behavior in extended ServiceResult objects. Since I cannot imagine a case where you would want to return a context manager from a service, is this only used for syntactic convenience to allow extracting the value via a context manager? (Personally, I think letting consumers just use .valueto access it would make more sense)

Thanks for the response!

I conceptualized ServiceResult as the "interface" between the three layers of controller (routes), service (business logic) and data access (CRUD) for...

Just to clear up confusion, ServiceResult is the interface between only the service layer and the controller (on the returning side) right?
Assuming that's the case, I do see how it makes sense to provide a uniform result from the service layer (and also perhaps the idea that raising an HTTPException is a controller related task).
With regards to my comment on "performing the behavior directly", I was trying to understand if ServiceResult's usage of __enter__ and __exit__ was to support custom context manager behavior in extended ServiceResult objects. Since I cannot imagine a case where you would want to return a context manager from a service, is this only used for syntactic convenience to allow extracting the value via a context manager? (Personally, I think letting consumers just use .valueto access it would make more sense)

ServiceResult is the interface between only the service layer and the controller (on the returning side) right?

Exactly, I apologize for being imprecise.

Since I cannot imagine a case where you would want to return a context manager from a service, is this only used for syntactic convenience to allow extracting the value via a context manager? (Personally, I think letting consumers just use .value to access it would make more sense)

Purely syntactic sugar. See the convenience function handle_result:
def handle_result(result: ServiceResult):
    if not result.success:
        with result as exception:
            logger.error(f"{exception} | caller={caller_info()}")
            raise exception
    with result as result:
        return result

We could easily deal with result.value directly within routes, but (as seen in the example above) as soon as we need to add additional logic (such as logging) for every route it would make sense to reduce this in order to reuse across routes. Also, it would be possible to not use any context manager and directly access result.value from a handle_result function, however it may look like.

ServiceResult is the interface between only the service layer and the controller (on the returning side) right?

Exactly, I apologize for being imprecise.

Since I cannot imagine a case where you would want to return a context manager from a service, is this only used for syntactic convenience to allow extracting the value via a context manager? (Personally, I think letting consumers just use .value to access it would make more sense)

Purely syntactic sugar. See the convenience function handle_result:
def handle_result(result: ServiceResult):
    if not result.success:
        with result as exception:
            logger.error(f"{exception} | caller={caller_info()}")
            raise exception
    with result as result:
        return result

We could easily deal with result.value directly within routes, but (as seen in the example above) as soon as we need to add additional logic (such as logging) for every route it would make sense to reduce this in order to reuse across routes. Also, it would be possible to not use any context manager and directly access result.value from a handle_result function, however it may look like.

Sorry to bring this closed issue back to life, the whole ServiceResult seems a lot like the concurrent.futures.Future/asyncio.Future, which have a result method that does exactly what your handle_result does.
But why have a separate function (instead of a method) for handling the result?
I mean you could have something like ServiceResult.result_or_raise() or ServiceResult.result() to keep it similar to Future interface.


feat: Update the anchor tags in footer

The anchor tags in footer get underlined when hovered.

Please provide a "before" and "after" screenshot so that reviewers understand what you were trying to change.
Please provide more details of the tests that you performed to confirm that the change did not have unexpected side effects.

Please provide a "before" and "after" screenshot so that reviewers understand what you were trying to change.

And the title please, "update anchor" isn't a changelog message
also @zbynek did we not add light/darkmode into storybook? I don't see an option on https://deploy-preview-135--jenkins-io-components.netlify.app/?path=/story/example-footer--default

@halkeye currently the dark/light/auto setting only works for Navbar stories, not footer (because footer is always white text + the same shade of blue...).

On hovering the anchor tags get underlined.

Should I make any changes or are there any corrections to be done? Please do let me know.

There is no point setting the color, it is already white. Otherwise 👍


Re-add actions to build xmake with cosmocc

Is your feature request related to a problem? Please describe.
Previously, a workflow was created to build xmake with cosmocc
https://github.com/xmake-io/xmake/blob/b657911e2b0c34674570368c73c5025eff9d7649/.github/workflows/cosmocc.yml
However, this was not successful as it didn't run, but I noticed that this build was made using macos, so I tried to build it on linux.
First, I just tested that a normal xmake build (without embed) would work
a2va:~/xmake/core$ xmake f -p linux --cosmocc=y

The executable runs fine, then I enabled embed
a2va:~/xmake/core$ xmake f -p linux --cosmocc=y

Again, no problem with the executable, then I copied the file to Windows (the build was done in WSL Ubuntu). And it starts, but with this error:
PS D:\\xm-tt> .\\xmake-tt.exe --version
Error: @programdir/core/base/task.lua:398: @programdir/core/base/winos.lua:238: Field '_registry_query' is not accessible (a null value)
Stack traceback:
    [@programdir/core/base/winos.lua:238]: in function 'registry_query'.
    [@programdir/core/base/cpu.lua:222]: in function '_info'.
    [@programdir/core/base/cpu.lua:286]: in function 'Vendor'
    [@programdir/core/base/cpu.lua:352]:
    [@programdir/core/base/os.lua:1443]: in function 'default_njob'.
    [@programdir/plugins/pack/xmake.lua:31]: in main chunk

I suspect this is because Cosmopolitan doesn't implement the Windows API for editing the registry, but those can added if needed (eg: https://github.com/jart/cosmopolitan/pull/1318), or the other solution would be to completely disable this functionality.
Describe the solution you'd like
With this feature the xmake bundle executable which is for now windows only could be extended to other platforms.
Describe alternatives you've considered
No response
Additional context
No response

I tried it before, but it still has many problems, such as it will stuck on macos ci and some windows api problems.
But I don't have time to solve them recently, so I can only delete it temporarily. If you can solve these problems, you can submit a PR.

I managed to built xmake in the CI but one of the test fails, I don't know if this is due to cmake or not.
> /usr/bin/gcc -c -m64 -DAL_LIBTYPE_STATIC -isystem /home/runner/.xmake/packages/o/openal-soft/1.23.1/ac313711f22a45f2a1a2f9b24f64d1d1/include -isystem /home/runner/.xmake/packages/l/libsndio/1.9.0/aa973ae5d04a4f53a02cf28d02c69457/include -isystem /home/runner/.xmake/packages/a/alsa-lib/1.2.10/60f829908b344b8193f7d458e8a93b5a/include -o /tmp/.xmake1001/241227/_B5599DC13D654B00859AC66A1E9E1B10.o /tmp/.xmake1001/241227/_76360DFFA3454E3488F03C9FE8D87B65.c
> /usr/bin/g++ -o /tmp/.xmake1001/241227/_B5599DC13D654B00859AC66A1E9E1B10.b /tmp/.xmake1001/241227/_B5599DC13D654B00859AC66A1E9E1B10.o -m64 -L/home/runner/.xmake/packages/o/openal-soft/1.23.1/ac313711f22a45f2a1a2f9b24f64d1d1/lib -L/home/runner/.xmake/packages/l/libsndio/1.9.0/aa973ae5d04a4f53a02cf28d02c69457/lib -L/home/runner/.xmake/packages/a/alsa-lib/1.2.10/60f829908b344b8193f7d458e8a93b5a/lib -lopenal -lsndio -latopology -lasound -lpthread -ldl
> checking for c includes(AL/al.h)
> checking for c funcs(alGetProcAddress)
> checking for c links(openal, sndio, atopology, asound, pthread, dl)
> checking for c snippet(has_cfuncs)
  => install openal-soft 1.23.1 .. ok
  => download https://www.sfml-dev.org/files/SFML-2.5.1-sources.zip .. ok
error: @programdir/core/sandbox/modules/os.lua:273: -- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - donCMake Error at /usr/local/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
  Could NOT find OpenGL (missing: OPENGL_opengl_LIBRARY OPENGL_glx_LIBRARY
  OPENGL_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/local/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/share/cmake-3.31/Modules/FindOpenGL.cmake:579 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  cmake/Macros.cmake:279 (find_package)
  src/SFML/Window/CMakeLists.txt:257 (sfml_find_package)

r remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Configuring incomplete, errors occurred!

stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:1075]:
    [@programdir/core/sandbox/modules/os.lua:273]:
    [@programdir/core/sandbox/modules/os.lua:291]: in function 'vrunv'
    [@programdir/modules/package/tools/cmake.lua:1317]: in function 'configure'
    [@programdir/modules/package/tools/cmake.lua:1359]: in function 'install'
    [./xmake.lua:192]: in function 'script'
    [...dir/modules/private/action/require/impl/utils/filter.lua:114]: in function 'call'
    [.../modules/private/action/require/impl/actions/install.lua:452]:

  => install sfml 2.5.1 .. failed
error: @programdir/core/main.lua:329: @programdir/modules/async/runjobs.lua:325: .../modules/private/action/require/impl/actions/install.lua:561: install failed!
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:1075]:
    [.../modules/private/action/require/impl/actions/install.lua:561]: in function 'catch'
    [@programdir/core/sandbox/modules/try.lua:123]: in function 'try'
    [.../modules/private/action/require/impl/actions/install.lua:419]:
    [...modules/private/action/require/impl/install_packages.lua:510]: in function 'jobfunc'
    [@programdir/modules/async/runjobs.lua:241]:

stack traceback:
	[C]: in function 'error'
	@programdir/core/base/os.lua:1075: in function 'os.raiselevel'
	(...tail calls...)
	@programdir/core/main.lua:329: in upvalue 'cotask'
	@programdir/core/base/scheduler.lua:406: in function <@programdir/core/base/scheduler.lua:399>
>>     test failed: @programdir/core/sandbox/modules/os.lua:337: exec(xmake f -c -D -y) failed(255)
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:1075]:
    [@programdir/core/sandbox/modules/os.lua:337]: in function 'exec'
    [./tests/test_utils/test_build.lua:4]: in function 'build'
    [./tests/projects/package/components/test.lua:10]:

>>       function test_main tests/projects/package/components/test.lua:1
error: @programdir/core/main.lua:329: ./tests/test_utils/print_error.lua:46: aborting because of unhandled error ...
stack traceback:
    [C]: in function 'error'
    [@programdir/core/base/os.lua:1075]:
    [./tests/test_utils/print_error.lua:46]: in function 'print_error'
    [./tests/runner.lua:58]: in function 'catch'
    [@programdir/core/sandbox/modules/try.lua:123]: in function 'try'
    [./tests/runner.lua:45]:
    [./tests/run.lua:7]: in function '_run_test'
    [./tests/run.lua:42]:
    [@programdir/plugins/lua/main.lua:124]:
    [C]: in function 'xpcall'
    [@programdir/core/base/utils.lua:244]:
    [@programdir/core/base/task.lua:491]: in function 'run'
    [@programdir/core/main.lua:327]: in function 'cotask'
    [@programdir/core/base/scheduler.lua:406]:

stack traceback:
	[C]: in function 'error'
	@programdir/core/base/os.lua:1075: in function 'os.raiselevel'
	(...tail calls...)
	@programdir/core/main.lua:329: in upvalue 'cotask'
	@programdir/core/base/scheduler.lua:406: in function <@programdir/core/base/scheduler.lua:399>
Error: Process completed with exit code 255.

https://github.com/A2va/xmake/blob/cosmocc-ci/.github/workflows/cosmocc.yml
https://github.com/A2va/xmake/actions/runs/12518925059/job/34922147269#step:7:2163


Stickers are not sorted

Hey,
I have added a bunch of stickers, sorted them in the StickerPack asset and also checked the index of each sticker. Additionally the image names start with the index too. Unfortunately the iMessage app shows them in a random order.
Is there any way to sort them?
Thanks!

Hey Skjalgsm,
thanks for your fast answer! I deleted the xcode project and started a new build but unfortunately it still has the same random order.
Do you have any other idea what could go wrong?
Thanks for your help!

Hey there! I'm absolutely loving the tool, though I'm having the same issue. The stickers appear to sort alphabetically and not in the sort order that appears in the inspector editor. After some investigation I've found that there's no Contents.json being written to Stickers.xcassets/Sticker Pack.stickerpack which is required for manual ordering. Currently looking into a solution. Thanks!

Hey Alex,
after your post I checked the pull requests and there is one which adds the missing file:
https://github.com/handcircus/iMessageStickerUnity
I just checked it and it works perfectly! So thanks for your hint 👯♂
@Skjalgsm Please take a look and apply the fix to your repo!
Thanks for your great tool btw!

I wish I had seen that! I just wrote the very same change myself. See #37 for previous PR.

Done. Thanks for testing the PR and condirming it worked :)


Standardize Brace indentation and spacing

There are parts in the code where the curly braces differ in indentation and spacing. For example, Vector3 uses three different curly brace styles throughout the class.

Thank you! From now on, all commits merged into master will have a code review and a style revision.
We also fixed this in a22169cc567bf9087dd7ab2ae040590b833f688e.


RDK-48709: Synchronize the MiracastService discovery

RDK-48709: Synchronize the MiracastService discovery
Reason for change: Synchronizing the enable/disbable the MiracastService discovery.
Test Procedure: Miracast functionality.
Priority: P1
Risks: Medium
Signed-off-by: yuvaramachandran_gurusamy<EMAIL_ADDRESS>

Already merged as part of https://github.com/rdkcentral/rdkservices/pull/5148


Decide the journal

[x] add the options w. exemplary papers - look at this commit

[x] narrowed financial journals (3 opts)
[x] more general (for some options)

[ ] read those
[ ] decide

From my reading into these
Financial-specific

Journal of Financial and Quantitative Analysis (JFQA)

submission fee is $350
extremely competitive, 8% approval

RISK

https://www.risk.net/journal-of-risk <- is this the proper link?
I'm not sure our project fits nicely into risk management precisely

Other

SSRN - either https://www.ssrn.com/index.cfm/en/ern/ or https://www.ssrn.com/index.cfm/en/fen/
ARXIV - https://arxiv.org/ - we seem to fit nicely
https://events.risk.net/quantsummiteurope - this the link to quant summit?

@white07S it'd be most helpful if you checked the boxes and let us know here, in the project, besides just committing it in a file into the code.
Also, make sure to include the links and references. There is some overlap between the papers, we may end up not on the same page.

Alright, I am sorry for that, I will keep it in mind.

Go for JFQA


Demiplans expeditions

About the PR

VGroid based expedition location generation

Grassland island with dinosaurus
Caves maze with Zombies

TODO:

[ ] Modificators
[ ] Scenario
[ ] Dungeon
[ ] Gameloop

Also:
Indestructable stone walls for world borders
loot spawners

Need admin logging huh

Need better tracking entering and leaving demiplans via DemiplanExplorerComponent


[Slider] Add support for inverted track

[x] I have followed (at least) the PR section of the contributing guide.

Closes #17215

Hi
How do I fix the build ?
yarn test:regressions runs fine for me, but cannot see how to update the example images.

@slipmat Thanks


Disable 'Require branches to be up to date before merging' setting on this repository

In the configuration of this repository there is a requirement that branches are up-to-date before they can be merged.  This is forcing all pull requests after any change to merge from main and re-run tests before it can be merged.  This effectively creates a delay of the time it takes to run the tests after any change is merged.
Maintainers please vote via reacting on this issue:

Vote with 👍

Disable this setting, less merging will be needed to get into main, sometimes the pull request checks with be slightly out of date.

Vote with 👎

Lets make no changes to pull requests, we continue to require that changes are merged only when the most recent version of the checks have succeeded.

@opensearch-project/admin Could we get this setting updated, at this time we've got 3 👍 votes to make this change?

@opensearch-project/admin Could we get this setting updated, at this time we've got 3 👍 votes to make this change?

Done!

@gaiksaya Thanks!


Feature Request: Need a Watch node to check the results

Need a Watch node to check the results, the console is not showing flow results and it is always folded.
The Print node can do the work, but it is too small and I could find where to adjust the node size.

solved by modifying the result node.


.netstandart 1.0 (PCL) support?

Hi, I want to use this, but we can't upgrade our app to netstandart 2.0 now.
Is there any solutions to use it with older Xamarin PCL project?

You can always install version <IP_ADDRESS> which supports PCL and can be installed on Net Standards 1.0
I tried to support it but some dependenciea don’t work.

Thanks for quick response. Yes, it works. Thanks again.

It is not possible to support Net Standard 1.0 for compatibility issues.


Shell design forces result reader

https://strusoft.freshdesk.com/a/tickets/25883

User also wants reinforcement utilisation for shells.


Improvement and fix

Refactored recursion with loop
Fixed attempt check
Fixed issue with multiple data return function

Pull Request Test Coverage Report for Build 7

22 of 22 (100.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 4:
0.0%

Covered Lines:
49

Relevant Lines:
49

💛  - Coveralls