get_filename4code should have an accompanying function to get rid of the temporary directories

As far as I understand the code the function get_filename4code is supposed to create a temporary directory to work with files while doing the filtering. Unfortunately there is no suggested function that cleans up the temporary files after filtering. This leads to a lot of pandoc filters to leave directories in the current running pwd that are not really necessary anymore (e.g. mermaid_images, plantuml_images etc.). These files get generated in whatever directory the filter was executed.
On top of the clean-function the code should maybe be impemented by using real tempdir-functionality, thereby creating the files in a temp-directory of the server. Because based on where you start pandoc and what permissions you have in the current directory the current approach can lead to errors, when the directory can't be created, or worse, dirtying of directories that by chance have the same name.

I agree with all of this.  However, this project is in a 'barely maintained' state right now.  I'm not a Python programmer.  If you want to submit a PR, I'd definitely consider this change.
You might also consider panflute, which is a more fully featured and Pythonic library for writing pandoc filters.

Most if not all of the pandocfilters examples are ported to panflute. You can give it a try: https://github.com/sergiocorreia/panflute
I'm not aware of such a helper function in panflute to create temp-dir. (but you should check first.) But you can submit PR there and I can help merging it.

I created a PR to correct the behaviour. https://github.com/jgm/pandocfilters/pull/88


Remove obsolete CopySrcInsteadOfClone source-build property

Copy is now the default/only behavior.  This property was removed with https://github.com/dotnet/source-build/issues/4117
Microsoft Reviewers: Open in CodeFlow

hmmm, I forgot aspire is on a 8.0 version of arcade.  This can't be removed until 9.0 arcade is picked up.


Add ConfigMap template for plugins configuration

Fix #435

Sorry, I just started the starboard-operator without deploying a workload to scan.
I reproduced the error and the last commit fixes it.


Support a token store interface within the OAuth2 implementation

Multi threaded or multi process apps can get race condition, when each process/thread will refresh token and store it to storage "simultaneously".
It would be great to have opportunity implement thread-safe TokenProvider and set it to Google_Client
Example:
interface ITokenProvider {
    public function getToken();
}

class MyTokenProvider implements ITokenProvider {
    public function getToken()
    {
        // TODO: Implement getToken() method from somewhere
    }
}

$client = new Google_Client();
$client->setTokenProvider(new MyTokenProvider());

@Scorcher Is this issue still relevant? If so, are you able to create a pull request for this feature?

@bshaffer I think the implementation around token has been changed, so can we close this now?

Closing this. Google_Client has a setTokenCallback method that can be used to handle this situation. Also, the Cache class can be customized by anything implementing the PSR-6 standard.


Simple Benchmarks

Finish simple benchmarks per issue #100

Closing in favour of https://github.com/silversixpence-crypto/dapol/pull/125


