Support forkWorkingDir in ScalaJSModule (run, test, ...)

Working with multiple node.js subprojects, it is needed to have different installation directories that carry their own node_modules folder.
Currently it is not possible to change set the pwd for a subproject, so tests always run by using the root project directory as pwd.
This is probably something that can be useful on a more general level than the ScalaJSModule since it can be useful for Scala and Java projects too.

In general, mill supports changing the working directory for forked tests and in general forked runs. This is controlled via the JavaModule.forkWorkingDir target. But it looks like (as you have noted yourself on gitter channel) that this is not used in ScalaJSModule to run tests.

I can send a PR if I'm told how to do it

I think, you need to add a working dir parameter to ScalaJSWorker.run method and plumb it into the right tools invocations in the implementation. Once, that is done, all usages of the worker in ScalaJSModule need to use the forkWorkingDir target to feed that parameter. This is the run target, and maybe others.

I started writing a longer comment but tldr this requires a breaking change to scalajs-js-envs.
But I just realized that it may not be necessary for my use case. The original problem was how to get Node to use a generated node_modules somewhere under out/. And I had tried using the NODE_PATH environment variable and it didn't seem to work, and AFAICT nobody on the internet uses it this way, and not being able to set the working directory seems like an arbitrary limitation that I assumed would easy to fix, so I started thinking the solution was in that direction.
But I realized that I was probably doing it wrong, setting it to the directory containing node_modules. I think instead it should point to the actual node_modules, as implied in https://nodejs.org/api/modules.html#loading-from-the-global-folders.
So maybe I can get ScalaJS tests to run without bundling that way.

I started writing a longer comment but tldr this requires a breaking change to scalajs-js-envs.

Can you elaborate on this? Why needs it a change in an upstream dependency? This issue is about defining the working (or start) directory of the js/node process. Everything else seems unrelated to this issue.

But I just realized that it may not be necessary for my use case. The original problem was how to get Node to use a generated node_modules somewhere under out/. And I had tried using the NODE_PATH environment variable and it didn't seem to work, and AFAICT nobody on the internet uses it this way, and not being able to set the working directory seems like an arbitrary limitation that I assumed would easy to fix, so I started thinking the solution was in that direction.
But I realized that I was probably doing it wrong, setting it to the directory containing node_modules. I think instead it should point to the actual node_modules, as implied in https://nodejs.org/api/modules.html#loading-from-the-global-folders.
So maybe I can get ScalaJS tests to run without bundling that way.

The motivation is to have two modules which for whatever reasons should not share the same node.js setup. So instead of the project root directory (T.workspace) it could be the module directory (millSourcePath) or also something under out (as you, @nafg, initially wanted).

Can you elaborate on this? Why needs it a change in an upstream dependency? This issue is about defining the working (or start) directory of the node.js process. Everything else seems unrelated to this issue.

Because Mill doesn't actually call Node itself. That's the responsibility of the JSEnv.
Here is some of the longer reply I was writing:

Ultimately ScalaJSWorker.run is calling https://github.com/nafg/mill/blob/5c48ba4121a129d5e8ec1271f462f0e51e314c97/scalajslib/worker/1/src/Run.scala#L21 which calls org.scalajs.jsenv.JSEnv#start which is not part of Mill. In any case the behavior depends on the particular subclass of JSEnv, but at any rate there's no API to pass a path in at this level. But all of them currently known by Mill delegate to org.scalajs.jsenv.ExternalJSRun.start, which calls startProcess which uses java.lang.ProcessBuilder and does not set its directory.

One way to pass it in is by adding it as a field to org.scalajs.jsenv.RunConfig. But in any case it's not possible to add it anywhere AFAICT without a binary incompatible change to scalajs-js-envs which I'm guessing @sjrd isn't going to be super excited to do.

I started writing a longer comment but tldr this requires a breaking change to scalajs-js-envs.
But I just realized that it may not be necessary for my use case. The original problem was how to get Node to use a generated node_modules somewhere under out/. And I had tried using the NODE_PATH environment variable and it didn't seem to work, and AFAICT nobody on the internet uses it this way, and not being able to set the working directory seems like an arbitrary limitation that I assumed would easy to fix, so I started thinking the solution was in that direction.
But I realized that I was probably doing it wrong, setting it to the directory containing node_modules. I think instead it should point to the actual node_modules, as implied in https://nodejs.org/api/modules.html#loading-from-the-global-folders.
So maybe I can get ScalaJS tests to run without bundling that way.

That seems to have worked!

Can you elaborate on this? Why needs it a change in an upstream dependency? This issue is about defining the working (or start) directory of the node.js process. Everything else seems unrelated to this issue.

Because Mill doesn't actually call Node itself. That's the responsibility of the JSEnv.
Here is some of the longer reply I was writing:

Ultimately ScalaJSWorker.run is calling https://github.com/nafg/mill/blob/5c48ba4121a129d5e8ec1271f462f0e51e314c97/scalajslib/worker/1/src/Run.scala#L21 which calls org.scalajs.jsenv.JSEnv#start which is not part of Mill. In any case the behavior depends on the particular subclass of JSEnv, but at any rate there's no API to pass a path in at this level. But all of them currently known by Mill delegate to org.scalajs.jsenv.ExternalJSRun.start, which calls startProcess which uses java.lang.ProcessBuilder and does not set its directory.

One way to pass it in is by adding it as a field to org.scalajs.jsenv.RunConfig. But in any case it's not possible to add it anywhere AFAICT without a binary incompatible change to scalajs-js-envs which I'm guessing @sjrd isn't going to be super excited to do.

Interesting. As JsEnv seem to be design around the idea to keep some "global state" of the JS environment in the current running JVM, we probably need to spawn a new JVM process from the new working directory, and call the JsEnv API from this process.


Convert the site map to be a site map index

This is early days but I wanted to get this documented:

[x] sitemap.xml should be a site map index instead of a plain site map
[x] Create a new static site map containing all of the top level pages like the home page, FAQ, etc…
[x] Create a site map for every package on /owner/repo/sitemap.xml
[x] Reference all package site maps in the index
[x] Include all documentation page URLs from the data generated by --emit-digest

The plan is to get everything apart from the last task in the above checklist into this PR and then create a new PR for the –emit-digest changes that merges into this one. This is already a big PR, and that one could well be big, too.
Go Live Plan
We should think about how we want this to go live as we want Google to see an entirely new set of URLs all at once.

[x] Re-generate documentation for the canonical docs version so that every package that has documentation is covered by these changes
[ ] Add some of the new sitemap files to the smoke test
[ ] Merge PR and deploy

There are some problems with the URLs created by the emit-digest compared to the pages that we serve. I haven't looked into why they are different yet but it looks like we're including a ' character around some special characters. Taking the digest for SemanticVersion, we get  success on all of these URLs from the generated digest:

Documentation Root
SemanticVersion
SemanticVersion/init(from:)
SemanticVersion/init(_:_:_:_:_:)
SemanticVersion/init(_:)
SemanticVersion/description
SemanticVersion/major
SemanticVersion/minor
SemanticVersion/build
SemanticVersion/patch
SemanticVersion/preRelease
SemanticVersion/isMajorRelease
SemanticVersion/isMinorRelease
SemanticVersion/isPatchRelease
SemanticVersion/isPreRelease
SemanticVersion/isInitialRelease
SemanticVersion/isStable
SemanticVersion/_=(_:_:)-3q5ap
SemanticVersion/_(_:_:)-4ftn7
SemanticVersion/_=(_:_:)-9elz8
SemanticVersion/!=(_:_:)
SemanticVersion/_(_:_:)-1ojsm
SemanticVersion/Comparable-Implementations
SemanticVersion/LosslessStringConvertible-Implementations
SemanticVersion/CustomStringConvertible-Implementations
SemanticVersion/Equatable-Implementations

Then, there are five URLs generated by the digest that fail:

SemanticVersion/...(_:_:) we serve as SemanticVersion/'...(_:_:)
SemanticVersion/...(_:)-40b95 we serve as SemanticVersion/'...(_:)-40b95
SemanticVersion/...(_:)-bfr8 we serve as SemanticVersion/'...(_:)-bfr8
SemanticVersion/.._(_:_:) we serve as SemanticVersion/'.._(_:_:)
SemanticVersion/.._(_:) we serve as SemanticVersion/'.._(_:)

I haven’t looked into why we include an additional ' in our URLs and whether it’s something we do or an artefact of DocC, but we’ll need to figure that out before it goes live.

I'd like to review this in two stages, please @finestructure.
This is enough of a PR (without implementing the final checklist item above) but I don't want to merge it until all the pieces are complete so that we show Google a full and complete sitemap all at once. We should review this now, and I'll make any changes, then I'll do the doc URLs in a separate PR that merges into this one.

OK, @finestructure this is ready for one final review before the second PR (which is also now ready) goes into this.

I'm going to deploy this to staging (from this branch) this afternoon and give it a test in a real environment, then I think this is ready to go.

Actually, I wonder if we should put a guard on it on staging once this test is done to make it serve empty sitemaps in that environment. We already noindex everything in staging, but why even serve a sitemap? 🤷♂

If there's no real downside I'd keep dev and prod the same.

I've given this a good test on staging and the only issues I found were caused by the lack of linkable-entites.json file in the dev bucket.
I'm going to merge and deploy it and give it one final test before asking Google to look at our sitemap again.


New Casting and Channeling Progress on Buttons

In new version of wow when u cast a spell with cast time or channel a spell a progress bar shows on button. (Maybe not long abilities like mount but long spells)
With this addon they not show. Disable they show. Enable they not show.
Not sure if it is possible to show Spell Progress while hiding frame but that would be great.
Thanks.

-- local animFrame = button.SpellCastAnimFrame
-- local interruptFrame = button.InterruptDisplay
-- animFrame:SetScript("OnShow", function(self) self:Hide() end)
-- interruptFrame:SetScript("OnShow", function(self) self:Hide() end)

This seems to fix it? While still hiding borders.

this is an intentional part of the addon. you're welcome to keep your own copy with those changes to turn them back on. as you can probably tell, this addon requires very few changes to remain functional so that will probably work for quite some time


Theme docs are incorrect

I'm looking at the docs here:
https://bullettrain.co/docs/themes
and they reference a bunch of files that are not present in the starter application repo.
What's the proper way to go about changing the default styling?

