there seems to be no low VRAM option for those of us with a 4GB card (im rocking the rx 6400)

it would be nice if we had a configuration file somewhere, allowing us to fine-tune the model to our specific hardware.

you can try  --use_base_vae to reduce mem usage for gpu. We're planning to add support for attention slicing soon, which should also decrease memory usage.

yeah you need attention slicing


[Docs] Fix FAQ & Tips subsection links

What it says on the tin.

Already fixed in develop branch.


make lint fails

Describe the bug
If make pr is executed we can see that make lint-codespell fails:
$ make pr
...
...
...
codespell
./crates/stages/stages/src/stages/headers.rs:355: checkpoin ==> checkpoint
./crates/storage/provider/src/providers/static_file/writer.rs:596: comitted ==> committed
./crates/blockchain-tree/src/blockchain_tree.rs:1193: childs ==> children, child's
./crates/blockchain-tree/src/metrics.rs:91: childs ==> children, child's
./crates/blockchain-tree/src/metrics.rs:119: childs ==> children, child's
./crates/node/builder/src/components/builder.rs:284: crated ==> created
./crates/rpc/rpc-types-compat/src/engine/payload.rs:46: extremelly ==> extremely
./examples/exex/rollup/rollup_abi.json:1: doens't ==> doesn't
./examples/exex/rollup/rollup_abi.json:1: transctions ==> transactions
./examples/exex/rollup/rollup_abi.json:1: doens't ==> doesn't
./examples/exex/rollup/rollup_abi.json:1: transctions ==> transactions
./examples/exex/rollup/rollup_abi.json:1: doens't ==> doesn't
make[2]: *** [lint-codespell] Error 65
make[1]: *** [lint] Error 2
make: *** [pr] Error 2

I suppose CI should have caught these.
Steps to reproduce

Checkout main
Run make pr, make lint or make lint-codespell

Node logs
No response
Platform(s)
Mac (Apple Silicon)
What version/commit are you on?
Commit 4c6e5be
What database version are you on?
not relevant
Which chain / network are you on?
not relevant
What type of node are you running?
Archive (default)
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
No response
Code of Conduct

[X] I agree to follow the Code of Conduct

I would like to take this one.
I will fix these typos and then make CI catch these typos. It seems that typo in the JSON file should be ignored. Do you have any suggestions? @mattsse

sg

It seems that typo in the JSON file should be ignored

I believe so


Does not work on Microsoft Edge

I have a Windows Mobile phone with Microsoft Edge, and the spinner for my profile just cycles endlessly. I also tested with desktop Edge, and it does the same thing.

Managed to reproduce it and got the following error in the Edge Console:
SCRIPT1028: Expected identifier, string or number
Turns out, that issue is bigger than initially thought. MS Edge doesn't support property rest yet...
https://stackoverflow.com/questions/53628191/edge-script1028-expected-identifier-string-or-number
Two ways to resolve this issue:

Rewrite every function that uses property rest. This is going to be a whole lot...
Compile the whole project into ES5 using babel

I think it's not worth the effort and it would be best to just wait until Edge supports property resting.

Well, I mean, now that Microsoft has abandoned Edge and committed to just reskinning Chrome... yeah, not much point worrying about Edge compat.

Closing then, thanks!


Format workspaces description and correct unclear words

Changes
Format Workspaces markdown and correct unclear words.
/kind documentation
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[ ] Commit messages follow commit message best practices
[ ] Release notes block has been filled in or deleted (only if no user facing changes)

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
NONE

/ok-to-test

/lgtm

/test pull-tekton-pipeline-unit-tests
/test pull-tekton-pipeline-build-tests

/test pull-tekton-pipeline-unit-tests

/test all


Popup

Made changes to the index.js file
Made changes to the style.css file
Made changes to the index.html file

Added popup modal dynamically


Update LICENSE

Summary

Changes

Closes:
Task list

[ ] For workflow changes, I have verified the Actions workflows function as expected.
[ ] For content changes, I have reviewed the style guide.

Yh


macOS: Cmd+A does not work in native parts (dialogs, search)

VSCode Version: 1.8.1
OS Version: macOS 10.12.2 Sierra

Steps to Reproduce:

Make sure you have an editor open with your most valuable code.
Click on the Help menu item in the menu bar.
Start typing to search the menus. For example, type: "occur"
Realize you wanted to search for something else... so hit CMD+A, DELETE.
....where did my code go?

Note, this does not happen in Xcode. When you hit CMD+A, the Help menu stays open.
In VSCode, CMD+A closes the Help menu and then selects all of your current editor's contents.

Tough for us to find out that focus is up there, we still think the editor has focus. I think eventually we would need to use roles in our menu items, but that is not fun either because our commands are custom implemented.

Still reproes following original steps

@roblourens yeah I realize that this bug talks about 2 issues and only one is solved, can you verify this:

click save on an untitled file
in the dialog try to use Select All, Cut, Copy, Paste via keyboard
=> it should work

Looks like the help menu is not covered by my fix but I also argue that this one is much less of an issue compared to the native dialogs.

@roblourens I suggest to verify this in https://github.com/Microsoft/vscode/issues/22696

Any progress on this? It's bitten me a few times already and I've only been using VSC for one day.

reverted bab47f0ffde4692b5a738c915bd823ef7ebc8d39 due to https://github.com/Microsoft/vscode/issues/60443

I keep running into this bug :-). I think my solution should be to stop using the Help menu to search through VSCode menu items. I did realize that hitting ESC does what I want. So I need to train myself to stop using CMD+A, DELETE to enter a new query, and instead press ESC.


Pending pull request to add footer items

Per the contribution guidelines I am submitting this issue prior to actually making a pull request.
Is your feature request related to a problem? Please describe.
It would be nice to add footer items to the sidebar that are listed just above the expand icon
Describe the solution you'd like
I have a pending pull request with this functionality:
https://github.com/DavidCatalano/sidebarx
Additional context I've updated the version number in the README.md. The examples have footerItems added.

Hello @DavidCatalano ✋🏻
Cool feature !
I think it can be added !


[FEATURES] Instant live visualization of Fluid components statistics (GC, MemStats, etc.).

What feature you'd like to add:
Add Performance analysis to Fluid: https://github.com/arl/statsviz. By default, it's disable. You can turn it on when you need performance analysis.
Why is this feature needed:

I want to try it.

Any progress?

Any progress?

I will open pr in this week.

@wangyanghack Hi, I've updated a new PR to support pprof in CSI(#1140), while pprof in other components are still missing. I see your pending PR( #985 ) here, would you like to update this PR to add pprof in other components？Thanks a lot :)

@wangyanghack Hi, I've updated a new PR to support pprof in CSI(#1140), while pprof in other components are still missing. I see your pending PR( #985 ) here, would you like to update this PR to add pprof in other components？Thanks a lot :)

OK，I will do it recently


[Bug] Sonarr updated TBA - Already refreshed series never processed

With the recent changes in #10 , if the series has already been automatically refreshed by sonarr, the episode will never be renamed.
This will be almost garanteed to happen if the script runs less frequently than sonarr's refresh interval (12h by default?), but even if that's not the case, it will still occur.
This happens because, as sonarr already refreshed the data, the title returned from the API will no longer be TBA:
episodeName="$(curl -skL "${containerIp}:${sonarrPort}${sonarrUrlBase}${apiEpisode}?seriesId=${seriesId[0]}&seasonNumber=${fileSeasonNum}" -H "X-api-key: ${sonarrApiKey}" -H "Content-Type: application/json" -H "Accept: application/json")"
episodeName="$(jq -M -r ".[] | select (.episodeNumber==${fileEpisodeNum}) | .title" <<<"${episodeName}")"
if ! [[ "${episodeName}" =~ ^TB[AD]$ ]]; then
    printOutput "2" "Clean episode title [${episodeName}] does not match TBA/TBD -- Skipping"
    continue
fi

I briefly looked at sonarr's API, but couldn't find any endpoint that would return the actual title detected from the file.
As such, I think this logic needs to be reworked a little bit.
My suggestion:

This clean episode title logic, should only determine if we actually try to refresh the series data or not
(or can be removed if always refreshing is prefered)
After refreshing the data (or if this step got skipped), we should call the /rename endpoint and see if it returns any possible file renames (or our specific episode if *1 is prefered)
If it does, we can proceed with trying to rename the files, if not, we skip

*1: I see currently the RenameSeries command is being used, and a whole series is renamed at once, it might make sense to use RenameFiles instead which should make it possible to rename a single file/episode at a time.

A quick fix for the above issue could be:
(without implementing either checking the /rename endpoint nor implementing the individual episode rename)
diff --git a/sonarr-update-tba.bash b/sonarr-update-tba.bash
index e0be573cde30edc3f6bb2d8d4b4da055eea33e72..80540e5e7d15854198fff6d9aa3c59af0ff3379e 100755
--- a/sonarr-update-tba.bash
+++ b/sonarr-update-tba.bash
@@ -540,15 +540,7 @@ for containerName in "${containerIp[@]}"; do
             else
                 badExit "25" "Impossible condition"
             fi
-
-            ### Leaving off here for today.
-            episodeName="$(curl -skL "${containerIp}:${sonarrPort}${sonarrUrlBase}${apiEpisode}?seriesId=${seriesId[0]}&seasonNumber=${fileSeasonNum}" -H "X-api-key: ${sonarrApiKey}" -H "Content-Type: application/json" -H "Accept: application/json")"
-            episodeName="$(jq -M -r ".[] | select (.episodeNumber==${fileEpisodeNum}) | .title" <<<"${episodeName}")"
-            if ! [[ "${episodeName}" =~ ^TB[AD]$ ]]; then
-                printOutput "2" "Clean episode title [${episodeName}] does not match TBA/TBD -- Skipping"
-                continue
-            fi
-
+
             # Check to see if we should ignore the found file
             for ignoreId in "${ignoreEpisodes[@]}"; do
                 if [[ "${#containerIp[@]}" -eq "1" ]]; then
@@ -579,6 +571,16 @@ for containerName in "${containerIp[@]}"; do
                     break
                 fi
             done
+
+            if [[ "${skipRefresh}" -eq "0" ]]; then
+                ### Check to see if the episode title is TBA/TBD and needs refreshing
+                episodeName="$(curl -skL "${containerIp}:${sonarrPort}${sonarrUrlBase}${apiEpisode}?seriesId=${seriesId[0]}&seasonNumber=${fileSeasonNum}" -H "X-api-key: ${sonarrApiKey}" -H "Content-Type: application/json" -H "Accept: application/json")"
+                episodeName="$(jq -M -r ".[] | select (.episodeNumber==${fileEpisodeNum}) | .title" <<<"${episodeName}")"
+                if ! [[ "${episodeName}" =~ ^TB[AD]$ ]]; then
+                    printOutput "3" "Clean episode title [${episodeName}] has already been refreshed"
+                    skipRefresh="0"
+                fi
+            fi

             if [[ "${skipRefresh}" -eq "0" ]]; then
                 printOutput "2" "Issuing refresh command for: ${seriesTitle}"
@@ -609,11 +611,23 @@ for containerName in "${containerIp[@]}"; do
                     printOutput "3" "Sleeping 15 seconds to attempt to ensure system has time to process command"
                     sleep 15
                 fi
+            fi
+
+            skipRename="0"
+            for checkId in "${renamedSeries[@]}"; do
+                if [[ "${checkId}" == "${seriesId[0]}" ]]; then
+                    printOutput "3" "Series ID [${seriesId[0]}] has already been renamed"
+                    skipRename="1"
+                    break
+                fi
+            done

+            if [[ "${skipRename}" -eq "0" ]]; then
                 # Rename the series
                 printOutput "2" "Issuing rename command for: ${seriesTitle}"
                 commandOutput="$(curl -skL -X POST "${containerIp}:${sonarrPort}${sonarrUrlBase}${apiCommand}" -H "X-api-key: ${sonarrApiKey}" -H "Content-Type: application/json" -H "Accept: application/json" -d "{\"name\": \"RenameSeries\", \"seriesIds\": [${seriesId[0]}]}" 2>&1)"
                 commandId="$(jq -M -r ".id" <<< "${commandOutput}")"
+                renamedSeries+=("${seriesId[0]}")

                 # Give rename a second to process
                 sleep 1

Thanks for the detailed report and patch.

*1: I see currently the RenameSeries command is being used, and a whole series is renamed at once, it might make sense to use RenameFiles instead which should make it possible to rename a single file/episode at a time.

At the time I initially wrote this script up, the API was on v2 and I didn't know how to use Firefox's developer tools to see the API calls the web front-end is making. Additionally, there wasn't (that I remember) anything in their API documentation about renaming a single file, only renaming a series.
I found additional benefit from renaming an entire series, as something in my library tended to import multiple TBA's at a time, so it was beneficial to be able to knock them all out with one rename.
I agree that more precision is better than less precision, and I'll refine the API call to only rename what is needed rather than what is not.
My kids have a lot of activities this weekend that'll keep me away from my desktop (on mobile right now), but early next week I'll dive more into this and get it done.

Thanks again for the report @vsilvar. This should be fixed now.


each question and function type expects a particular type of data, and blows up when it gets something it doesn't expect

