Allow for interactive development within the container

ISSUE TYPE

Feature Idea

SUMMARY
Developing automation is very incremental so it's a lot of editing, trying, editing, trying, especially at the beginning. The current ansible-navigator approach stays a bit in the way of this approach, with the overhead of the TUI and each time starting a new container. A mode by which the developer could just be put inside the container as themself and could there edit their code and/or start ansible-playbook themselves would help a lot.
Basically, it would be the equivalent of podman run [--rm] --tty --interactive -v /home/myuser/github/pull-test/:/home/myuser/github/pull-test/ --workdir /home/myuser/github/pull-test -v /run/user/1000/keyring/:/run/user/1000/keyring/ -e SSH_AUTH_SOCK=/run/user/1000/keyring/ssh -v /home/myuser/.ssh/:/home/runner/.ssh/ --group-add=root --userns=keep-id  --user="$(id -u):$(id -g)" --ipc=host -v /tmp/ansible-navigator_th4mlx94/artifacts/:/runner/artifacts/:Z -v /tmp/ansible-navigator_th4mlx94/:/runner/:Z --env-file /tmp/ansible-navigator_th4mlx94/artifacts/d8722364-68c8-4875-973e-8d1234008533/env.list --quiet --name ansible_runner_d8722364-68c8-4875-973e-8d1234008533 registry.blup/bla/ansible-automation-platform-20-ee-supported-rhel8:latest /bin/bash.
Two comments:

notice the addition of --userns=keep-id  --user="$(id -u):$(id -g)" to make sure that the user is themself within the container and the access right remain correct.
being able to keep the container across calls i.e. without --rm would also help, for example with the ability to give a fix name to the container, as the developer could then customize it with aspects irrelevant to the automation itself (i.e. add their favourite editor) without having to create an own image.

Thinking about it, that also means that the temporary directory /tmp/ansible-navigator_th4mlx94 would be persistent, the location /tmp isn't a perfect place for this kind of approach, so it should also be moved, e.g. to a sub-directory of the current directory.

Few good to have things in future with navigator would also be to have

An easy way to run setup module or ad-hoc modules like ping
Like ansible all -m setup or ansible all -m ping

This way its easier to take that first step to understand ansible modules without dealing with navigator in a deep dive fashion like setting up config or knowing about interactive or stdout modes.
A first easy step and then you would need to understand the module and navigator function to achieve something meaninful.


Animated multiple markers IOS  (HELP)

Question
here is my code
{
typeof this.props.markers != 'undefined' && this.props.markers.map((data, index) => {
    return (<MapView.Marker.Animated ref={(ref) => {
        this.car_moves[data.id] = ref;
    }} coordinate={{
        latitude: data.address_latitude,
        latitudeDelta: 0,
        longitude: data.address_longitude,
        longitudeDelta: 0
    }} flat key={data.id}>
        <Animated.Image source={{ uri: 'car3d' }} style={{ width: 40, height: 40, transform: [{ rotate: data.heading + 'deg' }] }} />
    </MapView.Marker.Animated>)
})
}

this is working in andorid fine
const { driverWayCordAnim } = this.state;
if (Platform.OS === 'android') {
            if (this.car_moves) {
                this.car_moves[onTheWayObject.driver_id]._component.animateMarkerToCoordinate(JSON.parse(onTheWayObject.driver_location), 5000);
            }
        } else {
            driverWayCordAnim.timing(mylngLnganim,5000).start();
        }

here is for ios i want help i need to move specific marker like android code has , but i am confused in ios
const { driverWayCordAnim } = this.state;
driverWayCordAnim.timing(mylngLnganim,5000).start();

i want like this driverWayCordAnim[1].timing(mylngLnganim,5000).start();

Note my markers are dynamic so i need dynamic index in Ios
Thanks in advance

@aliwaqassi have you managed to make it work on android? i have this error: https://github.com/react-native-community/react-native-maps/issues/2195 with the animateMarkerToCoordinate

@tattivitorino  dear i am talking about IOS marker animation driverWayCordAnim[1].timing(mylngLnganim,5000).start();
like i have 2 markers and i want to move specific one marker how can i do this in ios with driverWayCordAnim[1].timing(mylngLnganim,5000).start();


Cache intelligence v2

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Preview environment: https://ci.pr.harness.io/pr-618

Preview environment: https://ci.pr.harness.io/pr-618

Preview environment: https://ci.pr.harness.io/pr-618

Preview environment: https://ci.pr.harness.io/pr-618

Preview environment: https://ci.pr.harness.io/pr-618

Preview environment: https://ci.pr.harness.io/pr-618


Update README.md

add .env correct installation

add

.env is corrected according to the exact import methods


Occasionally evaluation error during training

Hi, I am training mmdet3d on a docker machine. However, I met this problem occasionally, and sometimes, it runs normally. I have no idea why this happens, could you help me with this problem?
2021-06-24 15:05:30,889 - mmdet - INFO - Saving checkpoint at 15 epochs
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 3776/3769, 106.3 task/s, elapsed: 36s, ETA:     0sTraceback (most recent call last):
  File "./tools/train.py", line 204, in <module>
    main()
  File "./tools/train.py", line 200, in main
    meta=meta)
  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/site-packages/mmdet/apis/train.py", line 170, in train_detector
    runner.run(data_loaders, cfg.workflow)  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 125, in run
    epoch_runner(data_loaders[i], **kwargs)
  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 54, in train
    self.call_hook('after_train_epoch')  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/site-packages/mmcv/runner/base_runner.py", line 307, in call_hook
    getattr(hook, fn_name)(self)
  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/site-packages/mmdet/core/evaluation/eval_hooks.py", line 276, in after_train_epoch
    gpu_collect=self.gpu_collect)
  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/site-packages/mmdet/apis/test.py", line 113, in multi_gpu_test
    results = collect_results_cpu(results, len(dataset), tmpdir)
  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/site-packages/mmdet/apis/test.py", line 156, in collect_results_cpu
    shutil.rmtree(tmpdir)
  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/shutil.py", line 498, in rmtree
    onerror(os.rmdir, path, sys.exc_info())  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/shutil.py", line 496, in rmtree
    os.rmdir(path)
OSError: [Errno 39] Directory not empty: '/nfs/chenzehui/code/2d3d_fusion/work_dirs/voxel_dynamic_kitti/.eval_hook'
Traceback (most recent call last):
  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/site-packages/torch/distributed/launch.py", line 261, in <module>
    main()  File "/nfs/chenzehui/others/miniconda3/envs/mmdet3d/lib/python3.7/site-packages/torch/distributed/launch.py", line 257, in main    cmd=cmd)
subprocess.CalledProcessError: Command '['/nfs/chenzehui/others/miniconda3/envs/mmdet3d/bin/python', '-u', './tools/train.py', '--local_rank=7', 'voxel_cfg/voxel_dynamic_kitti.py', '--launcher', 'pytorch']' returned non-zero exit status 1.

dddd

What's your training setting? How many samples per gpu and how many gpus are used? I guess there is something wrong with the evaluation hook, so you can also create an issue in mmdetection and ask some help from the community.

This problem is related to my dev-machine, not mmdet3d code. Sorry for the bother, I will close this issue.


Cancel submission in case of 401

Unauthorized users can not submit a submission. However, the program does not shut down instantly and continues to attempt to execute the process.

If the stored token expires and the user persists in the submission, the eclipse does not respond and it is necessary to force stop.


Download source code with in-client designer only possible once

The option to download the source code from the in-client designer is only offered once.
Wouldn't it be an idea to include the source code in the app by default? That would open the possibility to download the source code afterwards, in case you changed your mind and want to adopt the changes in a VS Code workspace. And it would allow to open the app again in design mode so you don't have to create a new in-client designer app in case you do further modifications with the in-client designer.

Not sure which scenario this applies to Arend-Jan, but when I open the designer from VS Code with F6, carry out changes, save with default name (which is the name of your extension), then go back to VS Code and press F7, it downloads the changes to my code. I can do this multiple times.
In another scenario, where you use the designer directly in the browser, save your changes (under a new name with dependency to your extension) then you can see the extension also in the Extension page and there is also a download option. Again, not sure if you refer to these scenarios or if I missed the point.


Bintray (including JCenter) Sunsetting on May 1st, 2021 - Publish to Maven Central instead

General Troubleshooting

[x] I have checked for similar issues.
[ ] I have updated to the latest JDA version.
[x] I have checked the branches or the maintainers' PRs for upcoming features.

Feature Request

Bintray (including JCenter) will be sunsetting on May 1st, 2021, meaning that it will no longer be available as an artifact repository. For more information, see: here.
The JDA artifact(s) will need to be hosted somewhere else, to which I recommend Maven Central. For more information on publishing to Maven Central, see this YouTube video.
Example Use-Case

N/A

We are already aware of this and looking into alternatives.


Improve grammar in our sign in message

untested!
The intention is to make the sign in message look like this (edited in browser, not using this code):

@slorek am I ok to merge this now?

@edwardhorsford yes, once merged please create a new tag/release (2.0.4). A developer will need to update the Keycloak repository to bring in the new version and deploy it.


Representation proof for QRSpecialRSA implemented.

Representation proof is like Schnorr proof but in a QRSpecialRSA group instead of Schnorr group.
Signed-off-by: miha<EMAIL_ADDRESS>

Thanks! Comments addressed.


Inserting objects on edge of screen causes error

An error in the rendering method and how the grids are indexed prevents objects from being inserted on the edges of the screen.
ie. A model being inserted into (29,29) of a (30,30) grid will cause an error as the method tries to place in indexes that don't exist.
It would be good to update the array such that it truncates the object so that it looks like it is going off the screen.

Let me know what you think @Ibrahim2750mi and whether this is worth fixing.
Might be better to just leave it and make sure things don't flow off the screen when making the map. Although this can make the forest not look as nice.

can we just work now on neceesary things rather than re-editing the rendering stuff


Update 8 - Dedicated server offline

Hi,
After the promotion of Update 8 on the Early Access branch, it is impossible to access on the dedicated server. From the client the server appears to be offline.
Reading online it seems that the problem is due to the fact that the server now listens on IPv6 by default. It seems to be solved by passing the parameter -multihome=<IP_ADDRESS> to the startup command.
./FactoryServer.sh "-multihome=<IP_ADDRESS>"
Would it be possible to investigate?
Thank you very much.

