Request to have Emacs mode as well

Hello,
I see that the judge0 IDE has Vim mode. Can we also please have an Emacs mode?
Ref: https://github.com/nim-lang/Nim/issues/11599#issuecomment-506339018

I will add that in the near future: https://github.com/judge0/ide/issues/27#issuecomment-509833402

Hey @kaushalmodi,
I have added Vim and Emacs support on https://ide.judge0.com. Please check it out let me know does it work for you as expected.
If you are not sure if Judge0 IDE behaves as expected, please consult with https://editor.bitwiser.in. I am using their plugin for both vim and emacs.
Thanks!
Herman

The Ctrl+N (C-n) binding in Emacs should act like down arrow. But on Firefox, the Ctrl+N is stolen by the browser (Firefox) to open a new window.
The Ctrl+P (C-p) binding to act like up arrow works fine though (the browser is not stealing that binding to open the print dialog (as expected)).
Thanks for working on this.
By the way, I use Nim and was surprised to see Nim not available on that link (so I opened this other issue: https://nim.ide.judge0.com/ ). And the Emacs binding setting is not available on that latter link.

Thanks for your fast review @kaushalmodi!
I will consider this feature as working because C-n cannot be cached by JavaScript.
I separated Nim from Judge0 IDE because Nim isn't currently in Judge0 API. At first Nim was added as experimental language to feature Judge0 but at the same time give Nim community something useful. I will think about adding Nim to Judge0 IDE (and API) and will let you know when that happens.

I tried the Emacs mode more today with basic stuff but none of these bindings work:

C-x h (Ctrl+X, release, press H) : select all
C-y - Paste
C-w - Cut (this kills the tab!!)

Hey @kaushalmodi,
I was able to reproduce this but it seems to me that monaco-emacs plugin that I use doesn't work as expected.
Can you please open an issue there?


Want to change the log level on buildah by default to warnf

Change the level of missing /etc/containers/mount.conf to a debug, since
this is expected on most machines.
Also raised the level of some warnings to errors, so they will be better seen,
even if we are skipping.
Fixed the wording of one error, since stating is not the correct word.
Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

LGTM
@rh-atomic-bot r+


pypressportal examples of using python script to create og tags

Python script:
https://github.com/tcmetzger/pypresseportal/blob/master/docs/_ext/ogtag.py
https://github.com/tcmetzger/pypresseportal
https://github.com/tcmetzger/pypresseportal/blob/master/docs/pypresseportal.rst
https://api.presseportal.de/en
Layout like a newspaper by topic
https://www.presseportal.de/en/

https://github.com/wpilibsuite/sphinxext-opengraph/pull/15
This pull request adds support for og:image:alt (partially solves #10).
This is how the alt tag is generated:
ogp_image_alt is a new option for conf.py. Any string provided with this option will be used as alt text
If no string is provided, opengraph.py will try to automatically use site_name as alt text. If site_name is not available, htp.text will be used instead.
The user also has the option to completely turn off alt text, by setting ogp_image_alt to False.
This pull request also includes an additional test and an update to README.md.
According to opg.me any page that includes an og:image should also inclode an og:image:alt. This would not only increase compliance with opg but might also increase search engine visibility.


Hearing aid put int the roof of my mouth after xxxxx

[Enter feedback here]

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

ID: da261ee4-3348-b520-a27c-98f9d9ef40cc
Version Independent ID: 13d12189-ee46-8058-dd99-058adc69f1c5
Content: Add an existing Azure subscription to your tenant - Azure AD
Content Source: articles/active-directory/fundamentals/active-directory-how-subscriptions-associated-directory.md
Service: active-directory
Sub-service: fundamentals
GitHub Login: @ajburnle
Microsoft Alias: ajburnle

GitHub Community Forum Code of Conduct


Redo fix for nargs and append

I am stupid and didn't actually fix the behavior for combining append and nargs in #178
I intended to allow actions of type append to accept lists when used with nargs=+,* or an int > 1 but I forgot to include the check that the action is append.
I also introduced a bug in #178 by not checking for nargs=None, which I apologize for, and am glad to see it was fixed quickly. This time I handle None correctly.

Please add test codes when PR. This modification causes a bug again.
AttributeError: 'NoneType' object has no attribute 'nargs'

https://github.com/bw2/ConfigArgParse/blob/6b34e073b6c69ae2fe12c3d4c308a9543d84bea5/configargparse.py#L744-L748
((isinstance(action, argparse._StoreAction) or isinstance(action, argparse._AppendAction)) and
action.nargs is not None and
(action.nargs in ('+', '*')) or
(isinstance(action.nargs, int) and action.nargs > 1))  # Here is evaluated even if action is None


Unloading the plugin fails, requiring restart

Description
There are several crash reports, which seem to point to one of several root causes:

AvroIdlLanguage, or a class that depends on it, fails to initialise for some unknown reason
AvroIdlLanguage fails to initialise because "Language with ID 'Avro IDL' is already registered",
and the conflicting plugin is this plugin
"Duplicate registration for EP opwvhk.avro.idl.naming.convention" by this plugin

All of these seem to be caused by not fully unloading the plugin.
Immediate cause: some JNI object keeps various plugin classes in memory
Root cause: unknown
To Reproduce
Sadly, the crashes cannot be reproduced.
The unloading failure can, but the logs (where IntelliJ analyses which GC root keeps the plugin in memory) point to JNI holding the classes in memory. The underlying culprit remains unidentified.
Expected behavior
The plugin should be unloaded quickly and properly.
Context:

JetBrains Products: IntelliJ IDEA 2022.2.3 to (at least) 2024.2
Plugin Versions: at least since 2021.3
OS: all reports came from MacOS

The latest unload failing log shows:
Root 1:
  ROOT: Global JNI
  (root): javax.swing.TransferHandler$SwingDropTarget
  dtListener: javax.swing.TransferHandler$DropHandler
  support: javax.swing.TransferHandler$TransferSupport
  component: com.intellij.openapi.editor.impl.EditorComponentImpl
  editor: com.intellij.openapi.editor.impl.EditorImpl
  myProject: com.intellij.openapi.project.impl.ProjectImpl
  extensionArea: com.intellij.openapi.extensions.impl.ExtensionsAreaImpl
  extensionPoints: java.util.HashMap
  table: java.util.HashMap$Node[]
  []: java.util.HashMap$Node
  value: com.intellij.openapi.extensions.impl.InterfaceExtensionPoint
  cachedExtensions: java.util.ImmutableCollections$ListN
  elements: java.lang.Object[]
  []: opwvhk.intellij.avro_idl.editor.AvroIdlTreeStructureProvider
  <class>: java.lang.Class
* name: com.intellij.ide.plugins.cl.PluginClassLoader

This means an IntelliJ class is holding on to the plugin AvroIdlTreeStructureProvider...


[BUG] CloudscapeReactTsWebsiteProject build breaks with ""

Describe the bug
Building a CloudscapeReactTsWebsiteProject created with the following code should succeed:
const website = new CloudscapeReactTsWebsiteProject({
  name: "website",
  defaultReleaseBranch: "mainline",
  parent: monorepo,
  outdir: "packages/website",
  deps: ["@aws-amplify/auth", "@aws-amplify/core"],
});

Expected Behavior
Build is successful
Current Behavior
> $ npx nx run-many --target=build --all                                                                                [±mainline ●●]

    ✖  nx run website:build
yarn run v1.22.19
$ npx projen build
       👾 build » compile | react-scripts build
       Creating an optimized production build...
       Failed to compile.

       [eslint]
       src/NavHeader.tsx
         Line 4:1:  '@aws-amplify/auth' should be listed in the project's dependencies. Run 'npm i -S @aws-amplify/auth' to add it  import/no-extraneous-dependencies

       Search for the keywords to learn more about each error.

       👾 Task "build » compile" failed when executing "react-scripts build" (cwd: /Users/donatoaz/src/aws/protos/rotoplas/src/frontend/packages/website)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Reproduction Steps
Create nx-monorepo project. Add CloudscapeReactTsWebsiteProject as described above. Run npx projen && npx nx run website:build.
Possible Solution
No response
Additional Information/Context
No response
PDK version used
^0.65.48
What languages are you seeing this issue on?
Typescript
Environment details (OS name and version, etc.)
mac os, node js v14.19.0

Starting from scratch solved the problem. But I'd be interested in understanding why it was failing originally.


change directory for images in article?

Should we change the directory to find images for the articles in the function "getImageStyle"? Currently, you can only write the name of the image in the json file of an article. But that means every image must be in the same folder. The images are in a different folder structure. When we change it, we can keep the different folders but have to write which folder the image is in in the json. What do you prefer Armin?

Uhh GitHub issues, never used that before.
Isn't it convenient to not have to worry about where to place/fetch the images, by having all article images in the same place?
What is the issue/disadvantages with having them in the same folder (currently I can't see any, but open for good points :)?

Currently we have images doubled. In the folder structure units and in the articles folder. We can do no folder structure and put all images together or structure them in different folders. Or we double all images like we do now

Oh, I see what you mean. I think this problem is mainly with the units for now. I still think it's better to keep all article images in the same folder, to keep the article JSON and making articles as simple as possible. I would suggest either keep them duplicate or to also use the articles folder where the unit images have been used otherwise (I think they are only used in treasure table and fetched in images.scss).

check


feat: add keys PageUp and PageDown for better navigation

Addresses #290
The behaviour is as follows:

If number of files in the panel is less than the height meaning all files can be contained in a single panel without scroll
PageUp jumps to the first and PageDown jumps to the last element

Otherwise, It jumps by the panelHeight i.e number of files that can be fit in a panel while always keeping the item the cursor is at, at the center, except at the extreme ends of course

I have tried to keep the behaviour as seen in most applications like text editors etc
Let me know if anything different would be desired

Everything looks good, but can you make the hotkey as a variable?
You should be able to use pgdn and pgup to mean page down and page up

change src/internal/config_type.go:150
change src/superfile_config/hotkeys.toml and vimHotkeys.toml
change  case tea.KeyPgUp.String(): and  case tea.KeyPgDown.String():

Done! Also one thing, in vim ctrl+b, ctrl+f serve the same purpose as pgup and pgdown but since ctrl+f is already taken for toggle footer, I didn't add these.. Maybe it could be changed in the future


Compatibility with module Item Macro

Hello,
Can you make this module compatible with Item Macro?
https://github.com/Kekilla0/Item-Macro
Item Macro is very useful to store macros directly within the actor sheet.
But when the item is then dragged to the hotbar, the uses are not showing up.
The result of a macro in the hotbar while using Item Macro is:
ItemMacro.runMacro("pzGA6GqAoSsQWY0L","Em91Iu07HkLAWAfK");
First is actorID & second is itemID
I think it would be easy to parse that 😄
Thx!

Thx!

Thx!


Add new JSON_RPC endpoints to get miner data by block number and block hash.

PR description
Add new JSON_RPC endpoints to get miner data by block number and block hash.
Fixed Issue(s)
#1408
Changelog

[X] I thought about the changelog and included a changelog update if required.

@richardpringle and @sammy1991106 please take a look at the changes and let me know if this is what you were expecting.

Is there a new Postman def. for these included RPC calls?

@sambacha it will be documented shortly :-)


scripts use kubectl wait instead of sleep

this optimizes tests

Codecov Report

Merging #4 (34f5c5f) into main (5357d5d) will increase coverage by 1.39%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main       #4      +/-   ##
==========================================
+ Coverage   83.46%   84.86%   +1.39%
==========================================
  Files           5        5
  Lines         502      502
==========================================
+ Hits          419      426       +7
+ Misses         59       54       -5
+ Partials       24       22       -2

Impacted Files
Coverage Δ

controllers/rspoptimizer_controller.go
81.44% <0.00%> (+2.40%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Move ClarityBitcoinClient

The file ClarityBitcoinClient should be in the main source folder.
Commented code should be removed.
Documentation would be nice.

Marking this as an enhancement since it ClarityBitcoinClient is a thin wrapper around callReadOnlyFunction() from @stacks/transactions. It wasn't intended to by part of the API. I'm not opposed to adding later, but it will take a bit of time to write tests and documentation, so punting for now.


Same table markdown code in VSCode preview and Github renders differently.

VSCode Version: 1.21
OS Version: Mac Os Sierra  10.12.6, and Windows 7

Steps to Reproduce:

If you write this:

|Name| Type|
|:-----:|:---------:|
|`attribute`| `{Boolean \|\| String}`|

in VSCode preview you see something like this:

Name
Type

attribute
{Boolean \|\| String}

But Github shows you:

Name
Type

attribute
{Boolean || String}

If you write this:

|Name| Type|
|:-----:|:---------:|
|`attribute`| `{Boolean || String}`|

in VSCode preview you see this:

Name
Type

attribute
{Boolean || String}

But Github render this:

Name
Type

attribute
`{Boolean

Does this issue occur when all extensions are disabled?: Yes

I think this is a bug on the github side actually. They render:
{Boolean \|\| String}
as

The rendering of the inline code in these two cases (normal and inside table cell) should not be any different
For reference, we use markdown-it for the markdown preview

Github use Markdown that always escape pipe char even it is in backticks (`).
e.g. in Github two following example escape pipe chars:
|Name| Type|
|:---:|:----:|
|`attribute`| {Boolean \|\| String}|

|Name| Type|
|:---:|:----:|
|`attribute`| `{Boolean \|\| String}`|

In other hand, VSCode or markdown-it renders as following, first without backticks:
|Name| Type|
|:---:|:----:|
|`attribute`| {Boolean \|\| String}|

render as

Name
Type

attribute
{Boolean || String}

And with backticks:
|Name| Type|
|:---:|:----:|
|`attribute`| `{Boolean \|\| String}`|

render without escaping:

Name
Type

attribute
{Boolean \|\| String}

This is completely fine, but after push your markdown to github, you need to check it one more time.


Query Result editor Version <IP_ADDRESS>905192012

In the current Community Version aren't available the buttom SAVE, CANCEL, SCRIPT, ADD ROW, DUPLICATE ROW, DELETE ROW and I can't edit a field in a Oracle table where I have edit rights.
Please fix this bug, I use a lot your software! I wonderful!!

Hi @mmislablum ,
thanks for the bug report.
It seems that your issue duplicates #5957 that was already fixed and could be tested in EA version (https://dbeaver.io/files/ea/). Please, let us know if it doesn't resolve your problem.
Ticket will be closed as duplicate. If issue isn't fixed feel free to reopen the ticket.


Memory leak

I'm wondering if the following valgrind's output means a memory leak?
This is with crossbeam through scoped-pool:
grep crossbeam Cargo.lock  name = "crossbeam" name = "crossbeam-utils"  "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",  "crossbeam 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", "checksum crossbeam 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "bd66663db5a988098a89599d4857919b3acf7f61402e61365acfd3919857b9be" "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
==12569== 560 bytes in 14 blocks are indirectly lost in loss record 7 of 15 ==12569==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==12569==    by 0x2ACE3B: alloc::alloc::alloc (alloc.rs:82) ==12569==    by 0x2ACDAB: alloc::alloc::exchange_malloc (alloc.rs:204) ==12569==    by 0x2AC2A6: new<crossbeam::sync::ms_queue::Node<scoped_pool::PoolMessage>> (boxed.rs:116) ==12569==    by 0x2AC2A6: crossbeam::mem::epoch::Owned<T>::new (mod.rs:153) ==12569==    by 0x2A222A: crossbeam::sync::ms_queue::MsQueue<T>::push::Cache<T>::into_node (ms_queue.rs:115) ==12569==    by 0x2A25E6: crossbeam::sync::ms_queue::MsQueue<T>::push (ms_queue.rs:153) ==12569==    by 0x2A943B: scoped_pool::Pool::run_thread (lib.rs:172) ==12569==    by 0x2A92CD: scoped_pool::Pool::expand::{{closure}} (lib.rs:160) ==12569==    by 0x2A5CBA: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:77) ==12569==    by 0x2AAC9D: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} (mod.rs:470) ==12569==    by 0x2A5C2D: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once (panic.rs:315) ==12569==    by 0x2A4DA4: std::panicking::try::do_call (panicking.rs:296) ==12569==  .... ==12569==  ==12569== LEAK SUMMARY: ==12569==    definitely lost: 560 bytes in 14 blocks ==12569==    indirectly lost: 560 bytes in 14 blocks ==12569==      possibly lost: 0 bytes in 0 blocks ==12569==    still reachable: 95,976 bytes in 579 blocks ==12569==         suppressed: 0 bytes in 0 blocks ==12569==  ==12569== For counts of detected and suppressed errors, rerun with: -v ==12569== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

