Ellipse shows in Console for 15 items

I saw this in 0.5.2, but @dalaro confirmed that it was in 0.5.3:
gremlin> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
==>1
==>2
==>3
==>4
==>5
==>6
==>7
==>8
==>9
==>10
==>11
==>12
==>13
==>14
==>15
==>...
gremlin> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
==>1
==>2
==>3
==>4
==>5
==>6
==>7
==>8
==>9
==>10
==>11
==>12
==>13
==>14
==>15
==>16
gremlin> [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
==>1
==>2
==>3
==>4
==>5
==>6
==>7
==>8
==>9
==>10
==>11
==>12
==>13
==>14

Unsure if there are other list sizes that pop in the ellipse or not.

645b406468f06c043b810375d6203618b505b241 fixes the fencepost bug and makes the limit apply to all collections, so that [1,...16] only prints up to 15 and then ....
Since limiting non-titan-hadoop collection previews is new behavior, I made the default 15-element limit into a CLI option.  gremlin.sh -w <number> controls the number of elements printed in a result collection.  The hope is that people who are annoyed by this limit can still increase it with a concise argument, as opposed to having to go through the hassle of tweaking a compile-time constant and rebuilding.  I have this commit locally at the moment; don't want to paste a hash yet in case I rebase.
The -w option should be considered subject to change or removal.  It's not in use by the TP3 gremlin.sh, but it's still not clear whether it's worth keeping yet.

so all results whether they come from titan-hadoop or just (0..100) stop at 15 by default...is that right?

That's the current behavior.
The commit mentioned in my last comment without a hash is now pushed as 5298f5d923fd2fbf276b40d7c20d4d56fd2f0621.  Thinking some more about this, a gremlin.sh option is just the wrong way to do this.  It works, but it's not very usable.  Maybe a set/:set preference is the way to go.  I think I see how to hook into that on 1.8.9 using org.codehaus.groovy.tools.shell.util.Preferences.addChangeListener.  I don't see existing uses of that in TP2 or TP3 though, so I wonder if I'm making a mistake.

Also: that default value (15) is an old constant that's been in Console forever.  I'm not attached to it.  Suggestions welcome.

yeah - i was waiting for your response to be clear before i mentioned that i kinda didn't like the gremlin.sh way.
we haven't used the "preference" system heavily in TP2/3, but i don't think that's a bad piece of the infrastructure to leverage.
I'd prefer a larger default too - 15 is fine for a pure "faunus" job, but less awesome when you're doing other stuff.  I think it's more of a burden to non-faunus stuff to have the small size than the other way around.  I guess the main downside is that the hadoop output gets shoved off the screen if you make that too big a number.  Maybe 50 wouldn't be too crazy a default for both?  @dkuppitz any thoughts?

In titan05, it would be possible to have two distinct limits, one for MapReduce result file head'ing and another for iterating anything else, but that's sort of a consequence of an abstraction leak.  Does TP3 have the same thing?  It looks like only one limit would make sense for Console.handleResultIterate https://github.com/tinkerpop/tinkerpop3/blob/master/gremlin-console/src/main/groovy/com/tinkerpop/gremlin/console/Console.groovy#L122-L183.  If that's true then I'll stick to one limit in titan05.
50 doesn't sound crazy.  I would also immediately accept any value proposed by @dkuppitz.

We don't have any notion of limits in TP3 and at the moment we don't have such distinction for different options for limits. i'll create an issue for discussion over there.

If we can distinguish between OLAP and OLTP results, then I would prefer to have a very high limit (1000+) or no limit at all for OLTP.  But usually I don't want to see my OLTP results truncated.
However, no matter if we can distinguish between those result types or not, I like the idea to use :set to set a custom limit.
As a default limit for all kinds of results I would use even more than 50. Maybe 512? That's the default number of scrollback lines in a terminal window.

Given your feedback, I'll separate them.  What should the separate defaults be for OLAP and OLTP?  For OLTP, I do like the idea of a very high default as opposed to infinity for the same reason you mentioned.

I think 50 is absolutely okay for OLAP. In most cases you'll have your OLAP result stored in HDFS (the truncated data is not lost), thus you don't have to execute the traversal again just to see more data.

50 for OLAP is fine with me.  512 for OLTP then?

Yep, that should work in almost all cases.

Huh. This solves the CNTRL-C problem.. eh?
https://github.com/tinkerpop/tinkerpop3/issues/11

I don't think so. The console will probable never get a response from Titan / Cassandra if you send g.V().valueMap() to a 1B+ vertices graph.

Thought about it a bit longer. Sometimes the first entry is the most important one, even in large result sets (for example when you want to check the entry order). That said, it's probably better to make the default limit 500. This way you can still scroll up and see your query + the first result entries (with default terminal settings).

@okram tinkerpop/tinkerpop3#11 is still useful.  Aside from iterators that precompute or for which building each element is unexpectedly costly, some stuff just blocks inconveniently for a long time (e.g. network unreachable).  The latter is harder to deal with though, since it implies that the console would be multithreaded with the main thread cautiously avoiding blocking on anything except stdin, so that it can promptly process the breakout key sequence and immediately interrupt the background worker.  Signals seem like they would help do this without multithreading, but IIRC, there's no tidy and standard way to handle a ctrl-c SIGINT at the app layer aside from a shutdown hook right run before the JVM dies, which is point-defeating.  I mean, there might be something in com.sun, but yuck.
@dkuppitz  I didn't mean to limit you to a high value.  I did write "I do like the idea of a very high default" above, but only as an alternative to infinity.

Yea, so we both like the idea of a high default value :). 500 is cool.
:set result.rows.limit -1 => infinity

I'm still not so sure ctrl-c is even possible given our dependence on groovysh.  i've been through that code a few times now and i've never seen where we can hook into something to interrupt an evaluation.

71bd1d7 implements what we just discussed.
The only bit I dislike is that, insofar as we attach to set, we seem to be stuck in a flat namespace shared with general Groovysh preferences.  The current implementation will end up writing a file like this:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE map SYSTEM "http://java.sun.com/dtd/preferences.dtd">
<map MAP_XML_VERSION="1.0">
  <entry key="tp-olap-result-peek" value="13"/>
  <entry key="tp-oltp-result-peek" value="-1"/>
</map>

with a path like ~/.java/.userPrefs/org/codehaus/groovy/tools/shell/prefs.xml (on Linux at least).
Preferences is inherently hierarchical.  It would be appealing to instead have our own namespace with a separate prefs.xml file, so that we could rule out key collisions.  I couldn't figure out how to do this with the set feature though.  It appears to just wire up to a Preferences.put call.
I tried putting slashes in the put key, wondering if that would be interpreted as Preference node hierarchy, but that doesn't appear to be the case.  Keys with slashes are passed through without any apparent interpretation.  The result is a file like this:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE map SYSTEM "http://java.sun.com/dtd/preferences.dtd">
<map MAP_XML_VERSION="1.0">
  <entry key="tinkerpop/olap-result-peek" value="13"/>
  <entry key="tinkerpop/oltp-result-peek" value="-1"/>
</map>

at the same .../shell/prefs.xml path mentioned above.  I think we would need to call something like <Preferences parent object>.node("tinkerpop").put("olap-result-peek", "13"), but I don't see how to do that within the limitations of set.  Maybe we could register a command -- perhaps one that overrides the default set behavior -- but maybe that just leads to crazytown.

Want to hear some real crazytown? I secretly often feel like writing our own console :smiling_imp: Anyway, I would say that what you have is probably good enough to cope with the scope of this issue.  We have this issue referenced in TP3 at this point so hopefully we can look at what you have here and determine the direction to go for the future.

A rewrite is tempting...  I'm not volunteering though :chicken:
Should I reimplement this on TP3 as a PR for tinkerpop/tinkerpop3#556, or would you rather handle that separately?

Been thinking about this one - let's wait on an PR for this - I've referenced this issue over in TP3 so we can get back to this issue.  This might yet be how we want to do it, but I'd like to take more time to make that decision.  Thanks.

Thanks for following up.  This feature shipped in Titan 0.5.4.  Since the linked TP3 issue is pending consideration and since there are no next steps here, I'm going to close.


How to fine-tune

How to fine-tune the model after the linear evaluation is completed? I don't see the corresponding yaml file in the project

Fine-tune and linear evaluation are different evaluation methods from my understanding, where the fine-tune method retrains the whole model while the linear evaluation method only got the liner layer fine-tuned but got the encoder part fixed.


Change minimum Ruby version for Puma to 2.2 + specify rdoc version under 2.2

Fix #2012
Puma now requires Ruby 2.2 minimum https://github.com/puma/puma/pull/1506/files

The issue is now on rdoc
Using rails 4.0.13
Installing rdoc 6.0.4
Gem::RuntimeRequirementNotMetError: rdoc requires Ruby version >= 2.2.2. The
current ruby version is 2.1.0.
An error occurred while installing rdoc (6.0.4), and Bundler cannot
continue.
Make sure that `gem install rdoc -v '6.0.4' --source 'https://rubygems.org/'`

Because of https://github.com/ruby/rdoc/commit/51b03c357457183e94a6b26d71630f183afbc6b0

It doesn't seem this is the way to fix rdoc issue. https://travis-ci.org/rspec/rspec-rails/builds/404100674
Do I miss something?

It seems to be better now. Even if it's not very stable (especially on rails 3).
Feel free to merge it if it's ok RSpec core team members.

This CI is a nightmare. I tried only on failing build on my machine and it's working. I hope I understand properly your comments @JonRowe. I will look at it tonight (UTC) again.

I read this https://github.com/rspec/rspec-rails/commit/087cb16b3012ec47e7a4a83e192f2495b38057ab and this https://github.com/rspec/rspec-rails/commit/aa93e588e5be3c65c22290ba3bfb3cbfa24865d5 and it helps me to understand what could I do.
For me we don't need puma before Ruby 2.2. Because it seems we need puma for system test added into Rails 5.1. The minimum requirement for Rails 5.1 is Ruby 2.2 https://github.com/rails/rails/blob/5-1-stable/rails.gemspec#L10
So maybe the initial commit is not a bad idea https://github.com/rspec/rspec-rails/pull/2013/commits/33e41f254eb8596165edd94e866075279ed73925
For rdoc you did the change few week ago. https://github.com/rspec/rspec-rails/commit/6a3e2bce4f252bd50aae3deadc1067ec12a8727a
So I rebase from master and keep only my initial commit. We will see what CI say.

Actually even Rails 5 requires < Ruby 2.2 so this should be safe

If this goes green merge it @benoittgt, sorry for the wild goose chase!

The error is now somewhere else
bundle exec rails new ./tmp/example_app --no-rc --skip-javascript --skip-sprockets --skip-git --skip-test-unit --skip-listen --skip-bundle --template=example_app_generator/generate_app.rb
Traceback (most recent call last):
	3: from /home/travis/.rvm/gems/ruby-2.5.1/bin/ruby_executable_hooks:24:in `<main>'
	2: from /home/travis/.rvm/gems/ruby-2.5.1/bin/ruby_executable_hooks:24:in `eval'
	1: from /home/travis/.rvm/gems/ruby-2.5.1/bin/bundle:23:in `<main>'
/home/travis/.rvm/gems/ruby-2.5.1/bin/bundle:23:in `load': cannot load such file -- /home/travis/.rvm/rubies/ruby-2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.3/exe/bundle (LoadError)
rake aborted!
Command failed with status (1): [bundle exec rails new ./tmp/example_app --...]
/home/travis/build/rspec/bundle/ruby/2.5.0/gems/rake-12.3.1/lib/rake/file_utils.rb:67:in `block in create_shell_runner'
/home/travis/build/rspec/bundle/ruby/2.5.0/gems/rake-12.3.1/lib/rake/file_utils.rb:57:in `sh'
/home/travis/build/rspec/rspec-rails/Rakefile:63:in `block (2 levels) in <top (required)>'

I'm gonna take a look

Ok. This seems linked https://github.com/bundler/bundler/issues/6629

I will monitor the status of this issue on bundler and will remove the specific version of bundler when it will be fixed.


⚠ Bofrost.lu has degraded performance

In aa7895b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 872 ms

Resolved: Bofrost.lu performance has improved in 44422de after 8 minutes.


[BUG] The certificate chain seems to be out of order.

The certificates being generated from the ACME-PS module has the certificates in the wrong order.
Certificate chain
openssl s_client -connect url:443
0 s:/CN=
i:/C=US/O=Let's Encrypt/CN=R3
1 s:/C=US/O=Internet Security Research Group/CN=ISRG Root X1
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
2 s:/C=US/O=Let's Encrypt/CN=R3
i:/C=US/O=Internet Security Research Group/CN=ISRG Root X1
From  SSLabs.com
Additional Certificates (if supplied)
Certificates provided | 3 (3963 bytes)
Chain issues | Incorrect order
uses: azure/powershell@v1
which uses the latest powershell.

Hi - I probably forgot to push the 1.5.3 version from "beta" to "available".
I'll do that as soon as I'm back on my machine.

will that fix the issue?

It seems the ACME-PS module 1.5.3-beta and the newer 1.5.4 has not been built with the right source.
Here's the stack trace for the error
 | Missing an argument for parameter 'First'. Specify a parameter of type

 | 'System.Int32' and try again.

at ConvertToCertificateCollection, /home/runner/.local/share/powershell/Modules/ACME-PS/1.5.3/ACME-PS.psm1: line 288
at CreateCertificateCollection, /home/runner/.local/share/powershell/Modules/ACME-PS/1.5.3/ACME-PS.psm1: line 314
at ExportPfxCertificateChain, /home/runner/.local/share/powershell/Modules/ACME-PS/1.5.3/ACME-PS.psm1: line 323
at ExportPfxCertificateChain, /home/runner/.local/share/powershell/Modules/ACME-PS/1.5.3/ACME-PS.psm1: line 318
at Export-Certificate, /home/runner/.local/share/powershell/Modules/ACME-PS/1.5.3/ACME-PS.psm1: line 2275
at , /home/runner/work/plat-apim-core-config/plat-apim-core-config/actions/apim_cert/renew_cert.ps1: line 164
at , /home/runner/work/plat-apim-core-config/plat-apim-core-config/actions/apim_cert/renew_cert.ps1: line 52
at , /home/runner/work/_temp/498d1984-2722-42a5-ab23-521d38535ce8.ps1: line 2
at , : line 1
I downloaded the module psm1 file from 1.5.3-beta and looked at line 288, it clearly says 'select-object -First' and has different source from the GitHub version
incorrect code in 1.5.3-beta
correct code
https://github.com/PKISharp/ACME-PS/blob/master/ACME-PS/internal/classes/crypto/Certificate.ps1
Currently with the new push of 1.5.4 it has broken our production system and we are pushing out the 1.5.2 which has the incorrect order, but it works.

I added the missing '1' and pushed it as 1.5.6


Add tvision

https://github.com/magiblot/tvision

Duplicate of https://github.com/fffaraz/awesome-cpp/issues/1137 .


Add MEMORY USAGE command as an alias to existing DISK USAGE command

Since Redis has the MEMORY command, tools like RedisInsight use it to show information to the user.
Currently, RedisInsight can't show memory usage by keys because Kvrocks doesn't support the MEMORY USAGE command.
Solution: make the MEMORY USAGE command an alias to the DISK USAGE command.
Currently, the MEMORY USAGE command doesn't support the optional SAMPLES option.
The integration test basically checks that Kvrocks support the new command and the response is an integer value conforming to the Redis spec.

Good, thanks! Now I use a redisInsight tool im work and we have two separated service, redis and kvroks, and this features very good to me!

Thanks all, merging...


Add the VVP-side POD subnet CIDR (PodIfIPCIDR) to Helm charts

Coverage increased (+0.03%) to 76.114% when pulling cf6925a49ec014591188e589e4b4e5fb1c707ccd on jmedved:master into e7964ea990fd7bc70eae3954409ec59d135cad20 on contiv:master.


Flaky test test_gluon_trainer.test_trainer_reset_kv

Have seen this in a few PRs before. Now it's always failing in my PR.
http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-11251/9/pipeline/749
test_gluon_trainer.test_trainer_reset_kv ...

(py2) C:\jenkins_slave\workspace\ut-python-cpu>IF -1073741676 NEQ 0 exit /b 1

script returned exit code 1

The same problem shows up in my very old branch (about one month old). So if there is a bug in the code, the bug exists a long time ago. If it's not a bug, it might be something in the Windows testing system (it only fails in Windows as far as I know).
http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-10893/5/pipeline

http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/master/1042/pipeline/752

I'm able to reproduce it on windows. Still investigating


SWA CLI does not run because of imports

Are you accessing the CLI from the default port :4280 ?

[ ] No, I am using a different port number (--port) and accessing the CLI from that port
[X] Yes, I am accessing the CLI from port :4280

Make sure you are accessing the URL printed in the console when running swa start!

Describe the bug
I'm using the SWA as a part of a Teams Toolkit workflow. When I try to deploy the associated SWA, the workflow fails because of the failed imports.
The console lists an issue with the keyword 'with', which is weird considering my machines are running Node versions compatible with this keyword.
Tried to rollback my app to yesterday's deployed version, no luck there.
The error lists the following:
file:///opt/homebrew/lib/node_modules/@azure/static-web-apps-cli/dist/cli/index.js:22
import pkg from "../../package.json" with { type: "json" };
                                     ^^^^

SyntaxError: Unexpected token 'with'
    at ESMLoader.moduleStrategy (node:internal/modules/esm/translators:119:18)
    at ESMLoader.moduleProvider (node:internal/modules/esm/loader:468:14)

(the same error appears even after checking the version with swa --version)
To Reproduce
Steps to reproduce the behavior:

Go to Teams Toolkit
Sign in to respective accounts
Click on Deploy
Choose ENV
Confirm
Wait for the build and let the yml workflow use swa deploy ./build -d ${{SECRET_TAB_SWA_DEPLOYMENT_TOKEN}} --env production (--verbose=silly makes no difference)
See error

Expected behavior
The application to be deployed to Azure and the workflow to continue.
Desktop:

OS: macOS

Version: Sonoma 14.5 (23F79), Node 18.17.1, 20.8.1

OS: Windows

Version: 11 23H2 (22631.3880), Node 16.13.0

Additional context
Steps taken to try to fix the issue:

change node version
rollback to last deployed version
delete node_modules
install SWA CLI globally
replace with by assert, same error

It seems that somebody else made a bug report reporting the same issue – including it here: #871

Dupe of #871


Mast: Watch credit-online.top

Mast requests the watch of the watch_keyword credit-online\.top. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

credit-online\.top has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Daniil in Charcoal HQ


Bugfix: 'out of data' error message

Workaround Subject.next() sometimes returning 0 subjects by setting the default API endpoint to groups/random/subjects

FWIW, /groups/subjects occasionally returning zero subjects has meant that there are groups that are active, but have no active subjects in them in my experience.
I can fix this later today if it's a problem, or you can stick with the workaround.

That's exactly the problem we're having Chris. Hardwicke's Science Gossip is active but has 0 active subjects
http://explore.sciencegossip.org/groups
If you can have a look, that would be great. @camallen offered to take a look too.

Had a moment, so went ahead and fixed it. Should be good to go.
Is explore.sciencegossip.org caching the groups for a bit? Reporting slightly different data than directly from the API.

Thanks very much Chris!
Milkman runs off a daily copy of the classifications, so it's probably around 24 hours behind. I think Rob put a timestamp in the site footer.

@chrissnyder what was the problem?

https://api.zooniverse.org/projects/illustratedlife/groups/54f4302befc50104c3000001 still had a redis record, and a state of "active", but no active subjects. So it still attempted to select a subject from that group, but always returned an empty set.
Removing the group redis record and setting the state to 'inactive' solved the problem.

I may be wrong but i think when i looked there were still inactive subjects for that group. Will they get recreated by the subject activation worker?

There were around 7000 inactive subjects. They seem to have been activated now. At least, I can select Hardwicke's from this page, and get back subjects to classify. http://www.sciencegossip.org/#/periodicals

Yea, it doesn't care, it just picks the first inactive subject. If it's in a group, then it will activate the group as well.
https://github.com/zooniverse/Ouroboros/blob/master/app/workers/subject_importer.rb#L27-L38


Adds unit test from todo-mvp

Makes sure that the change in mvp is not a problem in mvp-loaders. Also bumps gradle plugin version.

LGTM

LGTM :+1:


covid19Survey_v1: one non-existing variables and newly answered variables

Hi Jake, in covid19Survey_v1_JP  there's a variable D_715581797_V2_1_1 but that doesn't exist in the raw table and it has no data. Can we delete?
These variables were recently responded to, so they're in the raw table but not the flattened. Can we reflatten it to add them?
D_980800222_7_7
D_498462481_6_6
D_498462481_7_7
D_744230001_4_4
D_782396371_4_4
D_930944000_4_4
D_984121390_4_4
D_179406442_4_4
D_893966847_4_4
D_169509213_2_2

Thanks for making this issue, Kelsey. I'll take care of these today and get back to you when done :)

Hi @KELSEYDOWLING7 . This should be taken care of. The query should include all new variables and D_715581797_V2_1_1 has been removed.


[Docs] Show examples of unit testing with Drivine

It would be great to have some documentation available to show how to unit test with Drivine.  The docs show how to perform end2end tests. It does not show how to get the injected PersistenceManager from the testing module, provide mock implementations, or spy on its methods.
An option would be to automatically mock the entire Drivine module: jest.mock("@liberation-data/drivine"), but this causes very vague errors regarding decorators.
How would we go about this?

Here's what I do:

Using Drivine, build repositories that are injected into services. Mock the repositories, to test the services.

Add more integration tests to test the services with Drivine (hitting the database). Drivine provides a tool to run against real databsase (ie production snapshot) then rollback uncommitted transaction at the end of the test, leaving data in same initial test state for the next test. <-- Similar to eg Spring Boot.

^-- Above is just one way as per own prefs. For the latter there are examples in the sample app, and some docs. (Let us know if anything not clear).

What would these repositories look like? You would still have to test the repository itself, as it is part of your code base, and you'd end up with the same problem.

Side Note On Naming
They are correctly called Repositories (an older term is data access object) because this is a well known design pattern, presented in Eric Evans' book Domain Driven Design. They are responsible only for mediating between the database.
Key Benefits of the pattern are:

Encapsulate a set of reusable for shunting information to/from the data store.
Polymorphism: You can swap out one instance of the repository for another that does the same job. For example a test double (mock or stub) could be used in place.

Meanwhile Services are for orchestrating business processes. In the docs I show an example of a service that uses repos to orchestrate transfer of funds between accounts.
Addressing the Question
You can off course unit test these and/or provide a test double of repositories to services, to test services.  If you're a good person, you should. I don't provide an example in the docs/sources. If you face trouble achieving this with Drivine, we can address it.
I'd be happy to take a PR to elaborate on unit testing, however key points are:

Since we're using dependency injection, just instantiate your class under test, providing a test double (ie mock) in place of the collaborator it would use normally.

Testing the services isn't the problem. In that case, as you mentioned, you can mock the repository. I want to test the repository itself. For example, to ensure it makes the right database call given a certain input.

For repositories its the same approach. They need a PersistenceManager, so provide a test double in place of that PersistenceManager. There are no special utilities for this, at this time, sorry about that. If you were inclined to think that there should be, you'd be most welcome to fork the repo and add it.

I tried mocking the whole Drivine module, but that results in some strange error about a decorator not being a function where the error points to one of the Drivine imports.
I also tried spying on specifically the PersistenceManager, but it is an interface which can't be spied on (as far as I know).
I also can't figure out how to extract the PersistenceManager out of the testing module (it's an interface, so module.get<PersistenceManager>(PersistenceManager) does not work). The PersistenceManager is also not injected through "regular" means, but using the @InjectPersistenceManager decorator.
How would I provide a test double?

Since we're using dependency injection, just instantiate your class under test, providing a test double (ie mock) in place of the collaborator it would use normally.

With this, you mean actually instantiating the class using new? Wouldn't that go outside of Nest's Test.createTestingModule?

Welcome @NilsMoller !!! Thanks so much for collaborating. If you're using Neo4j, you might also want to check out the GraphQL integration. Shall we close this issue now?

I did see their integration, but wrote it off as it did not fit in the existing solution. I think I will give it a second attempt once I find the time. Thank you again! I will close this now.

Yes it depends what you're looking for, but its very cool when it matches.
I plan to add GraphQL features to Drivine in future. (Will work with any cypher compatible graphDB).


Update MD file on new branch 2017-11-16_13-24-53

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef1.md
:white_check_mark:Succeeded

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


Uninstall under old control panel fails

We've seen multiple reports of 'uninstalling' fails and when we dive in, it is due to when a user does it in the old control panel.
Workaround
 Windows 10 Settings -> Apps -> Apps & features
How are people hitting this
This is how people are referencing the old dialog.

Possible problem: when uninstalling from the legacy control panel, killing explorer may actually kill the uninstall process.

I ran into this issue. Uninstalling from control panel causes explorer.exe to crash. I didn't even think to try and uninstall from settings app. Who knew that would cause any difference. I can confirm uninstall from settings app worked just fine.

Yeah uninstalling via control panel/uninstall program is a no-go for sure. Do we need data on this? Procmon, etw,etc? Or  you guys good?

Form @crazyyzarc in #1644.
Explorer process crashed/restarted, because wrong UninstallString was set. Instead of /l (logging) the parameter /x (Uninstall) must be set.
From @enriogior
Hi @crazyyzarc
thank you for reporting the issue and taking the time to investigate it.
The MsiExec uninstall flags is a capital i and is generated automatically as far as I know.
With that flag, the MsiExec is supposed to show the interactive install dialog, that is different based on the current state (if the product is not installed it shows the install option, if it's installed, it shows the change/repair/uninstall).
I'll look into this to better understand if there is something we can do in the MSI setup project, since we don't explicitly set that argument.
Thank you.

We've seen multiple reports of 'uninstalling' fails and when we dive in, it is due to when a user does it in the old control panel.
This is how people are referencing the old dialog.

The way it works from control panel is to select "change" and then in the wizard, select remove everything (or uninstall, i forgot). It worked for me this way. But yes, this needs to be fixed (or in fact, this should move to be "store" app if possible)

Fixed in 0.19.0, please visit https://github.com/microsoft/PowerToys/releases/ for the latest release

For me, the following command is the only thing that works:
reg delete Computer\HKEY_CLASSES_ROOT\Installer\Products\585E4A3B7515EA9489AF32D4E2B1DD57 /f


-split should not return string[] if the input string is not split

Summary of the new feature / enhancement
The split operator returns an array of strings in all cases, even if no separator is found and the input string is not split into substrings.
PS > $a = 'abc' -split '\d'
PS > $a.GetType().Name
String[]

PS > $a + 'def'
abc
def

It would be better if the output is of the same type as the input, if it has not changed as a result of the operation.
Proposed technical implementation details (optional)
No response

Please leave this basic operator as it is. If you want to know that it was not split then do a count of the elements in the returned array. This is the very definition of a breaking change.

I do not look for workaround.

I do not look for workaround.

Are you interested in the breaking change this would cause? For example the simple case of finding the last component in a file path to get the filename
Pass in a long path
PS> $x = ("my/long/path" -split '/')
PS> $x[$x.length -1]
path

and it gives the last part of the path
If you just pass in the last part, the same code works
PS> $x = ("path" -split '/')
PS> $x[$x.length -1]
path

But with the change to returning a single string if not splitting occurred
PS> $x = "path"
PS> $x[$x.length -1]
h

So it would break all existing code relying on the current documented behaviour.

I do not look for workaround.

PowerShell is in good company simply returning a list of strings when splitting a string. Reference dotnet, java script, java, perl and python
Think of the advantages of the simple "workaround" of checking the number of returned strings, your code could work on current and previous versions of PowerShell without having to wait for a new release with this change.

I can almost guarantee that if it had worked like his in PowerShell version 1 , right away someone would for a change
Consider:
PS>  $s = "Single"

PS>  $m = "many words"

PS>  $existing = "cat", "dog"

PS>  ($m  -split " ") + $existing
many
words
cat
dog

and
PS>  $s + $existing
Singlecat dog

Which way should ($s  -split " ") + $existing work ? - if it had been other way people would be writing "I shouldn't need to test whether split returned an array it should work like this
PS>  ($s  -split " ") + $existing
Single
cat
dog

And I'm sure someone would have said "but you can wrap in @() as a work round"  And there would have been the counter argument why does the operator work differently from the .split methods of [regex] and [string] ?
As @rhubarb-geek-nz  says, other languages, .net itself, and 15 years of PowerShell all say the choice should be one way. You may have a found one of the cases where it would be more convenient if the choice had gone against all those precedents.
But changing any existing operator is too big a breakage to be considered.
Adding a wholly new operator with different behaviour is unlikely. If it were my call, I would decline this in less time than it has taken to type this, but it isn't my call so I'll mark it for engine WG to look at.

I am not sure that this is something needed today and agree that it's probably too late to make this change - as it would inevitably break way too much! I can don't see the value in making this change.
And I kind of like -split always producing a string[]. I like consistency.

o it would break all existing code relying on the current documented behaviour.

No! If the string has not been split, the result value must not be an array. This behavior will save users from additional checks.

I am not sure that this is something needed today

What then is needed? Wrong table representation of PSCustomObject or maybe experimental $PSStyle.Formatting.CustomTableHeaderLabel? Today is an experiment, tomorrow nothing will change.

And I kind of like -split always producing a string[]. I like consistency.

I do not view consistency at all. I view experiments on people.

o it would break all existing code relying on the current documented behaviour.

No! If the string has not been split, the result value must not be an array. This behavior will save users from additional checks.

It is an array contain the parts of the string, whether it has been split 0 times, once, or 100 times.
As a change it will increase the number of checks. (a) If you had a time machine and could change this from PowerShell 1.0, for every user who wants an unsplit item NOT be in an array (and if its null  is split, should it become an empty string? If input is a number should remain a number?) there will be another user who wants it in array, who needs to write a test.
(b) You don't have a time machine, old scripts need to work, this would break them. New scripts which might to run on old versions would have to explicitly handle something which splits into a single piece.

You don't have a time machine, old scripts need to work, this would break them.

Yes, I watch it every day, your PR has already hit my pocket and took a lot of time. Thank you personally for the tables floatings.

And I kind of like -split always producing a string[]. I like consistency.

I do not view consistency at all. I view experiments on people.

If you are going to argue that the operator always producing the same output type, regardless of input is not consistency, that working like other languages and  like other .net types is not consitency, and supporting the documented behaviour from 2007 is not consistency, then we will have to conclude that you are only here to argue.
This certainly comes under "disruptive behaviour" in the code of conduct.  Your behaviour around the change to formatting numbers by default saw you asked to comply with the code.  Since we can expect you to continue to argue whatever you are told I'm going to remove the tag for the engine wg to look at this and mark it as by design.

You don't have a time machine, old scripts need to work, this would break them.

Yes, I watch it every day, your PR has already hit my pocket and took a lot of time. Thank you personally for the tables floatings.

For the record: I made a suggestion that said format-table should have a parameter for number format. The product team said really it should go beyond that and use the default number formatting for all floats. Personally, I don't think that is as good -  what if I want all floats to be four decimal places or turn thousand separators off - but I did not argue. I didn't make the PR.
So far you have complained that if you put constants into a custom object where the constant you give varies the formatting, consistent formatting should not apply. No other negative feedback has been received. No one else has supported your complaint.  A pedantic reading of the code of conduct would say your post above is breach of it.
Please re-read the code of conduct before posting further.

I don't think that is as good - what if I want all floats to be four decimal places or turn thousand separators off - but I did not argue. I didn't make the PR.

I made a suggestion that said format-table should have a parameter for number format

It is very difficult for me to discuss this issue with you, I have to translate ten times from one language to another and I'm not sure that I express my thoughts correctly, one thing is clear, you are involved in a crime against users.

Please re-read the code of conduct before posting further.


Details of the reproduction of the experimental results

Hello, I would like to ask what is the prompt file for the validation set of the coco dataset used in your assessment, what validation set title did you use, and also how many images did you generate based on each of the prompts.

Hi,  you can refer to the code snippet here:
def main(args):
    if args.dataset == 'parti':
        prompts = load_dataset("nateraw/parti-prompts", split="train")
    elif args.dataset == 'coco2017':
        dataset = load_dataset("phiyodr/coco2017")
        prompts = [{"Prompt": sample['captions'][0]} for sample in dataset['validation']]
    else:
        raise NotImplementedError

Thank you very much.


Refactor Inventory and Details cards and its parts to Dashboard folder

Pull Request Test Coverage Report for Build 980

13 of 13 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.09%) to 87.946%

Totals

Change from base Build 978:
0.09%

Covered Lines:
3007

Relevant Lines:
3281

💛  - Coveralls

@mareklibra @suomiy please review


unnecessary assertion since it does not change the type of the expression.

More info on this issue can be found here

/gfi ts

Assign me

@toukirkhan as I wrote in https://github.com/asyncapi/website/issues/998#issuecomment-1265264681 we do not assign issues here. You can easily block all the others from work this way. What matters is who opens up a PR first.

ok

closing, current sonar cloud results show that all is good


Missing function mdiag.m

I am interested in this work but able to run the examples...
The examples fail during execution because of a missing file "mdiag.m".  Can you please add that to the repo?
Thanks
Run time message:
Undefined function 'mdiag' for input arguments of type 'double'.
Error in Airplane (line 84)
Me = mdiag(Me, getmemberMe(members{i}));

Hi! thank you for your message!
I've just checked, and actually "mdiag.m" is from the Matlab Robust Control Toolbox. Indeed, it does the samething as "blkdiag.m", so I've just  sent a commit to use "blkdiag" and it seems to work.
Best regards,
Flavio


Added requirements.txt

Not sure if you want this but I have a working requirements.txt for people that want to use pip.

Not sure if you want this but I have a working requirements.txt for people that want to use pip.

Hey @PJ-Finlay! I don't currently have the bandwidth to deal with NST PRs/issues.
I just dealt with my DeepDream repo - did lots of refactoring, added full support for cmd line, some new features, and a Jupyter notebook. And only then I reviewed the PRs/issues.
I'll do the same thing for this repo in 2 months there are a lot of things left on my backlog. Feel free to contribute and if your changes are orthogonal to mine I'll review them and integrate them. Just make sure you follow the coding style of this repository. Thank you! And apologies, I do these in my free time and so as you can see I review my old projects every 2 months.

No worries, thanks!
All I added was:

a requirements.txt
a script to automate multiple NSTs
Changed the default height to 720 (this was something I wanted but might not make sense in the main repo)

Also check out the neural style transfer video I made with this library!


Inline comments might be put on a new line

Describe the bug
Currently, in Nickel, Topiary might insert a new line between an expression and a single line comment while they were originally on the same line, which might change the apparent meaning of the comment. I'm not sure what are the exact conditions to trigger this behavior, but there is a repro example below with an if-then-else:
To Reproduce
let x =
  if true then
    do_subtle_dangerous_stuff "value" # WARNING: DO NOT TOUCH
  else
    innocent_stuff
in
x

Gives, after formatting:
let x =
  if true then
    do_subtle_dangerous_stuff "value"
  # WARNING: DO NOT TOUCH
  else
    innocent_stuff
in
x

Expected behavior
Topiary shouldn't insert a newline before a single line comment.

Thanks, @yannham. I just had a quick look and this is not due to the comment formatting rules, but rather the formatting of if..then..else statements. A new line is inserted after the truthy-term and it doesn't account for comments (which can essentially appear anywhere). There will certainly be other conditions where this applies.
This is an instance of a known problem: As comments can appear anywhere, they can interfere with the queries that apply the formatting. We have an idea on how to fix this, which is on our roadmap, so I'm not sure it makes sense to target individual instances of the problem. (I'll discuss with the team to get their take.)
In the meanwhile, it's not ideal, but a workaround could be something like:
let x =
  if true then
    # WARNING: DO NOT TOUCH
    do_subtle_dangerous_stuff "value"
  else
    innocent_stuff
in
x

This is an instance of a known problem: As comments can appear anywhere, they can interfere with the queries that apply the formatting. We have an idea on how to fix this, which is on our roadmap, so I'm not sure it makes sense to target individual instances of the problem. (I'll discuss with the team to get their take.)

I see. I suspected so but I wasn't entirely sure. I let you do you think is best with this issue, then.

Tweaking the queries to account for if..then..else statements wasn't too difficult. However, there is still one caveat: a comment immediately following the then or the else will be flowed on to the next line.
if something then
  # comment after then
  truthy
else
  # comment after else
  falsy

(This can probably be fixed, as well, but it's a trade-off wrt making the queries overly complex.)
Note that an implication of #402 is that a degenerate case exists. The following:
if something then
  truthy
else # comment
  if other then
    foo
  else
    bar

...will be formatted as:
if something then
  truthy
else # comment
if other then
  foo
else
  bar

I'm going to call the likelihood of this code existing in the wild as very low, so it's probably not worth addressing.

As well as the if..then..else behaviour mentioned by the OP, there are a number of other instances that are worth noting:

Comments following delimiters in a multi-line array/record/enum. (Fixed)
Comments following the => in a multi-line match statement. (Won't fix; the comment gets reflowed to the next line, which looks OK.)
Comments following multi-line function arguments. (Needs to be fixed; the comment gets reflowed to the next line, which doesn't look OK.)
Comments following a forall.. clause. (Won't fix; the comment gets reflowed to the next link, which looks OK.)
Comments following an = in a bound expression. (Needs to be fixed; breaks the bound expression formatting.)


vi-notification stuck in insert

Issue
All the vi mode keybindings work as expected. However, when I go into normal mode, my prompt stays in insert mode.
Screenshot
As you can see in the gif, I enter some words in insert mode. Then I hit esc to go into normal mode. I use b, e, dd, and p and the whole time the prompt says INSERT.

Environment
Operating system: Linux Zeus 4.11.6-3-ARCH #1 SMP PREEMPT Thu Jun 22 12:21:46 CEST 2017 x86_64 GNU/Linux
Terminal emulator: termite
ZSH version: zsh 5.3.1 (x86_64-unknown-linux-gnu)
Relevant .zshrc
export ZSH=/home/marcel/.oh-my-zsh

ZSH_THEME="spaceship"
SPACESHIP_DIR_TRUNC=0
SPACESHIP_VI_MODE_SHOW=true
SPACESHIP_VI_MODE_PREFIX=""
SPACESHIP_VI_MODE_SUFFIX="$SPACESHIP_PROMPT_DEFAULT_SUFFIX"
SPACESHIP_VI_MODE_INSERT="[INSERT]"
SPACESHIP_VI_MODE_NORMAL="[NORMAL]"
SPACESHIP_VI_MODE_COLOR="white"

plugins=(git,vi-mode)

source "$ZSH/oh-my-zsh.sh"

for file in /home/marcel/.dotfiles/zsh/{exports,aliases,functions,secret}.sh; do
  [ -r "$file" ] && [ -f "$file" ] && source "$file";
done;

(hash wal 2>/dev/null && wal -r -t &)

DEFAULT_USER="marcel"

eval $(thefuck --alias)

[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

bindkey -v

Please, read Vi-mode section in README.md. It says:

Note: For oh-my-zsh users with vi-mode plugin enabled: Add export RPS1="%{$reset_color%}" before source $ZSH/oh-my-zsh.sh in .zshrc to disable default <<< NORMAL mode indicator in right prompt.

As I saw from your .zshrc, you didn't do this. Please let me know if it helps.

 Don't know how I missed that.

Never mind. I have added that and I still get the issue.
New .zshrc:
export ZSH=/home/marcel/.oh-my-zsh
export FPATH=/usr/share/zsh/site-functions:/usr/share/zsh/functions/Calendar:/usr/share/zsh/functions/Chpwd:/usr/share/zsh/functions/Completion:/usr/share/zsh/functions/Completion/Base:/usr/share/zsh/functions/Completion/Linux:/usr/share/zsh/functions/Completion/Unix:/usr/share/zsh/functions/Completion/X:/usr/share/zsh/functions/Completion/Zsh:/usr/share/zsh/functions/Exceptions:/usr/share/zsh/functions/Math:/usr/share/zsh/functions/MIME:/usr/share/zsh/functions/Misc:/usr/share/zsh/functions/Newuser:/usr/share/zsh/functions/Prompts:/usr/share/zsh/functions/TCP:/usr/share/zsh/functions/VCS_Info:/usr/share/zsh/functions/VCS_Info/Backends:/usr/share/zsh/functions/Zftp:/usr/share/zsh/functions/Zle

ZSH_THEME="spaceship"
SPACESHIP_DIR_TRUNC=0
SPACESHIP_EXEC_TIME_SHOW=false
export RPS1="%{$reset_color%}"

plugins=(git,vi-mode)

source "$ZSH/oh-my-zsh.sh"

for file in /home/marcel/.dotfiles/omzsh/{exports,aliases,functions,secret}.sh; do
  [ -r "$file" ] && [ -f "$file" ] && source "$file";
done;

(hash wal 2>/dev/null && wal -r -t &)

DEFAULT_USER="marcel"

eval $(thefuck --alias)

[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

# Vi mode
bindkey -v

# Up/down search for matches of what's already there
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
bindkey '^P' up-line-or-beginning-search
bindkey '^N' down-line-or-beginning-search

Hmm 🤔
I don't use vi-mode. @ghost @kwinczek could you help guys?

🤦
Plugins are separated by spaces not commas. The plugin line should read:
plugins=(git vi-mode)

i have this exact problem. my . file
If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH
export RPS1="%{$reset_color%}"
Path to your oh-my-zsh installation.
export ZSH=$HOME/.oh-my-zsh
Set name of the theme to load. Optionally, if you set this to "random"
it'll load a random theme each time that oh-my-zsh is loaded.
See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="spaceship"
Uncomment the following line to use case-sensitive completion.
CASE_SENSITIVE="true"
Uncomment the following line to use hyphen-insensitive completion. Case
sensitive completion must be off. _ and - will be interchangeable.
HYPHEN_INSENSITIVE="true"
Uncomment the following line to disable bi-weekly auto-update checks.
DISABLE_AUTO_UPDATE="true"
Uncomment the following line to change how often to auto-update (in days).
export UPDATE_ZSH_DAYS=13
Uncomment the following line to disable colors in ls.
DISABLE_LS_COLORS="true"
Uncomment the following line to disable auto-setting terminal title.
DISABLE_AUTO_TITLE="true"
Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
Uncomment the following line if you want to disable marking untracked files
under VCS as dirty. This makes repository status check for large repositories
much, much faster.
DISABLE_UNTRACKED_FILES_DIRTY="true"
Uncomment the following line if you want to change the command execution time
stamp shown in the history command output.
The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
HIST_STAMPS="mm/dd/yyyy"
Would you like to use another custom folder than $ZSH/custom?
ZSH_CUSTOM=/path/to/new-custom-folder
Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
Example format: plugins=(rails git textmate ruby lighthouse)
Add wisely, as too many plugins slow down shell startup.
plugins=(git zsh-autosuggestions)
source $ZSH/oh-my-zsh.sh
User configuration
export MANPATH="/usr/local/man:$MANPATH"
You may need to manually set your language environment
export LANG=en_US.UTF-8
Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='mvim'
fi
Compilation flags
export ARCHFLAGS="-arch x86_64"
ssh
export SSH_KEY_PATH="~/.ssh/rsa_id"
Set personal aliases, overriding those provided by oh-my-zsh libs,
plugins, and themes. Aliases can be placed here, though oh-my-zsh
users are encouraged to define aliases within the ZSH_CUSTOM folder.
For a full list of active aliases, run alias.

Example aliases
alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
bindkey -v
HISTFILE=50000
SAVEHIST=50000
bindkey -a u undo
bindkey -a '^R' redo
bindkey -a '^?' backward-delete-char

@marco-silva0000 PLEASE add ``` above and below code blocks. The comments in your file are making you scream at people.

i had already, sorry :p

It seems you are not using the zsh vi-mode plugin. You can add it like this:
plugins=(git zsh-autosuggestions vi-mode)

Having the same issue. I am not using oh-my-zsh or prezto or any framework for that matter
Relevant part of .zshrc

# Spaceship
fpath=( "$HOME/.zsh" $fpath )
autoload -U promptinit; promptinit
prompt spaceship
SPACESHIP_TIME_SHOW=true
SPACESHIP_USER_SHOW=false
SPACESHIP_RPROMPT_ORDER=(
  time
  vi_mode       # Vi-mode indicator
)
SPACESHIP_PROMPT_ORDER=(
#  user          # Username section
  dir           # Current directory section
  git           # Git section (git_branch + git_status)
  package       # Package version
  node          # Node.js section
  golang        # Go section
#  docker        # Docker section
  line_sep      # Line break
  jobs          # Background jobs indicator
  exit_code     # Exit code section
  char          # Prompt character
)

#Using Vim mode in Zsh
bindkey -v

bindkey '^P' up-history
bindkey '^N' down-history
bindkey '^?' backward-delete-char
bindkey '^h' backward-delete-char
bindkey '^w' backward-kill-word
bindkey '^r' history-incremental-search-backward

Complete .zshrc
# Ensure path arrays do not contain duplicates.
typeset -gU cdpath fpath mailpath path

path=(
  /usr/local/{bin,sbin}
  /usr/local/go/bin
  $GOPATH/bin
  $HOME/.bin
  $HOME/.bin-large
  $path
)

export HIST_STAMPS="dd/mm/yyyy"
export HISTIGNORE=?:pwd:id:uptime:resize:ls:clear:history:cd:?
export HISTCONTROL=ignoredups

HISTFILE=~/.zsh_history
HISTSIZE=50000
SAVEHIST=10000

## History command configuration
setopt extended_history       # record timestamp of command in HISTFILE
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
setopt hist_ignore_dups       # ignore duplicated commands history list
setopt hist_ignore_space      # ignore commands that start with space
setopt hist_verify            # show command with history expansion to user before running it
setopt append_history         # add commands to HISTFILE in order of execution
setopt share_history          # share command history data
setopt histignorespace        # remove command lines from the history list when the first character on the line is a space

# setopt correct          	                                    # Auto correct mistakes
setopt extended_glob     	                                    # Extended globbing. Allows using regular expressions with *
setopt nocaseglob       	                                    # Case insensitive globbing
setopt autoparamslash                                         # If a parameter is completed whose content is the name of a directory, then add a trailing slash instead of a space
setopt rcexpandparam    	                                    # Array expension with parameters
setopt nocheckjobs      	                                    # Don't warn about running processes when exiting
setopt numericglobsort  	                                    # Sort filenames numerically when it makes sense
setopt nobeep           	                                    # No beep
setopt auto_cd                                                # if only directory path is entered, cd there.
setopt noshwordsplit                                          # use zsh style word splitting
setopt auto_pushd
setopt pushd_ignore_dups
setopt pushdminus
setopt auto_menu                                              # show completion menu on successive tab press

export VISUAL='emacsclient'
export PAGER='less'
export GOPATH=${HOME}/Repos/Go
export LESS='-F -g -i -M -R -S -w -X -z-4'
export EDITOR='vim'

#Sourcing climate scripts
source /etc/bash_completion.d/climate_completion

#Sourcing Zsh Plugins
source ~/.zsh_aliases
source ~/.zsh/enhancd/init.sh
ENHANCD_HOOK_AFTER_CD="ls"
ENHANCD_DISABLE_DOT=1
ENHANCD_DISABLE_HOME=1

source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh
ZSH_AUTOSUGGESTION_HIGHLIGHT_STYLE='fg=grey'                    # die farbe für autosuggestions funktioniert nur, wenn output of "echotc Co" >= 21 ist. ansonsten sollte "TERM=xterm-256color" exportiert werden !!!
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=200

source ~/.zsh/zsh-history-substring-search/zsh-history-substring-search.zsh
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# source ~/.zsh/zsh-completions/zsh-completions.plugin.zsh

# Spaceship
fpath=( "$HOME/.zsh" $fpath )
autoload -U promptinit; promptinit
prompt spaceship
SPACESHIP_TIME_SHOW=true
SPACESHIP_USER_SHOW=false
SPACESHIP_RPROMPT_ORDER=(
  time
  vi_mode       # Vi-mode indicator
)
SPACESHIP_PROMPT_ORDER=(
#  user          # Username section
  dir           # Current directory section
  git           # Git section (git_branch + git_status)
  package       # Package version
  node          # Node.js section
  golang        # Go section
#  docker        # Docker section
  line_sep      # Line break
  jobs          # Background jobs indicator
  exit_code     # Exit code section
  char          # Prompt character
)

#Using Vim mode in Zsh
bindkey -v

bindkey '^P' up-history
bindkey '^N' down-history
bindkey '^?' backward-delete-char
bindkey '^h' backward-delete-char
bindkey '^w' backward-kill-word
bindkey '^r' history-incremental-search-backward

# bind UP and DOWN arrow keys to substring search
zmodload zsh/terminfo
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
bindkey -M vicmd 'k' history-substring-search-up
bindkey -M vicmd 'j' history-substring-search-down

function history {
  print -z $( ([ -n "$ZSH_NAME" ] && fc -l 1 || history) | fzf -e -i +s --reverse --tac --margin=4%,1%,1%,2% --inline-info --header="ENTER to select (but not execute) command. ESC or CTRL+C to quit." --prompt='Enter string to filter history > ' | sed 's/ *[0-9]* *//' )
}

# fkill - kill process using fzf.
# more great examples how fzf can be used: https://github.com/junegunn/fzf/wiki/examples
function fkill {
  local pid
  pid=$(ps -ef | sed 1d | fzf -e -m -i +s --reverse --tac --margin=4%,1%,1%,2% --inline-info --header="TAB to (un)select.  ESC or CTRL+C to quit." --prompt='Enter string to filter history > ' | awk '{print $2}')

  if [ "x$pid" != "x" ]
  then
    echo $pid | xargs kill -${1:-9}
  fi
}

@ibnishak did you find a fix? I am also not using oh-my-zsh and presto.

@zer09 I copied a function from somebody for just the vi_mode, while rest of prompt  is by spaceship.
In general,  add the following before your autoload -U promptinit; promptinit
function zle-keymap-select() {
   zle reset-prompt zle -R
}
zle -N zle-keymap-select

autoload -U colors && colors
function vi_mode_prompt_info() { echo "%{$fg[red]%}${${KEYMAP/vicmd/[% NORMAL]%}/(main|viins)/[% INSERT]%}" }

RPS1='%t $(vi_mode_prompt_info)'
RPS2=$RPS1

Now, as I mentioned, this is a blind copy from dotfiles of somebody. I don't have enough command over zsh to debug this if something goes wrong. However it works for me. What is better, it works alongside spaceship right hand side prompt too. As in, on my RHS, time is shown by spaceship, while vi_mode is shown by the above function.

I was able to work around this by adding the following line somewhere before promptinit:
spaceship_vi_mode_enable

I'm using zprezto and I have the same problem

my terminal when I start it already appears:
Warning! The 'vi_mode' section was not found. Removing it from the prompt.

@talescoelhocn hey, thanks for a question! That's because we no longer bundle vi-mode with spaceship core, since v4.0. You can install it separately as an external section from here: https://github.com/spaceship-prompt/spaceship-vi-mode

meu terminal quando o inicio já aparece: Warning! The 'vi_mode' section was not found. Removing it from the prompt.

Na linha que especifica os plugins, altere e deixe assim:
plugins=(git spaceship-vi-mode)


Social Proof

As a [description of user]
member of the general public in BC,
I want to [functionality]
see "social proof" of the success of climate actions (reviews, recommendations, case studies)
So that [benefit]
Trust the information that I am receiving from the government.
Additional context
From content principles
Acceptance Criteria
Agreed-upon confirmation of the requirements when done can be deemed as complete

duplicated by #51, closing


property to configure broker domain

the deploy errand should enable operator to specify broker domain (can set app name, org, missing domain)
btw: very nice work, glad to get cloudfoundry community Kafka solution :-)

If you have a look in the broker job spec, hopefully there are enough properties that you can override. Are these enough?
Next, we can add an additional operators/cf-deploy.yml which could expose each of these as variables. That way if you want to customize them you can pass in variables
Alternately, you can write your own bespoke operator patch file with the specific changes you want (say in your deployment pipelines). Like the operators/redis.yml example which has hard coded overrides.

Yes, more docs on how to do this stuff is a good idea :)

Broker domain is one property I think is missing. Good catch. Others?

@poblin-orange
I've added cf.routes which passes an array of routes thru to the CF manifest. I've also added manifests/operators/cf-app.yml which exposes all the variables for where/how the broker cf app is deployed.
Cutting v0.5.1

@poblin-orange https://github.com/cloudfoundry-community/kafka-service-broker-boshrelease/releases/tag/v0.5.1

thks @drnic
I ll try 0.5.1 asap
other props i think of is cf security groups array (we usually limit cf apps outbound access, and need to limit access to only kafka manager).

the ASG definitions are not in the brokers service errands.
We use terraform cloudfoundry to define ASG  globally (this separates services providers teams and paas operator control)
https://github.com/orange-cloudfoundry/terraform-provider-cloudfoundry
For our requirements, ASG name list in broker-deploy job would be enough.

@poblin-orange I'm sorry I'm not following. :/ If its ok, can you submit a PR with the change suggestions?

@drnic sure, the PR will clarify
https://github.com/cloudfoundry-community/kafka-service-broker-boshrelease/pull/2


Answer Question: Why yew-bootstrap Instead of Manually Using Bootstrap?

This is a question I have regarding the project; I think the answer is easier callback handling, but I'm not certain because I haven't tried the alternative.
I think others will have the same question, and we should be able to tell them in our README.md why this project will make their work easier if they intend to use bootstrap.
Why shouldn't a user manually call bootstrap raw in html! { } macros? Would it be a huge pain in the butt for them to do this and also have a "reactive" web application? If we are saving them some pain, we should make that clear.

To add to this: having a typed API to the components prevents some gnarly goofs where a typo'd classname or attribute breaks UI.


Wfnews 2007

Is this the correct ticket number? These changes do not seem to be related to text wrapping.

Sorry, WFNEWS-1947


Support for "Delimit the allocation of volumes in Storage Spaces Direct" on Azure Stack HCI

Will we see support for "Delimit the allocation of volumes in Storage Spaces Direct" on Azure Stack HCI as well? It currently Applies to: Windows Server 2022, Windows Server 2019 according to this doc link
https://learn.microsoft.com/en-us/windows-server/storage/storage-spaces/delimit-volume-allocation

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


python310Packages.etils: 0.6.0 -> 0.7.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.etils is: "Collection of eclectic utils for python"
meta.homepage for python310Packages.etils is: "https://github.com/google/etils"
meta.changelog for python310Packages.etils is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 0.7.1 with grep in /nix/store/rizfgm99zb3k3npnkafz3hv3bmb2a98s-python3.10-etils-0.7.1
found 0.7.1 in filename of file in /nix/store/rizfgm99zb3k3npnkafz3hv3bmb2a98s-python3.10-etils-0.7.1

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
python310Packages.etils
python39Packages.etils

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/rizfgm99zb3k3npnkafz3hv3bmb2a98s-python3.10-etils-0.7.1 \
  --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 python310Packages.etils https://github.com/r-ryantm/nixpkgs/archive/8ed129bef9d824b0f184aa6ac82c1c025056a8b0.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/rizfgm99zb3k3npnkafz3hv3bmb2a98s-python3.10-etils-0.7.1
ls -la /nix/store/rizfgm99zb3k3npnkafz3hv3bmb2a98s-python3.10-etils-0.7.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

python310Packages.etils
python39Packages.etils

Maintainer pings
cc @mcwitt for testing.

Result of nixpkgs-review pr 186194 run on x86_64-darwin 1

2 packages built:

python310Packages.etils
python39Packages.etils


why init server is too slow?

when i init crawl4ai server by
class WebCrawlerServer(WebCrawler):

    def __init__(self, *params, **kwargs):
        super().__init__(*params, **kwargs)
        self.ready = True

    def warmup(self):
        logger.info("[LOG] 🌤  Warming up the WebCrawler")
        result = self.run(
            url='https://www.blurrai.com',
            word_count_threshold=5,
            extraction_strategy=None,
            bypass_cache=False,
            verbose=False,
        )
        logger.info(result)
        self.ready = True
        logger.info("[LOG] 🌞 WebCrawler is ready to crawl")

it will cost so much time to init server, i want to know why?

Without further information, we cannot confirm the slow startup issue. Can you provide an independent example

If it is called like this
    crawler = WebCrawler(verbose=True, crawler_strategy=crawler_comm_strategy)
    crawler.warmup()

Should be able to print out
[LOG] 🌤  Warming up the WebCrawler
result xxx
[LOG] 🌞 WebCrawler is ready to crawl

If warmup() is not manually called, it will not print
But if you have already defaulted to self. ready=True, then not calling warmup is actually considered to be already started

if self.run(cachepass=true), it will init server so fast,, ok

如果传入 bypass_cache=True，直接拿的缓存数据，那启动肯定快。应该确认一下机器性能和网络速度。

url抓取服务是海外的么, 我在大陆的机器部署使用的

你如果用的是 CloudCrawlerStrategy ，他的服务是海外的，建议直接用LocalSeleniumCrawlerStrategy，完全依赖本地浏览器获取数据会快很多。

我这边调用是很快就拿到结果了，不调用他的服务器。

我这边调用是很快就拿到结果了，不调用他的服务器。

还有一点慢的原因 就是 使用了 LLMExtractionStrategy ，这个解析器，调用的是外网的服务，解析也会很慢，如果没有调用直接是NoExtractionStrategy 应该没影响，要使用 LLMExtractionStrategy  可以设置成智普Api,  openai/glm-4-flash  api https://open.bigmodel.cn/api/paas/v4 免费速度快。

好的, 我试下

Hi everyone, @lyh08250 I apologize for missing this issue. Since the 9th of September, we have done tons of changes, one of which is moving the entire library to an asynchronous version – it is much faster, and the performance is significantly better. I hope you can test it again and see the difference. Here is a sample of the code to help you get a quick start.
async def simple_crawl():
    print("\n--- Basic Usage ---")
    async with AsyncWebCrawler(verbose=True) as crawler:
        result = await crawler.arun(url="https://www.nbcnews.com/business")
        print(result.markdown[:500])  # Print first 500 characters


New loss function for segmentation

Hi all,
I have implemented the Tversky loss function for segmentation with imbalanced data. I'll try it tomorrow and if it works I'll open a PR.
It needs two parameters α and β to weight precision and recall during training (if α + β = 1, it's equivalent to an Fβ-score and if α = β = 0.5, it's Dice). Is there a way to specify those without hard-coding them? The only other losses that accept kwargs are GDSC and wasserstein_disagreement_map, but I the only example I've found in the repo in which those are passed is in this test:
https://github.com/NifTK/NiftyNet/blob/0bdbd9cafefc8063110e1152f29d5001ad8e6906/tests/loss_segmentation_test.py#L94-L110

Thanks @fepegar, the loss function's inferface is ready, but we need the new configuration file https://github.com/NifTK/NiftyNet/issues/166  to support a proper nested parameter parsing.
Perhaps @BostonChildrensRadiology would be interested in this implementation as well.

Cool, looking forward to the new config format.
I'll submit the PR as a WIP in a second.

Is this working for class imbalanced semantic segmentation?(mostly medical images)

@amartya-k yes, it should. Take a look at the paper I referenced in the first comment.


Move snowfall to IFluxCalculation

For my work on issue #127 having the shared variable snowfall in IFluxCalculation makes more sense than having it in AtmosphereState. I think this is true in general. Can we move snowfall?

Snowfall makes sense to me as something the atmosphere itself is doing. Instead, might it make sense to have a total precipitation flux or even E-P areal mass flux in the implementations of IFluxCalculation? This seems more 'flux-y' and would parallel the existing subl sublimation mass flux.

Yes, the problem is that snowfall kind of belongs in both places. You get either

Fluxes (total radiative and turbulent and evaporatoin) + precipitation (rain + snow)
Atmosphere state (2 m temp, etc) + precipitation (rain + snow) -> then calculate fluxes and evaporation

It doesn't make much difference where the snowfall sits, as long as both the flux and atmosphere state codes can modify it.
But can I do that when it's a ProtectedArray? A simple
    registerProtectedArray(ProtectedArray::SNOW, &snowfall);

in the header and
    snowfall[i] = 1.;

doesn't work.

But can I do that when it's a ProtectedArray? A simple
    registerProtectedArray(ProtectedArray::SNOW, &snowfall);
in the header and
    snowfall[i] = 1.;
doesn't work.

In what way doesn't work? A ProtectedArray is only protected against anything that accesses it as a ModelArrayRef from writing to the array. In the ModelComponent where it is defined as a ModelArray, there is no concept of protected or shared or write-protected.
What does need to be the case is that the ModelArray is persistent, such as being a class member variable in a class that is still alive. It won't work on variables only defined within a function. (Assuming that's what is going on.)

I was trying to modify a protected array - which probably should not be allowed anyway :)
This all becomes a bit annoying and contorted because there are a few layers where information may be coming into the model. What we've done so far is
AtmosphereState <= 2 m temp, etc + precipitation from file or coupler
         ||
         \/
FluxCalculation
         ||
         \/
IceThermodynamics <= Fluxes (total radiative and turbulent and evaporation) + precipitation (rain + snow) from file or coupler

So, whether the fluxes that IceThermodynamics receive comes from AtmosphereState + FluxCalculation or directly from file/coupler depends on the setup. If we consider what's provided we can write it down like this:
Provided by AtmosphereState:

wind speed
2 m temperature
2 m dewpoint OR mixing ratio OR specific humidity
surface pressure
incoming long- and shortwave radiation
precipitation (snow + rain)

Provided by FluxCalculation or fluxes from file/coupler:

total ice-atmosphere heat flux
the derivative of total flux w.r.t. temperature
sublimation flux
precipitation (snow + rain)
incoming shortwave radiation
non-solar heat flux over the ocean
evaporation from the ocean

The IceThermodynamics needs everything ice/snow related, while the (bulk) ocean needs the last two ocean-related points. The idea was that you could read from a file or receive from the coupler either fluxes or atmospheric state. If you read/receive atmospheric state, then you can have flexibility in choosing a FluxCalculation implementation.
The problems we have now are:

There's an overlap, where both AtmosphereState and FluxCalculaton provide precipitation and shortwave radiation. So, in which module should those live?
If we read/receive fluxes only, are we forcing ourselves to reserve memory for all of AtmosphericState?

After some thinking and discussion, @timspainNERSC and I have tentatively agreed on the following:
We'll replace AtmosphereState and FluxCalculation modules with an AtmosphereBoundaryConditions module, which will have the following characteristics:

It will hold the fluxes currently held by FluxCalculation (plus some we missed), i.e.

total ice-atmosphere heat flux
the derivative of total flux w.r.t. temperature
sublimation flux
precipitation (snow + rain)
incoming shortwave radiation
non-solar heat flux over the ocean
evaporation from the ocean
wind u & v

An implementation of AtmosphereBoundaryConditions can consist of, e.g.,

Setting the module variables (above) to some fixed or tabulated values
Setting the module variables to values received from the coupler
Reading atmospheric state from file and using a flux calculation implementation to calculate the fluxes
Something even more complicated (like an atmospheric boundary layer model)

We will then replace the OceanState and bulk ocean module and routines with a similar OceanBoundaryConditions module

It will hold

Ice-ocean sensible heat flux
SST
SSS
ocean u & v

An implementation of OceanBoundaryConditions can consist of, .e.g.,

Setting the module variables (above) to some fixed or tabulated values
Setting SST, SSS, and ocean u & v to values received from the coupler and calculating the flux using an implementation of IIceOceanHeatFlux
Using a slab ocean model to calculate SST and SSS, use values read from file to nudge those towards observations or the results of another model, and calculate the flux using an implementation of IIceOceanHeatFlux

Hi guys, since the flux stuff is my thing I couldn't help and had to catch up on this discussion. I think the proposed merge into a single module is definitively a sound move!
/laurent

It won't really be a single module, but hopefully it will have a more coherent design.
My current design is to place the fields where @einola describes, but to retain the modules AtmosphereState to interface with coupling or climatology and IFluxCalculation to do the atmospheric conditions -> fluxes calculations. At least, retain those modules if they aren't being entirely by-passed.

I think that makes sense. That way we can also use a wrapper around Aerobulk for IFluxCalculation - right?

I think that makes sense. That way we can also use a wrapper around Aerobulk for IFluxCalculation - right?

That was certainly my goal.

Does these make sense as class hierarchies for the boundary condition classes? And do the names sound reasonable for the different implementations?

IAtmosphereBoundary

FluxDrivenAtmosphere

Uses IFluxCalculation as implemented by the old NextSIM fluxes or Aerobulk.

ConfiguredAtmosphere

Uses configured values.

IOceanBoundary

SlabOcean

Uses either climatologies or configured values.

CoupledOcean

Uses whatever coupler is being used (initially OASIS).

Yes, the class hierarchies make sense.
For the names, I guess I would rather name them after the source like you did for CoupledOcean. So, then FluxDrivenAtmosphere would be ReanalysisAtmosphere - at least to begin with. We could then see if we want to have one flexible ReanalysisAtmosphere that can eat any reanalysis, or if we want to have ERA5Atmosphere, CFSAtmosphere, etc, etc.
We'll later write FluxCoupledAtmosphere (where the coupler sends fluxes) and StateCoupledAtmosphere (where the coupler sends the atmospheric state), inheriting from IAtmosphereBoundary.
In the meantime, for #127 I will write MonthlyTabulatedAtmosphere (or maybe MU71Atmosphere - referring to the paper), also inheriting from IAtmosphereBoundary.
Does that sound right?


refactor(navbar): clean mobile navbar components

Just some refactoring to clean the code
Depends on #943

As decided with @tbouffard, to avoid to be block, I can merge it without review, because he has no time. We can do another PR later if we find other changes.


Fix testnet

Fixes #389
It's worth mentioning that server <IP_ADDRESS> seems to be down, and server electrum-testnet-abc.criptolayer.net is roughly two and a half weeks behind. Since there are no other testnet servers available, I've left them in for now.
Additionally, block #1199520 seemingly didn't adjust according to the Nov 13 DAA HF, which I really can't explain. I've hardcoded in the bit verification for now (otherwise it doesn't continue). If anyone has any explanations for this that would be splendid.

Turns out the Nov 13 DAA HF allows blocks where height % 2016 == 0 to have a minimum difficulty, which makes sense: https://github.com/bitcoinxt/bitcoinxt/blob/72b14ec5c4ef16d79aab53d2e40a898c88ff1992/src/pow.cpp#L289


adding bazel version check

We often have issues with users trying to build Heron with an incompatible version of Bazel.  This file will hopefully help with instructing users how to get the correct version of Bazel to build Heron with.  For example: If you run Bazel in the root folder with a version other than 3.4.1 it will throw an error like below:
bazel --version
ERROR: The project you're trying to build requires Bazel 3.4.1 (specified in /Users/{user}/Source/apache/incubator-heron/.bazelversion), but it wasn't found in /Users/{user}/.bazel/bin.

Bazel binaries for all official releases can be downloaded from here:
  https://github.com/bazelbuild/bazel/releases