eg, when the function type is set to expect an int and instead receives a full json string, it tries to parse it like an int and then blows up.
It might be better to just parse everything as json and then test for the type of thing...but I honestly have no idea what would be the best thing to do here, just noting down for future reference.
eg, when expecting an int, but receiving json:
[0] 2023/05/27 21:38:23 strconv.Atoi: parsing "[  {    \"name\": \"Ollie\",    \
"grades\": {      \"art\": 81,      \"history\": 84,      \"math\": 94    }  },
 {    \"name\": \"Christine\",    \"grades\": {      \"art\": 94,      \"history
\": 88,      \"math\": 71    }  },  {    \"name\": \"Quinn\",    \"grades\": {
    \"art\": 77,      \"history\": 83,      \"math\": 73    }  }]": invalid synt
ax
[0] exit status 1
[0] go run ../main.go exited with code 1

since basically everything is valid json (lolwut), updated the code to just c.BindJSON and then evaluate if there's a diff, so we've got rid of the blow up issue without needing custom validators (I still need to write some tests to confirm this behavior, but seems okay in initial testing).
We have a different problem now, which is that I have duplicate json tags...somewhere ...so I'll eventually track those down, but the massive refactor will help with that immensely!


Big endian platform fixes

What does this PR do?
This PR fixes two bugs that were found on big endian systems.
Motivation
Bug fixes for big endian platforms.
Related issues
May be related to:
https://github.com/orientechnologies/orientdb/issues/9972
https://github.com/orientechnologies/orientdb/issues/10019
Additional Notes
I added a unit test that triggers the bug in OPaginatedClusterV2 on big endian platforms.
The bug in ODurablePage causes test failures in the CellBTreeMultiValueV2TestIT on big endian platforms.
Checklist
[x] I have run the build using mvn clean package command
[x] My unit tests cover both failure and success scenarios

Hi,
thankyou for this pr, will run the tests and hopefully merge this soon

Thanks for reviewing and merging @tglman!


Listened bugs (pre-release 4)

Filigrani — 23.05.2021

Rabbits are disabled.
Some spawned animals not registered to any spawn region, this makes spawn region create not correct amount of animals.
If player knocked down, other player can see message about reviving on zero XYZ, if both players locates in different scenes.
Player knocked body can work incorrect, if player died when other player was in different scene when this happened.
Equipping items may case to rare crash ### cause of out of date ModCompoent version (Will be fixed in Release version 4).

This very old message and this totally lose any actuality, also this been listed in official discord for many years, not know what was a point of making this message, howeever all listed things here has been fixed for many time ago


[BugFix] Fix multi count distinct rewite bug

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
MySQL td> explain select
      count(distinct v2) x1,
      count(distinct v1) x2
from t1
limit 1

(1064, 'There are multi count(distinct) function call, multi distinct rewrite error')

because CTE rewrite rule doesn't handle limit 1
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

run starrocks_fe_unittest

run starrocks_be_unittest

run all

run all


Selfie Recognition

Deep Learning Simplified Repository (Proposing new issue)
:red_circle: Project Title : Selfie Recognition
:red_circle: Aim : Create a DL model which will identify which one is selfie and which one is not.
:red_circle: Dataset : https://www.kaggle.com/datasets/tapakah68/selfies-id-images-dataset
:red_circle: Approach : Try to use 3-4 algorithms to implement the models and compare all the algorithms to find out the best fitted algorithm for the model by checking the accuracy scores. Also do not forget to do a exploratory data analysis before creating any model.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name :
GitHub Profile Link :
Email ID :
Participant ID (if applicable):
Approach for this Project :
What is your participant role? (Mention the Open Source program)

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Full name- Utkarsh
Github -https://github.com/utkarsh-060
Email id<EMAIL_ADDRESS>Approach : The project mainly requires image processing on which i have done some work before . I will formulate some algorithms required for this project and would use the one with most accuracy.
I am a participant of ssoc 2022.

Assigned it to you @utkarsh-060. Happy Contribution!

@utkarsh-060 updates please.

@utkarsh-060 updates please.

I am almost done with the model. I need a few more days to finally submit it.

Great! Thanks for the update @utkarsh-060

Updates please @utkarsh-060

@abhisheks008 I have been a little busy with college work. i will try my best to finish this before 15th September.


Build Demo Into Dist Folder

This MR updates the Webpack config to build a demo into the dist folder.
What was changed?

Format Webpack config.
Build demo into the dist folder.
Update deploy script with a new build directory path.
Remove example build directory from ignore files.
Use space indent in the .editorconfig.

@jamesrweb Could you test the deploy script?


should-install-windows-upgrade/should_upgrade.go 42: Failed to build Kubernetes client config error=invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

should-install-windows-upgrade/should_upgrade.go
only uses harcoded values for checking the kube config file, and is not evaluatig the KUBECONFIG environment variable

Please fill out the issue template when creating new issues.
I'll let @song-jiang decide if this is a bug or not, but my inclination is that this is working as intended.

@malikumaliku Calico for Windows does not use KUBECONFIG environment variable. It uses a file in the fixed location for upgrade service. This is working as expected.


Fix optional parameters unused in container and sub extensions

Description
In some methods in [Resource]Container and SubscriptionExtensions. optional parameters were not passed to the inner call to [Resource]RestOperations. This PR added them back.
Checklist
To ensure a quick review and merge, please ensure:

[x] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[x] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[x] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

@ShivangiReja FYI


Update UG

Fixes #721

Codecov Report

Merging #725 (c6064c0) into master (36c97a5) will decrease coverage by 0.31%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #725      +/-   ##
============================================
- Coverage     70.81%   70.49%   -0.32%
+ Complexity     1572     1571       -1
============================================
  Files           234      234
  Lines          5290     5314      +24
  Branches        711      712       +1
============================================
  Hits           3746     3746
- Misses         1231     1255      +24
  Partials        313      313

Impacted Files
Coverage Δ
Complexity Δ

.../gradetrackercommands/DeleteAssignmentCommand.java
94.11% <0.00%> (-2.86%)
11.00% <0.00%> (-1.00%)

.../java/seedu/address/model/util/SampleDataUtil.java
3.52% <0.00%> (-1.31%)
1.00% <0.00%> (ø%)

Continue to review full report at Codecov.

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


add ruff for docstring enforcement and other linting/styling

Summary and Scope

Fixes #46

Issue Type

RFE Pull Request

Prerequisites

[x] I have included documentation in my PR (or it is not required).
[x] I have added unit tests for my code.

Idempotency

Risks and Mitigations

Somehow pylint and ruff are not finding E302
My editor finds it, but ruff doesn't

Somehow pylint and ruff are not finding E302
My editor finds it, but ruff doesn't

if I run flake8 it finds it.
Not really clear on how we edit selects for ruff, it looks like it should be finding ^E prefixed errors.

Somehow pylint and ruff are not finding E302
My editor finds it, but ruff doesn't

if I run flake8 it finds it.
Not really clear on how we edit selects for ruff, it looks like it should be finding ^E prefixed errors. Feels like it's skipping pep8 rules, which are most of what I care about and it seems we already were somehow skipping several of them.

Looks like it's not implemented yet.
https://github.com/astral-sh/ruff/issues/2402


[release 1.3] VMRestore: allow creating vmrestore even if runstrategy is not Halted

This is a manual backport of https://github.com/kubevirt/kubevirt/pull/13420
Jira-ticket: https://issues.redhat.com/browse/CNV-53953
Release note

VMRestore: allow creating vmrestore even if runstrategy is not Halted

/test pull-kubevirt-unit-test

/test pull-kubevirt-unit-test-1.3


Fix navbar style

Related Issue

Issue No. #58

Changes you made :

I fix fixed menu mobile and desktop.
I improve the style code in mobile

Check list :

[x ] I have followed code style of this project.
[x ] I have read the CONTRIBUTING document.
[ x] All the aspects mentioned in the issue are covered.
[x ] The website is properly working after my changes.
[x ] 🌟 ed the repo

Type of change :

[x ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Output Screenshots :

@cTahirih The screenshots you have added are very old.
Our site has changed a lot, and you have used very old code of the site.
I will be closing this PR, so your commits doesn't make a problem to us.
Plz create new issues or look for other issues.


chore(release): [1.2] verifying plugins have been released to npmjs.com and bumping versions

Description
Bumping plugin versions based on the npm registry and previous release.

@janus-idp/backstage-plugin-acr version The latest version on npm is 1.7.11
@janus-idp/backstage-plugin-jfrog-artifactory The latest version on npm is 1.8.5

Which issue(s) does this PR fix

Fixes #? https://issues.redhat.com/browse/RHIDP-4217

PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

Over ,


Simplify to_gpu in RNN tests

I replaced to_gpu in RNN tests.
related to #4045

cuda.to_gpu now supports lists and None. You can simply use it like cuda.to_gpu(self.xs).

Does it support nested lists?

Oh, I see. It does not.

LGTM!


Thunderbird Accordion Will not open

Describe the bug
The MJML Accordion feature does not work properly in Thunderbird, in outlook the accordion is automatically expanded which seems to work properly and it also seems to work well in Gmail. However Thunderbird does not automatically expand the accordion and also does not allow the accordion to expand.
To Reproduce
Steps to reproduce the behavior:

Install the latest version of thunderbird
Create an MJML template using an accordion in the https://mjml.io/try-it-live/ area
Copy the HTML from the try it live page into a new email and send it to the email address Thunderbird is attached to
Attempt to expand/view accordion (will not work)

Expected behavior
The accordion should automatically expand in Thunderbird or it should allow expansion
MJML environment (please complete the following information):

OS: [e.g. MacOS] Windows
MJML Version [e.g. 4.2.0] Unknown
MJML tool used [e.g MJML App] Try It Live Page

Email sending environment(for rendering issues):

Platform used to send the email [e.g Putsmail]

Affected email clients (for rendering issues):

Email Client [e.g Gmail] Thunderbird
OS: [e.g. Windows] Windows
Browser [e.g. Google Chrome] NA

I don't think this was really tested on thunderbird anyway. https://www.htmlemailcheck.com/knowledge-base/target-mozilla-thunderbird-using-moz-text-html-css-class/ Maybe we can add a specific attribute to target it, doesn't seem too bad to add but it would need some test anyway

If anyone willing to contribute on that issue it should be an easy first contribution with the provided link !

Hi @iRyusa,
Is this issue still open, or is anyone working on it. If no, I'd like to take it up

Hi @srkyaganti no one is working on this right now, your contribution would be welcome !

Hi @kmcb777 , Can someone please assign this issue to me so that it is not marked as open for contribution.
Thanks,
Srikar

done 👍

My workaround:
    <mj-style>
      .moz-text-html input.mj-accordion-checkbox + * .mj-accordion-title {
        cursor: auto;
        touch-action: auto;
        -webkit-user-select: auto;
        -moz-user-select: auto;
        user-select: auto;
      }

      .moz-text-html input.mj-accordion-checkbox + * .mj-accordion-content {
        overflow: hidden;
        display: block;
      }

      .moz-text-html input.mj-accordion-checkbox + * .mj-accordion-ico {
        display: none !important;
      }
    </mj-style>

That seems great can you open a PR on that ?

Done in https://github.com/mjmlio/mjml/pull/1846

We'll try to review that asap 👍 thanks !

I think this has been released in 4.6.X so we can close it!


Remove hardcoded values

Proposed changes
Replaces magic values with constants with meaningful descriptions.
Fixes
Closes #1021.
Types of changes
What types of changes does your code introduce? (A breaking change is a fix or feature that would cause existing functionality and APIs to not work as expected.)
Put an x in the box that applies

[ ] Non-breaking fix (non-breaking change which fixes an issue)
[ ] Breaking fix (breaking change which fixes an issue)
[ ] Non-breaking feature (non-breaking change which adds functionality)
[ ] Breaking feature (breaking change which adds functionality)
[x] Refactor (non-breaking change which changes implementation)
[ ] Messy (mixture of the above - requires explanation!)

Checklist
Put an x in the boxes that apply.

[x] I have read the CONTRIBUTING doc
[x] I am making a pull request against the main branch (left side). Also you should start your branch off our main.
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have locally run services that could be impacted and they do not present failures derived from my changes

Further comments
n/a

looks good, there is one more case I don't like and can be part of this same PR imo
https://github.com/valory-xyz/open-autonomy/blob/ebd5f05c62275a420f5b3184c9ad4a447c89e325/packages/valory/contracts/gnosis_safe_proxy_factory/contract.py#L141-L143
instead, we should provide 1 as a default value instead of 0, here:
https://github.com/valory-xyz/open-autonomy/blob/ebd5f05c62275a420f5b3184c9ad4a447c89e325/packages/valory/contracts/gnosis_safe_proxy_factory/contract.py#L92

Good catch!
What if the user provides 0 as an input though? Should we do something like:
# we set a value to avoid triggering the gas estimation during buildTransaction below
tx_parameters["gas"] = Wei(max(gas, 1))

?

looks good, there is one more case I don't like and can be part of this same PR imo
https://github.com/valory-xyz/open-autonomy/blob/ebd5f05c62275a420f5b3184c9ad4a447c89e325/packages/valory/contracts/gnosis_safe_proxy_factory/contract.py#L141-L143
instead, we should provide 1 as a default value instead of 0, here:
https://github.com/valory-xyz/open-autonomy/blob/ebd5f05c62275a420f5b3184c9ad4a447c89e325/packages/valory/contracts/gnosis_safe_proxy_factory/contract.py#L92

Nice catch! What if the user provides 0 as an input though? Should we do something like:
# we set a value to avoid triggering the gas estimation during buildTransaction below
tx_parameters["gas"] = Wei(max(gas, 1))

?

hmm I would say no. I don't think we should overwrite to 1 if the input is explicitly provided to be zero.
I should, however, first ask why do we want to prevent gas estimation during buildTransaction? If there is a solid reason to avoid this then we should. Leave a comment in the code why it's necessary or important to avoid the estimation prior to buildTransaction if so and call it done.

@Karrenbelt when a gas estimate is not set when calling buildTransaction, by default gas estimation is performed. That throws an error when repricing a tx. More info on the comments in https://github.com/valory-xyz/open-autonomy/pull/1212 .

@Karrenbelt when a gas estimate is not set when calling buildTransaction, by default gas estimation is performed. That throws an error when repricing a tx. More info on the comments in #1212 .

so that's good to know, @Adamantios worth adding as comment to the code?


[2024-09-13] Sloan Foundation Awards $1.125M to STRUDEL to Enhance UX in Scientific Software Development

Context

Name
Value

Title
Sloan Foundation Awards $1.125M to STRUDEL to Enhance UX in Scientific Software Development

Description

Notes
https://sloan.org/grant-detail/G-2024-22557

Publish date
2024-09-13

AirTable[^1]
AirTable record

Metadata & Acknowledgements

Name
Value

Tags
open-source

People

Affiliations

Open-source software

[^1]: DO NOT EDIT DIRECTLY. This issue body was automatically generated. Make edits at the AirTable record and they'll be reflected here.

Testing AirTable automation.


Overwrite in MongoObserver deletes run info

At my university we have a grid system on which computation jobs can be scheduled. After a certain wall time (usually 1:30h) the job is killed and has to be restarted. To use sacred and still write logs to same experiment we want to use the overwrite parameter of the MongoObserver as recommended in #144. However, this leads to run.info being empty in the mongo db once the run is overwritten. This is especially bad since information about metrics is lost, so that the metrics plots won't be displayed in sacredboard, even so the metrics are there in the metrics collection.
A more direct way to resume experiments than overwriting would be preferred still.

Overwriting the info dict is intended behavior, but it is obviously really bad for your usecase.
Resuming experiments seems like a common usecase, and I agree that we need a better way of doing that, so I'll mark this as a feature request.
We could provide an option to resume an experiment by id, such as --resume 47. Observers could then use that to append to the respective info and metrics.
I can see a few problems with that:

how to handle differences in the rest of the entry? Maybe one of the dependencies was upgraded, or the code changed. Or even the config. Should Sacred refuse to continue in this case? That seems to be a good safeguard against mistakenly continuing the wrong experiment. But what if you had to fix a minor problem in the code, or update some library because of a bug? Maybe we would also need a --force-resume option?
Most code cannot be interrupted and continued at any point, but instead relies on checkpoints. What to do with info entries and metrics between the checkpoint and the interruption? They would be duplicated in an naive implementation. Maybe sacred should have a way of storing the times of the last checkpoint, so that --resume would overwrite all entries after that checkpoint time?

I'd love to hear your thoughts on this.

Thanks for your response!

Overwriting the info dict is intended behavior

I understand that overwrite should lead to everything being overwritten, but why does the info dict end up being empty in the second run?

We could provide an option to resume an experiment by id, such as --resume 47. Observers could then use that to append to the respective info and metrics.

That's exactly what would be needed. For us it would be important to be able to pass that option directly to the observer similar to overwrite as the restart usually happens programmatically.
However, I noted that metrics are already appended, even with a duplicate step index. Not sure if this is the intended behavior.

how to handle differences in the rest of the entry? Maybe one of the dependencies was upgraded, or the code changed. Or even the config. Should Sacred refuse to continue in this case? That seems to be a good safeguard against mistakenly continuing the wrong experiment.

Yes it would make sense to check against differences in the sources and especially the config. Changes would mean to me that it is no longer the same experiment, so refusing to resume in this case makes sense.

But what if you had to fix a minor problem in the code, or update some library because of a bug? Maybe we would also need a --force-resume option?

This could make sense for changes in the sources. However, I think it is not a major requirement right now, as the main use case for us would be to continue experiments that were interrupted due to external factors (wall time) rather than internal factors (software bugs). A useful --resume feature could be implemented first, without a --force-resume option.

Most code cannot be interrupted and continued at any point, but instead relies on checkpoints. What to do with info entries and metrics between the checkpoint and the interruption? They would be duplicated in an naive implementation. Maybe sacred should have a way of storing the times of the last checkpoint, so that --resume would overwrite all entries after that checkpoint time?

For our use case (training networks with tf.keras) the check pointing is done at the end of an epoch. Therefore duplicate entries in the metrics are avoided by providing an explicit step argument to the e.g. log_scalar function. By making explicitly provided steps a precondition for resuming and then overwrite based on the step, I think major clashes could be avoided. This would offload the responsibility of sensibly handing the metrics to the programmer. Not sure if there are other logs that would be affected by that issue.
If we can work out the requirements for this, and you could point me to the right places in the code I would be happy to submit a PR.

I understand that overwrite should lead to everything being overwritten, but why does the info dict end up being empty in the second run?

Hmm, strange. For me it works as expected. Does your experiment maybe write differently to info when loading from a checkpoint?
I definitely like the --resume option, and would be onboard with adding that. You are right, in that we can do without a forced resume at first. Would you agree with the following requirments:

A --resume 10 commandline option
You wanted a resume=10 argument for the MongoObserver, right? Not sure if I like that. It would depend on how we implement it. In my opinion the cleaner way would be to decide "resuming" for the whole run instead of for each observer separately.
The observer would have to fetch the entry from the database and compare at least config and source code for a match and raise an error in case of a mismatch.
The observer should then not overwrite info, metrics, artifacts and stdout but instead append.
It should overwrite status, heartbeat, stop_time and result (if any)
Maybe there should be some entry stating that (and when) the experiment has crashed and resumed.

There are going to be a few difficult bits to implementing this:

If we want a clean solution with a centralized resume option for the entire run, then the observer interface needs to be adapted.
Currently the info/stdout are send to each observer and completely replace the old info/stdout. If we want to append, then either the observer needs to take care of merging/concatenating the stored values with the resumed values, or there needs to be a mechanism for the observers to initialize the info/stdout of the experiment.

If we can work out the requirements for this, and you could point me to the right places in the code I would be happy to submit a PR.

My estimate is for this feature to be somewhat tricky to implement. If you are up for that, I'd be more than happy to support you. But be aware, that this is going to take some work.

Hmm, strange. For me it works as expected. Does your experiment maybe write differently to info when loading from a checkpoint?

This is code that implements the overwrite logic right now. It is a keras script, so the logger is later on passed to model.fit. If the experiment is resumed the environment variable DATABASE_ID is passed to the script. Not sure if I am doing something wrong here.
ex = Experiment('sacred_keras_example')

def add_observer(ex):
    database_id = os.environ.get('DATABASE_ID')
    mongo_uri = f'mongodb://{credentials.MONGODB_ADMINUSERNAME}:{credentials.MONGODB_ADMINPASSWORD}@{credentials.MONGODB_HOST}/?authMechanism=SCRAM-SHA-1'

    if database_id is None:
        ex.observers.append(MongoObserver.create(url=mongo_uri,
                                                 db_name=credentials.MONGODB_DBNAME))
    else:
        ex.observers.append(MongoObserver.create(url=mongo_uri,
                                                 db_name=credentials.MONGODB_DBNAME,
                                                 overwrite=database_id))
    return ex

add_observer(ex)

class Logger(Callback):

    def __init__(self, run):
        super().__init__()

        self._run = run

    def on_epoch_end(self, epoch, logs):
        print(logs)
        self._run.log_scalar("training.loss", float(logs['loss']), epoch - 1)

You wanted a resume=10 argument for the MongoObserver, right? Not sure if I like that. It would depend on how we implement it. In my opinion the cleaner way would be to decide "resuming" for the whole run instead of for each observer separately.

Yes, a resume option for an entire experiment does make more sense. For me it is just important that it can be set programmatically.

My estimate is for this feature to be somewhat tricky to implement. If you are up for that, I'd be more than happy to support you. But be aware, that this is going to take some work.

So we need this feature in a study project rather sooner than later. If you don't have time to work on this feature right now I could take it up. However, if this is a feature that you want to implement now anyway it will probably be faster :)

Hey @JarnoRFB. I am very sorry about my lack of support recently. It is bad timing for you, but I am afraid, that I have too much going on at the moment to properly support you. I am moving between cities and jobs and I will be on vacation for the next two weeks. Please feel free to tackle this issue on your own. I'll jump back in as soon as my schedule has calmed down a bit.

Hi, no worries. It's free and open source software after all :) We will try our best to make steps towards the feature.


Allow Geolocations services

Search before asking

[X] 我在 issues 列表中搜索，没有找到类似的内容。
I searched in the issues and found nothing similar.

Motivation
Many web applications require geolocation services to function properly. Currently, when packaging web applications with Pake that use geolocation, the permission prompt doesn't appear and the geolocation API is not accessible. This limits the functionality of web apps that rely on location services.
Solution
Add support for system permissions, specifically geolocation services. This could be implemented by:
Adding a configuration option in Pake to enable geolocation permissions
Properly handling system permission requests
Allow passing these permissions through to the webview component
Adding documentation about how to enable and use geolocation in Pake apps
Alternatives
The implementation could:
Add a new flag --enable-permissions or specific --enable-geolocation
Modify the underlying Tauri configuration to allow geolocation access
Handle the necessary entitlements for macOS builds
Ensure proper permission handling across different operating systems
pake https://example.com
--name "MyApp"
--enable-geolocation
Anything else?
This is particularly important for web apps that use mapping services or location-based features
Current workarounds like using IP-based geolocation are not as accurate or reliable
Similar functionality exists in Tauri, which Pake is built upon
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

Thank you for suggesting the location feature. It's actually quite good, but currently, I see that the vast majority of PC web scenarios do not support location capabilities. Then I referenced tauri-plugin-geolocation and found that it only supports mobile versions. I plan to add this when Pake supports mobile versions. If you find a location capability for PC scenarios, feel free to submit a PR.


Updating Jekyll3 and gh-pages configurations. Improvements to tutorial

Plenty of changes as discussed in @schaarj's pull request #29.
In addition, I made specific changes to the README, config.yml, and Gemfile files to reflect the migration of Github to Jekyll 3 and how we should setup our local copies of the website to mimic their (GH) environment as closely as possible.
I suggest we revert the previous commit (which is a very very very very BAD thing to do) using git reset --hard and then pull these changes and commit this, effectively rewriting history. This will have consequences to everyone using the repository, which might be (if we are lucky) mitigated with a simple git reset --hard HEAD~1. @amjjbonvin  I'm happy to test and take care of this myself.

Found an easier solution.


ActiveMQ Artemis metrics configuration file

What does this PR do?
This PR introduces a new YAML template file to gather metrics from Apache ActiveMQ Artemis broker, exposed via JMX. It uses bean_regex to access MBeans objects and attributes.
Motivation
Apache ActiveMQ is still very popular, however, years ago two distinct community projects HornetQ and ActiveMQ were merged together under a new project called Apache ActiveMQ Artemis, which tries to get best out of both projects.
Red Hat AMQ 7+ is based on that, and many enterprise customers rely on such vendor technology.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Hi! Don't worry about the PR Labels failure - it's a known limitation that unfortunately it won't work across forks, as documented in https://github.com/actions/labeler/issues/12.

We encountered this need now, what's stopping this PR to go through?

Hi @foogaro we totally missed this PR, I'm very sorry. We have support for Artemis in our Active MQ integration now https://github.com/DataDog/integrations-core/tree/master/activemq#activemq-integration
Can you check if it has everything you need?


Fixes for RPATH

This fixes some link issues for me.
I don't fully understand all the details, but you can read more here:
https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling

Ok, nevermind. Thanks for the explanation.
I am trying to get this to build with STRUMPACK and PETSc, through PETSc' build system.


v0.14-DEV: Change FP to a keyword argument

Complete

Make uses of Line, Plane, and Ray explicit

In Progress

Conversion of FP from optional argument to keyword argument
Update documentation

This looks already quite good, but I think we want all integral functions in the specializations/ folder to be _integral, right?

This was my original thought, and I tried to do that during the recent PR that consolidated all of the prior paramdim-specific _integral_Nd onto _integral, but it generated a ton of errors. I'm a little foggy at the moment, but I seem to remember it being a multiple dispatch issue. Not sure if it would still be an issue after this refactor, though.

I would have expected that this gives 1.0, but ok...good to know 😅

That's a bit puzzling to me, too.

Yes, I just tried replacing integral by _integral in the specialization and it gave multiple dispatch errors.

Yes, I just tried replacing integral by _integral in the specialization and it gave multiple dispatch errors.

I may take another look at this later today. Maybe I'm just forgetting the nuance, but I think this should be do-able with these new changes.
I think what I was trying to achieve before was just eliminating multi-step pass-throughs, i.e. i.e. lineintegral(f, g) -> integral(f, g) -> _integral(f, g). If I remember correctly, the issue was that, by skipping integral, all of the specialized methods aren't caught. If we define all of those specialized methods as _integral instead, then it seems on the surface like this would fix that particular issue.
I do like the idea of having a smaller number of "entry points".

I also do like to defining specialized methods as _integral, but I have the following issue: Let's take Ring as an example. Replacing integral by _integral in the Ring specialization gives:
julia> using Meshes, MeshIntegrals
  1 dependency successfully precompiled in 2 seconds. 115 already precompiled.

julia> geometry = Ring((0.0, 0.0), (1.0, 0.0), (1.0, 1.0), (0.0, 1.0))
Ring
├─ Point(x: 0.0 m, y: 0.0 m)
├─ Point(x: 1.0 m, y: 0.0 m)
├─ Point(x: 1.0 m, y: 1.0 m)
└─ Point(x: 0.0 m, y: 1.0 m)

julia> f(::Point) = 1.0
f (generic function with 1 method)

julia> integral(f, geometry)
ERROR: MethodError: _integral(::typeof(f), ::Ring{𝔼{2}, CoordRefSystems.Cartesian2D{CoordRefSystems.NoDatum, Unitful.Quantity{Float64, 𝐋, Unitful.FreeUnits{(m,), 𝐋, nothing}}}, CircularArrays.CircularVector{Point{𝔼{2}, CoordRefSystems.Cartesian2D{CoordRefSystems.NoDatum, Unitful.Quantity{Float64, 𝐋, Unitful.FreeUnits{(m,), 𝐋, nothing}}}}, Vector{Point{𝔼{2}, CoordRefSystems.Cartesian2D{CoordRefSystems.NoDatum, Unitful.Quantity{Float64, 𝐋, Unitful.FreeUnits{(m,), 𝐋, nothing}}}}}}}, ::GaussKronrod) is ambiguous.

Candidates:
  _integral(f, geometry, rule::GaussKronrod; kwargs...)
    @ MeshIntegrals ~/.julia/dev/MeshIntegrals/src/integral.jl:39
  _integral(f::F, ring::Ring, rule::I; kwargs...) where {F<:Function, I<:IntegrationRule}
    @ MeshIntegrals ~/.julia/dev/MeshIntegrals/src/specializations/Ring.jl:11

Possible fix, define
  _integral(::F, ::Ring, ::GaussKronrod) where F<:Function

Stacktrace:
 [1] integral(f::typeof(f), geometry::Ring{𝔼{…}, CoordRefSystems.Cartesian2D{…}, CircularArrays.CircularVector{…}}, rule::GaussKronrod; kwargs::@Kwargs{})
   @ MeshIntegrals ~/.julia/dev/MeshIntegrals/src/integral.jl:31
 [2] integral(f::typeof(f), geometry::Ring{𝔼{…}, CoordRefSystems.Cartesian2D{…}, CircularArrays.CircularVector{…}}, rule::GaussKronrod)
   @ MeshIntegrals ~/.julia/dev/MeshIntegrals/src/integral.jl:25
 [3] integral(f::typeof(f), geometry::Ring{𝔼{…}, CoordRefSystems.Cartesian2D{…}, CircularArrays.CircularVector{…}})
   @ MeshIntegrals ~/.julia/dev/MeshIntegrals/src/integral.jl:25
 [4] top-level scope
   @ REPL[4]:1
Some type information was truncated. Use `show(err)` to see complete types.

This means, which specialization of _integral should be called cannot be determined. We have  _integral(f, geometry, rule::GaussKronrod; kwargs...) and _integral(f::F, ring::Ring, rule::I; kwargs...), which both have a specialization in one argument  (rule in the first method and ring in the second). We want the second to be called, but how should Julia know that?

Ah, yeah, that’s a harder problem.

Thanks. I’ll take one last look through the diff to make sure I’ve annotated a list of all the non-trivial changes in the first-post summary, then merge.

Notes updated at the top. Thanks again for the critical feedback!


[EH] Update Storage for EH Checkpoint Async

Updating the vendored storage library for the sync library

/azp run python - eventhub - tests

API change check
API changes are not detected in this pull request.

/azp run python - eventhub - tests

/azp run python - eventhub - tests

/azp run python - eventhub - tests


Engine: 3D Gamestudio aka Gamestudio A8

Some reference to the engine, such as the developer site or a wikipedia article.
3D Gamestudio, oftentimes only referred to as Gamestudio, is a very old school toolset (engine + editors) which some people used before Unity was a thing. It might be referred to as A8 as well, short for Acknex 8 (rolls right of the tongue, right?).
Super old school homepage: http://www.conitec.net/english/gstudio/index.PHP
Manual and API reference: http://manual.3dgamestudio.net/
It's a Windows only 32bit DirectX 9.0c engine.
SteamDB links
(My game: ) https://steamdb.info/app/688130/
https://steamdb.info/app/724390/
https://steamdb.info/app/34900/
https://steamdb.info/app/259640/
https://steamdb.info/app/280640/
Some of those are made with previous iterations of Gamestudio (A4 through A8) but they all contain the same base data.
Possible way to detect it
The engine DLL acknex.dll should be included in pretty much every game made with this toolset.
*.wrs container files are present if the game creator owns the Pro version of the engine.
A file called acknex.wdf, a starter window definition, might be present, as well as d3dx9_42.dll and/ or d3dx9_32.dll and d3dx9_30.dll files. Furthermore, d3dcompiler_42.dll might be included in most games.

I'm seeing a few games where the dll is not present but the wdf file is. Can you verify the list please?
It could be great if you could make a PR for it. (?:^|/)acknex\.(?:dll|wdf)$
Most common base names:

acknex.dll - 57 matches
acknex.wdf - 50 matches

Depots that matched:

15501 - The Wonderful End of the World content
15511 - The Wonderful End of the World demo content
15521 - aaaaa content
15531 - aaaaa-demo-depot
34903 - Bad Rats - Master 1
34911 - Bad Rats - Demo
34921 - Razor2
34931 - Razor2 Demo
209061 - Drunken Robot Pornography Content
259642 - Core Files
273772 - Game Tycoon 1.5 English
273773 - Game Tycoon 1.5 German
280641 - Base Content
336201 - Starlaxis English
336202 - Starlaxis German
339722 - Debugger V1.0 English
339723 - Debugger German
353021 - Starlaxis Supernova Edition Demo English
380951 - Bocce Revolution Default (english)
412291 - The Dreamlord Content
450031 - Worst Case Z Content
459511 - ZULA Content
502721 - Star Explorers Content
507391 - Gone In November Content
512151 - Swordlord Content
513651 - Zula - Europe Content
546781 - Anomalies Content
546782 - Anomalies German
553101 - Timber! The Logging Experts EN
553102 - Timber! The Logging Experts DE
587331 - MARS SIMULATOR - RED PLANET Content
587332 - "MARS SIMULATOR - RED PLANET"-German
587333 - "MARS SIMULATOR - RED PLANET"-French
618081 - Martial Arts Brutality Content
670761 - Sage 3D Content
688131 - Pogostuck Content
691701 - Triton Wing Content
714211 - Zula Online Content
724391 - Rigid Force Alpha Content
724393 - Rigid Force Alpha Press Version Depot
747611 - ZULA Latinoamérica Content
761512 - Railroad Construction Simulator
782163 - "Raptainment"-V1.1
782164 - "Raptainment"-V1.1g
793581 - Anomalies Demo Content
807001 - My Grandfather's Farm Content
844711 - Sage 3D Demo Content
846141 - Debugger 3.16: Hack'n'Run Demo English
846142 - Debugger 3.16: Hack'n'Run Demo Deutsch
846851 - DearCraft CHS
977091 - Kumpels Content
1040451 - The King's New Castle Content
1051841 - Paradox Vector Content
1104591 - Bacillus Content
1189241 - Oil Mogul Content
1275491 - Martial Arts Brutality Premium Content
1315891 - Big City Rigs: Garbage Truck Driver Content
1317801 - Big City Rigs: Bus Driver Content
1584331 - Beth the Exhibitionist Content
1585251 - The Space Between Content

I'm on vacation now so sadly I only have very limited time until August 28th (got a GitHub email).
"I'm seeing a few games where the dll is not present but the wdf file is. Can you verify the list please?"
The DLL has 57 to 50 matches for the wdf starter file, no?
"It could be great if you could make a PR for it. (?:^|/)acknex.(?:dll|wdf)$"
Sadly I do not know what that means just yet.
Do you have a link or an appID for a possible Gamestudio game with wdf starter but without acknex.dll?

The DLL has 57 to 50 matches for the wdf starter file, no?

That's why the regex I suggested includes both extensions.

Do you have a link or an appID for a possible Gamestudio game with wdf starter but without acknex.dll?
https://steamdb.info/depot/507391/

https://steamdb.info/depot/507391/

Ok. I've just tried to change the name of the DLL (to Kernel.dll as with the app in question). The exe cannot be launched then (could have worked as per default the engine tries to open all DLLs in the folder).
(The Kernel.dll file of 507391 has a size of about old acknex.dll files.)
In previous Gamestudio versions there was the option to use C-Script instead of lite-C, and C-Script games would be compiled at game launch on the fly if I'm not mistaken. So maybe that's why that game runs without a/ the acknex.dll.

That's why the regex I suggested includes both extensions.

Sounds good to me then.


Fix high CPU consumption on pilot when in-cluster analysis is enabled

Please provide a description of this PR:
Resolves https://github.com/istio/istio/issues/49340.
I think the root cause is that the set will never be nil, but rather an empty initialized set, which results in the analysis being stuck in a push loop forever.

@hanxiaop: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
10b3512be5054c382399c46f3c1b1cee421a4d85
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I donot quite understand how inProcessAnalysis work, just wondering how can we make it mature.
It is there for years, but rarely have heard any usage/bug reported

@hzxuzhonghu I think the concern is, this analysis controller is not quite scalable, and requires a large resource consumption. I'd rather implement https://github.com/istio/istio/issues/48468 before it gets mature.

In response to a cherrypick label: new pull request created: #50178

In response to a cherrypick label: new pull request created: #50179


image filename max_length is too short

Issue type
[ X ] Feature request
[ ] Bug report
[ ] Documentation
Environment

Python version:  3.5.2
NetBox version:  2.3.2

Description
I want to attach the drawing of my cage sent to me by Equinix called "BLAHBLA - DC4 - Cage # 42360  - Cage, Cabinets, AC Power, Ladder Rack and Fiber Tray Layout - 4-1-17 v1.pdf"
I get the message "Ensure this filename has at most 100 characters (it has 107)."
Can the max_limit for this field please be increased to 200 maybe? I'd like to be able to keep the original filename if at all possible. Thanks!

100 characters is the default filefield maxlength but it can be adjusted in the model:
https://stackoverflow.com/questions/26575635/django-increase-filefield-length
https://docs.djangoproject.com/en/dev/ref/models/fields/#filefield

That's useful information that it would require a database schema change, and would require a migration defined. If its too much trouble, this can be closed.

Let's stick with the default limit.


issue/2610 Force https instead of git protocol for github

fixes #2610
Fixed

Force https protocol when the git protocol is specific for github.com

Appreciate your fix. Do the tests at https://github.com/bower/bower/blob/master/test/core/resolvers/gitHubResolver.js need updated?

No idea. If someone with the ability to merge and publish could tell me what I need to do or take the suggestion and run with it, then I'll be happy.

duplicate of https://github.com/bower/bower/pull/2612

Appreciate your fix. Do the tests at https://github.com/bower/bower/blob/master/test/core/resolvers/gitHubResolver.js need updated?

Please, take a look at this PR: https://github.com/bower/bower/pull/2612

It would be very helpful if this were resolved! 🙏


Getting black (models/shaders) when using autoshader

Hi,
First, really thank for your gltf support, simplepbr, CLI converter etc... It's really more easy to integrate blender models.
So I'm getting an issue when I activate render.setShaderAuto() to get shadows, all textures, shaders etc are getting black.
Could you help me about this?

panda3d-simplepbr is not compatible with setShaderAuto.  If you use setShaderAuto, the simplepbr shaders become disabled.
You should rather use the built-in shadow support of panda3d-simplepbr, which can be enabled by passing enable_shadows=True in the init() call.

Ok, tested too but don't seem to work or maybe I forget something.
I will try again.
Otherwise,
Looks like https://github.com/kergalym/YABEE was updated (today) so I can now use egg format and I think I need no more simplepbr for the moment.
Thanks again


onconflict only works with lambdas

onconflict resolution only seems to work with lambdas, when it's a named function and the conflict is called the vm gets a BBZVM_ERROR_RET error.
Here is the code to tests
#define FILE_TEST6 "resources/6_Onconflict_namedFunction.bbo"
TEST(vm_onconflict_named_function) {
    // Init VM
    vm = &vmObj;

    uint16_t robot = 0;
    bbzvm_construct(robot);
    bbzvm_set_error_receiver(&set_last_error);
    fbcode = fopen(FILE_TEST6, "rb");
    REQUIRE(fbcode != NULL);
    REQUIRE(fseek(fbcode, 0, SEEK_END) == 0);
    fsize = ftell(fbcode);
    REQUIRE(fsize > 0);
    REQUIRE(fseek(fbcode, 0, SEEK_SET) >= 0);

    bbzvm_set_bcode(&testBcode, fsize);

    REQUIRE(vm->state == BBZVM_STATE_READY);
    REQUIRE(bbzvm_register_functions() >= 0); // If this fails, it means that the heap doesn't have enough memory allocated to execute this test.

    // Stepping through script
    while (vm->state == BBZVM_STATE_READY) {
#ifdef DEBUG
        uint8_t instr = *vm->bcode_fetch_fun(vm->pc,1);
        if (instr > BBZVM_INSTR_CALLS) {
            printf("[%d: %s %d]\n", vm->pc, instr_desc[instr], *(int16_t*)vm->bcode_fetch_fun(vm->pc+1,2));
        }
        else {
            printf("[%d: %s]\n", vm->pc, instr_desc[instr]);
        }
#endif
        bbzvm_step();
        ASSERT(vm->state != BBZVM_STATE_ERROR);
    }
    ASSERT_EQUAL(vm->state, BBZVM_STATE_DONE);
    ASSERT_EQUAL(vm->error, BBZVM_ERROR_NONE);

    vm->state = BBZVM_STATE_READY;

    // Sending stigmergy message, loop twice, once for inserting in stig, other for conflict to be called
    for(uint8_t i=0; i<2; i++) {
        bbzmsg_payload_t payload;
        uint8_t buff[] = {1, i, 0, __BBZSTRID_data, 0, 57, 2, 0, 1};
        bbzringbuf_construct(&payload, buff, 1, 16);
        payload.elsize = 1;
        payload.capacity = 10;
        payload.datastart = 0;
        payload.dataend = 9;

        bbzinmsg_queue_append(&payload);
        bbzvm_process_inmsgs();
        if(vm->error == BBZVM_ERROR_MEM){
            break;
        }

        bbzvm_gc();
    }

    // In actually error state BBZVM_ERROR_RET
    ASSERT_EQUAL(vm->state, BBZVM_STATE_READY);
    ASSERT_EQUAL(vm->error, BBZVM_ERROR_NONE);

    bbzvm_destruct();
    fclose(fbcode);
}

When it uses a lambda, the tests passes (though it leaks memory as stated here)

conflict_resolver = function(key, ld, rd) {
        return ld
}

stig = stigmergy.create(0);
stig.onconflict(conflict_resolver)

But when it uses a function name, the test fails:
function conflict_resolver(key, ld, rd) {
        return ld
}

stig = stigmergy.create(0);
stig.onconflict(conflict_resolver)

The closure is registered properly with bbzvstig_onconflict, but when the closure is called, the blockptr doesn't seem to change. It  call as a c function instead of changing the pc and execute buzz code since it's not a native closure which would explain the blockptr not increasing. In my case it calls bbzvm_dummy c function instead of conflict_resolver, though that may be undefined behavior.

We are looking into this issue and the other related one. Thank you for reporting it.

The reason why the onconflict function doesn't work for your test case is because you are registering some C functions (using bbzvm_register_functions) without providing a .bst file which would let the compiler know that there will be additional functions added to the VM during runtime.
This causes the compiler to register the function with the string id which is now taken by one of the C functions. It only happens when using named functions because registering C functions happens before the first execution of the script which registers the named functions.
Providing .bst file allows the compiler to preallocate the string id for the C functions. Otherwise, there would be no way for the compiler to know that we wanna register C functions.

Thanks a lot! I should have provided you this info at the beginning. I understand the problem though, the ID was already assigned to a C function since it was not in the BST file. Copy and paste error on my part from the vm_onconflict test.
There is something else, maybe it's linked with the memory leak:
I've encoutered another problem though, when I access a stigmergy varible, the value return is not the data. I've had this error multiple times during usage and not just testing, I wasn't able to recreate it until now.
Here is the code C:
TEST(vm_onconflict_named_function) {
    // Init VM
    vm = &vmObj;

    uint16_t robot = 0;
    bbzvm_construct(robot);
    bbzvm_set_error_receiver(&set_last_error);
    fbcode = fopen(FILE_TEST6, "rb");
    REQUIRE(fbcode != NULL);
    REQUIRE(fseek(fbcode, 0, SEEK_END) == 0);
    fsize = ftell(fbcode);
    REQUIRE(fsize > 0);
    REQUIRE(fseek(fbcode, 0, SEEK_SET) >= 0);

    bbzvm_set_bcode(&testBcode, fsize);

    REQUIRE(vm->state == BBZVM_STATE_READY);
    REQUIRE(bbzvm_register_functions() >= 0); // If this fails, it means that the heap doesn't have enough memory allocated to execute this test.

    // Stepping through script
    while (vm->state == BBZVM_STATE_READY) {
#ifdef DEBUG
        uint8_t instr = *vm->bcode_fetch_fun(vm->pc,1);
        if (instr > BBZVM_INSTR_CALLS) {
            printf("[%d: %s %d]\n", vm->pc, instr_desc[instr], *(int16_t*)vm->bcode_fetch_fun(vm->pc+1,2));
        }
        else {
            printf("[%d: %s]\n", vm->pc, instr_desc[instr]);
        }
#endif
        bbzvm_step();
        ASSERT(vm->state != BBZVM_STATE_ERROR);
    }
    ASSERT_EQUAL(vm->state, BBZVM_STATE_DONE);
    ASSERT_EQUAL(vm->error, BBZVM_ERROR_NONE);

    vm->state = BBZVM_STATE_READY;

    // Sending stigmergy message, loop twice, once for inserting in stig, other for conflict to be called
    for(uint8_t i=0; i<2; i++) {
        bbzmsg_payload_t payload;
        uint8_t buff[] = {1, i, 0, __BBZSTRID_data, 0, 57, 2, 0, 1};
        bbzringbuf_construct(&payload, buff, 1, 16);
        payload.elsize = 1;
        payload.capacity = 10;
        payload.datastart = 0;
        payload.dataend = 9;

        bbzinmsg_queue_append(&payload);
        bbzvm_process_inmsgs();
        if(vm->error == BBZVM_ERROR_MEM){
            break;
        }

        // Calling the step function
        bbzvm_pushs(__BBZSTRID_step);
        bbzheap_idx_t l = bbzvm_stack_at(0);
        bbzvm_pop();
        if (bbztable_get(vm->gsyms, l, &l) == 1) {
            bbzvm_pushnil(); // Push self table
            bbzvm_push(l);
            bbzvm_closure_call(0);
            bbzvm_pop();
        }
        // End of calling the step function

        bbzvm_gc();
    }
    ASSERT_EQUAL(vm->state, BBZVM_STATE_READY);
    ASSERT_EQUAL(vm->error, BBZVM_ERROR_NONE);

    bbzvm_destruct();
    fclose(fbcode);
}

Here is the bzz file
function conflict_resolver(key, ld, rd) {
    print(ld);
    return ld
}

stig = stigmergy.create(0);
stig.onconflict(conflict_resolver)

function step() {
    var val = stig.get("data");
    print(val);
}

will provide more information after some more investigation.
And here is the bst
id
swarm
create
select
init
step
reset
destroy
join
unselect
leave
in
exec
intersection
union
difference
others
neighbors
foreach
map
reduce
distance
azimuth
elevation
count
kin
nonkin
data
filter
broadcast
listen
ignore
stigmergy
put
get
size
onconflict
onconflictlost
robot
timestamp
pos
x
y
orientation
__INTERNAL_1_DO_NOT_USE__
__INTERNAL_2_DO_NOT_USE__
print
forward
stop
turn

On the first stig, there is no conflict, the value is assigned
On the first step call, the value will be 2, which is fine
On the second onconflict call, the value is still ok
On the second step call, the value obtained from stig.get("data") is actually a string.

Here is the console output
[17: PUSHS 51]
[20: PUSHS 32]
[23: GLOAD]
[24: DUP]
[25: PUSHS 2]
[28: TGET]
[29: PUSHI 0]
[32: PUSHI 1]
[35: CALLC]
[36: GSTORE]
[37: PUSHS 51]
[40: GLOAD]
[41: DUP]
[42: PUSHS 36]
[45: TGET]
[46: PUSHS 50]
[49: GLOAD]
[50: PUSHI 1]
[53: CALLC]
[54: POP]
[55: DONE]
2 <-- first step call at line 11
[t:3]14 <-- on conflict call, line 2
[s]27 <-- on second step call, line 11, tries to increment a string.

I'm not sure how this is happening though. The change of the metadata is when bbzvm_process_inmsgs is called for the second time. So the value becomes the key (data has an strid of 27), which causes problems when using the stigmergy


check google-fonts: Fail families which only contain Kana

Observed behaviour
We pushed a Japanese family which only contains Kana. Atm, the GF sample text for Japanese uses all three Japanese writing systems so Kana only fonts will produce tofus.
This check should be deprecated once we implement a Kana only sample text.

@aaronbell, what do you think?

The particular issue for Otomanopee is that it contains some Kanji but doesn't contain a full Kanji set. So at first glance it appears not to be a kana-only font.
Rather than checking for kana-only (which Otomanopee would pass) I think that this check should evaluate if the font contains a minimum character set for Japanese Kanji. I'd suggest the JIS1 character set, which contains key characters for widespread use, and more frequent characters. It also contains the Kanji included in the GF string.
Interestingly, I'd actually suggest that once GF is able to display Kana-only fonts without issue, it would make sense to preserve this check and call out if the font contains some Kanji but doesn't contain the full JIS1 character set to encourage designers to fill out a minimum character set not unlike the requirement around the Google Font's Core glyphset.

We fixed this on the GF side - kana-only fonts are now allowed, and have their own sample texts.


Pipeline Engine Hooks

Adds a new PipelineHooks interface for instrumenting Pipeline executions.
Hooks can be passed to on a per-invocation basis to
SimplePipelineEngine.run_pipeline/SimplePipelineEngine.run_pipeline. They
can also be passed to SimplePipelineEngine to be applied to all pipeline
executions.
There are several implementations of the PipelineHooks interface, but the
only one useful to a user right now is ProgressHooks, which maintains a model
of the progress of the execution and hands it off to a publisher class to be
displayed to the user. The only interesting user-facing publisher is
IPythonWidgetProgressPublisher, which displays via an ipywidgets widget.

looks like Python 3 is failing a test, but the changes LGTM


Improve value summarization, remove explicit error aware variant

[x] Remove explicit error aware summarization variants; be error aware always
[ ] Internal primitive for side-effect free lookup of a concrete property
[ ] Improve summarization of errors
[ ] Improve summarization of functions
[ ] Improve summarization of buffer objects / views
[ ] Improve summarization of plain buffers
[ ] Config option for minimal size summarization (drop error awareness etc) for low footprint targets
[ ] Testcases for summarization (including corner cases like unsafe .name etc); needs #922 because the calls are internal now
[ ] Test fatal error uncaught error message manually

Starting with errors, a few possibilities and notes.
First alternative that comes to mind is to extend the class-based summary [object TypeError] to:
[object .name .message], e.g. [object TypeError foo]

Fall back to [object TypeError] if the .name or .message cannot be safely read of course.
A slight issue here is that if an error has .name Uint8Array (rare but possible) it can be confused with a buffer object. This could maybe be avoided by making the successful error aware serialization:
[error .name .message], e.g. [error TypeError foo]

The [error... prefix indicates safely that we're specifically serializing an error.
One small question is what to do if e.g. .name cannot be safely summarized but .message can (or vice versa). One can fall back to the generic variant of course but in some cases better behavior is possible. For example, if .name is not safe to serialize but .message is, one can print out [object <classString> message].
Another question is whether the class name should still be kept (or just .name). For built-in errors the results are almost always the same, e.g. class name for a TypeError is TypeError like its .name. The .name can of course be modified so they can differ, they just almost never do.
For this my initial reaction is to use the .name if safe: if it has been overridden there's usually a good reason so displaying that makes more sense than the class-based named. On the other hand hiding the class-based name means that the error summarization is not a superset of the generic object summarization. But maybe that's small enough a technicality to ignore; showing both would look a bit silly, e.g. [error TypeError TypeError foo].

For concreteness on the last example:
[error TypeError TypeError foo]     for new TypeError('foo')
[error TypeError MyErrorName foo]   for err = new TypeError('foo'); err.name = 'MyErrorName';
[error Object MyErrorName foo]      for a user error which is a subclass of TypeError

Using the .name only:
[error TypeError foo]     for new TypeError('foo')
[error MyErrorName foo]   for err = new TypeError('foo'); err.name = 'MyErrorName';
[error MyErrorName foo]   for a user error which is a subclass of TypeError

Using class only:
[error TypeError foo]   for new TypeError('foo')
[error TypeError foo]   for err = new TypeError('foo'); err.name = 'MyErrorName';
[error Object foo]      for a user error which is a subclass of TypeError

For me the .name only variant is most intuitive.

This will need a bit of groundwork: there's no internal primitive yet for looking up a property with no side effects, except for own properties. But .name is almost always inherited.

Quoting for .name and .message is a potential issue but more of a technicality than a real issue:

If .name has spaces the name and the message will not be cleanly delineated, e.g. if .name is TypeError foo and .message is bar the result is [error TypeError foo bar] which is indistinguishable from .name TypeError and .message foo bar. However, error names don't by convention have spaces.
Message may contain e.g. a closing bracket which may be confusing. But still readable.

Agreed on .name only being most intuitive, preferably with an optional fallback to the class name if that isn't safe.

Added a summary(x) binding to "duk" for testing:
duk> err = new TypeError('asdasdasdasdasdashdasdijdsaoidsaoijdsaoijdsaijdsaoijdsaoijdsadsa')
= {}
duk> err.name='TypeError'  // needed for now
= "TypeError"
duk> summary(err)
= "[error TypeError asdasdasdasdasdashdasdijdsaoidsa...]"

It will have to be removed before merge because the API is not yet public.

Changed .name handling so that if it's not safe to summarize, the class string is used instead. As a side effect the class string is used now when the property is not found in the object itself (no inheritance check yet) so the result is now:
duk> summary(new TypeError('aiee\u0000foo'));
= "[error Error aiee\\x00foo]"

I remembered the internal class numbering incorrectly: built-in errors have just one class so that e.g. TypeError is just an Error as far as its class is concerned. Which means .name is clearly more useful.

Even in its current state (not having Function or bufferobject support) the pull adds slightly less than 1kB to the minsize build so I'll probably need to work in some footprint controls.

Ouch, yeah, 1kB is pretty high especially for a feature that's mostly only useful for debugging.  Maybe there should be a compiler option for "verbose" summarization, and use basic summaries otherwise.

Since errors are being summarized as [error ...] here, maybe functions should be e.g. [function ...] (instead of [object Function]).

For functions interesting information includes:

Function type: native, Ecmascript, bound. Though one could indicate "bound" and also the type of the final function in the bound function chain (e.g. bound and native, bound and Ecmascript).
Function .name
Function .fileName
Function argument count and/or external .length

No idea what's in practice useful. The Function.prototype.toString() stringification includes function .name and its type, categorized to "native", "ecmascript", or "bound". Summarization matching that would be e.g.:
[function native cos]

or:
[function cos native]

Maybe there should be a compiler option for "verbose" summarization, and use basic summaries otherwise.

Agree, it's somewhat similar to verbose/non-verbose errors.

I believe Node.js REPL summarizes functions like [Function cos], might be misremembering that though.

I think it's [Function: cos].

For errors:
> new TypeError('aiee')
[TypeError: aiee]
> err = new TypeError('aiee'); err.name = 'FooError'; err
{ [FooError: aiee] name: 'FooError' }

Although that's a bit different because it's also summarizing property values etc. Which gets us back to expected application use cases: should properties also be summarized safely, should that be done only for the top level or N levels, etc. There are a lot of use cases unfortunately to make good API design choices, so I still think one important goal is to provide enough inspection capabilities to allow applications or libraries do to inspection by themselves.

Agree with using [Function ... over [object Function. Similarly:

Plain buffer can be just [buffer ...; the lowercasing indicates it's a primitive value. Alternative would be maybe [PlainBuffer ....
Buffer objects don't need a [buffer ... prefix because the class names are known so they could be directly [Uint16Array... etc.

The error summary requires that the object inherits from Error.prototype, has a string .name and a string .message. Current summarization is [error <name> <message>] but maybe we can overlook the potential confusion and use [<name> <message>] directly. For example: [MyError invalid argument].
The potential for confusion is relatively low because this only affects actual Error instances (values inheriting from Error prototype) and .name has been explicitly set so it's presumably something useful. Sure, it can be ArrayBuffer but it's not likely to be a concrete concern.
To summarize, these changes would result in:
[buffer deadbeef 4 bytes]
[PlainBuffer deadbeef 4 bytes]   // alternative for plain buffer
[Uint16Array<PHONE_NUMBER>000400 8 bytes]
[MyError invalid argument]
[Function cos]

Removing the "object" from generic object summary would also be possible, e.g. [Array] instead of [object Array]; it doesn't really add any information. It does have the merit of being recognizable as the Object.prototype.toString() coercion but that's not very important I think.

@fatcerberus Added a testcase for manual summary tests: https://github.com/svaarala/duktape/pull/969/commits/3a36e5825b056df5e36fdd5ddda1290311dee5b4.
This is the current printout:
error .name getter!
errd.name: FakeName
undefined
null
true
false
123
Infinity
-Infinity
NaN
''
'foo'
'foo쫾\x00bar'
'longstring1234567890abcdefghijkl...'
'x\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...'
[buffer 666f6fecabbe626172 9 bytes]
[buffer<PHONE_NUMBER>3637383930313233343536 16 bytes]
[buffer<PHONE_NUMBER>3637383930313233343536... 30 bytes]
[buffer<PHONE_NUMBER>0000000000000000000000... 100 bytes]
[ArrayBuffer<PHONE_NUMBER> 5 bytes]
[ArrayBuffer<PHONE_NUMBER>0000000000000000000000 16 bytes]
[ArrayBuffer<PHONE_NUMBER>0000000000000000000000... 50 bytes]
[Uint16Array<PHONE_NUMBER>000400feca0dd0 12 bytes]
[Uint16Array<PHONE_NUMBER>000400feca0dd034122143 16 bytes]
[Uint16Array<PHONE_NUMBER>0004000500060007000800... 32 bytes]
[DataView<PHONE_NUMBER>000400feca0dd0 12 bytes]
[DataView<PHONE_NUMBER>000400feca0dd034122143 16 bytes]
[DataView<PHONE_NUMBER>0004000500060007000800... 32 bytes]
[URIError failed to convert URI]
[Error]
[TypeError invalid argument]
[Error]
[MyError aiee]
[Function cos]
[Function myFunction]
[Function myFunction2]
[Function cos]
[String]
[Boolean]
[Number]
[Date]

In the pull the [error TypeError ... prefix is now just [TypeError .... Functions only have the function name (no info on arguments or type). The [object XXX] generic output has been shortened to [XXX].
There's not yet support for boxed types String, Boolean, Number, which would make sense. Similarly summarizing Date objects by either showing the time value or ISO 8601 UTC formatting of the Date would be useful.

Random notes:

Maybe indicate truncated string character length? Including it for all strings would be spammy.
Maybe omit byte length for non-truncated buffers (would then match string behavior). "... 32 bytes" could be shortened to "... (32)" or "... 32b".
Buffer bytes are now joined without spacing, maybe de ad be ef is more readable than deadbeef.
For views the segments would ideally match view byte size, e.g. Uint16Array 0100 0200 0300 0400.
Anonymous function (name is empty string) now comes out as [Function ] while [Function] would be better.
String, Boolean, Number should maybe be unboxed, e.g. [String foo\x00bar].
Date support, e.g. [Date 1970-01-15T06:56:07.890Z].
Thread support, maybe indicate state?
RegExp support, e.g. [RegExp /myRegexp/g].

The more I work on this the more I have nagging doubts about the different available mechanisms. For example, summaries don't include property values now (not even for the first level) so one may still need to use JX. But JX doesn't provide the level of introspection summaries now provide.
Contrast to the Node command line:
> x = [1,2,3]; x.foo = 'bar'; x;
[ 1, 2, 3, foo: 'bar' ]
> y = new Date(1234567890); y.myProperty = 123; y;
{ Thu, 15 Jan 1970 06:56:07 GMT myProperty: 123 }
> z = {}; Object.defineProperties(z, { foo: { get: function myGetter() {}, enumerable: true }, bar: { value: 123, enumerable: true } }); z;
{ foo: [Getter], bar: 123 }
> w = new TypeError('invalid argument'); w;
[TypeError: invalid argument]

This kind of introspection both shows useful type-specific information (like the formatted date, similar to summary strings in this pull) but still shows further properties in the objects (like JX). Getters/setters are indicated as such and are not invoked (not supported in JX).
Maybe I should be working first on the missing introspection features to allow Node-style introspection to be implemented from the application side. With that in place it might be easier to figure out the best roles for JX and summaries.
I can complete this pull without answering that by sticking to formatting the object specifics without going into property keys at all. It'd then be an improvement over master anyway (provided that the low memory variant didn't increase footprint significantly) so it can be merged in any case. But this whole API area is not very clean cut right now :-/

w.r.t. introspection: It might be worth looking into the Reflect API introduced in ES6.  It looks like it might align with some of the goals here.

I don't think Reflect brings much more capability than what's already present e.g. via Object bindings? What bindings did you have in mind?
Somewhat related: it's useful to have stable introspection API calls that align with how object behave in Ecmascript. It's also useful to have less stable introspection APIs to expose things like "is this array internally dense?" or "is this buffer object backed by a fixed, dynamic, or external buffer?" or "is this value represented internally by a fastint?". I would really like "duk" to display this information because it'd make it easier to understand how e.g. fastints work.

For some reason when I wrote that, I thought Reflect had more comprehensive introspection stuff than it does.  I found it otherwise when I actually implemented it :)
Honestly though JavaScript doesn't really need that much reflection stuff, as a programming platform it's naturally pretty transparent already.

Agree, it's quite possible to implement a reasonably useful colorized, pretty printed value summary like DukLuv does. It uses just Ecmascript code and Duktape.info() to get at a few details under the hood.
But the problem with that plain Ecmascript approach is that it's difficult to do safely without triggering any side effects: any properties can be getters/setters and any value can be a Proxy. While you can work around getters/setters using Object.getOwnPropertyDescriptor(), Proxies are a bit more difficult because traps can be invoked even if you just try to read a property descriptor. And a trap may then busy loop for example.
So what I'm mostly missing is a side effect free way to inspect values "deeply" so that you could get access to internals too (even if they won't be version stable). For example, a more versioning friendly take on Duktape.info() which could return an object like:
{
    "type": 3,
    "internalType": 65531,
    "classNumber": 30,
    // ..
}

For versioning friendliness it could accept an object argument to provide control flags and parameters if they become necessary. An object argument is, again, quite version friendly and robust against parameters being added and removed.
This could provide the basis for doing various console dumps and such without introducing a lot of API primitives. The same binding could also be exposed to C code, through an API which just pushed an object on the value stack (a C struct would be pretty hostile versioning-wise).

@fatcerberus Regarding Reflect, I don't really understand why it duplicates so much of what Object already does, but just with small variations. I could understand the variations if Object was left untouched, but also Object semantics (e.g. for coercion) have also been changed slightly. Maybe there's a longer term plan.


Remove old EBS and snapshot stuff.

Restarting travis: we bumped into a groups quota: it looks like everything.sh isn't cleaning up after itself.

@afred? It's also not cleaning up the groups, so I'll look into that.

@afred?


Fix Multisig Transaction cache direction

This PR fixes a bug which was found while working in the transaction creation endpoint:

TransactionApi.getMultisigTransaction was using CacheRouter.getMultisigTransactionsCacheDir instead ofCacheRouter.getMultisigTransactionCacheDir.

The compiler allowed this because the input parameters types matched, but the inner logic to compose the key is different between functions. This Transaction API function and cache direction weren't used until now so the bug wasn't detected.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 90.208%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/datasources/transaction-api/transaction-api.service.ts
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
3732

Relevant Lines:
4085

💛  - Coveralls


Theming context menu of Firefox

Hello,
I'm no coder, using color.firefox.com to make themes. I couldn't find the elements to theme the browser's context menu ? There re properties for popup menu but they only work for the menus from the toolbar, not context menu.
How can I do this ?
Any help will be greatly appreciated.

Update: Tooltips are also not themed.

Hey! Context menus and tooltips are a part of system UI and they are not stylable. Also, this repository is not the right place for such questions. I’d suggest asking questions on Reddit, for example.


set default for compression to what is in the repo file

We decided to go for a global default of snappy for parquet and uncompressed for csv, so I'm closing this for now.


Feature: Add reset user password CLI command

Implement reset-password command that updates a user's password given a username and password argument.
Example usage
$ taskcafe reset-password jordan i_am_sneaky
Updated user "jordan" password

Relevant files

internal/commands/commands.go
internal/commands/token.go - this is a good example of how a command can be implemented
internal/db/user_accounts.sql.go - implementation of user DB access methods
internal/db/query/user_accounts.sql - SQL query file that is turned into the above implementation

Please take a look at the developers guide for an idea on how the project is structured.

Would love to work on this. Is it still free?

@IJustDev It is still available

I've gone through the files you have mentioned. Unfortunately I don't see an example that explains how to create a query from within a cli command.

[ ] Do I need to connect to the database myself?
[ ] How to query the database?
[ ] Shall we add this to the developer documentation? Would be a huge help.

Hi @JordanKnott , I have gone through the issue and looked into the code as well. My approach would be -

I will write a handler for reset user password under route package.
2 To update the existing password after resetting the old one, I will write a query in user_acc_seq.go file under db package.
I will test the API on the local machine and will make other changes if needed.

Please let me know if this ticket is still open. I would like to work on this.

@IJustDev

Do I need to connect to the database myself?

Yes, You can see an example on connecting to the database in internal/commands/web.go line 35-40.

How to query the database?

With the connection you can create the repository object which has various methods for interacting with the database. (the methods are generated by sqlc from the query files in internal/db/query).
For example, to set the user password with you can do
repository.SetUserPassword(ctx, db.SetUserPasswordParams{UserID: userID, PasswordHash: passwordHash})

Passwords are hashed using bcrypt, an example on how to do so can be found in internal/graph/schema.resolver.go line 767
Hopefully the above helps!

Shall we add this to the developer documentation? Would be a huge help.

I've working on the developer guide as I have time, I'll try and add a section on database access.
@vishals11 It is easier to just reset the password using a direct database connection than trying to use a graphql endpoint. Unless @IJustDev no longer wishes to work on this, then the issue is currently claimed

I will try to include it tomorrow. If I don't manage within 24 hours I would love to see you working on it @vishals11 if you still want to.

So I've implemented it and will create a pr in a short time. Let me know what you think.


No text in articles (only images)

Describe the bug
I only see some images in blog posts, but no text. Pretty much the oppsite of #286.
To Reproduce
Not sure

Installed Raven Reader on Windows 10, 1903
Imported 5 feeds via OPML vom RssOwlnix

@larsen0815 Did you downloaded latest version? https://github.com/mrgodhani/raven-reader/releases/tag/v0.5.1 that was fixed there

I thought I did, because I downloaded it from https://ravenreader.app/, but apparently it's not hosting the latest version (only 0.5.0). Fixed in 0.5.1, thanks!

@larsen0815 Sorry about that. The website needs some update on the landing page so working on it.


FIX Suggested when PHP E_NOTICE is enable in error_reporting function

Hello,
i have seen if E_NOTICE is enabled the spp.class.php does not work well because the extra output produced by error manger of PHP. I found that the problem depends from this two part of code :
in fileter function near line 175 i added a check for $request['columns']
static function filter ( $request, $columns, &$bindings )
{
   ...
// Individual column filtering

if(isset($request['columns']) && is_array($request['columns'])) // <---- CONTROL ADDED
    for ( $i=0, $ien=count($request['columns']) ; $i<$ien ; $i++ ) {
    ......
   }
   ...
}

the second fixes is in the end of  SPP::simple and SPP::complex  functions :
              /*
               * Output
               */

		return array(
			"draw"            => intval( isset($request['draw'])?$request['draw']:0 ), // <----- CONTROL ADDED
			"recordsTotal"    => intval( $recordsTotal ),
			"recordsFiltered" => intval( $recordsFiltered ),
			"data"            => self::data_output( $columns, $data )
		);

These are simple fixes but helped me :D

Hi, thanks for this. But both those parameters should be sent by DataTables. Are they not for you?

'draw'  yes
'columns' sometimes no
i made this 'patch' also to call directly the endpoint tho check the data transmitted :D

I don't quite understand I'm afraid - DataTables should not be sending data with the columns parameter - that is a bug if it is happening. Can you link to a test case please.

i found this issue in AdminLTE bootstrap theme

Can you link to a test cadd showing the issue please.

Case*

I will link it soon

When i was creating the code to reproduce the issue, i discovered that the problem was generated by a php code included into the script that uses the SPP class.This script overwrites the $_GET['result'] variable with a string or calls unset() on $_GET['result'] under certain conditions.
At this point, i suppose that these fixes  are useful only to call directly the script that uses SPP :D

I don't see any issue with a bit of defensive programming here, even if it isn't really needed for use with DataTables. I've committed the changes](https://github.com/DataTables/DataTablesSrc/commit/8f37b0e2a10107dc342) into the Src repo.
Thanks for bringing this up.

Thank you :D


compile python user code before running it to allow interactive debugging

solve #137
This PR implements support for the python debugger. This allows you to add a breakpoint in the code and explore the running context.
I didn't have to introduce new tests. There was already a test that cover
The file name appears in error messages when the user changes the python code and breaks it.

This is a great enhancement and useful beyond the debugger, thanks for submitting!