Recently we fixed a leak: https://github.com/crossbeam-rs/crossbeam/pull/408  Would you please test again and see if the leak continues to happen?

Closing this for inactivity, but please feel free to reopen it!


.bumpversion.cfg:7: new blank line at EOF.

I am using latest version of bumpversion. When I command bumpversion patch with a pre-defined .bumpversion.cfg it always shows me the error message below:
.bumpversion.cfg:7: new blank line at EOF.

I had strip the new blank line but bumpversion seems like adding another newline for me automatically. Any thoughts?

Seems like an error originating from git / your specific git config. Can you post your git config --list output (please remember strip auth tokens etc. (!)).

Cool, thanks for your response. This is my git config --list result, I can't find any related config inside.
<EMAIL_ADDRESS>user.name=YuLun Shih
core.editor=vim
url.https://.insteadof=git://
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true

I might have fixed this as part of making the tests run on windows (are you running windows btw?) here: https://github.com/peritus/bumpversion/pull/64#issuecomment-70079805
Can you install the current version by executing
pip install https://github.com/peritus/bumpversion/archive/master.zip#egg=bumpversion-dev

and let me know if the problem still persists ?

It works like a charm :bowtie: TY!

Just curious, are you using windows ?

@peritus Oop! I just found out If I use nano editor it works! It only happens when I use sublime text with editorconfig plugin.
Btw, I am using Debian.
This is my .editorconfig file
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org

root = true

# We recommend you to keep these unchanged
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.js]
# Change these settings to your own preference
indent_style = space
indent_size = 2

[*.py]
# Change these settings to your own preference
indent_style = space
indent_size = 4

[*.md]
trim_trailing_whitespace = false

http://stackoverflow.com/questions/27059239/git-new-blank-line-at-eof seems to be a valuable resource here.

This could be the culprit:

insert_final_newline = true

As far as I understand it's recommended to have a newline character (also known as \n) at the end of a file, but not a 'blank line' (that's what git is complaining about here).

Yes, I have read this article before, but what I am noticed is after executing bumpversion patch the setup.cfg is added "another blank line" for me. That cause the problem.

You're right. bumpversion indeed adds a blank line to the config file after writing. The question is: Should it ?

Yep, I think it shouldn't append another additional blank line.

adding another blank line fails precommit scripts too https://github.com/pre-commit/pre-commit-hooks/blob/master/pre_commit_hooks/end_of_file_fixer.py
in my case version bump is part of ci process which results in precommit failures like:
hookid: end-of-file-fixer

Files were modified by this hook. Additional output:

Fixing .bumpversion.cfg

would be nice to make this configurable. meanwhile have to skip precommit on bump file itself


bloat in ceylon.language-1.2.0.js

I just scanned the source of the generated js for the language module and to my suprise there is:

37 by() annotations
126 tagged() annotations
190 doc() annotations
180 see() annotations

All carrying around strings and other garbage.
I don't think they should be there.

The doc annotations with strings are only for short strings, where the reference to the string in the model would be longer than just including the literal (look for doc$ calls in the JS code; those are calls to retrieve the doc string from the JSON model).
As for the rest, I can simply omit them from the runtime metamodel, if that's the way it also works in JVM. I left all (or at least some of) these because there are tests that retrieve runtime info for these annotations.

I supposed we can do away with throws as well

Removing by, see, doc, tagged and throws annotations from the runtime metamodel makes the resulting JS file 33KB smaller.

OK, fine so that doesn't seem worth it. Fine.


Volto repeats backend fetches on route change

How to duplicate:

open https://volto.kitconcept.com/
open developer tools, switch to network tab
click on the News tab, the network calls are repeated.

Only the @workflow endpoint is not fetched twice, might be relevant.
Maybe it's related to #1032

The issue has been fixed by https://github.com/plone/volto/commit/8d75c283b031871869be7080e70898da45309149


CTC-282 filtering samples

Motivation
https://kentico.atlassian.net/browse/CTC-282
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Tests are passing
[ ] Documentation has been updated (if applicable)
[ ] Temporary settings (e.g. project ID used during development and testing) have been reverted to defaults