@marcovitali see if the issue persists when setting SERVERIP=<IP_ADDRESS>

@marcovitali see if the issue persists when setting SERVERIP=<IP_ADDRESS>.
If it does, -multihome has no effect. Please provide your full runtime command and system information (as the issue template suggests). Thanks!

Yes, I had already tried that environment variable, but it still didn't work.
I simply use your Docker image via Docker Compose.
satisfactory-server:
  image: 'wolveix/satisfactory-server:latest'
  container_name: 'satisfactory-server'
  ports:
    - '7777:7777/udp'
    - '15000:15000/udp'
    - '15777:15777/udp'
  restart: 'unless-stopped'
  environment:
    AUTOSAVENUM: 10
    CRASHREPORT: 'false'
    MAXTICKRATE: 30
    SERVERIP: '<IP_ADDRESS>'
    TIMEOUT: 30
  volumes:
    - '${APPDATA_PATH}/satisfactory-server:/config'

Please provide your system info as well. What log does the server output when running?

Per the issue template:

System Specs (please complete the following information):
If you're on Linux, just paste the following block as a single command, and paste the output here.
echo "===== START ISSUE REPORT =====
OS:  $(uname -a)
CPU: $(lscpu | grep 'Model name:' | sed 's/Model name:[[:space:]]*//g')
RAM: $(awk '/MemAvailable/ {printf( "%d\n", $2 / 1024000 )}' /proc/meminfo)GB/$(awk '/MemTotal/ {printf( "%d\n", $2 / 1024000 )}' /proc/meminfo)GB
HDD: $(df -h | awk '$NF=="/"{printf "%dGB/%dGB (%s used)\n", $3,$2,$5}')
===== END ISSUE REPORT ====="

Alternatively, you can find the information manually. Here's what we're looking for:

OS: [e.g. Ubuntu 18.04 x86_64] (Linux: uname -a)
CPU: [e.g. AMD Ryzen 5 3600 6-Core Processor] (Linux: lscpu)
RAM: [e.g. 4GB/16GB] (Linux: cat /proc/meminfo | grep Mem)
HDD; [e.g. 22GB/251GB (9% used)] (Linux: df -h)

Encountering the same issue.

@ElijahTailor could you please provide the same info? Docker runtime, system specs, and runtime log :)

@ElijahTailor could you please provide the same info? Docker runtime, system specs, and runtime log :)

===== START ISSUE REPORT =====
OS:  Linux mp-srv 5.15.0-86-generic #96-Ubuntu SMP Wed Sep 20 08:23:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
CPU: Intel Xeon Processor (Skylake, IBRS)
RAM: 21GB/22GB
HDD: 32GB/94GB (35% used)

===== END ISSUE REPORT =====

Can't get what do you mean by Docker runtime. Latest log attached.
sf-log.txt

@ElijahTailor that looks like a very old error. Try running docker compose pull && docker compose up -d. This will update your downloaded version of the Docker image.
If you're not using Docker Compose, do docker pull wolveix/satisfactory-server:latest

Sorry @wolveix, I don't know for what reason, maybe some coincidence, but by removing and re-adding the server within the client everything went back to working properly.
Thank you for your support.

@marcovitali no problem, I'm glad you got it resolved!


SVGImage Small font size dont render properly, size less than 8px

texts on svg with font size less than 8px don't render properly and nothing is shown in screen

I'm not seeing any problems. See the attached sample app that displays the attached image
image32_test.zip


Make Recorder dump resources to a subfolder named after package

Implemention for issue #3706.
master couldn't compile (using OpenJDK 11.0.2), had to change JdkXmlParsers.scala first (commit pmalic@96d6929).
Also changed string interpolators for requestBodyFileName/responseBodyFileName to s, it was f although there were no printf-style format strings.

Simulation files now have a subfolder referenced in RawFileBody(), for example:
.body(RawFileBody("pkg3/cls3_0012_request.txt"))
.check(bodyBytes.is(RawFileBody("pkg3/cls3_0012_response.txt")))

The separator in the string argument is hardcoded to /, File.separator is not used here because in this case a simulation recorded on Windows wouldn't work on Unixes, and / works on Windows. There are operating systems where / wouldn't work (e.g. OpenVMS), not sure would this be an issue for Gatling.
I've considered other options, like making the simulation "runner" (don't know the correct term, looking into Gatling code for the first time) read from the subfolder by default, but this would break compatibility, people would have to move their old resources to subfolders. Another option I've considered is generating some code in the simulation file that would make the simulation "runner" look for resources in a subfolder, but to prevent again hardcoding the subfolder path, it would have to use reflection to figure out the package. This is beyond my current very limited Scala skills :)

master couldn't compile (using OpenJDK 11.0.2), had to change JdkXmlParsers.scala first (commit pmalic/gatling@96d6929).

Gatling has to be compiled with JDK8. Compiling with JDK11 would produce bytecode that can't run on JDK8 (typically, because of ByteBuffer#flip that would cause LinkageError).
So this change is a no go.

The separator in the string argument is hardcoded to / ..., not sure would this be an issue for Gatling.

It's OK because we mostly use classloader resolution.

Moreover, could you please sign our contributor license agreement? https://docs.google.com/forms/d/1hbpxVqJ5hIYYJuOjOyOzub9fJFGFGvvfnB5w5LCWdUw

Signed contributor license agreement.

Thanks!
Actually, I feel like only naming after the package is not enough.
We probably should turn the classname into a folder too (lower case), eg:
foo.bar.BazSimulation => foo/bar/bazsimulation
WDYT?

You already have resource file names prefixed with the class name, so you won't get a "conflict" with multiple classes in one package. The benefit would be to not have possibly thousands of files in one folder if you have multiple classes in a package and each class with a lot of resource files. Yeah, I think it makes sense to introduce another subfolder named after the class.

Yeah, I think it makes sense to introduce another subfolder named after the class. Then the class name prefix in the resource file names should be dropped?

Yes, please.

Ok, it's now:
.body(RawFileBody("com/example/MySim/0005_request.txt"))
.check(bodyBytes.is(RawFileBody("com/example/MySim/0005_response.txt")))

I've also now implemented changes that set correct file extension to resource files so it's not always .txt. This makes opening them a lot easier. I extract mime type from Content-Type header. I have a map for a dozen most common mime types and for the rest jodd.net.MimeTypes.findExtensionsByMimeTypes() is used (it's based on Apache's mime.types file). I have a local map because this MimeTypes is not optimized for looking up extension from mime type but vice-versa (looked at the source code, they have a HashMap from extension to mime type). The changes touch the code I've already changed in this pull request and they are kind of related to this. Should I commit the changes to my branch associated with this pull request or should I make another one?

@pmalic No big deal, but those last changes regarding file extensions should have gone into a separate PR.
We're in the process of releasing, so we'll only be able to merge after that, all the more as I'm a bit concerned with the file path change on Windows that will require proper testing.
Thanks for your patience.

I didn't commit the changes related to file extensions to the branch associated with this PR, it's in a separate branch, I just pasted the link to the commit.

Ah, ok ,thanks!

Created PR #3711 for file extensions.
P.S. You mentioned testing on Windows, I'm mostly running simulations on Windows (I build gatling on macOS, but the app I'm load testing is on Windows).

@Neoware can you have a look please?

Hey @pmalic, this looks good except for the semicolon at the end of L56 :)

Thanks @Neoware for the review, will fix. I'll also squash the current commit with the fix, OK?

yes please :)

Done.

Your commit is merged :) Thank you for you contribution! Let's jump to the next one now :)


A new md-toolbar-row is added into md-toolbar even when no content is outside md-toolbar-row elements

Bug, feature request, or proposal:
Bug
What is the expected behavior?
If all the content is placed in md-toolbar-row elements then a new row should not be added
What is the current behavior?
A new md-toolbar-row is added to the top even if there is no content outside of md-toolbar-row elements
What are the steps to reproduce?
Plunker
http://plnkr.co/edit/BOdPHzANIMYnq7GagIWR?p=preview
Which versions of Angular, Material, OS, browsers are affected?
Angular v2.4.9, Material v2.0.0-beta.2, all browsers and OSs

Thanks for the issue. I have plans to fix this as part of #1718

It's still happening! Any news to fix it?


Added tests for builtin method overrides in the Section class

Test coverage should be at 100% now

Coverage increased (+6.2%) to 100.0% when pulling 87f79d2971b84b73a954c90d115d5469153b0700 on amhokies:coverage into 773a70e8fe7dd14f745290f9e02a6034e75ef53b on kevincianfarini:master.


Mouse pointer jumps to center in Blender

Hyprland Version
 System/Version info
Hyprland, built from branch  at commit cba1ade848feac44b2eda677503900639581c3f4  (props: bump version to 0.40.0).
Date: Sat May 4 15:42:32 2024
Tag: v0.40.0, commits: 4606

flags: (if any)

System Information:
System name: Linux
Node name: helm
Release: 6.8.9-100.fc38.x86_64
Version: #1 SMP PREEMPT_DYNAMIC Thu May  2 18:50:49 UTC 2024

GPU information:
04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M] [1002:1681] (rev d1) (prog-if 00 [VGA controller])

os-release: NAME="Fedora Linux"
VERSION="38 (Workstation Edition)"
ID=fedora
VERSION_ID=38
VERSION_CODENAME=""
PLATFORM_ID="platform:f38"
PRETTY_NAME="Fedora Linux 38 (Workstation Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:38"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f38/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=38
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=38
SUPPORT_END=2024-05-14
VARIANT="Workstation Edition"
VARIANT_ID=workstation

plugins:

Bug or Regression?
Regression
Description
The behaviour is so far only encountered in Blender, not running Xwayland: On middle mouse click, eg for panning and rotating view the mouse pointer immediately jumps to the window center. Same thing when left click on a numeric input, the latter making it impossible to edit numeric inputs.
This has been tested with several blender versions (3.11 to latest build).
The issue does not appear on other Wayland WMs such as Sway or Gnome (on Wayland).
How to reproduce
Start blender and try to select any input widget to edit it manually.
Try rotating the default scene in blender.
Crash reports, logs, images, videos
No response

