text:
scalamock 3.5.0 - unable to stub java object with immutable method

ScalaMock Version (3.5.0)
        <dependency>
            <groupId>org.scalamock</groupId>
            <artifactId>scalamock-scalatest-support_2.11</artifactId>
            <version>3.5.0</version>
            <scope>test</scope>
        </dependency>

Scala Version (2.11)
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-compiler</artifactId>
            <version>2.11.1</version>
            <scope>compile</scope>
        </dependency>

Runtime (JVM)
1.8
Please describe the expected behavior of the issue
I know scalamock is more for scala than java, still its prettier to use for java most of the time.
In this case, I am stubbing an object with immutable java method,
public class ImmutableMethodClient {

    public ImmutableMethod immutableMethod = new ImmutableMethod();

    public String doSomethingInteresting(String param){
        return immutableMethod.dream(param);
    }
}

public class ImmutableMethod {

    public final String dream(String someParam) { // dare overriding me.
        return "return something from JVM stack";
    }
}

But, fun part is when I stub the ImmutableMethod, obviously it can not mock the final method.
class ImmutableMethodUnitSpecs extends FunSuite with MockFactory {

  test("stubs ImmutableMethod"){
    val client = new ImmutableMethodClient
    client.immutableMethod = stub[ImmutableMethod]

    (client.immutableMethod.dream(_ : String)).when("whatever").returns("who cares")

    assert(client.doSomethingInteresting("whatever") == "who cares")
  }

}

Stacktrace
It throws NoSuchMethodException.
/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin/java -Didea.launcher.port=7532 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Users/as18/Library/Application Support/IntelliJIdea2016.2/Scala/lib/scala-plugin-runners.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/lib/tools.jar:/Users/as18/possibilities/programming/s2/scala-tdd/target/test-classes:/Users/as18/possibilities/programming/s2/scala-tdd/target/classes:/Users/as18/.m2/repository/org/scala-lang/scala-compiler/2.11.1/scala-compiler-2.11.1.jar:/Users/as18/.m2/repository/org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar:/Users/as18/.m2/repository/org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.jar:/Users/as18/.m2/repository/org/scala-lang/modules/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar:/Users/as18/.m2/repository/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar:/Users/as18/.m2/repository/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar:/Users/as18/.m2/repository/org/scalactic/scalactic_2.11/3.0.0/scalactic_2.11-3.0.0.jar:/Users/as18/.m2/repository/org/scalatest/scalatest_2.11/3.0.0/scalatest_2.11-3.0.0.jar:/Users/as18/.m2/repository/org/scalamock/scalamock-scalatest-support_2.11/3.5.0/scalamock-scalatest-support_2.11-3.5.0.jar:/Users/as18/.m2/repository/org/scalamock/scalamock-core_2.11/3.5.0/scalamock-core_2.11-3.5.0.jar:/Users/as18/.m2/repository/junit/junit/4.10/junit-4.10.jar:/Users/as18/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar:/Users/as18/.m2/repository/org/mockito/mockito-all/1.10.19/mockito-all-1.10.19.jar:/Users/as18/.m2/repository/org/powermock/powermock-module-junit4/1.6.5/powermock-module-junit4-1.6.5.jar:/Users/as18/.m2/repository/org/powermock/powermock-module-junit4-common/1.6.5/powermock-module-junit4-common-1.6.5.jar:/Users/as18/.m2/repository/org/powermock/powermock-core/1.6.5/powermock-core-1.6.5.jar:/Users/as18/.m2/repository/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar:/Users/as18/.m2/repository/org/powermock/powermock-reflect/1.6.5/powermock-reflect-1.6.5.jar:/Users/as18/.m2/repository/org/powermock/powermock-api-mockito/1.6.5/powermock-api-mockito-1.6.5.jar:/Users/as18/.m2/repository/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar:/Users/as18/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1.jar:/Users/as18/.m2/repository/org/powermock/powermock-api-mockito-common/1.6.5/powermock-api-mockito-common-1.6.5.jar:/Users/as18/.m2/repository/org/powermock/powermock-api-support/1.6.5/powermock-api-support-1.6.5.jar:/Users/as18/.m2/repository/info/cukes/cucumber-junit/1.2.5/cucumber-junit-1.2.5.jar:/Users/as18/.m2/repository/info/cukes/cucumber-core/1.2.5/cucumber-core-1.2.5.jar:/Users/as18/.m2/repository/info/cukes/cucumber-html/0.2.3/cucumber-html-0.2.3.jar:/Users/as18/.m2/repository/info/cukes/cucumber-jvm-deps/1.0.5/cucumber-jvm-deps-1.0.5.jar:/Users/as18/.m2/repository/info/cukes/gherkin/2.12.2/gherkin-2.12.2.jar:/Users/as18/.m2/repository/info/cukes/cucumber-java8/1.2.5/cucumber-java8-1.2.5.jar:/Users/as18/.m2/repository/info/cukes/cucumber-java/1.2.5/cucumber-java-1.2.5.jar:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner -s ImmutableMethodUnitSpecs -testName "stubs ImmutableMethod" -showProgressMessages true -C org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestReporter
Testing started at 10:12 AM ...

ImmutableMethodUnitSpecs$$anonfun$1$$anon$1.mock$dream$0()
java.lang.NoSuchMethodException: ImmutableMethodUnitSpecs$$anonfun$1$$anon$1.mock$dream$0()
	at java.lang.Class.getMethod(Class.java:1786)
	at ImmutableMethodUnitSpecs$$anonfun$1.apply(ImmutableMethodUnitSpecs.scala:15)
	at ImmutableMethodUnitSpecs$$anonfun$1.apply(ImmutableMethodUnitSpecs.scala:11)
	at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
	at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
	at org.scalatest.Transformer.apply(Transformer.scala:22)
	at org.scalatest.Transformer.apply(Transformer.scala:20)
	at org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186)
	at org.scalatest.TestSuite$class.withFixture(TestSuite.scala:196)
	at ImmutableMethodUnitSpecs.org$scalamock$scalatest$AbstractMockFactory$$super$withFixture(ImmutableMethodUnitSpecs.scala:9)
	at org.scalamock.scalatest.AbstractMockFactory$$anonfun$withFixture$1.apply(AbstractMockFactory.scala:35)
	at org.scalamock.scalatest.AbstractMockFactory$$anonfun$withFixture$1.apply(AbstractMockFactory.scala:34)
	at org.scalamock.MockFactoryBase$class.withExpectations(MockFactoryBase.scala:53)
	at ImmutableMethodUnitSpecs.withExpectations(ImmutableMethodUnitSpecs.scala:9)
	at org.scalamock.scalatest.AbstractMockFactory$class.withFixture(AbstractMockFactory.scala:34)
	at ImmutableMethodUnitSpecs.withFixture(ImmutableMethodUnitSpecs.scala:9)
	at org.scalatest.FunSuiteLike$class.invokeWithFixture$1(FunSuiteLike.scala:183)
	at org.scalatest.FunSuiteLike$$anonfun$runTest$1.apply(FunSuiteLike.scala:196)
	at org.scalatest.FunSuiteLike$$anonfun$runTest$1.apply(FunSuiteLike.scala:196)
	at org.scalatest.SuperEngine.runTestImpl(Engine.scala:289)
	at org.scalatest.FunSuiteLike$class.runTest(FunSuiteLike.scala:196)
	at org.scalatest.FunSuite.runTest(FunSuite.scala:1560)
	at org.scalatest.FunSuiteLike$$anonfun$runTests$1.apply(FunSuiteLike.scala:229)
	at org.scalatest.FunSuiteLike$$anonfun$runTests$1.apply(FunSuiteLike.scala:229)
	at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:396)
	at org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384)
	at scala.collection.immutable.List.foreach(List.scala:383)
	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
	at org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:379)
	at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461)
	at org.scalatest.FunSuiteLike$class.runTests(FunSuiteLike.scala:229)
	at org.scalatest.FunSuite.runTests(FunSuite.scala:1560)
	at org.scalatest.Suite$class.run(Suite.scala:1147)
	at org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560)
	at org.scalatest.FunSuiteLike$$anonfun$run$1.apply(FunSuiteLike.scala:233)
	at org.scalatest.FunSuiteLike$$anonfun$run$1.apply(FunSuiteLike.scala:233)
	at org.scalatest.SuperEngine.runImpl(Engine.scala:521)
	at org.scalatest.FunSuiteLike$class.run(FunSuiteLike.scala:233)
	at org.scalatest.FunSuite.run(FunSuite.scala:1560)
	at org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:45)
	at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1340)
	at org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1334)
	at scala.collection.immutable.List.foreach(List.scala:383)
	at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1334)
	at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1011)
	at org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1010)
	at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1500)
	at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010)
	at org.scalatest.tools.Runner$.run(Runner.scala:850)
	at org.scalatest.tools.Runner.run(Runner.scala)
	at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:138)
	at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Process finished with exit code 0

Reproducible Test Case
is already above.

The macros in ScalaMock effectively create an anonymous subclass of whatever you try to mock.
So the library cannot mock final methods at the moment, sorry.
If you are in control of the code in ImmutableMethodClient, you may want to write an interface with signature of dream, then create a mock of that interface instead.

This is now mentioned as a known limitation in the FAQ: http://scalamock.org/user-guide/faq/
Thanks for reporting it.

authors: barkhorn prayagupd

repo: paulbutcher/ScalaMock


text:
Want to connect to a specific device

Hi everybody. I'm implementing flutter blue on my project. In my app I just would like to connect to a specific device and, like in this comment https://github.com/pauldemarco/flutter_blue/issues/125#issuecomment-432684180 , i could put a control on the device name.
Unfortunately, in the main.dart i don't find the method _startScan().
Somebody has any idea???
Thank you

I know how to show the specific devices.You can find the codes on flutter blue widget.

Thank u. I already found a solution

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
Feature request: Insert row after a given row

Replicate
The following code activates when the user presses the Insert key:
// Insert row after selected cell using the insert key.
document.addEventListener( "keyup", function( event ) {
  if( event.which === 45 ) {
    var cell = $.fn.jexcel.selectedCell;
    var cr = get_coordinates( cell );

    // cr[1] contains the row number for the currently selected cell.
    $(TIMESHEET).jexcel( 'insertRow', 1, cr[1] );
  }
});

Expected Results
The row is added after the currently selected cell.
Actual Results
The row is added to the end of the table.
Additional Details
Having a way to insert cells into the middle of the table would be convenient, such as:
    $(TIMESHEET).jexcel( 'insertRowAfter', 1, cr[1] );
    $(TIMESHEET).jexcel( 'insertRowBefore', 1, cr[1] );

This feature has been implemented in the new version 1.5.0 (not in the master). We are in test phase... you insert a row, column related to another... with default data in. The insertColumn, insertRow, deleteRow, deleteColumn, and moveRow are now included in the history. Basically, you can undo and redo those changes without reloading the table.

authors: DaveJarvis paulhodel

repo: paulhodel/jexcel

license: mit

license_source: bigquery


text:
🛑 Hack the Gibson is down

In d641056, Hack the Gibson (https://gibson.paulynomial.com) was down:

HTTP code: 502
Response time: 10371 ms

Resolved: Hack the Gibson is back up in 1f699ed.

repo: paulkiernan/paulynomial-uptime

license: MIT


text:
The userResponder put/create does not pick up url parameters

I'm POSTing to: localhost:8080/users?name=sid with basic authentication username=username password=password, but I get a 400 response back with Missing field: name.

You should send the name in the post body with url encoded content, something like:
POST /users HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 8

name=sid

But for that to work you also have to put the url encoded parser in the specific route or in the router itself, like so:
struct ExampleServer {
    static let respond = Middleware.parseURLEncoded >>> HTTPRouter { router in
        ...
    }
}

Updated the router with this change.

Okay yeah, I tried adding it to the post body, but obviously that didn't work before your change either.

authors: paulofaria sdgandhi

repo: paulofaria/SwiftHTTPServer


text:
How do I un-gruvbox pictures?

I have a few wallpapers from "https://www.github.com/ficonni/gruvbox-cars" which are gruvbox themed using this tool but how do I undo it? Cause I would like to have a copy of the originals.

I don't think there's a way to undo, since the color mapping was lost :( Closing this issue for now

authors: YuvanMichaelVivenzi paulopacitti

repo: paulopacitti/gruvbox-factory


text:
Allow to ignore files

This add #38 support (allow to ignore some storyboards / XIBs).

Rebased and merged locally - cheers for the PR

source: gharchive/pull-request

authors: patoroco paulsamuels

repo: paulsamuels/SBConstants


text:
🛑 Converja is down

In 997dd8c, Converja (https://devops.converja.cloud) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Converja is back up in a589a33.

repo: pavanfhw/status-page


text:
Add current keyboard layout

Hi! First of all, awesome locker, thank for your work!
Can you add a small label with current keyboard layout? Because it is kinda annoying when you have to guess which language is currently in use, while trying to unlock your screen.

should be optional because many people (me for example haha) only use one keyboard layout.
If we add that it would probably be a config file option, what do you think @pavanjadhaw ?

@AUTplayed yeah we can do that

@AUTplayed yeah, sure it should be optional :) For me a config file option or a command line argument (like betterlockscreen --lock --show-layout) would be a pretty nice :+1:

This would be awesome

This would be great for me ;)

I have the same problem that sometimes I cannot unlock the screen because I am in wrong keyboard layout and there is no way to change it while in the lock screen.

Thanks for your request, this will be resolved soon, with the merge of the multi-monitor branch from the multilockscreen-fork :)

Merged with #249 into multi-monitor, so will be released as v4-beta soon :)

Hi! Thanks for the great locker!
After update to v4.2.0 I lose my layout indicator.
What happened?
How can I check it?
When I run
betterlockscreen --lock --show-layout
I got locker without layout indicator :(

authors: AUTplayed SebTM likeanowl me1ram pavanjadhaw psamim skybladeby svitkovsergey zachkont

repo: pavanjadhaw/betterlockscreen


text:
Add Timeout Option

This adds an opton to set custom monitor timeout in seconds.
Timeout only applicable during lockscreen.
Reverts back to normal timeout after logging back in.
Closes https://github.com/pavanjadhaw/betterlockscreen/issues/116

I've made the requested changes.

Allright, I will wait until it gets into future release, thanks for mention!
All the best.


text:
Another pass over the style chapter

This chapter is getting better and cleaner! This PR:

[x] Moves attribute parsing to the style function
[x] Actually implements font sizes

Ok, I implemented font sizes, including percentages. I'm not thrilled with it—the chapter is now longer than the first chapter again, and also it still incorrectly makes font sizes not inheritable in order to avoid implementing computed styles.

Ok, I did another pass on font sizes, this time implementing a minimal "computed style" mechanism. It's still not idea (even more text in a long chapter) but at least the implementation is minimally faithful to reality and works well.

I still have a few things I want to try in the style chapter to shorten and improve it:

Perhaps use the CSSParser to parse style attributes. This means the chapter ramps up slowly (bad) but also splits the long parsing section into two (good). It also leads to better code and could be a bit shorter.
Perhaps move the browser stylesheet up into the applying styles section, which will make that section more motivated and could also shorten stuff.

Another thing to perhaps change: parse and save the browser stylesheet on start instead of every time a page is loaded.

I finished a nit-picky pass through the whole document where I tried to clean up the writing. The chapter is not quite so long, but the parsing section is still tedious. I'm going to now try those three ideas I posted in earlier comments—hopefully that makes it a little less boring to read, and if it shortens the chapter a bit more I won't be too worried about the length any more.

I re-requested a review because I did a pretty big re-organization of the chapter. Not much of the content changed, but it got shifted around quite a bit. The end result is that the chapter is quite a bit shorter (just a bit over 4k words, though it's still the chapter with the most code thanks to the parser) and I think a bit clearer and less tedious as well.
I think it definitely needs a fresh read through by both of us just to make sure nothing important got lost.

Ok, I did another pass over the chapter. This time all the changes were pretty minor. I also tested stuff a bit to shake out some bugs. It's still missing two "Go Further" blocks but otherwise is pretty much ready to ship.

The "Go Further" blocks have been added. Besides linking better parsing bugs (actual news stories would be ideal!) I don't have any "todos" before publishing this chapter. Please read through it again and we can release it!

repo: pavpanchekha/emberfox


text:
fix(ui): restrict file picking via upload config mimetypes

fixes #8673
This PR restricts inputs with type="file" to only those mimetypes specified in collection upload configs. This also works for the input in bulkUpload and drag-and-drop capabilities by omitting dropped files if they do not conform to the upload config mimetypes. This PR also assumes that an upload config with an empty mimetype array should accept all files since the negation of that statement makes an upload collection redundant.

Hey @akhrarovsaid thanks for this, I think this is a great change. Quick question, when accept={undefined} does that allow any file type to be added? I would think/hope so but figured you could just confirm that before I merge this in 👍

Hey @JarrodMFlesch,
Thanks for your time and response! You're exactly right. In fact, the accept property of the HTMLInputElement has a type definition of string | undefined by default. I've made a tiny CodeSandbox here in case you'd like to see it in action.

Thanks again!

BTW:
Assuming we have 1 Media collections and we would like to filter its selection to images , this works o.k.
But if we upload other document it allows everything , does this fixes this issue as well ?

authors: JarrodMFlesch akhrarovsaid tsemachh

repo: payloadcms/payload


text:
0.4.3

Adds parseErrorMessage to HttpResourceActor so that you can override the message for the HaltException generated when reqParser fails.

:sheep: If the build passes

[info] JsonUtil should

[info] x not deserialize malformed json

[error] A counter-example is [}, ⇩] (after 66 tries - shrinked ('}崽僠?濓懒除僢ꚼꋺ搒显騳漠沫㞟ؖ䡠量뛯㜧滔樶뛺䋭뫣５넹鐴폎棃犎?㱘陌' -> '}','Ⳏꩤ콕쒢욐ኋ႑祗膽깥⦺닂츞寃ㅳ﯁媝䪾댐牤' -> '⇩'))

[error] 'Success(Map())' is not a Failure (JsonUtilSpecs.scala:381)

Looks like an intermittent failure?

Now I'm getting sbt.ResolveException: download failed: org.slf4j#jul-to-slf4j;1.7.7!jul-to-slf4j.jar. I'm going to release regardless of this.

repo: paypal/cascade


text:
[Question] Rails migrations and Data migration possible conflicts

Hi! I have a question:
How can this gem work if migrations are not run alongside Rails migrations?
note alongside meaning: all migrations (Rails ones and data ones) run together in chronological order looking at the timestamps
Case scenario:
I have these Rails migrations

create table dogs
create table cats
remove table dogs

And these data migrations

add dog1
add dog2
add cat1
remove dog1 and dog2

If I run rake db:migrate and then rake seed:migrate.
As soon as I run the second command, how can first data migration run at all?
dogs is no longer there.

hey @ClaudioCarmeli , you have a valid point and I was able to replicate your issue too.
here is the repo
A quick solution I came up with was to override the up and down methods in migrator.rb and rescue any errors.
This of course used with caution since it sinks all the errors. However following are the  steps to implement this approach.

create a file in config/initializers (with any name)
override the up and down methods

#config/initializers/seed_migration_error_handler.rb

module SeedMigration
  class Migrator
    original_up = instance_method(:up)
    original_down = instance_method(:down)

    define_method(:up) do
      begin
        original_up.bind(self).()
      rescue
      end
    end

    define_method(:down) do
      begin
        original_down.bind(self).()
      rescue
      end
    end
  end
end

before

after

ref for the awesome SO answer
@pjambet , if you think this can be a potential solution, I'm happy to do it in a proper way and maybe add a config option to decide if the user wants to skip the error or not, let me know your thoughts.

Hi,
This is an interesting and is indeed a bit "dangerous" as you mentioned. I might have to think about it a bit more to decide if this is a use case that could be used as option to skip errors or not as you suggested.
I haven't used this gem in a while, so I forgot the actual workaround, but I believe that there is potentially a way to run the migrations in your example.
IIRC running rake seed:migrate (if successful) will end up refreshing the content of db/seeds.rb, even if no migrations were run.
So, you could technically "fake" the fact that some data migrations have been run by "manually" inserting them in the data_migrations, and that way rake seed:migrate would skip them.
Using this trick can be useful to get out of tricky situations, but I don't know if this is a common use case.
In your case I would have expected the flow to be:

Run schema migration:  create table dogs
Run data migration: add dog1
Run data migration: add dog2 (seeds.rb now contains two entries for dogs)
Run schema migration: create table cats
Run schema migration remove table dogs
Unregister the dog model in the config file
Run rake seed:migrate, the seeds.rb file does not contain any entries for the dog model anymore
Run data migration: add cat1

Let me know if I missed anything.

@pjambet , Yes you are right, When I think about it more, I think this is not an everyday problem and cases like this is common to any data addition process.
Even a db seed will fail if there is no table . (and Ideally it should too)
So, I agree with you on not having my above workaround as a feature on the gem itself. :)

What's the problem of running the seed:migrate and db:migrate chronologically alongside eachother?

If you remove the table later you likely need to edit your seeds.  DB migrations should be squashed down (see the squasher gem), because of the maintenance overhead of keeping the code in them "runnable", which often isn't even desirable.  DB seed migrations should follow the same concept, IMO.  If you have a use case that needs to create the records, and then remove the table, effectively interleaving seed_migrations with db migrations, that will need special attention, but I am not sure this gem would attempt to address it.
I know in my use case seed migrations use alpha-numeric sorting for order, while rails db migrations use a date stamp, so interleaving wouldn't work at all, and indeed the intent is for the seeds to run after the db migrations are complete.  I expect this use case is the most common.
If someone can make a PR that makes them run chronologically, if appropriately named with timestamps, as an option, I'd be happy to review it!

Closing this for now, but feel free to submit PRs, or other issues with ideas for enhancement.

authors: ghost pboling pjambet sameera207 vhoyer


text:
DI: Container - register by interface

We had a conversation about the difference between registering by name and registering by interface. I passed some motivations, stating that:

when you place a interface into inject object (ie. use annotation), both your IDE and static code analyzer know what fields & methods it has (great!),
there are times when you don't have possibility to provide an interface that all implementations inherit from (with factory methods in particular); then you can use registering by name,

And now I have the ultimate reason to differ between interface & name registration. Consider following example (exaggerated a bit, but only a tiny):
class ISession:

    @property
    def id(self): ...
    def save_data(self, key, data): ...
    def get_data(self, key): ...

class RedisSession:
    ...  # implementation

class ISessionWithUser(ISession):
    user: entities.User

class UserRedisSession(ISessionWithUser):
    ...  # implementation

# registering sub-interface
container.register_by_interface(ISessionWithUser, UserRedisSession)
# ... allows finding them with their parent interface
container.find_by_interface(ISession)
# >>> returns UserRedisSession instance even though its registration
# interface was more specific than the one given at the lookup call

Three notes:

do you want to implement this use case in this issue or is it enough for you?
here I see some benefit using a decorator to indicate that something is an interface for something: you do not have to look every time in the runtime iff queried interface has some subclass which provides a constructor
we already have an util to find all subclasses of a class (pca.utils.inspect.get_all_subclasses), so it isn't too hard to implement
if getting all sub-interfaces sounds time-consuming, you could use registration time (ie. application startup time; as then exist all super-interfaces of registered interface).

Eventually, described feature is just an application of Liskov Substitution Principle to our Dependency Injection solution.
Tell me what do you think about this.
Originally posted by @lhaze in https://github.com/pcah/python-clean-architecture/pull/19#issuecomment-441491106

Food for thoughts:
I've noticed lately I have a few use-cases of the register by interface feature more. There will be cases when I would want to request a DI object based on a generic interface, not only a concrete interface. Generic in the meaning of typing, i.e.
class MyInteractor:
    input: InputPort[MyCommand] = Inject()

so the interface of input not only is some InputPort interface, but a specific InputPort[MyCommand]. This may mean that there's a
container.register_by_interface(InputPort, MyInputPort)

constructor, that takes MyCommand as an argument. How to place this use-case within our design?

I wasn't sure where to put this question so I chose what seemed to be a relevant enough issue! But let me know if you want me to move this question somewhere else.
Uncle Bob describes the "wiring" of dependencies as a responsibility of "main" (application). If "main" belongs to the outer circles of the clean architecture, and use cases (interactors) belong to an inner circle, shouldn't it be disallowed to have MyInteractor know about the concept of Inject()? You seem to be creating a dependency from an inner circle (the interactor) to an outer one (the di container) which breaks the dependency rule. Would love to know what you folks think about this use. Did I misread the example code?

After the refinement:
The issue here is to split.

Task (a): registering super-types of the interface

up to object or sth custom?

Task (b): what to do with generic types as interfaces?

@ms-lolo
Hello! It's always nice to hear a good question. I'm sorry you'd had to wait so long to get a response. Let me explain why. Lately, only I was working on the library as the other colleagues are all involved with the main project we do and their private lives. Which is completely understandable. Additionally, the passing year was not so productive, as I was experiencing time of grief and sorrow in my family life. Long story short: I expect to be progressively more active here from now on, and if you want to see some more actions here, you are welcome to help.

authors: jakos lhaze ms-lolo

repo: pcah/python-clean-architecture


text:
Puppeteer startup question

yo yo
for lack of a better communication method I'll use issues :-)
 if (process.env.CI) {
        arguments_.args.push(
          `--disable-extensions-except=${metamaskPath}`,
          `--load-extension=${metamaskPath}`,
        );
      }

just curious... any reason for adding this snippet to plugins/index.js? I see that Synpress doesn't do that.

Hello. The main reason was the folllowing: https://stackoverflow.com/a/67050433

Gotcha! I don't think it actually does anything...
Anyway, I've decided to simplify whole setup and instead of interacting with MetaMask via Puppeteer inject a mocked window.ethereum object (which is where MetaMask is injected by the extension) and interact with it programmatically. That way I can get rid of Puppeteer and have the tests executing faster and more reliable. Plus, there's no need to hack Cypress anymore :-)
Lmk if you're interested in some info!

send a PR so i can take a look and test.

I thought a bit about it and I think I will try to add support to mocked function onto the cypress. I will read the documentation to start with.

authors: Tofel pcardosolei

repo: pcardosolei/cypress-metamask-plugin


text:
Implement from and to commands for known input files

The idea is to have at least,
vlattice from (vampire|vegas-bowie) [input]

and the poposite
vlattice to (vampire|vegas-bowie) [input]

then we can have pipelines like,
vlattice from vampire input.txt | vlattice expand 10 10 10 | vlattice to vampire --output expanded.txt

Re written to individual issues #32 #31 #15

repo: pcm-ca/vegas-lattice-rs


text:
Suggestion: Load some type of default cover art when track's real art fails to load.

This is now fixed properly - some tunes do not have artwork e.g. http://open.spotify.com/track/5s6qgp5vWymlPntlYxXF2Q - this now loads a blank icon instead.

authors: bgod pdaddyo

repo: pdaddyo/soundbounce


text:
Add border properties to the schema

Please check this discussion post -> https://github.com/pdfme/pdfme/discussions/148

If combined well, we might be able to use it for a table
ref: https://yogalayout.com/

ref: https://github.com/pdfme/pdfme/issues/272

This implementation is unnecessary. It's sufficient to draw borders in the table implementation .
There's no need to affect all schemas.
Close.

repo: pdfme/pdfme


text:
🛑 Garage App API is down

In e797bea, Garage App API ($GARAGE_API_URL) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Garage App API is back up in 156a74e.

repo: pdroll/upptime


text:
Userguideupdates pull request

Summary

Made changes to user guide documentation, adding new classes and attributes, made editorial changes to LDD XML file.
Test Data and/or Report

Modified valid test labels to test new features
Related Issues

n/a

PR #23 merged

authors: katecrombie sarabond

repo: pds-data-dictionaries/ldd-ml


text:
🛑 Harrison Davis (The Trial Lawyers) is down

In 378644e, Harrison Davis (The Trial Lawyers) (https://www.thetriallawyers.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harrison Davis (The Trial Lawyers) is back up in 7cd6d9b.

repo: pearanalytics/uptime


text:
🛑 Elizabeth Harris is down

In 851c8f7, Elizabeth Harris (https://eharrismd.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Elizabeth Harris is back up in a7e0d6f.


text:
Request for Traefik Docker Compose Labels

Issue Description:
I'm currently utilizing Cloudflare DNS and TLS within my Traefik setup, but I'm facing challenges when attempting to configure these aspects using Traefik labels within my Docker Compose file. I would greatly appreciate guidance and assistance in establishing the requisite labels to ensure the seamless functioning of this configuration.
Problem Overview:
My Traefik setup involves routing traffic to both Kibana and Elastic. To maintain secure internal connections, both Kibana and Elastic mandate TLS for incoming requests. I'm currently encountering difficulties in configuring Traefik labels to effectively handle self-signed certificates and manage TLS for these services.
Request:
I kindly request assistance in providing the necessary Docker Compose labels for ensuring the successful operation of self-signed certificates with Traefik.
Thank you for your support.

Thanks for checking out the project, @ksecurity45
I don't know the labels that you'd need for Traefik. I'm sure you may have already searched, but maybe this will help.
That said, this isn't an issue with the project, I'm going to close this.

repo: peasead/elastic-container


text:
Unhandled exception with tls socket

Hi Pedro,
you should add a catch for the UnsupportedOperationException, in RTMPConnection.java class:
private void shutdown(boolean r) {
    if (socket != null) {
      try {
        // shutdownInput() and shutdownOutput() raise UnsupportedOperationException in Android API 22.

        // It will raise EOFException in handleRxPacketThread
        socket.shutdownInput();
        // It will raise SocketException in sendRtmpPacket
        socket.shutdownOutput();
      } catch (IOException | UnsupportedOperationException e) {
        e.printStackTrace();
      }

Bye bye!
Giuseppe

fixed: https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/commit/422bd354df120471e8165e698871db542f30f8bf


text:
Bump ember-modifier to v3

Without this we can't update bunch of other addons in our app depending on ember-modifier.
This probably is breaking change for consumers

@miguelcobain resolved conflicts, this is now ready for review

repo: peec/ember-css-transitions


text:
🛑 AVIS C is down

In 9fb6c15, AVIS C (https://csscoquimbo.avislatam.com/modulos/login/index.cfm) was down:

HTTP code: 0
Response time: 0 ms

Resolved: AVIS C is back up in 151380e after .


text:
🛑 API MERCADO PUBLICO is down

In 3da82a9, API MERCADO PUBLICO (https://api.mercadopublico.cl/servicios/v1/publico/ordenesdecompra.json?fecha=30122022&CodigoOrganismo=7312&ticket=E1951384-BF88-4EE5-8C33-934680281626) was down:

HTTP code: 500
Response time: 827 ms

Resolved: API MERCADO PUBLICO is back up in 0d84d23 after 37 minutes.


text:
🛑 Beyond.pl is down

In 839900e, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in 13be334.

repo: pejotes/upptime


text:
🛑 Beyond.pl is down

In 3bb5b43, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in 5916ca6.


text:
🛑 Beyond.pl is down

In 5ec86a0, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in 0527198 after 21 minutes.


text:
🛑 Beyond.pl is down

In e623d54, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in a3ee598 after 11 minutes.


text:
🛑 Beyond.pl is down

In 109e763, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 403
Response time: 397 ms

Resolved: Beyond.pl is back up in 7102656 after 10 minutes.


text:
🛑 Beyond.pl is down

In d1c6916, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in 76b4ece.


text:
Add Return information to docstring.

Docstring now doesn't contain a returns: section, which would make it a little more official.
Ideally, we'd include more information about the types of things that go into the functions as arguments, including the data payload, etc. That may involve more knowledge about Python than this library currently pretends to.
In addition, we should be able to include some information in the returns section about the kind of object likely to get returned.

Use Data.Typeable for this?
Prelude> import Data.Typeable
Prelude Data.Typeable> show $ typeOf 5
"Integer"
Prelude Data.Typeable> show $ typeOf (5 :: Int)
"Int"

repo: pellagic-puffbomb/servant-py


text:
🛑 Dinas Sosial is down

In ae4b5a1, Dinas Sosial (https://dinsos.bekasikota.go.id) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Dinas Sosial is back up in e8763ba.

repo: pemkotbekasi/website-status


text:
请问如何设置ipad界面的正文字体大小？

我试着调整
:root {
--ct-text-size:18px;
}
Mac 下正文能调整，但是在ipad上面不起作用。请问如何设置ipad界面的正文字体大小？

https://github.com/pengx17/logseq-dev-theme/issues/33#issuecomment-1043050146 试试改一下这里看看？


text:
无法生成 support 64-bit abi 任务

问题如下
class Bit64Feature {

    void apply(Project project) {
        project.afterEvaluate {
            // 1. Find the task merge[BuildVariants]NativeLibs
            Task mergeNativeTask = null;
            for (Task task : project.getTasks()) {

                if (task.name.startsWith("merge") && task.name.endsWith("NativeLibs")) {
                    mergeNativeTask = task
                }
            }

            if (null == mergeNativeTask) {
                return
            }

…………

调试了下，project.getTasks() 返回的是 TaskContainer 对象，会导致 mergeNativeTask 为空的，生成不了检查 abi 的task的
使用的 gradle 版本和 gradle 插件版本如下
compile 'com.android.tools.build:gradle:4.1.2'
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip

我这边也是用不了：
classpath 'com.android.tools.build:gradle:3.5.3'
distributionUrl=https://services.gradle.org/distributions/gradle-6.2-all.zip

classpath 'com.android.tools.build:gradle:3.5.3'
distributionUrl=https://services.gradle.org/distributions/gradle-6.2-all.zip

感谢测试。以上配置这边测试可以生成 task，可以检查下是否找对位置哈，或者提供更多信息方便排查，谢谢。

compile 'com.android.tools.build:gradle:4.1.2'
distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip

感谢测试。以上配置这边测试可以生成 task，可以检查下是否找对位置哈，或者提供更多信息方便排查，谢谢。

AS 版本 Arctic Fox 2020 3.1 patch 3版本
compile 'com.android.tools.build:gradle:4.1.2'
distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip
没有生成task

问题已处理
Bit64Feature 类在自定义 Plugin 类 apply 方法中引用排列的问题
以下编写是存在问题的
class ApplicationPlugin extends BasePlugin {

    @Override
    void apply(Project project) {
        super.apply(project)
        // 在第一行引入
        new Bit64Feature().apply(project)
        applyAndroidApplication()
        applyAndroidSetting()
        applyApplicationSetting()
        applyKotlin()
        applyDependencies()
        ……
    }
}

以下编写则没有问题
class ApplicationPlugin extends BasePlugin {

    @Override
    void apply(Project project) {
        super.apply(project）
        applyAndroidApplication()
        applyAndroidSetting()
        applyApplicationSetting()
        applyKotlin()
        applyDependencies()
        //最后一行
        new Bit64Feature().apply(project)
        ……
    }
}

感谢测试，你这边的 issue 是自定义插件出问题是吗

是的

可以找到这个task,但是执行这个task会一直报这个错误，为什么呢？

@Myxiaoli 感谢测试。这个问题是 Android Studio 4.1.2 版本兼容问题，EasyPrivacy 最新版本 v1.0.5 已经兼容哦。

@Myxiaoli 感谢测试。这个问题是 Android Studio 4.1.2 版本兼容问题，EasyPrivacy 最新版本 v1.0.5 已经兼容哦。

authors: Myxiaoli TmRobust bhd119 kezhian pengxurui

repo: pengxurui/EasyPrivacy


text:
[PPP-4108] - Use of vulnerable component jackson-databind-2.8.8.jar, …

…jackson-databind-2.9.2.jar, jackson-mapper-asl-1.9.2.jar CVE-2017-7525, CVE-2017-15095, CVE-2017-15095
@mbatchelor, @pamval, could you please take a look?

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'engine,plugins/json/core,plugins/repositories/core,plugins,plugins/file-open-save' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine,plugins/json/core,plugins/repositories/core,plugins,plugins/file-open-save' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  assemblies/lib/pom.xml
  engine/pom.xml
  plugins/file-open-save/pom.xml
  plugins/json/core/pom.xml
  plugins/pom.xml
  plugins/repositories/core/pom.xml

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.4% :small_red_triangle_down:
Line Change: -3.8% :small_red_triangle_down:

org.pentaho.di.trans.step.BaseStep

Branch Change: -0.5% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:
Method Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.step.StepStatus

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -1.6% :small_red_triangle_down:
Instruction Change: -1.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.7% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -3.9% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:
Line Change: -0.4% :small_red_triangle_down:

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceinsert.SalesforceInsertMeta

Instruction Change: -0.1% :small_red_triangle_down:

@mbatchelor, @pamval, @pentaho-lmartins any updates?

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'engine,plugins/json/core,plugins/repositories/core,plugins,plugins/file-open-save' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine,plugins/json/core,plugins/repositories/core,plugins,plugins/file-open-save' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  assemblies/lib/pom.xml
  engine/pom.xml
  plugins/file-open-save/pom.xml
  plugins/json/core/pom.xml
  plugins/pom.xml
  plugins/repositories/core/pom.xml

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.4% :small_red_triangle_down:
Line Change: -3.8% :small_red_triangle_down:

org.pentaho.di.trans.step.BaseStep

Branch Change: -0.5% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:
Method Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.step.StepStatus

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -1.6% :small_red_triangle_down:
Instruction Change: -1.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.csvinput.CsvInputMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Branch Change: -2.6% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.symmetriccrypto.symmetriccryptotrans.SymmetricCryptoTransMeta

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -1.8% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.tableoutput.TableOutputMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:

org.pentaho.di.www.TransformationMap

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1.6% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupdate.SalesforceUpdateMeta

Instruction Change: -0.2% :small_red_triangle_down:

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'engine,plugins/json/core,plugins/repositories/core,plugins,plugins/file-open-save' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine,plugins/json/core,plugins/repositories/core,plugins,plugins/file-open-save' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  assemblies/lib/pom.xml
  engine/pom.xml
  plugins/file-open-save/pom.xml
  plugins/json/core/pom.xml
  plugins/pom.xml
  plugins/repositories/core/pom.xml

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.checksum.CheckSumMeta

Branch Change: -1.3% :small_red_triangle_down:
Complexity Change: -1.4% :small_red_triangle_down:

org.pentaho.di.trans.step.BaseStep

Branch Change: -0.5% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:
Method Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.step.StepStatus

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -1.6% :small_red_triangle_down:
Instruction Change: -1.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.webservices.WebServiceMeta

Branch Change: -1.7% :small_red_triangle_down:
Complexity Change: -1.2% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.www.TransformationMap

Branch Change: -2.3% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.8% :small_red_triangle_down:
Line Change: -0.7% :small_red_triangle_down:

org.pentaho.di.trans.steps.gpload.GPLoadMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupdate.SalesforceUpdateMeta

Instruction Change: -0.2% :small_red_triangle_down:

authors: YuryBY wingman-pentaho

repo: pentaho/pentaho-kettle


text:
Check that all fees are burned, not just the base fee

Is your feature request related to a problem? Please describe.
The fee mechanism is designed to have a protocol-required base fee amount. Any fee above that amount is a proposer tip. However, to save complexity prior to mainnet, we should avoid implementing proposer tip distributions, and simply burn the entire fee. The intended behavior can be implemented in a later chain upgrade.
Describe the solution you'd like
Ensure that we burn the entire fee amount, so that validator distributions are not used.

We don't do any tracking of proposer tips but the scaffolding to make this happen exists. It is tracked in #3633 and leans on the [distribution + funding] component stack, which should be memorialized in an ADR soon.
Since there's no protocol tracking of the tips, the entire fee amount is burned, even the part that is in excess of the base fee.

authors: erwanor hdevalence

repo: penumbra-zone/penumbra


text:
TransactionView: summary of transaction effects

Describe your changes
References https://github.com/penumbra-zone/penumbra/issues/4939

Issue ticket number and link
Checklist before requesting a review

[x] I have added guiding text to explain how a reviewer should test these changes.

[x] If this code contains consensus-breaking changes, I have added the "consensus-breaking" label. Otherwise, I declare my belief that there are not consensus-breaking changes, for the following reason:

@hdevalence Is this sufficient for pre-confirmation simulation, or would we also require a TransactionPlan::summary()? The current implementation of TransactionView::summary(&self) operates on a TransactionView, which relies on a fully-formed transaction (Tx + TxP = TxV).

change base to release/v0.81.x?


text:
project_level should not use sample_name as a record identifier

Recently discovered that project level pipelines in pipestat still required a sample_name as a record_identifier when using functions such as pipestat.report. This does not make sense for project level.
Therefore:

[ ] remove sample name from project table field definitions for DB backend.
[ ] ensure that project level pipelines use project_name when reporting results, retrieving, etc.

More many place in the current code, this is as simple as adding this check:
pipeline_type = pipeline_type or self.pipeline_type
if pipeline_type == 'project':
    sample_name = project_name or self.project_name

This is mostly done with PR: https://github.com/pepkit/pipestat/pull/68
Ultimately, we check the pipeline type and then use either the sample_name or the project_name as the record identifier but either is passed in as the sample_name.
Next steps would be to refactor such that the input to the functions is record_identifier or r_id.

This work will be completed with the merging of https://github.com/pepkit/pipestat/issues/78

repo: pepkit/pipestat


text:
Legend

Hi,
it's possible to have legend in left like this :

@nseb the legend can be located into top, bottom, right and left. But it's not part of axes, as you drawed

My result :-(, I create in issue enhancement in chart.js ?

@nseb yes you can. Seeing your first sample, why don't to have something like that ?

@nseb What do you think? Close to what you are looking for?
Bone by Charba with a TickCallback and a puglin.

exactly, did you develop an extension?
Look what I did, tab stats, thanks for watching on a tablet or mobile, because verson pc I did not work the style:
https://www.ukart.io/#!/race/183/run/2318

Not really an extension. I'm adding the capabilitty to get all information from CHART JS instance (for instance the size of boxes, like legends, axis and so on). With this data and using a plugins, I can draw into canvas whatever and wherever I want.
I'm gonna have a look. We are developing something similar (as dashboard) on GWT MAterial but we didn't have those behaviours

therefore, it makes a lot of code to do this dashbard if you redraw everything, right?

well, if you redraw everything, you could have effort to do it. What are you using as base components for your dashboard? MaterialMasonry?

MaterialMasonry -> MaterialColumn->MaterialCard (with chart in MaterialCardImage).

@stockiNail  , you can share your code example to realize if that will not make my app heavier?

@nseb sorry but that application  is not open source and I can not.

@stockiNail  , no problems I understand

@nseb here are the instructions to have the chart as  above described.
Set padding on top and right to be able to have space to write the "values" on right part of chart and disable the legend.
chart.getOptions().getLegend().setDisplay(false);
chart.getOptions().getLayout().getPadding().setTop(40);
chart.getOptions().getLayout().getPadding().setRight(40);

The values to put on AXIS, you could set the label of each datasets with the tick to put into axis.
dataset.setLabel(TICKS[i]);

Then you can create an axis setting the "reverse"to true and adding a tickcallback in order to put the dataset labels as ticks of axis:
CartesianLinearAxis axis2 = new CartesianLinearAxis(chart);
axis2.setDisplay(true);
axis2.getTicks().setReverse(true);

axis2.getTicks().setCallback(new TickCallback() {

	@Override
	public String onCallback(AbstractChart<?, ?> chart, TickItem item) {
		List<Dataset> dss = chart.getData().getDatasets();
		Dataset ds = dss.get(item.getIndex());
		return ds.getLabel();
	}
});

Then we could add a specific plugin which will add to the canvas the label on right about standing. This plugin is leveraging on new features of Charba to get the info from CHART.JS chart instance about sizing, dimensions and other values.
AbstractPlugin p = new AbstractPlugin() {

	@Override
	public String getId() {
		return "standings";
	}

	/* (non-Javadoc)
	 * @see org.pepstock.charba.client.plugins.AbstractPlugin#onAfterDatasetsDraw(org.pepstock.charba.client.AbstractChart, double)
	 */
	@Override
	public void onAfterDatasetsDraw(AbstractChart<?, ?> chart, double easing, JavaScriptObject options) {
		final int padding = 30;
		final int datasetsCount = chart.getData().getDatasets().size();
		Context2d ctx = chart.getCanvas().getContext2d();

		ScaleItem scaleX = chart.getChartNode().getScales().getItems().get(ScalesNode.DEFAULT_X_AXIS_ID);
		ScaleItem scaleY = chart.getChartNode().getScales().getItems().get(ScalesNode.DEFAULT_Y_AXIS_ID);

		int heightAmongLabels = (scaleY.getBottom() - scaleY.getTop()) / (datasetsCount-1);

		int x = scaleX.getRight() + padding;
		int y = scaleY.getTop();
		for (int i=0; i<datasetsCount; i++) {
			int index = i + 1;
			ctx.setFillStyle("rgb(0, 0, 0)");
			ctx.setFont("22px bold Helvetica Neue");
			ctx.setTextAlign(TextAlign.CENTER);
			ctx.setTextBaseline(TextBaseline.MIDDLE);
			ctx.fillText(String.valueOf(index), x, y);
			y = y + heightAmongLabels;
		}
	}
};
try {
	chart.getPlugins().add(p);
} catch (InvalidPluginIdException e) {
	// exception
}

Here is a temporary version of Charba 1.5.
charba-1.5.zip

authors: nseb stockiNail

repo: pepstock-org/Charba


text:
calls to std error() don't trigger ErrorHandling usage in eclipse plugin

See std Image.wurst:

It works for me. I assume this is the Image.wurst file from the StdLib.

repo: peq/WurstScript


text:
Twig template error when fieldValue is set to null

The new code sets the value of fieldValue to null if it is undefined, which breaks the template.
The template tries to ensure fieldValue is defined before accessing it, but Twig treats null as defined. This lead to the following:

fieldValue is defined -> true
fieldValue is not null -> false

So the checks for fieldValue should probably be updated to null checks, instead of defined checks.

My project's composer.json file still uses the old name rias/craft-colour-swatches and the fix for this error seems to have been pushed under percipioglobal/craft-colour-swatches. composer update is not able to see the version with the fix.
What can I do to get the fixes?

My project's composer.json file still uses the old name rias/craft-colour-swatches and the fix for this error seems to have been pushed under percipioglobal/craft-colour-swatches. composer update is not able to see the version with the fix.
What can I do to get the fixes?

authors: JordyHeemskerk architchandra

repo: percipioglobal/craft-colour-swatches


text:
Fix checks for PXC images in e2e functions and tests

I have split it into two because some versions of sed don't support "|" operator.
First one works on images from operator dockergub and second one works on images from PXC dockerhub.
Here's a quick test:
$ cat test.txt
    image: percona/percona-xtradb-cluster-operator:1.4.0-pxc8.0
    image: percona/percona-xtradb-cluster-operator:1.4.0-pxc
    image: percona/percona-xtradb-cluster:8.0.18-9.3
    image: percona/percona-xtradb-cluster:5.7.28-31.41.2

$ cat test.txt | sed -e "s#image:.*-pxc\([0-9]*.[0-9]*\)\{0,1\}\$#image: aaa#"
    image: aaa
    image: aaa
    image: percona/percona-xtradb-cluster:8.0.18-9.3
    image: percona/percona-xtradb-cluster:5.7.28-31.41.2

$ cat test.txt | sed -e "s#image:.*\/percona-xtradb-cluster:.*\$#image: aaa#"
    image: percona/percona-xtradb-cluster-operator:1.4.0-pxc8.0
    image: percona/percona-xtradb-cluster-operator:1.4.0-pxc
    image: aaa
    image: aaa

Also fixed check for PXC image where version was expected as last string before the end of string and in new images we don't have that eg. percona/percona-xtradb-cluster:5.7.29-31.43 or percona/percona-xtradb-cluster:8.0.19-10.1.

Test name
Status

scaling
passed

recreate
passed

init-deploy
passed

storage
passed

big-data
failed

scaling-proxysql
failed

limits
passed

self-healing
passed

upgrade
passed

monitoring
passed

restore-to-encrypted-cluster
failed

monitoring-2-0
passed

demand-backup
passed

upgrade-consistency
passed

self-healing-advanced
passed

security-context
failed

affinity
passed

one-pod
passed

operator-self-healing
passed

auto-tuning
passed

scheduled-backup
failed

proxysql-sidecar-res-limits
passed

demand-backup-encrypted-with-tls
failed

Test name
Status

init-deploy
passed

limits
passed

monitoring
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

storage
passed

self-healing
passed

self-healing-advanced
passed

operator-self-healing
passed

recreate
passed

restore-to-encrypted-cluster
failed

scaling
passed

scaling-proxysql
passed

big-data
failed

demand-backup
passed

scheduled-backup
failed

upgrade
passed

upgrade-consistency
passed

security-context
passed

demand-backup-encrypted-with-tls
failed

Test name
Status

big-data
passed

scaling
failed

recreate
passed

init-deploy
passed

storage
passed

scaling-proxysql
passed

self-healing
failed

limits
passed

restore-to-encrypted-cluster
failed

monitoring
passed

upgrade
failed

demand-backup
failed

self-healing-advanced
passed

monitoring-2-0
failed

scheduled-backup
failed

operator-self-healing
passed

upgrade-consistency
passed

affinity
passed

security-context
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

demand-backup-encrypted-with-tls
failed

Test name
Status

storage
passed

self-healing
failed

init-deploy
passed

limits
passed

monitoring
passed

monitoring-2-0
failed

recreate
passed

restore-to-encrypted-cluster
failed

big-data
passed

scaling
failed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

demand-backup
passed

self-healing-advanced
passed

operator-self-healing
passed

scaling-proxysql
passed

upgrade
failed

upgrade-consistency
passed

security-context
passed

scheduled-backup
failed

demand-backup-encrypted-with-tls
failed

Test name
Status

storage
passed

big-data
passed

self-healing
failed

scaling
passed

recreate
passed

init-deploy
passed

restore-to-encrypted-cluster
failed

limits
passed

monitoring
passed

monitoring-2-0
passed

demand-backup
passed

scheduled-backup
failed

scaling-proxysql
passed

upgrade
failed

upgrade-consistency
passed

security-context
passed

self-healing-advanced
passed

operator-self-healing
passed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

demand-backup-encrypted-with-tls
failed

Test name
Status

init-deploy
passed

big-data
passed

limits
passed

monitoring
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

scaling
passed

scaling-proxysql
passed

upgrade
failed

storage
passed

self-healing
failed

recreate
passed

restore-to-encrypted-cluster
failed

demand-backup
passed

scheduled-backup
failed

upgrade-consistency
passed

security-context
passed

self-healing-advanced
passed

operator-self-healing
passed

demand-backup-encrypted-with-tls
failed

Test name
Status

storage
passed

recreate
passed

self-healing
failed

restore-to-encrypted-cluster
failed

init-deploy
passed

limits
passed

monitoring
passed

monitoring-2-0
passed

big-data
passed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

scaling
passed

scaling-proxysql
passed

upgrade
failed

upgrade-consistency
passed

security-context
passed

self-healing-advanced
passed

operator-self-healing
passed

demand-backup
passed

scheduled-backup
passed

demand-backup-encrypted-with-tls
failed

Test name
Status

scaling
passed

scaling-proxysql
passed

upgrade
failed

init-deploy
passed

limits
passed

monitoring
passed

monitoring-2-0
passed

affinity
passed

one-pod
passed

storage
passed

auto-tuning
passed

self-healing
failed

proxysql-sidecar-res-limits
passed

big-data
passed

recreate
passed

restore-to-encrypted-cluster
failed

upgrade-consistency
passed

security-context
passed

demand-backup
passed

scheduled-backup
passed

demand-backup-encrypted-with-tls
failed

self-healing-advanced
passed

operator-self-healing
passed

Test name
Status

recreate
passed

restore-to-encrypted-cluster
failed

scaling
passed

scaling-proxysql
passed

upgrade
failed

big-data
passed

init-deploy
passed

limits
passed

monitoring
passed

storage
passed

monitoring-2-0
passed

self-healing
failed

affinity
passed

one-pod
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

upgrade-consistency
passed

security-context
passed

demand-backup
passed

scheduled-backup
passed

demand-backup-encrypted-with-tls
failed

self-healing-advanced
passed

operator-self-healing
passed

authors: JNKPercona tplavcic

repo: percona/percona-xtradb-cluster-operator


text:
feat: add return type to ops

Operation now stores type information about the value it returns (if any). In order to retrieve type information from a value, one should check the operation it originates from. Builder is also fixed but the need to some kind of verifier arises as we can now easily introduce some nonsensical operations like add with no return type etc.

How can I define return type in our DSL?

You mean via rust attributes as below?
#[operation(name = "func")]
pub struct FuncOp {
    #[cfg(attribute = true)]
    name: String,
}

FYI: I updated builder to support return_type (if present)

Maybe we could impl partial eq to the Type struct?
impl PartialEq for Type {
    fn eq(&self, other: &Self) -> bool {
        // FIXME: missing checks, is it even legit?
        self.type_id == other.type_id && self.dialect_id == other.dialect_id
    }
}

Unfortunately, one test fails CC @alexbatashev
test builtin::arith::test::test_const_op ... FAILED

failures:

---- builtin::arith::test::test_const_op stdout ----
thread 'builtin::arith::test::test_const_op' panicked at core/src/builtin/arith.rs:49:9:
assertion `left == right` failed
  left: TypeId { t: 301802994567705202063018054812104903991 }
 right: TypeId { t: 115589314978753960922010515756538864574 }
stack backtrace:
   0: rust_begin_unwind
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:647:5
   1: core::panicking::panic_fmt
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/panicking.rs:72:14
   2: core::panicking::assert_failed_inner
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/panicking.rs:342:17
   3: core::panicking::assert_failed
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/panicking.rs:297:5
   4: tir_core::builtin::arith::test::test_const_op
             at ./src/builtin/arith.rs:49:9
   5: tir_core::builtin::arith::test::test_const_op::{{closure}}
             at ./src/builtin/arith.rs:26:23
   6: core::ops::function::FnOnce::call_once
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/ops/function.rs:250:5
   7: core::ops::function::FnOnce::call_once
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

failures:
    builtin::arith::test::test_const_op

test result: FAILED. 4 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

repo: perf-toolbox/tir


text:
Implement low-level MMV API and mmvdump

This will also be useful for implementing the mmvdump command and for testing MMV writing.

[x] Print string repr for unit
[x] Print string repr for mmv flags
[x] Check for invalid indom id
[x] Check for invalid item id

I actually considered this for speed, but didn't see a utility for this, since you cannot make things like indom offsets public fields. Why not implement mmvdump directly?

Ideally we should be able to do cargo install mmvdump to get the rust mmvdump binary

@suyash This would also be a better way to test the bytes of the MMV after we export it.

If we put the mmvdump implementation in src/bin, we can do cargo install hornet and then run mmvdump <file>.

Oh, sorry that slipped my mind, so you'll add client tests separately?

Let's hold off on cargo install for now, if you'll add client tests separately then this looks good to me

Also, test this against fixed ios, some are at https://github.com/performancecopilot/speed/tree/master/mmvdump/testdata

Yes, once the indom branch is merged I'll update the tests.

[ ] Print string repr for unit
[ ] Check for invalid indom id

@saurvs please document all public types, methods and fields, especially uses of ffi::CStr

Pinging @suyash @ryandoyle @cuviper for review.

@saurvs  add the todos to the PR's opening comment

@suyash Also I don't think we need to document use of CStr since it's not a public parameter anywhere, and is only used internally to read null-terminated strings from the MMV.

@saurvs I insist, any special uses of &str vs String vs CStr should be added as a comment for anyone reading the code to understand, now or in the future

Just add a single line comment in front of use ffi::CStr as // used to read null terminated strings

@saurvs for mmvdump add a test case that prints an inverted unit for example Hz from your first example, it would print it as /s. Please try to do this so I can merge this so we can get reviews in early. Good Work!

@ryandoyle you need to approve for me to be able to merge this

This is good to go from my end, @ryandoyle an unapproved review blocks the PR, please approve/add further comments

Hey @suyash, I've approved the review. Feel free to merge now.
Cheers

authors: ryandoyle saurvs suyash

repo: performancecopilot/hornet


text:
🛑 PeriodO CSV is down

In b443ca8, PeriodO CSV (https://n2t.net/ark:/99152/p0dataset.csv) was down:

HTTP code: 0
Response time: 0 ms

Resolved: PeriodO CSV is back up in 0ba6b43 after 14 minutes.

repo: periodo/periodo-status


text:
WIP: Load transaction ids into mempool from blocks from db on startup.

#382
NOTE: Such transactions should be added to separate index and not added to buffer upon download.
Alternatively they might be downloaded and added to mempool right away, before starting finalization process at all.

Rather than attempting to download transactions from previous blocks stored, why not instead have Blocks upon saving a block store all transactions down to disk?

Initially that way - download transactions on start - was easier to implement since we already have both parts: transaction ids stored in db and mechanism to download missing transactions. Now, considering that we need to separate downloading of already finalized transactions that might be not the case. Also this approach won't help in case all nodes will restarted at the same time, which unlikely but still possible.
But then I want to ask why we never saved transactions to db before?
@iwasaki-kenta

authors: a-urth iwasaki-kenta

repo: perlin-network/wavelet


text:
Document how to setup authorization

There should be more documentation explaining how to setup authorization in the OPAL client. There's plenty of documentation already available for authentication, but very little to do with authorization.
The official OPAL docs webpages should contain a section devoted to Rego authorization.
There already exists a Docker example of setting up authorization, but there's less documentation available on the Helm side. The opaStartupData option is not documented in values.yml.
A very basic Helm implementation of "authorization":
      client:
        extraEnv:
          OPAL_INLINE_OPA_CONFIG: '{"authorization": "basic", "files": ["/opt/opa/startup-data/authz.rego"]}'
        opaStartupData:
          authz.rego: |
            package system.authz
            default allow := true

Hey @jrarmstro ,
Do you want to make a PR to add this docs section ? this could be great :)

authors: RazcoDev jrarmstro

repo: permitio/opal-helm-chart


text:
percli apply should not accept silently a different project in the json and in the -p

What did you do?
Create a dashboard-with-project-b.json with project ProjectB
Run percli apply -d dashboard-with-project-b.json -p ProjectA
What did you expect to see?
I would expect an error saying that the projects are not aligned.
We could say that the project from the context takes precedence but it can be confusing if the project ProjectA is already saved in the context file and we do percli apply -f dashboard-with-project-b.json it would save in ProjectA. This is not better.
What did you see instead? Under which circumstances?
Currently this is silently creating/updating the dashboard in the ProjectB (the one from the json file)
System information
No response
Perses version
0.44.0
Perses configuration file
No response
Logs
No response

hi @celian-garcia i opened a tantative PR regard this bug, if you could take a look. Thank you.

authors: celian-garcia ying-jeanne

repo: perses/perses


text:
[IGNORE] add Julie Pagano to the team member

@juliepagano you were missing in the team member list :). Just fixing this mistake

Thank you! 🎉

authors: Nexucis juliepagano


text:
Dimension automatically set to 100 when the input field is empty.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when I set the dimension of the drawing. It automatically set to 100 as I clear the input field. This makes the process tedious as I need to make sure the input field to not evaluate to 0, like append a random non-zero number at the end of the dimension before I change the digit in front.
Describe the solution you'd like
It is better to raise some sort of error below the input field when it is evaluated to 0. Such as:
Dimension cannot be 0px. It will default to 100px.

And then only when the input form is closed, it will default to 100px when the user input evaluate to 0.
Keep up the great work! This plugin is very likely to save my academic life! You are my saviour now.

Thank you for reporting this!
Here's what's happening internally:

When the size input changes, the size of the background is updated immediately.
The background refuses to have its size set to zero and instead sets its size to 100x100.
The changed background size causes the input to update.

2ab8246632e048fbe169ab160f0c6709e12616fa should improve this by selecting changed digits at the beginning of the input.
For example, if trying to change width from 200 to 300, I might start by backspacing the 2. This still replaces the input's value with 100, but selects the 1 rather than allowing the selection to move to the end:

authors: RechieKho personalizedrefrigerator

repo: personalizedrefrigerator/js-draw


text:
Remove the console log

Hey can you please remove the console log. It stuck the console.

OR Introduce 'debug'

repo: petalvlad/angular-canvas-ext


text:
Add support to read Vault paths as Puppet resources (Hashes)

This PR adds the ability to specify a path to be recognized as a (Puppet) resource. All the folders of in the path will be recognized as a folder containing the property values and return the value as a Hash to Puppet.
This is useful for use cases where want Puppet to read the resources fully from Vault and create them using create_resources

Hi,
Is there a timeline for when you have time to start the workflows and review the PR?

I'll be honest, I'm pretty reluctant to merge this in because it seems like a pretty bad idea... is there a reason you're using Vault as a CMDB to create resources within a Puppet run?

I understand your reluctance. We had a discussion about this too. This is also the reason why we made it optional and not default. Regarding the use case: We have a variable set of users with properties that we want to store in vault. Not only the password ( or other properties) are (logical)secrets, but also the fact that the user is present or not is something that we want to keep secret. That is why we want to use vault for this.
I hope this explanation helps.

@petems Did you have time to look at our reaction? I hope this is enough to resolve your reluctance.

@petems A response would be highly appreciated.

I'll be honest, I dont think this is a good usecase so I'm going to close this as a non-merge. I'd recommend you fork or figure out a way to have it as a plugin/new module for the new functionality.

authors: hajee petems


text:
[WIP] Add mypy stubs (Fixes #240)

Thanks for taking the time to contibute to this project.  You are a star!
Checks
Before you go any further, please make sure that you have read the contributing guidelines, run the test suite and that your clone of this repository was taken after 18 October 2018.  (I had to fix up the git history and so clones before that date will have all sorts of merge issues).
Now please delete this pre-amble section and fill in the rest of the template...
Issues fixed by this PR

#240

What does this implement/fix?
This PR:

Adds stubgen-generated stubs for the following libraries:

future

Adds missing typehints that mypy complains about

Any other comments?
This is a WIP

Coverage remained the same at 97.284% when pulling 68d9c1699763eb283ada3394fdfc4390d9fa5a3b on JPTIZ:typehints into 4ae88c6684599e07766e8bfddce9cdb8f44f9e33 on peterbrittain:master.

Coverage remained the same at 97.284% when pulling 68d9c1699763eb283ada3394fdfc4390d9fa5a3b on JPTIZ:typehints into 4ae88c6684599e07766e8bfddce9cdb8f44f9e33 on peterbrittain:master.

I don't think we should be adding future stubs to asciimatics...  Have you offered them to the future package maintainer instead?

I don't think we should be adding future stubs to asciimatics...  Have you offered them to the future package maintainer instead?

Looks like they might be amenable....  https://github.com/PythonCharmers/python-future/issues/490

Looks like they might be amenable....  https://github.com/PythonCharmers/python-future/issues/490

I don't think we should be adding future stubs to asciimatics... Have you offered them to the future package maintainer instead?

Hm, didn't think about that. That could be a solution, yes. I also agree that having the stubs in our repo wouldn't be very nice.

Looks like they might be amenable.... PythonCharmers/python-future#490

Indeed haha. Time to solve a 1 and a half year old issue. Ok, so I'll send them a PR and, in the meanwhile, solve other things with this one.
Would you recommend me to send PIL a similar PR? Since Mypy complained about stubs for it as well. They also have an open issue for that: https://github.com/python-pillow/Pillow/issues/2625.

I don't think we should be adding future stubs to asciimatics... Have you offered them to the future package maintainer instead?

Hm, didn't think about that. That could be a solution, yes. I also agree that having the stubs in our repo wouldn't be very nice.

Looks like they might be amenable.... PythonCharmers/python-future#490

Indeed haha. Time to solve a 1 and a half year old issue. Ok, so I'll send them a PR and, in the meanwhile, solve other things with this one.
Would you recommend me to send PIL a similar PR? Since Mypy complained about stubs for it as well. They also have an open issue for that: https://github.com/python-pillow/Pillow/issues/2625.

Yeah - it looks like they also ground to a halt.  Might be worth pointing out that type stubs can now be used in the package according to https://www.python.org/dev/peps/pep-0561/

Yeah - it looks like they also ground to a halt.  Might be worth pointing out that type stubs can now be used in the package according to https://www.python.org/dev/peps/pep-0561/

authors: JPTIZ coveralls peterbrittain

repo: peterbrittain/asciimatics


text:
Chacon devices

Hi,
Thanks a lot for your eWeLink's work.... works fine in HASS direct out of the box for a new baby like me. I got a request.... I got some chacon devices (https://www.chacon.be/fr/objets-connectes/47-chacon-module-eclairage-intelligent-wifi-5411478530145.html) ... Maybe I am wrong, but with such kind of webrequest.... I think it woud be possible to integrate these modules into HASS.
Are you interested with ?

hi there, thanks for another validation of my work! it really means a lot 😊!
regarding your proposal, i really don't know what to say, i'm already struggling to add new devices to this component as it is, mostly because itead team did a really sh*tty job maintaining a consistency between devices, it's not hard to control them (i already got the hang of it) but the hard part is to make a general template to fit them all nicely in HA.
right now i'm working on splitting the component into different packages per HA rules and hopefully i can submit it to the main project 🤞 i think a lot of people will appreciate this change!
i really don't know how i would be able the integrate chacon devices, with sonoff i had a couple of devices on hand to kickstart the reverse engineering otherwise it'll be extremely hard to explain the steps especially if you have no experience regarding it (no offence).
i was keep thinking to open a patreon.com account and hopefully get funds to buy various smart devices and to be able to add them in HA, but i'm not very sure people will be willing to invest in this kind of stuff (a person was kind enough though to this and I'm grateful for it!) even if it's a small amount per person.
if you want to continue this discussion, please look me up on http://community.home-assistant.io/ (same username) as it's easier to chat there. feel free to close this issue as it's not quite related to this project...

authors: SeByDocKy peterbuga

repo: peterbuga/HASS-sonoff-ewelink


text:
Dalli uses MD5 which is not permitted in FIPS mode

When providing services to United States federal agencies, you must implement FedRAMP controls, one of which requires using FIPS for cryptographic operations. In Rails 5.2 work was done to remove explicit calls to MD5 and replace them with the ActiveSupport::Digest class.
As there are comments in the change log indicating Rails 5.2 support https://github.com/petergoldstein/dalli/blob/master/History.md#278, I would expect that Dalli would also implement similar mechanisms as Rails did with their mem_cache_store adapter.
https://github.com/rails/rails/blob/v5.2.0/activesupport/lib/active_support/cache/mem_cache_store.rb#L188
Perhaps instead of fixing the DalliStore class, https://github.com/petergoldstein/dalli/issues/573 should be finally completed?
However, I do notice that the Dalli::Client class also calls MD5 https://github.com/petergoldstein/dalli/blob/master/lib/dalli/client.rb#L382, and given that Dalli is intended to be used independent of Rails, I'm not sure what the correct solution would be for that. Perhaps a configuration options can be set to pass in the desired Digest class? This way a default can be set and in Rails both methods will call ActiveSupport::Digest, but in non-Rails envs the client can use whatever Digest class the user prefers. Moreover, this solution would also support older versions of Rails that may not have ActiveSupport::Digest.
I am presently working on a PR to address this oversight. I hope that you can provide guidance on how you want to move forward with a solution that makes Dalli FIPS compatible. Thank you for your time.

So I'd reframe this a bit in a couple of key ways:

I would expect that Dalli would also implement similar mechanisms as Rails did with their mem_cache_store adapter.

Not entirely sure why you'd have this expectation.
Rails 5.2 compatibility doesn't imply that a library (or more accurately, a system using that library) is or is not FedRAMP compatible.  This is further complicated by the nature of FedRAMP certification, which include multiple levels (Low, Medium, High), as well as 'tailored' levels like the Li-SaaS Tailored level.  Not to mention that you can list exceptions to the standards on your system's POA&M, and depending on your ATOs stance on that exception you may need to remediate it immediately, eventually, or not at all.
FedRAMP is complicated.

https://github.com/petergoldstein/dalli/blob/master/lib/dalli/client.rb#L382

The line you reference is not used for identity, access control, digital signature, or any other cryptographically secure operation.   That said, because of the broad nature of NIST's definition of cryptographic operation, this line would fall under that definition.  I'm fine with making it configurable, with a default matching the historical value of MD5.
I see you've put up a PR (https://github.com/petergoldstein/dalli/pull/724), which addresses this.  I really appreciate that.   Will give some feedback there.

@petergoldstein Given that you've previously mentioned replacing the DalliStore adapater with the Rail MemCacheStore adapater, and that they're nearly functionally identical, I think the expectation that they behave the same is quite reasonable.
Yes, you're very much correct about the implications of FedRAMP. However, if one were to simply turn on FIPS mode in the process, any call to the Digest class will segfault. Consequently, even if Dalli is using MD5 in a way that doesn't implement a FedFAMP control, it's still problematic for those who would attempt FIPS compliance.
I'm happy that you're open to the change. Thank you for your time and consideration.

authors: petergoldstein saghaulor

repo: petergoldstein/dalli


text:
MongoDB Connection Test on Initial Setup doesn't get interrupted when you change tab.

Describe the bug
The MongoDB Connection Test asks you to test on Docker, Raid, and "Other". (all differing preset ways to connect to MongoDB). The problem is let's say you are on Windows and accidentally start a test on Docker tab, then proceed to the "Other" tab for Windows. You have to wait for the connection test to finish (for Docker tab), it would then fail. A user may assume this failed for the Other tab, not for the Docker tab.
To Reproduce
Steps to reproduce the behavior:

Go to '/admin' on initial setup on a non-docker Machine (or just change the "Docker" tab in next steps to something else).
Get to the MongoDB Connection Test.
Click "Test" on the Docker tab.
Proceed to the "Other" tab, and wait for the test to finish.
The user may assume the test for "Other" tab failed, not the "Docker" tab test.

Expected behavior
It would be expected that you cannot change the tab when a connection test is happening, or when you change tab cancel the test.
Screenshots
N/A
Desktop (please complete the following information):

OS: All
Browser: Firefox Developer Edition
Version: 93.0b7 (64-bit)

Smartphone (please complete the following information):
N/A
Additional context
N/A

This is a limitation of Mongoose the MongoDb driver we currently use. This may be resolved in the backend rebuild currently under way. The spinning circle also indicates the test is still in progress even when changing tabs so I wouldn't class this as a bug as Petio is still performing as expected.

authors: AshDyson rlaphoenix

repo: petio-team/petio


text:
Fix documentation for Promise.using

Some of the docs involving Promise.using were slightly mangled when migrating documentation from 2.x. This fixes #874.

:+1: This is a really nice feature that is very hard to use with the documentation currently on the website.

Thanks.

authors: benjamingr odziem tefla

repo: petkaantonov/bluebird