You can download the required version directly using this command:
  (cd "/Users/joshfischer/.bazel/bin" && curl -LO https://releases.bazel.build/3.4.1/release/bazel-3.4.1-darwin-x86_64 && chmod +x bazel-3.4.1-darwin-x86_64)

Cool feature. I like the idea. My only fear is that it will be a hassle when someone uses a newer Bazel. For example, if it is auto updated using brew on OSX. Is it possible to provide a range (i.e. 3.4.x)?

I think bazelisk is the preferred way of working with .bazelversion and multiple versions

The goal is to lock users into a specific version for this code.    Then using some like Bazelisk like Oliver mentioned people can adjust to their needed version.


Gateway environments are missing in JMS event when redeploying an API revision

Description:
$subject (gatewayLabels are empty)
"gatewayLabels": [],
Steps to reproduce:

Deploy an API revision to us-region environment (created an environment called us-region)
Create revision and deploy API (at once) with selecting us-region

JMS events received by Microgateway
{
    "apiId": 2,
    "uuid": "3b37c2e0-5b08-4b1a-a67f-8e086873e2ad",
    "name": "SwaggerPetstore",
    "version": "1.0.5",
    "provider": "admin",
    "apiType": "HTTP",
    "gatewayLabels": [],
    "associatedApis": [],
    "context": "/v2/1.0.5",
    "eventId": "40d57b7b-bdf6-46ef-b448-3ff6cbac7af2",
    "timeStamp":<PHONE_NUMBER>103,
    "type": "REMOVE_API_FROM_GATEWAY",
    "tenantId": 0,
    "tenantDomain": "carbon.super"
}

{
    "apiId": 2,
    "uuid": "3b37c2e0-5b08-4b1a-a67f-8e086873e2ad",
    "name": "SwaggerPetstore",
    "version": "1.0.5",
    "provider": "admin",
    "apiType": "HTTP",
    "gatewayLabels": [
        "us-region"
    ],
    "associatedApis": [],
    "context": "/v2/1.0.5",
    "eventId": "b9161606-2af8-4ad9-9319-08bb6facf360",
    "timeStamp":<PHONE_NUMBER>160,
    "type": "DEPLOY_API_IN_GATEWAY",
    "tenantId": 0,
    "tenantDomain": "carbon.super"
}

Gateway environments are not available in the event "REMOVE_API_FROM_GATEWAY".
But gateway environments are available in the event when directly click undeploy button instead of redeploying it.
{
   "apiId": 2,
   "uuid": "3b37c2e0-5b08-4b1a-a67f-8e086873e2ad",
   "name": "SwaggerPetstore",
   "version": "1.0.5",
   "provider": "admin",
   "apiType": "HTTP",
   "gatewayLabels": [
       "us-region"
   ],
   "associatedApis": [],
   "context": "/v2/1.0.5",
   "eventId": "1b885826-6198-4298-b3eb-d340dba19320",
   "timeStamp":<PHONE_NUMBER>935,
   "type": "REMOVE_API_FROM_GATEWAY",
   "tenantId": 0,
   "tenantDomain": "carbon.super"
}

Affected Product Version:
APIM 4.0.0 beta
Environment details (with versions):

OS: macOS
Client: MG
Env (Docker/K8s): VM

When redeploying Event happens there's no API un-deployment happens from Gateway.
Due to that If we receive API Deployment events into an already deployed gateway, we need to consider this as a redeployment.

This is a bug right.. For the same event, we miss to add a single value.


Issue: Commit from chrome showing as Gist

When we open a commit in Google chrome and use the share option in that to open with ForkHob it is creating a Gist, instead of opening commit view. But when I install this app https://play.google.com/store/apps/details?id=com.tasomaniac.openwith&hl=en and then use it to open with ForkHub, it's working fine.

That's the normal difference between "sharing" and "opening". IMHO.

Chrome's share option is not meant for opening links in other apps.
This is expected behaviour.


Prevent from marking replica as error due to the cancellation of backup restoration.

Which issue(s) this PR fixes:

Issue https://github.com/longhorn/longhorn/issues/7581
What this PR does / why we need it:
Prevent from marking replica as error due to the cancellation of backup restoration.
Then, the replica can be used in the next restoration task.
Special notes for your reviewer:
Additional documentation or context
Deps on https://github.com/longhorn/backupstore/pull/157

Deps are updated and ready to review.


Return error on 3-way merge conflicts and support explicit deletion through ~

3-way merge conflicts are handled while updates.


Upload fails while app is on background on phone locked

Seems like the app upload is failing whenever the app goes to background or if the phone screen is turned off. I am using SFTPclient to upload to a SFTP server. Is there a solution for this? Any help would be greatly appreciated.

I have tried using the resumeFileAtPath when the app is in foreground but not able to override the file. Can someone please explain how to get resumeFileAtPath to work. I have passed the correct local path and I have set the destination path to the file that I have uploaded. Not getting any errors. Just the following code is returning null
LIBSSH2_SFTP_HANDLE *handle = [self openFileAtPath:path                                                  flags:LIBSSH2_FXF_WRITE|LIBSSH2_FXF_CREAT|LIBSSH2_FXF_READ                                                   mode:LIBSSH2_SFTP_S_IRUSR|LIBSSH2_SFTP_S_IWUSR|LIBSSH2_SFTP_S_IRGRP|LIBSSH2_SFTP_S_IROTH];


Update identity-apps version to 1.6.30

Changes in this PR

$subject to get the changes in [1] to the product.

[1] https://github.com/wso2/identity-apps/pull/3516

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/3234403777
Status: success


Inertia Vite preset not working

I am trying to create a new project using Laravel, Vite and Inertiajs, following the preset instructions in the documentation.I got an error when running the following command: "npx @preset/cli apply laravel:inertia --no-tailwindcss".

When I try to run npm run dev and access the page, it is blank.

Works fine for me. The version mismatch is just a warning, it's not an error. All preset work. If you are trying to access the page via http://localhost:3000, don't. You need php artisan serve, Valet or another webserver, like you would without Vite 👍

Ah, nevermind, seems like the --no-tailwindcss does break the preset.

Ah okay. I didn't know that you should use php artisan serve. I am new to laravel and the script ends with a comment which says you should use npm run dev


mobile: API registration takes string&&, retrieval takes string_view

string&& makes it clear on setting that the name param will be std::move'd when creating the key.
string_view for lookup because flat_hash_map supports heterogenous lookups: https://abseil.io/docs/cpp/guides/container#heterogeneous-lookup

/retest

LGTM! Maybe update the PR description to reflect the new data types?

Done

/retest


Adding the JsEvManager as a JsCarSimulator replacement

The aim is to rewrite the JsCarSimulator so that the new JsEvManager can also run on "real" hardware. The EV counterpart of the EvseManager module, so to speak.
For this purpose, a new ev_board_support interface and a suitable YetiEvDriver were written. The yeti_simulation_control was removed.
The new JsEvManager now also uses the ev_slac interface. The ev slac state machine and the JsSlacSimulator module have been adapted for this purpose.

Todo from my side before merge: 1. Fix integration test 2. squash all commits together

I found a few things that still need to be changed here (node-red flows changes, PnC tests). Therefore I would suggest to move the merge after the release.

moving the evSerial things into a separate library would reduce code duplication

There's Everest::Serial in everest-framework which was written with the intention to have a common implementation, but that hasn't been widely use (I think only in the pn532 rfid reader driver)

I think separating the lib/slac stuff from this PR into another PR is possible. I can do that right now

2024.6.0 version of everest cannot use with auto generated EVerest Admin panel yaml files. It still generate as a JsCarSimulator.


Use data types instead of validate functions

This is a breaking change as several parameters now only accept integers
instead of strings.
Fixes #159

I'll merge https://github.com/voxpupuli/puppet-keepalived/pull/162 first (after it goes green), then rebase this.


Route console log to new relic logs

I'd like a setting in the new relic brower agent that will automatically hook into the console.log/console.error functions and send the logs to new relic logging. I would also like it to not log in the browser. Alternatively, an api call that will send logs to new relic. It does not have to hook into console but it would be nice if it did.
Summary
Forward logs to new relic via the browser agent.
Desired Behavior
Conditionally override the console.log, console.error, console.debug, console.info etc functions so that they send logs to new relic and do not log in the console.
Possible Solution
Additional context

Hi @murphpdx and thanks for the feature request. This is actually on our roadmap for the quarter starting in January. We did do some work in a past version of the agent to gauge the data that would be sent if we automatically instrumented the console global. Unfortunately we found that extremely large objects are sometimes logged to the console in production systems resulting in a performance issue when we have to serialize it for sending to New Relic.
If you, or any community member or customer, has any suggestions around what you would like to see with this feature, please let us know either here, in our forums, or by reaching out to customer engagement or support.
Some things that we are trying to consider:

Do we need to implement log levels, what are they, and what do they map to on the console?
What limits can/should we put in place on what gets serialized for logging?

Object depth limit?
Only flat objects?

Do we need an API to allow customer code to inspect a log before it is serialized?

Log filtering
Custom serialization

How/Should we handle obfuscation of log data?

Hi! Piggy-backing on the request from @murphpdx
This feature set would be very useful for some of our internal applications.

any news about this?

@CavalcanteLeo this work is on our roadmap to start this quarter.

Just shimming in, this feature might be nice as an opt-in.
Some projects allow the use of console.log freely in the code and remove them for production builds using vite/webpack/rollup directives.

in reality, instead of sending the console.log automatically, I would prefer something to manually send it to  new relic, something like `newrelic.log(text: string), and on the frontend I can abstract it, and create a function with the logger I want to use...
  const log = (text: string): void => {
    newRelic.log(text)
    if (runtimeConfig.public.ENV === 'dev') {
      console.log(text) // here I could use anything I want... like pino or winston
    }
  }

in this case, we don't rely on the console.logs only

Optionally allowing each method in a config would be preferred. Our main focus is to get console.error captured as it would help track down a ton of problems.
The console.log could become a ton of noise and high data ingest, but toggling it on and off at will would be super beneficial.

Thank you for good work on logs

Hi everyone. With version 1.261.0, we released two new API methods that you can use to send logs to New Relic for your browser apps.

log: This works just like noticeError where you can send logs to NR manually within your code.
wrapLogger: This works by wrapping methods of some provided object. When that method is called, the agent will capture the arguments and send a log to NR. Be careful here because we serialize the first argument to a string and assume that is the log message. If you send a large object as that first parameter, you could severely degrade the performance of your app.

We do not currently support automatically capturing logs or automatically wrapping console. You will have to determine what fits best in your app and call the appropriate API methods. If you have any questions, please let us know. You can also reach out on support.newrelic.com.


Add anonymous tracking features (close #540)

This PR addresses issue #540 and adds anonymous tracking features to the tracker.
Two properties were added in configuration:

TrackerConfiguration.userAnonymisation

Disables user identifiers in session context (sets userId to 00000000-0000-0000-0000-000000000000) and platform context (removes androidIdfa).
It is implemented by masking the identifiers at the time when the entities are added to events. So the userId is actually stored in session state but removed when adding to events (JS tracker does a similar thing).

EmitterConfiguraiton.serverAnonymisation

Sets the SP-Anonymous: * header in requests to Collector (at the time when the requests are sent, not when the events are tracked). This results in anonymising the network_userid and user_ipaddress properties.
Decided to put it in the Emitter config and not Tracker config as it is handled by the Emitter. But if it makes more sense to put it in Tracker config, we can move it there.

Documentation
(Available from v4)
Anonymous tracking enables anonymising various user and session identifiers. It affects the following user and session identifiers:

Client-side user identifiers: the userId in Session context entity and the IDFA identifiers (openIdfa, appleIdfa, and androidIdfa) in the Platform context entity.
Client-side session identifiers: sessionId in Session context.
Server-side user identifiers: network_userid and user_ipaddress event properties.

There are several levels to the anonymisation depending on which of the three categories are affected:
1. Full client-side anonymisation
In this case, both the client-side user identifiers as well as the client-side session identifiers are anonymised. To enable it, disable session context and enable user anonymisation:
TrackerConfiguration config = new TrackerConfiguration()
    .sessionContext(false)
    .userAnonymisation(true);

2. Client-side anonymisation with session tracking
This setting disables client-side user identifiers are but tracks session information. In practice, this means that events track the Session context entity but the userId property is a null UUID (00000000-0000-0000-0000-000000000000). In case Platform context is enabled, the IDFA identifiers will not be present.
TrackerConfiguration config = new TrackerConfiguration()
    .sessionContext(true)
    .userAnonymisation(true);

3. Server-side anonymisation
Server-side anonymisation affects user identifiers set server-side. In particular, these are the network_userid property set in server-side cookie and the user IP address. You can anonymise the properties using the serverAnonymisation flag in EmitterConfiguration:
EmitterConfiguraiton config = new EmitterConfiguraiton()
    .serverAnonymisation(true);

Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://docs.snowplowanalytics.com/docs/contributing/contributor-license-agreement/ to learn more and sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.


Automate release process for ospo-actions

Current:

PR is created
Maintainer labels PR so it gets categorized for release
PR is reviewed, approved and merged into base branch
GitHub Action creates release draft
Maintainer validates draft and publishes release (and added to discussion Announcements)
Maintainer locally creates GitHub Action image, tags it (latest, vX, vX.X.X) and pushes it to ghcr.io

Desired:

PR is created
GitHub Action to validate label present fails
Maintainer labels PR so it gets categorized in release
GitHub Action to validate label present passes
PR is reviewed, approved and merged into base branch
Release automatically created (and added to discussion Announcements)
GitHub Action container image created, tagged (latest, vX, vX.X.X) and pushed to ghcr.io

@zkoppert/@ahpook before I fill out the description above, does this issue mean we will automate releases when PRs merge or is release management still manual?  If automated, I'd like to introduce an issue and pull request to require PRs have labels so that they are categorized in the release.  If we automate and don't do that, then some PRs will be uncategorized (accidentally).
If this is just about automating the Action container images and releases are still manual, then I can write the description up that way.
Both paths I will summarize the GitHub Action I plan to create to handle the image creation and pushing after a release.
Thank you.

Personally, I'd prefer it to be fully automated meaning automate a release each time a PR is merged to main. Requiring one of the labels in our set of supported labels would be great!

Personally, I'd prefer it to be fully automated meaning automate a release each time a PR is merged to main. Requiring one of the labels in our set of supported labels would be great!

Awesome.  Thank you.  Will get description updated and ask for feedback.

Thinking about this more last night, I'd very much be a fan of using the amannn/action-semantic-pull-request GitHub action to force PR titles (adhering to conventional commits), this GHA uses the conventional-commit-types npm package that has the following prefixes available

feat
fix
docs
style
refactor
perf
test
build
ci
chore
revert

We can then use the Auto Labeler feature of the pre-releaser GHA to use regex based on the PR prefixes to auto label the PRs.
A side benefit is that, as a maintainer, you can look at the repo's pull requests and easily see what type they are based on the prefix and the auto labelling.
Full disclosure: we use this for argo-helm in the argoproj org.  It works well.  There can be a little frustration by first-time contributors on how to get the titles correct, but our error messaging gave clarity to help them.

If we are adding friction for first time contributors lets just make sure we spell everything out in our contributing docs and continue to be responsive in issues and PRs. Sounds like a great plan!

A nice aspect of PR titles imo is that they can also be adjusted by maintainers of a repo i.e. us, so we can help/"just fix it" for contributors if they get it wrong and don't necessarily have to go through a back and forth cycle with them.

If we are adding friction for first time contributors lets just make sure we spell everything out in our contributing docs and continue to be responsive in issues and PRs. Sounds like a great plan!

+1 to this take. I'm a big fan of keeping things labeled / organized, but those standards will need to be clearly articulated in the docs and perhaps some hints added to the PR / Issue templates directly, in case contributors skip the README / CONTRIBUTORS.md 🙂

Automated Releases for the OSPO GitHub Actions:

[x] https://github.com/github/automatic-contrib-prs/pull/55
[x] https://github.com/github/cleanowners/pull/52
[x] https://github.com/github/contributors/pull/92
[ ] https://github.com/github/evergreen/pull/99
[x] https://github.com/github/issue-metrics/pull/242
[x] https://github.com/github/stale-repos/pull/118

This is complete


Updated 2021 Colors for Java

Description
-Updated text, Ctrl Clickable, Keyword colors
-Method parameter, generic type parameter, Class/Interface colors for Java
⚠ Remember to update changelog!
Type of change

🐛 bug fix

Mentions

@mention

@napsterv asking few more people to review

@napsterv asking few more people to review

Alrighty @bhushan

Will send a separate PR!

@napsterv

@napsterv

Thanks bro!


SEGFAULT - Minidump header signature mismatch

phantomjs is segfaulting.
DISPLAY=:0 /usr/local/bin/phantomjs --load-images=no --ignore-ssl-errors=yes /tmp/phantom-selector-15.js 'http://auto.cyberpresse.ca/guide-auto/nissan/' > '/tmp/phantomjs-15.out'
Segmentation fault
PhantomJS has crashed. Please read the crash reporting guide at https://github.com/ariya/phantomjs/wiki/Crash-Reporting and file a bug report at https://github.com/ariya/phantomjs/issues/new with the crash dump file attached: /tmp/6d5fb3ae-ff39-90b0-024cdaf8-09f1e563.dmp

Trying minidump, I get an error:
# sudo ./minidump_stackwalk /tmp/6d5fb3ae-ff39-90b0-024cdaf8-09f1e563.dmp .
2013-11-23 18:05:16: minidump_processor.cc:264: INFO: Processing minidump in file /tmp/6d5fb3ae-ff39-90b0-024cdaf8-09f1e563.dmp
2013-11-23 18:05:16: minidump.cc:3775: INFO: Minidump opened minidump /tmp/6d5fb3ae-ff39-90b0-024cdaf8-09f1e563.dmp
2013-11-23 18:05:16: minidump.cc:3807: ERROR: Minidump header signature mismatch: (0x0, 0x0) != 0x504d444d
2013-11-23 18:05:16: minidump_processor.cc:268: ERROR: Minidump /tmp/6d5fb3ae-ff39-90b0-024cdaf8-09f1e563.dmp could not be read
2013-11-23 18:05:16: minidump.cc:3747: INFO: Minidump closing minidump
2013-11-23 18:05:16: minidump_stackwalk.cc:529: ERROR: MinidumpProcessor::Process failed

I made sure the executable I used was the same as the one available in the official downloads:
# md5sum /usr/local/bin/phantomjs ~/phantomjs-1.9.2-linux-x86_64/bin/phantomjs
907a16dc677db19da9a0d25ba66c8d56  /usr/local/bin/phantomjs
907a16dc677db19da9a0d25ba66c8d56  /root/phantomjs-1.9.2-linux-x86_64/bin/phantomjs

Please upgrade to PhantomJS 2. 1.9.x is no longer supported, and known to have many crasher bugs that are fixed in 2 version.


add linux:// tilde:// tel://

add Linux for listing a distro, tilde for tildespace urls and tel for phone numbers

Great suggestions. Thanks so much!