Hey @jagthedrummer,
For sure the docs should be improved on that point.
Bullet Train is split up in multiple gems/npm packages (where those files come from), and you can overcome this indirection with a tool we built called bin/resolve. It tells you the full path of the file, the file of a i18n string and more. There's even a VS Code plugin to make it easy access.
Check out this other page in the docs:
https://bullettrain.co/docs/indirection

Oops, I should have mentioned that I tried to bin/resolve several of the files but that it fails with ArgumentError: unknown keyword: :aliases.
./bin/resolve app/helpers/theme_helper.rb --open
/Users/jgreen/.asdf/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/digest-3.1.0/lib/digest.rb:20: warning: already initialized constant Digest::REQUIRE_MUTEX
/Users/jgreen/.asdf/installs/ruby/2.7.4/lib/ruby/2.7.0/digest.rb:6: warning: previous definition of REQUIRE_MUTEX was here
/Users/jgreen/.asdf/installs/ruby/2.7.4/lib/ruby/2.7.0/net/protocol.rb:66: warning: already initialized constant Net::ProtocRetryError
/Users/jgreen/.asdf/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/net-protocol-0.1.3/lib/net/protocol.rb:68: warning: previous definition of ProtocRetryError was here
/Users/jgreen/.asdf/installs/ruby/2.7.4/lib/ruby/2.7.0/net/protocol.rb:206: warning: already initialized constant Net::BufferedIO::BUFSIZE
/Users/jgreen/.asdf/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/net-protocol-0.1.3/lib/net/protocol.rb:208: warning: previous definition of BUFSIZE was here
/Users/jgreen/.asdf/installs/ruby/2.7.4/lib/ruby/2.7.0/net/protocol.rb:503: warning: already initialized constant Net::NetPrivate::Socket
/Users/jgreen/.asdf/installs/ruby/2.7.4/lib/ruby/gems/2.7.0/gems/net-protocol-0.1.3/lib/net/protocol.rb:504: warning: previous definition of Socket was here
rake aborted!
ArgumentError: unknown keyword: :aliases

Tasks: TOP => bullet_train:resolve
(See full trace by running task with --trace)

And passing the --trace option doesn't change the output at all.

I just figured out that I can bin/resolve if I do ThemeHelper instead of using the path listed in the theming docs.
But it's still unclear how to go about

In Discord we traced my bin/resolve problems to the fact that I downgraded to Ruby 2.7 (in order to be able to deploy to an AWS Lambda Ruby image). Just mentioning that here in case anyone else runs into the same problem.

The theme docs have been updated multiple times since I opened this issue, and part of the issue was related to me downgrading ruby, so I'm going to close this one.


chore: update nextjs page router docs

🚀 Deployed on https://66cd01f288b5ca30feb4381a--cozy-fox-0defec.netlify.app


Adding WAVX Token

Description :
WAVX is a wrapped version of AVX - main reward token of NFTAVE.io. This has Swap, Staking feature inside.
Official website: https://wavx.io
Official website1: https://app.wavx.io
Etherscan: https://etherscan.io/address/0xe2808d7298f0d4111ea1773d3320f5d80eab83e8
Coingecko: https://www.coingecko.com/en/coins/wavx-exchange
Twitter: https://twitter.com/WavxOfficial
Telegram: https://t.me/wavxtokencommunity

SVG icon of size < 15kB is required


Can't send headers in update request

PR #151
Right not it is impossible to send headers in update request:
module Update
      module ClassMethods
        def update(id = nil, params = {})
          MangoPay.request(:put, url(id), params)
        end
      end

      def self.included(base)
        base.extend(ClassMethods)
      end
    end

@mickaelpois I believe this can be closed: https://github.com/Mangopay/mangopay2-ruby-sdk/pull/151


update readme to document sortable_attributes option

Pull Request
What does this PR do?
Fixes #117
PR checklist
Please check if your PR fulfills the following requirements:

[X] Does this PR fix an existing issue?
[X] Have you read the contributing guidelines?
[X] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to MeiliSearch!

bors merge


(GH-376) Corrected Chocolatey Logo

@leovms thank you very much for getting this merged so quickly!


Exclude videos within certain length (e.g. exclude videos between 10 to 20 minutes) when downloading playlist

Checklist

[X] I'm asking a question and not reporting a bug/feature request
[X] I've looked through the README
[X] I've read the guidelines for opening an issue
[X] I've searched the bugtracker for similar questions including closed ones

Question
Is there a way to exclude videos of a certain length when downloading a playlist?
For example for this playlist, I'd like to exclude videos that are between 2 minutes 30 seconds to 4 minutes.
Verbose log
No response

See --match-filter

I did not notice that the condition you asked for needs OR. This is currently not possible

With b1a7cd056a4613b49f93aa249f6c7ecf5a828185, you can now do --match-filter="duration<150" --match-filter "duration>360"


README: fix apollo-client link

Coverage remained the same at 93.548% when pulling 88ae94237b06742c94d1e7f09d76e19e49ddd667 on sduthil:readme-apollo-client-link into 9691bafb6d98405cf0b283dbb272ad690b643643 on graphql-python:master.

Coverage remained the same at 93.548% when pulling 88ae94237b06742c94d1e7f09d76e19e49ddd667 on sduthil:readme-apollo-client-link into 9691bafb6d98405cf0b283dbb272ad690b643643 on graphql-python:master.

In fact, the Apollo Client isn't only limited to React  as there is one for Angular too and so on.
If you check the docs, you will see that it points to another guide at the following link for:

React: batch-http
Angular: angular-link-http-batch

I think the first one is more generalized and not bound to a specific frontend framework.
Cheers!