How to test

Thanks for the PR! I've fixed a few typos and adjusted code comments for Ruby and cURL.


Add Tailscale tray app for Aurora

Describe the package
I'd like to request one of the below packages for Aurora/Bazzite so it matches the tailscale QS shipped in gnome. I'll try them out and see which one i end up liking more.
https://github.com/DeedleFake/trayscale
https://github.com/f-koehler/KTailctl
Image
All Images

KTailctl integrates better with KDE and it seems to have about the same features as trayscale so I think it's the better pick.
I'd like to submit a PR for it but i'm not sure how to add a flatpak to the images.

https://github.com/ublue-os/bluefin/blob/main/aurora_flatpaks/flatpaks
Great idea! After you PR let's give it a few days for people to weigh in, both of them appear to be maintained recently so that's always a positive sign. Thanks!

one "caveat" is that for full functionality of the app, it requires the user to have run sudo tailscale up --operator=$USER.
I'm currently following the existing issue for it and i'll see if i can also merge the fix used in bazzite.

Turns out someone already put in the fix from bazzite, closing the issue now.


Log content provider app name (for stats)

Content provider == the app from which the User shared her resource to Cool Maze.

mobile_host_app

This may not be possible at all in Android, according to http://stackoverflow.com/a/27117098/871134


Adding LocalCUDACluster to avoid OOM

Providing a troubleshoot section to avoid OOM errors by using LocalCUDACluster

We should probably add a section about the output_files option in to_parquet (since it forces depth-first graph execution for one input partition at a time; dramatically reducing memory pressure), but I can add it in a follow-up PR.


add FormatPR.yml, JuliaFormatter.toml

Fixing #32

I suppose that to finish this correctly, we need to properly configure secrets.GITHUB_TOKEN. I think I can't do it because I don't have the necessary permissions.

Thank you and sorry for the delay. Please ping me if I take more than a week to take action.

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

Project coverage is 86.23%. Comparing base (88beb3b) to head (44e3e7b).

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #33   +/-   ##
=======================================
  Coverage   86.23%   86.23%
=======================================
  Files           7        7
  Lines         109      109
=======================================
  Hits           94       94
  Misses         15       15

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


hover-key-board

initial blockout

uses a keyboard model from : https://www.blendswap.com/blend/17151  with cc-by so attribution needs to pass on but use should be acceptable

Looks good, going to close this issue


fix: add missing fields

:tada: This PR is included in version 1.15.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.15.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


close when clicking outside

How do i get them to close when i click outside the floating buttons?
I am using the click action.

I would also like to know  ;0


[RLStats] TODO List

TODO
Core functionality

[x] customize background image - set own bg image and its overlay percentage (separately for [p]rlstats and [p]rlsports)
[x] add ranked sports
[x] [p]rlstats is too complex

API functionality

[x] use rocketleague.tracker.network for tier breakdown (servers are more stable, breakdown will contain extra modes)

Drawing
UI:

[x] add icons (and maybe indication in message's content) for platforms (possibly indicate that profile connection was used)
[x] add number of wins (there's no text right now, only bars)

Code quality:

[x] put drawing into separate file?
[ ] try to lower the amount of code for tier and division estimates

All this stuff is done.


Dockerify

Thanks for putting this together. Sadly I'm not a docker expert, but a couple of thoughts:

Teambot willl create a file called teams.db that it persists to disc. Will that just work fine, or do you need a data volume?
It would be great to have some a short section in the readme on how to run this with Docker, if there's anything required.

Sure, I can update the README and also add a new data volume to store the db.
To run it with Docker (which was useful in my local testing for my other two or so PRs):
docker-compose up

@tdeck Thoughts on this? I just rebased but wanted to check with you before I continue this work.

Yep, looks good in general. I just still have the inline question about that exposed port, and also I wonder what will happen with the team database if people use this configuration. I thought that generally things in a docker container were treated as ephemeral, and you were supposed to separate out the data. But I'm not really a docker user and I assume it depends on your platform.

@tdeck Not quite, been swapped here lately. Though I've not forgotten and will plan to make time for this ASAP.

@tdeck I cannot seem to find your inline comment. But I think I know what you're asking about: No, we probably don't need to expose anything. I just copy pasted that from another docker-based project I'm working on and must've forgotten to remove it. Good catch!


c++ complete slice syntax support

this might be easily fixed with a template class function so that the slice code can be centralized into one generic function. would this also work with strings?

in c++11 the magic function decltype() can be used to get the type of a variable at compile time.  this can be used to allow slices on lists whose type is unknown at translation time.


chore: project addition by blindaks

Add a new project to the list
URL Shortener using HTML, CSS, JavaScript.

Record

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I agree to follow this project's Code of Conduct
[X] I want to work on this issue

Can you update me on the progress of this particular issue?


Fix bug in field level metadata matching code

Which issue does this PR close?
Closes https://github.com/apache/arrow-datafusion/issues/8285
Rationale for this change
Bug fix
What changes are included in this PR?
What was happening is that the input to a join has metadata on one side, but not the other. When the inputs were reordered then metadata was not properly reordered as well
Specifically:
OutputRequirementExec
  ProjectionExec: expr=[id@0 as id]
    HashJoinExec: mode=Partitioned, join_type=Inner, on=[(id@0, id@0)]
      AggregateExec: mode=FinalPartitioned, gby=[id@0 as id], aggr=[]  <--******** this does not have metadata
        AggregateExec: mode=Partial, gby=[id@0 as id], aggr=[]
          UnionExec
            MemoryExec: partitions=1, partition_sizes=[1]
            MemoryExec: partitions=1, partition_sizes=[1]
      MemoryExec: partitions=1, partition_sizes=[1]                    <--******** this has metadata

So the output schema looks like:
  id (metadata)    <-- first input
  id (no metadata) <-- second input

When the join reorders the inputs, the result had the metadata incorrectly set:
  id (no metadata) <-- first input *** Metadata is switched ***
  id (metadata)    <-- second input

There is code in the join reordering that tries to remap the output so the schema is the same, however
it had a bug (was looking up field by name, not column index), so it picked the wrong column.
Are these changes tested?

Are there any user-facing changes?

Thank you for the review @comphead


Move to "Quantifier"

As the following are all quantitative properties, these can all be moved from Physical/Characteristic to Quantifiers to stay consistent with the model. The UI has been adjusted to handle this move.

ID
AL rdfs:label@en

PATO:0001842
acidity

PATO:0001430
alkalinity

PATO:0001585
conductivity

PATO:0001019
density

BSM:0310003
potential density

PATO:0001595
depth

PATO:0001757
electrical conductivity

BSM:0310001
electrical resistivity

BSM:0310002
fugacity

PATO:0000973
porosity

PATO:0001025
pressure

PATO:0085001
salinity

PATO:0000146
temperature

BSM:0310004
potential temperature

BSM:0310005
turbidity

Thanks @jaclynsaunders will do. After doing so the remaining terms in the  Physical/Characteristic module will only be the color hierarchy.  I think it might reasonable to move those over as well but we can discuss if that's desired or not.

Done for now see https://github.com/BCODMO/bcodmont/blob/main/src/ontology/BCODMO_SM/quantifiers/quantifiers.owl, but TBD if we move the color terms over or not.

As color is a descriptive characteristic as opposed to a quantifiable feature, please leave color in the current location. There will be more descriptive characteristics to add in later.

Sounds good thanks @jaclynsaunders  will close this now.


Is there a way to get all running jobs?

I'd like to query SideKiq::Status to get all the 'working' jobs. Is this possible?
Thanks

Thanks @melalj ! Closing the issue. @bpourriahi , reopen if that doesn't work for you.


[bug]: Exception: No config registered for null of type

Describe the bug
When running flutter packages pub run build_runner build --delete-conflicting-outputs I get the following output:
Deprecated. Use `dart run` instead.
Building package executable... (6.0s)
Built build_runner:build_runner.
[INFO] Generating build script completed, took 449ms
[INFO] Reading cached asset graph completed, took 354ms
[INFO] Checking for updates since last build completed, took 848ms
[WARNING] No actions completed for 15.0s, waiting on:
  - drift_dev on lib/app/app.dart

[SEVERE] stacked_generator:stackedRouterGenerator on lib/app/app.dart:

Exception: No config registered for null of type
[INFO] Running build completed, took 21.5s
[INFO] Caching finalized dependency graph completed, took 272ms
[SEVERE] Failed after 21.8s

This is my current app.dart:
@StackedApp(
  routes: [
    CustomRoute(
      path: "Splashscreen",
      page: SplashScreenView,
      initial: true,
      /// Splashscreen should not have a transition
    ),

    CustomRoute(
      path: "Content",
      page: ContentBaseView,
      /// transitionsBuilder doesn't effect this route
      /// when replacing this route, transition needs to be set manually
      children: [
        CustomRoute(
          path: "Projects",
          page: ProjectView,
          initial: true,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
        CustomRoute(
          path: "Tasks",
          page: TaskView,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
        CustomRoute(
          path: "Settings",
          page: SettingsFormView,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
        CustomRoute(
          path: "Profile",
          page: ProfileView,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
      ],
    ),

    CustomRoute(
      path: "Authentication",
      page: AuthenticationBaseView,
      /// transitionsBuilder doesn't effect this route
      /// when replacing this route, transition needs to be set manually
      children: [
        CustomRoute(
          path: "Login",
          page: LoginFormView,
          initial: true,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
        CustomRoute(
          path: "Sign-Up",
          page: SignUpFormView,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
        CustomRoute(
          path: "Forgot-Password",
          page: ForgotPasswordFormView,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
        CustomRoute(
          path: "Change-Password",
          page: ChangePasswordFormView,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
      ],
    ),
    // @stacked-route
  ],
  dependencies: [
    LazySingleton(classType: NavigationService),
    LazySingleton(classType: AppDatabase),
    LazySingleton(classType: AuthenticationService),
    Singleton(classType: DialogService),
    Singleton(classType: SnackbarService),
    Singleton(classType: BottomSheetService),
    Singleton(classType: ConnectivityService),
    Singleton(
      classType: ThemeService,
      resolveUsing: ThemeService.getInstance,
    ),
    Singleton(
      classType: LocalizationService,
      resolveUsing: LocalizationService.getInstance,
    ),
    InitializableSingleton(
      classType: SharedPreferencesService,
    ),
    InitializableSingleton(
      classType: LifeCycleService,
    ),
    // @stacked-service
  ],
  logger: StackedLogger(logHelperName: 'getStackedLogger'),
)
class AppSetup {
  /** This class has no purpose besides housing the annotation that generates the required functionality **/
}

What could lead to this error?
Feel free to ask for more information if necessary.
To reproduce

run flutter packages pub run build_runner build --delete-conflicting-outputs manually

Expected behavior
No response
Screenshots
No response
Additional Context
No response

@coruscant187 I don't see any issue on that code. Are you able to upload your code to a repository so I can take a look? Because I cannot reproduce the issue.

@ferrarafer Unfortunately not, but I can provide altered contents of files.

@ferrarafer Unfortunately not, but I can provide altered contents of files.

@coruscant187 sure, I don't need the whole app, just a project where the issue is reproducible.

I am going to create a new project and copy and paste the altered content until it breaks. Maybe creating a new project will even solve the issue.

I am going to create a new project and copy and paste the altered content until it breaks. Maybe creating a new project will even solve the issue.

Did it resolve the issue? Because I encounter the same issue with following setup:
@StackedApp(
  routes: [
    CustomRoute(page: MainLayoutView, initial: true, children: [
      CustomRoute(
          page: LoginView,
          path: "login",
          transitionsBuilder: TransitionsBuilders.fadeIn),
      CustomRoute(
          page: EventsView,
          path: "events",
          guards: [AuthGuard],
          transitionsBuilder: TransitionsBuilders.noTransition,
          children: [
            CustomRoute(
                page: EventDetailView,
                path: ":eventId",
                guards: [AuthGuard],
                transitionsBuilder: TransitionsBuilders.slideLeft),
          ]),
      CustomRoute(
          page: DocumentsView,
          path: "documents",
          guards: [AuthGuard],
          transitionsBuilder: TransitionsBuilders.noTransition,
          children: [
            CustomRoute(
                page: DocumentDetailView,
                path: ":documentId",
                guards: [AuthGuard],
                transitionsBuilder: TransitionsBuilders.slideLeft),
          ]),
      CustomRoute(
        page: VaultView,
        path: "vault",
        guards: [AuthGuard],
        transitionsBuilder: TransitionsBuilders.noTransition,
      ),
    ]),

    CustomRoute(page: UnknownView, path: '/404'),

    /// When none of the above routes match, redirect to UnknownView
    RedirectRoute(path: '*', redirectTo: '/404'),
// @stacked-route
  ],
  dependencies: [
    LazySingleton(classType: BottomSheetService),
    LazySingleton(classType: DialogService),
    LazySingleton(classType: NavigationService),
    LazySingleton(classType: FirebaseAuthenticationService),
    InitializableSingleton(classType: AuthenticationService),
    InitializableSingleton(classType: StoreService),
    InitializableSingleton(classType: DocumentService),
    LazySingleton(classType: UserService),
// @stacked-service
  ],
  bottomsheets: [
    StackedBottomsheet(classType: NoticeSheet),
    // @stacked-bottom-sheet
  ],
  dialogs: [
    StackedDialog(classType: InfoAlertDialog),
    // @stacked-dialog
  ],
  logger: StackedLogger(
      //loggerOutputs: [GoogleCloudLoggerOutput],
      ),
)
class App {}

Hi @DJ2695, can you please paste the error here?

The issue persists for me.
I created a new project with the help of the stacked_cli and copied content over from my already existing project to see when it broke.
Dependencies, bottomsheets, dialogs and logging inside app.dart were no problem, but when I added a new route, it broke.
In my particular case, it was the views for authentication.
CustomRoute(
      path: "Authentication",
      page: AuthenticationBaseView,
      /// transitionsBuilder doesn't effect this route
      /// when replacing this route, transition needs to be set manually
      children: [
        CustomRoute(
          path: "Login",
          page: LoginFormView,
          initial: true,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
        CustomRoute(
          path: "Sign-Up",
          page: SignUpFormView,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
        CustomRoute(
          path: "Forgot-Password",
          page: ForgotPasswordFormView,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
        CustomRoute(
          path: "Change-Password",
          page: ChangePasswordFormView,
          transitionsBuilder: CustomTransitionsBuilders.changePage,
          durationInMilliseconds: enterPageTransitionDurationInMilliseconds,
          reverseDurationInMilliseconds:
              enterPageTransitionDurationInMilliseconds,
        ),
      ],
    ),

The AuthenticationBaseView has an ExtendedNavigator:
child: ExtendedNavigator(
  navigatorKey:
      StackedService.nestedNavigationKey(authNavigationId),
  initialRoute: AuthenticationBaseViewRoutes.loginFormView,
  router: AuthenticationBaseViewRouter(),
  observers: [StackedService.routeObserver],
),

Funnily enough, the problem persisted even after deleting the views from the project completely, removing the newly added routes from app.dart and cleaning the cache with dart run build_runner clean.
My app.dart looks like this at the moment:
@StackedApp(
  routes: [
    CustomRoute(
      path: "Startup",
      page: StartupView,
      initial: true,
      /// Startup should not have a transition
    ),
  ],
  dependencies: [
    LazySingleton(classType: NavigationService),
    LazySingleton(classType: AuthenticationService),
    LazySingleton(classType: DialogService),
    LazySingleton(classType: BottomSheetService),
    Singleton(classType: ConnectivityService),
    Singleton(
      classType: ThemeService,
      resolveUsing: ThemeService.getInstance,
    ),
    Singleton(
      classType: LocalizationService,
      resolveUsing: LocalizationService.getInstance,
    ),
    InitializableSingleton(
      classType: SharedPreferencesService,
    ),
    InitializableSingleton(
      classType: LifeCycleService,
    ),
    // @stacked-service
  ],
  bottomsheets: [
    StackedBottomsheet(classType: NoticeSheet),
    // @stacked-bottom-sheet
  ],
  dialogs: [
    StackedDialog(classType: InfoAlertDialog),
    // @stacked-dialog
  ],
  logger: StackedLogger(logHelperName: 'getStackedLogger'),
)
class App {}

I hope this can help identify the problem.

Hi @coruscant187 , can you try removing the path argument from the CustomRoute object please? Are you sure your paths are correct?
CustomRoute(
      page: StartupView,
      initial: true,
      /// Startup should not have a transition
    ),

This fixed the issue. I can now run dart run build_runner build --delete-conflicting-outputs without any issues.
Thanks a lot.


Fix nullability annotations in Swift 3 Realm Objective-C tests

Broken by incomplete testing of #4032.
I accidentally introduced build errors into master.

👍


Add addFrom() method in yii\db\Query

Hello, what about to add addFrom() method in yii\db\Query class? Similar to the addSelect() method, this method will add more tables to the FROM part of the query.

There is already a join() method and shorthands for: innerJoin(), leftJoin() and rightJoin() methods. It's not good to use comma JOINs - you should always use correct join clause.

Not going to add it for the reason @Renkas described.

Yes, I will use innerJoin(), thanks for answers.


Speed up the GeoLiftMarketSelection function

Hi @NicolasMatrices-v2 @ArturoEsquerra, sorry that I'm coming to add your work load again.
As @sohammarin suggest, I've also met the problem that the function is relatively slow. I've tried to profile GeoLiftMarketSelection() function using the profvis package and realized that a huge amount of time is spent on the GetCorrel() function. I've check further and realized that GetCorrel() function has done some unnecessary work to calculate the correlation score. It will be much faster to use the cor() function in base package directly instead of calling the MarketMatching::best_matches() function. And I think it might be the easiest part to change and the most obvious part to improve the computation efficiency.
Regards,
Yuli

Hi @yulisong! Thanks for checking this out and sharing this important information with us. We'll look into them and will optimize the code. In the meantime, it's important to mention that while newer SCM methods (like the ones we use in GeoLift) are more robust against the curse of dimensionality, having too many locations in the pool of controls can be counterproductive. Therefore, in cases where N is very large, it's highly recommended to pre-process the data-set.
Best,
Arturo

Hi @ArturoEsquerra, thank you for your quick response! I can always expect your team's quick support :)
I totally agree that we need to control the pool of controls. But I've got other two questions currently. Are there any sizes of N that you would suggest? Also, I was wondering if pre-processing the data means looking at the time series plot and remove those markets with different trend only. Thank you!
Regards,
Yuli

Hi @yulisong! Answering your Qs below:

Are there any sizes of N that you would suggest?

It depends on the amount of total locations you have, the data and the particular scenario.  A good N usually lies between the 15% and 30% conversion share threshold.  In terms of total locations, we suggest going with less than 100 locations and more than 20.  Using more than 200 locations in GeoLift could lead to the issues Arturo has mentioned above.

Also, I was wondering if pre-processing the data means looking at the time series plot and remove those markets with different trend only.

In this case, I think he was referring to reducing the total locations to a manageable number.  You have a couple of options:

Excluding locations that represent a low share of total conversions, as they will probably not be very important within the synthetic control and if chosen as part of the treatment it will probably be harder to detect an effect over them, given their low conversion count.
Aggregate locations up to a higher level of granularity (i.e. zips -> city -> states).  This is usually the best option as it reduces the amount of locations without losing any information in the process.

Also, just built a PR to tackle the correlations issue you mentioned. Thanks for this valuable feedback!! I'll let you know when its landed.

Hi @NicolasMatrices-v2, thank you for your answer and it solves my questions very well. I'll close this issue now.


Make Frame ports optional

• By default, only node ports that are connected to outside graphNodes will be shown on frames
• Node ports on graphNodes in a frame can be toggled to be exposed by clicking checkbox in Node Port Property Pane
• Node's connected to an outside graphNode will have their checkbox disabled
• Added "disabled" optional property to CheckBoxLineComponent
@deltakosh I changed what NodeMaterialBlockConnectionPoint.isConnected() is checking to determine whether or not a node is connected. I hope that is ok. I needed a way to check if nodes were connected to outside nodes like Fragment Output and the original method wasnt catching them.

Ok, I see that modifying NodeMaterialBlockConnectionPoint.isConnected() broke the Firefox tests. Back to the drawing board.

@deltakosh will be back on Monday for a more thorough review.

Thanks!


Add IDEA ciphers to default provider

Checklist

[ ] documentation is added or updated
[x] tests are added or updated

Thanks Richard. Merged to master.


Did another brand new install, and it seemed to work just fine. Might have just been the ts server getting spun somehow, I should've looked more closely because I can't reproduce, but I suspect a TS server running concurrently somehow. (I already had the extension installed, so that wasn't that)


[Need help] How to use gowebview in a simple gioui example?

For example, compile gioui example app "hello" is very easy:
gogio -target android gioui.org/example/hello

And I try to modify hello.go:
package main

// A simple Gio program. See https://gioui.org for more information.

import (
	"image/color"
	"log"
	"os"

	"gioui.org/app"
	"gioui.org/io/system"
	"gioui.org/layout"
	"gioui.org/op"
	"gioui.org/text"
	"gioui.org/widget/material"

	"gioui.org/font/gofont"

	"github.com/inkeliz/gowebview"
)

func main() {
	go func() {
		w := app.NewWindow()
		if err := loop(w); err != nil {
			log.Fatal(err)
		}

		w1, err := gowebview.New(&gowebview.Config{URL: "https://google.com", WindowConfig: &gowebview.WindowConfig{Title: "Hello World", Window: app.ViewEvent, VM: app.JavaVM()}})
		if err != nil {
			panic(err)
		}
		defer w1.Destroy()
		w1.Run()

		os.Exit(0)
	}()
	app.Main()
}

func loop(w *app.Window) error {
	th := material.NewTheme(gofont.Collection())
	var ops op.Ops
	for {
		e := <-w.Events()
		switch e := e.(type) {
		case system.DestroyEvent:
			return e.Err
		case system.FrameEvent:
			gtx := layout.NewContext(&ops, e)
			l := material.H1(th, "Hello, Gio")
			maroon := color.NRGBA{R: 127, G: 0, B: 0, A: 255}
			l.Color = maroon
			l.Alignment = text.Middle
			l.Layout(gtx)
			e.Frame(gtx.Ops)
		}
	}
}

But it shows errors:
$ gogio -target android gioui.org/example/hello
gogio: go build -ldflags=-w -s -X gioui.org/app/internal/log.appID=org.gioui.hello -buildmode=c-shared -tags  -o /tmp/gogio-2451398152/jni/x86/libgio.so gioui.org/example/hello failed: # git.wow.st/gmp/jni
jni.c:30:40: warning: incompatible pointer types passing 'JNIEnv **' (aka 'const struct JNINativeInterface_ ***') to parameter of type 'void **' [-Wincompatible-pointer-types]
# gioui.org/example/hello
/opt/lib/go/src/gioui.org/example/hello/hello.go:53:133: cannot use wm.ViewEvent (type wm.ViewEvent) as type uintptr in field value
/opt/lib/go/src/gioui.org/example/hello/hello.go:53:144: type wm.ViewEvent is not an expression

Anyone give me some hint?  Thanks

Hi,
You must define the app.AppView listener, and only start the webviewer after it. In general:
e := <-w.Events()
switch e := e.(type) {
case app.ViewEvent:
	config.WindowConfig.Window = e.View // Here, sets the GioView. ;)
// ...

That example will open the webview by default, and also will minimize the webview (without destroy) by clicking in the "Back button" (on the navigation bar).
package main

// A simple Gio program. See https://gioui.org for more information.

import (
	"gioui.org/app"
	"gioui.org/io/system"
	"gioui.org/layout"
	"gioui.org/op"
	"gioui.org/text"
	"gioui.org/widget/material"
	"github.com/inkeliz/gowebview"
	"image/color"
	"log"
	"os"

	"gioui.org/font/gofont"
)

func main() {
	go func() {
		w := app.NewWindow()
		if err := loop(w); err != nil {
			log.Fatal(err)
		}
		os.Exit(0)
	}()
	app.Main()
}

func loop(w *app.Window) error {
	th := material.NewTheme(gofont.Collection())
	var ops op.Ops

	var (
		config  = &gowebview.Config{URL: "https://google.com", WindowConfig: &gowebview.WindowConfig{Title: "Hello World", VM: app.JavaVM()}}
		webview gowebview.WebView
	)

	for {
		e := <-w.Events()
		switch e := e.(type) {
		case app.ViewEvent:
			//----------------------------------
			config.WindowConfig.Window = e.View // Here, sets the GioView. ;)
			//----------------------
			if webview == nil {
				go func() {
					webview, err := gowebview.New(config)
					if err != nil {
						panic(err)
					}
					defer webview.Destroy()
					webview.Run()
				}()
			}
		case *system.CommandEvent:
			// You can minimize when click on "Back", without destroy.
			// It can be used when the webview is open in response to a button-click.
			if e.Type == system.CommandBack {
				e.Cancel = true
				webview.SetVisibility(gowebview.VisibilityMinimized)
			}
		case system.DestroyEvent:
			return e.Err
		case system.FrameEvent:
			gtx := layout.NewContext(&ops, e)
			l := material.H1(th, "Hello, Gio")
			maroon := color.NRGBA{R: 127, G: 0, B: 0, A: 255}
			l.Color = maroon
			l.Alignment = text.Middle
			l.Layout(gtx)
			e.Frame(gtx.Ops)
		}
	}
}

Great,  you're my saver, thanks to you, I'll give a try.

@Inkeliz , Sorry for bother you agian.
If I don't want to minimize the webview while I click the "Back" button, instead I wish it goes to the android home screen, I know the java code:
Intent intent= new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);

But, do you know any easy way to call these java code from gioui?

I never use something like that. But, you can call any Java code from Gio, using JNI, which is how gowebview work.

You can take a look at https://github.com/Inkeliz/giohyperlink/blob/main/giohyperlink_android.java#L24, which calls startActivity, in that case it's used to open links. But, the code seems similar. In order to call that from Gio, you use JNI, https://github.com/Inkeliz/giohyperlink/blob/main/giohyperlink_android.go#L69-L81.
Your Java code must be compiled to .jar, then the gogio will embed it. To create the jar will can use go generate (see https://github.com/Inkeliz/giohyperlink/blob/main/giohyperlink_android.go#L12-L13).

It seems difficult for me, is there any way to resume the webview after clicking "Back" button, I try to resume it, no luck:
func loop(w *app.Window) error
{	th := material.NewTheme(gofont.Collection())
	var ops op.Ops
	var wv  gowebview.WebView
	var has_back bool
	for
	{	e:=<-w.Events()
		switch e:=e.(type)
		{	case app.ViewEvent:
				if wv==nil
				{	go func()
					{	var err error
						wv,err = gowebview.New(&gowebview.Config{URL:"https://google.com/ncr", WindowConfig:&gowebview.WindowConfig{Title:"Hello World", Window:e.View, VM:app.JavaVM()}})
						if err!=nil {panic(err)}
						defer wv.Destroy()
						wv.Run()
					}()
				} else
				{	wv.SetVisibility(gowebview.VisibilityMaximized)
					log.Println("===================resume webview==============")
				}
			case *system.CommandEvent:
				if e.Type==system.CommandBack
				{	if has_back==false
					{	log.Println("===================back button==============", wv)
						e.Cancel = true
						wv.SetVisibility(gowebview.VisibilityMinimized)
						has_back=true
					} else
					{	log.Println("===================back button second time==============", wv)
						e.Cancel=false
						has_back=false
					}
				}
			case system.DestroyEvent:
				return e.Err
			case system.FrameEvent:
				gtx := layout.NewContext(&ops, e)
				l := material.H1(th, "Hello, gowebview")
				maroon := color.NRGBA{R: 127, G: 0, B: 0, A: 255}
				l.Color = maroon
				l.Alignment = text.Middle
				l.Layout(gtx)
				e.Frame(gtx.Ops)
		}
	}
}

You can call wv.SetVisibility(gowebview.VisibilityMaximized).

I think you need to define how the webview will open. I mean, how the user will (re-)open? What action the user must perform to open the webviewer? For instance, if you are using Gio, and you have some button/clickable area, you can do:
if button.Clicked() {
wv.SetVisibility(gowebview.VisibilityMaximized)
}

Note: button, is some widget.Clickable (or equivalente) in your layout.

In your example the wv.SetVisibility(gowebview.VisibilityMaximized) is triggred only when Gio changes the View, which may happen when you rotate the device.
I can't help without understand what should be done to open/close the webviewer. I mean, if it's close, what should the user do to open it? There's a Gio button for that?

One basic example, you can use:
case system.FrameEvent:
                           if has_back {                                                               //
                                wv.SetVisibility(gowebview.VisibilityMaximized) // << HERE
                            }                                                                               //

			gtx := layout.NewContext(&ops, e)
			l := material.H1(th, "Hello, gowebview")
			maroon := color.NRGBA{R: 127, G: 0, B: 0, A: 255}
			l.Color = maroon
			l.Alignment = text.Middle
			l.Layout(gtx)

                            w.Invalidate();                                                           // << HERE

			e.Frame(gtx.Ops)

It will open the webviewer if the has_back is true. It will happen each frame (60x per second). However, it doesn't makes sense. If you don't want to leave the webviewer, you can use:
	case *system.CommandEvent:
			e.Cancel=true

Thanks for your reply.
But I tried your exmaple (maximize the webview in system.FrameEvent),it doesn't work, my problem is still there:
when I click the hello app icon first time, the text "Hello, gowebview" showed 1 second, then the webview showed.
when I click the android "Back" button first time, the webview minimized, the "Hello, gowebview" showed.
when I click the android "Back" button second time, the hello app exit.
when I click the hello app icon again, the text "Hello, gowebview" showed, but the webview didn't resume.
But if I remove the "e.Cancel=false" after "log.Println("=========back button second time====")", it will prevent the user to exit the hello app, it's not good experience for users.
So I'm trying to figure out a way to prevent the second "Back" button killing the webview while still enable user to exit the hello app with the second "Back" button.

I need to take a look why the webviewer is surviving after the os.Exit(0). When you use e.Cancel=false, it will send an system.DestroyEvent which will call  os.Exit(0), destroying the app.
Since it's destroyed, the webview (and everything) must be destroyed too. I'm not sure why it still "active" when you open the app again. 🤔

As a workaround, I think you can do something like:
``´
func loop(w *app.Window) error {
th := material.NewTheme(gofont.Collection())
var ops op.Ops
var wv  gowebview.WebView
var has_back bool
    var has_exited bool // << New var

for {
	e:=<-w.Events()
	switch e:=e.(type) {
		case app.ViewEvent:
			if wv==nil {
				go func() {
					var err error
					wv,err = gowebview.New(&gowebview.Config{URL:"https://google.com/ncr", WindowConfig:&gowebview.WindowConfig{Title:"Hello World", Window:e.View, VM:app.JavaVM()}})
					if err!=nil {panic(err)}
					defer wv.Destroy()
					wv.Run()
				}()
			} else {
				wv.SetVisibility(gowebview.VisibilityMaximized)
				log.Println("===================resume webview==============")
			}
		case *system.CommandEvent:
			if e.Type==system.CommandBack {
				if has_back==false {
					log.Println("===================back button==============", wv)
					e.Cancel = true
					wv.SetVisibility(gowebview.VisibilityMinimized)
					has_back=true
				} else {
					log.Println("===================back button second time==============", wv)
					e.Cancel=false
					has_back=false
                                            has_exited = true  // Set the var
				}
			}
		case system.DestroyEvent:
			return e.Err
		case system.FrameEvent:

                           if has_exited {
                           go wv.SetVisibility(gowebview.VisibilityMaximized)
                           has_exited  = false;
                           }

			gtx := layout.NewContext(&ops, e)
			l := material.H1(th, "Hello, gowebview")
			maroon := color.NRGBA{R: 127, G: 0, B: 0, A: 255}
			l.Color = maroon
			l.Alignment = text.Middle
			l.Layout(gtx)
			e.Frame(gtx.Ops)
	}
}

}

I think it will work, but I not sure why it's needed. 🤔🤔🤔

It's not as difficult as I imaged, I've successfully fixed my problem by adding a function into gowebview: https://github.com/Inkeliz/gowebview/pull/18
now I can use webview.Hibernate() to go to android home without killing webview:
package main

import
(
	"image/color"
	"log"
	"os"

	"gioui.org/app"
	"gioui.org/io/system"
	"gioui.org/layout"
	"gioui.org/op"
	"gioui.org/text"
	"gioui.org/widget/material"
	"gioui.org/font/gofont"

	"github.com/inkeliz/gowebview"
)

func main()
{	go func()
	{	w := app.NewWindow()
		if err := loop(w); err != nil
		{	log.Fatal(err)
		}
		os.Exit(0)
	}()
	app.Main()
}

func loop(w *app.Window) error
{	th := material.NewTheme(gofont.Collection())
	var ops op.Ops
	var wv  gowebview.WebView
	for
	{	e:=<-w.Events()
		switch e:=e.(type)
		{	case app.ViewEvent:
				if wv==nil
				{	go func()
					{	var err error
						wv,err = gowebview.New(&gowebview.Config{URL:"https://google.com/ncr", WindowConfig:&gowebview.WindowConfig{Title:"Hello World", Window:e.View, VM:app.JavaVM()}})
						if err!=nil {panic(err)}
						defer wv.Destroy()
						wv.Run()
					}()
				}
			case *system.CommandEvent:
				if e.Type==system.CommandBack
				{	log.Println("===================back button hibernate==============", wv)
					e.Cancel = true
					//wv.SetVisibility(gowebview.VisibilityMinimized)
					go wv.Hibernate()
				}
			case system.DestroyEvent:
				return e.Err
			case system.FrameEvent:
				gtx := layout.NewContext(&ops, e)
				l := material.H1(th, "Hello, gowebview")
				maroon := color.NRGBA{R: 127, G: 0, B: 0, A: 255}
				l.Color = maroon
				l.Alignment = text.Middle
				l.Layout(gtx)
				e.Frame(gtx.Ops)
		}
	}
}

@inkeliz , do you have time to have a look at this problem?
at 2022-04-19 the gioui has get rid of "system.CommandEvent",
my old code in this issue (to hibernate the gowebview without killing it) won't work now,
I can't figure out a resolution with the new "range gtx.Events(w)" method (it can only catch key.EditEvent, key.SelectionEvent ...),
could you have a lookt at this?
ref: https://todo.sr.ht/~eliasnaur/gio/408

I'm not using the latest version of Gio. Personally, I use one fork, which is already 2 months old, and I wait some couple of months when breaking chances happens, before migrate..

I'll take a look into it, but I'm working on another project right now. But, far I understand:

✔ : The "back button" is been "cancelled" (it doesn't exit the app). So, it's working as intended.
❌ : The "back button" is not been sent to gtx.Events(w)? So, you can't run any action on "when back button is pressed"?

I think you should get key.Event from gtx.Events(w).  🤔

I suggest, for now, to not get the latest version of Gio, you can set one version by using the hash (go get gioui.org@dc25afd, and go mod also defines the version). Of course, it's not a fix, but workaround.

You are right, I can lock the gioui revision in go.mod file, then run "go mod tidy", it works now, thank you.
module hello

go 1.18

require (
	gioui.org               ad7c1eb
	github.com/diyism/goAndView        master
)


Question | Which .env file is used during an eas update with Expo?

Which .env file is used during an eas update with Expo?
Is there a specific .env file that is used during an eas update with Expo, and if so, which one is it?
I have those env files:
.env.local
.env.development
.env.production
When using eas build,
I do not encounter any problems because I am specifying the "env" key in my eas.json file for each profile.

You need to put your environment variables as secrets onto the EAS platform

Feel free to continue the discussion here https://github.com/goatandsheep/react-native-dotenv/discussions/388


🐛 BUG: LS crashes on neovim

Describe the Bug
LS crashes and fails to attach on neovim.
Log
[ERROR][2023-12-20 03:57:21] .../vim/lsp/rpc.lua:734"rpc""astro-ls""stderr""/home/aryan/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/dist/languageServerPlugin.js:45
                readDirectory: modules.typescript.sys.readDirectory,
                                                  ^

TypeError: Cannot read properties of undefined (reading sys)
    at Object.resolveConfig (/home/aryan/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/dist/languageServerPlugin.js:45:51)
    at createProject (/home/aryan/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@volar/language-server/out/common/project.js:78:35)
    at async getParsedCommandLine (/home/aryan/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@volar/language-server/out/common/workspaces.js:302:29)
    at async prepareClosestootParsedCommandLine (/home/aryan/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@volar/language-server/out/common/workspaces.js:224:17)
    at async findMatchConfigs (/home/aryan/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@volar/language-server/out/common/workspaces.js:213:9)
    at async getProjectAndTsConfig (/home/aryan/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@volar/language-server/out/common/workspaces.js:154:30)
    at async sendDocumentDiagnostics (/home/aryan/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@volar/language-server/out/common/workspaces.js:136:26)
    at async updateDiagnostics (/home/aryan/.local/share/nvim/mason/packages/astro-language-server/node_modules/@astrojs/language-server/node_modules/@volar/language-server/out/common/workspaces.js:125:13)

Node.js v21.4.0

On VS Code, using the official astro extension, LSP works fine.

Steps to Reproduce

pnpm create astro@latest
Install LS using npm or a manager like Mason (tried both with the same result)
Setup LS (here)
Open an astro file.
LS crashes instead of attaching normally.

Sorry if out of scope. Please feel free to close if so.

I think you might be missing some configuration, namely the path to TypeScript in your init config, but I don't really use Neovim so I'm not sure.
Nonetheless, I believe this crash has been fixed by https://github.com/withastro/language-tools/pull/701 already, hopefully it gives a better error message once that lands.

Sorry for duplicate issue.
Thanks a lot for pointing it out and fix.
As a reference here's how to add missing path to ts for now (it uses the typescript in the project).
require("lspconfig").astro.setup {
  init_options = {
    typescript = {
      tsdk = 'node_modules/typescript/lib'
    }
  }
}


Added new icon

I am by no means a designer, but I thought this looks nicer than just putting the logo on a square.
Heavily inspired by Roman Mars' TED talk on Flag Design.

thats pretty

A few more:

Thoughts?


Sous Chefs Adoption

Standardise files with files in sous-chefs/repo-management
Add GitHub Actions testing

NOTE: We're unable to properly test this cookbook with GitHub actions since we need at least version Windows 2012r2 to properly test it. For now, we can do it manually if we need to.
Signed-off-by: Lance Albertson<EMAIL_ADDRESS>

Released as: 6.2.0


Better error for Column.stability if the Column contains only null values

Is your feature request related to a problem?
If you perform the Column.stability method on a column that contains only null values the following error is raised: IndexError: list index out of range. This error does not describe the issue at all.
from safeds.data.tabular.containers import Column

column = Column("column", [None, None])

print(column.stability())

Desired solution
The docstring of the method should clarify that the stability is not defined if a column contains only null values.
The method should raise a ValueError if the column contains only null values.
Possible alternatives (optional)
No response
Screenshots (optional)
No response
Additional Context (optional)
No response

:tada: This issue has been resolved in version 0.14.0 :tada:
The release is available on:

v0.14.0
GitHub release

Your semantic-release bot :package::rocket:


Cheuarm?  Variant of chuarm?

Cheuarm?  Variant of chuarm? created by<EMAIL_ADDRESS>on 2016-12-22 07:46:37

<EMAIL_ADDRESS>replied, I've seen cheuarm a few times:

<EMAIL_ADDRESS>replied, chouarm:cheuarm:chuuarm: all same meaning just different lisp. :-)


Assign default or invalid values for unmapped fields.

Something like that https://github.com/angularsen/roslyn-analyzers#sample

Just to be clear, I want the analyzer to give me errors when there are new properties that are not in the mapping, because of newly added properties for example. And if some properties are voluntary left unset, we just have to comment these properties out to suppress the errors.

I just wanted to add that while the mentioned project does mark these properties it is not possible to abstract this magic comment so that your team members will remember it. I haven't found a sufficient solution for this problem yet.

I found another project that does something similar but is not as easily dismissable as a comment:
https://github.com/oliverhanappi/ManualMappingGuard

@p3t3rix  please forgive me, but is's hard for me to understand what's your problem and your expectation against the solution. Can you elaborate a little bit more and provide examples? I'm currently working on the mechanism to generate mapping implementation during the build - maybe this is what you actually need. You can track the progress here https://github.com/cezarypiatek/MappingGenerator/issues/79

I have nothing against the solution, i just wanted to list alternatives for people like me that think that an annotation is a cleaner way to express the mapping. At the moment we use the MappingGenerator and the mentioned manual mapping guard together and it works for us.

Instead of setting up default value MappingGenerator should generate a comment with information about unmapped properties.

@cezarypiatek when doing "add parameter" refactoring using Rider/ReSharper, TODO "variable" is used for a new parameter. It leads to compilation error and brings attention to places which require fix.
Does it make sense to follow this approach in MappingGenerator?
For example:
public class TestMapper
{
    public static AccountDTO Map(AccountEntity entity)
    {
        return new AccountDTO()
        {
            BankName = entity.BankName,
            Number = entity.Number,
            Unmapped = TODO
        };
    }
}

public class AccountDTO
{
    public string BankName { get; set; }
    public string Number { get; set; }
    public string Unmapped { get; set; }
}

public class AccountEntity
{
    public string BankName { get; set; }
    public string Number { get; set; }
}

Hi @vanashimko,
I'm using Data-Driven approach for testing MappingGenerator.  I think this is quite expected that a lot of tests can fail when you change one of the fundamental behavior. I don't know why there are unmapped fields in the expected outputs - some of them may be intentional and maybe some of them are caused by the potential errors in MappingGenerator. I think this requires an individual investigation case by case.
Adding TODO in the same form as Resharp does it will produce an invalid code. This form of code generation should be available as a separate position in Roslyn menu.

Thanks for quick response, @cezarypiatek! Sorry, I'm a bit confused on what is this issue about.
I thought that TODO fits ok in "assign invalid values". And now I see your comment "MappingGenerator should generate a comment with information about unmapped properties".
So are you about a comment which does not break code and make it non-compilable (as TODO variable does) and works as a default behavior in existing code fix? Something like:
public class TestMapper
{
    public static AccountDTO Map(AccountEntity entity)
    {
        return new AccountDTO()
        {
            BankName = entity.BankName,
            Number = entity.Number,
            // TODO: Unmapped = ?
        };
    }
}

public class AccountDTO
{
    public string BankName { get; set; }
    public string Number { get; set; }
    public string Unmapped { get; set; }
}

public class AccountEntity
{
    public string BankName { get; set; }
    public string Number { get; set; }
}

@vanashimko yes, the approach with comments is the preferred one in the default behavior.

@cezarypiatek, since it's the preferred approach, is it going to be implemented?
Will/does it work both ways, like so (notice the Unmapped2 property) ?:
public class TestMapper
{
    public static AccountDTO Map(AccountEntity entity)
    {
        return new AccountDTO
        {
            BankName = entity.BankName,
            Number = entity.Number,
            // TODO: Unmapped = ?,
            // TODO: ? = Unmapped2
        };
    }
}

public class AccountDTO
{
    public string BankName { get; set; }
    public string Number { get; set; }
    public string Unmapped { get; set; }
}

public class AccountEntity
{
    public string BankName { get; set; }
    public string Number { get; set; }
    public string Unmapped2 { get; set; }
}

Also, the brackets on the AccountDto constructor could be removed (and should be, according to my analyzer).
Thanks for the great work, even though I haven't had the opportunity to try yet because I need all properties to be processed, beit in a TODO comment. 😃

Against all odds, it's quite a complicated feature to implement. I've made a few attempts but I failed because there are some edge cases that I don't know how to cover.   // TODO: ? = Unmapped2 <<-- this one is impossible to implement with the current MappingGenerator design.
Currently, I'm working on #133 which is very complex and time-consuming.  When I finish it I will try once again to deal with this issue.

OK, I'll have a look. Thanks. 😊

De : Cezary Piątek<EMAIL_ADDRESS>Envoyé : samedi 22 août 2020 09:00
À : cezarypiatek/MappingGenerator
Cc : guillaume; Comment
Objet : Re: [cezarypiatek/MappingGenerator] Assign default or invalid values for unmapped fields. (#7)
For validation in design time, if all members of the target object are assigned, you can use my another extension which is described here Immutable types in C# with Roslynhttps://cezarypiatek.github.io/post/immutable-types-with-roslyn/ - this can be solved with [InitRequire] attribute or with /FullInitRequired/ marker.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/cezarypiatek/MappingGenerator/issues/7#issuecomment-678605701, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACJGQSHAGGQAWUPW5XTLHR3SB5UI3ANCNFSM4EVM3EXA.

@LaBetonneuse Empty constructor brackets have been removed in 1.17.435

The new version of MappingGenerator have a nice UI configure which allows to control how unmapped target fields are handled.

Please update your MappingGenerator extension.
If you have further suggestion please report them via the new issue tracker https://github.com/cezarypiatek/MappingGeneratorIssueTracker


Errors When Command Not Found

I tried running the standard --help command and got the following:
*** HackMyResume v1.3.1 ***
ERROR: Cannot read property 'warn' of undefined
TypeError: Cannot read property 'warn' of undefined
    at main (/usr/local/lib/node_modules/hackmyresume/src/index.js:59:44)
    at Object.<anonymous> (/usr/local/lib/node_modules/hackmyresume/src/index.js:27:3)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

I realized after the fact that I should run hackmyresume help, but I don't think that should throw a Node error. Ideally, it should output something to the effect of --help is an invalid command. Did you mean 'help'?.

+1

+1

Generally, I see -h and  --help. I've never seen /?, but if it's out there, I don't see why it shouldn't be supported.
Additionally, --version and -v should probably also be supported. While it does say *** HackMyResume v1.3.1 *** at the top of all output, that is generally expected to be a valid command that outputs the version number.
$ git --version
git version 2.3.3
$ vagrant --version
Vagrant 1.8.1
$ npm --version
2.5.1
$ gulp --version
[15:10:10] CLI version 3.9.0
[15:10:10] Local version 3.9.0
$ hackmyresume --version

*** HackMyResume v1.3.1 ***
ERROR: Cannot read property 'warn' of undefined
TypeError: Cannot read property 'warn' of undefined
    at main (/usr/local/lib/node_modules/hackmyresume/src/index.js:59:44)
    at Object.<anonymous> (/usr/local/lib/node_modules/hackmyresume/src/index.js:27:3)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

Generally, I see -h and  --help. I've never seen /?, but if it's out there, I don't see why it shouldn't be supported.
Additionally, --version and -v should probably also be supported. While it does say *** HackMyResume v1.3.1 *** at the top of all output, that is generally expected to be a valid command that outputs the version number.
$ git --version
git version 2.3.3
$ vagrant --version
Vagrant 1.8.1
$ npm --version
2.5.1
$ gulp --version
[15:10:10] CLI version 3.9.0
[15:10:10] Local version 3.9.0
$ hackmyresume --version

*** HackMyResume v1.3.1 ***
ERROR: Cannot read property 'warn' of undefined
TypeError: Cannot read property 'warn' of undefined
    at main (/usr/local/lib/node_modules/hackmyresume/src/index.js:59:44)
    at Object.<anonymous> (/usr/local/lib/node_modules/hackmyresume/src/index.js:27:3)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

Agreed. --help is already partially implemented on dev, -v and --version forthcoming.

Agreed. --help is already partially implemented on dev, -v and --version forthcoming.

@hacksalot take a look at commander.js maybe?

@zhuangya Yeah, I think it's time. With the new set of HMR verbs (analyze, merge, etc.) and options (including local .hackmyrc) we need a bit more consistency and structure around command invocations. Side note, Colors has been replaced with Chalk so in the next version you can do --no-color.

Commander.js is in (and --help with it) but I've had to monkey patch things a bit.


futhark: build and install manpages

Motivation for this change
The futhark package used to not install man pages.  Now it does.  The only complication is that the futhark source tarball contains only manpage sources (in RST format), which must be built using Sphinx.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Alright, I made the changes, rebased on haskell-updates, and it still builds fine.  Looks like changing the base branch on GitHub made poor ofborg think this is a much bigger deal than it really is, though.

Looks good, and builds on linux, so I'll go ahead and merge this in.
Thanks for fixing this up!


:hasLogo

Multiple domains

Couldn't we use class restrictions here instead?

Yes, of course, good idea.


Create datadog-synthetics.yml

        - name: Cache

uses<EMAIL_ADDRESS>with:
# A list of files, directories, and wildcard patterns to cache and restore
path:
# An explicit key for restoring and saving the cache
key:
# An ordered multiline string listing the prefix-matched keys, that are used for restoring stale cache if no cache hit occurred for key. Note cache-hit returns false in this case.
restore-keys: # optional
# The chunk size used to split up large files during upload, in bytes
upload-chunk-size: # optional
# An optional boolean when enabled, allows windows runners to save or restore caches that can be restored or saved respectively on other platforms
enableCrossOsArchive: # optional, default is false
# Fail the workflow if cache entry is not found
fail-on-cache-miss: # optional, default is false
# Check if a cache entry exists for the given input(s) (key, restore-keys) without downloading the cache
lookup-only: # optional, default is false
# Run the post step to save the cache even if another step before fails
save-always: # optional, default is false

Why would we want to enable Datadog stuff in our repo?
Closing as it seems to be yet another AI generated PR.


Change config to be one item in localstorage (not generate a new one for each option)

📝 Provide a description of the new feature
Simply more efficient and cleaner looking I believe.
➕ Additional Information
No response

We'd need to transition the change as well so it doesn't break existing installs.


Links for intro presentation and slides updated

Links updated for the slide as given by you in #4 and slides as commented by in #4

Hi Akash, did some shuffling. Can you reach the following link?
https://drive.google.com/folderview?id=0B6uZet2ug3aKfm9KRTdXcFZUc3o2UnFyU3FscWk2T2pNazdoR1AzMlZiU3lLRXFILXJHdlU&usp=sharing

I can reach them.


For the love of Pete, improve the error handling!

The error handling works properly: it will identify syntax errors and also let the user identify the nature of the error. But it does this by displaying an error code.
Numeric codes for syntax errors are not very useful unless you have a copy of the compiler source code handy, and can look up the conditions under which they are emitted.
An improved solution is to make a lookup table of error messages, indexed by error code. Translation: replace the codes with messages :-)

A first effort is in  becd3df. It supplements the error code with text strings and identifies which parser procedure is the originator of the message.
To do this properly will no doubt require some iteration. This issue will remain open (and not assigned to any milestone) to allow this to evolve.


Cloud Notebooks

Uses Dask-Cloud to run NVTabular into cloud.
We are adding to Notebooks:

Google Cloud Platform (GCP) and GCS
Amazon Web Services (AWS) and S3

rerun tests


PhoneGap application ios build in background

Android build works as expected (Firebase notification received when in foreground and when in background (placed in notification tray))
iOS build gets notification when in foreground. But when in background, notification is received but not shown in notification tray (I know it's received because it is shown when app is brought to the foreground).
{
"to":"/topics/-----",
"priority":"high",
"content-available": true,
"notification":{
"title":"Notification title",
"body":"Notification body"
}
}
Help please....

try to not set content_available. https://firebase.google.com/docs/cloud-messaging/concept-options

I already tried that, no difference... I tried adding"data" tag, changed priority, set icon and sound...
nothing helps
When iOS in background notification is just not added to notification tray...

Did you have similar scenario as I decribed that worked? This is a basic scenario, not doing nothing advanced, I just want notification to be shown in notification tray when iOS app in background (this should be normal behavior handled by iOS system)... Do you have any working example that I can see...
It's very important for me to get this thing working so please help me if you can...
Thanks

see #45 and #74

@robertarnesson , I am facing same issue Push notification working fine for Android in all cases but in IOS case only notification trigger when the app is in the foreground but not when in the background or closed .
Please guide me about this issue.


Cant pull up keyboard with show keyboard permanent notification

As written

Are you on Android 12? If so, which device?
@parkerlreed (soz for ping) said that he couldn't open Hacker's Keyboard from the persistent notification on his Samsung phone with Android 12. Android 12 continues the trend of restricting background processes and 12 must've been the one to break Hacker's Keyboard. :(

Yes, Android on Samsung Galaxy S21FE

Samsung Galaxy Tab S6 Lite, Android 11. Same issue.

Same problem on Android 12 on a Pixel 4a 5G. :/

so I wasn't the first to post about that...


login error caused by database error (relation "accounts_user" does not exist)

succesfully built, and up
all login attempt returns with 500: internal server error
logs:
web_1            | <IP_ADDRESS> - - [08/Mar/2017 15:16:47] "POST /login/ HTTP/1.0" 200 -
nginx_1          | <IP_ADDRESS> - - [08/Mar/2017:15:16:47 +0000] "POST /login/ HTTP/1.1" 200 3690 "http://<IP_ADDRESS>:8081/login/" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36" "-"
nginx_1          | <IP_ADDRESS> - - [08/Mar/2017:15:16:47 +0000] "GET /static/gen/styles.8f40cf0e.css HTTP/1.1" 304 0 "http://<IP_ADDRESS>:8081/login/" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36" "-"
nginx_1          | <IP_ADDRESS> - - [08/Mar/2017:15:16:47 +0000] "GET /static/images/invenio-color.svg HTTP/1.1" 304 0 "http://<IP_ADDRESS>:8081/login/" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36" "-"
nginx_1          | <IP_ADDRESS> - - [08/Mar/2017:15:16:47 +0000] "GET /static/gen/packed.98550d85.js HTTP/1.1" 304 0 "http://<IP_ADDRESS>:8081/login/" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36" "-"
postgresql_1     | ERROR:  relation "accounts_user" does not exist at character 557
postgresql_1     | STATEMENT:  SELECT accounts_user.id AS accounts_user_id, accounts_user.email AS accounts_user_email, accounts_user.password AS accounts_user_password, accounts_user.active AS accounts_user_active, accounts_user.confirmed_at AS accounts_user_confirmed_at, accounts_user.last_login_at AS accounts_user_last_login_at, accounts_user.current_login_at AS accounts_user_current_login_at, accounts_user.last_login_ip AS accounts_user_last_login_ip, accounts_user.current_login_ip AS accounts_user_current_login_ip, accounts_user.login_count AS accounts_user_login_count
postgresql_1     | 	FROM accounts_user
postgresql_1     | 	WHERE accounts_user.email ILIKE<EMAIL_ADDRESS>postgresql_1     | 	 LIMIT 1
web_1            | [2017-03-08 15:16:58,566] ERROR in app: Exception on /login/ [POST]
web_1            | Traceback (most recent call last):
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
web_1            |     response = self.full_dispatch_request()
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
web_1            |     rv = self.handle_user_exception(e)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
web_1            |     reraise(exc_type, exc_value, tb)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
web_1            |     rv = self.dispatch_request()
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
web_1            |     return self.view_functionsrule.endpoint
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask_security/decorators.py", line 230, in wrapper
web_1            |     return f(*args, **kwargs)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask_security/views.py", line 76, in login
web_1            |     if form.validate_on_submit():
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask_wtf/form.py", line 101, in validate_on_submit
web_1            |     return self.is_submitted() and self.validate()
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask_security/forms.py", line 239, in validate
web_1            |     self.user = _datastore.get_user(self.email.data)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/flask_security/datastore.py", line 191, in get_user
web_1            |     rv = self.user_model.query.filter(query).first()
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2731, in first
web_1            |     ret = list(self[0:1])
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2523, in getitem
web_1            |     return list(res)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2831, in iter
web_1            |     return self._execute_and_instances(context)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2854, in _execute_and_instances
web_1            |     result = conn.execute(querycontext.statement, self._params)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 945, in execute
web_1            |     return meth(self, multiparams, params)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
web_1            |     return connection._execute_clauseelement(self, multiparams, params)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
web_1            |     compiled_sql, distilled_params
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
web_1            |     context)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1393, in _handle_dbapi_exception
web_1            |     exc_info
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
web_1            |     reraise(type(exception), exception, tb=exc_tb, cause=cause)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
web_1            |     context)
web_1            |   File "/home/invenio/.virtualenvs/invenio3/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
web_1            |     cursor.execute(statement, parameters)
web_1            | ProgrammingError: (psycopg2.ProgrammingError) relation "accounts_user" does not exist
web_1            | LINE 2: FROM accounts_user
web_1            |              ^
web_1            |  [SQL: 'SELECT accounts_user.id AS accounts_user_id, accounts_user.email AS accounts_user_email, accounts_user.password AS accounts_user_password, accounts_user.active AS accounts_user_active, accounts_user.confirmed_at AS accounts_user_confirmed_at, accounts_user.last_login_at AS accounts_user_last_login_at, accounts_user.current_login_at AS accounts_user_current_login_at, accounts_user.last_login_ip AS accounts_user_last_login_ip, accounts_user.current_login_ip AS accounts_user_current_login_ip, accounts_user.login_count AS accounts_user_login_count \nFROM accounts_user \nWHERE accounts_user.email ILIKE %(email_1)s \n LIMIT %(param_1)s'] [parameters: {'email_1'<EMAIL_ADDRESS>'param_1': 1}]
web_1            | <IP_ADDRESS> - - [08/Mar/2017 15:16:58] "POST /login/ HTTP/1.0" 500 -
nginx_1          | <IP_ADDRESS> - - [08/Mar/2017:15:16:58 +0000] "POST /login/ HTTP/1.1" 500 3704 "http://<IP_ADDRESS>:8081/login/" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36" "-"

The login works fine on my local Invenio 3 demo instance. The problem you observed was most probably caused a transient issue with broken invenio-accounts v1.0.0b2 release on PyPI. The package was fixed yesterday in a new release v1.0.0b3, so it should be sufficient to upgrade your installation.  If this does not help, please reopen this issue.

Thanks dealing with my problem!
Rebuilt after a pull. Build and start are OK without local "hacking" the config files, but the initial login still doesn't work. Maybe I don't know something (I don't for sure), but still I got the same error whatever I try to do on the opening page:
try to login
try to create user
The database looks like empty, Is there anywhere a create script I have to run by hand?
root@ef8eef32d2f9:/# psql -U invenio3 invenio3
psql (9.6.2)
Type "help" for help.
invenio3=# \dT
List of data types
Schema | Name | Description
--------+------+-------------
(0 rows)


Update TravisCI to explicit hidden declarations

This PR changes the Travis configuration to make all configurations explicit so other collaborators can easily understand what is really going on.

It's intended choice to keep configs compact, with only valuable data.


Build crash Linux/UsbDevices.cpp:UsbDevicesQuery

Hi, I encountered this error when trying to build my project to android.
After import all assets build crash with error which I attached below
Is that a my mistake, or may be someone have any ideas or workarounds?


Design without layout generates broken layout section in markdown doc

See e.g.: https://github.com/bmurmann/Chipathon2024/blob/main/ota-5t-buf/docs/ota-5t-buf.md
See broken links to non-existing layout pngs at the bottom.

Thanks for the report, Boris! That was indeed overlooked.
Fixed by #105


Integration test for the title method

Test Scenario 1: Creating a new TitleRecord with valid input

Create a new instance of the SDK and initialize it with valid credentials.
Call the title method with a valid pointer record (ptr), origin, tags, and description.
Verify that the title method returns a TitleRecord object with the expected values.
Verify that the TitleRecord object was created successfully by calling the get method with the TitleRecord's ID and verifying that it returns the same values as the original TitleRecord object.

Expected result: The title method should successfully create a new TitleRecord object with the specified properties and return it. The get method should successfully retrieve the same TitleRecord object with the same properties.
Test Scenario 2: Retrieving an existing TitleRecord with valid input

Create a new instance of the SDK and initialize it with valid credentials.
Create a new TitleRecord object by calling the title method with a valid pointer record (ptr), origin, tags, and description.
Call the title method again with the same pointer record (ptr) and origin, but with different tags and description.
Verify that the title method returns the same TitleRecord object that was created in step 2, with the original tags and description.
Verify that the TitleRecord object was not modified by calling the get method with the TitleRecord's ID and verifying that it returns the same values as the original TitleRecord object.

Expected result: The title method should successfully retrieve the existing TitleRecord object with the same properties as the original object. The get method should successfully retrieve the same TitleRecord object with the same properties.
Test Scenario 3: Creating a new TitleRecord with an invalid pointer record

Create a new instance of the SDK and initialize it with valid credentials.
Call the title method with an invalid pointer record (ptr), a valid origin, and valid tags and description.
Verify that the title method throws an exception with an appropriate error message.

Expected result: The title method should throw an exception with an error message indicating that the pointer record is invalid.

outdated


👷(tray) add arnold tray to deploy joanie to kubernetes

Purpose
At FUN we would like to be able to deploy Joanie to Kubernetes using Arnold, our tool based on Ansible to generate k8s definition files.
Proposal
Arnold supports remote trays to define a project directly in the app repository, so I propose to add this project under src/tray.

@jmaupetit it should be building now if you want to take a look :sweat_smile:  I'm very skeptical that any of our trashable postgresql work in arnold apps :raised_eyebrow: Can be fixed when moving to each app's repository.

@jmaupetit it's good that you forced me to add the CI validation. I found some bugs :hand_over_mouth: