Unable to access MongoDB

When trying to access a MongoDB Atlas Free Tier Cluster with a Camel-K integration Java file like:
// camel-k: language=java
// camel-k: dependency=camel:mongodb
// camel-k: dependency=camel:jackson
// camel-k: dependency=mvn:org.mongodb:mongo-java-driver:3.12.10

import org.apache.camel.builder.RouteBuilder;

public class MongoDBTest extends RouteBuilder {
  @Override
  public void configure() throws Exception {
      from("timer:java?period=1000")
        .routeId("java")
        .to("mongodb:mongoBean?hosts=[shard1].mongodb.net:27017,[shard2].mongodb.net:27017,[shard3].mongodb.net:27017&username=[user]&password=[pass]&database=[dbname]&collection=[collection-name]&operation=getDbStats")
        .to("log:info");
  }
}

and deploy it with Camel K Client 1.6.0 to a camel-k-operator.v1.6.0 with the command: kamel run MongoDBTest.java --dev it results in the error:
Error processing exchange. Exchange[F6C144558CE94DA-000000000000000B]. Caused by: [org.apache.camel.component.mongodb.CamelMongoDbException - com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=<IP_ADDRESS>:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused (Connection refused)}}]]: org.apache.camel.component.mongodb.CamelMongoDbException: com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=<IP_ADDRESS>:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused (Connection refused)}}]
[3]     at org.apache.camel.component.mongodb.MongoDbComponent.wrapInCamelMongoDbException(MongoDbComponent.java:84)

it seems to be trying to connect to <IP_ADDRESS>:27017 - is there something I should add to have the integration communicate with the correct hosts?

I tried to use .bean, like so:
.bean(MongoDbComponent.class, "createEndpoint(String 'hosts=[shard1].mongodb.net:27017,[shard2].xiqat.mongodb.net:27017,[shard3].mongodb.net:27017&username=[user]&password=[pass]&database=[db]&collection=[coll]&operation=getDbStats')")

but that throws:
org.apache.camel.component.bean.AmbiguousMethodCallException: Ambiguous method invocations possible: [protected org.apache.camel.Endpoint org.apache.camel.component.mongodb.MongoDbComponent.createEndpoint(java.lang.String,java.lang.String,java.util.Map) throws java.lang.Exception] on the exchange: Exchange[]

while I thought I was eliminating ambiguity by using the type qualifier String to select among the overloaded methods.

I tried the sink kamelet and it's pod logs also show the same error, on not being able to connect to <IP_ADDRESS>:27017.

With the kamelets, you'll get some complaints before the correct connection will be done
2021-10-08 19:08:39,308 WARN  [io.qua.net.run.NettyRecorder] (Thread-0) Netty DefaultChannelId initialization (with io.netty.machineId system property set to 6b:d5:f4:43:a6:d8:c4:47) took more than a second
2021-10-08 19:08:41,106 INFO  [org.mon.dri.cluster] (main) Cluster created with settings {hosts=[<IP_ADDRESS>:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms'}
2021-10-08 19:08:42,019 INFO  [org.mon.dri.cluster] (main) Cluster created with settings {hosts=[<IP_ADDRESS>:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms'}
2021-10-08 19:08:42,710 INFO  [org.mon.dri.cluster] (cluster-ClusterId{value='61609738311ec2632f641801', description='null'}-<IP_ADDRESS>:27017) Exception in monitor thread while connecting to server <IP_ADDRESS>:27017: com.mongodb.MongoSocketOpenException: Exception opening socket
	at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70)
	at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:165)
	at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMonitor.java:195)
	at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:151)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
	at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
	at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.base/java.net.Socket.connect(Socket.java:609)
	at com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:107)
	at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79)
	at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65)
	... 4 more

2021-10-08 19:08:43,009 INFO  [org.mon.dri.cluster] (cluster-ClusterId{value='6160973a311ec2632f641802', description='null'}-<IP_ADDRESS>:27017) Exception in monitor thread while connecting to server <IP_ADDRESS>:27017: com.mongodb.MongoSocketOpenException: Exception opening socket
	at com.mongodb.internal.connection.AsynchronousSocketChannelStream$OpenCompletionHandler.failed(AsynchronousSocketChannelStream.java:124)
	at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129)
	at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:283)
	at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198)
	at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213)
	at java.base/sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:306)
	at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.net.ConnectException: Connection refused
	at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method)
	at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252)
	... 7 more

But after that you'll get the correct connection, this is something related to underlined quarkus extension
2021-10-08 19:08:54,308 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) StreamCaching is enabled on CamelContext: camel-k-runtime-examples-yaml
2021-10-08 19:08:54,609 INFO  [org.mon.dri.cluster] (main) Cluster created with settings {hosts=[<IP_ADDRESS>:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms'}
2021-10-08 19:08:54,907 INFO  [org.apa.cam.com.mon.MongoDbEndpoint] (main) Initialising MongoDb endpoint: local-mongodb-1://test?collection=log&createCollection=false&database=test&hosts=<IP_ADDRESS>&operation=insert&password=xxxxxx&username=mongoadmin
2021-10-08 19:08:55,415 INFO  [org.mon.dri.cluster] (main) Cluster description not yet available. Waiting for 30000 ms before timing out
2021-10-08 19:08:55,613 INFO  [org.mon.dri.connection] (cluster-ClusterId{value='61609746311ec2632f641803', description='null'}-<IP_ADDRESS>:27017) Opened connection [connectionId{localValue:9, serverValue:2}] to <IP_ADDRESS>:27017
2021-10-08 19:08:55,613 INFO  [org.mon.dri.connection] (cluster-rtt-ClusterId{value='61609746311ec2632f641803', description='null'}-<IP_ADDRESS>:27017) Opened connection [connectionId{localValue:10, serverValue:3}] to <IP_ADDRESS>:27017
2021-10-08 19:08:55,615 INFO  [org.mon.dri.cluster] (cluster-ClusterId{value='61609746311ec2632f641803', description='null'}-<IP_ADDRESS>:27017) Monitor thread successfully connected to server with description ServerDescription{address=<IP_ADDRESS>:27017, type=STANDALONE, state=CONNECTED, ok=true, minWireVersion=0, maxWireVersion=8, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=30, roundTripTimeNanos=804429642}
2021-10-08 19:09:00,107 INFO  [org.mon.dri.connection] (main) Opened connection [connectionId{localValue:11, serverValue:4}] to <IP_ADDRESS>:27017

I set <IP_ADDRESS> on the kameletBinding.
It's just logging, but the feature works and I think it is the same for the component.

How does it work for you to run this integration?
// camel-k: language=java
// camel-k: dependency=camel:mongodb
// camel-k: dependency=camel:jackson
// camel-k: dependency=mvn:org.mongodb:mongo-java-driver:3.12.10

import org.apache.camel.builder.RouteBuilder;

public class MongoDBTest extends RouteBuilder {
  @Override
  public void configure() throws Exception {
      from("timer:java?period=1000")
        .routeId("java")
        .to("mongodb:mongoBean?hosts=[host1:port,host2:port,host3:port]&username=[user]&password=[pass]&database=[dbname]&collection=[collection-name]&operation=getDbStats")
        .to("log:info");
  }
}

do you need further configuration, like in properties?

My test was using this
https://github.com/apache/camel-performance-tests/tree/main/profiling/kafka-mongo
Which it is using Kamelets in the route definition.
Btw I'll try to test on minikube to check

I could provide in a private message the exact MongoDB Atlas connection string I'm using, which is to a Free Tier Cluster and contains nothing important.

Kamelets are working. They have been tested for 1.6 by the way I'll try to reproduce. On minikube at least i don't see this

I tried again and cannot reproduce on the kamelets side.

I'm experiencing a somehow similar issue.
here is my kamelet binding definition:
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: mongo-to-events
  namespace: poc-workshop
spec:
  sink:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: event-display
      namespace: poc-workshop
  source:
    properties:
      collection: mycollection
      database: mydb
      hosts: 'my-mongo-mongodb.poc-workshop.svc.cluster.local:27017'
      password: M0ng0..
      persistentTailTracking: true
      tailTrackIncreasingField: _id
      username: root
    ref:
      apiVersion: camel.apache.org/v1alpha1
      kind: Kamelet
      name: mongodb-source

and here you can find the error log:
mongo-to-events-85b899f669-689sp-integration.log
I'm on version 1.6.5 of camel-k on OpenShift


Move chunks to PipelineDriver c-tor

Is this BC-breaking for the salesforce repo?

yeah, but I will fix it


add stiching option for the payload

container runtime (dockerd at least) may split long (>32K?) lines, split line does not include a newline character at the end of the "log" value:
here:
{"log":"01.08.2023 11:47:25.018 [INFO] [com.teragrep.k8s_01.KubernetesLogReader] [main] Found 1 monitored logfile definitions, reading them with maximum of 2 threads each.\n","stream":"stdout","time":"2023-08-01T11:47:25.018743252Z"}

ch.\n

if this is missing the lines should be merged.
it may require support from https://github.com/teragrep/rlo_13 because k8s_01 is stateless in that sense.

This most likely requires rlo_13 to have a plugin support where the component using it controls whether event is finished or not


Can't run the default flutter app on iphone 6 simulator

Steps to Reproduce
Create a sample flutter app on intellij and run it on iphone 6 simulator. The flutter run is failing with the following error (BEROR]No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=arm64 armv7 armv7s))
Logs
$ flutter run
Launching loader on iPhone 6...
** BUILD FAILED **

The following build commands failed:
    Check dependencies
(1 failure)

Build settings from command line:
    ARCHS = x86_64
    BUILD_DIR = /Users/sgopal1/code/flutter-app/build/ios
    ONLY_ACTIVE_ARCH = YES
    SDKROOT = iphonesimulator9.2

=== CLEAN TARGET Pods-Runner OF PROJECT Pods WITH CONFIGURATION Release ===

Check dependencies
[BEROR]No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=arm64 armv7 armv7s).

Clean.Remove clean /Users/sgopal1/Library/Developer/Xcode/DerivedData/Runner-fclhjbiqgfqnhrdjypxltcxbgqjs/Build/Intermediates/Pods.build/Release-iphoneos/Pods-Runner.build
    builtin-rm -rf /Users/sgopal1/Library/Developer/Xcode/DerivedData/Runner-fclhjbiqgfqnhrdjypxltcxbgqjs/Build/Intermediates/Pods.build/Release-iphoneos/Pods-Runner.build

Clean.Remove clean /Users/sgopal1/code/flutter-app/build/ios/Release-iphoneos/libPods-Runner.a
    builtin-rm -rf /Users/sgopal1/code/flutter-app/build/ios/Release-iphoneos/libPods-Runner.a

=== CLEAN TARGET Runner OF PROJECT Runner WITH CONFIGURATION Release ===

Check dependencies
[BEROR]No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=arm64 armv7 armv7s).

Create product structure
/bin/mkdir -p /Users/sgopal1/code/flutter-app/build/ios/Release-iphoneos/Runner.app

Clean.Remove clean /Users/sgopal1/Library/Developer/Xcode/DerivedData/Runner-fclhjbiqgfqnhrdjypxltcxbgqjs/Build/Intermediates/Runner.build/Release-iphoneos/Runner.build
    builtin-rm -rf /Users/sgopal1/Library/Developer/Xcode/DerivedData/Runner-fclhjbiqgfqnhrdjypxltcxbgqjs/Build/Intermediates/Runner.build/Release-iphoneos/Runner.build

Clean.Remove clean /Users/sgopal1/code/flutter-app/build/ios/Release-iphoneos/Runner.app
    builtin-rm -rf /Users/sgopal1/code/flutter-app/build/ios/Release-iphoneos/Runner.app

** CLEAN SUCCEEDED **

=== BUILD TARGET Pods-Runner OF PROJECT Pods WITH CONFIGURATION Release ===

Check dependencies
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=arm64 armv7 armv7s).

Could not build the application for the simulator.
Error launching DevFS loader on iPhone 6.

Flutter Doctor
$ flutter doctor
[✓] Flutter (on Mac OS, channel master)
    • Flutter at /Users/sgopal1/install/flutter
    • Framework revision a77f725504 (26 minutes ago),
    • Engine revision 9eaedb0677
    • Tools Dart version 1.21.0-dev.0.0

[✓] Android toolchain - develop for Android devices (Android SDK 24.0.0)
    • Android SDK at /Users/sgopal1/install/android
    • Platform android-N, build-tools 24.0.0
    • ANDROID_HOME = /Users/sgopal1/install/android
    • Java(TM) SE Runtime Environment (build 1.8.0_77-b03)

[✓] iOS toolchain - develop for iOS devices (Xcode 7.2.1)
    • XCode at /Applications/Xcode.app/Contents/Developer
    • Xcode 7.2.1, Build version 7C1002

[-] Atom - a lightweight development environment for Flutter
    • flutter plugin not installed; this adds Flutter specific functionality to Atom.
      Install the plugin from Atom or run 'apm install flutter'.
    • dartlang plugin not installed; this adds Dart specific functionality to Atom.
      Install the plugin from Atom or run 'apm install dartlang'.

[-] IntelliJ IDEA Ultimate Edition (version 2016.2.5)
    • Dart plugin not installed; this adds Dart specific functionality.
    • Flutter plugin not installed; this adds Flutter specific functionality.
    • For information about managing plugins, see
      https://www.jetbrains.com/help/idea/2016.2/managing-plugins.html

[✓] Connected devices
    • iPhone 6 • 50CEE37D-37EB-45C3-AFF8-3C367DA9E0E2 • ios • iOS 9.2 (simulator)

Please ignore the intellij error as i have multiple versions installed and right now using the following build
IntelliJ IDEA 2016.3 EAP
Build #IU-163.6957.12, built on October 25, 2016
JRE: 1.8.0_112-release-b408 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

For more information about diagnosing and reporting Flutter bugs, please see https://flutter.io/bug-reports/.

@chinmaygarde do you have any idea what's going on here?  I see something about pods in the output.

I am still facing this issue when running on iPhone6 simulator. Any workarounds/help would be appreciated?

I could not reproduce this locally. AFAIK, when building for the simulator, the target architecture does not have to be in VALID_ARCHS.
Can you try opening ios/Runner.xcodeproj and launching the application via Xcode? Also, if possible, try running on an actual device or a different simulator version.
I will keep a lookout for a reproducible case.

Can you try opening ios/Runner.xcodeproj

Yes, and it's failing with ld: library not found for -lPods-Runner. clang: error: linker command failed with exit code 1 (use -v to see invocation) error.

Ld /Users/sgopal1/code/flutter-app/build/ios/Debug-iphonesimulator/Runner.app/Runner normal x86_64
    cd /Users/sgopal1/code/flutter-app/ios
    export IPHONEOS_DEPLOYMENT_TARGET=8.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk -L/Users/sgopal1/code/flutter-app/build/ios/Debug-iphonesimulator -L/Users/sgopal1/code/flutter-app/ios/Flutter -F/Users/sgopal1/code/flutter-app/build/ios/Debug-iphonesimulator -F/Users/sgopal1/code/flutter-app/ios/Flutter -filelist /Users/sgopal1/code/flutter-app/build/ios/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal/x86_64/Runner.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -mios-simulator-version-min=8.0 -Xlinker -objc_abi_version -Xlinker 2 -ObjC -ObjC -fobjc-arc -fobjc-link-runtime -framework Flutter -lPods-Runner -Xlinker -dependency_info -Xlinker /Users/sgopal1/code/flutter-app/build/ios/Runner.build/Debug-iphonesimulator/Runner.build/Objects-normal/x86_64/Runner_dependency_info.dat -o /Users/sgopal1/code/flutter-app/build/ios/Debug-iphonesimulator/Runner.app/Runner

ld: library not found for -lPods-Runner
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ok, it's building fine if i use Runner.xcworkspace file instead (http://stackoverflow.com/a/28111728/416868) .
Build output
Check dependencies

iOS deployment target '9.3' for architecture 'x86_64' and variant 'normal' is greater than the maximum value '9.2.99' for the Simulator - iOS 9.2 SDK.
iOS deployment target '9.3' for architecture 'x86_64' and variant 'normal' is greater than the maximum value '9.2.99' for the Simulator - iOS 9.2 SDK.

I suspect this is that our fluter build tools have not been made pod aware.  @collinjackson had a patch to do this partially at one point.  We're a bit distracted by some internal customers pushing towards their launches soon, but being cocoa-pods compatible is definitely on near the front of our list as we get to focus back on external workflows again.  Thanks again for the report!

@sureshg I'm curious: Do you know what steps you performed on your flutter/xcode project to enable cocoapods?

I believe this was fixed in #5398, but there may have been a regression. I'll investigate.
Anyway, you should be able to just open the xcworkspace instead of the xcodeproj and everything will be fine. Opening the xcodeproj directly isn't allowed, and we might want a better error message for that case.

Can you try installing the Version 9.3 simulator? That's what the error messages seem to be indicating is the problem.
I realized that #5398 is not related, that was just me being confused by the two sets of logs in this bug and @chinmaygarde instructing you to launch the xcodeproj instead of the xcworkspace.
Note that you'll run into #6686 if you try to create a new project on the latest master; I was testing on a77f725504, the revision mentioned in your flutter doctor.

@sureshg - could you let us know if upgrading Xcode helps?

@collinjackson thanks... that worked. Upgrade to latest xcode and  iOS simulator(9.3 & 10.0) and is working beautifully. We can close this issue now.
[✓] iOS toolchain - develop for iOS devices (Xcode 8.1)
    • XCode at /Applications/Xcode.app/Contents/Developer
    • Xcode 8.1, Build version 8B62


Cleanup NetBeans license header for module profiler

Review and cleanup the license header in profiler
Oracle donated NetBeans to the Apache Software Foundation.
Your task now is to replace the old license header that has Oracle (and/or Sun Microsystems
and/or NetBeans) in it with the standard Apache Software Foundation license header.
For an empty file that supports headers you must add the Apache license header.
Note that you have to use the proper license header for Java, .properties or HTML files.
Look at the nearby files for templates and copy-paste the license header.
When done commit the changes with a commit message that starts with first line
"[NETBEANS-54] Module Review " and a message body describing your review.
See a longer explanation about what we are doing here: https://cwiki.apache.org/confluence/display/NETBEANS/List+of+Modules+to+Review
Please announce in a comment when you have started work.
Files that need to be looked at in profiler:
profiler/release/VERSION.txt

Working on

Closing, that file is too small to need a license header.
Please select another issue.


Secretless has e2e tests with Conjur OSS in Kubernetes

We need to add automated end-to-end tests for Conjur OSS, but our e2e automation system is bloated and likely running many redundant tests.
Draft requirements (may be revised):

Tests run in a realistic environment with. OSS as the source of truth for secret data
Tests run in Kubernetes (helm chart doesn't currently support OC)
Tests run against Conjur OSS latest image
Tests run against PostgreSQL and MySQL as the Secretless target services
Tests validate that a demo application is able to run as expected while making database connections via Secretless
The test suite does not need to run with every PR of Secretless, but should run daily and we should be able to run it against a local build of the Secretless image to prep for a releas

Note: these tests exist now in the https://github.com/cyberark/conjur-oss-suite-release repo


Error in server script

[ERROR] ! #355: Error occurred while handling event 'ServerEvents.recipes': TypeError: Cannot call method "forEach" of undefined (server_scripts:unify.js#355)

Only thing I can recommend is turning off recipe de-dupe, downgrading KubeJS, or looking into a newer replacement mod like Almost Unified (which has versions from 1.18.2+)
KubeJS keeps making breaking changes to nearly all their internals all the time, so it's nearly impossible for me to fix everything.


Add cache control to avatars

Details

Fixed Issues

Fixes GH_LINK
Tests

QA Steps

Tested On

[ ] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

Closing for focus


request feature

my table has many attributes, including total_days, part1_days, part2_days and so on.
using gii, I can create ActiveRecord model. the first day of every year, I want to update total_days=part1_days+part2_days+$somedata. I can update use SQL directly, and I also find updateAll which could be used. however it not support part1_days. could you add the feature that the self attribute could be used in updateAll function.
thank you.
Additional info

Q
A

Yii version
2.0.7

PHP version
5.6.15

Operating system
Linux deepin 15.1.1

You can do it like this:
ActiveRecord::updateAll(['total_days' => new \yii\db\Expression('part1_days + part2_days + :somedata', [':somedata' => $somedata])]);


Adding mafia bench

@jystic @markhibberd
not sure what / where I should add tests etc

@charleso would be proud :green_book:


may i know how to use this?

Initially, I had an intention to make this something like a starter template for Relay/Next.js but never got to it yet.
Right now this is just a React/Redux/Relay/Next.js demo page. But I will definitely return to this when I have some free time.


Issue when using second subscribe

Here is my config. If I enable [volume] block my desktop block will hand and not update at all after initial render
[bar]
name = "testbar"
blocks = "desktop | | volume ram cpu datetime "
height = 30
foreground = "#fff"
background = "#222"
font = "Hack Nerd Font"

separator = "|"
#areas = 16

[default]
label-foreground = "#fff"
affix-foreground = "#555555"
margin = 8

[desktop]
command = "~/scripts/bar/workspaces.sh"
trigger = "bspc subscribe desktop_focus"
margin-left = 16
raw = true

[datetime]
command = "date +'%T %a %F'"
interval = 1
margin-right = 16

[cpu]
label = "CPU "
command = "~/scripts/bar/cpu.sh"
interval = 3

[ram]
label = "RAM "
command = "~/scripts/bar/ram.sh"
interval = 3

[volume]
label = "VOL "
trigger = "pactl subscribe"
command = "~/scripts/bar/vol.sh"

Also, this issue happens if I try to use another bspc subscribe

Thank you very much for reporting this! I'll look into it and will let you know once I figure out what's going on.

Wow, thanks for quick response! I love succade so much, props to you buddy!

One question somewhat regarding this, is it possible to run the script and use it's output as a block output? Not calling the script infinitely as live option will do, running it just ones and when it outputs something show it on the bar?

I have the same issue with multiple bspc subscribes.

Update: Found some interesting behavior:
[bar]
name = "bar0"
blocks = "foo desktops test | test foo baz | cpu memory datetime"
height = 24
areas = 16
foreground = "#eeeeee"
background = "#00000000"
line-color ="#081e35"
line-width = 2

[default]
label-foreground = "#dddddd"
background = "#88000000"
affix-foreground = "#555555"
margin = 8
padding-left = 1
padding-right = 1
underline = true

[test]
command = "echo test"
trigger = "bsp subscribe"

[foo]
command = "echo foo"
trigger = "bsp subscribe"

[baz]
command = "echo baz"
trigger = "bsp subscribe"

[desktops]
command = "~/.config/succade/desktops.sh"
trigger = "bspc subscribe desktop_focus"
raw = true

[cpu]
command = "~/.config/succade/cpu.sh"
interval - 1
mouse-left = "~/.config/succade/cpups.sh"
mouse-right = "~/.config/succade/cputemp.sh"

[memory]
command = "~/.config/succade/memory.sh"
interval - 1
mouse-left = "~/.config/succade/memoryps.sh"

[datetime]
command = "date +'%y-%m-%d %H:%M'"
interval = 1
margin-right = 8

Not sure if completely related. But I think this expands upon this issue in some way

After a reboot, succaderc deleted itself.

Don't expect me to provide further information. I might be switching b/c this is just ridiculous which I think you can understand.


[feature/otx] OTX branch for MPA packaging

Summary:
This PR includes:

Fix setup.py for pip installation
Remove ote_sdk importing
Comment out cluster_anchors from ote/external
Add init to recipes for packaging

Because of this, there is no need to keep this PR. so closed.


Select all cmd-shift-G does not select all

VSCode Version: Version 1.17.1 (1.17.1)
OS Version: macos sierra 10.12.6 (16G29)

Steps to Reproduce:

Create a file with 10k sql insert statements -->

INSERT INTO tabel (one, two, three)
VALUES
(1, 'value2', 3, 4),
(1, 'value2', 3, 4),
... // 10k lines
(1, 'value2', 3, 4);

Highlight the open paren and select all with cmd-shift-G

Scroll down and notice that only 2k are selected and 8k are not.

Reproduces without extensions: Yes/No
Don't know

Duplicate of #5887


ARC Compatibility

After making the project arc compatible I have the following problem in this line:
 UIView *view = [_tableView hitTest:point withEvent:UIEventTypeTouches];

The problem: I get a compiler error saying:
implicit conversion of int to uievent* is disallowed with arc
Do you know a solution or a workaround for the problem?

I got it working on iOS5 :-). My solution:
-First convert the project to ARC: that means basically get rid off all the memory management stuff in the code of the timscroller like releases etc.
-then in the UITableView where you want to use the timescroller use custom cells instead of the standard ones
-in your custom cell class override the following method as follows:
  -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[[NSNotificationCenter defaultCenter]
postNotificationName:@"touchEventFromCell" object:event];
[super touchesBegan:touches withEvent:event];

}
-in the init method of the timescroller you have to add the following now:
  [[NSNotificationCenter defaultCenter]
 addObserver:self
 selector:@selector(touchEventFromCell:)
 name:@"touchEventFromCell"
 object:nil];

-and the following method has to be added to the timescroller class:
   - (void)touchEventFromCell:(NSNotification *)notification {

UIEvent * event = ((UIEvent *) notification.object);
currentEvent = event;
}
-currentevent is a property of timescroller that you can use in the following line of code:
        UIView *view = [_tableView hitTest:point withEvent:currentEvent];

-with the above code you get an event to use for the hittest since UIEventTypeTouches cannot be used with ARC. It is maybe not a nice solution but it works and performance is still the same.


Surface Data Eraser is not working on Surface Book 3 (Commercial)

The SoftwareLicenseTerms text file is not displaying after booting to USB, and does not progress whatsoever. I've tried remaking the tool, adjusting UEFI settings, etc. Nothing appears to work.
Device Specs:
15" i7/32GB/512GB Quadro

The issues section of this repository is intended for product documentation issues only.
Please consider opening a product support ticket by the following link below for your problem so that it gets resolved quickly.
Windows 10 Support
Thank you.


In custom game observer is counted in 2nd team

Found this in an ARAM game. Also 1 error msg poped up during that game. Probably due to the assumption of team size as 5.

Also the team member is wrong if you swap someone in the lobby.


Add utilities to convert from html to htpy

Convert HTML to htpy code
Maybe you already have a bunch of HTML, or templates that you would like to migrate to htpy.
We got you covered. The utility command html2htpy ships with htpy, and can be used to transform existing
html into Python code (htpy!).
$ html2htpy -h
usage: html2htpy [-h] [-f {auto,ruff,black,none}] [-i {yes,h,no}] [--no-shorthand] [input]

positional arguments:
  input                 input HTML from file or stdin

options:
  -h, --help            show this help message and exit
  -f {auto,ruff,black,none}, --format {auto,ruff,black,none}
                        Select one of the following formatting options: auto, ruff, black or none
  -i {yes,h,no}, --imports {yes,h,no}
                        Output mode for imports of found htpy elements
  --no-shorthand        Use explicit `id` and `class_` kwargs instead of the shorthand #id.class syntax

Lets say you have an existing HTML file:

<!DOCTYPE html>

    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>htpy Recipes</title>

Welcome to the cooking site

Your go-to place for delicious recipes!

Recipe of the Day: Spaghetti Carbonara

This classic Italian dish is quick and easy to make.

© 2024 My Cooking Site. All rights reserved.

Now, if you run the command, it outputs the corresponding Python code (htpy).
$  html2htpy index.html

from htpy import body, div, h1, h2, head, html, meta, p, span, title

html(lang="en")[
    head[
        meta(charset="UTF-8"),
        meta(name="viewport", content="width=device-width, initial-scale=1.0"),
        title["htpy Recipes"],
    ],
    body[
        div("#header")[
            h1["Welcome to the cooking site"], p["Your go-to place for delicious recipes!"]
        ],
        div("#recipe-of-the-day.section")[
            h2["Recipe of the Day: ", span(".highlight")["Spaghetti Carbonara"]],
            p["This classic Italian dish is quick and easy to make."],
        ],
        div("#footer")[p["© 2024 My Cooking Site. All rights reserved."]],
    ],
]

Piping input/stdin stream
You can also pipe input to htpy, for example cat demo.html | html2htpy.
This can be combined with other workflows in the way that you find most suitable.
For example, you might pipe from your clipboard to htpy, and optionally direct the output to a file.
Linux
xclip -o -selection clipboard | html2htpy > output.py

Mac
pbpaste | html2htpy > output.py

Windows
powershell Get-Clipboard | html2htpy > output.py

Formatting the output
html2htpy can format the output Python code using black or ruff.
Select the preferred formatter with the -f/--format flag. Options are auto, ruff, black and none.
By default, the selection will be auto, formatting if it finds a formatter on path, preffering ruff if it's available.
If no formatters are available on path, the output will not be formatted.
Import options
You have a couple of options regarding imports with the -i/--imports flag.
Options are yes (default), h, no.
Module import of htpy: --imports=h
Some people prefer to import htpy as h instead of importing individual elements from htpy.
If this is you, you can use the --imports=h option to get corresponding output when using html2htpy.
$ html2htpy --imports=h example.html

import htpy as h

h.section("#main-section.hero.is-link")[
    h.p(".subtitle.is-3.is-spaced")["Welcome"]
]

Explicit id and class kwargs
If you prefer the explicit id="id", class_="class" kwargs syntax over the default htpy shorthand #id.class syntax, you can get it by passing the --no-shorthand flag.

Welcome

Default shorthand yield #id.class
$ html2htpy example.html

from htpy import p, section

section("#main-section.hero.is-link")[
    p(".subtitle.is-3.is-spaced")["Welcome"]
]

No shorthand yields kwargs id, class_
$ html2htpy --no-shorthand example.html

from htpy import p, section

section(id="main-section", class_="hero is-link")[
    p(class_="subtitle is-3 is-spaced")["Welcome"]
]

Template interpolation to f-strings
html2htpy will try to convert template variables to pythonic f-strings:
template {{ variables }} -> f"template { variables }"
Note that other typical template syntax, such as loops {% for x in y %}, can not be transformed this way,
so you will often have to clean up a bit after html2htpy is done with its thing.
See the example below:

{{ heading }}

Welcome to our cooking site, {{ user.name }}!

Recipe of the Day: {{ recipe.name }}

{{ recipe.description }}

Instructions:

        {% for step in recipe.steps %}

{{ step }}

        {% endfor %}

$ html2htpy jinja.html

from htpy import body, h1, h2, h3, li, ol, p

body[
    h1[f"{ heading }"],
    p[f"Welcome to our cooking site, { user.name }!"],
    h2[f"Recipe of the Day: { recipe.name }"],
    p[f"{ recipe.description }"],
    h3["Instructions:"],
    ol[
        """        {% for step in recipe.steps %}        """,
        li[f"{ step }"],
        """        {% endfor %}    """,
    ],
]

Might be a better idea to have it parse files than to paste into the terminal, bit of jank but atleast it works.