[#1085] Grid pattern in the screen background

Closes #1085
Closes #1091
These are prerequisites for the Dark mode adoption within #1011
A few unused UI components have been removed to simplify the dark mode adoption
BlankSurface and GridSurface have been added and used instead of the previous GradientSurface
A new BlankBgScaffold, GridBgScaffold, BlankBgColumn, and GridBgColumn UI components have been prepared to provide an easy grid or blank screen background adoption across the whole app
Several colors from resources have been eliminated, as the design doc simplified its color palette
The grid pattern has been added to the screens according to the design doc and iOS platform
Changelog updated

Example screens:

Note
This code review checklist is intended to serve as a starting point for the author and reviewer, although it may not be appropriate for all types of changes (e.g. fixing a spelling typo in documentation).  For more in-depth discussion of how we think about code review, please see Code Review Guidelines.

Author

[x] Self-review your own code in GitHub's web interface[^1]
[ ] Add automated tests as appropriate
[ ] Update the manual tests[^2] as appropriate
[ ] Check the code coverage[^3] report for the automated tests
[x] Update documentation as appropriate (e.g README.md, Architecture.md, CHANGELOG.md, etc.)
[x] Run the app and try the changes
[x] Pull in the latest changes from the main branch and squash your commits before assigning a reviewer[^4]

Note
It is good practice to provide before and after UI  screenshots in the description of this PR. This is only applicable for changes that modify the UI.

Reviewer

[x] Check the code with the Code Review Guidelines checklist
[ ] Perform an ad hoc review[^5]
[ ] Review the automated tests
[ ] Review the manual tests
[ ] Review the documentation, README.md, Architecture.md, etc. as appropriate
[ ] Run the app and try the changes[^6]

[^1]: Code often looks different when reviewing the diff in a browser, making it easier to spot potential bugs.
[^2]: While we aim for automated testing of the application, some aspects require manual testing. If you had to manually test something during development of this pull request, write those steps down.
[^3]: While we are not looking for perfect coverage, the tool can point out potential cases that have been missed. Code coverage can be generated with: ./gradlew check for Kotlin modules and ./gradlew connectedCheck -PIS_ANDROID_INSTRUMENTATION_TEST_COVERAGE_ENABLED=true for Android modules.
[^4]: Having your code up to date and squashed will make it easier for others to review. Use best judgement when squashing commits, as some changes (such as refactoring) might be easier to review as a separate commit.
[^5]: In addition to a first pass using the code review guidelines, do a second pass using your best judgement and experience which may identify additional questions or comments. Research shows that code review is most effective when done in multiple passes, where reviewers look for different things through each pass.
[^6]: While the CI server runs the app to look for build failures or crashes, humans running the app are more likely to notice unexpected log messages, UI inconsistencies, or bad output data. Perform this step last, after verifying the code changes are safe to run locally.

FYI, the test_robo_debug CI test fails due to the current Firebase Teslab outage. See https://status.firebase.google.com/


chore: update go SDK

Proposed changes

Updates the CLI to use the new SDK
Checklist

[x] I have signed the MongoDB CLA
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added any necessary documentation in document requirements section listed in CONTRIBUTING.md (if appropriate)
[ ] I have addressed the @mongodb/docs-cloud-team comments (if appropriate)
[ ] I have updated test/README.md (if an e2e test has been added)
[x] I have run make fmt and formatted my code

Further comments

Note: the failure is not related to the SDK upgrade, I created a ticket https://jira.mongodb.org/browse/CLOUDP-244477


fix: complete example must restrict region

Description
Update the complete example to restrict the region selection (for Key Protect instance and key) to a region that supports high availability. This is required to support cross region object storage high availability model.
The test already forces the region to us_south, so the test should always pass. This change should cause the complete example to fail locally at the terraform plan phase if an unsupported region is selected.
Issue #200
Types of changes in this PR
No release required

[x] Examples or tests (addition or updates of examples or tests)
[ ] Documentation update
[ ] CI-related update (pipeline, etc.)
[ ] Other changes that don't affect Terraform code

Release required

[ ] Bug fix (patch release (x.x.X): Change that fixes an issue and is compatible with earlier versions)
[ ] New feature (minor release (x.X.x): Change that adds functionality and is compatible with earlier versions)
[ ] Breaking change (major release (X.x.x): Change that is likely incompatible with previous versions)

Release notes content
Replace this text with information that users need to know about the bug fixes, features, and breaking changes. This information helps the merger write the commit message that is published in the release notes for the module.

Checklist for reviewers

[x] The PR references a GitHub issue.
[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

Merge by using "Squash and merge".

Use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author.
The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).

:tada: This PR is included in version 5.9.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


xonsh: 0.9.8 → 0.9.9

Motivation for this change
xonsh is (slightly) out of date
Sorry about sending this so soon after the previous one was merged, xonsh updates quickly
Things done

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

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

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

Notify maintainers
cc @spwhitt @vrthra

@GrahamcOfBorg build xonsh


Execute find command twice will choose the first selected item

Sometimes I trigger the search command in terminal and want to search it later, then I hide the terminal, and second time I trigger the command it will make me jump to the first selected item from the hidden terminal, maybe type command twice without enter can just open panel(if it is invisible) and does nothing?

Hi @xzbdmw, I'm aware of this. Unfortunately because VS Code doesn't give much control over the terminal, it's a pesky one. I'm not sure if it can be solved.

Hi @xzbdmw, thanks for reporting. I'm aware of this. Unfortunately because VS Code doesn't give much control over the terminal, it's a pesky one. I'm not sure if it can be solved.

If you close the terminal and open it again using toggle panel visibility is gonna be left in the search that was made before. That's the request right?
You could maybe add an If statement that tells if the cx has used the command without enter and if the command is trigger again is gonna send toogle panel visibility instead of the command

I investigated a bit and it seems like the flow is the following:

Request "Fint It Faster: search file"
A terminal is open and all is good
Request "Fint It Faster: search file" (without having selecting a file in step 2)
Then the extension is sending `<path_to_extensions>/find_files.sh  '/Users/mmangel/Workspaces/Github/ionide/ionide-fsgrammar/sample-code'  + a CR
This new text tells fzf that the user selected <path_to_extensions>/find_files.sh  '/Users/mmangel/Workspaces/Github/ionide/ionide-fsgrammar/sample-code' but because the file doesn't exist then fzf returns 1 meaning - 1: No match`

Source - FZF CHANGELOG
0.10.6
------

- Replaced `--header-file` with `--header` option
- `--header` and `--header-lines` can be used together
- Changed exit status
    - 0: Okay
    - 1: No match
    - 2: Error
    - 130: Interrupted
- 64-bit linux binary is statically-linked with ncurses to avoid
  compatibility issues.

This behaviour can be confirmed by telling VSCode to not execute the command provided term.sendText(getCommandString(commands[cmd]), false);
https://github.com/tomrijndorp/vscode-finditfaster/assets/4760796/0aa1c068-3507-4225-966c-b366f54b0163
Using VSCode API it is possible to send Ctrl+C to a terminal:
await vscode.commands.executeCommand("workbench.action.terminal.sendSequence", { text : "\x03" });

I am trying to explore if we send Ctrl+C every time before running find_file.sh as it would allows us to detect that fzf was just interrupted and ignore that result.
And then we could load a new instance of find_file.sh reverting in a more usable state. We will still lose any query that the user could have written in the previous fzf process but at least this would avoid avoid to call find_file a third time to return to a usable state.


Updating Article Logic

connecting API Articles
fixing item article layout
creating logic to display list of articles and save item article using bookmarks feature

The feature works very well, good job Arina


feat/tests: Add spectron for automated testing MAID-2403

This is for our beaker browser, so I'm closing it as this may be obsolete since we are moving onto Peruse.


Added some aliases for roles on Server and some option fixes

welp thought i selected indev, fuck.


docs(accordion): order the different settings

When writing the docs, I always get new ideas. Ordering the settings is one of them.

Got cool ideas for docs, so I will merge this to not having to rebase later (lazy~)


Bridge request for CSS selector

Bridge request

We already are able to get the Posts and there summery out of nearly every Website due to XPath. But we can't get the whole Article in RSS.
But FreshRSS has a Feature called "CSS selector" which finds the Post Content throuh CSS classes. That would also be a very nice Bridge for RSS Bridge, since not all Readers have that feature.
General information

Host URI for the bridge (i.e. https://github.com): The Pull Request or RSS Bridge

Which information would you like to see? The ones given from the Feed (Title, time, URL and more) and the whole Article, not only the description.

How should the information be displayed/formatted?
Normaly

Which of the following parameters do you expect?

[X] Title
[X] URI (link to the original article)
[X] Author
[X] Timestamp
[X] Content (the content of the article)
[X] Enclosures (pictures, videos, etc...)
[X] Categories (categories, tags, etc...)

Options

[X] Limit number of returned items

Default limit: -1 (All)

[ ] Load full articles

Cache articles (articles are stored in a local cache on first request): yes
Cache timeout (max = 24 hours): 24 hours

[ ] Balance requests (RSS-Bridge uses cached versions to reduce bandwith usage)

Timeout (default = 5 minutes, max = 24 hours): 5 minutes

RSS feeds for arbitrary websites, using CSS selectors.
A similar service was found. I believe that this can be improved more easily.
https://feed-me-up-scotty.vincenttunru.com/
Google Sheets to RSS Feed
https://crssnt.com/

I think this is something different. I meant a Bridge whitch opens every entry of the Feed and extracts the whole article to not only give out the summary but the whole article  in the feed.
Could be done using XPath or CSS I think...

I changed the title to make it more clear

This is a Site which does the Job: http://ftr.fivefilters.org/
But it's very limited on the Free Plan, so I would still really like an alternative from RSS-Bridge

Hi,
I meant a Bridge whitch opens every entry of the Feed and extracts the whole article to not only give out the summary but the whole article in the feed.
Doesn't the "Feed Expander Bridge" prepare exactly that? You could go in and add a retrieval code for the content but it would be site specific.
https://github.com/RSS-Bridge/rss-bridge/blob/master/bridges/ExplosmBridge.php
Explosm Bridge does basically that. The feed itself only has a preview of the image. The bridge goes into every item and pulls the actual image from the post. You could do the same for the post content that you want.

@Bockiii
Hi,
I meant a Bridge whitch opens every entry of the Feed and extracts the whole article to not only give out the summary but the whole article in the feed.
Doesn't the "Feed Expander Bridge" prepare exactly that? You could go in and add a retrieval code for the content but it would be site specific.
https://github.com/RSS-Bridge/rss-bridge/blob/master/bridges/ExplosmBridge.php
Explosm Bridge does basically that. The feed itself only has a preview of the image. The bridge goes into every item and pulls the actual image from the post. You could do the same for the post content that you want.

Thank you very much, with that help I was able to create the Bridge and made a Pull Request.


Circular references in neo-js

Would like to start a formal issue to discuss my concern about circular references currently in the project.
Although it is technically legal in JavaScript however I still think it as an anti-pattern that we should avoid to keep the code friendlier.
Here's an existing StackExchange discussion, maining stating why it is a bad thing:

https://softwareengineering.stackexchange.com/questions/11856/whats-wrong-with-circular-references

PR #132


PR of video stream issue

Add the touch event when click on the screen.
Solved the crash problem during video stream transmission.

@luwanjia
This PR contains mine merge operations, you should firstly use rebase command, and then send pull request.

好的，我先rebase一下

This PR is to fix issue #9


Add basic bind type framework.

Allows for new types to be bound.
Found when I tried the Postgres JDBC driver.
Just added a OID->Type mapping and the how to parse the types.
Examples for Integer and Float types. Other types will likely need some more work.

Also added date, time, and timestamp. The protocol seems weird here, these are send as text, and typeoid is sent as 0. This is only the case for date-like types.
Testing with the postgres JDBC driver.

And describe statement needs to work for this as well.

Thanks so much for figuring this out @lhofhansl!

There is still some weirdness. The following scenario creates an error on the JDBC client:

Set the client to use server prepared statements
create a PreparedStatement and pass in a date as a bind variable
execute that statement at least twice...
The second call will fail to decode the results

That only happens with server prepared statements and when a date, time, or timestamp is passed.

The behavior of the JDBC client is really strange here. Without a data passed the driver issues a

parse
bind
describe portal
execute
bind
execute

But a data is passed as a bind variable it turns into:

parse
describe statement
bind
execute
describe statement
bind
execute

In the second case the problem is that describe statement knows nothing about encoding formats (text or binary), for the second execute the client requested binary result formats but then tries to decode them as text.
Would need to debug the write protocol with a real Postgres... Won't have time for that for a bit.

a really weird kind of fun

Indeed :)
What's different from real Postgre is a missing ParameterDescription message after a describe(statement).
Feels like a different PR, but this is all intertwined with the parameter passing,

Now it works. More frail than I like, but perhaps it'll do for now.

Btw. I figured this out with tcpdump and pgshark.

@jwills Want me to merge this one?

yes, please-- @lhofhansl feel free to merge whenever we've talked and the tests pass 💪


Disable Keys / Shortcuts

Hello dear react-flow team,
as recently discovered, react flow now also supports specific key shortcuts for various functions. We developed with react-flow for a longer time and build a custom interface and shortcut behaviour for our react-flow visualization. Therefor we want to disable the shipped behaviour of react flow and the shortcut keys. By now we would have to provide unreachable keys like null to props like deleteKeyCode or similar. When from time to time we update react-flow and there will be more shortcuts added we will most likely miss updates and possibly break our experience on not disabled shortcuts. For us it would be the best to set a prop keys to false so we can opt-out of the provided shortcuts however they are going to improve or change. Would it be possible to have a prop like that in the near future?

We will not add a general keys option to opt-out all shortcuts but added null as a valid type to remove the handler. We only have three short cuts and we don't plan to add more.


🐛 Add missing reference behavior field #59

Should address issue #59

@fernandolucchesi thanks for the fix! I will get this through


Icons changing size on hover is annoying

Icons change size on hover, which is not very comfortable. They should have another type of highlight, less intrusive. Either as in Blockly/VPL in Aseba, or something else but that does not change the size.

I find this ok and dynamic, I did not find thyt annoying

No modern good design is doing this. It looks cheap and is disturbing. See this entry for an explanation why. Maria spend a lot of time creating a strong design style for VPL, please do not destroy it.
Regarding design, a good modern guidelines we use on mobile platforms for VPL is the Google material guidelines.

Done.


Mask data based on field name, rather than field data

Is it possible to create a Masking Operator that masks specific fields regardless of their data? An example would be a password field
Before:
{
    "username": "MyCustomeName",
    "password": "MyPassword"
}

After:
{
    "username": "MyCustomeName",
    "password": "*** MASKED ***"
}

@Eliemer thanks for this suggestion, it's implemented in ff4ac0c8f1a66e3a2d52c4619560e5e6e901b75b and should be on NuGet soon as version <IP_ADDRESS>

The new version is now available on NuGet


Create an ObsPack from inputs

Is your feature request related to a problem?
Want to be able to put together an ObsPack output from the data stored in the object store.
Describe the solution you'd like
Will need to add functionality which can take in search criteria (initially can be just a config file containing search details but can move to using tags as needed), search the object store and then compile these details into an output ObsPack.

Summary from openghg retreat

Check internal formats

ICOS formatting - #1077

How do we define an ObsPack?

tags? config files? both?
what groundwork do we need for this?

Set "tag" to be a special keyword e.g. tag=["paris", "gemma_obspack_v1"] - #1079
Create search + compile function


Installation crashes

-------------------------------------Starting server----------------------------------------------------
2018-06-06T19:38:27.729Z - info: Initializing Sequelize...
2018-06-06T19:38:29.228Z - info: Finished Connecting to Database
2018-06-06T19:38:29.229Z - info: Initializing Stack...
2018-06-06T19:38:29.232Z - info: Initializing LocalVariables...
2018-06-06T19:38:29.234Z - info: Initializing Middleware...
2018-06-06T19:38:29.298Z - info: Initializing ViewEngine...
2018-06-06T19:38:29.298Z - info: Initializing Session...
2018-06-06T19:38:29.308Z - info: Initializing Modules Configuration...
2018-06-06T19:38:29.328Z - info: Initializing Helmet Headers...
2018-06-06T19:38:29.329Z - info: Initializing Modules Client Routes...
2018-06-06T19:38:29.329Z - info: Initializing Modules Server Policies...
2018-06-06T19:38:29.629Z - info: Initializing Modules Server Routes...
2018-06-06T19:38:30.807Z - info: Initializing Languages ...
2018-06-06T19:38:30.807Z - info: Initializing Error Routes...
2018-06-06T19:38:30.808Z - info: Initializing Socket.io...
Running HTTP server
events.js:160
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::80
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at Server._listen2 (net.js:1262:14)
at listen (net.js:1298:10)
at Server.listen (net.js:1394:5)
at /home/user/backoffice-administration-master/config/lib/app.js:26:9
at Object.init (/home/user/backoffice-administration-master/config/lib/app.js:15:17)
at Object.start (/home/user/backoffice-administration-master/config/lib/app.js:23:9)
at /home/user/backoffice-administration-master/server.js:91:22
at /home/user/backoffice-administration-master/node_modules/async/dist/async.js:473:16
at next (/home/user/backoffice-administration-master/node_modules/async/dist/async.js:5329:29)
at /home/user/backoffice-administration-master/node_modules/async/dist/async.js:969:16
at /home/user/backoffice-administration-master/server.js:85:9
at nextTask (/home/user/backoffice-administration-master/node_modules/async/dist/async.js:5324:14)
at next (/home/user/backoffice-administration-master/node_modules/async/dist/async.js:5331:9)
at /home/user/backoffice-administration-master/node_modules/async/dist/async.js:969:16
root@greens:/home/user/backoffice-administration-master#

I Have Exactly the same problem

2018-06-10T16:55:59.724Z - info: Initializing Sequelize...
2018-06-10T16:56:03.372Z - info: Finished Connecting to Database
2018-06-10T16:56:03.373Z - info: Initializing Stack...
2018-06-10T16:56:03.374Z - info: Initializing LocalVariables...
2018-06-10T16:56:03.376Z - info: Initializing Middleware...
2018-06-10T16:56:03.563Z - info: Initializing ViewEngine...
2018-06-10T16:56:03.564Z - info: Initializing Session...
2018-06-10T16:56:03.580Z - info: Initializing Modules Configuration...
2018-06-10T16:56:03.628Z - info: Initializing Helmet Headers...
2018-06-10T16:56:03.630Z - info: Initializing Modules Client Routes...
2018-06-10T16:56:03.631Z - info: Initializing Modules Server Policies...
2018-06-10T16:56:04.602Z - info: Initializing Modules Server Routes...
2018-06-10T16:56:08.463Z - info: Initializing Languages ...
2018-06-10T16:56:08.464Z - info: Initializing Error Routes...
2018-06-10T16:56:08.464Z - info: Initializing Socket.io...
Running HTTP server
events.js:183
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::3307
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at Server.setupListenHandle [as _listen2] (net.js:1355:14)
at listenInCluster (net.js:1396:12)
at Server.listen (net.js:1480:7)
at C:\Users\User\Desktop\backoffice-administration-master\config\lib\app.js:26:9
at Object.init (C:\Users\User\Desktop\backoffice-administration-master\config\lib\app.js:15:17)
at Object.start (C:\Users\User\Desktop\backoffice-administration-master\config\lib\app.js:23:9)
at C:\Users\User\Desktop\backoffice-administration-master\server.js:91:22
at C:\Users\User\Desktop\backoffice-administration-master\node_modules\async\dist\async.js:473:16
at next (C:\Users\User\Desktop\backoffice-administration-master\node_modules\async\dist\async.js:5329:29)
at C:\Users\User\Desktop\backoffice-administration-master\node_modules\async\dist\async.js:969:16
at C:\Users\User\Desktop\backoffice-administration-master\server.js:85:9
at nextTask (C:\Users\User\Desktop\backoffice-administration-master\node_modules\async\dist\async.js:5324:14)
at next (C:\Users\User\Desktop\backoffice-administration-master\node_modules\async\dist\async.js:5331:9)
at C:\Users\User\Desktop\backoffice-administration-master\node_modules\async\dist\async.js:969:16

Error: listen EADDRINUSE :::80
Error: listen EADDRINUSE :::3307
It means that the port is being used by some other service. Please either stop the service occupying the port, or start MAGOWARE on another port. Will make this error message more understandable on next release.

Any idea on how to change ports?
AFter testing we found that your install fails on a linux LAMP install, just FYI, still.

Please edit file /config/env/default.js nand change the following row
 port: process.env.PORT || 80,

2019-10-09T14:24:45.991Z - info: Initializing Sequelize...
2019-10-09T14:24:46.257Z - info: Finished Connecting to Database
2019-10-09T14:24:46.258Z - info: Initializing Stack...
2019-10-09T14:24:46.351Z - error:
{ message: 'Address already in use',
stack: 'Error: Address already in use\n at Function.parseData (/root/backoffice-administration/node_modules/redis-server/RedisServer.js:167:22)\n at Socket.dataListener (/root/backoffice-administration/node_modules/redis-server/RedisServer.js:237:38)\n at emitOne (events.js:121:20)\n at Socket.emit (events.js:211:7)\n at addChunk (_stream_readable.js:263:12)\n at readableAddChunk (_stream_readable.js:250:11)\n at Socket.Readable.push (_stream_readable.js:208:10)\n at Pipe.onread (net.js:607:20)',
code: -1 }
Can anybody help with this please? I have already changed the magoware port to several different ones but I still get this error.
Thanks

I Have the same problem of you did you resolve it?


Form details (tables) missing Action Buttons

The forms don't have action buttons for the details, such as delete.

Also Purchase Form doesn't show

Purchase Form doesn't show Detail, nor Partner Information correctly


add interfacenamegenerator to build

problem
We don't have the source code of the interfacenamegenerator.jar.
solution
Add the project to the build, so if any bug arises, we're able to debug it easily.

Please add the /build dir to a .gitignore. And don't forget to remove it from the staged files.


Not asking for mic permissions repeatedly in HTTP

Expected Behavior

Hi I am using annyang in HTTP and for fast response I have set continuous mode to be off in annyang but chrome has asked my permission for mic only once and rest all the time its working fine without asking any permission. But as mentioned in lots of threads that in HTTP the browser would continuously ask the user for permission after every sentence
Context

So I want to know is it useful and safe to make continuous mode off in HTTP because I am using annyang in some big open source software and I have to make sure that it doesn't ask for permission again and again.

Your Environment

Version used: 2.4.0
Browser Name and version: Chrome 50.0.2661.94 (64-bit)
Operating System and version (desktop or mobile): Ubuntu 14

Can you provide a code sample that shows it on HTTP in non-contiuous mode without re-asking for permission every time? I haven't seen that before? Unless you set it in the browser's permissions to trust that site always.

Above is code sample that I am using via speech KITT API and I am running this in apache2 localhost.

I am also having this same issue. What is interesting, my local environment works well; however, when I push it to production (AWS EC2 instance), the site repeatedly asks me to allow or block the usage of microphone every 5-10 seconds. Does anyone know why this happens?

I have same error, In localhost it's working but without local host It wasn't working


Loss get larger when lr decrease to 0.0001 or small, and it is obvious when the lr change

You use 0.0001 as base learning rate? Or you means when your lr up to 0.0001, the loss get larger?
Can use share more details about this appearance? Maybe some training logs.
I'm very curious of this appearance, thank you.

You use 0.0001 as base learning rate? Or you means when your lr up to 0.0001, the loss get larger?
Can use share more details about this appearance? Maybe some training logs.
I'm very curious of this appearance, thank you.

I meet similarity problem, this is my train process:
epoch 0, total_step 880, total loss is 3.01 , inference loss is 1.10, weight deacy loss is 1.91, training accuracy is 0.812500, lr is 0.000300, time 124.273 samples/sec, total_time 0.514997
epoch 0, total_step 900, total loss is 2.87 , inference loss is 0.96, weight deacy loss is 1.91, training accuracy is 0.781250, lr is 0.000300, time 125.305 samples/sec, total_time 0.510756
epoch 0, total_step 920, total loss is<PHONE_NUMBER>6688.00 , inference loss is 1.30, weight deacy loss is<PHONE_NUMBER>6688.00, training accuracy is 0.796875, lr is 0.000300, time 125.331 samples/sec, total_time 0.510646
epoch 0, total_step 940, total loss is<PHONE_NUMBER>4560.00 , inference loss is 1.00, weight deacy loss is<PHONE_NUMBER>4560.00, training accuracy is 0.843750, lr is 0.000300, time 125.013 samples/sec, total_time 0.511949
epoch 0, total_step 960, total loss is<PHONE_NUMBER>1312.00 , inference loss is 0.81, weight deacy loss is<PHONE_NUMBER>1312.00, training accuracy is 0.843750, lr is 0.000300, time 124.458 samples/sec, total_time 0.514230


Fixed incorrect notation of k-NN

Signed-off-by: brainer<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #368. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

INFO: You can read if there are misspelled characters at our misspelling check report. Please read http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/368-202007272011540.65856599807739-f6584eb7eeb87077bdf39f85b1344b4c104e2eb8/report/misspelling_result.txt.

:octocat: cibot: @brainer3220, One of the module of prebuild group is failed. If you want to get a hint to fix this issue, please go to https://github.com/nnstreamer/nntrainer/wiki/.

You can update the commit by pushing to the same personal branch with -f option.

You need commit messages. not just title.


Add message you need to sign out/sign in after verifying auth0 email …

Just added a few words to the warning when we detect your email is not verified.

Second issue I created a pull request for encompasses this one: turned out to be the same file.

See PR #22


How global loss is computed with multiple losses?

I have used a CNN with two losses, and I have affected a weight of 0.5 for each. So, theoretically, the global loss is the mean of two partial losses. However, it is not the case. Here is a set of different loss values:
  Global loss     Loss1       Loss2
     0.2315        0.0476      0.0588

     0.2238        0.0476      0.0543

     0.2257        0.0474      0.0563

     0.2279        0.0509      0.0556

Could anyone explain for me how the global loss is computed basing on two losses and their weights?

@Emnaa12
Moving this issue to closed status as there has been no activity, in case you still face the error please create a new issue.


Fix typo in customer-facing message written to stdout

Fixed typo in message written to standard out if output directory parameter is missing.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you @dustinkredmond


Adding token validation interface for xrootd token validation

@abh3 I'm ready for all your comments.  I hope I understood your instructions correctly and implemented them.

@abh3 I think I addressed all your comments.

Great, I will take a look again.
On Wed, 11 Nov 2020, Derek Weitzel wrote:

@abh3 I think I addressed all your comments.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd-scitokens/pull/4#issuecomment-725665170


Fix for keys delete not deleting all keys

It wasn't increasing offset in array_slice, so only the first 10.000 were deleted.
Also fixed some errors/typos in log messages.

Great! Many thanks for showing interest in this, @fernandomm!


shaper helmet with +1 addition  mines

The program doesnt take into account the +1 mines from shaper helmet and the line appears read when moused over on item

It isn't recognised because it would have no effect, as PoB currently displays damage per mine, and doesn't account for placing multiple mines simultaneously.


sd_hash missing in payload of Key Binding JWT

According to spec Key Binding for SD-JWT-VC,

the Key Binding JWT MUST adhere to the rules defined in Section 5.3 of SD-JWT spec

This means, that the sd_hash claim has to be included in the payload of the Key Binding JWT.
The code has to be refactored to calculate and add the sd_hash claim in the payload of the Key Binding JWT.

Suggested PR: #19

PR #19 merged

PR https://github.com/Meeco/sd-jwt-vc/pull/19 merged


Typescript is failing to start and error keeps showing at top of VS Code IDE

VSCode Version: Code 1.16.1 (27492b6bf3acb0775d82d2f87b25a93490673c6d, 2017-09-14T16:38:23.027Z)
OS Version: Windows_NT x64 6.1.7601
Extensions: none

Steps to Reproduce:

Could you post the message or a screenshot here?

Hi thank you for the response, I just built a new application with Angular CLI and merged changes, and it worked. Easier than troubleshooting configurations! Sorry for not responding sooner, thank you for your time and consideration.


kubernetes: 1.16.5 -> 1.17.3

Motivation for this change
Doing things in the opposite order here, sorry. I already opened: #80441 against release-20.03.
cc @saschagrunert @srhb
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

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

I think we're good to go from my side. I did some small tests with a local setup (via the e2e conformance tests of kubernetes)

Are we good to go on this? :smiley:

Yes! 🥳


Add Length property to Text type

It would also be cool if you could pass the length prop of the underlying string up in NAVText. Then you don't have to use StrLen all the time.

Hi, Please go ahead and post this to our Ideas forum at https://aka.ms/BusinessCentralideas, or vote up the idea if its already there. We're constantly monitoring top Ideas and will consider them for a future release.


Plugin performance oddities

On an API, I have mashape-analytics, file-log and runscope-log activated (the last one is one I'm developing). Anyhow, when I run siege or ab with fairly conservative numbers (100 requests total, 2 concurrent), both of the clients show 100% success; however, the amount of the requests that make it to the plugins varies greatly. For example:
mashape-analytics -> 97% into Galileo
runscope-log -> 90% into Runscope Traffic Inspector
file-log -> 45% into /tmp/file.log

Can someone point me in the right direction to find out where some of this loss might be occurring?

@mansilladev do you see any error in the Kong error log?

Earlier today I did (of course, I wiped my error log) -- something about a dubious connection (may have been related to a keepalive value that was super high). However, on those latest stats that I just posted above, no, there aren't any errors being logged.

The logging plugins perform the actual logging asynchronously in a function being triggered by an ngx.timer, after the request has been proxied (in order to not slow down the HTTP requests).
I can think of two possible issues:

The system cannot start any more timers because it's saturated, that would result in many errors in the error log (like failed to create timer ..)
I would be surprised if this happened, but maybe the system is not able to handle the load - is it a Docker container with limited resources associated to it?

The 45% success rate of the file-log plugin should exclude some sort of networking issues, since the file-log plugin is using a system call to flush the data to disk.
I will try to replicate this problem, what version of Kong are you using?

For mashape-analytics, I have run similar benchmarks on 0.5.4 (with a much higher concurrency) and I did not experience any loss. If you want to find out how many ALFs exactly are being sent to Galileo, you can switch your logging level to debug (error_log logs/error.log debug;) and spy on success logs from from the plugin saying that xxx ALFs were saved (1 request = 1 ALF). The buffer can take come time to entirely flush itself, especially after a very extreme load, but it will eventually flush itself completely.

@mansilladev I tried to configure an API with only file-logenabled and running ab with the following settings (a little bit higher than yours):
ab -H 'Host: test.com' -n 500 -c 10 http://<IP_ADDRESS>:8000/

And experienced 0% loss on the file log. I then tried to install the Galileo plugin on top of it, so that every request would be logged to both file-log and Galileo, and 0% loss on both.
I tried this on the latest version of Kong.

I'm on the latest version of Kong running on my MB Pro (from the .pkg). With Galileo and Runscope plugins I might chalk it up to the network; however, with the file log, that wouldn't make sense. I'll dial up the debug level and see if the logs reveal any more information. I'll also refer to a non-cloud-based backend API to keep all traffic isolated to my local machine. I'll post results later tonight. Thanks everyone.

Well, it looks like it must have just been something on my localdev. Things seem to be working just swell now syncing into Galileo and Runscope. The file-log plugin -- I am seeing a bunch of ^@ symbols in there. Is that some sort of shortcut code for a repeated log entry?

I am seeing a bunch of ^@ symbols in there. Is that some sort of shortcut code for a repeated log entry?

That shouldn't be the case, could you paste some lines that show this symbol?

@thefosk It's actually a null value.. and man alive, there are a ton of them. Just reset the file, restarted kong, launch about 100 requests at an endpoint and the log file ended up with 5 visible lines.. and one of those lines had 228,000 nulls.

@mansilladev just checking in on this issue - were you able to replicate this problem?

Closed from lack of update.


Support for multipart/form-data

https://github.com/dariotarantini/vgram/blob/32429ae3e2eb62d67d53f4678e6f1e348eb44144/types.v#L805-L806
From https://core.telegram.org/bots/api#sending-files:

Sending files
There are three ways to send files (photos, stickers, audio, media, etc.):

If the file is already stored somewhere on the Telegram servers, you don't need to reupload it: each file object has a file_id field, simply pass this file_id as a parameter instead of uploading. There are no limits for files sent this way.
Provide Telegram with an HTTP URL for the file to be sent. Telegram will download and send the file. 5 MB max size for photos and 20 MB max for other types of content.
Post the file using multipart/form-data in the usual way that files are uploaded via the browser. 10 MB max size for photos, 50 MB for other files.

For reference, here's how a Lua library does it: https://github.com/wrxck/telegram-bot-lua/blob/9fe54d9ea25621a7de8f40518cf3b63d3e3d08e9/src/core.lua#L40-L93
We could use net.http.FileData and eventually net.http.post_multipart_form().

Sounds good, thanks!

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @fuyutarow, @splix, @tlkahn, @bmwoolf, @ShravanSunder, @nopestack, @D-lyw

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @zuchengchen, @rodrigooler, @sqwu, @JoonyoungYi, @zenner3000, @zjzhiazhia, @liguohui-lgh

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @chiuky, @w1nn1ethepooh, @DeivyPereira, @appsmonkey, @etochavez, @i-aztec, @kthakur

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @princesslyons, @legolev, @Aftero320, @ehsanera, @hero5512, @VasTShadowZz, @dis-aster


phantom.addCookie always adding leading dot to domain

With this test script:
phantom.addCookie({name:'x', value:'y', domain:'example.com'});
console.log(JSON.stringify(phantom.cookies));
phantom.exit();

I'm getting this output:
[{"domain":".example.com","httponly":false,"name":"x","path":"/","secure":false,"value":"y"}]

Note that there is a dot added to domain, such cookie will be sent not only to example.com but also for all subdomains

Hmm....
So, this one is a little trickier [and, in many ways, unfortunately correct] than you might suspect.
As noted in a very good StackOverflow answer (emphasis added in a few spots):

There is a distinction between the Domain attribute value and the effective domain: the former is taken from the Set-Cookie header field and the latter is the interpretation of that attribute value. According to the RFC 2965, the following should apply:

If the Set-Cookie header field does not have a Domain attribute, the effective domain is the domain of the request.
If there is a Domain attribute present, its value will be used as effective domain (if the value does not start with a . it will be added by the client).

In order words, the behavior you are seeing is as if the cookie you specified were instead being specified verbatim by the HTTP server that is hosting the corresponding webpage.  Unfortunately, that means that it is explicitly setting the "Domain" attribute of the Cookie (as if in a Set-Cookie HTTP response header), which browsers are required to interpret as having a leading ., regardless of if the value actually contains a leading ..
I agree that this behavior is extremely annoying as I just recently ran into that myself in a different situation (and not involving PhantomJS).
That said, in order to accommodate what you are looking for while using the phantom object's addCookie method, we will need to either change the method signature or else add another Phantom-only property to the object you pass that will instruct Phantom to only set that cookie for the exact matching domain and to not set the "Domain" attribute when setting the cookie on an actual WebPage instance.
For example, some theoretical API usage:
// Separate arg for targeted domains
phantom.addCookie({ name: 'x', value: 'y' }, ['example.com']);

// Extra property "implicitDomain"
phantom.addCookie({ name: 'x', value: 'y', domain: 'example.com', implicitDomain: true });

// Separate arg to indicate that the domain should be implicit, NOT explicitly setting the "Domain" attribute
phantom.addCookie({ name: 'x', value: 'y', domain: 'example.com'}, true);

Good News: Actually, looks like there is already an underlying method implementation for what I proposed (not that surprising, since the browsers follow this concept already): CookieJar::addCookieFromMap(cookie, url)
Bad News: Unfortunately, that underlying method isn't currently exposed as part of the public API.
If we exposed it verbatim, its usage would look like this:
phantom.addCookieFromMap({ name: 'x', value: 'y' }, 'http://example.com');

@ariya @Vitallium @detro @zackw: Feedback?

I'm afraid I don't know much about cookies and cookie-related web
standards, but is there any reason this can't be an extension to the
existing addCookie API rather than an entirely new addCookieFromMap
function?  The latter isn't a terribly well-motivated name if you're not
familiar with the implementation.

For me it seems more intuitive if the domain attribute will be interpreted verbatim, so that it will be possible to pass to phantom.addCookie the value that you previously get from phantom.cookies.
But if that will pose some compatibility problems, this syntax also looks good:
phantom.addCookie({ name: 'x', value: 'y', domain: 'example.com'}, true);

@storzinc I think nearly all web devs, including myself, would whole-heartedly agree with you but, alas, that's not how cookie domains work in browsers. It's a very confusing and not well known behavior.

@zackw I was forgetting that Qt C++ supports default parameters, so yes, we can just update the signature to include an optional second parameter (domain/URL string).

+1

If the Set-Cookie header field does not have a Domain attribute, the effective domain is the domain of the request.
If there is a Domain attribute present, its value will be used as effective domain (if the value does not start with a . it will be added by the client).

I sometime end up having two exact cookies, one having the leading dot in the Domain attribute, the other doesn't. When that happens I think Phantom is getting confused and will happily keep the two cookies (and I'm not sure which one is used).
This seems to happen when a cookie that did not have a Domain attribute is being updated by an explicit Set-Cookie that has a Domain attribute set but without the leading dot.

I'm hitting this same issue while working with phantomJS/GhostDriver in testing a specialized-browser-based system - I find myself needing to fork a session where the same seed cookie values are used (from the base session) in starting the forked session - but then updated upon first response within the forked session.
What I see is that I'm able to copy the cookies from the base session into my new phantomJS/GhostDriver instance, but then when the Set-Cookie comes back in the first response, updating the seeded cookies to their new, session-independent values (a 302, as it happens) - I end up with duplicate cookies in the subsequent outbound Request.  (as the two cookies appear to be from different domains:  domain.suf versus .domain.suf)
Is there any interim solution I can explore?  (is wiring to onUrlChanged a viable option for stripping duplicate cookies on-the-fly?)

This is a bit late but after overhauling our internal cookie management (no leading dots :)  I stumbled over the fact that we pass these to PhantomJS and weird things may happen:
First: The current RFC is 6265. The goal of this specification was to make things simpler and it did so.
For domains: It abolishes the leading dot altogether. That leading dot is not allowed anymore.
Instead of it it introduces a "host-only-flag" that is stored with the cookie and tells the user agent if the cookie was sent with domain (host-only-flag = false) or without (host-only-flag = true). The Matching algorithm is so that if host-only-flag==true, then one simply equals the request domain and the cookie domain, otherwise one does the sub domain comparison.
Now if one looks into Chrome developer tools, one can see that leading dot still there. That is ok. And phontomJS can do it, too. Because one can use that leading dot as host-only-flag:
When storing cookies from a server response, for cookies without domain, simply store the request domain/ip. For cookies with domain attribute: remove any leading dot from the domain, then simply add that leading dot back to the domain if it is not an IP address. Of course one can skip the remove/add if it's a domain with a leading dot, but that is just a technical detail. Then do the domain matching as described below to verify that the cookie is actually valid to store.
Later, when setting up phantomJS for a new request, a suffix substring match against the request domain for cookies with leading dot domain and an equals match for cookies with domains without dots is all that is necessary.
When storing a cookie programatically, i.e. setting up phantomJS for a request, then phantomJS should not use any logic to alter the cookie domains given to it. If the user supplies a cookie with a leading dot domain, then this means that this cookie has no host-only-flag and if the domain is an ip address or domain without leading dot, then this is a host-only domain.
Only by doing it this way - differ between http responses setting a cookie and the user setting a cookie can all this ambiguity and all the bugs go away.


Hide the style section on the Textfield and Autocomplete components rendered in the table

The DataTable component supports inline creation and editing. When configuring the 'Display, Edit, and Create' components for Textfield and Autocomplete, the style section is exposed. However, the style section within the table does not seem necessary when used on the table.

Hide the style section on Textfield and Autocomplete within the configurations of Display, Edit and Create component: Path for this:

You click dataTable>configure columns>click/add a string/entity property column> click on display/edit/create and select textfield or autocomplte>click on configure button

NB: Check how the other components within the table are

Related items
#https://github.com/shesha-io/shesha-framework/issues/1878


tsconfig.json relative path problem

After updating to v4.0.2 i get the following errors in VS Code.

It seems react-dnd tries to extend my tsconfig json.
{
  "extends": "../../tsconfig.base.json",
  ...
}

I'm not sure why this is necessary. Furthermore my tsconfig.json resides in a subdirectory, so the path can't be resolved.

We use that extends field to extend a common tsconfig in the dnd monorepo. This should probably be added to the .npmignore of the packages. I'll investigate what the best practice is here.

Hello, I'm stille having this issue on version 9.4.0 of react-dnd-touch-backend

Thanks


Don't use a selector to get the heading text for search results.

Prevents bugs with special CSS characters.
I think this is a more elegant solution for #201, this way we neither need a polyfill nor a regex.

:ok_hand: I love it! Thanks!

Cool, well done :)