it's fixed in git... dupe of #5881

it's fixed in git... dupe of #5881. Numeric input one is tracked at #6035

OK, closing. Sorry for not finding the dupe.


fix: link to the upgrade guide

Changelog: None
Ticket: None

I guess we have to actually write the Debian part.

That's what I was working on, @kacf: https://github.com/mendersoftware/mender-docs/pull/2320


How to upgrade to final release of Angular

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Windows 10

Versions. Please run ng --version. If there's nothing outputted, please run
in a Terminal: node --version and paste the result here:

angular-cli: 1.0.0-beta.11-webpack.8
node: 6.5.0
os: win32 x64
Hello,
is there any documentation on how to update to the final release of Angular 2 ?
My project is currently running the RC5 with 1.0.0-beta.11-webpack.8.
updating the package.json like #2121 is enough ? Should i also try to upgrade angular cli ?
Thanks :)

The newest angular-cli beta.14 release includes updates to the dependencies as in the commit you mentioned.

Update angular-cli to beta.14 (both globally and locally in the project)
ng init (update package.json and peer dependencies)
ng serve
Welcome to 2.0.0 final :)

https://github.com/angular/angular-cli/wiki/Upgrading-from-Beta.10-to-Beta.12


[Need your opinion] Proposing change to RoborazziRule's default behavior

I'm considering changing the default behavior of RoborazziRule. As it stands, it is configured to take screenshots for each method by default, since the rule uses CaptureType.LastImage as a default value. However, this has proven to be very confusing and has led to the creation of several issues.  What do you think about changing it to CaptureType.None and simply providing some context, such as the default output path?
https://github.com/takahirom/roborazzi/blob/d6ed94842e424d9691d65c5ef0b4a50daae7027d/roborazzi-junit-rule/src/main/java/com/github/takahirom/roborazzi/RoborazziRule.kt#L30

Perhaps we should make captureRoot optional, so we can apply the rule solely to use captureRoboImage()
https://github.com/takahirom/roborazzi/blob/d6ed94842e424d9691d65c5ef0b4a50daae7027d/roborazzi-junit-rule/src/main/java/com/github/takahirom/roborazzi/RoborazziRule.kt#L71


Fix mistake in documentation (#248510)

either One of the two places (README.md OR mod.ts) the parameter name used is wrong.
This PR attempts to fix the spelling mistake in the mod.ts file.

Thank you so much!


Need to Make the Type Field Public in Lang Library Modules

Description:
We need to make the "Detail" variable public in the file of each lang lib module (as applicable) as follows to display the error detail in API docs.

@typeParam
type Type any|error;

Currently, "Type" is a broken link, which gives a 404 error.
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Type is purposely on private. Making them public is not the correct way to handle this. @kaviththiranga Shall we have a chat on how to handle this in API doc generation.

As discussed with @kaviththiranga and @hasithaa we need to handle this from the API doc generation tool (by removing the links when a reference is not found).


Question: Store data operations

User Story Description
As a mock API user,
I want to be able to use modification operations (POST/PUT/PATCH/DELETE) to be stored
so I can use the API based on the OpenAPI with real usage and potential CRUD flows.
(a bit like the json-server npm but then as part of Prism)
This user story is more a question, if it was discussed as valuable feature and feasible?
Acceptance Criteria

[ ] Store a new entity via POST (temporary)
[ ] Get the created entity via GET
[ ] Update the created entity (PUT/PATCH)
[ ] Remove the created entity

Sprint Ready Checklist

[ ] Acceptance criteria defined
[ ] Team understands acceptance criteria
[ ] Team has defined solution / steps to satisfy acceptance criteria
[ ] Acceptance criteria is verifiable / testable
[ ] External / 3rd Party dependencies identified

@thim81 this functionality is not built into Prism today, and we don't think it belongs in Prism. However, you could easily use Prism as a proxy in front of json-server to achieve what we think you are looking to do. Prism as a proxy would provide the contract testing you probably want, and json-server would provide the CRUD operations and store state like you're asking for. Does that seem like it would meet your needs?

@chohmann Thanks for providing me a very clear and useful explanation.
I'm going to give your suggestion a try, and if it works, I'll report back here for anybody else really liking the Prism and want to use it create realistic API mocking services.

@thim81 I'm going to close this issue. Feel free to add your comments to this ticket even after it's closed!


Should warn the player about item decay

The inventory should keep track of what rotted so that we can tell the player why things aren't there anymore.

@mafagafogigante also, foods/fruits with less quality, should restore less heals. I faced with it in the another game, but I can remember it name. It sounds like another task. :)

@UnknownNPC I'm not sure about what do you mean with that. Do you mean fruits that have already rotten a bit? All fruits are equally "good" from the start, right?

@UnknownNPC if you are interested in adding this feature (a message queue to the inventory), please let me know.

All fruits are equally "good" from the start, right?

Yeah! Something like, Fresh/Good (100% restore) on the start, after 5 game days it changes status to  Slightly rotten (50% restore), after some more days it changes status to Rotten (10% restore).
It's like thinking out loud, after your first comment reading.

if you are interested in adding this feature (a message queue to the inventory), please let me know.
Sure, It can be assigned on me.

@UnknownNPC I will think about the "partial decay" aspect of food some more and maybe create an issue for it.
What is expected from this issue is something that works this way:
Say that an update a few items were rotten (and therefore completely removed from the Hero inventory), the next time I issue "items" I want to see lines such as
"You notice [item name] rotted in your inventory."
for each item that rotted. If you have any questions, just ask them.


ENH Add a css wrapper to generated types

Resolves issue #395.
Here's a screenshot where I've used this in Pyodide's docs to add some ugly css to the types:

I didn't know you could create a role like that, that's nice to know :)

@hoodmane for some reason this broke tox documentation on TypeVar:

https://github.com/tox-dev/tox/actions/runs/6822355429/job/18554265718
Any idea why is that?


back navigation click should navigate to home

STR
Go to the Assets page and click on some asset
When I press the back button
Then I should be navigated to Assets page

so clicks on home, should enter to history as any other scope (of span)?
or maybe click on home resets the history?

Click on home resets history


Change the default shebang in docs to use /usr/bin/env

Like
#! /usr/bin/env scale
This will make script use the scale version that is found in the path. Like that people may have different installations and use the one they want given their current configuration.

Good idea! It goes for next version, since it will use this as excuse for changing the code browser :). (Now it checks the shebang to know what scriptrunner to use as container on the browser.)

Hi, should it be like user specifying which version to run, before running the command?

Maybe. A user wanting to use a specific version of scale write instead:
!/usr/bin/env scale

!/usr/bin/env scale-2.7

!/usr/bin/env scale-3

Of course that would require having available in PATH all scale versions. That could be done "à la" linux by adding symlinks of course

Maybe the scale bash script can be edited and user can be prompted for version and that specific version can be invoked. And apart from this, what more can be done for this?

The main intention of this issue is to update the documentation. New features or the scale GUI support should be discussed in separate issues please.

Sorry.! My fault. Will do it in a new issue.

Thanks, in any case, I think updating the readme would be already a good contribution.

Thank you. I will try to contribute to the readme.


Attachment widget clear preview if no answer

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #1821
Description
Clear preview if no answer
Alternative(s) considered
N/A
Type
Choose one: Bug fix
Screenshots (if applicable)
device-2023-01-25-152610.webm
Checklist

[x] I have read and acknowledged the Code of conduct.
[x] I have read the Contributing page.
[x] I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
[x] I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
[x] I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
[x] I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

Sure. doing test

@santosh-pingle kindly do another review

@jingtang10 this is ready for another review


Support multiple workers

@dubeejw would you mind giving a review of this PR?

@abaruni, I'll take a look.

thanks

Need to look through this more. Are you using two views? @jasonpet, mentioned that it is possible to only use one view.