In fact, the Apollo Client isn't only limited to React as there is one for Angular too and so on.
If you check the docs, you will see that it points to another guide at the following link for:
* React: [batch-http](https://www.apollographql.com/docs/link/links/batch-http/)

* Angular: [angular-link-http-batch](https://github.com/apollographql/apollo-angular/tree/master/packages/apollo-angular-link-http-batch)

I think the first one is more generalized and not bound to a specific frontend framework.

Agreed that the doc should be as frontend-agnostic as possible. But IMHO the paragraph about query batching in the React section:

does not mention React
links to the detailed, agnostic documentation
gives a good example of using query batching, which I found very useful while learning GraphQL


Stack ADT using Linked List

Related Issue

#1045

Proposed Changes

I have added the stack ADT file using linked list implemetation. The ADT functions can be used for any type of the data type. For the sake of simplicity i have used the int data type to demonstrate.

Additional Info

The code was tested and the results were upto the mark.

Checklist

[x] ✅ My code follows the code style of this project.
[x] 📝 My change requires a change to the README.
[x] 🎀 I have updated the README accordingly.
[x] 👀 I have read the CONTRIBUTING document.
[x] ✨ I have added tests to cover my changes.
[x] 🚩 All new and existing tests passed.
[x] 🌟 ed the repo

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

The ADT functions can be used for any type of the data type. For the sake of simplicity i have used the integer data type to demonstrate. I have added all the basic functions of the stack, such as push, pop, creating a stack, counting number of elements etc. In the readme file of stack folder i have described about the time complexity, stack functions and the stack terms.
Output Screenshots

Screenshot #1

Screenshot of output

@Lakhankumawat sir please review my pr

Hey! add a function to display all STACK elements before pop out

@Mrjoy832 Please review my pr. I have added the function for displaying stack elements.

@Mrjoy832 I have made the program to take inputs from the user. Plz look into it.

LGTM

@all-contributors please add @Arun9739  code ,


Parser is way too restrictive

The parser should either be nerfed so that it accepts a lot of inputs, or it should generate more precise and useful error messages.
In particular, the parsing for interpolation expressions could be simplified to accept any list of strings separated by :s. This would make it easier to support floating point values 0 < x < 1 (representing a ratio of total processing steps). Also it would fix some weird edge cases we're getting when trying to use numbers separated by commas in prompt interpolation text fields.
We additionally may want to allow unbalanced parentheses since the webui is now visually reporting them. The way I see it, it shouldn't be our responsibility to make sure parentheses are balanced, it should be webui's.

The value of variable declarations $symbol = ... is greedy and spans multiple lines at the moment. This is also something that should be addressed. We should break the variable assignments on new lines, except for where it would split an enclosing expression in two.


SB-22577 - remove unused variables.

SB-22577  Refactoring implementation for reliability and scalability - 1

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Type of change
Please choose appropriate options.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes in the below checkboxes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Ran Test A
[ ] Ran Test B

Test Configuration:

Software versions: Java 11, scala-2.11, play-2.7.2
Hardware versions:

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

We have StorageService implicit variables defined in MimeTypeManagerFactory also.


Cleaning up OWNERS_ALIASES file

It's been awhile since we've cleaned up our OWNERS_ALIASES file. I made the following adjustments:
Removed

@steveperry-53, the person, the myth, the legend (and sorely missed), should not be a reviewer as they are already emeritus.
@castrojo was removed from blog owner / approver due to their new role. 👋 Hope things are well!
@zparnold, I'm not sure about this one, but I DM'd them on slack to see if this makes sense.

Updated

Updated the SIG Release aliases based off of https://github.com/kubernetes/sig-release/blob/master/OWNERS_ALIASES

Open Questions / Next Steps

@sftim, you're currently not in the blog approver group, do you have any desire to be?
Bring up at weekly meeting: interests for growing reviewer pool (for blog and docs)

If anyone thinks I've made an error in my edits or desire to remain in your role, leave a comment!
As always, you can reference this PR if you wish to have your role reinstated. I'll hold this PR for any discussion for a max of 30 days.
/cc @sig-docs-en-owners
/hold

/assign @kbarnard10 @irvifa @kbhawkey @sftim @onlydole

/approve
Let's handle the blog approver question in a separate PR?

lgtm

/lgtm

Looks great to me, too!
/lgtm

Gave it ~30d and discussed in docs weekly. Much love to the list of folks here, you're always welcome back!
/lgtm
/approve
/unhold


Rework CAcert

Remove CACertSecret, it's part of the same secret that has clouds.yaml. Hypershift will now create the CA secret based on the data in the cloud credentials.

@MaysaMacedo when time permits for a review, thanks

it's not working for me, let's wait until we merge it. I'll ping you again once I resolved it.

let's merge it as is, we'll need to improve it anyway, with the CLI where we'll provide both the openstack credentials and the cacert if required by the cloud.

in fact let's wait on this one. I really want to pass the CAcert via the CLI. and then a secret will be created in the namespace; example given for Azure:
https://github.com/shiftstack/hypershift/blob/375c2943704e3565495b3ca4dd756f1c6c6e16c9/cmd/cluster/azure/create.go#L214-L226


Improve handling of unmerged ETL files.

We still merge during recording. But this is one step on the way to a world where we no longer need to do it. We could probably stop merging right now for the case where we only have a kernel session and no user session.
This commit tweaks how we buffer the ImageID information before we process the MSNT_SystemTrace/Image information.
And it adds handling to get the CodeId + DebugId from the binary, if we're importing an unmerged ETL file.
I've removed a fair amount of code that we had kept around for adding kernel driver handling. It doesn't seem to be needed - I get MSNT_SystemTrace/Image/DCStart events for all the same kernel modules that I also see in the merged ETL.
@vvuk Do you think we still need any of the code in winutils.rs?

@vvuk Do you think we still need any of the code in winutils.rs?

Oh, we still call get_dos_device_mappings(), so that part needs to stay. But I think iter_kernel_drivers() can go. And enable_debug_privilege() should go anyway.

This looks good. And agreed that iter_kernel_drivers() + enable_debug_privilege() can go away. For debug privilege, I can maybe see a future world where samply may want to inspect a target process directly, but we can bring enable privs when needed.

Thanks for confirming!


hello, this is GoT police

http://gameofthrones.wikia.com/wiki/Jon_Snow

i'm going to merge this before anyone else notices


Pipe stdout to read errors from bsb

Right now, err doesn't contain the error message from bsb. Piping stdout yields expected error messages.

cc https://github.com/knowbody/crra/pull/45

Can you provide an example file with an error that doesn't get printed correctly?

Sure.. afk right now so maybe in an hour or two

@rrdelaney If you go into examples/commonjs/src/print.re and remove the semicolon from L6, that will cause an error. In the webpack output, you'll see this:

ERROR in ./src/print.re
ninja: error: rebuilding 'build.ninja': subcommand failed
Error happened when running command /Users/dan/projects/sandbox/bs-loader/examples/commonjs/node_modules/bs-platform/bin/bsb.exe with args [ '-make-world' ]

With these changes, we would see some text that contains the following output from bsb stdout:
File "/Users/dan/projects/sandbox/bs-loader/examples/commonjs/src/print.re", line 8, characters 0-3:
Error: 1742: Incomplete statement. Did you forget a ";"?```

Thanks for this! It works great. I updated to just have stdout be returned as the error - simpler code.
LGTM :+1:

Published in v1.5.4


pagespeed MemcachedServers  "host1:port1,host2:port2,host3:port3";

"This allows PageSpeed to batch multiple Get requests into a single MultiGet request to memcached, which improves performance and reduces network round trips."
HI ALL ,  if i add more memcache server here,  the performance of "multipe Get" is always better than Get ? What do you think about the "Facebook's Memcached Multiget Hole" ? If i make consistent hashing loadbalance at the front server and only left one memcached server for each ngx_pagespeed server, wheather the performance improved or even worse?

In general you want all your ngx_pagespeed servers in one location to share the same memcached server or set of memcached servers.  This is because optimized resources created in response to one request from one user will generally also be needed later by other users and on other pages.  Sharing your cache across all the servers means less wasteful re-optimization.
As for how many memcached servers, I would start with one, run for a while, and look at the eviction rate.    (Though high evictions can also be a symptom of other problems, such as accidentally generating a cachebuster url server-side on your resources.)

Oh, thanks for your reponse. I wander wheather "MultiGet" is always better than "Get"  for memcached here?
Yes, the evictions is too high and the memory here is too small, which lead to  wasteful re-optimization and lower cpu idle. I have to change into the cache based on file system(SSD).And there is another question:
In the shared mem location "rname", the files and size seems do not increase (i get the size using shell command like this :"du -sh *") while the whole size of the file cache increse only. Why ? And it looks like that some strange items are written into the file cache location. I suspect that something that should be written into the rname dictionary is write out the file cache location uncorrectly.
And one more  question here: it seems that there is no lru eviction for the shared cache(rname), when the shared cache is full , i have to restart the nginx and lost all the items in the shread cache(rname dictionary) ?
My configure listed below:
pagespeed FileCachePath                     "/home/work/data1/ngx_cachedata/";
pagespeed FileCacheSizeKb                   102400000;
pagespeed FileCacheCleanIntervalMs          3600000;
pagespeed FileCacheInodeLimit               5000000;

pagespeed CreateSharedMemoryMetadataCache  "/home/work/data1/ngx_cachedata/"  16096000;  #KB
pagespeed LRUCacheKbPerProcess              256000;
pagespeed LRUCacheByteLimit                 16384;
***************
server {
    pagespeed                  on ;
    ***********
    pagespeed FileCachePath                                 "/home/work/data1/ngx_cachedata/";
    ************
  }

And the strange itmes in the "/home/work/data1/" looks like below:
ls /home/work/data/
"7SfFjHMWdk,        !clean!time!            haiwainet.cn linghit.com qizi.cc                     UQRcZHw-PD,               zynews.com
7tD4YmiqQW,        clgd9.com haiyunx.com linkedin.com                    QJ9hMWdl1q,                 url.cn zyue.com
7wenta.com cli.im halk-a.com linksmart.com qkankan.com urlshare.cn zyz66.com
7wgo.cn            cLkmCKIK-5,             halo-hwanghak.com linkwithin.com qlogo.cn url.tw zzdadi.com.cn
7xz.com clkmon.com halo-hwanghak.com.tw linlin.com qlwb.com.cn us567.com zzdmz.cn
"
"7SfFjHMWdk 7tD4YmiqQW QJ9hMWdl1q UQRcZHw-PD "  ,are thoes items here is OK ?

I wander wheather "MultiGet" is always better than "Get" for memcached here?

MultiGet should always be better than Get if there are multiple keys you want to look up at once, and pagespeed automatically uses MultiGet when appropriate.

Yes, the evictions is too high and the memory here is too small, which lead to wasteful re-optimization and lower cpu idle. I have to change into the cache based on file system(SSD).

This is good, as long as you only have one server.  For multiple servers having a local SSD filesystem cache on each is ok, but can lead to wasteful reoptimization as each server needs to optimize all the resources on its own.  In the multiple server situation a shared memcache, large enough to avoid evictions, would be best.

In the shared mem location "rname", the files and size seems do not increase (i get the size using shell command like this :"du -sh *") while the whole size of the file cache increse only. Why ?

The rname directory holds metadata, which is generally pretty small compared to the rest of the cache which mostly holds resources.

it looks like that some strange items are written into the file cache location. I suspect that something that should be written into the rname dictionary is write out the file cache location uncorrectly:

!clean!time!

This is the cache cleaning timestamp, and does belong there.

haiwainet.cn
linghit.com
qizi.cc
zynews.com
clgd9.com
haiyunx.com
linkedin.com
url.cn
zyue.com
7wenta.com
cli.im
halk-a.com
linksmart.com
qkankan.com
urlshare.cn
zyz66.com
7wgo.cn
halo-hwanghak.com
linkwithin.com
qlogo.cn
url.tw
zzdadi.com.cn
7xz.com
clkmon.com
halo-hwanghak.com.tw
linlin.com
qlwb.com.cn
us567.com
zzdmz.cn

These look like referrer spam.  See prior discussion.  You can block these by adding a catch-all server block to the top of your config that doesn't have pagespeed enabled:
   server {
        listen 80;
        location / {
           deny all;
        }
   }
   server {
        listen       80;
        server_name  www.example.com;   // your site
        pagespeed on;
        ...
    }

7SfFjHMWdk
UQRcZHw-PD
7tD4YmiqQW
QJ9hMWdl1q
cLkmCKIK-5

I'm not sure what these are.  What's inside one of them?

it seems that there is no lru eviction for the shared cache(rname), when the shared cache is full , i have to restart the nginx and lost all the items in the shread cache(rname dictionary) ?

The shared memory cache should manage it's own evictions; what made you think you needed to wipe it manually?

OK, thanks for your response very very much !
No. 1
I make nginx + pagespeed  as a forword proxy here ; so there is only one server config looks like this:
server {
listen 80;
location / {
proxy_pass http://$host$request_uri;
proxy_set_header    Host       $http_host;
}
}
    7SfFjHMWdk
    UQRcZHw-PD
    7tD4YmiqQW
    QJ9hMWdl1q
    cLkmCKIK-5

so ,maybe that some strange host  lead to those strange file ? I open some of those file using vim,it looks like this :+1:
"h ^A^@^@^HÈ^A^X^@ ^A(Ø<9f><8b>Ì·)0ø÷øË·)8^A@^AJ^T
^DETag^R^L"3886009901"J^V
^MAccept-Ranges^R^EbytesJ.
^MLast-Modified^R^]Fri, 19 Dec 2014 05:30:38 GMTJ^S
^Hpg_sever^R^Gbw-fe08J^Y
^LContent-Type^R        image/gifJ%
^DDate^R^]Wed, 11 Feb 2015 16:34:51 GMTJ(
^GExpires^R^]Wed, 11 Feb 2015 16:39:51 GMTJ^
^MCache-Control^R^Kmax-age=300Xà§^R`^Ah^@p^@
"
And they are all 293Byte in size.
work@*****:~/data1/ngx_cachedata$ ls -al ZyMSlV20O7,
-rw------- 1 work work 293 Feb 11 15:32 ZyMSlV20O7,
I wonder if those strange file would be cleared automaticlly?
No.2
"The shared memory cache should manage it's own evictions; ",so i do not need take care about the
overflow of the shared memory cache here ? What is the relationship between the shared memory cache and the rname dictionary?
No.3
My rname dictionary  never increase here; all those files under this dictionary looks like below:
Dose there any error here ?
I user nginx+pagespeed as a forword proxy for this purpose of bandwidth reduction . In order to avoid most of strange problem unknown , i  disable most filters of the pagespeed here; Do you know that any one take pagespeed as a forword proxy ?  My config listed below .
Thansk a lot !!!

No. 1

I'm still not sure where those strange filenames are coming from.  I need to look more.

No.2

The shared memory cache should manage it's own evictions;
so i do not need take care about the overflow of the shared memory cache here ?

Correct.

What is the relationship between the shared memory cache and the rname dictionary?

You're currently configured to use a shared memory metadata cache, which should put the equivalent of this rname directory in shared memory.  If you hadn't turned on the shared memory metadata cache you would be using the filesystem to store metadata, in this rname directory.  Your rname directory on disk isn't changing anymore because it's left behind after switching to the shared memory cache.  Eventually the cache cleaner should delete it, when you run low on space.

No.3
My rname dictionary never increase here; all those files under this dictionary looks like below:
Dose there any error here ?

This is all fine: the rname directory on disk isn't being used anymore because you turned on the shared memory metadata cache.

And if i close all the rewrite filter(all about the html), there will be no more things under rname ?

No, this directory won't go away until the cache cleaner gets to it, which won't happen until your cache gets bigger than the size limit.

No 4.
I user nginx+pagespeed as a forword proxy for this purpose of bandwidth reduction.

Ah, I missed that.  Ignore what I said before about host-spam.  Those were from valid forward proxy requests and not from forged host headers.

In order to avoid most of strange problem unknown , i disable most filters of the pagespeed here;
Do you know that any one take pagespeed as a forword proxy ? My config listed below . Dose there
any advices about it here?

The Chrome Data Compression Proxy is a derivative of pagespeed, working as a forward proxy.  One issue you're going to run into is that as a forward proxy you need absolutely huge amounts of cache before the optimizations you make on one request are likely to be useful in serving another request.
Instead of the manual enabling and disabling of filters you're doing, can you just set your RewriteLevel to OptimizeForBandwidth?

No. 5
Is there any statistics aboutthe performance of the pagespeed module for nginx ?

PageSpeed collects statistics about itself, and if you turn on the console you can see them.

No.6
In my config file, the value of CreateSharedMemoryMetadataCache and FileCachePath are the
same location. Could it be setted diffrent? Like that : CreateSharedMemoryMetadataCache located
on the tmpfs while FileCachePath located on the sata or ssd partition ?

The value of CreateSharedMemoryMetadataCache isn't actually where the shared memory cache should be created: it's always created in shared memory, not on disk at all.  Instead that parameter is the path of the file cache that the shared memory metadata cache is supposed to pair with.  So they definitely need to be set to the same value, or else the shared memory metadata cache won't be used at all and instead all the metadata will be stored in the filesystem cache.

Put all the metadata on the memcached server to avoid re-optimised of resource when restart, but i do not want the file data cached on the memcached instead on the local file system.

To avoid reoptimization of resources when you start you should just remove the CreateSharedMemoryMetadataCache setting.  PageSpeed will still use a default shared memory cache, but it will write its changes through to disk.  I know, this is weird.  We'd like to add checkpointing for the shared memory cache, but we haven't finished that yet.
There's currently no way to put the metadata cache in memcached and the file cache on the filesystem.

No.7
When i clear all the old dictionary and restart my nginx+pagespeed, the rname dictionary disapear ?
How could i confirm that the shared metadata cache is in the memroy or on the other place ?

In general, the right way to flush the cache isn't to just delete the files and restart but instead to do this.  Instead of deleting the files this just tells pagespeed not to use files created before the flush.
The rname directory wasn't recreated when you deleted the files and restarted because you're using a manually configured shared memory metadata cache, so it's all in memory.

oH ,You are such a lovely person， thanks  very much for your reply .
"Instead of the manual enabling and disabling of filters you're doing, can you just set your RewriteLevel to OptimizeForBandwidth?"
OK, i will try it later. However, stable and bandwith reduction is our first target at now, i have saw some strange thing before which is caused by the other filters. I think it is either a bug or caused by our uncorrect configure.
"We'd like to add checkpointing for the shared memory cache, but we haven't finished that yet."
That is cool.


rav1e: 0.6.4 -> 0.6.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/xiph/rav1e/releases.
meta.description for rav1e is: The fastest and safest AV1 encoder
meta.homepage for rav1e is: https://github.com/xiph/rav1e
meta.changelog for rav1e is: https://github.com/xiph/rav1e/releases/tag/v0.6.5
Updates performed

Rust version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.6.5 with grep in /nix/store/1rk3zpazswbry16in57z5a7bvgnza96i-rav1e-0.6.5
found 0.6.5 in filename of file in /nix/store/1rk3zpazswbry16in57z5a7bvgnza96i-rav1e-0.6.5

Rebuild report (if merged into master) (click to expand)

501 total rebuild path(s)

501 package rebuild(s)

First fifty rebuilds by attrpath
MIDIVisualizer
abiword
adapta-gtk-theme
aether
almanah
apacheHttpdPackages.mod_tile
apacheHttpdPackages_2_4.mod_tile
arc-theme
arcanPackages.all-wrapped
arcanPackages.arcan
arcanPackages.arcan-wrapped
arcanPackages.cat9-wrapped
arcanPackages.durden-wrapped
arcanPackages.ffmpeg
arcanPackages.pipeworld-wrapped
arcanPackages.prio-wrapped
arcanPackages.xarcan
arx-libertatis
asc-key-to-qr-code-gif
asciidoc-full
asciidoc-full-with-plugins
asymptote
audiobookshelf
authenticator
auto-multiple-choice
autotrace
awesome
ayu-theme-gtk
ballerburg
beets
beets-unstable
beetsPackages.beets
beetsPackages.beets-stable
beetsPackages.beets-unstable
betterlockscreen
bisq-desktop
blockhash
bombono
bottles
bottles-unwrapped
brasero
brasero-original
budgie.budgie-backgrounds
calibre
calibre-web
calligra
capitaine-cursors
cataract
cataract-unstable
cd-hit

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1rk3zpazswbry16in57z5a7bvgnza96i-rav1e-0.6.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A rav1e https://github.com/r-ryantm/nixpkgs/archive/8cfa0f2bc42397a50a94b8b6fbd567e43e7d47b3.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1rk3zpazswbry16in57z5a7bvgnza96i-rav1e-0.6.5
ls -la /nix/store/1rk3zpazswbry16in57z5a7bvgnza96i-rav1e-0.6.5/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/xiph/rav1e/releases.
meta.description for rav1e is: The fastest and safest AV1 encoder
meta.homepage for rav1e is: https://github.com/xiph/rav1e
meta.changelog for rav1e is: https://github.com/xiph/rav1e/releases/tag/v0.6.6
Updates performed

Rust version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.6.6 with grep in /nix/store/lbxg15kd04rraphbvc0hr5sv12bsg8r1-rav1e-0.6.6
found 0.6.6 in filename of file in /nix/store/lbxg15kd04rraphbvc0hr5sv12bsg8r1-rav1e-0.6.6

Rebuild report (if merged into master) (click to expand)

501 total rebuild path(s)

501 package rebuild(s)

First fifty rebuilds by attrpath
MIDIVisualizer
abiword
adapta-gtk-theme
aether
almanah
apacheHttpdPackages.mod_tile
apacheHttpdPackages_2_4.mod_tile
arc-theme
arcanPackages.all-wrapped
arcanPackages.arcan
arcanPackages.arcan-wrapped
arcanPackages.cat9-wrapped
arcanPackages.durden-wrapped
arcanPackages.ffmpeg
arcanPackages.pipeworld-wrapped
arcanPackages.prio-wrapped
arcanPackages.xarcan
arx-libertatis
asc-key-to-qr-code-gif
asciidoc-full
asciidoc-full-with-plugins
asymptote
audiobookshelf
authenticator
auto-multiple-choice
autotrace
awesome
ayu-theme-gtk
ballerburg
beets
beets-unstable
beetsPackages.beets
beetsPackages.beets-stable
beetsPackages.beets-unstable
betterlockscreen
bisq-desktop
blockhash
bombono
bottles
bottles-unwrapped
brasero
brasero-original
budgie.budgie-backgrounds
calibre
calibre-web
calligra
capitaine-cursors
cataract
cataract-unstable
cd-hit

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lbxg15kd04rraphbvc0hr5sv12bsg8r1-rav1e-0.6.6 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A rav1e https://github.com/r-ryantm/nixpkgs/archive/33b4c4e7bbbcbca16c26803d53d87a17ee683649.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lbxg15kd04rraphbvc0hr5sv12bsg8r1-rav1e-0.6.6
ls -la /nix/store/lbxg15kd04rraphbvc0hr5sv12bsg8r1-rav1e-0.6.6/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings


Cobertura --> Clover

Or perhaps some other maintained coverage solutions.
https://confluence.atlassian.com/clover/clover-for-maven-2-and-3-user-s-guide-92504107.html

Clover hasn't had a commit since April 2017 when it was open-sourced. https://bitbucket.org/atlassian/clover
Jacoco works with codecov.io.


How to close a toplevel dialog and then change the toplevel view in the same thread(?)

Been having this issue for a while but one of my linux users is unable to use my app cause when a modal dialog closes (essentially a 'checking' dialog), it never transitions to a new view. I've known about this issue for a while but it has not been a blocking issue, but it appears to now be. I can reproduce this issue.

In the above picture, I have the completion event of a long running task (this pic is after I tested a few methods - the MainIteration is not there originally). During this task, I have a MessageBox.Query() open with no buttons that says 'Performing precheck'. When this process ends, the dialog is to close, and then either an error shows up, or a new UI controller (essentially full screen window) is swapped to.
On Windows, I've never seen any issues with this. On Linux I'm having lots of problems where the dialog disappears but the UI never changes. Debugging shows my swap code is called but the actual Run() event on my new UIController (which extends Window) is never fired. After more debugging, I found the the calls to Application.RequestStop() just request the top level stops, but the toplevel doesn't change until... some time later, I guess.
How am I supposed to wait until all of these actions have been performed? In WinForms, if I recall, you could do Application.DoEvents() to let pump the UI queue. I see there is a MainLoop.MainIteration() in Application.cs that seems like it should do the stuff I'm looking for. There's a comment on it: 		///     while (main.EvensPending ()) MainIteration ();
When I use this, the MainIteration(); call is never invoked. Which makes me think there are no events pending. When calling Application.RequestStop() all it does is make the current TopLevel.Running = false. This has no setter logic so there is no way (I think) that an event pending is set. So this while method call would never work, I think.
You can see how I used it in the above picture, I just removed the while loop to try and force it to do a loop so the next TopLevel would be done after the current one is popped off the stack. This worked... sometimes(?).
I'm not really sure how I am supposed to wait until the latest TopLevel has been updated. This makes using dialogs difficult because I don't really know when I can safely call Application.RequestStop() and Application.Run(). I'm trying to make sure all of these calls are invoked through MainLoop, but I'm not sure of the thread safety of this library (in WPF trying to UI things on the wrong thread would throw an exception. It might be useful to have that here so I don't accidentally update the UI on the wrong thread?).

For several toplevels see the Example project in demo.cs the following:

static void Main ()
static void MainApp ()
new MenuItem ("Text _Editor Demo", "", () => {running = Editor; Application.RequestStop ();}, null, null, Key.AltMask | Key.CtrlMask | Key.D),
static void Editor ()

Here you can verify that the Main is a loop that executes the Action that is defined in the running variable that is initially assigned to the MainApp method. Then in the menu if the Editor is called, the running variable is assigned to the Editor method that will be called after Application.RequestStop () has been called. In the Editor method if the Quit method is called, the running variable is assigned to the MainApp method again and continues the loop until the running variable is null. As you can see the news toplevels are always assigned to Application.Top which is unique.
In case you are working with threading then check out the Threading.cs scenario in the UICatalog project where it explains how to return to the UI of the same thread.

Sorry for long response time. I'm working on several projects that all have deadline in a few days so it's like 100% work time. I will try out these in a few days and get back to you on which avenue worked for me, thanks!

@Mgamerz I'm going to close this given how long it's been sitting. If this is still something you think needs to be addressed, we can re-open it.

Sorry for the long hiatus. Been really busy, lots of IRL stuff, and haven't done much work on the Linux side of our project for several months. A cursory glance seems to indicate this is a lot of what I was looking for back when I was heavily working on it last year, so when my current work slows down, I'll probably jump back onto the Linux system. I finally a system I can dedicate that doesn't require use of a TV, which should make it much easier to test, but it will probably be a few months before my work begins to cool off.


Will running start-deployForge from within docker exec -it  /bin/bash/ setup Forge?

I deployed a server locally for the family. My wife has put a lot of time into her seventh home (she loves building them). When I deployed, I just deployed as plain vanilla. I would like to add Forge to the server. I have added to the clients already and the mods I have enabled are working but some require the server to have Forge as well. I would like to keep the existing world and add Forge to the server. I could copy|backup the Forge server files to my mounted data folder (could also backup the world there?), rebuild the container with TYPE=FORGE, and copy the existing world files back over?
Would running start-deployForge work? Or, can I change one of the files to point to the Forge file?  I am hopeful I can without.

Re-creating the container, pointing the /data volume at the same directory, and setting TYPE=FORGE will simply take care of it. (You'll just end up with an extra vanilla server jar sitting there.) As you mentioned, backing up the data directory before doing all that will be good just in case something goes wrong.

...as for running that script directly, it expects to be invoked in sequence with the others, so it wouldn't have done quite what you wanted.

Okay, rebuilt the thing, after copying my world off to another location. I changed the name of the folder in my data folder and set LEVEL equal to that new name. Loaded right up at the spot I was in. Well, I had to put the mods on the server that are on my client. So, I need to stay mindful of that now. My son has mods the length of football field (he has played since the beginning). :)

Ah yes, I tend to play vanilla servers, so I forget how many mods are out there until I try a Feed the Beast modpack.
Good to close the issue?

Yes, I will close this issue. :)


Idea regarding dynamic conf loading

Currently, there is a constructor that has all properties defined as arguments to it. Do we really need this? If we are generating components via conf objects, the Constructor(MyGameObject, Conf) seems like it should be all we need.
Am I missing something with why we have the non-conf constructor?

Maybe we don't need it.  But without it you have no way to define an object in code.  Like you said though, with the conf-based objs we probably don't want that anyways.  I'll make it a private constructor for now and that way it can't be used in code but it still is there if we want/need it in the future.

My thoughts led me to wondering if you could do things such as reflection. So when loading from config, it would just put each config value onto a field on the component. If it finds a field that doesn't have a config element for it, it throws an error.
(This is sort of a rant. I don't think we actually need this, but the thought crossed my mind, so I figured I'd write it down. I think what you have right now is going to work well for us)

You make a good point though...

We should worry about it once we actually start building the game and have a better feel for what works better :) But I'm getting more and more stoked to keep going on this.

(also -- kudos on all the stuff you've gotten done so far. Just for giggles I looked at how much you've done in this project and there's almost 3000 lines of just code in here)


Revert "Improve setup instructions, spelling, consistency"

Reverts SC5/sc5-styleguide#752

Ah, what went wrong here? Can I fix my branch and open a new PR?

@karlhorky It must be into dev branch, not in master. I did not notice and merged. If you could create a new PR into dev, that would be awesome. The content is perfect, nothing to change. Thank you very much!

Okay, thanks @varya I've done that: #764


Fix: GitHub test

Why did we have to check in the dependency. Ideally fpm should download it na. So we get the latest version of the theme.


private-chef cookbook crashing with common-name attribute

Good afternoon,
I'm trying to run the chef-server cookbook using chef-provisioning (and chef-solo from Vagrant), and it returning the following error:
                  ================================================================================
                          Recipe Compile Error in /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/default.rb
                          ================================================================================

                          Chef::Exceptions::ValidationFailed
                          ----------------------------------
                          common_name is required

                          Cookbook Trace:
                          ---------------
                            /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/nginx.rb:58:in `block in from_file'
                            /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/nginx.rb:57:in `from_file'
                            /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/default.rb:208:in `block in from_file'
                            /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/default.rb:191:in `each'
                            /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/default.rb:191:in `from_file'

                          Relevant File Content:
                          ----------------------
                          /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/nginx.rb:

                           51:
                           52:  ssl_keyfile = File.join(nginx_ca_dir, "#{node['private_chef']['nginx']['server_name']}.key")
                           53:  ssl_crtfile = File.join(nginx_ca_dir, "#{node['private_chef']['nginx']['server_name']}.crt")
                           54:  ssl_dhparam = File.join(nginx_ca_dir, 'dhparams.pem')
                           55:
                           56:  # Generate self-signed SSL certificate
                           57:  openssl_x509 ssl_crtfile do
                           58>>   common_name node['private_chef']['nginx']['server_name']
                           59:    org node['private_chef']['nginx']['ssl_company_name']
                           60:    org_unit node['private_chef']['nginx']['ssl_organizational_unit_name']
                           61:    country node['private_chef']['nginx']['ssl_country_name']
                           62:    key_length node['private_chef']['nginx']['ssl_key_length']
                           63:    expire node['private_chef']['nginx']['ssl_duration']
                           64:    owner 'root'
                           65:    group 'root'
                           66:    mode '0644'
                           67:  end

                          [2015-09-10T17:10:11+00:00] ERROR: Running exception handlers
                          [2015-09-10T17:10:11+00:00] ERROR: Exception handlers complete
                          [2015-09-10T17:10:11+00:00] FATAL: Stacktrace dumped to /opt/opscode/embedded/cookbooks/cache/chef-stacktrace.out
                          [2015-09-10T17:10:13+00:00] FATAL: Chef::Exceptions::ValidationFailed: common_name is required
                          STDERR: sudo: unable to resolve host ip-10-0-0-151
                          sudo: unable to resolve host ip-10-0-0-151
                          sudo: unable to resolve host ip-10-0-0-151
                          ERROR: CONFIGURATION ERROR:Specified config file /etc/opscode/pivotal.rb does not exist
                          sudo: unable to resolve host ip-10-0-0-151
                          ERROR: CONFIGURATION ERROR:Specified config file /etc/opscode/pivotal.rb does not exist
                          ---- End output of "bash"  "/tmp/chef-script20150910-3220-19gpj5q" ----
                          Ran "bash"  "/tmp/chef-script20150910-3220-19gpj5q" returned 1

These errors started suddenly, and the chef-client cannot run the recipe due this. Note: I've used the wrapper that manages this cookbook (chef-server) before, without problems
The only one attribute passed by wrapper, is:
node.override['chef-server']['api-fqdn'] = node['ipaddress']

I was able to repo this too.
[2015-09-23T16:46:46+00:00] WARN: common_name nil currently does not overwrite the value of common_name. This will change in Chef 13, and the value will be set to nil instead. Please change your code to explicitly accept nil using "property :common_name, [MyType, nil]", or stop setting this value to nil.

  ================================================================================
  Recipe Compile Error in /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/default.rb
  ================================================================================

  Chef::Exceptions::ValidationFailed
  ----------------------------------
  common_name is required

  Cookbook Trace:
  ---------------
    /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/nginx.rb:58:in `block in from_file'
    /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/nginx.rb:57:in `from_file'
    /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/default.rb:208:in `block in from_file'
    /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/default.rb:191:in `each'
    /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/default.rb:191:in `from_file'

  Relevant File Content:
  ----------------------
  /opt/opscode/embedded/cookbooks/cache/cookbooks/private-chef/recipes/nginx.rb:

   51:
   52:  ssl_keyfile = File.join(nginx_ca_dir, "#{node['private_chef']['nginx']['server_name']}.key")
   53:  ssl_crtfile = File.join(nginx_ca_dir, "#{node['private_chef']['nginx']['server_name']}.crt")
   54:  ssl_dhparam = File.join(nginx_ca_dir, 'dhparams.pem')
   55:
   56:  # Generate self-signed SSL certificate
   57:  openssl_x509 ssl_crtfile do
   58>>   common_name node['private_chef']['nginx']['server_name']
   59:    org node['private_chef']['nginx']['ssl_company_name']
   60:    org_unit node['private_chef']['nginx']['ssl_organizational_unit_name']
   61:    country node['private_chef']['nginx']['ssl_country_name']
   62:    key_length node['private_chef']['nginx']['ssl_key_length']
   63:    expire node['private_chef']['nginx']['ssl_duration']
   64:    owner 'root'
   65:    group 'root'
   66:    mode '0644'
   67:  end

  Running handlers:
[2015-09-23T16:46:46+00:00] ERROR: Running exception handlers
  Running handlers complete
[2015-09-23T16:46:46+00:00] ERROR: Exception handlers complete
  Chef Client failed. 1 resources updated in 10.379691033 seconds
[2015-09-23T16:46:46+00:00] FATAL: Stacktrace dumped to /opt/opscode/embedded/cookbooks/cache/chef-stacktrace.out
[2015-09-23T16:46:47+00:00] FATAL: Chef::Exceptions::ValidationFailed: common_name is required

/cc @ryancragun

Hello jjasghar.
I figured out that this problem is related to a known bug with the Nginx cookbook (that Chef-server cookbook uses, also). The bug is a cookbook crash, when the machine to be configured, don't have a resolvable hostname and a VALID internal hostname (at least), and don't have a hostname set within OHAI.
I don't know if this is related to your problem, as my issue here (besides the both problem are the same), but it's a good way to look for the solution.

Ah yep! I just  sudo echo "<IP_ADDRESS>  <HOSTNAME>  <HOSTNAME>" >> /etc/hosts and it worked. Thanks!

Facing this as well when installing on EC2.
[ec2-user@ip-XYZ ~]$ cat /etc/hosts
<IP_ADDRESS>   localhost localhost.localdomain chef.orgname.com

Confirmed on ec2 default ubuntu 14.04

This just bit me today also.

Make an entry in /etc/hosts using the name provided by executing the 'hostname' command.
<IP_ADDRESS> ip-172-28-0-156.ec2.internal

Any suggestions on how to work around this if you want to host the chef-server on a different sub-domain?  I've changed the following, for example:
default['private_chef']['nginx']['server_name'] = "chef.#{node['fqdn']}"
That appears to work for the hosting, but the cert generated is based on the hostname only - I want the common_name for the server cert to be chef.hostname

Confirmed on ec2 default ubuntu 14.04
Fixed with: hostname curl http://<IP_ADDRESS>/latest/meta-data/public-hostname

This should largely be resolved by setting the api_fqdn as appropriate or leaving unset to use IP addresses. Feel free to open new issues if this is manifesting presently.

just updating that this is still relevant as of today, fixing using sudo echo "<IP_ADDRESS> <HOSTNAME> <HOSTNAME>" >> /etc/hosts

i got the same error and tried to install/ un-install the chef. no luck
then, i tried the above step. and then "reconfigured"  it is working. thanks.
echo "<IP_ADDRESS> chef_server chef_server.com">> /etc/hosts


RecordValue.ToExpression to escape identifiers

Issue https://github.com/microsoft/Power-Fx/issues/1409.

✅ No public API change.


Unable to do fresh install of sensapex 1.22.8, wheel build error

When installing with the following command on Python 3.9 and above
pip install sensapex --use-pep517

I get the following error message
Building wheels for collected packages: sensapex
  Building wheel for sensapex (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for sensapex (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [43 lines of output]
      /private/var/folders/7t/bjltzf0d4g9_t1bvf0jlh6pc0000gn/T/pip-build-env-gu42w840/overlay/lib/python3.9/site-packages/setuptools/dist.py:547: UserWarning: Normalizing '1.022.8' to '1.22.8'
        warnings.warn(tmpl.format(**locals()))
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib
      creating build/lib/tests
      copying tests/test_move_request.py -> build/lib/tests
      copying tests/__init__.py -> build/lib/tests
      creating build/lib/sensapex
      copying sensapex/sensapex.py -> build/lib/sensapex
      copying sensapex/accuracy_test.py -> build/lib/sensapex
      copying sensapex/__init__.py -> build/lib/sensapex
      copying sensapex/test.py -> build/lib/sensapex
      copying sensapex/utils.py -> build/lib/sensapex
      copying sensapex/pressure_test.py -> build/lib/sensapex
      installing to build/bdist.macosx-13.2-arm64/wheel
      running install
      running install_lib
      creating build/bdist.macosx-13.2-arm64
      creating build/bdist.macosx-13.2-arm64/wheel
      creating build/bdist.macosx-13.2-arm64/wheel/tests
      copying build/lib/tests/test_move_request.py -> build/bdist.macosx-13.2-arm64/wheel/tests
      copying build/lib/tests/__init__.py -> build/bdist.macosx-13.2-arm64/wheel/tests
      creating build/bdist.macosx-13.2-arm64/wheel/sensapex
      copying build/lib/sensapex/sensapex.py -> build/bdist.macosx-13.2-arm64/wheel/sensapex
      copying build/lib/sensapex/accuracy_test.py -> build/bdist.macosx-13.2-arm64/wheel/sensapex
      copying build/lib/sensapex/__init__.py -> build/bdist.macosx-13.2-arm64/wheel/sensapex
      copying build/lib/sensapex/test.py -> build/bdist.macosx-13.2-arm64/wheel/sensapex
      copying build/lib/sensapex/utils.py -> build/bdist.macosx-13.2-arm64/wheel/sensapex
      copying build/lib/sensapex/pressure_test.py -> build/bdist.macosx-13.2-arm64/wheel/sensapex
      running install_egg_info
      running egg_info
      writing sensapex.egg-info/PKG-INFO
      writing dependency_links to sensapex.egg-info/dependency_links.txt
      writing requirements to sensapex.egg-info/requires.txt
      writing top-level names to sensapex.egg-info/top_level.txt
      reading manifest file 'sensapex.egg-info/SOURCES.txt'
      adding license file 'LICENSE'
      writing manifest file 'sensapex.egg-info/SOURCES.txt'
      Copying sensapex.egg-info to build/bdist.macosx-13.2-arm64/wheel/sensapex-1.22.8-py3.9.egg-info
      error: HTTP Error 404: Not Found
      [end of output]

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

The above command was run on macOS with Python 3.9 and pip 22.0.4, but the same error was observed in Windows, with Python 3.10 and 3.11, and with pip 23+. The --use-pep517 was added due to a warning of deprecation by pip (it would be great if the package could be updated to abide by this new rule that will be enforced in future versions of pip).
I am still able to install 1.22.7 if I explicitly mark it for installation.
How can I get around this error? Thank you!

Hi,
i also met this network error problem. Have you solved this problem?
My platform is Windows10, conda(python 3.7)
Best,
Simon

I have not found a fix yet apart from downgrading to 1.22.7 🙁

This has been fixed now. Could you please try again.

Installing with pip install --use-pep517 sensapex works now. However, the --use-pep517 flag is still necessary. Is this something that can be fixed?
DEPRECATION: sensapex is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559


.Net: Test local modal with Semantic Kernel (i.e., Llama via Ollama)

Deploy a IChatCompletionService Llama model locally with Ollama and validate that it works with Semantic Kernel and the existing IChatCompletionService interface.

Doesn't need to test function calling.

I tested our IChatCompletionService with Ollama using mistral. My conclusion is that our abstractions are good enough to allow this to work, but it does not currently work due to some implementation details in the Azure OpenAI SDK:

Ollama chat API uses the same interface as OpenAI however the Ollama response is streaming by default where the OpenAI response is not-streaming by default. This is a problem because the only way to disable streaming on Ollama is to set streaming=false in the request body, which is never done in the Azure OpenAI SDK, it's either true or null (missing).
Ollama streaming uses Server Sent Events just like OpenAI but Ollama uses named events, also known as multi-line events, see this and the Azure OpenAI SDK does not support this, it throws an exception.

Once these issues are fixed in the Azure OpenAI SDK, our IChatCompletionService will support Ollama.

Once these issues are fixed in the Azure OpenAI SDK, our IChatCompletionService will support Ollama.

Are there issues open on that for Azure.AI.OpenAI? Is anyone working on it? Timeframe?

hello any update for this?


Feature: custom plugin bookmarks / extend license types

It would be nice to have ability to manage default bookmarks made by integrations on connection time. Currently there is one bookmark made by default with the platform name and all games returned by "get_owned_games" method
In humblebundle plugin I would create 3 bookmarks for:

keys (steam/uplay ect.)
humble bundle drm-free library
trove games (monthly subscription games)

The problem is I have no tools to mark duplicated games - its origin or type. I can perform deduplication on plugin side based on priority list defined in user config file, but it is workaround for the actual problem.
Alternatively, Galaxy should add an additional filter for "license" type.
BTW I feel there is lack of LicenseType indicating subscription (it is becoming more and more popular along different platforms (like Uplay)).
Then hb integration will return games with different licences:

SinglePurchase (standard bundles, store purchases)
Subscription (trove games)
Free (free games from hb store - they occurs sometimes)
OtherLicense (3rd party game keys)

Hmmmm. Looks like a big feature.
Four types you enlisted are for HumbleBundle.
For Origin it'll be

Free (? discontinued, however, there's still a lot of games like Dead In Bermuda on gamers' accounts which are not Free to Play but are simply Free)
Free to Play (Ap... Ape... dat f2p overhyped battle royale :/ I'd kill for possibility to consolidate all f2p ballast in one bookmark - and to hide it from other lists, both automatically)
Origin Access Basic
Origin Access Premium
Purchased
Trial versions (Dragon Age Inquisition trial, I believe, these are enlisted as separate titles)
OtherLicense (3rd party - Rainbow Six Siege which could be preordered at Origin some time ago can serve as an example)

@EustaceCS
It may be big feature for Galaxy, but not for API. There is already way to define Game license:
gogcom/galaxy-integrations-python-api/issues/58
The main thing is what that information serves for in Galaxy. We currenly don't know. Maybe they have some plans. The filtering would be rather side-effect (although very useful).
I don't thing Galaxy is interested in such detailed Licences. It is a platform specific thing. Just for user information if it is kind off demo/trial or full game. My point is to add general license like "subscription" is. And I'm not sure, but looks like "OtherPlatformKey" is also quite popular thing, at least for all kind of store integrations mostly requested to be added to game list, but not only: indiegala, FX store ect.).
For Origin example I would just use:

Free -> FreeToPlay
Free to Play -> FreeToPlay
Origin Access Basic -> Subscription
Origin Access Premium -> Subscription
Purchased -> SinglePurchase
Trial versions -> Trial
OtherLicense -> OtherLicense or Key depending on situation

Thanks for your proposals, I will pass them on to decision makers.
Currently there are no specific plans to allow bookmarks management by plugins.
As far as subscription licenses are considered, they will be handled in the future with custom names as you suggested (but this is not only a matter of LicenseType).
Keys are another story and probably they should be handled in yet another way. "Key" is not logically matter of license, but rather game distribution property. We will talk about it internally. I'm sorry for limited customizability you encountered.

Issue on GOG Galaxy 2 tracker: https://mantis2.gog.com/view.php?id=20693

Subscriptions games are already added. Fell free to raport need for special support for Keys in Galaxy bugtracker


Deephaven server does not have the whole VS Code codebase

create a module named mymod.py

print("IN MYMOD")

def myfunc(x):
    return x + 1

In a script try to run:

import mymod

You will get an error:
14:19:52.953 ERROR r-Scheduler-Serial-1 | .c.ConsoleServiceGrpcImpl | Error running script: java.lang.RuntimeException: Error in Python interpreter:
Type: <class 'ModuleNotFoundError'>
Value: No module named 'mymod'

@chipkent does this work for you in code studio? I get the same error there.

@chipkent I figured out why it didn't work for me in code studio. I needed to add:
import sys
sys.path.append("/data/storage/notebooks")

In the extension, this also holds true with the additional requirement that the folder you are using has to be known to the DH server. I have mine mapped via volumes config in the docker compose file I run my server from.

#16 to address this for Docker configs

Re-opening based on discussion with @chipkent . I'd like to investigate more of what the typical local Python experience would be in vscode and see what options we have to make the DH experience closer to that.


fix(ci): Attach assets when a new Version commit is created

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


[ic-data-dable] Screen reader sorting indicator shows on screen when using RTL language

Summary of the bug
When using a RTL language, (dir="rtl" on the ), the text "table unsorted" appears way over to the right instead of being off screen. See the screenshot below for an image of a live example of this.
🪜 How to reproduce

Set dir="rtl" on <html>
Add an ic-data-table
Observe the text "table unsorted" appear when you scroll far enough to the left

📸 Screenshots or code

🖥 📱 Device

Type: desktop
Device: mac os
Browser version: Firefox 133

🧐 Expected behaviour
The text should be hidden, except for screen readers
📝 Acceptance Criteria
If relevant, describe in full detail the different interactions and edge cases that the component or patterns needs to fulfil.
Given  dir attribute is "rtl"
When an ic-data-table is used
Then the screen reader hint is not visible
Additional info
In testing, switching the CSS to use right: instead of left: fixed the issue.
The :dir selector could be used to fix this.

There are numerous occasions of this error in the set of web-components, so it would be best to wait for a decision in #2906 before implementing a fix for the canary components.


Fix Provided Entites caches dumping

To improve the stability of the type provider tests, we should not use the identifiers of the unstable provided entities (ProvidedType and ProvidedAssembly). To determine the entity version, the FullName of the entity and the identifier of the type provider are sufficient.

I also need to check that in 212 everything is okay with this.

for 212 works,
for TC too

Could you please target 212 before the merge and backport the commit afterwards, so the whole development occurs in the actual branch instead of stale-ish one?


When will the code be realeased?

When will the code be realeased?

we will release it soon.  I hope it can be made this weekend.

we will release it soon. I hope it can be made this weekend.

delayed?

we will release it soon. I hope it can be made this weekend.

delayed?

Sorry, we kind of busy. we will release it this week.

we will release it soon. I hope it can be made this weekend.

delayed?

Sorry, we kind of busy. we will release it this week.

i mean next week.

delayed？

@xben-cherry Sorry, I promise the code will be released this week.


Update UR26 version and dates for UR27

Two set of changes are made:

the correct version for UR26 that is now available for update
the dates when the next version UR27 will be available.

@gurpreetsinghgurpreet Please make these changes in the private repo and send me a chat letting me know they need to be merged. If you need help accessing the private repo, please email me and I will send you instructions.


Image in manga could not be loaded

Steps to reproduce
Choose a manga you like to read
Open the manga by any extension in aniyomi
The page doesn't load

Expected behavior
The page should load
Actual behavior
The page couldn't be loaded
Crash logs
App version: <IP_ADDRESS> (standard, 959f84a, 124, 2024-07-01T22:25Z) Android version: 12 (SDK 31; build SP1A.210812.003 release-keys) Android build ID: SP1A.210812.003 release-keys Device brand: vivo Device manufacturer: vivo Device name: 2111 (2111i) Device model: V2111 WebView: Android System WebView 126.0.6478.134 MPV version: 4d32db2 Libplacebo version: v7.349.0
Aniyomi version
<IP_ADDRESS>
Android version
Android 12
Device
V2111
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extension's repository.
[X] I have gone through the FAQ and troubleshooting guide.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

This is an issue with the extension, there's nothing we can/will do about that.


DEV: QA: Review and Respond to client inquiry for “one message” split options

Determine best option to combine multiple-line message; Client suggested options are:

Option a, combine multiple-line message into one line on drillflow side

Option b, combine multiple-line message into one line on DoT side. This introduce another layer of processing before filebeat collecting on DoT side.
==============================================================
This card covers the client request Sent: Friday, July 26, 2019 3:41 AM
From: XiaoBin DENG<EMAIL_ADDRESS>

Mike,
Is it possible to remove (or replace with tab) below “CRLF” from one message inside?
See Image in Email FYI
Currently, traces from 3rd party components are collected by Filebeat, which treats “CRLF” as end of specific message and works fine for Cassandra (Please see sample Cassandra message in attachment), RabbitMq, etc. For above Drillflow trace, this mechanism results in “one message” split:
See Image in Email FYI
After short discussion with team members, we think there are 2 options here:
•	Option a, combine multiple-line message into one line on drillflow side
•	Option b, combine multiple-line message into one line on DoT side. This introduce another layer of processing before filebeat collecting on DoT side.
Considering developing and further maintenance effort, we prefer option a. How do you think?
Thanks,
Xiaobin

@TessForGithub2 what is the update on this item?

Update: We are working in priority order, and we have not yet looked into this yet.

Who should this be assigned to and how should this be prioritized for noting ETA?

UPDATE: This ask required custom CXF code to fix. It is anticipated to take > 1 week, and Mike mentioned something about asking Chris for the fix after his vacation. However, Mike thinks a more viable alternative is IF FileBeat allows configuration for CRLF (not treating as separate message), to have them configure FileBeat to see if this is the better solution.
Mike did suggest that someone google for roughly 1 hour to see if FileBeat permits this or not. That will tell us the definitive solution (whether we have to move on to custom CXF code or not).

@TessForGithub2 please advise the current status and new ETA for this item.

OK, this is another one I spoke with Mike about.
He said:

We should allocate 1 hour for someone to Google about File Beat (whether
it is true that a configuration is easy for File Beat). If true, then we
need to ask SLB is they are OK with trying it.
If it is false about File Beat, then it will take longer than 1 week
(Mike's estimate from discussing with Chris) for someone to provide CXF
custom code to fix it.

I can drop this status into the card if you would like.
Thank you,
Theresa Stewart
281.723.7108
On Fri, Aug 2, 2019 at 9:22 AM niaalex<EMAIL_ADDRESS>wrote:

@TessForGithub2 https://github.com/TessForGithub2 please advise the
current status and new ETA for this item.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=ALOO7TIYKOS7XCDASSQYMDTQCQ7K3A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3N4L6I#issuecomment-517719545,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALOO7TJE3DITRRMOI73ESF3QCQ7K3ANCNFSM4IHFHHJQ
.

Yes I remember that update but who owns the action?
Based in what I reviewed in Google it seems to be easy but I think that is relative to who will actually have to do the work.  Lets say the dev team determines this is more involved, who will own the action to provide CXF custom code to fix it?
This is the update I need.
From: Theresa Stewart<EMAIL_ADDRESS>Sent: Friday, August 2, 2019 11:25 AM
To: hashmapinc/Drillflow<EMAIL_ADDRESS>Cc: niaalex<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [hashmapinc/Drillflow] DEV: QA: Review and Respond to client inquiry for “one message” split options (#653)
OK, this is another one I spoke with Mike about.
He said:

We should allocate 1 hour for someone to Google about File Beat (whether
it is true that a configuration is easy for File Beat). If true, then we
need to ask SLB is they are OK with trying it.
If it is false about File Beat, then it will take longer than 1 week
(Mike's estimate from discussing with Chris) for someone to provide CXF
custom code to fix it.

I can drop this status into the card if you would like.
Thank you,
Theresa Stewart
281.723.7108
On Fri, Aug 2, 2019 at 9:22 AM niaalex<EMAIL_ADDRESS><EMAIL_ADDRESS>> wrote:

@TessForGithub2 https://github.com/TessForGithub2 please advise the
current status and new ETA for this item.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=ALOO7TIYKOS7XCDASSQYMDTQCQ7K3A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3N4L6I#issuecomment-517719545 &email_token=ALOO7TIYKOS7XCDASSQYMDTQCQ7K3A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3N4L6I#issuecomment-517719545>,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALOO7TJE3DITRRMOI73ESF3QCQ7K3ANCNFSM4IHFHHJQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=AKRHY7ZC5FMFUIKIRFSVVKTQCRNW7A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OHBXA#issuecomment-517763292 , or mute the thread https://github.com/notifications/unsubscribe-auth/AKRHY757JNC2L62HSO7RABLQCRNW7ANCNFSM4IHFHHJQ .  https://github.com/notifications/beacon/AKRHY77NQAN6GO5POPKSYQLQCRNW7A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OHBXA.gif

Mike said Chris would do it. I do not know what kind of arrangement they
have with Chris because that shocked me. But he mention it earlier this
week, after it was know that Chris is gone.
On Fri, Aug 2, 2019, 1:29 PM niaalex<EMAIL_ADDRESS>wrote:

Yes I remember that update but who owns the action?
Based in what I reviewed in Google it seems to be easy but I think that is
relative to who will actually have to do the work. Lets say the dev team
determines this is more involved, who will own the action to provide CXF
custom code to fix it?
This is the update I need.
From: Theresa Stewart<EMAIL_ADDRESS>Sent: Friday, August 2, 2019 11:25 AM
To: hashmapinc/Drillflow<EMAIL_ADDRESS>Cc: niaalex<EMAIL_ADDRESS>Author <
<EMAIL_ADDRESS>Subject: Re: [hashmapinc/Drillflow] DEV: QA: Review and Respond to client
inquiry for “one message” split options (#653)
OK, this is another one I spoke with Mike about.
He said:

We should allocate 1 hour for someone to Google about File Beat (whether
it is true that a configuration is easy for File Beat). If true, then we
need to ask SLB is they are OK with trying it.
If it is false about File Beat, then it will take longer than 1 week
(Mike's estimate from discussing with Chris) for someone to provide CXF
custom code to fix it.

I can drop this status into the card if you would like.
Thank you,
Theresa Stewart
281.723.7108
On Fri, Aug 2, 2019 at 9:22 AM niaalex<EMAIL_ADDRESS><mailto:
<EMAIL_ADDRESS>> wrote:

@TessForGithub2 https://github.com/TessForGithub2 please advise the
current status and new ETA for this item.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications
<
https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=ALOO7TIYKOS7XCDASSQYMDTQCQ7K3A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3N4L6I#issuecomment-517719545>
&email_token=ALOO7TIYKOS7XCDASSQYMDTQCQ7K3A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3N4L6I#issuecomment-517719545>,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/ALOO7TJE3DITRRMOI73ESF3QCQ7K3ANCNFSM4IHFHHJQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <
https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=AKRHY7ZC5FMFUIKIRFSVVKTQCRNW7A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OHBXA#issuecomment-517763292>
, or mute the thread <
https://github.com/notifications/unsubscribe-auth/AKRHY757JNC2L62HSO7RABLQCRNW7ANCNFSM4IHFHHJQ>
. <
https://github.com/notifications/beacon/AKRHY77NQAN6GO5POPKSYQLQCRNW7A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OHBXA.gif>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=ALOO7TN72KDLGZYCL477ISTQCR4HRA5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OQMHY#issuecomment-517801503,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALOO7TJYCX4D6GJVTHFKDUDQCR4HRANCNFSM4IHFHHJQ
.

Acknowledged / thank you.
I will Assign Mike for now
From: Theresa Stewart<EMAIL_ADDRESS>Sent: Friday, August 2, 2019 1:49 PM
To: hashmapinc/Drillflow<EMAIL_ADDRESS>Cc: niaalex<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [hashmapinc/Drillflow] DEV: QA: Review and Respond to client inquiry for “one message” split options (#653)
Mike said Chris would do it. I do not know what kind of arrangement they
have with Chris because that shocked me. But he mention it earlier this
week, after it was know that Chris is gone.
On Fri, Aug 2, 2019, 1:29 PM niaalex<EMAIL_ADDRESS><EMAIL_ADDRESS>> wrote:

Yes I remember that update but who owns the action?
Based in what I reviewed in Google it seems to be easy but I think that is
relative to who will actually have to do the work. Lets say the dev team
determines this is more involved, who will own the action to provide CXF
custom code to fix it?
This is the update I need.
From: Theresa Stewart<EMAIL_ADDRESS><EMAIL_ADDRESS>>
Sent: Friday, August 2, 2019 11:25 AM
To: hashmapinc/Drillflow<EMAIL_ADDRESS><EMAIL_ADDRESS>>
Cc: niaalex<EMAIL_ADDRESS><EMAIL_ADDRESS>>; Author <
<EMAIL_ADDRESS><EMAIL_ADDRESS>>
Subject: Re: [hashmapinc/Drillflow] DEV: QA: Review and Respond to client
inquiry for “one message” split options (#653)
OK, this is another one I spoke with Mike about.
He said:

We should allocate 1 hour for someone to Google about File Beat (whether
it is true that a configuration is easy for File Beat). If true, then we
need to ask SLB is they are OK with trying it.
If it is false about File Beat, then it will take longer than 1 week
(Mike's estimate from discussing with Chris) for someone to provide CXF
custom code to fix it.

I can drop this status into the card if you would like.
Thank you,
Theresa Stewart
281.723.7108
On Fri, Aug 2, 2019 at 9:22 AM niaalex<EMAIL_ADDRESS><EMAIL_ADDRESS><mailto: <mailto:
<EMAIL_ADDRESS><EMAIL_ADDRESS>> > wrote:

@TessForGithub2 https://github.com/TessForGithub2 please advise the
current status and new ETA for this item.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications
<
https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=ALOO7TIYKOS7XCDASSQYMDTQCQ7K3A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3N4L6I#issuecomment-517719545 &email_token=ALOO7TIYKOS7XCDASSQYMDTQCQ7K3A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3N4L6I#issuecomment-517719545>
&email_token=ALOO7TIYKOS7XCDASSQYMDTQCQ7K3A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3N4L6I#issuecomment-517719545>,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/ALOO7TJE3DITRRMOI73ESF3QCQ7K3ANCNFSM4IHFHHJQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <
https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=AKRHY7ZC5FMFUIKIRFSVVKTQCRNW7A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OHBXA#issuecomment-517763292 &email_token=AKRHY7ZC5FMFUIKIRFSVVKTQCRNW7A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OHBXA#issuecomment-517763292>
, or mute the thread <
https://github.com/notifications/unsubscribe-auth/AKRHY757JNC2L62HSO7RABLQCRNW7ANCNFSM4IHFHHJQ>
. <
https://github.com/notifications/beacon/AKRHY77NQAN6GO5POPKSYQLQCRNW7A5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OHBXA.gif>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=ALOO7TN72KDLGZYCL477ISTQCR4HRA5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OQMHY#issuecomment-517801503 &email_token=ALOO7TN72KDLGZYCL477ISTQCR4HRA5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3OQMHY#issuecomment-517801503>,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALOO7TJYCX4D6GJVTHFKDUDQCR4HRANCNFSM4IHFHHJQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/hashmapinc/Drillflow/issues/653?email_source=notifications&email_token=AKRHY75XZRDUBBANLDBLI6TQCR6RXA5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3ORZFQ#issuecomment-517807254 , or mute the thread https://github.com/notifications/unsubscribe-auth/AKRHY75BX2WUCEE6U4ZVJP3QCR6RXANCNFSM4IHFHHJQ .  https://github.com/notifications/beacon/AKRHY73I6Y72ESMLDVTHS6TQCR6RXA5CNFSM4IHFHHJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3ORZFQ.gif

@Mike-d-s please advise the status of this item; this is being tracked in the status deck.

@cherrera2001 I see the other closed card, I assume we can close this one too?

@Mike-d-s make it so number 1.

Closed as per feedback.


Support for pauze/resume of the charger via OCPP commands

Is your feature request related to a problem? Please describe.
We are confronted with peak consumption pricing. In order to lower the peak, I want to be able to pauze charging when needed. OCPP (and the used library) support this (RemoteStopTransaction & RemoteStartTransaction) and the functions seem to be implemented in the HA layer (async def start_transaction(self) & async def stop_transaction(self)), but these are not exposed as controls (switches).
Describe the solution you'd like
Expose a switch.

When set to off, it will pauze the charger (RemoteStopTransaction), with the running transactionID as parameter
When set to on, it will resume the transaction (RemoteStartTransaction), with the tagid of the last transaction as parameter

Describe alternatives you've considered

The wallbox app has a pauze/resume, but that is disabled as soon as OCPP is connected.
The wallbox HA integration also has pauze/resume, but that is disabled as soon as OCPP is connected.

@scauwe I think this is already present. I start/stop remotely the transaction. See my comment with my automation https://github.com/lbbrhzn/ocpp/discussions/456#discussioncomment-8266382

Hi,
Indeed: that is not what I am looking for. I want to be able to continue the transaction without the need to unplug & replug the cable.
From what I understood, the RemoteStopTransaction and RemoteStartTransaction are supposed to be able to work without the need the unplug and replug the cable.
I know that my charger supports it: when no ocpp is connected, I get a pauze/resume functionality in the app.
What I just noticed in the logs: the HA ocpp call RemoteStartTransaction is not using the tag of the previous session, but it uses the serial number of the charger. As a response, the ocpp sends an "Invalid" back. I'll try adding that serial number as a valid tagid and see if that makes this work (I configured my ocpp to authenticate tagids since it's accesible from the street).

So, I added the serial number of the charger to the tagid configuration as a valid tag id, and now indeed the StartRemoteTransaction seems to work. without the need to unplug and replug my cable It's not exactly the same as the pauze & resume though: it actually stops and starts a new transaction (the pauze/resume keeps the same transaction going). The result is that I now have like 15 transactions in a day (but I assume I can live with that).
What I was yet unable to test if I can unlock the charger with my bage: since the transaction was not started with my badge, I assume I will not be able to stop it.
But still: it does sound like a bug to start the transaction using the serial number of the charger as the tagid. Either no tag id, either the last known tagid I would say (if you know that the charger status never became "Available", I would opt for the second: last known tag id.
Stefaan

So, I added the serial number of the charger to the tagid configuration as a valid tag id, and now indeed the StartRemoteTransaction seems to work. without the need to unplug and replug my cable It's not exactly the same as the pauze & resume though: it actually stops and starts a new transaction (the pauze/resume keeps the same transaction going). The result is that I now have like 15 transactions in a day (but I assume I can live with that).

Exactly. However, I'm wondering how we put the charger in the SuspendedEVSE state. That is the only state that signals that the charger is in pause. Certainly, it is not done with Start/Stop Transaction.
I would need to look at the OCPP RFC and see how to send a request to pause the charger putting the charger in SuspendedEVSE.

I think I found it. I will try this tomorrow:
From https://chargehq.net/kb/ocpp-charger-testing-procedure
"Zero power limit
Set power limit to 0.
Wait one minute.
Status should change to SuspendedEVSE."

Very good idea. I think it is exactly that. You can set the limit to 0 using the new service set charge rate merged few days ago

I tried it and it works as it should: the wallbox connector status goes into "SuspendedEVSE" when current is set to 0 amps and back to "Charging" when it is set to 6 amps.
Thanks for this!


UnhandledPromiseRejectionWarning error

Cloned the example repo and followed the instructions as written, was hit with an UnhandledPromiseRejectionWarning error shown below:
(node:3009) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open './build/page2layers.bundle.js'
  -- ASYNC --
    at Frame.<anonymous> (/Users/<user>/repos/html-sketchapp-example/node_modules/puppeteer/lib/helper.js:144:27)
    at Page.addScriptTag (/Users/<user>/repos/html-sketchapp-example/node_modules/puppeteer/lib/Page.js:395:29)
    at Page.<anonymous> (/Users/<user>/repos/html-sketchapp-example/node_modules/puppeteer/lib/helper.js:145:23)
    at puppeteer.launch.then (/Users/<user>/repos/html-sketchapp-example/src/inject.js:20:14)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:3009) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:3009) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Below the above error, the terminal just hangs.
I am running node v11.11.0 and npm 6.9.0 on Mojave 10.14.3.
Same result when using node v10.15.3 and npm 6.4.1 (managed via nvm).
I made sure to update the dependencies as well. Using html-sketchapp v4.2.0 as reported in my package.json file.

I also received a similar error on High Sierra before updating my OS this past weekend. Thought I had something up with my install (computer needed a cleaning) so I did a fresh install as I upgraded.
Is there a specific version of node that is required?

Well, after digging in a second time, I simply changed the output filename in webpack.config.js to '../build/page2layers.bundle.js' (one directory up).
After that, everything works real well.

Digging in again, clearly user error. I was messing with the webpack when troubleshooting unrelated errors. Closing this because this is what happens when a designer gets cheeky. 🙈