Add export to CSV of features overview

This PR adds an "Export to CSV" button to the right end of the filter controls.  The export functionality is in the overview-page, and the conversion to CSV format is in a new utils file.

From the build CI:
/workspaces/webstatus.dev/frontend/src/static/js/components/webstatus-overview-filters.ts
  Error:   189:54  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any

  /workspaces/webstatus.dev/frontend/src/static/js/components/webstatus-overview-page.ts
  Error:   85:19  error  Do not access Object.prototype method 'hasOwnProperty' from target object  no-prototype-builtins
  Error:   87:38  error  Unexpected any. Specify a different type                                   @typescript-eslint/no-explicit-any

These are due to my hack of storing the pageComponent on the window.  Other ways of looking up the overview page component were failing, and I didn't want to pass the page component through the overview-content to the overview-filters.  We need to dynamically request the data only when the export button is pushed, so it seems best to handle the request via the overview-page.  Any suggestions how to improve this?

We should try to avoid storing variables in the global window.
Instead, we should leverage events.
Check out this example from the lit documents: https://lit.dev/docs/components/events/#communicating-between-the-event-dispatcher-and-listener
Our button could be the dispatcher in this case. And the overview-page could be the listener.

We should try to avoid storing variables in the global window.
Instead, we should leverage events.

Yes, my use of the global window was just a hack to get it working.  Using events seems like a hack as well, since it is yet another way of just making a procedure call, which is why it didn't occur to me, but at least it is cleaner.
done.  thanks.

For comparing the actual CSV, we may be able to use toMatchSnapshot instead of reading the file from disk with node APIs
https://github.com/microsoft/playwright/blob/71a668eb863ca44e269f8353bfb055d7e0d4e583/tests/playwright-test/golden.spec.ts#L49-L62

For comparing the actual CSV, we may be able to use toMatchSnapshot instead of reading the file from disk with node APIs
https://github.com/microsoft/playwright/blob/71a668eb863ca44e269f8353bfb055d7e0d4e583/tests/playwright-test/golden.spec.ts#L49-L62

Use of toMatchSnapshot looks pretty confusing in combination with checking the contents of the csv file.

Also, more info on the Download API itself: https://playwright.dev/docs/api/class-download

The dowload API looks much more straightforward and appropriate for this use case, but I am not sure what is involved with specifying the path.  If the download API could set up its own virtual filesystem, that might be cool.


Simple refactorizations (v3).

This builds on top of #838. See last 2 commits for new additions.

See comments for more info on changes (not going to repeat on changes from #838.

Build may have failed due to the version change? https://github.com/quran/quran.com-frontend/pull/839/files#diff-b9cfc7f2cdf78a7f4b91a753d10865a2R164
CI gives the error:
node-pre-gyp ERR! Tried to download(403): https://node-zopfli.s3.amazonaws.com/Release/zopfli-v2.0.2-node-v48-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v48 ABI) (falling back to source compile with node-gyp)

Rebased on the changes and review fixes from #838.

Deployed to: http://staging.quran.com:32905

Fixed the previous PR, so this should build now, too.

Deployed to: http://staging.quran.com:32907

Deployed to: http://staging.quran.com:32910

Deployed to: http://staging.quran.com:32911

Looks like the commits are properly showing now. (p.s. I could have just rebased on master :) )

Thank you @UmanShahzad !!

@mmahalwy No problem, brother! I will continue to contribute inshAllah (mostly over weekends, hopefully the next one; I'm learning React & Ruby for your codebase).


CSS doesn't seem to work.

Problem: CSS doesn't seem to properly inject
Minimal code

As an aside, I also added a generic css on input
input {
  width: 100%;
}

But it seems like it can't target Formik inputText

kindly advice

Hi,
with the last version 1.4.1 most inputs are set to use width of 100% and should now work as expected.
Please give it a try and tell me if it works now.
Greetings,
Tom

Hi Tom,
Thanks for this. I can confirm that primeInputText does indeed have 100%
But supposed I need to add css to customize the fields, how do I do it?
I tried to add

But the css doesn't seem to reflect.

minimal reproduction
Best,
Jeff

I have checkout your sample, firs
Hi Jeff,
I have looked into your sample code. Your problem is first of all the scoped attribute in your style section. customClass is not available in the child components.
After removing it should work as expected.
<style lang="scss">

.p-formkit {
  .customClass {
    width: 50% !important;
    border: 2px solid red;
  }
}
</style>

If you only want fields to have smaller inputs the better way is using a div with a smaller width around your FormKit Tag.
Tell me if it helps ...
Greetings,
Tom
P.S.: Also unocss dependency and config  was missing and i had to add a .npmrc file with
shamefully-hoist=true
strict-peer-dependencies=false

to reduce dependencies ...
  "devDependencies": {
    "@iconify-json/carbon": "^1.1.21",
    "@iconify-json/mdi": "^1.1.54",
    "@iconify-json/prime": "^1.1.6",
    "@iconify-json/twemoji": "^1.1.12",
    "@sfxcode/nuxt-primevue": "^1.4.1",
    "@unocss/nuxt": "0.56.5",
    "nuxt": "^3.7.4",
    "sass": "^1.69.0"
  }

Hi Tom,
This is greatly appreciated. Have checked the css is now making sense!
Wrapping a div around FormKit Tag also works. Thank you for the advice.
Ah right, I totally forgot to add unocss/nuxt. Thank you for pointing that out too.
Closing the ticket!


kube-batch will crash.

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
/assign
Description:
The kube-batch maybe crashed sometimes.

refer to https://travis-ci.org/kubernetes-sigs/kube-batch/builds/498018905

fixed by #613


feat: Add and Remove kernels, add with --copy-defaults

Enhancement:
Reason:
Result:
Issue Tracker Tickets (Jira or BZ if any):

[citest]

[citest]

[citest]

[citest]

[citest]

[citest]

[citest]

[citest]

[citest]

[citest]

@richm it's now ready for your review, please take a look.
I do not know how to use mock in unit tests to test Ansible's module method. That's why bootloader_settings.py uses a weird format of running commands, it calls a function to return a cmd to run, or an error to return, and then does the action in the main run_module func. I will try to refactor this, but the role's functionality will stay the same.

There are a lot of codeql Variable defined multiple times warnings - would be nice to fix or suppress them.

[citest]

[citest]

[citest]


ci: upgrade golangci/golangci-lint-action to v5

Cherry-picked from #897

We can drop the skip-pkg-cache option now as caching has been removed in favor of actions/setup-gos caching

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

Project coverage is 64.26%. Comparing base (9df6829) to head (a297570).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #964      +/-   ##
==========================================
+ Coverage   63.67%   64.26%   +0.58%
==========================================
  Files         146      146
  Lines       11960     9295    -2665
==========================================
- Hits         7615     5973    -1642
+ Misses       3879     2854    -1025
- Partials      466      468       +2

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


Bugfix/3421 error page url

This adds a button to the fail whale page to allow the user to "refresh" the page on error by attempting to navigate back one step in the router history.
I attempted another approach to display the fail whale page without modifying the url by introducing a named catch-all route, similar to instructions detailed in NUXT and Vue Router, but I think the functionality that I was looking for is only available in Vue Router 4.x. I'm open to other potential solutions to resolve this issue.
This change also has the added risk of changing the way we route to fail whale by changing our method from replace to push. Since we've now added fail whale to our route history, users might be able to inadvertently navigate back to a fail whale page, adding to further confusion...
#3421

New Fail Whale


create chat example

This adds a very basic chat example. It's functional, but I'm definetely open for suggestions, changes,...
One question I have, a problem I saw, was that I sent messages to a closed websocket, which resulted in errors. I was wondering what would be the best way of handling this.
At the moment I do my best to remove the connections that will be closed, but I think race conditions are possible where you try to send something to a socket that's not there anymore.

as discussed in: #75

and a totally of topic question, but what editor do you use and does it manage the syntax highlighting ok? I'm using neovim and it completely breaks on the inline html (but I don't care too much about that), the issue is though that it doesn't recover and highlight the rest of the file with proper ocaml formatting :cry:

Anything else you want me to change?

Thank you! I'll make some minor edits and link the example from the example TOC.

but what editor do you use and does it manage the syntax highlighting ok?