Alright, I think I'm happy with the current state at this point. I've taken the liberty to resolve some of the comment threads (don't know if that is bad practice of me to do..?), maybe you'll do a final sweep and clarify if there is anything else you want changed?
Ill add a simple docs page

One thing I thought about might be an option to add imports for used elements in the output. Might be nice to save even a couple of more seconds.
That should be quick to add if you want it, but might also be another PR perhaps?

Also added some docs for review!

I updated the formatting to use subprocess as per your suggestion. Seems to work great. Also removed the extras dependency group, as I suppose the users mostly can install formatters themselves?

Alright, I think I've addressed the comments.
Thank you for all the thorough feedback and timely followup by the way.

There was this little thing I wanted to add:
## Detect htpy imports

If you pass the `-i`/`--imports` flag, htpy elements detected will be included as
imports in the output. For example:

```py title="$ html2htpy --imports example.html"
from htpy import p, section

section("#main-section.hero.is-link")[
    p(".subtitle.is-3.is-spaced")["Welcome"]
]

In the end, I couldn't help myself, so I added it now. Ill stop adding new things now, promise.

There was this little thing I wanted to add:
Detect htpy imports
If you pass the -i/--imports flag, htpy elements detected will be included as imports in the output. For example:
$ html2htpy --imports example.html
from htpy import p, section

section("#main-section.hero.is-link")[
    p(".subtitle.is-3.is-spaced")["Welcome"]
]

In the end, I couldn't help myself, so I added it now. Ill stop adding new things now, promise.

I like this a lot!! I also think that the imports should be added by default. Most people will probably pbpaste | html2htpy anyways and then it is easy to just not copy the import if it is not needed anyways.
Lately I have been using import htpy as h and find it nice. No need to fiddle with imports all the time.
What do you think about --imports=yes|h|no with yes being the default: from htpy import div, img, .... And --imports=hwould be import htpy as h / h.div[h.span["Hi"]]. --imports=no would be no imports at all.
We can add --imports=h later after this is merged but that would allow us to add it going forward.

I added it!
Import options
You have a couple of options regarding imports with the -i/--imports flag.
Options are yes (default), h, no.
Module import of htpy: --imports=h
Some people prefer to import htpy as h instead of importing individual elements from htpy.

I also did some proof-reading of the docs. Think I'm pretty much good from my side now.

Thanks A LOT for this and all the good discussions!


Add player rating to player search table

Makes it easier to see many people's ratings at once without having to click on their player pages individually

Where exactly are you looking to see the ratings information displayed i.e., on the front-page, search page?

I was thinking on the search page.

This is live as of PR #83


Occasional hidden NullPointerException during sign up

Sometimes when the user is signing up, a NullPointException will arise. We're not totally sure what is causing this issue as we're not able to manually recreate it.


🐛 [Bug] Current enrollment-email flow in blueprints is broken

🐛 Bug
If you try to run dreammallearth-enrollment-email via docker on localhost:

You see this bug:

There is a default email enrollment flow provided by Authentik.
If you copy this flow into the dreammall folder in authentik/blueprints (as of now in branch provision-authentik-with-blueprints, soon to be merged into master) you can find it under "flows" in the Authentik UI.
If you execute this flow you can find the invitation email in mailpit http://localhost:8025/.

There is a default email enrollment flow provided by Authentik.

This flowenrolls the user to Authentik.
The dreammallearth-enrollment-email flow needs to be fixed, since this is the flow enrolling users to the DreamMall app

Using the current master I could not reproduce the described problem.
On a local Linux machine our Authentik signup flow (dreammallearth-enrollment-email) works as expected.
https://github.com/user-attachments/assets/458e824f-3abe-4e96-969e-58be8750c0a2

Using the current master I could not reproduce the described problem. On a local Linux machine our Authentik signup flow (dreammallearth-enrollment-email) works as expected.
How to reproduce
1. Run the DreamMall application locally
Use these commands from our e2e Github workflow:
# in root directory
docker compose up -d --wait database authentik authentik-worker

# in backend directory
cp .env.dist .env && npm install && npm run db:reset && npm run build && npm run start

# in frontend directory
rm env.production && cp .env.dist .env && npm install && npm run prod

# in presenter directory
rm env.production && cp .env.dist .env && export PORT=3001 && npm install && npm run prod

# wait until all blueprints have been digested in Authentik

2. Follow the steps in the recording
reproduce_failing_flow_dreammall-enrollment-email.mp4

I can still reproduce the error locally. Shall we pair-program? @mahula

Fixed by #1835


Smart Speaker service

Add support for another external (non-bridged) accessory per zone, with a Smart Speaker service.  This allows for control from Apple's Home app, similar to how AirPlay2 devices can be controlled from Home.  Selecting the audio source will not be possible, however.

Doesn't seem to be anything useful.  Keeping the external TV accessories for control from Home.


Add user_data to Adapter and Device

This PR adds a new non-owned user_data field to both Adapter and Device, which allows users to store application context inside of these primitives. Without this, applications need to keep their own external data structures that map Adapter and Device to the application context, for lookup inside of bluez_inc callbacks that only provide Adapter * and/or Device *.

Addresses https://github.com/weliem/bluez_inc/issues/27


Add docs page to left menu nav

Link to https://docs.gitops.weave.works/ (force open in new tab) @bia any thoughts on whether need to indicate this behaviour somehow, and please confirm that you no longer want docs to appear in the footer as with the previous design.

Good shout, it's a common pattern for docs to be external links, so I don't think that we need a visual representation of that unless we end up adding another external link to this sidebar.


squid:S2974 - Classes without public constructors should be final

This pull request is focused on resolving occurrences of Sonar rule squid:S2162 - "equals" methods should be symmetric and work for subclasses
You can find more information about the issue here:
https://dev.eclipse.org/sonar/coding_rules#q=squid:S2162
Please let me know if you have any questions.
M-Ezzat

I am not sure whether you do not agree with these changes or not. Please close this PR if not.


[Feature Request] Time literal arithmetic

Feature Request
Proposal: Implement basic arithmetic operations for time literals
Current behavior: We can't use any expressions with time literals
Desired behavior: 1m/1s = 60
Use case: Grafana uses $interval macros to specify automatic interval on charts. We like to get something like "value per second" metric.
select sum(value)/(1m/1s) from measure group by time(1m)

I am using influxdb+grafana for rotations per minute monitoring. This feature will be very useful.

This would help my problem. I am currently grouping by time and another metric say 'service'.
select sum(value) from x group by time(1m) service
The problem is that if my sample time doesn't match my aggregation time then I can't adjust for the sample time properly and I end up with inflated summation values.
For example think of a sample time of 15 seconds and a aggregation time of 1 minute.
If I could do this it would fix it:
select sum(value)/(1m/15s) from x group by time(1m) service
Or more generally in a system like Grafana:
select sum(value)/($interval/15s) from x group by time($interval) service

Grafana made workaround $__interval_ms.


Consider treating null as "none" in ChannelPipeline#add(..) functionality

When adding handlers to a pipeline using the varargs methods, if Netty encounters a handler that is null, it will cease the insertion logic:
https://github.com/netty/netty/blob/1ca7d5db8167f904395d879b8851eb35d6f596f3/transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java#L374-L382
I propose that it would be more intuitive to use continue here, rather than break.
This would allow for handlers to be conditionally added with ease. E.g.,
ch.pipeline().addLast(
        new FooHandler(),
        condition ? new BarHandler() : null,
        new BazHandler()
);

This is technically a behavior change so I'm not sure if it would be allowed in Netty 4 or not, but it seems reasonably safe.

yeah sounds a good idea...can you do a PR against master ?


Remove comment (debugging artefact)

Sorry 😬

@Mergifyio backport 5.7

Will apply directly on https://github.com/crate/crate/pull/16244


gh-1124 - Updated checkstyle.xml and applied changes.

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@d062fb4). Click here to learn what that means.
The diff coverage is 8%.

@@            Coverage Diff             @@
##             develop    #1226   +/-   ##
==========================================
  Coverage           ?   64.85%
  Complexity         ?     1444
==========================================
  Files              ?      646
  Lines              ?    20380
  Branches           ?     2510
==========================================
  Hits               ?    13217
  Misses             ?     6107
  Partials           ?     1056

Impacted Files
Coverage Δ
Complexity Δ

.../src/main/java/uk/gov/gchq/gaffer/graph/Graph.java
58.9% <ø> (ø)
0 <0> (?)

...sation/implementation/TreeSetStringSerialiser.java
90.9% <ø> (ø)
8 <0> (?)

...ain/java/uk/gov/gchq/gaffer/data/element/Edge.java
65.04% <ø> (ø)
0 <0> (?)

...va/uk/gov/gchq/gaffer/operation/data/EdgeSeed.java
79.24% <ø> (ø)
19 <0> (?)

.../export/resultcache/GafferResultCacheExporter.java
76.62% <ø> (ø)
0 <0> (?)

...h/handler/ExportToOtherAuthorisedGraphHandler.java
65.21% <ø> (ø)
0 <0> (?)

...va/uk/gov/gchq/gaffer/operation/impl/Validate.java
94.73% <ø> (ø)
8 <0> (?)

...uk/gov/gchq/gaffer/cache/AbstractCacheService.java
0% <ø> (ø)
0 <0> (?)

...uk/gov/gchq/gaffer/operation/data/ElementSeed.java
16.66% <ø> (ø)
1 <0> (?)

.../commonutil/iterable/WrappedCloseableIterable.java
42.85% <ø> (ø)
4 <0> (?)

... and 137 more

Continue to review full report at Codecov.

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


Merge latest master into integrate_with_strong_params branch to

resolve (automatic) merge conflicts
make all tests pass. The problem only existed in this branch and was fixed by @rafaelfranca in commit 57fa9b40

With that all tests should pass and thus the branch should be ready for merging into master for the next release.

@rafaelfranca Hey guys, any luck with this? This one would come really handy! Anything I can do to help?

As master changed again I'll rebase @senny branch against the latest master and create a new PR.


Add stacktrace library to master branch

Works well on MSVC, GCC, intel and clang compilers.
Known MinGW problem does not seem to be show stopper.

Ping


Migrate JS metadata to generate desired ToC layout

Update metadata for ToC auto-generation. See review site at: https://review.docs.microsoft.com/en-us/javascript/api/overview/azure/?branch=djurek%2Ftoc-autogeneration-iteration&view=azure-node-latest for a preview of a ToC generated using the new automation backed by the metadata in this PR.
@benbp -- PTAL

CI is failing on broken links... we might need to adjust versioning in here or in main to get this passing. https://dev.azure.com/azure-sdk/public/_build/results?buildId=1387004&view=logs&j=12f1170f-54f2-53f3-20dd-22fc7dff55f9&t=036ed663-514a-59f3-0c88-23d2cf182147

So this is generated via https://github.com/Azure/azure-sdk-for-js/pull/19915 ?

hi everybody how are you today and I want to talk with you before some thing right now after but I think so some people his won't die before me why🤣🤣🤣

I want to speak with you before the phone I need something because everybody is joking and not good I don't know why before the money or what I am finished not have children with her friend problem but the people what doing like this one
احصل على Outlook لـ iOShttps://aka.ms/o0ukef

من: Ben Broderick Phillips @.>
تم الإرسال: Thursday, February 24, 2022 1:36:47 AM
إلى: Azure/azure-sdk @.>
نسخة: Subscribed @.***>
الموضوع: Re: [Azure/azure-sdk] [Draft] Migrate JS metadata to generate desired ToC layout (PR #3942)
@benbp approved this pull request.
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-sdk/pull/3942#pullrequestreview-891723705, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AS25BQVEG3XITCLCWTTEVDTU4VHO7ANCNFSM5OTTXULA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

CI is not reporting but it did pass -- https://dev.azure.com/azure-sdk/public/_build/results?buildId=1389131&view=logs&j=12f1170f-54f2-53f3-20dd-22fc7dff55f9&t=91e3dae1-85a3-4151-849e-d95055151d6f

لا اعرف افكر في اشياء كثيره ولا اعرف مالحل امشي مع الحياه ولا اعرف ما سا اواجهه امامي هل حزن ام فرح ؟؟
احصل على Outlook لـ iOShttps://aka.ms/o0ukef

من: Daniel Jurek @.>
تم الإرسال: Thursday, February 24, 2022 2:43:29 AM
إلى: Azure/azure-sdk @.>
نسخة: m-sk84 @.>; Comment @.>
الموضوع: Re: [Azure/azure-sdk] Migrate JS metadata to generate desired ToC layout (PR #3942)
CI is not reporting but it did pass -- https://dev.azure.com/azure-sdk/public/_build/results?buildId=1389131&view=logs&j=12f1170f-54f2-53f3-20dd-22fc7dff55f9&t=91e3dae1-85a3-4151-849e-d95055151d6f
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-sdk/pull/3942#issuecomment-1049287192, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AS25BQSRB44HL7OLQDAN2PDU4VPJDANCNFSM5OTTXULA.
You are receiving this because you commented.Message ID: @.***>

P {margin-top:0;margin-bottom:0;}


Add uTox.app v0.2.r alpha

For OS X this is still a preview release as announced here:
https://www.reddit.com/r/projecttox/comments/35kf3l/utox_for_os_x_is_almost_here_be_one_of_the_very/

Thank you, but until this is officially released, we cannot accept this.


Why use multi-line string for restore-keys intead of array?

Hey,
Just wondering why restore-keys is defined as a multi line string, while yaml obviously supports sequences?
https://github.com/actions/cache/blob/25e0c8faac42f323280d4d39373a00d402bd5e11/src/restore.ts#L23
Thanks!

ok, @teohhanhui found that core.getInput doesn't support lists.
https://github.com/actions/toolkit/blob/4f11810a003820fd131eefc436ee0e31db1db382/packages/core/src/core.ts#L69

Yep, it's just a workaround until we support list inputs.
Tracking that here: https://github.com/actions/toolkit/issues/184


Analyzer Feedback from IntelliJ

Analyzer Feedback from IntelliJ
Version information

IDEA IC-191.7141.44
2.2.1-edge.f6768b6fb3e58bb704aca1e22a7ffd11e7ff07cb
IC-191.7141.44, JRE 1.8.0_202-release-1483-b49x64 JetBrains s.r.o, OS Windows 10(amd64) v10.0 , screens 1920x1080

Exception
Dart analysis server, SDK version 2.2.1-edge.f6768b6fb3e58bb704aca1e22a7ffd11e7ff07cb, server version 1.25.0, error: Failed to handle completion domain request: {id: 2, method: completion.setSubscriptions, params: {subscriptions: [AVAILABLE_SUGGESTION_SETS]}, clientRequestTime:<PHONE_NUMBER>151}
NoSuchMethodError: The method 'map' was called on null.
Receiver: null
Tried calling: map<AvailableSuggestion>(Closure: (Declaration) => AvailableSuggestion)
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
#1      createCompletionAvailableSuggestionsNotification.<anonymous closure> (package:analysis_server/src/domains/completion/available_suggestions.dart:78:30)
#2      MappedListIterable.elementAt (dart:_internal/iterable.dart:414:29)
#3      ListIterable.toList (dart:_internal/iterable.dart:219:19)
#4      createCompletionAvailableSuggestionsNotification (package:analysis_server/src/domains/completion/available_suggestions.dart:82:8)
#5      CompletionDomainHandler.setSubscriptions.<anonymous closure> (package:analysis_server/src/domain_completion.dart:470:11)
#6      _rootRunUnary (dart:async/zone.dart:1136:13)
#7      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#8      _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#9      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#10     _DelayedData.perform (dart:async/stream_impl.dart:591:14)
#11     _StreamImplEvents.handleNext (dart:async/stream_impl.dart:707:11)
#12     _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:667:7)
#13     _rootRun (dart:async/zone.dart:1120:38)
#14     _CustomZone.run (dart:async/zone.dart:1021:19)
#15     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#16     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#17     _rootRun (dart:async/zone.dart:1124:13)
#18     _CustomZone.run (dart:async/zone.dart:1021:19)
#19     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#20     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#21     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#22     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#23     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:391:30)
#24     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
#25     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)

For additional log information, please append the contents of
file:report.txt.

Thanks for filing this issue! This was previously reported at https://github.com/dart-lang/sdk/issues/36623; please follow along there.

Duplicate of https://github.com/dart-lang/sdk/issues/36623


Drag and drop outside input area

If you drag n drop any file outside the input area you get the normal browser reaction. In case of pictures this is to show them fullscreen, which without knowing the default back shortcut makes the messenger unusable until restart.
Version 1.4.3
OS: OSX 10.10.3

I think I have an idea how I to fix this.

Duplicate: https://github.com/Aluxian/Facebook-Messenger-Desktop/issues/171


import parquet-wasm from local bundle rather than CDN

Hi, is it possible to import parquet-wasm using esbuild rather than a CDN? I see that parquet-wasm is a dependency in the package.json
https://github.com/developmentseed/lonboard/blob/c8cf2e1862fa7cd84af196039b21a97a5f00fd8f/package.json#L5-L20
but lonboard is also referencing a CDN here:
https://github.com/developmentseed/lonboard/blob/c8cf2e1862fa7cd84af196039b21a97a5f00fd8f/src/parquet.ts#L2-L19
I ask because I'm trying to test out lonboard on a service that prevents me from making front-end requests to CDNs (I would have to request the URL be added to an allowlist, but I want to see if I can avoid this by bundling the code with esbuild but I was running into errors when I tried to use the bundled version - https://github.com/kylebarron/parquet-wasm/issues/488).

I agree, this change would be nice. But it's unclear to me how to get a reference to the local URL within Jupyter to the current bundle. I asked in the anywidget discord

Thanks @kylebarron, I was able to find a workaround that might be relevant here https://github.com/kylebarron/parquet-wasm/issues/488#issuecomment-2047904050

Trevor responded on slack that serializing the wasm on the model is probably the best approach

Until #461 gets merged, the easiest way (imho) is to let user specify a different cdn url (e.g. http://localhost:8888/files/). For now, we need to resort to modifying the js bundle.

What's your use case where you can't use the default CDN?

Offline or standalone usage
On Fri, Oct 11, 2024, 4:47 AM Kyle Barron @.***> wrote:

What's your use case where you can't use the default CDN?
—
Reply to this email directly, view it on GitHub
https://github.com/developmentseed/lonboard/issues/457#issuecomment-2406009923,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFEBYWBHLNJEADOMVJ4X33Z23RWFAVCNFSM6AAAAABPXMRYFGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBWGAYDSOJSGM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

But offline you won't be able to see the base map; does that not matter for you?

But offline you won't be able to see the base map; does that not matter for you?

Usually I have a copy of the tiles for performance/practical reasons - it is faster than getting over the internet, while in other cases I am generating them anyway. If BitmapTileLayer (which already works with locally hosted Jupyter file urls) can be expanded to support/include pmtiles it would be perfect (sounds like it is in the works with #494)


Create expense with no registered user

When testing the frontend it was discovered that it is possible to create an expense entry with a null value for registered user:

It seems like the solution to this is simply adding nullable=False to the mapped_column() call in models.py. Though now I'm wondering, shouldn't that apply to basically every field (except maybe updated_at and description)? You wouldn't want category, expense_date, cost etc to be null either right?

Ah, this seems like the second half of the solution.
https://stackoverflow.com/questions/57291723/sqlalchemy-can-i-map-an-empty-string-to-null-in-the-ddl-i-want-a-nullable-inte


Check distance, interpolate and differentiate for each joint

Currently, joint methods distance, interpolate and differentiate are full of bugs and the current unit tests are incorrect, and cannot highlight them.

Thanks for the report.
@fvalenza could you make a brief status of how these methods are checked VS hpp-model? Are you planning to add such comparative test?

Currently, the unittest assert difference() against integrate(), which is a good test. However, both methods were wrong, so the test was misled.
@jcarpent modified integrate, and asserted it using se3 exponential map of the cartesian velocity resulting of qdot. This is also a good test.
Now integrate is valide (should be at least), but difference is not, so the initial test of @fvalenza is not accepted. @jcarpent deactivated it.
Two steps are now necessary:

fix difference, and possibly interpolate, and assert there results wrt integrate.
bullet-proof integrate by using it to compute (by finite diff) an approximation to the robot jacobians, and assert the value with respect to the (bullet proof) jacobian algorithms.

@jcarpent volunteered to implement a correct version of difference and interpolate.
@fvalenza would you agree to implement or re-implement the unit test checking difference and interpolate wrt to integrate.
Who can implement the final test checking integrate vs jacobian?

Ok

It seems to be solved by #292.


Changing aggregator

Describe the bug
Changing Aggregator in DirectedGraphSAGE gives error below
Observed behavior
if aggregator is None:
870             self._aggregator = MeanAggregator
--> 871         elif issubclass(aggregator, Layer):
872             self._aggregator = aggregator
873         else:
TypeError: issubclass() arg 1 must be a class
The error happens when changing the aggregator. I think line 871 should check the instance of aggregator and Layer or change the code to below?
issubclass(type(aggregator), Layer)

Have you imported MaxPoolingAggregator?
from stellargraph.layer import MaxPoolingAggregator


Download movie including subtitles?

Is it possible to download yt videos with subtitles included?

https://github.com/rg3/youtube-dl#subtitle-options.


Roller Skill sample

Dead link

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ab32bd66-4026-877f-aaac-15d8f050ad4b
Version Independent ID: 4f0e5bc2-2e95-9765-5d55-d546c01548f5
Content: Add speech to messages - Bot Service
Content Source: articles/dotnet/bot-builder-dotnet-text-to-speech.md
Product: bot-framework
GitHub Login: @RobStand
Microsoft Alias: kamrani

@Toemsel - with the release of SDK v4, old samples are here: https://github.com/Microsoft/BotBuilder-Samples/tree/v3-sdk-samples/CSharp

Fixed.


(BOLT-523) Add r10k to gem dependencies

Ensure r10k is listed as a gem dependency rather than listed in the
Gemfile as Bolt now uses it directly.

CLA signed by all contributors.


Add preview and latest timestamp to group message list

Improved "Groups" tab experience.

Show message previews for joined groups
Differentiate card styling for joined and available groups

Screenshots

/gcbrun

/gcbrun


Enforce indentation everywhere

This still requires design, but if we're being serious, even in a { } block indentation matters. Enforce it so we don't end up in bad situations later where the compiler can't freaking figure out what ends where.

A few examples:
#
# Statements
#

# indenting first line of a statement
   a == 10
|| b == 20
|| c == 30

# outdenting later lines of a statement
if a == 10 ||
  b == 20 ||
  c == 30

# ERROR: nondenting. Not visually clear which statement begins and ends where.
a == 10 ||
b == 20 ||
c == 30

#
# Block openers
#
# Block openers have some slightly different rules around them; if they *contain* something indented,
# block open and close can be on the same level as the rest of their statement without introducing
# an issue.
#
# NOTE: this is going to be tricky. if you can write this:
# f {
#   10
# }, then can you write this and have it mean the same thing?
# f
# {
#    10
# }
#
# The indentation rules themselves don't really seem to make this any worse, but we could have made it
# better by disallowing nondented block starts.
#
A: {
  Hi there
}
B:
{
  Hi there
}

# ERROR: undented block
A: {
  B: {
}
}
# ERROR: nondented block
A:
{ 10 }

Rust implementation will have this, I figured out the rules and docced them in the spec.


Example with auto (car) vs bus routing.

Generally, auto options/costs are relatively straightforward. The "auto" vs "bus" could be interesting if you can find a route where large tour buses would not be allowed. For example, certain residential streets or possibly hills that are too steep (I'm not sure which factors the "bus" considers). In SF, there are some streets with signs that do not allow tour buses with more than 8 passengers.

so This will be matter of finding best route for the case, who would be the best person for this?

Not sure we want to highlight bus - only a couple transit planning companies use bus costing. Greg might be able to find routes that differ between bus and auto.


Added definition lists

#15 I put the =defn statements in a

Word

defnition

table.

Thanks for fixing that. I ran some tests and something doesn't seem to be working. Here's the POD file I used:
=begin pod

=defn  MAD
Affected with a high degree of intellectual independence.

=defn  MEEKNESS
Uncommon patience in planning a revenge that is worth while.

=defn
MORAL
Conforming to a local and mutable standard of right.
Having the quality of general expediency.

=end pod

With your PR, the page ended up with 3 empty definition lists:

I then went in and dumped the $node inside the when 'defn' block and this is what it gave me:
Pod::Block::Named defn = Pod::Block::Named.new(name => "defn", config => {}, contents => [Pod::Block::Para.new(config => {}, contents => ["MAD Affected with a high degree of intellectual independence."])])
Pod::Block::Named defn = Pod::Block::Named.new(name => "defn", config => {}, contents => [Pod::Block::Para.new(config => {}, contents => ["MEEKNESS Uncommon patience in planning a revenge that is worth while."])])
Pod::Block::Named defn = Pod::Block::Named.new(name => "defn", config => {}, contents => [Pod::Block::Para.new(config => {}, contents => ["MORAL Conforming to a local and mutable standard of right. Having the quality of general expediency."])])

So it seems like Rakudo doesn't parse definition lists correctly yet. As the terms are not separated from the definitions. This is Rakudo version 2016.10-15-g43dbc96 built on MoarVM version 2016.10-9-g0402247

@ahalbert ping. Any update on the issue above?

Bug is rakudo RT #126651.

The bug seems to be still open https://rt.perl.org/Ticket/Display.html?id=126651

I am working on the proper handling of pod =defn by rakudo.

Since definition lists are about to be included in Rakudo, can you please check this for conflicts and resubmit it?

I've fixed the conflict, but would like to add at least one test before I push it.

Actually that's not right,  just trying to work out now.

Oh, this expects a Pod::Block::Named but @tbrowder's change made it a  Pod::Defn  so it won't work. But I'm here now so it would be a shame not to have this work :-)

I changed the class to Pod::Defn to be in sync with the other list classes Pod::Item and Pod::Heading. They are special cases of named blocks.

No it's fine, just moved the code from the when 'defn'``` into its own node2html```` and it works :)
I'll push in a bit.
The only thing as it stands is each =defn will be in its own ``````` for the time being (as the would in the original PR,) so someone might want to take a view on whether it would be desirable to merge consecutive ones into a single list.`

@jonathanstowe thanks!

It seemes to me that, without other hints from the author, consecutive =defns should be one list.

It's not going to be a big difference, except if some CSS is used. We can
post-process it, it's not a big deal. Maybe reuse code from =item

I've merged as is, but yes altering assemble-list-items to deal with the Defn as well as the items would probably be the way to go.

@tbrowder you can probably do that using CSS. As long as markup is OK, any
other content or styling can be added afterwards.

I've made s a small change to have the Defns merged. It may need more tests and I'll have a look later.I

Thanks, Jonathan.


add pairwise! for Covariance types

This adds the pairwise! function for Covariance types. I also added a docstring for the variogram's pairwise! method.
closes JuliaEarth/GeoStats.jl#405
I did also notice that the existing implementation allocates a lot of memory even though it should just be filling a destination matrix. For example:
julia> grid = CartesianGrid((2, 3))
2×3 CartesianGrid{2,Float64}
  minimum: Point(0.0, 0.0)
  maximum: Point(2.0, 3.0)
  spacing: (1.0, 1.0)

julia> A = zeros(6, 6)
6×6 Matrix{Float64}:
 0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0
 0.0  0.0  0.0  0.0  0.0  0.0

julia> γ = GaussianVariogram()
GaussianVariogram
├─ sill: 1.0
├─ nugget: 0.0
├─ range: 1.0
└─ distance: Euclidean

julia> @benchmark GeoStatsFunctions.pairwise!($A, $γ, $grid)
BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  429.125 μs …   1.775 ms  ┊ GC (min … max): 0.00% … 72.74%
 Time  (median):     438.125 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   462.660 μs ± 165.411 μs  ┊ GC (mean ± σ):  5.08% ± 10.09%

  █▃                                                            ▁
  ██▆▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▇█▆▄▃▃▁▁▁▁▁▁▅ █
  429 μs        Histogram: log(frequency) by time       1.69 ms <

 Memory estimate: 948.28 KiB, allocs estimate: 7707.

I'm not exactly sure why and I didn't want to mess with the original implementation.

Codecov Report
Attention: Patch coverage is 0% with 5 lines in your changes are missing coverage. Please review.

Project coverage is 84.36%. Comparing base (da6d967) to head (ce937d2).

Files
Patch %
Lines

src/covariance.jl
0.00%
5 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main       #5      +/-   ##
==========================================
- Coverage   85.03%   84.36%   -0.68%
==========================================
  Files          26       26
  Lines         628      633       +5
==========================================
  Hits          534      534
- Misses         94       99       +5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Should be all set. I added a test that will cover the new pairwise! method and changed the implementation to a loop.
This is still a little off topic, but I profiled pairwise! with a PointSet and still found some memory allocation.
julia> Γ = Matrix{Float64}(undef, 3, 3)
3×3 Matrix{Float64}:
 1.0e-323  4.4e-323  1.2e-322
 2.5e-323  9.4e-323  1.5e-322
 4.0e-323  1.1e-322  0.0

julia> c = GaussianCovariance()
GaussianCovariance
├─ sill: 1.0
├─ nugget: 0.0
├─ range: 1.0
└─ distance: Euclidean

julia> 𝒟 = PointSet(Matrix(1.0I, 3, 3))
3 PointSet{3,Float64}
├─ Point(1.0, 0.0, 0.0)
├─ Point(0.0, 1.0, 0.0)
└─ Point(0.0, 0.0, 1.0)

julia> ProfileView.@profview begin
         for i ∈ 1:1_000_000
           GeoStatsFunctions.pairwise!(A, c, pts)
         end
       end

Which looks like it's coming from the variosample calls in the methods for Variogram types.

@markmbaum this PR has conflicts with the other PR that got merged.


Style

Went over the entire codebase with Resharper to cleanup some style and change access levels.
Next step will be some refactorings to split up some of the bigger classes.

do you any IP Routing/Interface to test everything?

I tested it with KnxConnectionRouting and it worked :)

and KnxConnectionTunneling worked too

Nice! :+1:
Thanks for letting me know


Extra space after the opening paren

In Terminals which do not support linking, there is an extra space after the opening paren.
Code:
fmt.Sprintf("%s", termlink.Link("RE2 syntax", "https://github.com/google/re2/wiki/Syntax"))

Display in Apple's Terminal.app (which does not support linking):
RE2 syntax ( https://github.com/google/re2/wiki/Syntax)

What's weird is that when I copy-paste it from the Terminal, the paste here in GitHub doesn't have it.
RE2 syntax (https://github.com/google/re2/wiki/Syntax)

Any ideas?

Hey there! Thanks for reporting this issue
I think I've found the issue. The extra space is due to a u200B character, also known as a ZERO_WIDTH_SPACE. This is a sort of a "hacky" workaround used to force text to render as links in non-hyperlink terminals.
I'm on Windows at the moment, and all this time, I have been testing the code on both VSCode and Windows Terminal. Window Terminals provides full support for text hyperlinks while VSCode, although, it does not support text hyperlinks, it does render the non-text hyperlink perfectly, without the extra space.
On legacy Command Prompt, however, I found out that the text had a space after the opening parentheses, like you mentioned. I'm guessing it boils down to whether the terminal is properly able to render the u200B character. Also, if you remove that u200B character from the code, the extra space will be removed all right, expect there will be no clickable link - just plain text
Please note that this code was based on sindresorhus/terminal-link which used the u200B character as well. This also means that code run using this NodeJS package, on a terminal which doesn't support linking, will produce the exact same output as above (see below image). This also means that this package does the exact same thing as sindresorhus' popular NPM package.

As of now, it works fine on most modern terminals, I haven't had a lot of different terminals/apps to test it, since I'm constrained to use only Windows. There might be a few problems around, and if you know how to fix them, I would surely appreciate the help!

A whole lot of research later, and after looking up some old issues on sindresorhus/terminal-link, I found that you don't actually need that u200B character anymore. Looks like that character was placed purely for appearance purposes, in order to remove a specific VSCode bug, which has fixed in newer versions of VSCode. There were a lot of issues (and other referenced issues) on that repository regarding problems caused by that specific character.
When I decided to make this package, I had simply copied that character from that repo, not knowing what exactly it was and figured it was just another hacky workaround thing. I should probably have done a bit more research, I guess, heh.
And no, there is no way to actually "force hyperlinks" in a non-hyperlink supported terminal.
I'll remove the unwanted character in a future commit, but I'll wait until if you have anything to add to this.

This would be perfect. Thank you.


How to disable tags ,  etc..? Generally, how to disable a particular tag?

It's possible?

See https://github.com/chjj/marked/issues/420#issuecomment-44746538

Most likely this would be part of the 0.5.0 milestone. We are focusing on fixing defects to cover the two primary specifications supported by Marked. Closing to consolidate. If you would like to see this functionality please submit a PR based on the guidelines in #956 - and it can be flagged for the 0.5.0 milestone. Thank you.


Update discount field in staging discount models

What are the relevant tickets?

Item 2 from https://github.com/mitodl/hq/issues/5705 needs dbt code change as discount fields are formatted in staging.
Description (What does it do?)

Removing the text “off” from the ‘discount’ field and keeping $” or “%” signs
How can this be tested?

dbt run --select +marts__combined__orders
then verify the field
select discount from ol_data_lake_production.ol_warehouse_production_mart.marts__combined__orders
where discount is not null

@KatelynGit did you find out from Bryan why he wants to remove "off" ? Do you think the field's meaning is still reasonably clear, with "discount" instead of "discount off" ?


[6.0] Avoid visiting symbol markup twice when there's a documentation extension file (#951)

Explanation: This addresses the source of duplicate diagnostics by not visiting a symbol's markup twice when a symbol has documentation from both an in-source doc comment and from a documentation extension file.
This was a source of crashes before https://github.com/apple/swift-docc/pull/948
Scope: Potential duplicated diagnostics.
Issue: rdar://129677496
Risk: Low
Testing: New tests verify a single pass updates and produces diagnostics for both sources of documentation (in-source doc comment and a documentation extension file). Existing tests and manual testing verifies that no expected diagnostics are missing.
Reviewer: @patshaughnessy
Original PR: #951

@swift-ci please test


No longer working with IronMQ v3 API

I think there may be some changes to the IronMQ API which make this provider no longer work properly, for example, when receiving messages there is no timeout or push_status property on a message, but there is a reservation_id.
Response body of a message
That reservation_id is also required for deleting messages after they have been handled, so currently no message can be deleted!

Looks like this just got missed due to a small fix on the PR that went unnoticed.  Merged this in - closing out the issue.


New functions: Wrap and Wrapf

Coming from github.com/pkg/errors, I have become quite accustomed to wrapping errors to show the critical path taken by the code that resulted in the error to occur. This approach is sometimes referred to as "error chaining".
Stack traces are fine for more in-depth debugging, but they can be difficult to parse by something like a log collector (which typically work in a line-oriented fashion). In my experience, having a single line showing the "path of destruction" for an error is usually more than sufficient to allow for tracing the origin of the error within a code base.
Wrap and Wrapf are practically identical to the functions of the same name in github.com/pkg/errors, but use a different struct field (xerr.msg). The use of the xerr.msg field takes lower precedence than xerr.mask, so as to not change the behaviour of any existing code.

@nesv I guess this "error chaining" is easier to handle by automation devops tools. It looks good. The only one thing: Could you change README.md to add documentation for those 2 functions.

...when you want to pass some data along with an error. And then you want to have a custom print of an error in conjunction with that data you just passed.

@anvk Sorry, I'm not entirely understanding what you mean by this. Could you give me an example of what you have in mind?


refactor FieldConfigInterface to fix value-type enabling

Q
A

Bug Fix?
yes

New Feature?
yes

BC Breaks?
yes

Deprecations?
no

Fixed Tickets

License
MIT

The methods defined at a type for enabling ranges/comparisons and/or pattern matchers never actually triggered any behavior (in other word, they were inherently broken).
And it's also a bit redundant to define for every type (even when the parent type supports them).
So instead they now need to be configured with the buildType method.
Which also adds a level of flexibility for options :)

A new inspection was created.

The inspection completed: 1 new issues

Alternative idea: acceptValue(FieldConfigInterface::VALUE_TYPE_RANGE) and enableValueSupport(FieldConfigInterface::VALUE_TYPE_RANGE)

A new inspection was created.

The inspection completed: 2 new issues, 4 updated code elements

A new inspection was created.

The inspection completed: 4 updated code elements

A new inspection was created.

The inspection completed: 2 updated code elements


Godot 3.1-alpha 3 regression: Viewport size override is not working well.

Godot version:
Godot 3.1 alpha 3
Godot 3.1 alpha 4
OS/device including version:
Windows 7 Ultimate x64
Issue description:
If you run the project TestViewport in version alpha 3 you get VERY different results than you get with version alpha 1. I think the correct result is the one you get with alpha 1 so alpha 3 must have a bug.
This is what happens when set_size_override is used, in the project TestViewport, to duplicate the size of the viewport:

The window above shows what happens in the alpha 1 version.
The window below shows what happens in the alpha 3 version.
Minimal reproduction project:
What is done in the project is to periodically change the size of the viewport using set_size_override.
TestViewport.zip

The problem is related with the Node variable data.idle_process_internal. In the alpha 1 version that variable is true for Camera2D but in the alpha 3 version that variable is false which means that _update_scroll is not called in Camera2D :: _ notification. In my case, I've fixed it by calling the camera.force_update_transform() function after calling viewport.set_size_override. It can be verified that adding those calls to the test project the behavior of the alpha3 / 4 version is again the same as that of the alpha 1 version.


Do not show download messages by default

Currently, when you have a setup as follows:
def get_parser(lang: str):
    spacy_udpipe.download(lang)
    nlp = spacy_udpipe.load(lang)

this will always print out a message, whether it downloaded the model or whether it is already present. I would be useful if this behaviour can be controlled by the user. I added a verbose flag to the download method, which is False by default.
In my specific case, I have the above workflow, but I also write other things to STDOUT. If a user wants to pipe that to a file, it will always have the spacy-udpipe download message at the top - which is not desired.

Thanks for the contrib, makes sense. Please just fix the lint issues causing tests to fail :grin:


fix(release): rearrange conventionalcommits preset

Fix the conventionalcommits preset of semantic release.

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


Fix toDataURL for iOS

The method toDataURL returns a base64 encoded string without prepending the data:image/png;base64, part. This PR prepends the data part.

This branch has conflicts that must be resolved

Sorry I opened another PR you can close this one.
See: #2574


Add youtube to default websites

As discussed on Twitter, Youtube shouldn't be on the default list because it is used to listen to music or watch useful stuff (documentaries, tutorials).


Reduce resource consumption when using file discovery with same file in multiple probes

Reduce resource consumption when using file discovery with same file in multiple probes
Setup:
Multiple HTTP probes with same file_targets {file_path} (generated from consul-template) and different filter{} to for each  probe to select related targets (similar approach as with run_on {}), .textpb file is about 220 MiB in size with more than 1M resource{}s, cloudprober.cfg has more than 500 probes.
Problem:
During start all probes launch file.refresh() and it kills almost any machine. Looking at code - all probes simultaneous opens same file and do .Unmarshal() in same time. This is memory and CPU heavy operation. Later on everything normalized due random delays and GC.
Description of what you want to happen and what problem will it solve for you.
I tried few different ways like putting global file mutex which serializes all processing but then it takes ages to gather targets for all probes. Doing similar randomization as in refresh loop will help too but same as with serial processing it will take ages. I also tried similar approach as described here: https://firas.dev.sy/post/go/2020/making-timed-maps-golang/ but simpler and with extended API with .LoadOrStore() as in sync.Map for reserving computation (file reading to avoid thundering herd problem), two maps - for reservation and another one for caching Unmarshal()'ed resources (before filtering).  I got some promising results but don't have working/publishable code yet.
Some numbers I've measured (no concurrency):

loading file  - almost instant
.Unmarshal() - ~50s
filter targets for probe - ~1s

BTW, I have everything working with all probes and targets when I put everything statically in main configuration file.

@benner If all probes are using the same targets you can consider using shared_targets.
Sorry, it's not documented, but here is what you can do:
Add the following config stanza at the config file level:
shared_targets {
  name: "my_file_targets"

  targets {
    file_targets {
      ..
    }
  }
}

and, then at the probe level:
probe {
  ...
  targets {
    shared_targets: "my_file_targets"
  }
}

This way we create only one target structure in memory .. and hence one file refresh loop.

Ah, but you're using different filters. Can these filters be a regex on target names?
targets {
  shared_targets: "my_file_targets"
  regex: ".."
}

I saw shared_targets or regex filtering nut in my case all probes have different targets. Now I'm using label filters.

Example of cfg:
resource {
name: "<target>"
labels {
    key: "probe"
    value: "<probe name>-<HTTPS|HTTP>"
  }
}

        file_targets {
          file_path: "/tmp/targets.textpb"
          filter {
            key: "labels.probe",
            value: "<probe name>-HTTP"
          }
        }

I see. I guess rds_targets semantics would have been better for file_targets as well. RDS server could run in the same process (all transparent to the probes or configuration), and all probes could just rds_targets.
Does that make sense at all? I can try implementing it. It may take a few days to get it reviewed and submitted though.

I will look into that

@benner, fyi: I am also looking at adding the "file" provider to RDS. I'll try to create a PR soonish, so that you can test with it if you want.

I still need to get changed reviewed internally, but here is the proposed change: https://github.com/google/cloudprober/pull/635 (branch rds_file).
With this change you can do the following:

Add the following stanza to your cloudprober.cfg:

rds_server {
  provider {
    file_config {
      file_path: "/tmp/targets.json"
      re_eval_sec: 60
    }
  }

Then specify targets in probes like this:

probe {
  ...
  targets{
    rds_target {
       resource_path: "file://"
       filter {
         key: "labels.probe",
         value: "<probe name>-HTTP"
       }
    }
  }
  ...
}

If you'd like to test, you can download pre-built binaries from here: linux, all.

I tried rds_target and it works as expected or I wanted to achieve. What I found missing or did not found how to change is rds.ClientConf.re_eval_sec which has default of 30s (with this freshness Cloudprober grows to ~40 GiB instead of 14 GiB in static version).
From what I see rds.ClientConf.re_eval_sec is not reachable in configuration file:
% rg ClientConf --glob '*.proto'
rds/client/proto/config.proto
18:// ClientConf represents resource discovery service (RDS) based targets.
20:message ClientConf {

targets/proto/targets.proto
22:  optional rds.ClientConf.ServerOptions rds_server_options = 1;
129:  optional rds.ClientConf.ServerOptions rds_server_options = 4;

targets/lameduck/proto/config.proto
43:  optional rds.ClientConf.ServerOptions rds_server_options = 6;

Only inner ServerOptions can be configured.

Good point regarding not being to control client side re_eval_sec through rds_targets. We can fix it, but I am not sure if it will help a lot. Client side refreshing causes data copy between server and client, but is filtered data.
To change refresh interval on the server side (where the file is actually reloaded), you can modify your rds_server config:
rds_server {
  provider {
    file_config {
      file_path: "/tmp/targets.json"
      re_eval_sec: 60  <-- here
    }
}

I am wondering if 14GB vs 40GB difference is only due to temporary objects in the memory or something else is going on.
I've thought about implementing some improvements to RDS protocol to track if resources have changed and signal to the client in case refresh is not needed, but I've largely avoided that as it may make things more complex and may introduce new failure modes.
Was it 14GB with file_targets or targets directly embedded in the config file?

I am wondering if 14GB vs 40GB difference is only due to temporary objects in the memory or something else is going on.

I think it is directly related. I actually did some heap dumps (pporf) during RSS growth and looked at .svg.
Attaching one when RSS was 5G (less probes). I don't have svg now when it was 40G but situation was the same but numbers was bigger.

Next week I'll redo the test with hands changed and recompiled  rds.ClientConf.re_eval_sec.
Ether way, situation with rds files solution is like 5-6 times better than it was before :-)

Was it 14GB with file_targets or targets directly embedded in the config file?

Yes

Thanks for sharing the heap profile. Few observations:

Large amount of memory is being used while parsing the JSON file - 60% of the total.
13% is going in runtime.malg -- that's basically for goroutines. I think these must be HTTP probe goroutines.
10% + 3.54% is being used for running probes. Interestingly ListEndpoints is using only 1.64% of the heap.
fileLister.ListResources is using 8.4% of the heap space.

Thoughts:

Parsing JSON is obviously the most expensive operation -- it seems that it uses a lot of intermediate storage for doing the JSON->Proto conversion. One thing that can improve this usage is if we parse JSON one resource at a time and reuse intermediate data structures. It will improve memory usage dramatically, but increase compute time a little bit, though hopefully not by much, because behind the scene, JSON->Proto decoder is also parsing one message at a time.
Goroutine heap usage and probes' heap usage is largely unavoidable.
We can likely improve fileLister.ListResources's performance. Currently we are allocating an array of size as big as the total number of resources (to avoid doing too many allocs) but that may be a wrong strategy. We may start with a min size, let's say 10 or even 100, and then let append handle the growth of the slice.

I'll look at implementing 1 & 3.

I was always using TextProto

Tested full configuration with default 30s and with 60min
rds/client/client.go:
+	// reEvalInterval := time.Duration(client.c.GetReEvalSec()) * time.Second
+	reEvalInterval := 30 * 60 * time.Second

with 60 min re_eval_sec it works as expected. RSS grows almost the same as with static configuration.
For default 30s interval main reason for memory usage is big number of probes. In my setups it means RDS server receives around 3 requests per second. Result: all CPUs are busy (20 logical CPUs) and memory grows to ~40G.
30s ~900 probes:

60 min ~900 probes:

One drawback with longer re_eval_sec  is that all probing can be delayed up to same interval for actual probing but I can live with that because whole point of that is to keep Cloudprober without restarting :-)

Interesting. Thanks again for the heap profiles @benner!
So ListResources should get better with the change that I just committed in the main branch: #640. There was inefficient resource allocation in the previous change.
Another improvement I am planning to make is to reload file "only if" it has been modified since the last load. With that you won't have to worry about re_eval_sec so much.

I think #641 will really fix this problem.

With all the changes so far, I think you should see substantial improvement in performance (much better than the default case earlier). You can even keep the re_eval_sec very low in RDS file provider config -- it won't reload file unless it has changed.
Next up is #641. I'm working on it.

@benner, I think we should be good here now. You should be able to use lower re_eval_sec (30s) without any performance impact. Until you update the targets file, no new large data allocation should happen.
Let me know how it goes.

Thank you. Tested for few hours. Everything seems even better.

P.S. I tested on my laptop with full config but without actual HTTP requests. After vocation I will test on real system.

Awesome. Great to hear. Thanks for checking!

Tested in semi-prod. Now it has more that 2M targets. Some stats (from Cloudprober exported metrics):

@benner Awesome, great to see.


[#FLAT-620] Add progress bars to rake tasks

https://sourceclear.atlassian.net/browse/FLAT-620

Looks good! :+1:


Respect wildignore when finding files

Info

Operating System: Ubuntu, NixOS
Shell: zsh
Terminal: st
nvim --version: 0.9.0
fzf --version: 0.40.0

fzf-lua configuration

require("fzf-lua").setup({
    fzf_bin = "fzf-tmux",
    fzf_opts = {
        ["--border"] = "rounded",
    },
    fzf_tmux_opts = {
        ["-p"] = "",
        ["-y"] = "1",
        ["-w"] = "95%",
        ["-h"] = "75%",
    },
    winopts = {
        preview = {
            hidden = "hidden", -- I don't like a preview, keep space for selection
        },
    },
    files = {
        -- TODO: Find a way to add wildignore support
        find_opts = [[-type f -not -path '*/\.git/*' -not -path '*/fileadmin/*' -not -path '*/typo3conf/l10n/*' -not -path '*/typo3temp/*' -not -name '*\.orig' -not -path '*/node_modules/*' -not -path '*/imgserver/*' -not -path '*/typo3export/*' -not -path '*/acceptance_tests/_output/*' -printf '%P\n']],
    },
})

require("fzf-lua").register_ui_select()

Description
I'm coming from https://github.com/ctrlpvim/ctrlp.vim/ which supports vims wildignore out of the box for finding files. It would be cool if this would also be supported by fzf-lua out of the box. Or if there would be a copy and paste example for users not familiar with lua within the wiki.

Unforuntaely, using wildignore directly isn't an option. that said you can ignore files/globs in many different ways.
(1) when using fd and rg, .gitignore is respected.
(2) You can suppoy the ignore patterns yourself, for example when using rg:
:lua require("fzf-lua").files({ cmd = "rg --color=never --files --hidden --follow -g '!.git'" })

Or when using fd:
:lua require("fzf-lua").files({ cmd = "fd --color=never --type f --hidden --follow --exclude .git" })

(3) You can also supply file_ignore_pattens  and use lua-style regex, for example, ignoring all .lua files:
:lua require("fzf-lua").files({ file_ignore_patterns = { "%.lua$" } })

More info on the wiki
If I were in your position I'd create a smal lual function that converst wildignore to file_ignore_patterns compatible lua regexes and use that in fzf-lua setup:
local function wildignore2lua()
  local ret = {}
  for _, p in ipairs(vim.split(vim.o.wildignore, ",")) do
    -- convert wildignore glob to lua regex
    local regex = ...
    table.insert(ret, regex)
  end
  return ret
end

require("fzf-lua").setup({
  -- other setup options
  ...
  file_ignore_patterns = wildignore2lua(),
})

It would be cool if this would also be supported by fzf-lua out of the box. Or if there would be a copy and paste example for users not familiar with lua within the wiki.

Lua is a very simple and efficient language, my recomendation would be to learn some lua, the investment will pay itself.

Thanks for your comprehensive answer.

(1) when using fd and rg, .gitignore is respected.

That won't solve my own needs. I use git_files() for that. I use files() when I need files not tracked by git, e.g. find files from dependencies.

(2) You can supply the ignore patterns yourself, for example when using rg:

That's what I already did in my pasted configuration. But that would mean I duplicate my wildignore settings a 2nd time.
    files = {
        -- TODO: Find a way to add wildignore support
        find_opts = [[-type f -not -path '*/\.git/*' -not -path '*/fileadmin/*' -not -path '*/typo3conf/l10n/*' -not -path '*/typo3temp/*' -not -name '*\.orig' -not -path '*/node_modules/*' -not -path '*/imgserver/*' -not -path '*/typo3export/*' -not -path '*/acceptance_tests/_output/*' -printf '%P\n']],
    },

(3) You can also supply file_ignore_pattens and use lua-style regex, for example, ignoring all .lua files:

Sounds better than 2, but still I would need to maintain the same set twice, once for wildignore and for fzf-lua.

If I were in your position I'd create a small lual function that converts wildignore to file_ignore_patterns compatible lua regexes and use that in fzf-lua setup:

That's exactly what I would like to have. My request probably wasn't explained well. I'll give it a try.
The option file_ignore_patterns is not mentioned within "Default Options". Also the help file doesn't mention the option. How would I know this exists?

Lua is a very simple and efficient language, my recomendation would be to learn some lua, the investment will pay itself.

Maybe too simple. I'm missing many features coming from other programming languages. They might be hidden behind other features which I don't understand by reading the manual. Or they are not part of the default library which looks pretty small. Also, not everyone using Neovim might be a programmer and willing to learn Lua as a language to get things done that could be configured globally within the editor already. So that snippet as copy and paste solution is cool.

That's exactly what I would like to have. My request probably wasn't explained well. I'll give it a try.
The option file_ignore_patterns is not mentioned within "Default Options". Also the help file doesn't mention the option. How would I know this exists?

From the WiKi: https://github.com/ibhagwan/fzf-lua/wiki#how-do-i-ignore-specific-file-patterns

Also, not everyone using Neovim might be a programmer and willing to learn Lua as a language to get things done that could be configured globally within the editor already. So that snippet as copy and paste solution is cool.

That’s why the basics along with sane defaults are provided out of the box, there will always be that one use case that requires some programming effort, especially when using an editor targeting programmers.

I clicked close by mistake, lmk if you need more help with the snippet.


better formatted

code blocks completed

What I forgot is that double $ is required to label a LaTeX formula here...

Seems still not work somewhere in my mobile phone,maybe you could install jekyll and test this site in local.

666 学弟来当线上负责人吧，这个博客系统你已经玩的这么6了，md排版比我还厉害

我已经把@semprathlon添加到operator组了但是不知道为什么还是没有权限，等我回去的时候看看


When can a new release of clasp be expected?

Clasp 2.1.0 is a few months old and many PRs happened since.
Expected Behavior
Actual Behavior
Steps to Reproduce the Problem

Specifications

Node version (node -v):
Version (clasp -v):
OS (Mac/Linux/Windows):

Thanks for the issue (and PRs) @PopGoesTheWza!
I've gone ahead and published<EMAIL_ADDRESS>today.
Ideally we can get Eric and Steve in the @google/gsuite team to publish every few months. (Takes ~15 minutes to publish and test)

@grant Thanks for releasing 2.2 on npm. I did some quick tests and they're fine
Don't you need to commit/sync something still? The package.json in master branch still says 2.1.0

Oh, I think I now pushed to GitHub master.


Update the kube proxy image.

What do these changes do?
As titled
Related issue number
Fixes #2026

Hi @dashanji
I see that you just updated the image. It is OK for now.
Thank you for acting so quickly on this one.
I would suggest you upgrade your project in the future with the latest release (maybe after the next release when we add support for k8s 1.32) or manually change your code to use WithAuthenticationAndAuthorization feature provided by Controller-Runtime.
Check out the FAQ section: Why can't we recommend just replacing the kube-rbac-proxy image with the latest version from another trusted source?


Blog post list template breaks document structure with description_from_content

The template used to render blog post lists (blog/templates/blog_post_list.html) uses the description_from_content method (marking the value resulting as |safe) without verifying that no markup was actually broken inside:
	    {% editable blog_post.content %}
	    {{ blog_post.description_from_content|safe}}
	    {% endeditable %}

This causes trouble whenever the blog post contains HTML markup. The easiest solution would be to either use escaped output (preferably stripping tags) like so:
	    {% editable blog_post.content %}
	    {{ blog_post.description_from_content|striptags|safe}}
	    {% endeditable %}

I would of course suggest using something more friendly than making the post "excerpt" entirely free of markup, but this helps already.

Yeah I was bitten by this also on a current project of mine and applied the same temp fix in the template.
I'd like to try and work out a way to close the tags and still allow HTML to come out in the description. I had a bit of a play around with Django's truncatewords_html which seems to be able to be tricked into adding and missing closing tags - it only adds them when it does truncate, so if we can determine the number of words, use that value -1 as the words to truncate, then inject the last word back in, I think it might work.

That did it, thanks. By the time the fix came we had switched those to truncate_html so we have to revert those changes.


updated dependencies and fixed versions

In addition to keeping up to speed with recent changes, this fixes a 'batchUpdate is not a function' bug that happens after clean slate installation of master branch, due to some API changes in dependencies defined by semver range instead of fixed version.

I've no time to maintain this repo now so I added you as collaborator

my pleasure!


VW MQB: Škoda Scala Mk1

Škoda Scala Mk1
Covers all variants of the first generation Scala (2019-present), which also includes the Škoda Kamiq.

[x] added to README
[x] test route added to test_car_models
[x] route with openpilot: 026b6d18fba6417f|2021-03-26--09-17-04

Thanks to community Scala owner Vince (2020).

This should be G2G once the test route is uploaded to the CI bucket.

Done