Looks like Travis failed: ```
[/home/travis/build/apache/incubator-openwhisk-package-kafka/tools/travis/../../tests/src/test/scala/system/packages/MessageHubMultiWorkersTest.scala]:
193: file does not end with EOL.
Scan detected 1 error(s) in 1 file(s):

🎉 Nice work @abaruni! 🎉


Code snippet highlights broken

Describe your problem and how to reproduce it:
I was reading https://www.freecodecamp.org/news/how-did-i-miss-javascript-symbols-c1f1c0e1874a/ on latest Chrome. Every code snippet in the article had a grey background for highlight EXCEPT for the last couple characters of each multiline snippets
Add a Link to the page with the problem:
https://www.freecodecamp.org/news/how-did-i-miss-javascript-symbols-c1f1c0e1874a/
Recommended fix, suggestions (how would you update it?):
move the affected </code> tags a little farther to the right

Thanks for letting us know. I will share this with the editorial team.

Hi @Balagii, thanks for reporting this. I went in and fixed all the code snippets, added syntax highlighting to many of them, and added some missing code snippets.
Here's the updated article: https://www.freecodecamp.org/news/how-did-i-miss-javascript-symbols-c1f1c0e1874a/


Marginal improvement by second stage

Hi @tianweiy I have tried the second stage on my own data but found that the improvement is marginal. So I try to decompose the effect of second stage into the classification part and the regression part ( when testing the cls part, I only use the cls output to update the score of first stage; while testing the reg part, I only use the reg output to refine the boxes of the first stage)
And I find that the cls head brought quite a lot of improvement but the regression head does not improve at all. I wonder have you even meet such problems?

Could you give some quantitative numbers? How many mAP improvements are from classification, regression, and in total?
I also tried to ablate this in the past. On Waymo, pedestrian detection mainly benefits from classification but for vehicles, it is about half/half regression and classification.

In my experiments, the mAP improves from 67.9%, 37.5%(iou 0.5&0.7 respectively) to 68.9%, 39.1% in total. For classification part, it leads to 69.6%, 38.0% while for regression part it leads to 67.7%, 37.9%.  As you can see, the regression part individually brought negligible improvement, and it even hurt the performance under 0.5 iou.  For each individual category, I found the improvement of classification head over the cyclist class is quite good (~9% AP for iou 0.5) but over car and pedestrian is negligible and even negative.

That sounds reasonable to me. For sparse lidar point clouds (e.g. nuScenes), the second stage won't help much for the regression part (even humans can't tell the exact heading/shape of the box if you are only given 3-4 lidar points). The classification branch will help with eliminating false positive which possibly explains the large improvement for cyclist.
Note that in our paper, we only get this two-stage refinement worked on Waymo which has considerably denser point clouds. For nuScenes, we didn't notice an improvement by the time we submitted the paper. I tried Lidar RCNN on nuScenes and this also doesn't improve the regression

I agree that the regression part won't help much for very sparse boxes, but the mAP I mentioned above is the mAP in range [0,30m] where the boxes should contain quite a number of points. Besides my Lidar data have about 220k points per frame, which is much denser than nuscenes, so I expect the regression part to improve the quality of the proposal boxes. And any guesses about why the classification head largely improves cyclist but no much influence on other categories?
Thanks again for the informative discussion!

where the boxes should contain quite a number of points

Then you should try raw lidar point based two stage method to get a sense about the upper bound of regression refinement.

And any guesses about why the classification head largely improves cyclist but no much influence on other categories?

I guess it is mainly eliminating false positives. Like maybe in your training set, the cyclist is much less than pedestrians/vehicles, so in real inference, most are false positives. The second stage refinement score may fix some of these. You can visualize those predictions and see. Check this file https://github.com/tianweiy/CenterPoint/blob/master/tools/visual.py

Thank you so much. I will do some visualization and try other two-stage methods to find the reasons.
Best
Xuyang


Unable to Overriding HCM.delayed_close_timeout to 0

Istio uses EnvoyFilter API to patch and update arbitrary properties in HTTPConnectionManager and any other XDS objects.
After introduction of  PILOT_HTTP_DELAYED_CLOSE_TIMEOUT = 1s  (in 1.11?)  it is not possible to set HCM.delayed_close_timeout  to 0. Zero has a special meaning.  This is slightly different than unsetting the field.
// .. WARNING::
//    A value of 0 will completely disable delayed close processing. When disabled, the downstream
//    connection's socket will be closed immediately after the write flush is completed or will
//    never close if the write flush does not complete.
DelayedCloseTimeout *duration.Duration `protobuf:"bytes,26,opt,name=delayed_close_timeout,json=delayedCloseTimeout,proto3" json:"delayed_close_timeout,omitempty"`

This happens because the innermost type durationpb.Duration is the following and Seconds=0 does not have the desired effect for standard proto.Merge reasons.
type Duration struct {
	Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
	Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
}

At present it is possible to change the PILOT_HTTP_DELAYED_CLOSE_TIMEOUT=0s if running own istiod.
When using a managed istiod / remote istiod this may not be available.
We either need to schematize these fields in the API or find some other solution.

cc @ramaraochavali for PILOT_HTTP_DELAYED_CLOSE_TIMEOUT.

A user before the introduction of PILOT_HTTP_DELAYED_CLOSE_TIMEOUT could set the value to anything using EnvoyFilter. They could set it to “0” which has a specific meaning. After introducing this field which moved the in-code default into config, it is no longer possible to set the value to zero using EnvoyFilter.
If you are using a remote istiod where you do not have control on env vars it represents a regression. Not only has behaviour has changed, but you cannot fix it unless you can set env vars on istiod.

Related to https://github.com/istio/istio/issues/29172

@mandarjog Sorry I did not realize the side affect of it. I do not have a great solution for this. so I think it better to remove that feature flag. https://github.com/istio/istio/pull/35268 and let people control it by Envoy filters.

@ramaraochavali Thanks for fixing it.


Performance for v4 v/s v3

Is there any significant performance improvement expected with version 4.x? Did anyone experienced performance gain after upgrading to v4 from v3?

Hey. As for me definitely yes. For my not very small application there was a serious boost for performance after upgrading. It seems because of React Navigation of cause, it is more productive compared to ExperimentalNavigation. Also v4 has some interesting and helpful features.

I see improvement in transitions speed on Android. iOS always works good

I definitely noticed a larger performance improvement on iOS(haven't built out an Android version of our app yet).  In the old version, there were a lot of places I was having to wrap my componentWillMount/DidMount functionality with calls to InteractionsManager.runAfterInteractions to keep transitions smooth, but now I don't have any issues.


TensorFlow Dataset.from_generator leaks memory for randomly generated samples (correlated with 'cuda_malloc_async')

Click to expand!
Issue Type
Bug
Source
binary
Tensorflow Version
2.10, 2.9 tested as well
Custom Code
No
OS Platform and Distribution
Ubuntu Linux 22.04 and Google Colab tested
Mobile device
No response
Python version
3.9
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
11.8
GPU model and memory
No response
Current Behaviour?
When dataset is generated via `Dataset.from_generator`, samples that have already been used are not removed from GPU memory (or at least this is what I presume), leading to an increased use of VRAM and finally an OOM error as the training proceeds.

This is an important bug, since very often (as in this case) someone might use `from_generator` to perform augmentation etc, and It can be easily seen by examining the `GPU_mem_usage`, that the memory usage indeed grows. For some reason, Colab allocates memory straight away to ~8 GB, so the growth is only noticeable after around 300-500 epochs. The problem is way worse when training on real, larger datasets.

For a simple summary, just view the graphs on the end of the notebook.

Notice (in the notebook), that even though total memory taken on the GPU grows, TensorFlow "thinks" it is consuming basically constant amount of memory, which points into the direction of a memory leak.

Also, it takes around 900 epochs to fill almost the whole memory (16 GB in case of Colab). Epochs consist of 1024 images of shape (64, 64, 3), float32 dtype, giving 1024*3*64*64*900*4 bytes allocated in total, which is around 45 GB, so I presume not all memory is leaked, OR leaking data is not the cause of the problem.

Notice, however, that MobileNetV3 (which I have used in this example) is roughly 18MB in size, and 18MB*900 epochs is basically the aforementioned 16 GB. This could possibly mean that the model's state is leaked somehow, but I have yet to test this hypothesis (for example by using a larger model and checking when the leak happens, i.e. if `num_epochs_until_crash*model_size==gpu_vram_capacity`).

Also, I have tested multiple scenarios locally, and this seems NOT to happen without the `os.environ['TF_GPU_ALLOCATOR'] = 'cuda_malloc_async'` set, however I have no relevant logs to prove it, since when the flag is absent, whole GPU memory is allocated, and I have no means of monitoring it relevantly, since it doesn't change. I have, however, performed 4 tests and none resulted in OOM error after 1500 epochs, while locally they would usually throw OOM after 400 epochs (RTX 3060Ti).

Standalone code to reproduce the issue
I have provided a minimal example on google colab, can be viewed here:
https://colab.research.google.com/drive/1-ANVp8KF9irKvqdR390QNlop-pPhGMrU?usp=sharing
I think the example is self-explanatory.

Relevant log output
No response

I could able to replicate the issue in google colab but colab stopped at epoch 858 due to longer training time taken.But still the Expected behaviour captured in logs.Please find attached gist here.

Hi @Szustarol ,
By default, TensorFlow maps nearly all of the GPU memory of all GPUs (subject to CUDA_VISIBLE_DEVICES) visible to the process.Hence i tried to create logical device to check actual memory used by the TF.
From the documentation of get_memory_info API  the dict specifies only the current and peak memory that TensorFlow is actually using, not the memory that TensorFlow has allocated on the GPU.
Hence i used tf.config.experimental.get_memory_info('GPU:0')['current'] to track current Memory being used by TF process where as the nvidia memory you derived for variable smi_ret might be the cumulative Memory being used to store the Model configs,checkpoints,logs etc which will keep growing with no of epochs.Please refer to attached gist for my case. In your case since you have not limited Memory growth and also used 'peak' memory to track hence TF allocates all the Memory on GPU and  smi_ret memory value also started increasing only after 856 epochs.I hope this make some sense even though it is not an elegant solution.
Please also refer to some comments from other developers for similar issues comment1, comment2 , comment3 which might be useful for understanding this case.

Hello @SuryanarayanaY,
I did measure the amount of "current" memory used but I am not sure if this is really the problem here, so I chose to monitor the peak value which should better indicate, that TensorFlow really thinks it ever allocated less memory than it actually did. What I find wrong is the fact that as the training proceeds, the cumulative memory allocated on the GPU grows by over 8 GB and finally causes an OOM error after about 800 epochs, which shouldn't happen, and does not happen when the cuda_malloc_async flag is not set (as far as my tests show).
I might be wrong but this, for me, is a memory leak when the platform in some circumstances (setting a flag) causes OOM.
What I am trying to say is:

either the memory is not cleared when it should be cleared automatically (like previous samples from dataset generator are not released),
or for some reason cuda_malloc_async allocates extra data on the GPU memory which causes the VRAM usage to grow as the training progresses.

To further illustrate the problem I provide yet another colab notebook:
https://colab.research.google.com/drive/1R1w3HVb3JIqNftF_FsnBT6OwvWsYwNmW?usp=sharing
The only difference between this notebook and the previous one, is that the cuda_malloc_async flag is NOT set. And now you can see, that the GPU memory taken never exceeds ~8.5 GB, even though training continues for 1500 epochs, while you have been able to confirm, that around 900 epochs is enough to crash the malloc_async version.

@sachinprasadhs could you please look into the issue?

Any updates on this issue?

If the issue doesn't happen when cuda_malloc_async is not set, that makes it seem like the error is related to cuda_malloc_async, rather than Dataset.from_generator. Someone familiar with GPU memory allocation needs to look into this.

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
From the documentation of get_memory_info API the dict specifies only the current and peak memory that TensorFlow is actually using, not the memory that TensorFlow has allocated on the GPU.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.


WIP: Add get_auto_splitter_settings for AutoSplitterSettings XML contents

This adds get_auto_splitter_settings to the Auto Splitting Runtime, to get the AutoSplitterSettings XML contents.
There may be better ways to accomplish this, and I may run into problems when trying to use it in an ASR-based autosplitter, so this is a draft until I know an autosplitter can make good use of it.

I unfortunately should've said this earlier, or worded it more strongly. I don't think we'll merge this because XML probably isn't going to be the way these settings are stored in the long term. XML was a great choice 10 years ago, but nowadays XML is just way too verbose. So I would eventually probably like to move our splits file to another format, maybe one that is more compact and parses even faster. This PR would tie us down to a specific format, which would go against that entire idea. I also don't see why you would need this. There's be a whole querying / modifying API for the settings. You shouldn't need to parse the entire settings "file". You can however store arbitrary strings in there, so you could encode a JSON or XML or whatever into a value. That's always possible.

There are existing splits files, in the existing XML format, and I want my autosplitter to support those existing splits files.
When a better settings store querying API is added in the future, how will it support splits files in the old format?

If the XML looks like this:
    <Ordered>True</Ordered>
    <AutosplitEndRuns>True</AutosplitEndRuns>
    <AutosplitStartRuns/>
    <Splits>
      <Split>KingsPass</Split>
      <Split>Grub1</Split>
      <Split>EnterBroodingMawlek</Split>
      <Split>MaskFragment1</Split>
      <Split>Grub2</Split>
      <Split>MaskFragment2</Split>
      <Split>GruzMother</Split>
      <Split>SlyRescued</Split>
      <Split>Grub3</Split>
      <Split>Grub4</Split>
      <Split>Grub5</Split>
      <Split>MaskFragment3</Split>
      <Split>Mask1</Split>
    </Splits>

And a translated JSON version, for the sake of example, could look like this:
{
  "Ordered": true,
  "AutosplitEndRuns": true,
  "AutosplitStartRuns": "",
  "Splits": [
    { "Split": "KingsPass" },
    { "Split": "Grub1" },
    { "Split": "EnterBroodingMawlek" },
    { "Split": "MaskFragment1" },
    { "Split": "Grub2" },
    { "Split": "MaskFragment2" },
    { "Split": "GruzMother" },
    { "Split": "SlyRescued" },
    { "Split": "Grub3" },
    { "Split": "Grub4" },
    { "Split": "Grub5" },
    { "Split": "MaskFragment3" },
    { "Split": "Mask1" },
  ],
}

A good querying API would be able to extract the same information from both formats, I guess. But there would have to be some translation defined between them.

Yeah that's roughly how it would work. I'll focus on this querying / modification API and settings reloading without restarting the auto splitter next. I think most of these problems will go away once this API exists.

With the similarities in the structure of the XML and JSON versions above, I can imagine these ways of querying:
Query as a boolean: For XML, querying True as a boolean is true, False is false. JSON booleans are just booleans.
Query as a string: For XML, querying X, as a string with no tags in it, gives you "X". JSON strings are just strings.
Query as a dictionary mapping keys to values: For XML, the keys are tags, like querying B in XY<C>Z</C> could give you a query-able object value for Y. For JSON, the keys are JSON object fields, like querying B in { "A": X, "B": Y, "C", Z } could give you a query-able object value for Y.
Query as a list: For XML, querying XY<C>Z</C> as a list gives you 3 elements, query-able objects corresponding to X, Y, and <C>Z</C> respectively. To get the X, Y, and Z values from this you'd have to query each element as a dictionary so .list_get(0).dict_get("A") produces a query-able object for X, and so on.
So with either of the XML or JSON versions above as a query-able object named obj, a query to get the string "EnterBroodingMawlek" from that structure could look like:
obj.dict_get("Splits").list_get(2).dict_get("Split").string_get()

Here's a trait with the query functions implemented on XML:
https://github.com/AlexKnauth/wasm-hollowknight-autosplit-prototype/blob/auto_splitter_settings/src/auto_splitter_settings.rs
pub trait Settings: Clone {
    fn as_str(&self) -> Option<&str>;
    fn as_bool(&self) -> Option<bool>;
    fn as_list(&self) -> Option<Vec<Self>>;
    fn as_dict(&self) -> Option<BTreeMap<String, Self>>;

    fn list_get(&self, index: usize) -> Option<Self> {
        self.as_list()?.get(index).cloned()
    }
    fn dict_get(&self, key: &str) -> Option<Self> {
        self.as_dict()?.get(key).cloned()
    }
}

If the XML can be abstracted away into a query-able object as flexible as this, that would be enough. But I don't yet know enough about the extern C and FFI stuff to implement this instead of a function that just gets a string that's already there.


Backstage Carbon Plugin: Add cache config on app-config.yaml

Hi team,
I am working with the latest carbon footprint version:
<EMAIL_ADDRESS><EMAIL_ADDRESS>@cloud-carbon-footprint/common": "^1.11.0

Backstage version:
Version:
OS: Darwin 22.4.0 - darwin/arm64
node: v16.19.0
yarn: 1.22.19
cli: 0.22.7 (installed)
backstage: 1.14.1

Configured backstage:
cloudCarbonFootprint:
      client:
        dateRangeType: years
        dateRangeValue: 1
        groupBy: week
      gcp:
        useBillingData: true
        billingProjectId: xxxxxxxxx
        billingProjectName: xxxxxxxxx
        bigQueryTable: billing.gcp_billing_export_v1_xxxxxxxxx

Is possible add the cache config on app-config.yaml? I want to use a GCS solution for cache storage:
For mongodb is possible, but for GCP is possible too?
https://github.com/cloud-carbon-footprint/ccf-backstage-plugin/tree/trunk/plugins/backend#caching
Kind regards.

Hi @jarenasla-edo, thanks for opening this issue! Are you able to provide a screenshot to help us understand what's going on?
To make sure I understand correctly, when loading the CCF page you see data for the breakdown charts and other components but not the usage graph? And recommendations indefinitely load?

Hi @4upz , thanks for your comments.
I tested the GCS option but the system don't create a local cache file or without GCS, in local the file is not exists.
My problem is that the plugin need 30s to load data, and every time need anothers 30s for this reason I need implement the cache.
cloudCarbonFootprint:
      client:
        dateRangeType: months
        dateRangeValue: 6
        groupBy: month
      gcp:
        useBillingData: true
        billingProjectId: xxxxxxx
        billingProjectName: xxxxxxx
        bigQueryTable: billing.gcp_billing_export_v1_xxxxxxx
        gcsCacheBucketName: xxxxxxx-cache
      optional:
        cacheMode: GCS

I watched on my events the next line:
2023-06-22T16:23:17.739Z [Cache] info: Ignoring cache...
Do you know because the system ignore the cache?
The option disableCache by default is false, is correct because I want enabled the cache.
https://github.com/cloud-carbon-footprint/ccf-backstage-plugin/blob/trunk/plugins/frontend/config.d.ts
Kind regards.

@jarenasla-edo I appreciate the context, the cache is definitely helpful for reducing the load times. The app should not be ignoring cache by default. As a sanity check, have you tried explicitly setting disableCache to false in you config?
Additionally, would you mind providing an example of the request url that the client is making? You should be able to see it in your networking tab using your browser's debug tools.
Another possibility is that you may have had cache configured to previously be disable and have not restarted your app since changing the config.

Hi @4upz ,
Yes I reviews my config and the disableCache is false, but the request ignore the cache:
cloud-carbon-footprint/footprint?start=2023-05-23&end=2023-06-23&ignoreCache=true&groupBy=month
I restarted the app on each config change. (I use argocd to deploy new version) There are another config part on I need configure the cache?
Finally I specify the cache on config:
cloudCarbonFootprint:
      client:
        dateRangeType: months
        dateRangeValue: 6
        groupBy: month
        disableCache: false
      gcp:
        useBillingData: true
        billingProjectId: xxxxxxx
        billingProjectName: xxxxxxx
        bigQueryTable: billing.gcp_billing_export_v1_xxxxxxx
        gcsCacheBucketName: xxxxxxx-cache
      optional:
        cacheMode: GCS

But the cache is not activate.
Can you tell me why this happens?

Hi @4upz ,
On the other hand I have detected that the on the 3 call to footprint plugin fail, the plugin return an error 503 (undefined:1)
The plugin is working with backstage version 1.11: https://github.com/cloud-carbon-footprint/ccf-backstage-plugin/blob/trunk/backstage.json
Perhaps are there are any conflict with my version 1.14.1 (not the latest)?
Maybe is possible to schedule a meeting in order to improve and review the plugin together?
Thank you.

@jarenasla-edo it seems that the initial request is including the cache but it is making a second request where it ignores it.
I don't think the latest version of Backstage would cause this type of behavior. However, we can investigate on our side to see confirm whether this is the case. Happy to also meet if you want to email me your availability for next week as well as your timezone.

Hi @4upz
Thank you for your help! I will send you an email to schedule a meeting.
Kind regards :)

Just made some updates to the plugin. Looks like the main issue was that it was no longer compatible with the major changes we recently did with the CCF client package. In order to put these changes into effect, we still need to do a CCF release, followed by updating the package dependencies in the plugin and doing a plugin release.
Additional Notes:

We still have additional plugin config to add (ie start/end dates in the client, azure config, etc..).
There are a few console warnings we should look into.
We are not currently passing through API error into the useFootprint hook like we do in CCF client. we may want to consider adding this.
When testing locally, the recommendations table UI seemed messed up. If it still looks weird after these changes, we may need to make sure all the proper MUI styles are imported properly.

Hi @camcash17
Thank you for your feedback.
I'm going to update the plugin and I will pending to new versions in order to fix the problems commented.
Kind regards.

Hi @camcash17 ,
I updated to latest version, but the plugin is failing....
`Error
TypeError
Message
Cannot read properties of null (reading 'useState')
Stack Trace
TypeError: Cannot read properties of null (reading 'useState')
at useState (webpack-internal:///../../node_modules/@cloud-carbon-footprint/client/node_modules/react/cjs/react.development.js:1623:21)
at useRemoteFootprintService (webpack-internal:///../../node_modules/@cloud-carbon-footprint/client/dist/utils/hooks/FootprintServiceHook.js:12:50)
at useFootprintData (webpack-internal:///../../node_modules/@cloud-carbon-footprint/client/dist/utils/hooks/FootprintDataHook.js:10:73)
at PluginTabs (webpack-internal:///../../node_modules/@cloud-carbon-footprint/backstage-plugin-frontend/dist/esm/Plugin-0c8d69e6.esm.js:115:101)
at renderWithHooks (webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:14985:18)
at mountIndeterminateComponent (webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:17811:13)
at beginWork (webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:19049:16)
at HTMLUnknownElement.callCallback (webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:3945:14)
at Object.invokeGuardedCallbackDev (webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:3994:16)
at invokeGuardedCallback (webpack-internal:///../../node_modules/react-dom/cjs/react-dom.development.js:4056:31)`

Hi @jarenasla-edo this fix is still ongoing. @camcash17 comments were meant to only be progress updates.
Apologies for the confusion! We will let you know when it's released and ready to test.

Great! Thank you :)

In the v4 release of @cloud-carbon-footprint/client package, we introduced React 18. We did not update the CCF Client package in the Backstage Plugin until this recent commit, which is when we began to see compatibility issues.
We have since updated some logic in the plug-in, but have determined that in order to avoid the useState error error when hitting the CCF route, you will need to add the following to the resolutions object in the root package.json of your Backstage instance:
  "resolutions": {
    "@types/react": "^17",
    "@types/react-dom": "^17",
 + "react": "^17",
    }

After a fresh yarn install, the plug-in should work properly. We will plan to create additional issues for the outstanding tasks mentioned in my last comment

@ccasher I think this is a good workaround until official support for React 18 is added to Backstage. I think it's a low-lift solution for those setting up a new CCF plugin.
@jarenasla-edo Could you verify that his recommendation works for you?

Hello! I had a similar issue and tried this
"resolutions": {
   "@types/react": "^17",
   "@types/react-dom": "^17",
   "react": "^17"
 },

unfortunately I'm still getting the same problem:
Cannot read properties of null (reading 'useState')
Call Stack
 useState
  node_modules/@cloud-carbon-footprint/client/node_modules/react/cjs/react.development.js:1623:21
 useRemoteFootprintService
  node_modules/@cloud-carbon-footprint/client/dist/utils/hooks/FootprintServiceHook.js:12:50
 useFootprintData
  node_modules/@cloud-carbon-footprint/client/dist/utils/hooks/FootprintDataHook.js:10:73
 PluginTabs
  node_modules/@cloud-carbon-footprint/backstage-plugin-frontend/dist/esm/Plugin-0c8d69e6.esm.js:115:101
 renderWithHooks
  node_modules/react-dom/cjs/react-dom.development.js:14985:18
 mountIndeterminateComponent
  node_modules/react-dom/cjs/react-dom.development.js:17811:13
 beginWork
  node_modules/react-dom/cjs/react-dom.development.js:19049:16
 HTMLUnknownElement.callCallback
  node_modules/react-dom/cjs/react-dom.development.js:3945:14
 Object.invokeGuardedCallbackDev
  node_modules/react-dom/cjs/react-dom.development.js:3994:16
 invokeGuardedCallback
  node_modules/react-dom/cjs/react-dom.development.js:4056:31

Any other suggestions are welcome! Thanks...
Corey

Hi @coreyetsy, could you please confirm you added the resolutions to the root package.json of your backstage application?
Also, could you run the following as a sanity check:
rm yarn.lock
rm -rf node_modules
yarn install

Closing this as the conversation has gone stale.

Same error occured when developing custom plugin with latest (v1.30) Backstage version (that already fully migrated to React 18). Thanks to your suggestions I solved this problem by replacing React version defintion in plugin package.json from ^16.13.1 || ^17.0.0 ||  to ^18.0.0. Later as suggested here I had to remove node_modules, yarn.lock and install dependecies again.


[Bug]: Discord app does not show the search box when used within ferdi

Preflight Checklist

[X] I have read the Contributing Guidelines for this project.
[X] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Ferdium Version
6.0.0-nightly.39
Recipe Name
discord
Recipe Version
Latest (1.7.2)
Last Known working version of the recipe
No response
Steps to reproduce

Open ferdium discord channel within ferdi.

Expected Behavior
The search box should be visible
Actual Behavior
The search box is not visible
Screenshots
When Opened in Ferdi

When Opened in firefox

Additional Information
No response

Work around
When i changed useragent in the ferdi settings to "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0" was able to see the search box (screenshot below)

The catch with the workaround i see is that it is for some reason asking me to login every time i reopen ferdium/reload the service.

@kishaningithub I am using the latest version of Ferdium (beta 1) and recipe version 1.7.3 of Discord.
I can't reproduce the issue.
Is it still present for you after updated Ferdium and the Discord service?

@JowJoris It is the same..  (screenshot below)

Hi @kishaningithub. Thanks for finding a workaround for this!
The issue seems to stem from the following line:
https://github.com/ferdium/ferdium-recipes/blob/main/recipes/discord/index.js#L6
Ferdium tries to act as the official Discord client here. But it may indeed be better to act as a Chromium browser (Firefox isn't needed and could lead to confusions).
You can overwrite the User Agent by returning a different string. This would fix it for all users!

@kishaningithub - maybe you can comment out https://github.com/ferdium/ferdium-recipes/blob/main/recipes/discord/index.js#L2-L7 and check with also reverting the user-agent back ? If that works, please raise a PR for the fix?

Is there any update on this case? Is there something we need to change in the code base? Can we close this issue?

The issue still persists for me, tried changing the user agent but for some reason the discord app constantly requires a re login during service reload or ferdium restart. This is something I am debugging. Sorry for the delays.

For some weird reason while using the chrome's user agent explicitly the problem disappears and continuous re login does not happen.. Tested this multiple times today in my Mac with M1 Chip since it worked flawlessly have raised a PR (linked to this issue)


Mutate the values of a Tensor in-place?

In Pytorch, I am able to set the elements of a tensor without creating a new tensor.
import torch

tens = torch.Tensor([1, 2, 3, 4, 5])
tens[0] = 5

Is there a way of doing something similar in tch (safely or not)?

I have this ugly code:
    let mut mask = Tensor::ones(&[3,3], (tch::Kind::Float, device));
    mask.index_put_(
        &[Some(Tensor::of_slice(&[1])), Some(Tensor::of_slice(&[2]))],
        &Tensor::zeros(&[1], (tch::Kind::Float, device)),
        false,
    );

Which works as expected:
Mask:
 1  1  1
 1  1  0
 1  1  1

I hope there is a shorter way to do that.

Actually you can do
use tch::IndexOp;
mask.i((0,1)).fill_(-1.);

some additional detail on indexing
https://docs.rs/tch/latest/tch/index/index.html


Deprecated django.utils.timezone.utc

https://github.com/django/django/commit/59ab3fd0e9e606d7f0f7ca26609c06ee679ece97
Djano will deprecate django.utils.timezone soon. This is currently being utilized in models/fields.py
Potential fix as follows:
../models/fields.py
import datetime

...
class DateTime(HerokuConnectFieldMixin, models.DateTimeField):
    """
    Salesforce ``DateTime`` field.

    Heroku connect create tables with time stamp fields but without time zones, and when it syncs
    to Salesforce it treats them as UTC. This field will be always making sure that the dates are
    aware and UTC.
    """

    def db_type(self, connection):
        return "timestamp without time zone"

    def from_db_value(self, value, *args, **kwargs):
        if value is None:
            return value
        else:
            return value.astimezone(datetime.timezone.utc)

Current warning in Django==4.1.7 django-heroku-connect==0.25.0

just saw, this is a RemovedInDjango50Warning, so there is more time :)
( still happy to take a PR if needed).
I ran some tests with Django 4.2 RC, and all was fine.
https://github.com/thermondo/django-heroku-connect/pull/122

Thanks for the quick feedback and turnaround on this.


[BUG] The .order() method of aggregation does not work with composite aggregations

What is the bug?
The .order() method of aggregation expects input parameters of Map<> or List type  only which throws error while doing the composite aggregation.
How can one reproduce the bug?
 Aggregation aggregation = new Aggregation.Builder().terms(aggField -> aggField.field("my_name.keyword").order(Map.of("_key", SortOrder.Desc))).build();
This will throw an error when used with composite aggregation. Error:
[x_content_parse_exception] [1:125] [composite] failed to parse field [sources]
with this root cause
[1:137] [terms] order doesn't support values of type: START_ARRAY
What is the expected behavior?
I think the .order() method should just accept string values too
What is your host/environment?
Using opensearch-java library in my spring boot application
Do you have any additional context?
Pls refer this stackoverflow link for detailed question:
Link

The issue might stem from the fact that the CompositeAggregationSource class expects a TermsAggregation when terms is specified in a composite source, i.e. the same TermsAggregation structure that is used when specifying standalone terms aggregations and which has a different way of supplying the sort order.
On the server-side, the TermsValuesSourceBuilder class expects a simple SortOrder value

Hey @consulthys, thanks for replying. It would be helpful if you have any solution on how to handle this case?

@SavvasUmangKamdar It's a bug in the OS Java client that needs to be fixed. TermsAggregation needs to be specialized to be used in a CompositeAggregationSource

@SavvasUmangKamdar want to give it a try? Maybe start by writing a (failing) test for it?

@dblock sorry but am completely new to opensearch, so not much aware of this!

@dblock sorry but am completely new to opensearch, so not much aware of this!

Totally. Give it a shot though, start with https://github.com/opensearch-project/opensearch-java/blob/main/DEVELOPER_GUIDE.md.


Conflicting stylization of tpy

Is it be "Tpy" or "tpy"? I've seen both in documentation. A convention should probably be established and stuck with.

Earlier on I wanted to stick with a lowercase stylization and only used Tpy for referencing the class. I didn't notice how conflicting this would be with regular use, like begining a sentence with 'tpy'.
It is stylized as Tpy going forward.

Are you planning to rename the repository?

No, but the title in the readme will be. I have little time right now since I'm about to start testing within the next ~10 minutes.

Resolved by #10


Check if there are overlapped bit ranges

Close 38
Replace this paragraph with a description of your changes and rationale. Provide links to an existing issue or external references/discussions, if appropriate.
Checklist

[x] I've added at least one test that validates that my change is working, if appropriate
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary

Thanks for the PR and feature implementation! As a heads up, I will not be able to review it until early November due to other priorities, but rest assured I have seen this and appreciate the contribution!


Support a new schedule way for distributed LookupJoin

Is your feature request related to a problem? Please describe.
https://github.com/risingwavelabs/rfcs/pull/6

Describe the solution you'd like
Currently, we implement our distributed lookup join by scheduling them along with outer side table scan. In this feature request I propose to schedule distributed lookup join along with inner side table scan which can make it possible for each LookupJoin executor locally lookup their inner side data.

We need to support a new kind of exchange type.
We need to ensure distributed lookup join can do the lookup in the same CN.
We need to support high efficient multi point lookup.

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

We're supposed to put rfcs to new repo, I would suggest to move the rfc from notion to https://github.com/risingwavelabs/rfcs

Close by https://github.com/risingwavelabs/risingwave/pull/6098.


Hyperlinks gone. Cannot navigate to files from Search editor results

Issue Type: Bug
Open a folder in vscode insiders.
Open a global search editor(find some text)
Note that the results are not clickable (even after pressing ctrl/alt buttons). in vscode I can click on those hyperlinks to go to the related file. This has regressed in code insiders.
I have the following settings related to searchEditor.
"search.searchEditor.doubleClickBehaviour": "selectWord",
"search.searchEditor.reusePriorSearchConfiguration": true,
"search.searchEditor.defaultNumberOfContextLines": null,
VS Code version: Code - Insiders 1.63.0-insider (035eaab2cb31798c6ae90a35928c62117cb52fcd, 2021-11-15T05:14:30.466Z)
OS version: Darwin x64 21.1.0
Restricted Mode: No
Remote OS version: Linux x64 5.4.147-83.259.amzn2int.x86_64

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 2600)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
4, 4, 3

Memory (System)
16.00GB (0.09GB free)

Process Argv

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: myDevDesktop_AL2

OS
Linux x64 5.4.147-83.259.amzn2int.x86_64

CPUs
Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz (16 x 3409)

Memory (System)
30.36GB (23.62GB free)

VM
0%

This should be fixed in today's insiders, there was an issue with a migration to a new form of proposed API I was not aware of.


Handle date and timestamp objects more gracefully

By default whenever firestore saves a date object it converts to a timestamp to support nanoseconds for use in queries (recent behaviour change). Either want to update interfaces to acknowledge this is the data format, find a way to disable this behaviour, or add a conversion for required fields on data return.

@vatsan28 wanted to take this on.. @chrismclarke are you already working on it?

I think this warrants discussion, so if @vatsan28 wants to take a look and make a proposal we can determine how best to implement.

Talking about a possible approach with Chris on slack.

(my comment from discussion)
Whenever data is sent to firebase in date format it is stored in date format, but when retrieved date objects are replaced by firebase's own custom timestamp object. So we need to decide whether happy to use that (and if so find a way to ensure all typescript interfaces use the correct format and people are aware in the future), or find a way to force firebase to pass data back as date format (or an efficient way to convert timestamps to date)
to be honest it's a bit of a pain issue and I'm waiting to see if anyone in the firebase community comes up with a solution, rather than trying to hack something together. it's why I intentionally didn't add a help wanted label to the issue, you are still welcome to dive deeper into community forums to see if other people are having this problem and what they have done, but equally I think there might also be better uses of your time.

I looked at the code to identify where we use date time attributes other than the defaults _created and _modified.

Events list component makes use of the event date.
In the discussions page, the PostList component has a row that indicates the number of days since the post was created. This is a default _created attribute.

This is the current state. Can you guys confirm if i missed any other attribute in any other model? I don't think i have access to the firebase console to check.
For a future state, i tried replicating this on my small learning project. I used a simple epoch to readable date conversion. So we could add a similar method to the utils/helpers.ts. When i think about adding a conversion at the time we fetch the records, we could add an instance method to the ModuleStore class. This can be used going forward for fields/attributes that come back with an epoch time other than the defaults - _created and _modified.
Thoughts? @chrismclarke

I think for this type of thing it might be better to put in a hacks folder just to make it clear that this is simply a response to otherwise undesired behaviour patterns (which still hoping a more elegant solution can be found for in the future, e.g. moving database provider).  I would suggest anything we include would make sense on the Database class as this specifically links to firebase

Any updates on this ?

I recently added two methods to handle dates in thesrc/utils/helpers file https://github.com/OneArmyWorld/onearmy/blob/d72ee3a0810617063b3c661726f71ed0284394c1/src/utils/helpers.ts#L29
Does that help in any ways ? Feel like this issue is blocked, maybe need to be break down into smaller  ?

I think for now we just keep using these methods and make clear in typings what data formats are in use are sufficient. I expect this to be a non-issue in future versioning where we provide alternate database options. Firestore look set to not budge on the issue (they will keep converting any dates sent to timestamps and return the data in timestamps), so closing

I think it's time to re-open this as we're now starting to deal with other databases (not just) firestore which could easily add confusion.
I suggest we plan to change all dates to ISOString format, so that it saves as a string and avoids confusing conversion.
ISOStrings represent date as YYYY-MM-DDTHH:mm:ss.sssZ , and so not only are standardised across timezones and provide ms precision to help avoid duplicate data, but should also support querying (e.g. get data where _modified > 2019-08-03T10:24:05.585Z)
This should be fairly straightforward to do, using find/replace to change Timestamp to string format (or possibly better to create a type type ISOString = string, which still just declares the data as expected to be a string, but also as a reminder devs that it is an ISOString. Then any use of previous timestamp variables should be checked (although hopefully will get automatically flagged by typings)

OK, this is a pain point on something else I'm working on so plan to create a PR to migrate all the backend functionality and existing data


website: Move pull request section of development doc

It makes more sense directly after the testing section.

LGTM


Typescript upgrade

Hey, just a question.
Do you think you would be interested in upgrading this to Typescript?
I'm kind of a stickler for TS and would love to see this example at least follow the TS pattern where it can.
Cheers,
Jason - BrewSoftware

Thanks for asking.
This is a starter package for where I work. TS isn't used here as we want to avoid a build step for the server code.
You can always fork it if you have to, but then be aware:
feathers-hooks-common went from this repo to feathers core. feathers-services-verify-reset is moving into core as feathers-authentication-management having been refactored and getting new features. feathers-reduxify-services might one day move into core, though its arguable whether its within feathers stated purpose.
Interested people might push TS defns for these as they have for other parts of feathers.

No problem, thanks for the context. I think we can leave it out.
Yer I've just jumped on feathers as an experiment so not that familiar with the ecosystem yet. Redux stuff doesn't belong in the core but the rest does.
Thanks for the example. If it think of anything else I will let you know.
Cheers,
Jason


Capability Statement Caching Disable

There seems to be no way to disable the capability statement caching other than force the caller to pass Cache-Control: no-cache header.
In our configuration, we produce different capability statements through the interceptor, but our interceptor isn't being called due to HAPI caching.
I may have missed something in the code, but I don't see a way to disable the cache.

Just wanted to check, have you tried setting the global cache timeout to null? Note that this disables all caching on the server. I'm not sure if CapabilityStatement is treated in the same way in regards to caching, but worth checking.


Cannot run RSpec specs with Ruby 2.2

vagrant@vagrant-ubuntu-trusty-32:/vagrant$ bundle exec rspec spec
/home/vagrant/.rvm/gems/ruby-2.2.2/gems/activesupport-3.2.21/lib/active_support/values/time_zone.rb:270: warning: circular argument reference - now
/home/vagrant/.rvm/gems/ruby-2.2.2/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- minitest (LoadError)
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `block in require'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
	from /vagrant/spec/dummy/spec/spec_helper.rb:4:in `<top (required)>'
	from /vagrant/spec/spec_helper.rb:7:in `require'
	from /vagrant/spec/spec_helper.rb:7:in `block in <top (required)>'
	from /vagrant/spec/spec_helper.rb:7:in `each'
	from /vagrant/spec/spec_helper.rb:7:in `<top (required)>'
	from /vagrant/spec/filter_spec.rb:1:in `require'
	from /vagrant/spec/filter_spec.rb:1:in `<top (required)>'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1226:in `load'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1226:in `block in load_spec_files'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1224:in `each'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1224:in `load_spec_files'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:97:in `setup'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:85:in `run'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:70:in `run'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:38:in `invoke'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/gems/rspec-core-3.2.3/exe/rspec:4:in `<top (required)>'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/bin/rspec:23:in `load'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/bin/rspec:23:in `<main>'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
	from /home/vagrant/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'

Guessing that Rails 3.1 (used by dummy app) does not support Ruby 2.2.


Can't load Timezones

Hi,
I'm attempting to load a list of zone names using moment.tz.names() and keep receiving an undefined error when calling the aforementioned method. Using devtools, it appears moment is defined, but tz is not. I've added the following to my environment.js file:
moment: {
    includeTimezone: 'all'
}

I'm calling moment.tz.names() through a service:
import Ember from 'ember';
import moment from 'moment';

export default Ember.Service.extend({
  us: Ember.computed(() => {
    return moment.tz.names();
  })
});

I'm using<EMAIL_ADDRESS>and 'ember-cli-moment-shim<EMAIL_ADDRESS>Thanks for the help!
James

Also, I did run ember g ember-cli-moment-shim with no success.

Any chance this project is open source or can you reproduce it with an example app?
I've tried but it's working as intended for me.

Unfortunately, it's not open source and I just created a fresh app using the same setup with a service and it worked.

I inspected my vendor.js file and I can't find any reference to moment-timezone so something is definitely preventing it from loading.

Hmm, yeah I'm not sure if neither of us can reproduce it on a fresh app tells me it's something specific to your app.  I can only tell you were to inspect if I can't see it myself.
I assume you blew away node_modules and bower_components?  And you did install ember-moment via 'ember install ember-moment'?

Closing for not being able to reproduce and inactive.

@jasonmit sorry for never getting back to you on this. I was investigating using moment-timezone in our application, but hadn't quite gotten to a point where i needed it quite yet.
That said, I'm at the point where I'm ready to start implementing timezone support. I went ahead and blew away everything in node_modules/ and bower_components, removed the dependencies in bower.json and package.json, then ran ember install ember-moment. Unfortunately, I'm still running into the same issue. The only thing that's changed since then is that I've upgraded to ember 2.x.
If I was to give you access to our repo, would you be willing to take a quick look?
Just as a quick test, I was doing the following in our login route that is the first thing seen when booting up the application:
import Ember from 'ember';
import UnauthenticatedRouteMixin from 'ember-simple-auth/mixins/unauthenticated-route-mixin';
import moment from 'moment';

export default Ember.Route.extend(UnauthenticatedRouteMixin, {
  beforeModel() {
    let d = moment('2012-04-01 00:00:00-00');
    console.log(d.tz('America/Los_Angeles').format('ha z'));
  }
});

Unfortunately, I still receive a similar error:

Let me know if you'd be willing to take a peek as I'm currently stuck. Hopefully, it's just something stupid on my part :)
Thanks in advance,
James

@jasonmit sorry to keep pestering you on this one, but I tracked down the issue to a conflict with ember-cli-full-calendar, which is a wrapper for Fullcalendar, which also uses Moment. Removing the addon allows Moment Timezone to function properly. Wasn't sure if you could peek at that plugin and see if you saw anything right off the bat that would cause a problem. I'm going to contact the author as well. Thanks!

https://github.com/icicletech/ember-cli-full-calendar/blob/master/index.js#L10
it's the same problem with https://github.com/stefanpenner/ember-moment/issues/110

Thanks @jasonmit! That worked perfectly!

:+1:


Cannot close find all references window

Issue Type: Bug
When I use "find all references" the panel appear. When the right list of finded references (in my example TS files) is big enough to be scrollable i select some random, other that current opened file, modify any line and save (CRTL + S). After that i cannot close find all references panel, the X button doesn't work.
VS Code version: Code 1.21.0 (9a199d77c82fcb82f39c68bb33c614af01c111ba, 2018-03-07T11:04:09.886Z)
OS version: Windows_NT ia32 10.0.16299

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz (8 x 2395)

Memory (System)
7.89GB (1.53GB free)

Process Argv
C:\Program Files (x86)\Microsoft VS Code\Code.exe E:\Repositories\XXX\src\MobileApp

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

code-runner
for
0.9.2

csharpextensions
jch
1.3.0

csharpfixformat
Leo
0.0.64

csharp
ms-
1.14.0

material-icon-theme
PKi
3.2.5

(1 theme extensions excluded)

Reproduces without extensions

@treformat I cannot reproduce that. Can you share a video? Can you check the output of the developer console when this happens (Help > Toggle Developer Tools > Console)?

@bpasero  Here you are stack trace
index.js:42 TypeError: Cannot read property 'dispose' of null
    at e.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1986:754)
    at Object.i [as dispose] (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:65:330)
    at e.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1988:330)
    at t.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1284:601)
    at t.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1770:323)
    at i (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:65:330)
    at Object.i [as dispose] (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:65:311)
    at c.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2085:54)
    at e.t._fillHead.e._actionbarWidget.push.label [as _actionCallback] (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1992:557)
    at e.run (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:180:624)
onError @ index.js:42
(anonymous) @ index.js:111
emitOne @ events.js:96
emit @ events.js:191
window.onerror @ C:\Program Files (x86)\Microsoft VS Code\resources\electron.asar\renderer\init.js:135
i.globals.onerror @ errorTelemetry.ts:64
parameterHintsWidget.ts:501 Uncaught TypeError: Cannot read property 'dispose' of null
    at e.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1986:754)
    at Object.i [as dispose] (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:65:330)
    at e.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1988:330)
    at t.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1284:601)
    at t.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1770:323)
    at i (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:65:330)
    at Object.i [as dispose] (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:65:311)
    at c.dispose (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2085:54)
    at e.t._fillHead.e._actionbarWidget.push.label [as _actionCallback] (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1992:557)
    at e.run (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:180:624)

Ok i know where the problem is. When the "find all references window" shown you need to double click on some other file, then i backround (main window) vs opens new tab and the panel lose context and you cannot close it.

@treformat are you doing anything different from what I do? Check:

Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: https://code.visualstudio.com/insiders/

@bpasero
When You open the Game.ts you need to write something and save it (CTRL + S)
VIDEO

@treformat thanks I can reproduce.
@joaomoreno over to you, this is https://github.com/Microsoft/vscode/issues/45182, not sure if you think it should go to stable.


Add tracks and its neseted objects to hash.

Closes #3
This PR adds tracks and its nested objects such as  bars, beats and notes to the hash method so that they can be exported to JSON or any other compatible format.

@ImmaculatePine I have also taken the liberty to change the JSON Object dumper's configuration such that the final JSON export is compatible with other JSON Parsers which I think may not be in ruby all the time.

@ImmaculatePine Ping!


Trending, Convert any image into ascii characters using pillow library in python

Topic Suggestion
Trending, Convert any image into ASCII characters using pillow library in python.
Writing sample(s):

https://www.section.io/engineering-education/the-complete-roadmap-to-blockchain-development/
https://www.section.io/engineering-education/an-introduction-to-machine-learning-using-c++/

Proposal Submission
Proposed title of article
[Languages]Trending, Convert any image into ASCII characters using pillow library in python.
Proposed article introduction
ASCII art is a form of art that uses the computer to present images using 95  printable characters out of the 128 characters of the ASCII standard from 1963 and ASCII compliant character set with proprietary extended characters which add to the 128 characters of the standard 7 bit ASCII. In layman's terms, it can be said to be art presented in form of text. The good thing about ASCII art is that it can be done using any text editor.
ASCII art was initially used to present images since the computers of the early days lacked the graphics ability to do so. It was also used in emails to express oneself since images could not be embedded in emails back then. However, as the world becomes nostalgic, evidenced by the remake of formerly loved films and the retro dressings in fashion, a trend has emerged of people wanting their images displayed in ASCII art.
In this tutorial, you will thus learn the code needed to convert any image into ASCII characters using the pillow library in python.
Key takeaways

The reader will learn the use of libraries in python in solving problems
Tinkering with image properties to achieve any desired effect.
Appreciate the importance of machine learning in making work easier
The history and development of the ASCII standards

Article quality
My article is unique in the sense that it follows a step-by-step procedure explaining in simple language what is happening in each block of code. It follows an anecdotal approach of how I broke down the problem question and tried solving the problem in different ways until I found a solution.
References

https://en.wikipedia.org/wiki/ASCII_art

Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

@KanizoRGB
Good afternoon and thank you for submitting your topic to the EngEd program.
After some careful consideration it struck us that this topic may be a bit over saturated throughout other blog sites and official documentations.


How to avoid complex insert queries

I can't figure out how to do simple inserts without having the result merged and returned back.
using (var db = new MyDb())
{
    db.Something.Add(foo);
    db.Something.Add(bar);
    db.SaveChanges();
}

When db is disposed after SaveChanges I see no reason to

INSERT into @toInsert1
MERGE into Something
OUTPUT into @inserted1
SELECT @inserted1 back to client

Am I missing something?

@moander The SQL is written this way to support store generated values in batch inserts. You should be seeing simpler SQL generated for cases where there are no store-generated values and for cases where there is only a single entity being updated. If this is not the case, then please feel free to reactivate the bug with a repro.

Thanks @ajcvickers. I was able to simplify the generated query but it required a schema change. It would be nice to have some way of forcing the simple insert behavior :)
After removing the identity column I see:
exec sp_executesql N'SET NOCOUNT ON;
INSERT INTO [People2] ([Id], [Name])
VALUES (@p0, @p1),
(@p2, @p3);
',N'@p0 int,@p1 nvarchar(4000),@p2 int,@p3 nvarchar(4000)',@p0=1,@p1=N'Foo',@p2=2,@p3=N'Bar'

instead of:
exec sp_executesql N'SET NOCOUNT ON;
DECLARE @toInsert1 TABLE ([Name] nvarchar(max), [_Position] [int]);
INSERT INTO @toInsert1
VALUES (@p0, 0),
(@p1, 1);

DECLARE @inserted1 TABLE ([Id] int, [Name] nvarchar(max), [_Position] [int]);
MERGE [People] USING @toInsert1 AS i ON 1=0
WHEN NOT MATCHED THEN
INSERT ([Name])
VALUES (i.[Name])
OUTPUT INSERTED.[Id], INSERTED.[Name], i._Position
INTO @inserted1;

SELECT [Id] FROM @inserted1
ORDER BY _Position;
',N'@p0 nvarchar(4000),@p1 nvarchar(4000)',@p0=N'Foo',@p1=N'Bar'


Error: "The system cannot find the path specified" on Windows

By default Djinni is using header default std::optional, which is not yet available until C++17.
I notice that I can use boost::optional by setting these:
--cpp-optional-template "boost::optional" \
--cpp-optional-header "<boost/optional.hpp>" \

It works fine on Mac, but have an error on Windows:

The system cannot find the path specified

Anybody comes across the same problem?

Yes, I'm having the same provblem. Seems to work fine when I remove the optional headers.
Any ideas how to solve this?

I don't have any direct experience with boost, or with using Djinni on Windows, so I may not be able to be very helpful.  I know others have built on Windows who may chime in.  Or you could ask in the mobilecpp Slack community mentioned in the README.md file.
Many libraries did include optional before C++17 as std::experimental::optional, included as <experimental/optional.  It's also possible to use an independent implementation, which is what we do at Dropbox to avoid dependence on compiler differences.  We use the implementation from here: https://github.com/akrzemi1/Optional

After some trying I fixed it by removing the "<" and ">" and using regular quotes instead. I don't know why that works, but it does. So the code would instead look like:
--cpp-optional-template "boost::optional" \
--cpp-optional-header '"boost/optional.hpp"' \

 is for system headers, on linux, GCC would look for directories like "/usr/local/include" for them.
"xxx" is for user headers, for GCC, it would look for the paths specified via "-I" param.
I think you probably specified boost header in the user header search path, that's why you needed to use "".
If you're using Visual Studio, I think there should be 2 settings, one for user header search path, another for system header search path.

Glad you figured it out.  I think that the distinction between angle-bracket includes and quoted-includes is implementation-dependend, so different compilers will handle it differently.  The best-practice I learned to follow was to reserve angle-brackets only for language+OS includes and use quotes for everything else.


Shrinking dialog

On small screens, when the keyboard is shown, the EditText shrinks so it becomes invisible.

windowTranslucentStatus was the cause. Solution is to fix the theme for dialog:
<style name="DialogTheme" parent="ThemeOverlay.MaterialComponents.Dialog.Alert">
	<item name="android:windowTranslucentStatus" tools:targetApi="kitkat">false</item>
</style>