I use VS Code, and it eventually recovers from mis-highlighting HTML in an .eml.ml file. However, in "real" projects I use .eml.html, where the syntax highlighting is fine (OCaml code just doesn't get highlighted, basically). See also https://github.com/aantron/dream/issues/55#issuecomment-830753551 as a related issue.
Here's an example of an .eml.html file on GitHub.

Thanks. I'll probably also separate eml as much as possible from ml. I notice that vim recovers mostly as well, but it doesn't for this chat example.

I've been thinking a bit more about how to model this, feedback is welcome:
type topic =
  | Topic of string
  | WithSubtopic of (string * string)

type payload = Payload of string

type answers = answer list
and answer =
  | Reply of string
  | Broadcast of string
  | Stop of string

type 'a channel =
  { handle_join : topic -> payload -> 'a * answers
  ; handle_message : 'a -> payload -> 'a * answers
  }

val channels : (string * 'a channel) list -> Dream.websocket -> unit Lwt.t

The idea is that you can do something like this:
          Dream.websocket
      @@ Socket.channels
           [ ( "public_chat"
             , { handle_join = (fun topic payload -> (initial state, [ replies ]))
               ; handle_message = (fun state payload -> (new state, [ replies ]))
               } )
           ; ( "private_chat:123"
             , { handle_join = (fun topic payload -> (initial state, [ replies ]))
               ; handle_message = (fun state payload -> (new state, [ replies ]))
               } )
           ] )

This is a first brain dump, so it's not complete and it has at least one big flaw at the moment. A type 'a channel is no good, each channel can have a different type. I'll need an other structure for that.

Ok, the example is now linked, and loaded into the playground!


install nmslib error on python 3.12

hey i got an error while installing nmslib in python 3.12
pip install nmslib
Defaulting to user installation because normal site-packages is not writeable
DEPRECATION: Loading egg at c:\program files\python312\lib\site-packages\vboxapi-1.0-py3.12.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation.. Discussion can be found at https://github.com/pypa/pip/issues/12330
Collecting nmslib
Using cached nmslib-2.1.1.tar.gz (188 kB)
Preparing metadata (setup.py) ... done
Collecting pybind11<2.6.2 (from nmslib)
Using cached pybind11-2.6.1-py2.py3-none-any.whl.metadata (8.7 kB)
Requirement already satisfied: psutil in c:\users\acer\appdata\roaming\python\python312\site-packages (from nmslib) (5.9.8)
Requirement already satisfied: numpy>=1.10.0 in c:\users\acer\appdata\roaming\python\python312\site-packages (from nmslib) (1.26.4)
Using cached pybind11-2.6.1-py2.py3-none-any.whl (188 kB)
Building wheels for collected packages: nmslib
Building wheel for nmslib (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [47 lines of output]
Dependence list: ['pybind11<2.6.2', 'psutil', "numpy>=1.10.0,<1.17 ; python_version=='2.7'", "numpy>=1.10.0 ; python_version>='3.5'"]
C:\Users\acer\AppData\Roaming\Python\Python312\site-packages\setuptools\dist.py:472: SetuptoolsDeprecationWarning: Invalid dash-separated options
!!
          ********************************************************************************
          Usage of dash-separated 'description-file' will not be supported in future
          versions. Please use the underscore name 'description_file' instead.

          By 2024-Sep-26, you need to update your project and remove deprecated calls
          or your builds will no longer be supported.

          See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
          ********************************************************************************

  !!
    opt = self.warn_dash_deprecation(opt, section)
  C:\Users\acer\AppData\Roaming\Python\Python312\site-packages\setuptools\__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
  !!

          ********************************************************************************
          Requirements should be satisfied by a PEP 517 installer.
          If you are using pip, you can try `pip install --use-pep517`.
          ********************************************************************************

  !!
    dist.fetch_build_eggs(dist.setup_requires)
  C:\Users\acer\AppData\Roaming\Python\Python312\site-packages\setuptools\dist.py:472: SetuptoolsDeprecationWarning: Invalid dash-separated options
  !!

          ********************************************************************************
          Usage of dash-separated 'description-file' will not be supported in future
          versions. Please use the underscore name 'description_file' instead.

          By 2024-Sep-26, you need to update your project and remove deprecated calls
          or your builds will no longer be supported.

          See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
          ********************************************************************************

  !!
    opt = self.warn_dash_deprecation(opt, section)
  running bdist_wheel
  running build
  running build_ext
  Extra compilation arguments: ['/EHsc', '/openmp', '/O2', '/DVERSION_INFO=\\"2.1.1\\"']
  building 'nmslib' extension
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for nmslib
Running setup.py clean for nmslib
Failed to build nmslib
ERROR: Could not build wheels for nmslib, which is required to install pyproject.toml-based projects

problem solved, I tried using with python 3.8 and it worked


fix copy-n-paste comments

Codecov Report

Merging #9 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #9   +/-   ##
=======================================
  Coverage   77.23%   77.23%
=======================================
  Files          48       48
  Lines        2438     2438
  Branches      387      387
=======================================
  Hits         1883     1883
  Misses        544      544
  Partials       11       11

Impacted Files
Coverage Δ

colcon_core/package_selection/__init__.py
100% <ø> (ø)
:arrow_up:

colcon_core/task/python/test/__init__.py
26.31% <ø> (ø)
:arrow_up:

colcon_core/package_discovery/__init__.py
100% <ø> (ø)
:arrow_up:

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 98d23db...f2f8e75. Read the comment docs.


Fix SimpleMain oversight on doStop method

SimpleMain is used in CamelKafkaConnector and this oversight could cause problems in case we decide to implement doStop or doStart in BaseMainSupport.

I guess we'll need to backport to 3.7.x too


Include the test step execution time as part of the ExecutionContext object

Is your feature request related to a problem? Please describe.
I'm looking for a way to get the execution time taken for a test step via the test context. I would like to be able to get this data and then export it to datadog, so I can track various metrics and figure out which tests take longer at a glance.
Describe the solution you'd like
I would like if the "ExecutionContext" of a test step also included a "elapsedTime" property, or something similar.
Describe alternatives you've considered
Creating a custom reporter to export test results to Datadog/Kibana etc.
Additional context
Add any other context or screenshots about the feature request here.

I would like this feature too.
Currently I have implemented this as follows, but it only logs the time, does not report to a data collector like Elastic Search.
I used Spring StopWatch class for the timing info.
scenarioData mentioned in the code below is reference to gauge's ScenarioDataStore.java
@BeforeStep
public void beforeStep(ExecutionContext context)
{
    super.beforeStep(context);
    startTimer(getStepText(context));
}

@AfterStep
public void afterStep(ExecutionContext context)
{
    String duration = stopTimer();
    String status = context.getCurrentStep().getIsFailing() ? "FAIL" : "PASS";
    String step = getStepText(context);

    logger.info("[{}] [{}] {}", status, duration, step);
    if (context.getCurrentStep().getIsFailing())
    {
        logger.info("\t\t --> Failure: {}", context.getCurrentStep().getErrorMessage());
    }
    super.afterStep(context);
}

private String getStepText(ExecutionContext context)
{
    if (null == context)
    {
        return "-";
    }
    String step = context.getCurrentStep().getDynamicText();
    if (100 < step.length())
    {
        step = step.substring(0, 100) + " ...";
    }
    return step;
}

public void startTimer(String step)
{
    StopWatch watch = new StopWatch();
    getSimpleDriver().storage().scenarioData().put(STOP_WATCH_KEY, watch);
    watch.start(step);
}

private String stopTimer()
{
    StopWatch watch = getSimpleDriver().storage().scenarioData().get(STOP_WATCH_KEY);
    if (null == watch)
    {
        logger.error("Stop Watch should not be null!!!");
        return "-";
    }
    watch.stop();
    getSimpleDriver().storage().scenarioData().put(STOP_WATCH_KEY, null);
    double timeSeconds = watch.getLastTaskInfo().getTimeSeconds();
    return  String.format ("%.03fs", timeSeconds);
}

Output
Log Statement Explanation:
[Log Level] [Current Time] [Test Step Status] [Elapsed time for step] [Step Name]

Actual Output
[ INFO] [16:28:32] [PASS] [0.561s] Go to URL "${app.url}".
[ INFO] [16:28:33] [PASS] [0.775s] Click on Login using Landing Page.
[ INFO] [16:28:34] [PASS] [1.475s] Enter username "${LoginID}".

Hope this helps...


[AutoPR sql/resource-manager] Adding SQL managedDatabases swagger for API v2018-06-01-preview

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/7172

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/7330


Extracted code references undefined type

type t (p:Type) = bool
opaque logic type param
assume val foo: p:Type -> t p
let x = foo param

The last definition gets extracted to let x : param t = foo (), but the type param is undefined.
Note that param is erased to () as a value in the definition of x, but still creeps into the type annotation.
Maybe this can be solved in the universes branch using some other qualifier for param?
Note that if extraction normalized more, it could use bool instead of param t. In fact, one way of working around this issue is to add an explicit type for x, i.e. val x: bool.
We experienced this issue in real code (see #486).

Cannot reproduce in --universes.


RTCView should support null stream

Describe the bug
The native RTCView can be provided a streamURL of null, for example streamUrl={localStream?.toURL()}
However, the RTCView in this library throws an error if localStream is null, for example stream={localStream}
It would be better if stream had the same logic behind the scenes

Understandable, will put this on the list for the next major update 🤔


bignum: allow to disable udbl on 64-bit archs

This allows to prevent compiler from using __udivti3 or similar instead
of division.
Related to #137.

This issue was related to and fixed in PR's #893 and #949, so has already been addressed. It seems to have been an oversight that this PR wasn't closed down at that time.
Nonetheless, thanks for the contribution, and thanks for the support of the project!


Release 0.28.0

Release 0.28.0
Change Log
These are all the changes since 0.27.0

Add System.mkdirAll #607
Fix issue with upvalues #609
Fix issue with popping values #613
Fix windows compilation issue #615, #617
Add BigInt module #620
Add Queue module #621
Add Object.hash() #625
Class variable / constant annotations #627
Range of documentation fixes

Sort #629 before merging


Disable failpoints by default

Right now, release builds are done using Dockerfiles, where our binaries are built with default features.
With the default = ["failpoints"] that meant, we shipped release binaries that had extra, peculiar features enabled.
It seems more safe to disable feature that might impact performance and adds an extra endpoint for breaking internal logic, the CI changes are quite small.
Yet, this makes local testing harder since all failpoints need a special flag to be used during cargo build to work locally.
https://github.com/rust-lang/cargo/issues/4829 hints it's impossible to set cargo features via env vars, so there seems to be no good way to get around it with cargo config file.
To me, seems like a better option, compared to exposing the failpoints API, I can add a test binaries build script, if it helps.

How about always compiling with failpoints, but add a enable_failpoints flag to pageserver.toml config file, defaulting to 'false'?

Not sure: there's still some overhead on checking the failpoints' enabled state with the feature compiled in.
Additionally, see https://github.com/neondatabase/neon/pull/2429#pullrequestreview-1106289708 : we are adding extra HTTP endpoints, available for testing only. Seems that we could introduce a feature flag, uniting those and failpoints and compile them out for the release builds.
Or, again, we could implement more runtime checks, but not sure what's worse.

Seems that we could introduce a feature flag, uniting those and failpoints and compile them out for the release builds

This is what I was thinking we should do. I like the idea of a feature flag for this; I'd suggest we keep the endpoints available on non-test builds, but have them just return a 4XX error like "this wasn't compiled for tests", so that if (when) someone runs into issues, there's a quick explanation.
I don't know of any typical "compile for testing" feature flag that people use (there's #[cfg(test)] but AFAICT that's only really for unit tests)

An alternative is just having the failpoints feature, and then adding runtime checks to the things in #2429. This also seems reasonable to me, because the failpoints are the only thing that gives us performance benefits from a feature flag.


support for additional VEP terms

Based on the findings of the DDD paper, we would like to be able to filter for the following variant annotations created by the VEP SpliceRegion plugin
splice_donor_5th_base_variant
splice_donor_region_variant
splice_polypyrimidine_tract_variant
extended_intronic_splice_region_variant_5prime
extended_intronic_splice_region_variant_3prime

Info here: http://www.ensembl.info/2018/10/26/cool-stuff-the-vep-can-do-splice-site-variant-annotation/
Plugin here: https://github.com/Ensembl/VEP_plugins/blob/release/94/SpliceRegion.pm
None of these annotations are currently listed in GEMINI's impacts column. How would we be able to access them when they don't have their own custom vep_xxx column (my understanding is that they are just provided by VEP as the annotation)? (right now we just do impact_severity<>'LOW' in GEMINI so I imagine we would have to do impact_severity<>'LOW' or xxxxx='yyy' or ...)

I honestly think this is the realm of the new gemini workflow based upon vcfanno and vcf2db. Our goal is the switch over to this entirely this year.

Thanks Aaron. If we switch to vcfanno/vcf2b right now, would these be accessible to us in queries?

If they are in vcfanno, they make it into the database. @brentp - can you corroborate?

I think these would be impacts in the CSQ string, right? e.g. instead of splice_variant it would now be splice_donor_5th_base_variant so we'd have to update the geneimpacts module.
An example VCF with a few variants would be helpful.

Ok, we finally got this working in VEP and these show up in the CSQ string, but not in the Consequence field, but in the SpliceRegionOutput field.
Here's an example. More examples in the VCF available here:
https://www.dropbox.com/s/mg7u3nkxil7p4h5/spliceregionexamples.vcf.gz?dl=0
1    38272660    rs2291297    G    A    42583.1    PASS    AC=1;AF=0.224;AN=2;BaseQRankSum=-1.622;ClippingRankSum=0.271;DB;DP=3988;ExcessHet=0.4621;FS=0.528;InbreedingCoeff=0.1
309;MLEAC=43;MLEAF=0.224;MQ=9.49;MQ0=0;MQRankSum=0;QD=19.89;ReadPosRankSum=0.463;SOR=0.637;CSQ=A|downstream_gene_variant|MODIFIER|MTF1|ENSG00000188786|Transcript|ENST00000373036|protein_coding||||||||||rs2291297|2579|-1||HGNC|7428|YES|CCDS30676.1|1|C1orf122||||||||||||,A|upstream_gene_variant|MODIFIER|C1orf122|ENSG00000197982|Transcript|ENST00000373042|protein_coding|||||||||
|rs2291297|1158|1||HGNC|24789|YES|CCDS427.2||C1orf122||||||||||||,A|5_prime_UTR_variant|MODIFIER|C1orf122|ENSG00000197982|Transcript|ENST00000373043|protein_coding|1/2||ENST00000373043.1:c.
-1697G>A||10/2229|||||rs2291297||1||HGNC|24789||CCDS44112.1||C1orf122||||||||||||,A|intron_variant|MODIFIER|YRDC|ENSG00000196449|Transcript|ENST00000373044|protein_coding||2/4|ENST00000373044.2:c.505-12C>T|||||||rs2291297||-1||HGNC|28905|YES|CCDS30675.1||C1orf122||||||||||||splice_polypyrimidine_tract_variant,A|upstream_gene_variant|MODIFIER|C1orf122|ENSG00000197982|Transcrip
t|ENST00000419397|processed_transcript||||||||||rs2291297|672|1||HGNC|24789||||C1orf122||||||||||||,A|upstream_gene_variant|MODIFIER|C1orf122|ENSG00000197982|Transcript|ENST00000446260|prot
ein_coding||||||||||rs2291297|1422|1||HGNC|24789||||C1orf122||||||||||||,A|upstream_gene_variant|MODIFIER|C1orf122|ENSG00000197982|Transcript|ENST00000468084|protein_coding||||||||||rs22912
97|759|1||HGNC|24789||CCDS44112.1||C1orf122||||||||||||,A|regulatory_region_variant|MODIFIER|||RegulatoryFeature|ENSR00000004891|promoter||||||||||rs2291297|||||||||C1orf122||||||||||||    GT:AD:DP:GQ:PL    0/1:37,27:.:99:771,0,945

Gotcha, looks like we would need to update the logic in geneimpacts and in vcf2db to support this.


Document identifiers for technical corrigendum

FDCor

DIS Cor

WD Cor

CD Cor

AWI Cor
NP Cor
PWI Cor

DAmd, FDAmd
DIS Cor, FDCor
Because Reasons.

DIS Cor, FDCor

I'm with you. Just the way it is...


Component: Form - Radio field update

Radio field update
Add event when there is a change in radio checked attribute.

As per discussion with @junaidbhura
We will come back to the generic approach in the future for this.
For now we will keep this code in the project using this web-component.


chocolately package or bundle .exe into nuget

I see a nuget has been created, could the .exe be bundled into the nuget for easier usage?   Or perhaps created into a chocolately package?

Why would you want an exe to be in the budget package? That's not for
execution but consumption in other projects?
On Thu, Jul 19, 2018, 16:58 Alex McCool<EMAIL_ADDRESS>wrote:

I see a nuget has been created, could the .exe be bundled into the nuget
for easier usage? Or perhaps created into a chocolately package?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hvanbakel/CsprojToVs2017/issues/137, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AD8FPDC4y7IR_xg09F1yybiMr57BQJimks5uIR09gaJpZM4VXQrI
.

Having just read this post that does sound appealing

Yeah, I reckon that .net core global tools is a better fit than chocolatey for this sort of thing

Note to self, this seems very achievable:
https://github.com/natemcmaster/dotnet-globaltool-templates/tree/master/src/McMaster.DotNet.GlobalTool.Templates/content/GlobalTool-CSharp

Can someone test this when the package publishes?
https://www.nuget.org/packages/Project2015To2017.Cli/
With the net core 2.1 sdk installed do:
dotnet tool install Project2015To2017.Cli --global
Then you should be able to run dotnet csproj-to-2017 along with the usual parameters.
Unfortunately it pushed 1.0.0 as a first version 😢

Never mind, this doesn't work it only works if you target netcoreapp2.1 only. So need to figure out how to solve that, maybe different project...

This should now work. Can some of you do some tests to verify? Looks ok to me.
I'll update the readme when no issues are found

@hvanbakel works ok, no issues found (tested on Dopamine).

having issues for me.  What should I look for?
PS D:\_dev> dotnet tool uninstall Project2015To2017.Cli --global
Tool 'project2015to2017.cli' (version '1.0.1') was successfully uninstalled.
PS D:\_dev> dotnet tool install Project2015To2017.Cli --global
You can invoke the tool using the following command: csproj-to-2017
Tool 'project2015to2017.cli' (version '1.0.1') was successfully installed.
PS D:\_dev> dotnet csproj-to-2017
No executable found matching command "dotnet-csproj-to-2017"`


Always query for pull requests

Affects: <github-graphql-collector-version-number>.

Individual Agreement
Corporate Agreement

[ ] I Have signed the CLA

 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.Zhanpeng Chen 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.

@chzhanpeng please sign the CLA and get this reviewed by @nireeshT as well


Add support for Wh

Is your feature request related to a problem? Please describe.
I have a EV charger that reports energy in Wh.
Describe the solution you'd like
Use unit of measurement (kWh or Wh) in calculations. Now integration assumes that energy is in kWh.
Energy panel works fine with Wh.

I would recommend to make a Wh -> kWh template sensor
`template:

sensor:

name: "Energy Consumption kWh"
unique_id: "energy_consumption_kwh"
state: >-
{% set wh = states('sensor.energy_consumption_wh') | float(0) %}
{{ (wh / 1000) | round(2) }}
unit_of_measurement: "kWh"
state_class: measurement
device_class: energy
icon: mdi:lightning-bolt`


Prompt

Version
V4
Test Case 1
User tries to navigate away from current screen, prompt displayed and user cancels the navigation
Steps to reproduce
Navigate to a form;
Edit data elements on the form;
Click on Back button of Chrome;
Prompt displayed a warning message;
User decides to remain on current form by clicking Cancel button on the prompt;
Expected Behavior
User should only be prompted exactly once and remain on current screen.
Actual Behavior
As expected.
Extra info
I noticed that the URL address bar was updated to the previous location while the prompt is being displayed. Once user clicked on Cancel button on the prompt, the URL address was reverted back to the current screen. Also, it was observed in redux devtools that ROUTER@LOCATION_CHANGE was trigger whenever the browser Back button was clicked.
Test Case 2
User tries to navigate away from current screen, prompt displayed and user cancels the navigation
Steps to reproduce
Navigate to a form;
Edit data elements on the form;
Click on navlink of another screen within the same SPA;
1st Prompt displayed a warning message;
User decides to remain on current form by clicking Cancel button on the prompt;
2nd Prompt displayed the same warning message again;
User has to click again the Cancel button to remain on the current form;
Expected Behavior
User should only be prompted exactly once and remain on current screen.
Actual Behavior
User was prompted with the same message twice.
Extra info
I noticed that the URL address bar was never updated to previous location during the prompt. Also, it was observed that no ROUTER@LOCATION_CHANGE was triggered.

Duplicate of #5405


Compass extension

creat an extension for compass

Not something we're currently considering. However i believe some exist :)


QuantumCircuit producing a wrong OpenQASM

Environment

Qiskit Terra version:  0.24.0
Python version:  3.10.8
Operating system: IBM Quantum Lab

What is happening?
A QuantumCircuit is producing an invalid OpenQASM 2.0 output when calling .qasm() method. There is a definition of a subroutine calling itself.
How can we reproduce the issue?
import random
from qiskit.quantum_info import Statevector
from qiskit.algorithms import AmplificationProblem, Grover

secret = random.randint(0, 7)  # the owner is randomly picked
secret_string = format(secret, "03b")  # format the owner in 3-bit string
oracle = Statevector.from_label(secret_string)  # let the oracle know the owner
problem = AmplificationProblem(oracle, is_good_state=secret_string)
grover = Grover(iterations=1)
circuit = grover.construct_circuit(problem)

circuit.qasm()

Invalid OpenQASM output:
OPENQASM 2.0;
include "qelib1.inc";
gate circuit_136 q0,q1,q2 { rz(pi/4) q0; cx q1,q0; rz(pi/4) q0; cx q2,q0; rz(pi/4) q0; cx q1,q0; rz(pi/4) q0; cx q2,q0; }
gate ucrz(param0,param1,param2,param3) q0,q1,q2 { circuit_136 q0,q1,q2; }
gate circuit_140 q0,q1 { rz(-pi/4) q0; cx q1,q0; rz(-pi/4) q0; cx q1,q0; }
gate ucrz_139619649377696(param0,param1) q0,q1 { circuit_140 q0,q1; }
gate circuit_144 q0 { rz(-pi/4) q0; }
gate ucrz_139619649377840(param0) q0 { circuit_144 q0; }
gate gate_Diagonal q0,q1,q2 { ucrz(pi,0,0,0) q0,q1,q2; ucrz_139619649377696(-pi/2,0) q1,q2; ucrz_139619649377840(-pi/4) q2; }
gate gate_Q q0,q1,q2 { gate_Q q0,q1,q2; }
qreg q[3];
h q[0];
h q[1];
h q[2];
gate_Q q[0],q[1],q[2];

gate gate_Q q0,q1,q2 { gate_Q q0,q1,q2; } <- this is the error line
What should happen?
It shouldn't produce a gate subroutine calling itself.
Any suggestions?
No response

Hey @francabrera, I've spent some time in this issue, and I think that I found the problem.
So, going deep into the .qasm() function, I found that it iterates for each operation in the circuit:
# gates from your example
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='Q', num_qubits=3, num_clbits=0, params=[])

and as well, it iterates for all internal circuits for each operation:
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])  # the `h` gates are ignored
Instruction(name='Q', num_qubits=3, num_clbits=0, params=[])

...

Instruction(name='Q', num_qubits=3, num_clbits=0, params=[]) # it was inside  the other Q Instruction

...

Instruction(name='Diagonal', num_qubits=3, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='x', num_qubits=1, num_clbits=0, params=[])
Instruction(name='x', num_qubits=1, num_clbits=0, params=[])
Instruction(name='x', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='ccx', num_qubits=3, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='x', num_qubits=1, num_clbits=0, params=[])
Instruction(name='x', num_qubits=1, num_clbits=0, params=[])
Instruction(name='x', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])

etc...

after that, the function insert the relative qasm in a dictonary.
Note: It defines the last gate and goes backward until the first gate.
The problem is:
when the function reaches the second Q instruction
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='h', num_qubits=1, num_clbits=0, params=[])
Instruction(name='Q', num_qubits=3, num_clbits=0, params=[])

Instruction(name='Q', num_qubits=3, num_clbits=0, params=[]) # this one

it defines the gate in the correct way:
gate gate_Q q0,q1,q2 { gate_Diagonal_140304252877888 q0,q1,q2; h q2; h q1; h q0; x q0; x q1; x q2; h q2; ccx q0,q1,q2; h q2; x q0; x q1; x q2; h q0; h q1; h q2; }

However, the controller dictionary, gates_to_define, doesn't update, once the internal function _qasm2_define_custom_operation (which defines these gates) acts like a recursive function. Therefore, when the first Q operation is written, there's no way to it understands that there's another defined gate with the same name, so when this is inserted into the dictionary, the correct one is overwritten by:
gate gate_Q q0,q1,q2 { gate_Q q0,q1,q2; }

Fix
My way to fix it, is changing internally _qasm2_define_custom_operation function to give for every gate an id.
To do that, I've changed this:
if operation.name in gates_to_define:
    new_name = f"{operation.name}_{id(operation)}"
    operation = operation.copy(name=new_name)
else:
        new_name = operation.name

to this:
new_name = f"{operation.name}_{id(operation)}"
operation = operation.copy(name=new_name)

After these changes, the result was:
OPENQASM 2.0;
include "qelib1.inc";
gate circuit_973_140304251687264 q0,q1,q2 { rz(-pi/4) q0; cx q1,q0; rz(-pi/4) q0; cx q2,q0; rz(pi/4) q0; cx q1,q0; rz(pi/4) q0; cx q2,q0; }
gate ucrz_140304252416832(param0,param1,param2,param3) q0,q1,q2 { circuit_973_140304251687264 q0,q1,q2; }
gate circuit_977_140304251747584 q0,q1 { rz(-pi/4) q0; cx q1,q0; rz(pi/4) q0; cx q1,q0; }
gate ucrz_140304252417408(param0,param1) q0,q1 { circuit_977_140304251747584 q0,q1; }
gate circuit_981_140304201189936 q0 { rz(pi/4) q0; }
gate ucrz_140304252417600(param0) q0 { circuit_981_140304201189936 q0; }
gate gate_Diagonal_140304252877888 q0,q1,q2 { ucrz_140304252416832(0,0,-pi,0) q0,q1,q2; ucrz_140304252417408(0,-pi/2) q1,q2; ucrz_140304252417600(pi/4) q2; }
gate gate_Q_140304201506432 q0,q1,q2 { gate_Diagonal_140304252877888 q0,q1,q2; h q2; h q1; h q0; x q0; x q1; x q2; h q2; ccx q0,q1,q2; h q2; x q0; x q1; x q2; h q0; h q1; h q2; }
gate gate_Q_140304201506528 q0,q1,q2 { gate_Q_140304201506432 q0,q1,q2; }
qreg q[3];
h q[0];
h q[1];
h q[2];
gate_Q_140304201506528 q[0],q[1],q[2];

there might be a better way to fix it, but, for now, that was my solution.

If you want to see my tests, you can check it here:  MyTests

Update, I've tested a different way to fix.
If you check if the gate's name is in the dictionary before adding into it, you can fix the problem too
for instruction in parameterized_definition.data:
            new_operation = _qasm2_define_custom_operation(
                instruction.operation, existing_gate_names, gates_to_define
            )

            bits_qasm = ",".join(qubit_labels[q] for q in instruction.qubits)
            statements.append(f"{new_operation.qasm()} {bits_qasm};")

        body_qasm = " ".join(statements)
        if operation.name in gates_to_define:
            new_name = f"{operation.name}_{id(operation)}"
            operation = operation.copy(name=new_name)

However, I think that this way is a little bit ugly, since we're repeating and there's no coherence in the code. Maybe creating another function to apply the gate's name with a descriptive name, we can fix that.
On the other hand, this way can  maintain the most part of the tests passing.

A problem here is that GroverOperator is breaking the Qiskit data model, really.  The name field is supposed to be a unique identifier, and decompositions cannot be circular.  If there are two non-parametrised instructions with the same name, we're within our data model to assume that they represent exactly the same operation (and in fact, our model of mapping to hardware requires that we assume this), and consequently the algorithm definition is circular.
The OQ2 exporter could maybe detect that case and emit an error complaining about the data model, since it shouldn't output invalid OQ2 (circular gate definitions are invalid), but to me, the real problem is GroverOperator is stateful but isn't representing that in any way that general consumers can reason about.

Fixed by #10286.


build: clean up dependency.

rollback to github.com/go-kit/kit/log, as github.com/go-kit/log is not intended to be an upgrade.


Update DynamicText options to object descriptor

With appropriate type checks. Also added textAlign to the descriptor. No need to hold a reference, after all, it is ctor only. I'll have a look at any docs following merge.

Sorry I may have not been clear enough on the forum..This is not something I want. The textAlign feature should be on the drawText function (And not global for the texture) because you may not want to ALWAYS write aligned texts in your DynamicTexture.
Furthermore, we try to never break backward compatibility.
And you're commit failed on travis for some reason.

I appreciate the clarification. I'll work on that.

It's done. Let me know how that works. Also, to clarify, "context" is the
"canvas", or object/mesh containing the drawn text, correct? So, when we
talk about "always aligning" text one way or another, that's local to the
container, no?
On Wed, Apr 27, 2016 at 11:32 PM, David Catuhe<EMAIL_ADDRESS>wrote:

Sorry I may have not been clear enough on the forum..This is not something
I want. The textAlign feature should be on the drawText function (And not
global for the texture) because you may not want to ALWAYS write aligned
texts in your DynamicTexture.
Furthermore, we try to never break backward compatibility.
And you're commit failed on travis for some reason.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/BabylonJS/Babylon.js/pull/1112#issuecomment-215300568


Confirmation prompts: usability, accessibility, and clarity

Feature Description
 Some actions in Gitea require the user to confirm the action in a prompt, for example when removing an email address or deleting an account.  or "Are you sure you want to delete this repository?".
While certainly better than a vague "Are you sure about this?", this still leaves room for error. Imagine a user removing one of multiple email addresses, but the user is unaware that they clicked the delete button next to the wrong email address. The user sees "Are you sure you want to remove this email address?", wrongly interpreting what "this" refers to, confirm the action, and accidentally remove the wrong email address.
 I think the prompt text should be even clearer about what the user is about to do: "Are you sure you want to delete the account Frankie?" and "Are you sure you want to delete the repository Frankie/MyFirstRepo?". GitHub goes one step further when it comes to removing accounts/repos, and asks the user to write the name of the target in an input box. This would be great, but is, in my opinion, not required. (On the other hand, GitHub also does not mention the exact email address when removing an email address.)

Now that I look at Gitea's confirmation dialog, I think there's a few other important improvements to be made:

[ ] The user should be able to close the dialog very easily, in case they panic. Pressing Esc should close the dialog. Clicking in the grey area around the dialog should also close the dialog. Basically, doing anything other than clicking "Yes" should close the dialog.
[x] The "No" button has a trash can icon. While probably intended to signify "Throw away this action", it can be misunderstood to mean "Throw away the email address". This is confusing. Perhaps the symbols should be removed from the buttons.
[ ] The buttons should be given colours: "Yes" should be red (i.e. danger), and "No" should remain transparent (i.e. neutral).
[ ] The text should be given a non-transparent background to make it easier to read; currently I experience minor accessibility issues while trying to read the text.

The "No" button has a trash icon.

Already implemented in #17537.

Partly addressed in #19894

Not sure since when exactly, but at least as of v1.20.4 all of my points have been addressed :smile:


The socket connection was aborted |  when running Codeunit for 2 hours

Freddy,
I have a devops task in my build that start our Automatic tests (we have alot) via Invoke-NavContainerCodeunit
Its fine if it runs less then 2 hours: (our small test suite)

but in some cases we run the big test suite (all tests) and then it will exceed the 2 hours. in builds outside docker (for version 11) it runs like 2.5 hours.
But in Docker i get this error:

the Devops timeout is 7 hours so that is not the issue here. Also i do not think its the script. but perhaps you do know what the problem is?
is there some timeout for docker connections or something? can u help?

By the Way: Container is created each time the build runs

I can only advise you to run your tests with the Run-TestsInNavContainer function from the navcontainerhelper.
Running tests with Invoke-NAVCodeunit is a no-go since GuiAllowed is false and a lot of tests require UI
Using Run-TestsInNavContainer will also solve your issue ;)

Thanks i will look into it.
"Running tests with Invoke-NAVCodeunit is a no-go since GuiAllowed is false and a lot of tests require UI" this is for us no problem we only test main flows not the UI.

You might be able to solve the issue now and find a way to invoke your test codeunit - but somewhere down the road, you are probably looking at refactoring that test codeunit.
Tests will be invokable from VS Code and Invoke-NavCodeunit might not last forever.
Having said that, if you want to find out what is causing the timeout above, I can think of a few things, but I need to know whether your Invoke-NavContainerCodeunit is running as administrator or not.
If it is running as administrator, you will be creating a session through this function:
https://github.com/microsoft/navcontainerhelper/blob/master/ContainerHandling/Get-NavContainerSession.ps1
It doesn't provide any session timeout.
You could create the session on your own (providing a PSSessionOption) - run the same code (as in the Invoke-Command) and then run the standard NAV Invoke-NavCodeUnit inside the invoke-command.
You could also create a .ps1 file which loads the modules (like this):
$runPath = "c:\Run"
$myPath = Join-Path $runPath "my"

function Get-MyFilePath([string]$FileName)
{
    if ((Test-Path $myPath -PathType Container) -and (Test-Path (Join-Path $myPath $FileName) -PathType Leaf)) {
        (Join-Path $myPath $FileName)
    } else {
        (Join-Path $runPath $FileName)
    }
}

. (Get-MyFilePath "prompt.ps1") -silent | Out-Null
. (Get-MyFilePath "ServiceSettings.ps1") | Out-Null
. (Get-MyFilePath "HelperFunctions.ps1") | Out-Null

$txt2al = $NavIde.replace("finsql.exe","txt2al.exe")
Set-Location $runPath

and then invoke your codeunit - and then execute this with docker exec container powershell file
you might even be able to do this detached (docker exec --detach container powershell file)
You are welcome to report your findings here for other people to learn from, but you might not get first level support for this scenario in the containerhelper as you are heading down a path that we don't recommend.
Hope you understand.

Thanks for pointing me the way!
We will indeed rebuild it when we are on vscode, and making a test app of it. but we are not there yet,
Until then i just want to let it be as it was so i can put my effort into our addon converting it to AL.

Freddy,
"If it is running as administrator, you will be creating a session through this function:"
the service account is a local admin. but if i create my own PSSession or i run the Get-NavContainerSession then i will get "The server has rejected the client credentials."
i also checked the $UsePSSession which came out empty, the $IsAdministrator comes out true.
Code:

Result:

it looks like the NAV server rejects the credentials, which is logical because i use NavUserPassword
so somehow i also need to give this invoke the credentials which are valid for nav.
but Invoke-NAVCodeunit does not take username of password.
i read something about also creating an extra nav user: (New-NavContainerNavUser) for the agent account. (https://forum.mibuso.com/discussion/70753/invoke-navcodeunit-the-server-has-rejected-the-client-credentials)
But here i get troubles with "The Windows account could not be mapped to a valid security identifier (SID)." does this mean i also need to create this user as windows user within docker?
its a whole search 😄

mm found out that you tell somebody else here: https://github.com/Microsoft/navcontainerhelper/issues/381
that NavuserPassword is not working with invoke-navcodeunit and that you for that reason create a nav user. So i will try to use that way.

Freddy,
You can close this one! tried the
"I can think of a few things, but I need to know whether your Invoke-NavContainerCodeunit is running as administrator or not.
If it is running as administrator, you will be creating a session through this function:
https://github.com/microsoft/navcontainerhelper/blob/master/ContainerHandling/Get-NavContainerSession.ps1
It doesn't provide any session timeout.
You could create the session on your own (providing a PSSessionOption) - run the same code (as in the Invoke-Command) and then run the standard NAV Invoke-NavCodeUnit inside the invoke-command."
Done this and still after 2 hours it stops, had the same thing when publishing the app (with not enough memory, it will also crash after 2 hours like this, same error)
Ill have to find another way i guess

1 year later and it seems that the NST does have a default timeout of 2 hours:
its not adjustable in the MMC administration center but through powershell it is:
the keyname: ManagementServicesIdleClientTimeout is default 02:00:00.
Adjust it if needed, also with upgrade's:
Set-NAVServerConfiguration -ServerInstance $ServerInstanceName -KeyName "ManagementServicesIdleClientTimeout" -KeyValue "04:00:00"

Thanks a million for sharing.


⚠ Bofrost.fr has degraded performance

In e205298, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1763 ms

Resolved: Bofrost.fr performance has improved in 50f3766 after 6 minutes.


AutoTracing Support For Lambda -> Lambda Asynchronous Invocation

👋 I have 2 simple lambdas setup using Asynchronous invocation, but they are not showing up as connected in the thundra UI.
I looked at the docs but I think I am missing something.  Could you please advise on the best practice for propagating a trace to the asynchronously invoked lambda using thundra python client??
Thank you
Lambda 1 AWS Config Events

Lambda 1
from thundra.thundra_agent import Thundra

thundra = Thundra()

@thundra
def handler(event, context):
    print(event, context)
    return {'message': 'hello'}

Lambda 2
from thundra.thundra_agent import Thundra

thundra = Thundra()

@thundra
def handler(event, context):
    print('received: {} {}'.format(event, context))
    return {'hi': 'hi'}

Architecture

Would it be possible to support opentracing inject/extract API for this case? Which could look like:
from thundra.thundra_agent import Thundra

thundra = Thundra()

@thundra
def handler(event, context):
    tracer = ThundraTracer.get_instance()
    result = {'message': 'hello'}
    tracer.inject(
       tracer.scope_manager.active(), // <- not sure of the API call to get the active span
       opentracing.Format.TEXT_MAP,
       result,
    )
    return result

Then the invoked lambda, either explicitly calls extract or the thundra tracer agent inspects the payload?
from thundra.thundra_agent import Thundra

thundra = Thundra()

@thundra
def handler(event, context):
    tracer = ThundraTracer.get_instance()
    span_context = tracer.extract(
      format=opentracing.Format.TEXT_MAP,
      carrier=context,
    )
    with tracer.start_active_span(operation_name="write_user_to_db", childOf=span_context) as scope:
        # perform operation
    print('received: {} {}'.format(event, context))
    return {'hi': 'hi'}

What do you think?

Hello, add_outgoing_trace_link and add_incoming_trace_link functions can be used to connect the async lambda, you can use an identifier for the trace as a trace link and add it into your response and use it in the invoked lambda.
Lambda 1
import uuid
import thundra

def lambda_handler(event, context):

    # use any trace identifier here
    trace_link = str(uuid.uuid4())
    thundra.add_outgoing_trace_link(trace_link)
    return {
        'message': 'hello',
        'thundra_trace_link': trace_link
    }

Lambda 2
import thundra

def lambda_handler(event, context):

    thundra_trace_link = event.get("responsePayload", {}).get("thundra_trace_link")
    if thundra_trace_link is not None:
        thundra.add_incoming_trace_link(thundra_trace_link)

Hello, add_outgoing_trace_link and add_incoming_trace_link functions can be used to connect the async lambda, you can use an identifier for the trace as a trace link and add it into your response and use it in the invoked lambda.
Lambda 1
import uuid
import thundra

def lambda_handler(event, context):

    # use any trace identifier here
    trace_link = str(uuid.uuid4())
    thundra.add_outgoing_trace_link(trace_link)
    return {
        'message': 'hello',
        'thundra_trace_link': trace_link
    }

Lambda 2
import thundra

def lambda_handler(event, context):

    thundra_trace_link = event.get("responsePayload", {}).get("thundra_trace_link")
    if thundra_trace_link is not None:
        thundra.add_incoming_trace_link(thundra_trace_link)


[FEATURE]. STORAGE CLASS of GCS

Thanks for stopping by to let us know something could be better!
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Too slow


Multiline Snippets are non-functional

VSCode Version:  1.12.1
OS Version:  Windows 10 v1607 build 14393.1066

Until just recently (last update?), multiline snippets were useable, but now that appears to not be the case.  Here is an example of a broken snippet that previously worked:
     "Author Comment": {
		"prefix": "Author",
		"body": [
			"<#",
			"	Author:		${Author:Matthew A. Pearon}",
			"	Date:		${Date:yyyy-MM-dd HH:mm}",
			"	Keywords:	${Keywords:Keywords}",
			"	Parameters:	${Parameters:Parameters}",
			"#>"
		],
		"description": "Insert Author Comment Block"
	}

When used, it now just return this:
<#

,

I will be able to attach a gif to this post later.

dupe of https://github.com/Microsoft/vscode/issues/25938.


Update slf4j to 1.7.19

There were a number of good fixes to SLF4j since the version we were using. This was a good upgrade. Merged.


help

Library information:

Version: [e.g. 2.0.0]
View or Compose module: [e.g. View]

Question:
[e.g. How do I do X or Y?]
How to click on the month above and hide the corresponding date below?

I assume you need the same logic used here, except you hide the entire month and set the click listener on the month header. See the sample app for how we animate the month.


change storage path and file name

How can we change the path where images are stored.
It should also provide a feature to change the file name.
By default, it is storing in DCIM folder

@HNY11 v1.7 has option to specify storage path. Thanks


Wrong video scale on Tizen 16TV_STANDARD2 devices

Video scale is wrong on Samsung Tizen 16TV_STANDARD2 devices...in the rest of Samsung devices the video is displayed fine.
Could you check this?
Best regards.

Hi, what type of stream is it? HLS/MP4/... ? When do you use other stream like big buck bunny (http://camendesign.com/code/video_for_everybody/test.html), problem still persists?

Player Specification:
Video Codec - H.264
Audio Codec - AAC
Container Codec - MP4
DRM Codec - Playready
Protocol Codec - HTTP
Sorry, I can't test with this stream on a 2016 device...my Tizen device is from 2015.
The bug was reported by Samsung Sellers Office.

May be "webapis.productinfo.isUdPanelSupported()" is not working fine in some 2016 devices?
https://www.samsungdforum.com/SamsungDForum/ForumView/9d322f0f492a38d7?forumID=13ddc14a497e5e64
"So you should not use isUdPanelSupported method to check app resolution. It'll make error on 16year's TV
Please use Tizen SystemInfo API to check resolution."

Samsung's answer:

Hi jorgitoml,
thanks for your information. Fix will be included in next release.
Now I attached .zip how it can be fixed.
tizen_player.zip
Regards,
Radim


Add exportChatInviteLink, createChatInviteLink, editChatInviteLink and revokeChatInviteLink methods

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

Project coverage is 100.00%. Comparing base (e59f51e) to head (da041e2).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##              master       #39   +/-   ##
===========================================
  Coverage     100.00%   100.00%
- Complexity      1017      1043   +26
===========================================
  Files            224       228    +4
  Lines           3816      3887   +71
===========================================
+ Hits            3816      3887   +71

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


d3 Error: Invalid negative value for  attribute height="-2.991150442477876"

Hello I'm not sure if this is a bug or if I've mis-configured something. For every member of my data set I'm getting an error like the one above.
My config is as follows:
        var config = {
            container: targetNode,
            width: 'auto',
            height: 'auto',
            margin: {top: 40, right: 60, bottom: 80, left: 80},
            type: 'bar',
            subtype: 'stacked',
            labelFormatterX: function(d){
                return d3.time.format('%e %b')(new Date(d)) + '<br>' + d3.time.format('%Y')(new Date(d));
            },
            axisXAngle: 0,
            tickSize: 10,
            minorTickSize: 5,
            fringeSize: 3,
            tickYCount: 5,
            axisXTickSkip: 4,
            gutterPercent: 10,
            renderer: 'svg',
            scaleType: 'time',
            keyX: 'x',
            keyY: 'y',
            outerPadding: 'auto',
            showFringe: true,
            showAxes: true,
            showXGrid: true,
            showYGrid: true,
            showLegend: true,
            autoTypeThreshold: 30,
            chartTitle: 'Chart title',
            axisXTitle: 'Axis X title',
            axisYTitle: 'Axis Y title',
            colorList: ['#741523', 'orange', 'lime', 'orangered', 'violet']
        };

And my data looks like:
[{"name":"histogram","values":[{"x":1433903917326,"y":941},{"x":1433903917327,"y":1017},{"x":1433903917328,"y":419},{"x":1433903917329,"y":161},{"x":1433903917330,"y":68}]}]

Any suggestions would be much appreciated!

Sorry for being 3 months late on this one :flushed: , forgot to monitor issues. Are you sure you have a height and width set on your container? The 'auto' value is getting sizing from container, and rectangles can have a negative values if for example height is 0 and there are some margins involved.


Remove field poll_number from MotionPoll model

We do not need this field if we use the database id. See AssignmentPoll model.

This is ok for me

If we wanted to get access to polls via the motion object (/motions/motion/1/poll/...) instead of using an extra route (/motions/motionpoll/...) we might have to keep this field. I am not sure how you want to implement this.

See #1607


Could not add submission result to Leaderboard after migrate

Problem

Reproduce Step:

Create a competition
Upload a submission
Add current phase submission to leaderboard
Migrate
Add Final phase(which is migrate result to leaderboard)

Error
Could not find a competition
Backend logs
django.db.utils.IntegrityError: duplicate key value violates unique constraint "competitions_submission_owner_id_leaderboard_id_a7fc5304_uniq" DETAIL:  Key (owner_id, leaderboard_id)=(76, 58) already exists.

Also relates to #459


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1058 ms

Resolved: Bofrost.at performance has improved in 76b6156 after 7 minutes.


"Waiting" display when going from file browser to opening dialog.

Executing dataset check routines on the cluster #205 has increased the latency of opening files in the GUI, in particular if the connection is slow.
Right now, the file browser closes and shows an empty space with the "Browse" button on top. This persists long enough for users to suspect an error and click on "Browse" again.
Instead, we should communicate "work in progress", perhaps with "Checking ... " and a spinner.

Done, now displays "Detecting parameters for {path}" message while busy.


fixed issue with 500 page dark mode

Closes: #4675
What's Changed

This issue was caused due to 500.html not extending from base.html.

TODO

[ ] Explanation of Change(s)
[ ] Added change log fragment(s) (for more information see the documentation)
[ ] Attached Screenshots, Payload Example
[ ] Unit, Integration Tests
[ ] Documentation Updates (when adding/changing features)
[ ] Example Plugin Updates (when adding/changing features)
[ ] Outline Remaining Work, Constraints from Design

@timizuoebideri1 did you do a quick audit to see if this issue is anywhere else? If so, would be good to document in how you did said audit here for clarity.

The issue here was not inheriting from base and we have reviewed those cases in core.


No longer have "Add To Opera" button in Chrome Web Store

There's now only "Available On Chrome" button which takes to the Chrome browser download page. Tried enable/disable and reinstall "Install Chrome Extensions" a few times but that didn't help.

If you are logged in to the chrome store with your gmail account try logging out, then installing the plugin


Complete Image

Hi when come the first image.. i have problems ... i can not install readsb ... i like reabsb i think i was better then tar1090 map...

I can make some images with the decoders prebuilt as I did in the past if there is a demand for it. BTW what error are you getting when you attempt to install Readsb and what distribution are you installing it on?


luneta: init at 0.7.4

Description of changes
This PR adds 1 package: luneta
Homepage: https://github.com/fbeline/luneta
Now that https://github.com/NixOS/nixpkgs/pull/299618 is merged, I was looking around for other D programs to package and luneta seemed cool.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I tried to build this, but unfortunately code.dlang.org is down right now. codemirror.dlang.org should be added to the mirrors list (fetchurl/mirrors.nix), which i'm going to open a PR for right now.

Works for me.
Result of nixpkgs-review pr 301615 run on x86_64-linux 1

1 package built:

luneta


Receive addresses are shown in random order

Using v0.20.1 on Windows
When using the menu item for Window -> Receiving addresses
It looks like I'm shown 22 addresses by default. But it seems these addresses in random order? Isn't it better to have them listed in order based on their derivation path? At least then its consistent with how most other wallets do it when cross checking to verify

Can you please check whether this also happens with the recently released 0.21.0?

Can you please check whether this also happens with the recently released 0.21.0?

Can you please check whether this also happens with the recently released 0.21.0?

@prusnak yes still happens with 0.21.0

Can you please check whether this also happens with the recently released 0.21.0?

@prusnak yes still happens with 0.21.0


Index 0 out of bounds for length 0 exception in BedrockAnthropic3ChatModel

Bug description
Some models like BedrockAnthropic3 support stopSequences parameter, while the completions meet that token it will stop to generate. So there's a change to make model not generate anything. For example, we pass the prompt as 'Hi' and set stopSequences  to 'Hello', that probably make model not generate anything.
Environment
Spring AI 1.0.0-SNAPSHOT, Java 17
Steps to reproduce

Expected behavior
Since 1.0.0-SNAPSHOT is not stable, this case serves as a reminder in case you incorporate the following code snippet into the stable version.
···
return new ChatResponse(List.of(new Generation(((Anthropic3ChatBedrockApi.MediaContent)response.content().get(0)).text())));
···

Hi @ShaunDeng could you provide a demo to reproduce this issue?

Hi @maxjiang153 , as I post at the above, just set the prompt as 'hi', and set the model stopSequences to 'Hello' or 'hi' to reproduce

Closed as merged.


kuberhealthy trying to fetch the image which doesn't exist

அ ~ helm fetch kuberhealthy/kuberhealthy

அ ~ tar xvf kuberhealthy-2.1.2.tgz; cd kuberhealthy

அ  kuberhealthy  ack -B 2 "tag: v2.1.2"
values.yaml
13-image:
14-  repository: kuberhealthy/kuberhealthy
15:  tag: v2.1.2

But we don't have a image with the tag: v2.1.2 🤷♂
Reference: https://hub.docker.com/r/kuberhealthy/kuberhealthy/tags
Hence the failure:
  Warning  Failed     26m (x4 over 28m)      kubelet, minikube  Failed to pull image "kuberhealthy/kuberhealthy:v2.1.2": rpc error: code = Unknown desc = Error response from daemon: manifest for kuberhealthy/kuberhealthy:v2.1.2 not found: manifest unknown: manifest unknown
  Warning  Failed     26m (x4 over 28m)      kubelet, minikube  Error: ErrImagePull

Thank you @sbuvaneshkumar, there is a bug with 2.1.2 and it's not pushing correctly to dockerhub.  We've reverted back to 2.1.0 and I just made the change to gh-pages.  It should replicate out to hub.helm.sh.  In the meantime, you should still be able to specify --version 2.1.0.

Repo has been rolled back to 2.1.0 only.


Feature remove variant array view

!API CHANGE!
removed the class 'variant_array_view'
removed the method property::is_array() use following instead:
property::get_type()::is_sequential_container()
property::get_type()::get_raw_type()::is_sequential_container()
property::get_type()::get_wrapped_type()::is_sequential_container()

Coverage increased (+0.7%) to 93.149% when pulling d76bcf180e4bb70be821563eac335ab4f0c24c54 on acki-m:feature-remove-variant-array-view into b06257b4f56e5a69ca907078c246078db9c4cad7 on rttrorg:master.

Coverage increased (+0.7%) to 93.149% when pulling d76bcf180e4bb70be821563eac335ab4f0c24c54 on acki-m:feature-remove-variant-array-view into b06257b4f56e5a69ca907078c246078db9c4cad7 on rttrorg:master.


Deployment of template using Azure CLI fails

Run the following command:
az deployment group create -g $RESOURCE_GROUP \
    --query 'properties.outputs.*.value' \
    --template-file kafka-dev.bicep

Get error:
An error occurred reading file. Could not find file '/mnt/item/kafka-dev.bicep'.

Should the file names in these two places be the same?

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

ID: e4258f92-9f28-51ea-c31d-9cc5ab0c5b52
Version Independent ID: 1bb1027a-5eb2-0853-c899-4856e1878919
Content: Tutorial: Create and use an Apache Kafka service for development
Content Source: articles/container-apps/tutorial-dev-services-kafka.md
Service: container-apps
GitHub Login: @ahmelsayed
Microsoft Alias: ahmels

@hui1110
Thanks for your feedback! We will investigate and update as appropriate.

@hui1110 Thanks for sharing this feedback and helping us drive improvements toward the MS Docs. I've submitted a PR that corrects the bicep filename in the deployment CLI command, and the changes should be live upon approval and the next merge.
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Mindustry doesn't run on wayland

Describe the bug
Running Mindustry on Wayland requires XWayland, which is unnecessary if Mindustry is built correctly.
Error `arc.backend.sdl.SDLError: wayland not available`.

To Reproduce
Steps to reproduce the behavior:

nix-shell -p mindustry
SDL_VIDEODRIVER=wayland mindustry

Expected behavior
Mindustry should be built against system glew with wayland support so it can run natively under wayland.
Additional context
https://github.com/Anuken/Mindustry/issues/1393
https://github.com/Anuken/Arc/pull/15
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

@fgaz if you want you could change the mindustry package to enable dynamic linking. If you're not interested I will prepare a PR.

Some inspiration: https://github.com/petabyteboy/nixpkgs/commit/cbbfffef869d58bcbf6670b752aa00afe1596311

if you want you could change the mindustry package to enable dynamic linking. If you're not interested I will prepare a PR.

@petabyteboy it's not that I'm not interested, but I don't really have the time to address this right now, so please do :)

Arc's natives are a big source of problems in general...
https://github.com/NixOS/nixpkgs/pull/107646/files#diff-6055d07eece505268ab5fe931a712118d8bc4ef8de2d484d624ea371a26761c4R53-R58
and
https://github.com/NixOS/nixpkgs/pull/107646#issuecomment-751384326

Unfortunately they also broke the natives build again. I'm working with upstream to resolve the issue: https://github.com/Anuken/Arc/issues/40

Unfortunately they also broke the natives build again. I'm working with upstream to resolve the issue: https://github.com/Anuken/Arc/issues/40


DLT Live stream cannot receive anything

affected version:
2.12.0
DLT live stream is broken, it is not possible to receive multicast traffic

solved with 2.13


Ignore time zone at all

Hello!
How can I completely turn off time zone function?
I need to see on a ruler exact time I specified in my script, regardless time zones.
It is possible? tzOffset: 0 didn't help...
Thanks.

The issue I faced with (why I'm asking how to turn off time zones) is the following.
Lets say base definitions - it is time, hardcoded in the script, regardless time zone.
I have everything on timeline - base definitions+3hrs (the ruler starts at 13.00, instead of 10.00, event starts at 15.00, instead of 12.00). Only timeline shows current time correctly regardless time zone. Because of this, it is sometimes out of the left border and doesn't show. And all this with tzOffset: -180. Why?..

I used to replace date.setUTCHours(hours, minutes, 0, 0); to date.setHours(hours, minutes, 0, 0); in today helpers function.


Releasing the model and weight files.

Hi,
Thank you for sharing this impressive work! I am currently working on a similar project and would like to reproduce your results for comparison with my own methods. I was wondering if you have any plans to release the code and pre-trained weight files. Having access to these resources would be invaluable for benchmarking and advancing my research.
I appreciate your consideration and look forward to your response.
Best.

Thank you for your interest in our work! We will be uploading a preliminary version of the code and pre-trained weight files within the next two days for those who wish to explore it quickly. The fully standardized version will be available within a month!

Thanks for the quick reply!
Best.


Move blacklist from config map to code

Things to do:

put new tests from https://github.com/lisa/dedicated-admin-operator/pull/1 into a "black box" test
move regex from config map to code
pre-compile regex
update dockerfile to run make test build

@jewzaam can we close this issue? I believe it was addressed already


SetupShop Add Licensing Info

Most of the WIPAC Dev Team's repos use the MIT license. It would be useful to move this into SetupShop logic.
What is the 'license' argument? Is this a url to the license file (in which case SetupShop can auto-detect/require that file), or is it simply "MIT"?

https://packaging.python.org/guides/distributing-packages-using-setuptools/#license

The license argument doesn’t have to indicate the license under which your package is being released, although you may optionally do so if you want. If you’re using a standard, well-known license, then your main indication can and should be via the classifiers argument. Classifiers exist for all major open-source licenses.
The “license” argument is more typically used to indicate differences from well-known licenses, or to include your own, unique license. As a general rule, it’s a good idea to use a standard, well-known license, both to avoid confusion and because some organizations avoid software whose license is unapproved.

In other words: license='MIT'


Some attachments being ignored in dm-log

Bug:
If you DM an attachment of a certain type (seems to only happen for smaller files or non image/video files, not exactly sure) to the bot, instead of relaying it to the dm-log channel as expected, the message is seemingly ignored.
Cause:
I did some detective work and found out this error was being raised by this function when the attachment was DMed to the bot:
bot_1       | 2020-08-31 17:46:29 | bot.utils.messages | WARNING | Failed to re-upload attachment test.txt from message<PHONE_NUMBER>88325682 with status 415.
bot_1       | Traceback (most recent call last):
bot_1       |   File "/bot/bot/utils/messages.py", line 79, in send_attachments
bot_1       |     await attachment.save(file, use_cached=True)
bot_1       |   File "/usr/local/lib/python3.8/site-packages/discord/message.py", line 124, in save
bot_1       |     data = await self.read(use_cached=use_cached)
bot_1       |   File "/usr/local/lib/python3.8/site-packages/discord/message.py", line 166, in read
bot_1       |     data = await self._http.get_from_cdn(url)
bot_1       |   File "/usr/local/lib/python3.8/site-packages/discord/http.py", line 239, in get_from_cdn
bot_1       |     raise HTTPException(resp, 'failed to get asset')
bot_1       | discord.errors.HTTPException: 415 Unsupported Media Type (error code: 0): failed to get asset

Some further investigations have lead me to believe that the problem is caused by using use_cached=True on this line, and indeed, looking at the docs for attachment.save it says Note that this can still fail to download deleted attachments if too much time has passed and it does not work on some types of attachments., which seems to fit.
Solution:
The simplest option would just be to removed use_cached (as it defaults to False). I'm not sure on the reasoning for setting it to True though, in the docs it says This will allow attachments to be saved after deletion more often, compared to the regular URL which is generally deleted right after the message is deleted, although I'm not sure how necessary this is.
I would be happy to make whatever change is necessary for this, if somebody can confirm what I am observing is correct and the solution is correct. Let me know here or on discord if you are struggling to reproduce this, thanks.

We've been getting that 415 for a long time and no one has ever figured out why. A 415 response doesn't even make sense, but that's Discord for you. I believe use_cached is enabled because some other code does try to log attachments for deleted messages. If 415 is the standard response for when a cached asset couldn't be retrieved, then that error should be ignored in send_attachments.

If we require use_cached=True, would it not work to try that and fall back to use_cached=False if it fails with a 415, so we keep the ability to save deleted files, but also fix this problem?

Yeah, that sounds okay. You could make it more clever by only using the proxy when it's beneficial (i.e. when it needs to fetch a deleted attachment). This will avoid always making two separate requests. Furthermore, it may not be worth requesting via the normal URL if the proxy fails for attachments specified as deleted by the caller (or maybe let the caller specify use_cached directly). The impression I get is that the success rate of the normal URL for deleted attachments would also be quite low.
Also, the docs says proxy_url only works for certain file types, so that 415 error is starting to make some more sense. Still, I don't know why Discord would provide a proxy URL for a resource that it will just 415 for anyway.

If this is the same issue as #909; supposedly the media server is used for thumbnails and isn't cleared immediately on deletion like the message and cdn, so we should be able to ignore the filetypes that don't embed in a way where the media server for resizing etc. is necessary

If we always know when the attachment we are fetching is deleted then I think then just letting the user specify use_cached would be fine. I'm guessing the code for the attachments log is currently the only place where we try and relay deleted attachments, but I'm not 100% sure.
If you think trying to work it out from the file type would be the best solution here then that is fine too, but I'm not too sure how that would be done so somebody else might have to work on it if that is the case.


Image to Base64 representation

Create a page where a user can upload an image file. The page will convert it to base64 and allow you to either copy a base64 value of the image which you can use in <img src="value" /> or allow you to download an HTML file which contains the img tag with the encoded value so that the user can just open it in a browser.

hey vaibhav i would like to work on this issue.


Feat/navigation hotkeys

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Adds hotkeys ctrl/command+shift+< and ctrl/command+shift+> that navigate to the previous and next challenge respectively.
TODO:

[ ] Remove arrow buttons

Would be nice:

[ ] Capture key events when the preview frame is focused.

When finished, will close #36795

Just a thought while you are at this, you need not worry about any hot keys when the editor is in focus. While the editor is in focus all keys can be completely ignored.

Why is that @raisedadead? So they won't be available when it's in focus? Or is something else in mind?

So they won't be available when it's in focus?
Yes, that is correct. We can safely assume that when you are in the editor, you do not want to use any hotkey as a user. This will reduce a lot of the complexity on finding the correct keys and keep these new keys very simple.
These is a standard practice. Inside any editor, form, input all hot keys can be ignored.
Hey @scissorsneedfoodtoo you may be interested in this conversation as well.

In that case, should we remove the current ctrl-enter action from the editor, for consistency?

My experience while testing this is that the editor is focused on render, so if someone wants to use the hotkeys, they would have to focus the instructions area, then use the hotkeys. Which feels a little crappy. So if someone wants to go more than one challenge forward or backward, they would have to click on the instructions, use the hotkeys and repeat. With them enabled while on the editor, you can navigate through lessons quite fast.
It seems like that kind of trades less complexity in the code for more complexity in user experience - my opinion

As @moT01 says, it's a little clunky without editor hotkeys.  The other obvious solution is to not focus on the editor by default, but that makes the standard user experience a little bit less smooth, so perhaps not.
Escaping would be quite intuitive and a reasonable compromise, I think.

It seems like that kind of trades less complexity in the code for more complexity in user experience - my opinion

Code complexity is least of my concerns, TBH.
I am taking inspiration from YouTube, GitHub, etc. You simply press the left key to fast-forward. You simply press the up arrow to increase the volume.
It's rather intuitive that I can press the left arrow (or a suitable alternate), etc. than remembering ctrl + shift + >.
Finally as for the focus out, I like @ojeytonwilliams suggestion about escaping being a acceptable compromise.

In that case, should we remove the current ctrl-enter action from the editor, for consistency?

Nope that would be break in the quick submission. We should keep the ctrl-enter combination as it is for the editor. This is the only exception.

Okay, cool.  How about we extend the ctrl+enter so that it works even when the editor is not in focus?  I've always found it frustrating that it doesn't!

My bad, I misunderstood that sentence about the complexity.
I think my ideal implementation would be like this...
Press control -> it brings up the legend which shows what functions are available
and then press enter to submit a challenge or shift+> (or whatever keys we decide) to navigate.
And it works no matter what is focused.
But using escape to lose focus would work good too, I think.

so that it works even when the editor is not in focus? I've always found it frustrating that it doesn't!

Oh yes, please!

To review, the goals are:
Editor in focus

escape: removes focus
ctrl+enter: runs tests

Nothing focused

ctrl: brings up legend
ctrl+enter: runs tests
ctrl+left: navigate to previous challenge
ctrl+right: navigate to next challenge

I picked left and right as they seemed simplest.  We don't need anything complicated now that we're not navigating while the editor is in focus.  I suspect it's not intuitive for people who read from right to left, but I don't think there's anything we can do about that.

Is this what we're aiming for?

Yes, absolutely.
This is a good start and we can then on expand to other areas like hints, help, learn map, etc. in future PRs.

@ojeytonwilliams When I read your last question above, you state to navigate left and right,  it would be ctrl+left and ctrl+right, but when I look at the code, I see:
const keyMap = {
  NAVIGATE_PREV: ['ctrl+shift+<', 'cmd+shift+<'],
  NAVIGATE_NEXT: ['ctrl+shift+>', 'cmd+shift+>']
};

This code seems to indicate the user will need to also press shift.  Am I missing something?

Am I missing something?

This is a draft PR. Its WIP.

@RandellDawson You're not missing anything, it's just a bit fluid at the moment.  The reasoning for ctrl+shift+< was that I thought it had to work in the editor, but @raisedadead pointed out that it doesn't.  Hence the simpler version.
I'll push another commit in a sec with the updated commands.  I'm just working struggling with a few quirks of react-hotkeys.

I'm still struggling with some weird behaviour.  It intermittently triggers the ctrl+enter behaviour when you just press ctrl, but not consistently.  It seems more reliably wrong on Firefox.
So, to reproduce:

Go to http://localhost:8000/learn/responsive-web-design/basic-html-and-html5/say-hello-to-html-elements
Press escape
Fill in Hello World
Press ctrl+enter, it should bring up the modal
Press escape to close the modal
Press ctrl, this should not bring up the modal, but does for some reason

This can be fixed by explicitly filtering out the events which don't have the enter key, but that's not great.

Hmm, that is interesting.
I was looking at the example implementations, and could not see anything weird that we are doing.
I'll pull this down and give it a go.

@moT01 noticed I'd not wrapped the backend or projects, so this fixes that.  It also shows that the bug happens for ctrl+right as well (unsurprisingly).
Also, backend/projects don't give focus to the hotkeys by default, but that shouldn't be too hard to fix.
@raisedadead please do.

So, now it's behaving reasonably nicely.  Seems GlobalHotKeys have a role to play, after all.
I'm not sure what's the best way to handle ctrl+enter on backend challenges and projects.  My current plan is to get a ref to the form and send it a submit event.  This stack overflow answer, basically.  It seems a bit hacky, though.

I have been trying to reproduce this, but haven't been unfortunately on a macOS. I do not have access to a Windows machine at the minute.
But @moT01 gave me this snippet last night to try out, in the HotKeys component:
const handlers = {
    EXECUTE_CHALLENGE: e => {
      if (executeChallenge) {
        e.preventDefault();
        executeChallenge();
      }
    },
    NAVIGATE_PREV: e => {
      e.preventDefault();
      navigate(prevChallengePath);
    },
    NAVIGATE_NEXT: e => {
      e.preventDefault();
      navigate(introPath ? introPath : nextChallengePath);
    }
  };

Oliver, Can you check this for us?

Meanwhile, I will start reviewing your code to try and make a sense of the flow here.

@raisedadead yep, @moT01 sent the same code to me.  It seemed to be enough for classic challenges, but navigating on projects still didn't work properly.  As far as I can see, the problem is that since HotKeys has to be mounted and in focus to capture events, if either of those change at the wrong moment, key events can get lost.  In this case it was losing keyup events, so it assumed that 'enter' or 'right' was still being held down.  Once it's in that state, just pressing 'ctrl' will trigger the command.
GlobalHotKeys serves to capture all events, so that the library knows that you've stopped pressing the keys.
We still need e.preventDefault() for ctrl+enter's handler, since enter does something (not 100% sure what) that stops HotKeys from listening.  The navigation handlers are fine without, though.

Actually, I might be able to simplify this a whole bunch by just using GlobalHotKeys, but doing it properly... one sec!

Take your time. There is no rush, and we can talk on the common chat if you prefer  to keep this thread sane for everyone.

While testing this again, I was having some issues with navigation. Found out that on a mac command+left is a shortcut for going back in the browser (firefox and chrome for sure anyway). So I was getting a sequence where our hotkey to go back would take me to the previous lesson, and then the browser would immediately take me back to the last page I visited, which was the lesson I triggered the hotkey on (aka forward a lesson).
So we could preventDefault to stop that, but @ojeytonwilliams pointed out that it might not be a good idea to override the browsers default behavior there. So maybe look into some other hotkeys for mac.

look into some other hotkeys for mac.

I am quite inclined that we should just use Ctrl key for the navigation.

@raisedadead sure.  Wasn't the easiest merge, but it looks okay now.
Regarding the hotkeys, @moT01 talked about it a fair bit and our conclusion was Ctrl for everything.  So, the editor would just respond to ctlr+enter not ctrl/command+enter like it does currently.  Seem reasonable?

Wasn't the easiest merge, but it looks okay now.

Apologies, we have been working and landing changes in the same areas. Thanks for your updates.

[...] Ctrl for everything. So, the editor would just respond to ctlr+enter not ctrl/command+enter like it does currently. Seem reasonable?

Yup, I agree.

Quick update:
Do not worry about the /Learn suddenly missing from the nav, when you rebase. This is being worked upon. You can visit the learn map by navigating to the path directly.

Weird. First thing I'd try, if you haven't, is preventDefault on those key-combinations.

Weird. First thing I'd try, if you haven't, is preventDefault on those key-combinations.

And that's what I did as well. :)

Weird. First thing I'd try, if you haven't, is preventDefault on those key-combinations.

And that's what I did as well. No joy. :)

Weirder and weirder.  Well, we don't need to use those key-combinations.  How about just n and p  or left and right?  After all, the main justification for why  'Run the tests' uses a modifier key is that it has to work in the editor.  We don't have that constraint for the navigation.

I am inclined to that, we really do not need to use a modifier key if we don't have to, in the non-edtiable views.
Here are a couple things:

Just use the left and right key, or use the p and n key. I would prefer the later to avoid any conflict with accidental clicks, etc.

Use Cmd/Ctrl + Enter on the editor and on the Global view for challenge execute and closing the success modal.

If escape was pressed in the editor, store the state and do not focus to the editor automatically. This is probably going to be annoying for someone who used escape to remove the focus to navigate.

Just use the left and right key, or use the p and n key. I would prefer the later to avoid any conflict with accidental clicks, etc.

Agreed

Use Cmd/Ctrl + Enter on the editor and on the Global view for challenge execute and closing the success modal.

Good point. Cmd was removed to be consistent with navigation, so it can come back.

If escape was pressed in the editor, store the state and do not focus to the editor automatically. This is probably going to be annoying for someone who used escape to remove the focus to navigate.

So, just so I'm 100% sure, you have in mind the following:
The user is in the editor and they press escape.  From now until they reload the browser, or actively focus on the editor, the editor doesn't receive focus.  That way they can freely navigate by pressing n and p without having to press escape each time they navigate to a new challenge.  Is that right?

The user is in the editor and they press escape. From now until they reload the browser, or actively focus on the editor, the editor doesn't receive focus.

That is correct. I felt that it was more intuitive that way.

Yeah, I think it should result in a nicer UX.  I'll take a look at that now.


Forward a Message From Channel to Group.

I want to make a bot which forward a post from channel as soon as it posted. i used bot.forwardMessages but i am not able to forward without command.

You should get message id before forwarding it, so i think you can't as the message in channel is not sent by your bot.

so, i can't execute it without command to get update from channel and post to group chat?


Put the sysupgrade image on top of the page

From the OpenWrt meetup at 38c3:
It was raised to put the sysupgrade image in the firmware selector on top of the output firmware list.

Just a matter of ordering or make it more present?

What was the argument given to put the sysupgrade images to the top of the list?


[2284] Add course_subject foreign keys

One of the subjects went awol, this will expose the source earier if it
happens again
Context
Changes proposed in this pull request
Guidance to review
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

whoops

 Subject 33 went awol - add missing FK to stop it happening again


GH-43270: [Release] Fix input variables on post-01-tag.sh

Rationale for this change
Scripts is failing to be executed
What changes are included in this PR?
Fixing the script
Are these changes tested?
Locally during the release
Are there any user-facing changes?
No

GitHub Issue: #43270

1

Thanks for fixing this! Apologies I did not catch it in the original PR.

We should probably have shellcheck running in the linter job...


clarify role of promises with Async

there's a note in the README about not relying on promises returned from Async interactors.
we should add more tests around this, and probably raise an exception when calling SomeInteractor::Async.promising(:something)

Fixed in #37


[P] Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState'

Python prints the tuple with parenthesis and quotes which messes up the hive_site.xml file.

Hi @koshshah, please try from the master branch now, you should be all set ☺


Typo - CHROME was spelled CROME x2

IMPORTANT: Do not submit PRs with only formatting / PEP8 / line length changes, I will close them with great prejudice.  The PEP8 checks I don't follow are intentional. PRs for minor bugfixes, typos, etc are fine.
Summary
CHROME was spelled CROME in two places.
Related issues: #XYZ (delete this line if there are no related issues)
Changes these areas

[ X] Bugfixes
[ ] Feature behavior
[ ] Command line interface
[ ] Configuration options
[ ] Internal architecture
[ ] Archived data layout on disk

Roadmap Goals
This PR helps us move towards xyz roadmap goal, as outlined here: https://github.com/pirate/ArchiveBox#roadmap
(delete this section if it's just a bugfix / simple PR)

wow what is up with me and having so many mistakes in that file... thanks


[Event Request] Table 5080 "To-do" - InsertTaskAndRelatedData

Hi microsoft/ALAppExtensions,
can you please add new event on the function
local procedure InsertTaskAndRelatedData()
        if not CommentLineInserted then
            CreateCommentLines(RMCommentLine, Task2."No.");

        OnAfterInsertTaskAndRelatedData(Task); //New Event

    end;

    [IntegrationEvent(false, false)]
    local procedure OnAfterInsertTaskAndRelatedData(var Task: Record "To-do")
    begin
    end;

which can be used to modify "Interaction Log Entry" table.
    [EventSubscriber(ObjectType::Table, Database::"To-do", 'OnAfterInsertTaskAndRelatedData', '', false, false)]
    local procedure OnAfterInsertTaskAndRelatedData(var Task: Record "To-do")
    var
         InteractionLogEntry: Record "Interaction Log Entry"
    begin
        if Task."Interaction Log Entry No." <> 0 then begin
            InteractionLogEntry.Get(Task."Interaction Log Entry No.");
            InteractionLogEntry."To-do No." := Task."No.";
            InteractionLogEntry.Modify();
        end;
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: .


odh-769 address follow-up qe comments

address QE comment for pip install command - add RUN

@jiridanek - OK now?

Thank you!