[ttLib] scale-upem should not scale vsindex

Same as https://github.com/fonttools/fonttools/issues/2840#issuecomment-1267434947
and not a bad font. In visit all ops are sent to _cff_scale, but vsindex should be skipped. Otherwise we scale the index and get index out of range. If I skip scaling vsindex here I don't get an error...
            for op, args in commands:
                if op == 'vsindex':
                    continue
                _cff_scale(visitor, args)

want to send a PR?

Ok, I tried to edit and make a PR with the iOS app for the first time. I think it worked.

can you think of any other operators that don't need scaling in addition to vsindex?

I feel like there's probably something, but this is the one that was blocking use of the scale script so we couldn't even test it at all.

can you think of any other operators that don't need scaling in addition to vsindex?

I can't think of any others. There's hintmask which is not represented as a number.

can you think of any other operators that don't need scaling in addition to vsindex?

I can't think of any others. There's hintmask which is not represented as a number.

And these are desubroutinized, so there's no subroutine numbers. And we don't support arithmetic or boolean operations.

Some arithmetic operators are supported, I’m pretty sure at least div is supported.

Some arithmetic operators are supported, I’m pretty sure at least div is supported.

Yeah I just checked and you are right. I'm surprised that one is supported. I don't understand why.  It goes back to 1999 apparently.

Some Type 1 and CFF fonts use it to encode fractional numbers, CFF does not need this but I think it was carried over from Type 1 fonts.


[Feature] Add id to ShutDownRequest

What changes were proposed in this pull request
Add id to ShutDownRequest

Brief change log

Verifying this change

This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
The id parameter in Kubernetes-V2 delete has a corresponding FlinkK8sOperator.delete(id:Long), which may come in handy in the future, and I found that the unwatch api of v2 also seems to need to be used (I am not sure about this). I am not sure. Will increasing this parameter have any impact on the current main process?
This change added tests and can be verified as follows:

Does this pull request potentially affect one of the following parts

Dependencies (does it add or upgrade a dependency): (yes / no)
no

cc @wolfboys @Al-assad


Support git pip packages

At the moment, during the requirements.txt installation we cannot install packages from git for example with this line in requirements.txt:
package-name @ git+https://github.com/name/repo.git

This is because git is not installed in wine and we get this errors:

ERROR: Error [WinError 2] File not found while executing command git version
ERROR: Cannot find command 'git' - do you have 'git' installed and in your PATH?

I believe it would be enough to install git in wine. I am not sure though were this can be done and how to keep all the various platforms in mind. Maybe not in this repo but in cdrx/docker-pyinstaller?

Can you please test your workflow against the new branch python3-10-pyinstaller-5-3 and let me know your results
Example:
- name: PyInstaller Windows
      uses: JackMcKew/pyinstaller-action-windows@python3-10-pyinstaller-5-3
      with:
        path: src


My  Sleep Apnea Treatment Question typo

It looks like the "What treatment(s) are you currently using for your sleep apnea?" question has a question that's not entirely correct in the description of BiPAP.

BiPAP (Bi-level Airway Pressure Machine)

Should this be:

BiPAP (Bilevel Positive Airway Pressure Machine)

See here: http://en.wikipedia.org/wiki/Bilevel_positive_airway_pressure
cc @mrueschman for clarification

This was just built quickly for a mockup to send to Susan - waiting on approval before fleshing the question out. Will be sure to fix.

Ok, also see #344


ipv6 support

Problem: Torque3D does not support ipv6.
Considering the global exhaustion of ipv4 addresses, and the increasing likelihood of future networks actually moving to ipv6, it makes sense for torque to support ipv6 in the networking stack. From what I gather this requires changing argument types and factoring in ipv6 addresses.

Definitely. This sounds like fun :sweat_smile:

"fun" :^)

Not fun at all, because now we run out of addresses!!
And iOS 9 require only IPv6 only.
https://developer.apple.com/news/?id=05042016a
I start to learn too about IPv6,

Wouldn't worry tooooo much yet, considering that this engine barely runs on anything other than Windows or Linux, but yeah, should be updated ;)

Handled with #1817


Cleanup and organize instruction set

generic moves and normal instructions are disorganized

Move architecture specific things into their own folders and enable with compiler flags.


exercises/concept/translation-service imports and a minor typo

Without those imports, the tests will always fail if you attempt to catch those errors by their type (without string comparisons). On the JavaScript track, the concept of importing is not introduced before this exercise, so it makes sense to add those imports into the JS template for less confusion.
Also a minor typo in the instructions.

The failing check is not related to this PR, it is most likely an intermittent dependency issue.

@junedev i'll do my best to change the exemplar, but, as you've noted, the reference solution doesn't use those imports. This entire exercise was the most confusing so far on my JS track, which is partially due to incomplete instructions, and partially due to those error imports. Without those imports this iteration would not build:

https://exercism.org/tracks/javascript/exercises/translation-service/iterations

I think, the tests for this exercise are lacking an edge case, where the user should not call api.request if the resource is known to be Untranslatable from api.fetch right away. If we add that edge case to the test, the existing exemplar will fail, cause it sends an api.request on all failures. Which is why I think the exemplar is wrong, despite that it satisfies the tests.

@kroitor Thanks for you advice on what's wrong with the exercise. Given that information, I will merge this PR as is and create a new issue for adding the missing test case and fixing the examplar solution. Feel free to pick up that issue as well in case you are interested in working on it.
The link you posted only works for you but I found the code you wanted to show on your public profile: https://exercism.org/tracks/javascript/exercises/translation-service/solutions/kroitor


Buttons on the back are clickable in FlipHorizontalTransformer

I'm working on a flashcard app, In which each flashcard have two sides, on the front there is a word and on the back there is the translation and two buttons (Correct & Incorrect).
My problem is that the Buttons are accessible on the front side of the card when I pick FlipHorizontalTransformer. When I change my transformer to something else like RotateDownTransformer it works just fine.

Just found the reason why this happens, it's all because of the setAlpha method, it only make the back page invisible but keeps the functionality. I replaced it with setVisibility and the problem was solved. I'm going to send a pull request which solves this problem.
public class FlipHorizontalTransformer extends BaseTransformer {

	@Override
	protected void onTransform(View view, float position) {
		final float rotation = 180f * position;
               // this should be replaced with setVisibitlity
		view.setAlpha(rotation > 90f || rotation < -90f ? 0 : 1);

		view.setPivotX(view.getWidth() * 0.5f);
		view.setPivotY(view.getHeight() * 0.5f);
		view.setRotationY(rotation);
	}

}


registry/zookeeper: watch service name path error

Go version
go version go1.23.1 amd64
GoFrame version
2.8.0
Can this bug be reproduced with the latest release?
Option Yes
What did you do?
zookeeper watch service path
What did you see happen?
unable to detect changes for specified path that end with /
if the path is   /service/default/default/idalloc/latest/   the registry of zookeeper in gf will watch service-default-default-idalloc-latest-
but the real service name path is service-default-default-idalloc-latest, that without -
What did you expect to see?
remove redundant -

fix(registry/zookeeper):fix watch service name path error #3948


[Bug] Doc comments for structs don't show up

If I put a doc comment for a strict, it does not get rendered by the typescript renderer.

I'm aware you're on vacation. This is not a very big bug so it's fine if you get back to it later.
Thanks for your help!


HtmlUnitNekoDOMBuilder: Fix to allow  in  children

This PR contains:

Fix to allow <form> in table children just like

	<form></form>

	<form></form>

Expected:
String[] expected = {
		"<?xml version='1.0' encoding='UTF-8'?>",
		"",
		"  ",
		"  ",
		"
",
		"      <form>",
		"      </form>",
		"
",
		"
",
		"
",
		"
",
		"      <form>", // Not synthesized
 so these are not moved
		"      </form>",
		"      ",
		"
",
		"
",
		"      <form>",
		"      </form>",
		"
",
		"
",
		"
",
		"        <form>", // These are moved into synthesized

		"        </form>",
		"        ",
		"
",
		"
",
		"  ",
		"",
		"",

It looked like MalformedHtmlTest.formInTable4() and MalformedHtmlTest.formInTable8() can be fixed so I've pushed them as well

Have merged your fix manually - many thanks.


Open api Structure Names

Change snake case names to PascalCase
Change a few variable names to be more clear on what they are

closes #259

Formatting was enabled which did a bit of issue so had to push again

Update for Categories using 75a0720

@aaron-suarez any review on this :sweat_smile:

@king-11 I haven't forgotten about this but I haven't had time to give it the attention it deserves. As you're aware, the docs are probably the most important part because the API is unusable without good docs. I'll look and have some comments soon


Reminder: spack file locking issues on AWS ParallelCluster EFS filesystem with site config changes in spack-stack-1.6.0

Describe the bug
This is a copy of a conversation in the spack slack channel, that led to temporary changes in the aws-pcluster site config (config.yaml) that disable spack's file locking logic. More information is here: https://spackpm.slack.com/archives/C5W7NKZJT/p1704299365946979
Hopefully we'll be able to figure out the root cause and then revert that temporary change for spack-stack-1.6.0 on develop.

spack core developers, this is a question for you. I have two versions of spack, one from june 2023, one from nov 2023. I am having difficulties installing the nov version on an EFS filesystem mounted on an AWS ParallelCluster. Basically, after every successful package installation, the spack install package hangs:
==> py-pyjwt: Successfully installed py-pyjwt-2.4.0-cspqky35alcp7hlqtfxr6u3glkxfjpqk
Stage: 0.89s.  Install: 5.37s.  Post-install: 1.06s.  Total: 9.44s
[+] /mnt/experiments-efs/skylab-v7/spack-stack-1.6.0/envs/unified-env/install/gcc/9.4.0/py-pyjwt-2.4.0-cspqky3
If I run the install command as spack -d install` , I get this, and it goes on forever:
==> [2024-01-03-16:26:23.039054] Requeueing a build task for py-hatch-vcs-0.3.0-iarus3v5lsbeglicxgwtihooagnz5aau with status 'installing'
==> [2024-01-03-16:26:23.039220] Processing py-hatch-nodejs-version-0.3.1-i55mr3azyjzp7ao4mhhg5lbvkwn2lmjx: task=priority=0, status=dequeued, start=1704299102.8967113, #dependencies=2
==> [2024-01-03-16:26:23.055269] Acquiring a write lock on py-hatch-nodejs-version-0.3.1-i55mr3azyjzp7ao4mhhg5lbvkwn2lmjx with timeout 1.000ns
==> [2024-01-03-16:26:23.064078] Failed to acquire a write lock for py-hatch-nodejs-version-0.3.1-i55mr3azyjzp7ao4mhhg5lbvkwn2lmjx due to LockTimeoutError: Timed out waiting for a write lock after 8.215ms.
Made 1 attempt on file: /mnt/experiments-efs/skylab-v7/spack-stack-1.6.0/envs/unified-env/install/.spack-db/prefix_lock
==> [2024-01-03-16:26:23.064129] Acquiring a read lock on py-hatch-nodejs-version-0.3.1-i55mr3azyjzp7ao4mhhg5lbvkwn2lmjx with timeout 3.000s
==> [2024-01-03-16:26:26.083472] Failed to acquire a read lock for py-hatch-nodejs-version-0.3.1-i55mr3azyjzp7ao4mhhg5lbvkwn2lmjx due to LockTimeoutError: Timed out waiting for a read lock after 3.019s.
Made 25 attempts on file: /mnt/experiments-efs/skylab-v7/spack-stack-1.6.0/envs/unified-env/install/.spack-db/prefix_lock
==> [2024-01-03-16:26:26.083718] Installing py-hatch-nodejs-version-0.3.1-i55mr3azyjzp7ao4mhhg5lbvkwn2lmjx [557/686] in progress by another process
==> [2024-01-03-16:26:26.083865] Requeueing a build task for py-hatch-nodejs-version-0.3.1-i55mr3azyjzp7ao4mhhg5lbvkwn2lmjx with status 'installing'
==> [2024-01-03-16:26:26.084063] Processing py-hatch-fancy-pypi-readme-23.1.0-cyrq625avawqn26hu4bhrcgcemoazzwg: task=priority=0, status=dequeued, start=1704299102.8998892, #dependencies=3
==> [2024-01-03-16:26:26.101565] Acquiring a write lock on py-hatch-fancy-pypi-readme-23.1.0-cyrq625avawqn26hu4bhrcgcemoazzwg with timeout 1.000ns
==> [2024-01-03-16:26:26.110507] Failed to acquire a write lock for py-hatch-fancy-pypi-readme-23.1.0-cyrq625avawqn26hu4bhrcgcemoazzwg due to LockTimeoutError: Timed out waiting for a write lock after 8.376ms.
Made 1 attempt on file: /mnt/experiments-efs/skylab-v7/spack-stack-1.6.0/envs/unified-env/install/.spack-db/prefix_lock
==> [2024-01-03-16:26:26.110629] Acquiring a read lock on py-hatch-fancy-pypi-readme-23.1.0-cyrq625avawqn26hu4bhrcgcemoazzwg with timeout 3.000s
==> [2024-01-03-16:26:29.127918] Failed to acquire a read lock for py-hatch-fancy-pypi-readme-23.1.0-cyrq625avawqn26hu4bhrcgcemoazzwg due to LockTimeoutError: Timed out waiting for a read lock after 3.017s.
Made 25 attempts on file: /mnt/experiments-efs/skylab-v7/spack-stack-1.6.0/envs/unified-env/install/.spack-db/prefix_lock
==> [2024-01-03-16:26:29.128167] Installing py-hatch-fancy-pypi-readme-23.1.0-cyrq625avawqn26hu4bhrcgcemoazzwg [558/686] in progress by another process
==> [2024-01-03-16:26:29.128250] Requeueing a build task for py-hatch-fancy-pypi-readme-23.1.0-cyrq625avawqn26hu4bhrcgcemoazzwg with status 'installing'
==> [2024-01-03-16:26:29.128362] Processing py-pynacl-1.5.0-qe2lqsuhtwqekypu4qqozjk2o3logwfe: task=priority=0, status=dequeued, start=1704299102.8961158, #dependencies=2
==> [2024-01-03-16:26:29.144738] Acquiring a write lock on py-pynacl-1.5.0-qe2lqsuhtwqekypu4qqozjk2o3logwfe with timeout 1.000ns
==> [2024-01-03-16:26:29.153853] Failed to acquire a write lock for py-pynacl-1.5.0-qe2lqsuhtwqekypu4qqozjk2o3logwfe due to LockTimeoutError: Timed out waiting for a write lock after 8.659ms.
Made 1 attempt on file: /mnt/experiments-efs/skylab-v7/spack-stack-1.6.0/envs/unified-env/install/.spack-db/prefix_lock
==> [2024-01-03-16:26:29.153968] Acquiring a read lock on py-pynacl-1.5.0-qe2lqsuhtwqekypu4qqozjk2o3logwfe with timeout 3.000s
==> [2024-01-03-16:26:32.172703] Failed to acquire a read lock for py-pynacl-1.5.0-qe2lqsuhtwqekypu4qqozjk2o3logwfe due to LockTimeoutError: Timed out waiting for a read lock after 3.019s.
Made 25 attempts on file: /mnt/experiments-efs/skylab-v7/spack-stack-1.6.0/envs/unified-env/install/.spack-db/prefix_lock
==> [2024-01-03-16:26:32.172934] Installing py-pynacl-1.5.0-qe2lqsuhtwqekypu4qqozjk2o3logwfe [559/686] in progress by another process
==> [2024-01-03-16:26:32.173068] Requeueing a build task for py-pynacl-1.5.0-qe2lqsuhtwqekypu4qqozjk2o3logwfe with status 'installing'
==> [2024-01-03-16:26:32.173239] Processing py-cryptography-38.0.1-tpcyy753znbvjuy7yjbfo4pni2mbn5tg: task=priority=0, status=dequeued, start=1704299093.2355843, #dependencies=3
==> [2024-01-03-16:26:32.189603] Acquiring a write lock on py-cryptography-38.0.1-tpcyy753znbvjuy7yjbfo4pni2mbn5tg with timeout 1.000ns
==> [2024-01-03-16:26:32.198596] Failed to acquire a write lock for py-cryptography-38.0.1-tpcyy753znbvjuy7yjbfo4pni2mbn5tg due to LockTimeoutError: Timed out waiting for a write lock after 8.395ms.
Made 1 attempt on file: /mnt/experiments-efs/skylab-v7/spack-stack-1.6.0/envs/unified-env/install/.spack-db/prefix_lock
==> [2024-01-03-16:26:32.198723] Acquiring a read lock on py-cryptography-38.0.1-tpcyy753znbvjuy7yjbfo4pni2mbn5tg with timeout 3.000s
I am only running one install (i.e. no parallel install) and I am using one one build_job. There is no other process running on the system as spack claims (in progress by another process).
This does not happen with the July 2023 code. So my question is if there was a change to the spack lock logic (e.g. https://github.com/spack/spack/pull/38903) that could explain this behavior?

#38903 Fetch & patch: actually acquire stage lock, and many more issues

Fetching patches wouldn't result in acquiring a stage lock during install
The installer would acquire a stage lock after fetching instead of before, leading to races
The name of the stage for patches was random, so on build failure

To Reproduce
n/a
Expected behavior
n/a
System:
AWS ParallelCluster using the shared EFS filesystem
Additional context
n/a

The problem disappeared by itself on develop. When I merged the release branch back into develop, I removed the temporary changes since they were no longer needed.


Add python pandoc-xnos

Description of changes

pandoc-xnos is a python-based pandoc filter (consisting of pandoc-xnos which can be called by separate binaries for cross-references to equations, tables, sections, figures) when converting from markdown with pandoc.
See upstream: https://github.com/tomduck/pandoc-xnos
The binary installed can be called with pandoc --filter pandoc-xnos.
To use only a specific filter (subset of xnos) install the related packages pandoc-{eq|fig|table|sec}nos also included in this PR.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/executable-nix-shell-for-directly-calling-a-binary-from-pip/18181/5

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/pandoc-omatic-and-filters-install-location-issues/18179/2

Could you please create a commit per module with python3Packages.xxx: init at x.x.x?
The comments are also valid for the other modules.

done, thanks for the guidance.

@fabaff Oops, it was spotted in #164552 that these filters should probably be packaged as pythonApplication (not pythonPackage), since they are not intended to use via import. I'll make the necessary changes (hopefully this week, quite busy now) and change the respective commits and PR to that effect.

I agree that individual filters should be packaged as pythonApplication but pandoc-xnos is also a library and may be used as a package in some projects. In that regards, should not it be build as  a pythonPackage and as pythonApplication?

@fabaff Oops, it was spotted in #164552 that these filters should probably be packaged as pythonApplication (not pythonPackage), since they are not intended to use via import. I'll make the necessary changes (hopefully this week, quite busy now) and change the respective commits and PR to that effect.

I agree that individual filters should be packaged as pythonApplication but pandoc-xnos is also a library and may be used as a package in some projects. In that regards, should not it be build as a pythonPackage?

Also a good point... However the only ones that actually seem to use it as a library are the packages that are part of the pandoc-xnos-suite (i.e. pandoc-eqnos etc.). Since I suppose the main use case is using pandoc-xnos directly as a filter (only in cases where you'd specifically want to use only e.g. eqnos and not the others you'd use a single filter from the suite), the predominant use would probably still be as a standalone filter.

Ok, that should be it: pandoc-{eq,seq,fig,table}nos moved to tools/misc as pythonApplication, pandoc-xnos remains as python3Package.

@fabaff sorry for prodding, you all must be busy with 22.05 too... Is there anything remaining for me to do or is this one merge-ready now? (there indeed have been some more changes since last review, but all addressed issues and some others were addressed in the meantime...)
Cheers, ppenguin


Disable field in Form

Widgets have state='normal'/'disabled'
But when I disable it in add_field(), set_fields() is unable to write to it.

For now, it is possible to add Label as field


Feature Request: Option to focus the Search box

Would it be possible to add an option to click the Processes tab and focus the Search box (and clear it) when the Process Hacker window is shown? Or would the above be possible by writing a plugin?
I've found that many times I wanted to quickly launch PH and then use the search functionality to find a process and then press Del to kill it or other times press Enter to view its properties, just using the keyboard.
My current hack is this AutoHotkey script where I've assigned it to the Win+H key and mapped it to a dedicated M5 key on my Roccat Isku keyboard.
;Show Process Hacker, focus the Processes tab and focus the Search textbox
#h::
Run "C:\Program Files\Process Hacker\ProcessHacker.exe"
Sleep 100
if (WinActive("ahk_exe ProcessHacker.exe"))
{
	SendMessage, 0x1330, 0,, SysTabControl321  ; 0x1330 is TCM_SETCURFOCUS.
	Sleep 0  ; This line and the next are necessary only for certain tab controls.
	SendMessage, 0x130C, 0,, SysTabControl321  ; 0x130C is TCM_SETCURSEL.
	SendInput ^k
	Sleep 10
	Send {Delete}
}
Return

It works most of the times.
Another related question is how do I use the keyboard to change the focus from the Search textbox to the main results grid? It would be great if pressing Enter or Tab would do that.
PS: Thank you very much for this great tool!

This was added a few years ago. You can enable the auto-focus using the Options > ToolStatus > Enable autofocus checkbox

I've enabled the auto focus checkbox and it works when I click on Process Hacker in the tray 👍
but it does not work when I open Process Hacker via the AutoHotkey shortcut?
Reproduce steps:

When ProcessHacker.exe is already running minimized in the tray and the above mentioned checkbox is checked,
Run ProcessHacker.exe again via AutoHotkey or  Win+R, to bring the window to the front
The search box is not focussed

Fixed in the latest nightly update 👍


Unable to build, import App from './app'; fails

I believe my dev environment is current, but can't build this app.
npm run dev

<EMAIL_ADDRESS>dev /var/www/cordova/phonegap-template-vue-f7-tabs-exmample
webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

28% building modules 152/154 modules 2 active ...es/framework7/dist/css/framework7.css[BABEL] Note: The code generator has deoptimised the styling of "/var/www/cordova/phonegap-template-vue-f7-tabs-exmample/node_modules/framework7/dist/framework7.esm.bundle.js" as it exceeds the max of "500KB".
94% asset optimization
ERROR  Failed to compile with 1 errors                                                                                8:16:58 AM
This relative module was not found:

./app in ./src/main.js

The offending line is
// Import App Component
import App from './app';

Very new to phonegap / vue / framework7, so not sure how to proceed.  I imagine it's something easy, to load App.vue, but not sure how.

Looks like
// Import App Component
import App from './App.vue';

fixes the issue. I'll submit a PR


pull request for e2e test at 02/04/2017 06:15:05

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Move home feed and thread preferences to server

Updates home feed and thread preferences to store server-side.

Merging for nightly


Release v1.16.1-1.2

I'm going to release new images to reflect #1410 & #1386.

Thanks for your review!


Expect .report in rule_selector param (v2 endpoints)

Description
The UI will now include ".report" in the rule_selectorparameter as is done with v1 endpoints. This will simplify queries associated with the recommendations found in the reports. In our v2 endpoints, we need to trim the .report in most of our endpoints.
Fixes CCXDEV-7183
Type of change

New feature (non-breaking change which adds functionality)

Testing steps

Added corresponding UTs
Tested the function locally with aggregator and smart-proxy's affected endpoints

Checklist

[x] make before_commit passes
[ ] updated documentation wherever necessary
[x] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report

Merging #236 (8e5e0e2) into master (b83cda9) will decrease coverage by 0.15%.
The diff coverage is 60.00%.

@@            Coverage Diff             @@
##           master     #236      +/-   ##
==========================================
- Coverage   92.81%   92.66%   -0.16%
==========================================
  Files          33       33
  Lines        1086     1091       +5
==========================================
+ Hits         1008     1011       +3
- Misses         63       64       +1
- Partials       15       16       +1

Impacted Files
Coverage Δ

http/router_utils.go
98.80% <60.00%> (-1.20%)
:arrow_down:

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 b83cda9...8e5e0e2. Read the comment docs.


"Adafruit_Bluefruit_LE_Connect-Swift.h" file not found

Can not build the app as the file "Adafruit_Bluefruit_LE_Connect-Swift.h" is missing and I don't seem to be able to locate it anywhere!

That file should be automatically generated by Xcode for Swift->ObjC interoperability.  What version of Xcode are using?

Version 6.4 (6E35b)

hmm - I imagine there's a build setting for swift headers that's not enabled on your end.


Prioritized Experience Replay

An implementation of Prioritized Experience Replay, Schaul et al., 2016.
Key features/changes:
dqn.py: Adds logic to determine if the memory is Prioritized, and adjusts the algorithm accordingly. I've run a few tests and things seem to be working, but I'd appreciate some help looking over the math.
memory.py: Adds PrioritizedMemory, which samples experiences proportional to their TD error. Uses similar conventions to SequentialMemory.
util.py: Adds segment tree data structure used by PrioritizedMemory, which is taken almost directly from the OpenAI baseline version.
dqn_atari.py: Modifies the dqn example to include PrioritizedMemory (Sequential is still there but commented out). Also changes the keras model to the functional api, as well as updates the Convolution2D syntax (no more deprecation warnings).
docs/dqn.md: Adds the PER paper to the references.
I've done a handful of 8 million + time step training runs as tests (on Breakout v0 and v4). Learning went smoothly. Unfortunately, there was a bug that prevented the memory's beta value from annealing properly, so I can't say for sure that it's working. That's been fixed and I'm starting a new 10 mil run. As of 2.6m everything is still going well so I think this is good enough to put up for review; I'll comment the results when it's complete.

Here is the learning curve. Not long enough to compare with any published results, but it look's like it's on pace.

And a video, let me know if the link doesn't work:
https://drive.google.com/open?id=1Drc8nx2_nVxch1Tga27sZR1yxydzwdEa

Code is clean and it seems working very fine, thank you for this ! :tada:

It seems as if the indexes are incorrect when sampling from prioritized replay when the memory is full. The sum trees don't use ring buffers and the indexes obtained from these when sampling refer to a specific index in the _value array of the sum trees. The observations and other ringbuffers on the other hand will change the mappings of indexes when full. E.g. accessing observations[0] when the memory is full won't necessarily give you an observation from index 0 in the ringbuffers data array.  The effect of this is that all priorities will refer to incorrect experiences when the memory is full.
For example, Instead of doing: terminal0 = self.terminals[idx - 2]
you could access the observations and other ringbuffer storage from the data arrays. E.g.: terminal0 = self.terminals.data[idx - 2]
I'm not entirely sure if this might cause other bugs but the current implementation is incorrect. I have also compared this to the open ai baselines implementation and these implementations differ since the storage is just a normal list and not a ringbuffer in the baselines implementation. In other words they avoid this issue by accessing the array "directly ".

I’ll fix that. Thanks

I think this can be fixed by removing the start idx from the getitem of the ring buffer:
def __getitem__(self, idx):
        """Return element of buffer at specific index
        # Argument
            idx (int): Index wanted
        # Returns
            The element of buffer at given index
        """
        if idx < 0 or idx >= self.length:
            raise KeyError()
        return self.data[(idx) % self.maxlen]

This way the items are overwriten like a normal ring buffer but are accessed by fixed idxs.
Here's the output of a rough test.
Before:
Priority sum tree of size 5:
1.0
1.0
1.0
1.0
1.0
Observation in index 0:
[ 0.02417545 -0.01240123 -0.02854802 -0.0528461 ]
Added 2 new observations
Updating observation in index 0 with higher priority
Observation in index 0:
[ 0.02758979 -0.01157058 -0.03669289 -0.0711951 ]
Priority of this observation:
20.91279105182547
Updating again
Priority sum tree of size 5:
832.5532074018735
1.0
1.0
1.0
1.0

Like you pointed out the observation in that index is changing but its priority isn't shifting with it.
After:
Priority sum tree of size 5:
1.0
1.0
1.0
1.0
1.0
Observation in index 0:
[ 0.02735838 -0.2061478  -0.0381168   0.20968898]
Added 2 new observations
Updating observation in index 0 with higher priority
Observation in index 0:
[ 0.02735838 -0.2061478  -0.0381168   0.20968898]
Priority of this observation:
20.91279105182547
Updating again
Priority sum tree of size 5:
832.5532074018735
1.0
1.0
1.0
1.0

Now both seem to be coupled together. That obs is overwritten with a recalculated priority once the memory cycles back around, but remains fixed in the meantime.
Shorter training run results:

Looks good, but it was working before so that doesn't say much. I checked to make sure SequentialMemory still works... it shouldn't matter whether we're sampling randomly from a moving starting point or randomly from the beginning of the array. This will be included in next PR.

I see one problem with that approach. Ringbuffer is a utility that might be used by users of keras-rl in their own custom implementations and by changing its behaviour you could break their implementations. I would either just access the data directly as previously suggested in the prioritized sample method or use a custom ringbuffer instead of overwriting the existing one with changes since there's nothing wrong with its behaviour in general.

That's the plan. I've been working on dqfd and it uses its own ring buffer that already has this change. PER will be switched to use that version without pre-loaded data.

@jakegrigsby I don't see the prioritized memory replay implementation in memory.py. has this not been updated? I have implemented a sequential memory approach and I can implement a PMR and test. DO you mind sharing your final class/method ?

@AloshkaD I think it was moved into the next version release, not the master branch. There is a bug as was discussed above, which was fixed in #214. That still hasn't been merged (it got really big) and probably has some conflicts by now - I'm pretty sure the underlying memory buffers have been rewritten. I'll have some time in the next few weeks to update it and try to get everything into the next release.

@jakegrigsby  thanks Jake!

@jakegrigsby sorry to get back to this. I saw your implementation of PER on your keras-rl repo and I implemented it like this
                              start_beta=.6, end_beta=.6, window_length=WINDOW_LENGTH)```
It seemed to work in the beginning but after some episodes it troughs this error
``` assert len(experiences) == self.batch_size``` which comes from the backward method in dgn.py
I did print the length comparison which was like this
```len(experiences)= 34
self.batch_size = 32```
Any hint on what may have been causing this is appreciated.

@AloshkaD that's weird. I've been testing it off and on over the past few months and haven't run into that problem. Make sure you're using the n-step-dqn branch if you're using my fork. If you're just using mine as a reference and adding to this one, my guess is it's an issue with the underlying memory buffer. My PER uses PartitionedMemoryBuffer, because it holds indices static, letting the priorities for each obs be stored in the same idx as the image.
I'll be able to work on this starting early next week. If you're still having issues hopefully I can recreate it and find the fix.

Let me know when you start working on this and I'll work with you to fix it.
as to using
 n-step-dqn are you referring to the policy?
Here is my implementation anyway.
policy = LinearAnnealedPolicy(EpsGreedyQPolicy(), attr='eps', value_max=1., value_min=.1, value_test=0.0,nb_steps=50002)
               enable_double_dqn=True,
               enable_dueling_network=True, dueling_type='avg',
               target_model_update=1e-2, policy=policy, gamma=.99)

dqn.compile(Adam(lr=0.00025), metrics=['mae'])```

@AloshkaD I meant the branch of my repo (git checkout n-step-dqn). That should work (hopefully).
I think #276 will get the changes into the next release. Feel free to take a look and make changes - I'd appreciate the help.

@jakegrigsby  Excuse me, where can I find the PrioritizedMemory? I didin't find it in the memory.py

@TianLin0509 it's in the branch for the next release, not the master. My bug fixed never got merged though.


Add PostgreSQL as database target

Hi, have you considered adding other databases to this tool?
I like your work and detail on making sure a thread can run without being blocked.
One of the main databases I am working with is PostgreSQL.

This is a long term goal and it would require introducing a new abstraction layer and redesigning quite some things.
I considered it long time ago when started this project and I remember lack of async traits made it quite hard. But now
Rust is in better shape and I can reconsider this.
Beware though, this is a large task, and considering a very limited amount of (unpaid) time I have to work on this project, this isn't going to happen soon.


Backport OTP 18 test fixes from 3.x branch

See #337 (RIAK-1846)

@macintux Please review

Not sure what's going on, but 9 tests are failing under R16.
pr_stacktrace_test: pr_stacktrace_throw_test...*failed*
in function lager:pr_stacktrace/2
  called as pr_stacktrace([{pr_stacktrace_test,make_throw,0,
                     [{file,"test/pr_stacktrace_test.erl"},{line,8}]},
 {pr_stacktrace_test,pr_stacktrace_throw_test,0,
                     [{file,"test/pr_stacktrace_test.erl"},{line,18}]},
 {eunit_test,'-mf_wrapper/2-fun-0-',2,[{file,"eunit_test.erl"},{line,266}]},
 {eunit_test,run_testfun,1,[{file,"eunit_test.erl"},{line,65}]},
 {eunit_proc,run_test,1,[{file,"eunit_proc.erl"},{line,506}]},
 {eunit_proc,with_timeout,3,[{file,"eunit_proc.erl"},{line,331}]},
 {eunit_proc,handle_test,2,[{file,[...]},{line,...}]},
 {eunit_proc,tests_inorder,3,[{file,...},{...}]}],{throw,{test,exception}})
in call from pr_stacktrace_test:pr_stacktrace_throw_test/0 (test/pr_stacktrace_test.erl, line 21)
in call from pr_stacktrace_test:pr_stacktrace_throw_test/0
**error:undef

pr_stacktrace_test: pr_stacktrace_bad_arg_test...*failed*
in function lager:pr_stacktrace/2
  called as pr_stacktrace([{pr_stacktrace_test,bad_arg,0,
                     [{file,"test/pr_stacktrace_test.erl"},{line,14}]},
 {pr_stacktrace_test,pr_stacktrace_bad_arg_test,0,
                     [{file,"test/pr_stacktrace_test.erl"},{line,32}]},
 {eunit_test,'-mf_wrapper/2-fun-0-',2,[{file,"eunit_test.erl"},{line,266}]},
 {eunit_test,run_testfun,1,[{file,"eunit_test.erl"},{line,65}]},
 {eunit_proc,run_test,1,[{file,"eunit_proc.erl"},{line,506}]},
 {eunit_proc,with_timeout,3,[{file,"eunit_proc.erl"},{line,331}]},
 {eunit_proc,handle_test,2,[{file,[...]},{line,...}]},
 {eunit_proc,tests_inorder,3,[{file,...},{...}]}],{error,badarg})
in call from pr_stacktrace_test:pr_stacktrace_bad_arg_test/0 (test/pr_stacktrace_test.erl, line 35)
in call from pr_stacktrace_test:pr_stacktrace_bad_arg_test/0
**error:undef

pr_stacktrace_test: pr_stacktrace_bad_arity_test...*failed*
in function lager:pr_stacktrace/2
  called as pr_stacktrace([{lists,concat,[[],[]],[]},
 {pr_stacktrace_test,pr_stacktrace_bad_arity_test,0,
                     [{file,"test/pr_stacktrace_test.erl"},{line,46}]},
 {eunit_test,'-mf_wrapper/2-fun-0-',2,[{file,"eunit_test.erl"},{line,266}]},
 {eunit_test,run_testfun,1,[{file,"eunit_test.erl"},{line,65}]},
 {eunit_proc,run_test,1,[{file,"eunit_proc.erl"},{line,506}]},
 {eunit_proc,with_timeout,3,[{file,"eunit_proc.erl"},{line,331}]},
 {eunit_proc,handle_test,2,[{file,[...]},{line,...}]},
 {eunit_proc,tests_inorder,3,[{file,...},{...}]}],{error,undef})
in call from pr_stacktrace_test:pr_stacktrace_bad_arity_test/0 (test/pr_stacktrace_test.erl, line 49)
in call from pr_stacktrace_test:pr_stacktrace_bad_arity_test/0
**error:undef

09:51:53.918 [info] Application lager started on node nonode@nohost
lager_rotate: rotate_test_ (Rotate single file)...*failed*
in function lager:log/5
  called as log(sink_event,error,<0.12692.0>,"Sink test message 1",[])
in call from lager_rotate:'-rotate_test_/0-fun-2-'/0 (test/lager_rotate.erl, line 47)
**error:undef

lager_rotate: rotate_test_ (Rotate sink)...*failed*
in function lager:log/5
  called as log(sink_event,error,<0.12718.0>,"Sink test message 1",[])
in call from lager_rotate:'-rotate_test_/0-fun-3-'/0 (test/lager_rotate.erl, line 74)
**error:undef

lager_rotate: rotate_test_ (Rotate all)...*failed*
in function lager:log/5
  called as log(sink_event,error,<0.12744.0>,"Sink test message 1",[])
in call from lager_rotate:'-rotate_test_/0-fun-4-'/0 (test/lager_rotate.erl, line 100)
**error:undef

lager_manager_killer_test: overload_test_ (module 'lager_manager_killer_test')...*failed*
in function lager_manager_killer_test:'-confirm_manager_exit/2-fun-0-'/0 (test/lager_manager_killer_test.erl, line 63)
in call from lager_manager_killer_test:'-overload_test_/0-fun-4-'/0 (test/lager_manager_killer_test.erl, line 28)
**error:{assertion_failed,[{module,lager_manager_killer_test},
                   {line,63},
                   {expression,"false"},
                   {expected,true},
                   {value,false}]}

=INFO REPORT==== 30-Mar-2016::09:52:16 ===
    application: lager
    exited: stopped
    type: temporary

=INFO REPORT==== 30-Mar-2016::09:52:16 ===
    application: goldrush
    exited: stopped
    type: temporary
lager_handler_watcher: reinstall_on_initial_failure_test_...*failed*
in function lager_handler_watcher:'-reinstall_on_initial_failure_test_/0-fun-0-'/1 (src/lager_handler_watcher.erl, line 128)
in call from lager_handler_watcher:'-reinstall_on_initial_failure_test_/0-fun-5-'/0 (src/lager_handler_watcher.erl, line 128)
**error:{assertEqual_failed,[{module,lager_handler_watcher},
                     {line,128},
                     {expression,"lager_test_backend : count ( )"},
                     {expected,1},
                     {value,{error,bad_module}}]}

compress_pr_record_test: nested_record_test (module 'compress_pr_record_test')...*failed*
in function lager:pr/3
  called as pr({a,"Notice me senpai",undefined,undefined,undefined,undefined,undefined,
   undefined},compress_pr_record_test,[compress])
in call from compress_pr_record_test:nested_record_test/0 (test/compress_pr_record_test.erl, line 14)
in call from compress_pr_record_test:nested_record_test/0
**error:undef

=======================================================
  Failed: 9.  Skipped: 0.  Passed: 198.

Apparently removing deps and rebuilding wasn't enough, had to do a distclean.

:+1:


Docker File Chrome and Chromedriver Versions

Is this the latest Dockerfile: https://hub.docker.com/r/selenoid/chrome/~/dockerfile/? Also, is the Dockerfile located on GitHub somewhere? I couldn't find it.
It shows chromedriver 2.27 and chrome 63 - I think:
apt-get -qqy install google-chrome-stable && \
...
ARG CHROME_DRIVER_VERSION=2.27
RUN wget -O /tmp/chromedriver.zip https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip && \
...

But 2.27 does not support apt-get google-chrome-stable which is 63 currently: https://chromedriver.storage.googleapis.com/2.27/notes.txt
----------ChromeDriver v2.27 (2016-12-23)----------
Supports Chrome v54-56

If I am not missing something, should both chrome and chromedriver be explicitly stated to ensure compatibility?

@ryan-levell-twc sorry, this is confusing. But this Dockerfile on the Docker Hub page is an outdated one and unfortunately I can't delete it. Docker Hub has two type of repositories - with automated and manually built images. This one was initially created as automated and I can't find the way to convert it to manually built. So please just ignore this Dockerfile. Correct image build files are located here: http://github.com/aerokube/selenoid-images/ and real versions of browsers and drivers are present in documentation: http://aerokube.com/selenoid/latest/#_browser_image_information That's the only source of truth. :)

Ah good to know. Thanks for the clarification @vania-pooh.