text:
Unify instance name for node_explorer and Scylla metrics

Currently, Scylla metrics looks like:
scylla_reactor_utilization{instance="ip-172-31-43-23",job="scylla",shard="2",type="gauge"}

node_exporter looks like:
node_cpu{cpu="cpu2",instance="54.202.75.234:9100",job="node_exporter",mode="nice"}

in particular instance is ip-172-31-43-23 for the first and 54.202.75.234:9100 for the second.
this makes it hard to aggregate one server metrics, from both Scylla and node_exporter to one dashboard

The problem is node_exporter does not use hostname for the instance label, as Scylla do.

Its possible to update extract the hostname from node_uname_info, and to use group_left and label_replace to set this host name to the instance lable.
For example:
replace
irate(node_network_receive_packets{device="$monitor_network_interface"}[30s])

with
label_replace(irate(node_network_receive_packets{device="$monitor_network_interface"}[30s]) * on(instance)  group_left(nodename) node_uname_info,  "instance", "$0", "nodename", ".*" )

will give the same chart, with hostname value for the instance lable

The following is an example of using the instance temlpate, used to select scylla node, for a node_exporter varible
irate(node_network_receive_packets{device="$monitor_network_interface"}[30s]) * on(instance)  group_left(nodename) node_uname_info{nodename="[[instance]]"}

I've played with it a bit, it seems a much better approach than the one we are currently using, it's not bulletproof.
Currently, scylla can set its own instance label, so there's no promise the values will be the hostname.
because node_exporter guys insist on not allowing to set a label, we are left with your approach, or add static configuration to the prometheus  file.
I think I'll go with what you suggest but title it: use hostname instead of ip address so it will reflect what is going on

When I check the dashboard, it seems that none of the node metrics (disk, io, etc') is set per server, and that the alerts in the alert manager are per instance

@tzach I think another thought need to be given to the issue.
Right now, all the node related metrics are basically make no sense.
For example the disk name, or network card name could be identical between nodes, or could be different.
Maybe we should split between compare of total nodes and the per server would force the users to pick a node.
The pie chart of the disk is misleading (and assume the scylla partition)

Right now, all the node related metrics are basically make no sense.
For example the disk name, or network card name could be identical between nodes, or could be different.

Possible, but not likely. Most clusters are running with symmetric nodes.

Maybe we should split between compare of total nodes and the per server would force the users to pick a node.

Not sure what you mean.
We can extract all OS level metric to a different dashboard, with a different drop down selection.
The current state of a mix dashboard, with drop down, apply to a subset of panels is confusing at best

The pie chart of the disk is misleading (and assume the scylla partition)

#293

@amnonh - please provide a reference to why prometheus are not willing todo this - I want to resolve this - you mentioned that they are suggesting a solution - please provide the solution they are providing as well

I think it can be closed by:
d6d8bda7dbb62f0d1a40496f42d635c77b6d3aae

Look at: prometheus/prometheus.yml.template
prometheus now removes the port from the instance and change the honor label to false.

authors: amnonh slivne tzach

repo: scylladb/scylla-grafana-monitoring


text:
Grafana graphs are jiggly with short scraping intervals

When I set scraping interval to 1s I see graphs "jiggle" in a way that historical data points change values. After looking closer at this it turns out that graphs alternate on refreshes between showing samples from only odd and only even timestamp values.
Setting "resolution" parameter for queries from 1/2 to 1/1 fixes the problem. In dashboard JSON the change amounts to:
           "targets": [
             {
               "expr": "avg(collectd_reactor_gauge{type=\"load\"} ) by (instance)",
-              "intervalFactor": 2,
+              "intervalFactor": 1,
               "refId": "A",
-              "step": 2
+              "step": 1
             }
           ],
           "timeFrom": null,

@tgrabiec is this values valid for the default 15s scraping interval ?

Can we close this?

They are still jiggly if your step is large enough due to time range.

@tzach @tgrabiec can we close this?

source: gharchive/issue

authors: amnonh tgrabiec tzach

license_type: permissive

license_source: github-api


text:
Add monitor (rfmon) support.

Add monitor support using pcap_set_rfmon().
Makes it easier to put the interface in monitor mode without needing to shell out to another tool. Obviously only works with NICs that support entering monitor mode using libpcap.
Tested on macOS 10.15.3 (19D76).
Let me know if you want any changes since it digs pretty deep into your abstractions.
Also probably needs a wiki update for the wifi example.

@optix2000 thanks for your interest on packetgen.
I will have a look today.

@optix2000 Thanks for this PR :smile:

source: gharchive/pull-request

repo: sdaubert/packetgen

license: mit

license_source: bigquery


text:
Remove clone_wait deprecated option

Added module version update and documentation changes from original PR.
Closes #6

Also closes #5

repo: sdhibit/terraform-proxmox-cloud-init-vm


text:
How can I include a long description that comes from another file?

[X] I have searched the issues of this repo and believe that this is not a duplicate.
[X] I have searched the documentation and believe that my question is not covered.

Question

I use this pattern to include a chunk of ReST to use on pypi.org. Having it in a separate file lets me check it's valid ReST before submitting, and I often use README.rst to have the same thing show on github and on pypi.
How can I do this with pyproject.toml?

I am not sure I understand. You example can be replicated with Poetry
[tool.poetry]
# ...
readme = "docs/description.txt"

repo: sdispater/poetry

license: MIT


text:
Update libraries.md

Fix typo.

Thanks!

authors: frutiger sdispater


text:
Candidate listing is in lexical not numeric order

As evidence for the problem:
|> sdk l groovy

================================================================================
Available Groovy Versions
================================================================================
     2.4.9                2.3.5                2.1.5                1.8.9
     2.4.8                2.3.4                2.1.4                1.8.8
     2.4.7                2.3.3                2.1.3                1.8.7
     2.4.6                2.3.2                2.1.2                1.8.6
     2.4.5                2.3.11               2.1.1                1.8.5
     2.4.4                2.3.10               2.1.0                1.8.4
     2.4.3                2.3.1                2.0.8                1.8.3
     2.4.2                2.3.0                2.0.7                1.8.2
   * 2.4.10               2.2.2                2.0.6                1.8.1
     2.4.1                2.2.1                2.0.5                1.8.0
     2.4.0                2.2.0                2.0.4                1.7.9
     2.3.9                2.1.9                2.0.3                1.7.8
     2.3.8                2.1.8                2.0.2                1.7.7
     2.3.7                2.1.7                2.0.1                1.7.6
     2.3.6                2.1.6                2.0.0                1.7.5

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

This is an old known issue and will be addressed within the next few weeks when I rewriting the service endpoint in our shiny new candidate order. What makes this challenging is that most candidates have subtly different versioning schemes.

 Migrate version list view to sdkman-candidates

repo: sdkman/sdkman-cli


text:
🛑 RtArthur.vue is down

In 2d543b1, RtArthur.vue ($RT_APP) was down:

HTTP code: 0
Response time: 0 ms

Resolved: RtArthur.vue is back up in 241dba2 after 3 hours, 10 minutes.

repo: sdpfnsflkgnpisoqdgs/qmdslfjlskdngpisdg


text:
updated the readme with an opening sentence locally

testing the pull request for readme update.

canx


text:
little changes

Hi! I recently started making pull requests. I made some minor edits. I'm glad if I could help.

Ok 👌 just remember to check for the latest's changes.

authors: B-starboy GoDoVoReZ

repo: sdushantha/wifi-password


text:
multirobot.launch.py - no attribute 'find_path' error

Hello,
I get this error when I try to launch the command "ros2 launch pyrobosim_ros demo_commands_multirobot.launch.py" :
[INFO] [launch]: All log files can be found below /home/yyaker/.ros/log/2023-07-03-11-39-28-542416-yyaker-virtual-machine-13463
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [demo.py-1]: process started with pid [13464]
[INFO] [demo_commands.py-2]: process started with pid [13466]
[demo.py-1] [INFO] [1688377170.511551120] [pyrobosim.demo_world]: World node started.
[demo.py-1] [INFO] [1688377170.512725045] [pyrobosim.demo_world]: Using world file test_world_multirobot.yaml.
[demo_commands.py-2] [INFO] [1688377171.094430860] [pyrobosim.demo_commands]: Publishing sample multirobot task plan...
[demo.py-1] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
[demo.py-1] [robot1] Executing task plan...
[demo.py-1] [robot1] Executing action navigate [1/5]
[demo.py-1] Exception in thread Thread-5 (execute_plan):
[demo.py-1] Traceback (most recent call last):
[demo.py-1]   File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
[demo.py-1]     self.run()
[demo.py-1]   File "/usr/lib/python3.10/threading.py", line 953, in run
[demo.py-1]     self._target(*self._args, **self._kwargs)
[demo.py-1]   File "/home/yyaker/pyroborsim_ws/install/pyrobosim_ros/local/lib/python3.10/dist-packages/pyrobosim/core/robot.py", line 429, in execute_plan
[demo.py-1]     success = self.execute_action(act_msg, blocking=blocking)
[demo.py-1]   File "/home/yyaker/pyroborsim_ws/install/pyrobosim_ros/local/lib/python3.10/dist-packages/pyrobosim/core/robot.py", line 367, in execute_action
[demo.py-1]     path = self.world.find_path(action.target_location, robot=self)
[demo.py-1] AttributeError: 'World' object has no attribute 'find_path'
[demo.py-1] [robot2] Executing task plan...
[demo.py-1] [robot2] Executing action navigate [1/4]
[demo.py-1] Exception in thread Thread-6 (execute_plan):
[demo.py-1] Traceback (most recent call last):
[demo.py-1]   File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
[demo.py-1]     self.run()
[demo.py-1]   File "/usr/lib/python3.10/threading.py", line 953, in run
[demo.py-1]     self._target(*self._args, **self._kwargs)
[demo.py-1]   File "/home/yyaker/pyroborsim_ws/install/pyrobosim_ros/local/lib/python3.10/dist-packages/pyrobosim/core/robot.py", line 429, in execute_plan
[demo.py-1]     success = self.execute_action(act_msg, blocking=blocking)
[demo.py-1]   File "/home/yyaker/pyroborsim_ws/install/pyrobosim_ros/local/lib/python3.10/dist-packages/pyrobosim/core/robot.py", line 367, in execute_action
[demo.py-1]     path = self.world.find_path(action.target_location, robot=self)
[demo.py-1] AttributeError: 'World' object has no attribute 'find_path'

I looked at world.py file and it is true that there is no find_path attribute.

Hi
Thanks for reporting.
There was a change that removed planning functionality from the World class.
Will look into this issue later today.
Feel free to submit a PR if you feel like it.

authors: ibrahiminfinite yassineyakercap

repo: sea-bass/pyrobosim


text:
No setup.py provided in popcycle

I was following the installation directions on the wiki (https://github.com/seaflow-uw/popcycle/wiki/SeaFlow-data-analysis-tutorial), but no python setup.py file is provided in the seaflowpy repo.

That wiki is really out of date. We should fix that. The current way to install popcycle is use the setup.R in the root of this repo, e.g. Rscript setup.R. Or you can build the docker image and use that, build-docker.sh. The container is based on a bioconductor image, so the documentation here should be enough to get it running. Right now it uses bioconductor release 3.15 but you could change that to 3.19 and it should work ok.

authors: ctberthiaume nahlgren

repo: seaflow-uw/popcycle


text:
新手问题， 怎样设置seajs.use('main.js') 重复调用

在一个ajax页面里，调用seajs.use("main.js");
man.js里面是改变一些页面样式效果，
结果我点击翻页时 ajax刷新该页面 ，但是 main.js里面不执行了，
seajs里面调用过一次 第二次就不再调用？这个要怎么解决？

你第一次调用seajs.use("main.js")时，main.js被加载，然后就被缓存了。第二次调用seajs.use("main.js")时，sea.js回去检查main.js有没有加载，如果已经加载了，就不会再做加载动作了，如果没有，才会执行加载。

authors: kbqncf sharewen

repo: seajs/seajs


text:
[v0.3.0][CLI]Optimizing input when using the CLI to update settings

Is your enhancement related to a problem? Please describe.
When using the CLI to update settings, now we should input <setting> and --name <setting>, for example:
walrus setting update OpenAiApiToken --name OpenAiApiToken --value ${OPENAI_TOKEN}

It doesn't make sense, I think we should remove one.
Describe the solution you'd like
Keep <setting> or --name <setting> only.

Environment

Walrus version: main 2314b9d4571c3b6b341dee7ed630a5ffc5793dfe
UI version: dev-0835269

Test Result: pass
--name <setting>  has been removed.
 ~/.walrus/ wa setting update -h
Usage:
  walrus setting update <setting> [flags]

Flags:
      --value string

 ~/.walrus/ wa  setting update OpenAiApiToken --value "xxx"

authors: Finenyaco linyinli

repo: seal-io/walrus


text:
Matching the wrong rule when matching multiple rules at the same time

Describe the bug

Matching the wrong rule when matching multiple rules at the same time
Steps to reproduce

New a resource definition add add two match rules. The selector of the first rule is is that the environment type is Production.

The selector of the second rule is that the environment is k18-prod.

Create an environment called k18-prod with the Production environment type.

Click on env k18-prod and create a resource using the resource definition created in step 1.

Result

It matched the second rule.

Expected behavior

When the resource matches more than one rule, it is expected to match the first rule.

Environment

Walrus version: main 9e14c25ece772fbb582b0be93a0fdb5e486fd53e
UI version: dev-e15ef2e
Additional context
Add any other context about the problem here.

Environment

Walrus version: 4465aa8deb63ff1ceb270b6cbc1c5ae2852d8242
UI version: dev-7b0f2a2

Test Result: pass


text:
Option to use MongoDB like ID

Is your feature request related to a problem? Please describe.
Many apps I believe are based on the _id and how it is defined by MongoDB.
In my case for instance, I use it as the time of creation of documents. Directly in a query in order for instance to get documents by creation time.
function getObjectId(days) {
    const yesterday = new Date()
    days = days || 14
    yesterday.setDate(yesterday.getDate() - days)
    const hexSeconds = Math.floor(yesterday / 1000).toString(16)
    return new ObjectId(hexSeconds + '0000000000000000')
}
const objectId = getObjectId(days)
const query = {}
query._id = { $gt: objectId }

Describe the solution you'd like
Add an option to use mongoDB ids
Describe alternatives you've considered
I have no alternative other than adding createdAt field and change all my queries.

My bad I totally ignored the option timestampData.. a bit of rework and it would be fine.
feel free to close.

repo: seald/nedb


text:
which application you want sealer to build |  那些应用中间件是您最想使用或者体验的呢？可以在该issue下留言。

[WIP]: Image expired, available in the future
Overview
At present, sealer already build many application image for use.We choose OpenEBS Jiva or OpenEBS LocalPV as default persistence storage to enable Stateful applications to easily access Dynamic Local PVs or Replicated PVs. More details about the application can be found in its manifest directory.
Cloud image list
Install tools image

registry.cn-qingdao.aliyuncs.com/sealer-apps/helm:v3.6.0

Infra image

registry.cn-qingdao.aliyuncs.com/sealer-apps/openebs-cstor:2.11.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/openebs-jiva:2.11.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/openebs-localpv:2.11.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/ingress-nginx-controller:v1.0.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/ceph-block:v16.2.5
registry.cn-qingdao.aliyuncs.com/sealer-apps/ceph-file:v16.2.5
registry.cn-qingdao.aliyuncs.com/sealer-apps/ceph-object:v16.2.5
registry.cn-qingdao.aliyuncs.com/sealer-apps/minio:2021.6.17

Database image

registry.cn-qingdao.aliyuncs.com/sealer-apps/mysql:8.0.26
registry.cn-qingdao.aliyuncs.com/sealer-apps/redis:6.2.5
registry.cn-qingdao.aliyuncs.com/sealer-apps/mongodb:4.4.8
registry.cn-qingdao.aliyuncs.com/sealer-apps/postgresql:11.12.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/cassandra:4.0.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/tidb:v1.2.1
registry.cn-qingdao.aliyuncs.com/sealer-apps/cockroach:v21.1.7

Message queue image

registry.cn-qingdao.aliyuncs.com/sealer-apps/kafka:2.8.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/zookeeper:3.7.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/rocketmq:4.5.0

Application image

registry.cn-qingdao.aliyuncs.com/sealer-apps/dashboard:v2.2.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/prometheus-stack:v2.28.1
registry.cn-qingdao.aliyuncs.com/sealer-apps/loki-stack-promtail:v2.2.0
registry.cn-qingdao.aliyuncs.com/sealer-apps/loki-stack-fluentbit:v2.2.0

Welcome everyone to leave a message, to tell us which application image you want to use or experience.
By then , we will have professional engineers to help you build it , and support your product on the cloud.

flannel 网络插件镜像制作
redis-cluster 镜像制作
openebs mayastor 镜像制作

SaaS applications:

erpnext https://helm.erpnext.com/

rabbitmq-cluster 镜像模式

rabbitmq-cluster 镜像模式

hi ,有没有什么详细的要求呢？例如，cloud image的部署指导或者介绍？

想尝试，但是因为是在私有云交付，持久化只能是nfs、minio之类的，中间件就不敢在k8s里跑了

/invite

想尝试，但是因为是在私有云交付，持久化只能是nfs、minio之类的，中间件就不敢在k8s里跑了

我们集成了一些第三方的商业化存储集群镜像，有兴趣可以了解一下。

基于k8s和longhorn存储，部署有kube-prometues，loki-stack，pinpoint或者skywalking这样的，只需要关注业务应用的镜像，包含了k8s集群，存储，监控和日志以及告警。

elasticsearch

harbor

nacos

clickhouse

都不能用啦

都不能用啦

Some application images need to be rebuilt to adapt to the latest sealer version. we will do it automatically .

postgresql+patroni

clair

kubesphere

These images listed above cannot be pulled due to authentication error, any way to access these images.
manifest unknown: manifest unknown, try "docker login" if you are using a private registry

I need to browse, list and search images.

chaos-mesh
chaosblade-operator

clickhouse,elasticsearch

请问集群镜像运行的话，里面的多个进程在一个pod中吗？还是直接进行分布式分发？？？这个概念有些不能理解

分发就行，作为基础服务用
---原始邮件---
发件人: @.>
发送时间: 2022年10月27日(周四) 晚上7:11
收件人: @.>;
抄送: @.@.>;
主题: Re: [sealerio/sealer] which application you want sealer to build |  那些应用中间件是您最想使用或者体验的呢？可以在该issue下留言。 (#607)
请问集群镜像运行的话，里面的多个进程在一个pod中吗？还是直接进行分布式分发？？？这个概念有些不能理解
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

请问集群镜像运行的话，里面的多个进程在一个pod中吗？还是直接进行分布式分发？？？这个概念有些不能理解

@kylinxue 集群镜像是一个静态的概念，将集群部署所依赖的所有镜像构建在一起，称之为集群镜像；如果基于 k8s 集群镜像部署，则和使用普通 k8s 部署起来的应用是没有区别的

authors: Phoebus888 Starnop bxvs888 duhongx fanux fsckzy jafardu kakaZhou719 kylinxue laotoutou li-sen nioshield qwtsc sunshinejdq vinzol yuzhichang

repo: sealerio/sealer


text:
Update build configuration

The build configuration of this project is outdated and may no longer work.
This pull request will be merged automatically if there are no conflicts.

:tada: This PR is included in version 2.6.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

repo: sealsystems/node-tlscert


text:
fix: Rename ACS parent credential ID property

Rename parent_acs_credential_id to match the internal value of parent_credential_id

@xplato The types are auto generated. If we merge this it will just be reset on the next seam connect update. We need to fix the type on the API.

This update was intentional: https://github.com/seamapi/types/pull/570

authors: razor-x xplato

repo: seamapi/types


text:
Watch option does not work

The --watch option for darklua process does not seem to do anything in WSL, the files do not get regenerated when they are changed.

fixed (files need to be in the WSL filesystem)

repo: seaofvoices/darklua


text:
Update for stfrock

Add child inventory map

@julesbravo can this be closed ?

This can be closed but the branch should still exist. This was a one off change for a client.

authors: evanjohnso julesbravo


text:
FacetStore and forFacetsOnly

Sites with this functionality enabled do not work with Snap due to the lack of data being returned by the meta endpoint. Currently the FacetStore errors out in these cases, it should not.

Not something we will be supporting in the near future.

repo: searchspring/snap


text:
请问能更新samples中得例子嘛？

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
请问能更新samples中得例子嘛？不同的版本相差比较大，跑不通
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Just paste your stack trace here!

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx
xxx
xxx

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version :
OS :
Others:

done

repo: seata/seata


text:
seata高可用问题

client端服务集群＋seata server集群，如tcc对于client发起的事物未commit/rollback client＋server都down机，重启后server集群xid只会被一台实例处理，选择一台对应applicationid进行commit/rollback么？
server集群如何决定某xid故障由一台实例处理呢？
谢谢

也就是server故障恢复处理数据库xid数据如何保证不被集群server重复处理

client和server均集群情况下
1、at模式client集群会被重复通知单已经支持幂等？
2、tcc模式client集群会被重复通知接口保证幂等？
3、saga client集群会被重复通知需如何保证幂等？

看了代码，感觉server集群多台实例重启的恢复可能会导致通知到client集群的不同实例


text:
Fix Saga ExpressionEvaluator not support null value #1829

Ⅰ. Describe what this PR did
Fix Saga ExpressionEvaluator not support null value
Ⅱ. Does this pull request fix one issue?
#1829

Codecov Report

Merging #1837 into develop will decrease coverage by 0.02%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #1837      +/-   ##
=============================================
- Coverage      54.95%   54.93%   -0.03%
  Complexity      2352     2352
=============================================
  Files            421      421
  Lines          14266    14238      -28
  Branches        1682     1671      -11
=============================================
- Hits            7840     7821      -19
+ Misses          5681     5674       -7
+ Partials         745      743       -2

Impacted Files
Coverage Δ
Complexity Δ

...rotobuf/convertor/RegisterTMResponseConvertor.java
81.25% <0%> (-0.57%)
3% <0%> (ø)

...rotobuf/convertor/RegisterRMResponseConvertor.java
81.25% <0%> (-0.57%)
3% <0%> (ø)

...server/store/file/FileTransactionStoreManager.java
59.86% <0%> (-0.33%)
29% <0%> (ø)

...otobuf/convertor/GlobalBeginResponseConvertor.java
93.75% <0%> (-0.19%)
3% <0%> (ø)

...tobuf/convertor/BranchReportResponseConvertor.java
95.83% <0%> (-0.17%)
3% <0%> (ø)

...buf/convertor/BranchRegisterResponseConvertor.java
96% <0%> (-0.16%)
3% <0%> (ø)

...uf/convertor/GlobalLockQueryResponseConvertor.java
96.29% <0%> (-0.14%)
3% <0%> (ø)

...tobuf/convertor/GlobalCommitResponseConvertor.java
96.96% <0%> (-0.09%)
3% <0%> (ø)

...buf/convertor/GlobalRollbackResponseConvertor.java
96.96% <0%> (-0.09%)
3% <0%> (ø)

...tobuf/convertor/GlobalStatusResponseConvertor.java
96.96% <0%> (-0.09%)
3% <0%> (ø)

... and 18 more


text:
feature: support redis sentinel mode

Ⅰ. Describe what this PR did
supports transaction session storage for redis sentinel mode
Ⅱ. Does this pull request fix one issue?
fixes #3339

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

script/config-center/config.txt 需要修改

application.properties, application.yml这些文件也要改一下

additional-spring-configuration-metadata.json 这个文件把配置提示加上。
顺便参考seata.client.log.exception-rate，标记一下原来Redis的配置会被迁移到sington上，建议大家不要用旧的了。

Codecov Report

Merging #3348 (9a6b2b0) into develop (ee18dad) will decrease coverage by 0.16%.
The diff coverage is 5.00%.

@@              Coverage Diff              @@
##             develop    #3348      +/-   ##
=============================================
- Coverage      51.55%   51.39%   -0.17%
+ Complexity      3341     3340       -1
=============================================
  Files            616      616
  Lines          20247    20236      -11
  Branches        2540     2498      -42
=============================================
- Hits           10439    10400      -39
- Misses          8756     8762       +6
- Partials        1052     1074      +22

Impacted Files
Coverage Δ
Complexity Δ

...ava/io/seata/core/constants/ConfigurationKeys.java
0.00% <ø> (ø)
0.00 <0.00> (ø)

...seata/server/storage/redis/JedisPooledFactory.java
25.00% <5.00%> (-15.00%)
4.00 <0.00> (ø)

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
3.00% <0.00%> (ø%)

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
3.00% <0.00%> (ø%)

...n/src/main/java/io/seata/common/util/IdWorker.java
77.08% <0.00%> (-6.25%)
11.00% <0.00%> (-1.00%)

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalStatusRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...obuf/convertor/GlobalRollbackRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

... and 29 more


text:
Questions : no test were found

Hey,
I try implement to my project, but still have an error "no test were found, Test running failed: Instrumentation run failed due to 'cucumber.runtime.CucumberException'". I already read this thread #3, but still i cannot solve this error. I would greatly appreciate it if you could tell me what I'm doing wrong
Structure folder

CucumberTestRunner
`@Override
public void onCreate(final Bundle bundle) {
super.onCreate(bundle);
final String tags = sea.olxsulley.BuildConfig.TEST_TAGS;
if (!tags.isEmpty()) {
bundle.putString(CUCUMBER_TAGS_KEY, tags.replaceAll(",", "--").replaceAll("\s", ""));
}
instrumentationCore.create(bundle);
start();
}
@Override
public void onStart() {
    waitForIdleSync();
    instrumentationCore.start();
}`

CucumberOptions
@CucumberOptions(         features ="features",         glue = {"sea.pits.cucumber.steps"},         format = {"preety",                 "html:/data/data/com.app.xxxx/cucumber-reports/html-report",                 "json:/data/data/com.app.xxxx/cucumber-reports/cucumber.json",                 "junit:/data/data/com.app.xxxx/cucumber-reports/cucumber.xml"         },         tags = {"@login-scenarios"} ) class AllTestSuites { }
Steps
`    @Given("^I see the Entrance or On Boarding page$")
public void i_see_the_Entrance_or_On_Boarding_page() throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
@When("^I swipe entrance$")
public void i_swipe_entrance() throws Throwable {
    // Write code here that turns the phrase above into concrete actions
    throw new PendingException();
}

@Then("^I click skip button$")
public void i_click_skip_button() throws Throwable {
    // Write code here that turns the phrase above into concrete actions
    throw new PendingException();
}`

Feature File

Feature: Entrance Testing Espresso
@login-scenarios
Scenario: Entrance Test
Given I see the Entrance or On Boarding page
When I swipe entrance
Then I click skip button

Hi,
I recommend that you download this project and run it as it is from Android Studio, then if that works, have this project and yours side by side to compare classes.
One difference I noticed is in you CucumberTestRunner's onCreate method, there is a call to start() at the end, maybe that is causing trouble. See this file for comparison.

Already solved my problem,
first my problem on my Gradle on :app
My application id have different name with my package test, fix with change the "testApplicationId" using my package name. Instrument will include all test.
second
I created custom rule for create hooks, but cucumber will give me exception if i not call directly @Rule.
third
and onCreate() on CucumberTestRunner.
Thanks, for your help

authors: BuddyArifin sebaslogen

repo: sebaslogen/CleanGUITestArchitecture


text:
Implement FileUnit

This PR adds support for code units that cover files.
It should not break any existing code since we use a pattern for the @covers annotation that does not collide with the existing patterns.
Future work: relative paths
Future work would be to add support for relative paths, the most important open question for this is: relative to what?
Using relative paths would require some configuration, which we either have to inject or extract from global state. A simple but arguably not very pretty solution would be to use PHP's search path.
Another solution would be to add a static configurator function to mapper, that is easy to implement but could be considered fairly ugly.
class Mapper {
    public static function setBasePathForRelativePaths($absoluteDirectoryPath): void {
        self::assertDirectoryExists($absoluteDirectoryPath);
        self::$basePath = $absoluteDirectoryPath;
    }

Another option would be to change Test::getLinesToBeCovered() to allow a Mapper instance to be passed in:
    public static function getLinesToBeCovered(string $className, string $methodName, Mapper $mapper = null)

This would allow callers to optionally pass in their own Mapper, but requires a lot more changes everywhere in the chain..

CI test runner seems broken. For what it's worth: locally the tests pass.

Note: this sets COMPOSER_ROOT_VERSION in the CI jobs to satisfy the circular dependency between code-unit and phpunit.

Note: this sets COMPOSER_ROOT_VERSION in the CI jobs to satisfy the circular dependency between code-unit and phpunit.

I would like to understand why that is necessary. It works fine (without setting COMPOSER_ROOT_VERSION) outside the CI environment.
Maybe @localheinz knows?

Phpunit has a dependency on code unit, this dependency is not met by the PR branch.

This is an excerpt from CI:
 phpunit/phpunit dev-master requires sebastian/code-unit ^2.0 -> satisfiable by sebastian/code-unit[dev-master, 2.0.x-dev (alias of dev-master)] from composer repo (https://repo.packagist.org) but sebastian/code-unit[dev-261a3356bcebf18c64ed1d4f507d200d0c776652] from root package repo has higher repository priority. The packages with higher priority do not match your constraint and are therefore not installable. See https://getcomposer.org/repoprio for details and assistance.

Let me know if there is anything else I can do to get this in!

Merged manually, thanks.

Thanks! Any idea what caused the CI issues (for future reference)? Or are we regarding it as a fluke and hoping it won't happen on future PRs?

I do not care enough right now to investigate this. Also note that I made the following changes:

1e3e1edf909419eb3097bfdb8c422d88c753dca3
351056ad7b78031b7fcdd6fd47036b209d8aa880
0b7b0a85f97ae3947fcf9b1fa54f23367f7b89f7

I removed this functionality because I do not think it will be required when we eventually implement #[CoversFile(string $filename)] in PHPUnit. As far as I can see, this functionality would only be required if we were to implement @covers file:/path/to/file or something like that. But the annotations in PHPUnit are closed for further development and they will eventually be removed.

I checked out the changes, was wondering how we'd be able to use them now.

But the annotations in PHPUnit are closed for further development and they will eventually be removed.

I did not know that. LGTM, the only reason to implement that was indeed so that we had @covers file: support, if that is not needed it's fine.

See https://github.com/sebastianbergmann/phpunit/issues/4502#issue-733034967 for details.

authors: SamMousa sebastianbergmann

repo: sebastianbergmann/code-unit


text:
Purista cli -> add service breaks under Linux due to case sensitive paths

Describe the bug
When executing pnpm purista add service to append a new service into a project, an error is generated.
To Reproduce
Which version do you use:

PURISTA version: 1.9.0 (latest)
node /bun/deno version: v20.11.0

Expected behavior
A new service scaffold needs to be added.
Log output
✖  ++ ENOENT: no such file or directory, stat '/home/<my-user>/Projects/purista-demos/users/node_modules/.pnpm/@purista+cli@1.9.0/node_modules/@purista/cli/blueprint/src/service/ServiceEvent.enum.ts.hbs'
✖  ++ src/service/{{camelCase name}}/readme.md Aborted due to previous action failure
✖  ++ src/service/{{camelCase name}}/general{{properCase name}}ServiceInfo.ts Aborted due to previous action failure
✖  ++ src/service/{{camelCase name}}/v{{version}}/readme.md Aborted due to previous action failure
✖  ++ src/service/{{camelCase name}}/v{{version}}/{{camelCase name}}V{{version}}Service.ts Aborted due to previous action failure
✖  ++ src/service/{{camelCase name}}/v{{version}}/{{camelCase name}}V{{version}}Service.test.ts Aborted due to previous action failure
✖  ++ src/service/{{camelCase name}}/v{{version}}/{{camelCase name}}V{{version}}ServiceBuilder.ts Aborted due to previous action failure
✖  ++ src/service/{{camelCase name}}/v{{version}}/index.ts Aborted due to previous action failure
✖  ++ src/service/{{camelCase name}}/v{{version}}/{{camelCase name}}ServiceConfig.ts Aborted due to previous action failure
✖  -> Aborted due to previous action failure
✖  -> Aborted due to previous action failure
 ELIFECYCLE  Command failed with exit code 1

Screenshots

Additional context
If I copy serviceEvent.enum.ts.hbs to ServiceEvent.enum.ts.hbs it passes to create all the .ts and .md files.

I just tried it with standard npm and it's the same thing. There's a commit of yours from the end of March, which is supposed to have both the files, but it seems that node package managers aren't respecting it. I guess, it should just be left with the camel case version of the file name?! Windows should pick it just right.

Hi @kostadinnm,
thanks for your feedback.
There was a copy-paste issue in the CLI source. This should be fixed in the recent published version 1.9.1.
It's published a few minutes ago.
Can you try it out, and come back if you have any issues?
Thanks for trying out PURISTA and your feedback.

authors: kostadinnm sebastianwessel

repo: sebastianwessel/purista


text:
Pytorch's nn.BatchNorm2d does not work in TorchModel()

Issue Type
Bug
Source
binary
Secretflow Version
SecretFlow 1.2.0.dev20231009
OS Platform and Distribution
macOS 13.2.1 (22D68)
Python version
Python 3.8.18
Bazel version
No response
GCC/Compiler version
No response
What happend and What you expected to happen.
It seems that Pytorch's nn.BatchNorm2d does not work in TorchModel(). I found if nn.BatchNorm2d is included in the model, the following error would occur. While I removed them from the model, the code can run normally.
Traceback (most recent call last):
  File "batchnorm_error_reproduce.py", line 187, in <module>
    history = fl_model.fit(
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/secretflow/ml/nn/fl/fl_model.py", line 453, in fit
    initial_weight = self.initialize_weights()
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/secretflow/ml/nn/fl/fl_model.py", line 123, in initialize_weights
    initial_weight = self._aggregator.average(clients_weights, axis=0)
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/secretflow/security/aggregation/secure_aggregator.py", line 297, in average
    return self._device(_average)(
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/secretflow/device/device/pyu.py", line 98, in wrapper
    sfd.remote(self._run)
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/ray/remote_function.py", line 226, in remote
    return func_cls._remote(args=args, kwargs=kwargs, **updated_options)
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/secretflow/distributed/primitive.py", line 107, in _remote
    args, kwargs = _resolve_args(*args, **kwargs)
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/secretflow/distributed/primitive.py", line 97, in _resolve_args
    actual_vals = ray.get(list(refs.values()))
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/ray/_private/client_mode_hook.py", line 105, in wrapper
    return func(*args, **kwargs)
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/ray/_private/worker.py", line 2309, in get
    raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(AssertionError): ray::_Masker.mask() (pid=94879, ip=127.0.0.1, repr=<secretflow.security.aggregation.secure_aggregator._Masker object at 0x7f934f471bb0>)
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/secretflow/device/proxy.py", line 79, in wrapper
    return method(*args, **kwargs)
  File "/Users/mwu11/anaconda3/envs/sf/lib/python3.8/site-packages/secretflow/security/aggregation/secure_aggregator.py", line 76, in mask
    assert (
AssertionError: Data should have same dtypes but got int64 float32.

Reproduction code to reproduce the issue.
from tqdm import tqdm
import numpy as np
import torch
import torch.nn as nn
import torch.optim as optim
import torch.utils.data as data
import torchvision.transforms as transforms

import medmnist
from medmnist import INFO, Evaluator

import secretflow as sf
from secretflow.ml.nn.utils import BaseModule, TorchModel
from secretflow.ml.nn.fl.utils import metric_wrapper, optim_wrapper
from secretflow.ml.nn import FLModel
from torchmetrics.classification import Accuracy, Precision
from secretflow.security.aggregation import SecureAggregator
from secretflow.utils.simulation.datasets import load_mnist
from torch.nn import functional as F
from secretflow.data.ndarray import load

data_flag = 'dermamnist'
# data_flag = 'breastmnist'
download = True

NUM_EPOCHS = 3
BATCH_SIZE = 128
lr = 0.001

info = INFO[data_flag]
task = info['task']
n_channels = info['n_channels']
n_classes = len(info['label'])

print(f'n_channels: {n_channels}')
print(f'n_classes: {n_classes}')

DataClass = getattr(medmnist, info['python_class'])

# preprocessing
data_transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize(mean=[.5], std=[.5])
])

# load the data
train_dataset = DataClass(split='train', transform=data_transform, download=download)
val_dataset = DataClass(split='val', transform=data_transform, download=download)
test_dataset = DataClass(split='test', transform=data_transform, download=download)

# encapsulate data into dataloader form
train_loader = data.DataLoader(dataset=train_dataset, batch_size=BATCH_SIZE, shuffle=True)
train_loader_at_eval = data.DataLoader(dataset=train_dataset, batch_size=2*BATCH_SIZE, shuffle=False)
val_loader = data.DataLoader(dataset=val_dataset, batch_size=2*BATCH_SIZE, shuffle=False)
test_loader = data.DataLoader(dataset=test_dataset, batch_size=2*BATCH_SIZE, shuffle=False)

class Net(BaseModule):
    def __init__(self):
        super(Net, self).__init__()

        self.layer1 = nn.Sequential(
            nn.Conv2d(3, 16, kernel_size=3),
            nn.BatchNorm2d(16),
            nn.ReLU())

        self.layer2 = nn.Sequential(
            nn.Conv2d(16, 16, kernel_size=3),
            nn.BatchNorm2d(16),
            nn.ReLU(),
            nn.MaxPool2d(kernel_size=2, stride=2))

        self.layer3 = nn.Sequential(
            nn.Conv2d(16, 64, kernel_size=3),
            nn.BatchNorm2d(64),
            nn.ReLU())

        self.layer4 = nn.Sequential(
            nn.Conv2d(64, 64, kernel_size=3),
            nn.BatchNorm2d(64),
            nn.ReLU())

        self.layer5 = nn.Sequential(
            nn.Conv2d(64, 64, kernel_size=3, padding=1),
            nn.BatchNorm2d(64),
            nn.ReLU(),
            nn.MaxPool2d(kernel_size=2, stride=2))

        self.fc = nn.Sequential(
            nn.Linear(64 * 4 * 4, 128),
            nn.ReLU(),
            nn.Linear(128, 128),
            nn.ReLU(),
            nn.Linear(128, 7))

    def forward(self, x):
        x = self.layer1(x)
        x = self.layer2(x)
        x = self.layer3(x)
        x = self.layer4(x)
        x = self.layer5(x)
        x = x.view(x.size(0), -1)
        x = self.fc(x)
        return x

# Check the version of your SecretFlow
print('The version of SecretFlow: {}'.format(sf.__version__))

# In case you have a running secretflow runtime already.
sf.shutdown()

sf.init(['alice', 'bob', 'charlie'], address='local')
alice, bob, charlie = sf.PYU('alice'), sf.PYU('bob'), sf.PYU('charlie')

train_x_alice = train_dataset.imgs[:len(train_dataset)//2]
train_x_bob = train_dataset.imgs[len(train_dataset)//2:]

train_x_alice = np.transpose(train_x_alice, (0, 3, 1, 2))
train_x_bob = np.transpose(train_x_bob, (0, 3, 1, 2))

train_y_alice = train_dataset.labels[:len(train_dataset)//2]
train_y_bob = train_dataset.labels[len(train_dataset)//2:]

val_x_alice = val_dataset.imgs[:len(val_dataset)//2]
val_x_bob = val_dataset.imgs[len(val_dataset)//2:]

val_x_alice = np.transpose(val_x_alice, (0, 3, 1, 2))
val_x_bob = np.transpose(val_x_bob, (0, 3, 1, 2))

val_y_alice = val_dataset.labels[:len(val_dataset)//2]
val_y_bob = val_dataset.labels[len(val_dataset)//2:]

np.save('train_x_alice.npy', train_x_alice)
np.save('train_x_bob.npy', train_x_bob)
np.save('train_y_alice.npy', train_y_alice)
np.save('train_y_bob.npy', train_y_bob)

np.save('val_x_alice.npy', val_x_alice)
np.save('val_x_bob.npy', val_x_bob)
np.save('val_y_alice.npy', val_y_alice)
np.save('val_y_bob.npy', val_y_bob)

train_x = load({alice: 'train_x_alice.npy', bob: 'train_x_bob.npy'}, partition_way='horizontal')
train_y = load({alice: 'train_y_alice.npy', bob: 'train_y_bob.npy'}, partition_way='horizontal')

val_x = load({alice: 'val_x_alice.npy', bob: 'val_x_bob.npy'}, partition_way='horizontal')
val_y = load({alice: 'val_y_alice.npy', bob: 'val_y_bob.npy'}, partition_way='horizontal')

loss_fn = nn.CrossEntropyLoss

optim_fn = optim_wrapper(optim.Adam, lr=1e-3)

model_def = TorchModel(model_fn=Net,
                       loss_fn=loss_fn,
                       optim_fn=optim_fn,
                       metrics=[
                           metric_wrapper(Accuracy, task="multiclass", num_classes=7, average='micro'),
                           metric_wrapper(Precision, task="multiclass", num_classes=7, average='micro')
                       ],)

device_list = [alice, bob]
server = charlie
aggregator = SecureAggregator(server, [alice, bob])

# spcify params
fl_model = FLModel(
    server=server,
    device_list=device_list,
    model=model_def,
    aggregator=aggregator,
    strategy='fed_avg_w',  # fl strategy
    backend="torch",  # backend support ['tensorflow', 'torch']
)

history = fl_model.fit(
    train_x,
    train_y,
    validation_data=(val_x, val_y),
    epochs=1,
    batch_size=128,
    aggregate_freq=1,
)

Hello, we will reply to you after internal discussion

When using nn.BatchNorm2d, the num_batches_tracked model weight's type is torch.int64 while other weight is torch.float32. The SecureAggregator (same in PlainAggregator) does not support different types in average.
In fact, BN is different from other models. In the scenario of federated learning, the BN model should only be operated locally and should not be aggregated. There are currently relevant solutions (https://arxiv.org/abs/2102.07623 , also see https://zhuanlan.zhihu.com/p/551722592), and the main idea is to extract the BN layer from the model and not perform aggregation.
You can try write your own Aggregator for processing. BTW, we have plans to implement and release the task of FedBN in secretflow. If you are interested, you are welcome to participate!

authors: AustinApple fy222fy wangyixianggogo

repo: secretflow/secretflow


text:
Is Object-Oriented Overrated?

Brief Summary:
Most professional programming languages are object-oriented, including Java and the C languages. However, their key features (such as encapsulation and inheritance) have come under attack many times in recent memory. Object-oriented detractors claim these features are overcomplicated, and make code writing and maintenance more difficult. We will explore these arguments, and their counters, to better understand the cases where object-oriented programming is more or less useful.
Key Takeaways:
What are the 3-5 most important things the reader should understand or be able to do after reading this article?

Recognize the unique features of the object-oriented paradigm.
Understand arguments that these features are counterproductive for professional programming tasks.
Understand the counterarguments to the above.

References:

https://medium.com/better-programming/object-oriented-programming-the-trillion-dollar-disaster-92a4b666c7c7
https://thenewstack.io/why-are-so-many-developers-hating-on-object-oriented-programming/
https://stackoverflow.blog/2020/09/02/if-everyone-hates-it-why-is-oop-still-so-widely-spread/
https://www.youtube.com/watch?v=QM1iUe6IofM

published

authors: hectorkambow nicholaskross


text:
How to build a real-time location tracker using leaflet.js

Proposed title of article
How to build a real-time location tracker using leaflet.js
Introduction paragraph (2-3 paragraphs):
Geolocation refers to the identification of the geographic location of a user or computing device via a variety of data collection mechanisms. Leaflet.js library has made it so easy in getting a person's position using their unique plugins and a well-documented collection of API weighing just about 39kb of  JS.
In this tutorial, we will guide users on the exciting journey of building their own location tracker.
Key takeaways:
After reading this guide, the reader will learn:

Create a simple map layer using OSM.
Use a location search API.
Build real-time tracker using HTML5 geolocation API

References:
Building Simple Maps using Leaflet.js
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Good afternoon and thank you for submitting your topic suggestion. @muyiwexy
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

Hi, @muyiwexy. Great topic suggestion. Topic approved 🚀. Be sure to add lots of detail to make your article stand out from other tutorials which use Leaflet.js and the Geolocation API.


text:
MySQL Database and Java swing desktop Graphical user Interface

Proposed title of article
MySQL Database and Java swing desktop Graphical User Interface
Introduction paragraph (2-3 paragraphs):
Java Swing is suitable for desktop application development. Desktop applications should provide an interface where the user can enter data. Through interaction with the desktop application components, the data should be saved in a database (MySQL) for processing or any other manipulation .i.e. future retrieval.
In this article, we will get to learn how the Java Swing desktop application can communicate with the MySQL database. We will create a simple application that will be able to demonstrate saving and getting data store in MySQL database.  At the end of the article, the learner will be able to design a simple Java Swing application that can connect to the MySQL database, save data and retrieve data back to the UI. The application will be able to interact with the user whereby the user can provide connection details for MySQL.
Key takeaways:

Java swing MySQL Connector
MySQL creating database and tables
Insert, update and delete data from MySQL database from Java GUI
Java Swing desktop graphical user interface design

References:
https://www.javatpoint.com/java-swing

Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

@JosephAyoma

@JosephAyoma
How will this article differ from what is published on other sites

Unfortunately, mysql connector logic is already covered here -> https://www.section.io/engineering-education/java-jdbc/

@hectorkambow in this article, I will discuss how to connect to MySQL from a graphical user interface designed in Java Swing. Unlike in the article cited by @WanjaMIKE my article will demonstrate how to get connection string from graphical user interface, save the connection string in a file and retrieve them for connection purposes. This makes it easier to manager desktop application MySQL database connection from a GUI platform.
I will be able to give a flowing example demonstration and a complete application which can be run outside IDE to demonstrate the concept fully.
I seek for your advice on the issue.

@WanjaMIKE  @hectorkambow I am patiently waiting for your guidance and advice on this issue, could it be opened and approved that I may do that article based on my previous comment? Please advise and I stand guided.

authors: JosephAyoma WanjaMIKE hectorkambow


text:
Deploy flutter to gce

Article checklist
Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #2805

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

@hectorkambow , @WanjaMIKE , @mercymeave
This is the new PR with the appropriate corrections

Merged #3826

authors: WanjaMIKE paulromans


text:
Phone verification in laravel using twilio

Article checklist
Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #issue-number

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

@jumamiller @hectorkambow I have edited and modified my article

Hi, what's the difference between this submission and the one closed? Unfortunately, it has not improved. Kindly send me a text on slack so that I may walk you through it.

@jumamiller I have sent you a text slack already

@philzy94
it seems this PR is still quite a bit aways from being completed.
As a rule of thumb - please only submit articles (pull requests) with a complete and fully polished article - ready to be published.
All revisions and edits should be completed on your own forked repo (as to not take up room in the queue).
We will be closing this and please re-submit when it is ready to be published as a new PR (and you can add the duplicate label) and ping the reviewer and myself.
Closing a PR does NOT mean the article can not be published (or fixed) it simply means that the edits, revisions, and fixes will happen outside of the queue.
👍

authors: hectorkambow jumamiller philzy94


text:
Effectiveness of advanced data analytics in enhancing compliance in banks (#6374 duplicate)

Attached is the author's index and avatar. #6175

Kindly merge this to the #6374 which was closed due to inactivity. I am anew contributor and was confused when uploading

@Florence-Mwangi
Please note that, we might have to close this PR again if the index files and the PR checklist are not added.
Fyi, this is the second time.

authors: Florence-Mwangi srishilesh


text:
Improving Skills List with Icons

What This PR Does

Uses the Devicons icon library to replace the skills list (.Params.skills) with icons.
Uses aria-labels for accessibility and rems for icon sizing

Files Edited

Single Author Template Layout - /layouts/authors/single.html
Louise Findlay's Author Profile - /content/authors/louise-findlay/index.md

How to Test

Checkout this PR branch
Start the local hugo server - hugo server -D
Navigate to localhost:1313/authors/louise-findlay
Verify that the Skills section shown matches the screenshot below and that the Skills section is still absent on authors' front-matter without the correct metadata

Screenshot

Potential Improvements

Move the in-line CSS style for the .skills class to a CSS file - @hborrelli1, would the /assets/scss/compentents/_author-blocks.scss file be the most appropriate?
Add some spacing between the icons and the social media links below

Related Issue
This closes #7087.

Closed due to additional commits in the branch from the forked master. Cleanly recreated in #7089.


text:
[DEV] cleanup images older than 90 days

github says they do this, but they don't.
ublue started doing this weekly in an effort to reduce wasted disk space as a courtesy since we're using this storage for free :)

https://github.com/secureblue/secureblue/pull/738

repo: secureblue/secureblue


text:
docs: :memo: add more context and comparison of frameworks to Why Django post

Description

This PR updates the Why Django post, adding more context and pros and cons for the frameworks considered.
Related Issues

Closes #35

See also Issue #5
Reviewer Focus

This PR only needs a quick review.

Checklist

For general documentation:

[ ] Spell-check

[ ] US
[x] UK

[x] Did the page(s) preview correctly on your machine without breaking
[x] New category words (keywords) (if any) added to the code snippet file

This is done, unless there are any other suggestions :slightly_smiling_face:

repo: seedcase-project/decisions


text:
Update Admin Change State UI

Is your feature request related to a problem? Please describe.
We need to add the new program states of scholarx-february edition to the admin dashboard
Describe the solution you'd like
Update the Admin Dashboard by using the following program states order:

CREATED
MENTOR_APPLICATION
MENTOR_SELECTION
MENTEE_APPLICATION
ADMIN_MENTEE_FILTRATION - "During this state, the admin can review the mentee applications and assign them to mentors for further review."
MENTEE_SELECTION
WILDCARD - "During this state, the admin can assign mentors for the mentees who are not approved by mentors."
ONGOING
COMPLETED
REMOVED

Additional context
The Endpoint is the same endpoint we had in previous edition

Hello @Piumal1999, Can you assign me this issue :)

@99sumedha I added the missing state descriptions.

CREATED
MENTOR_APPLICATION
MENTOR_SELECTION
MENTEE_APPLICATION
ADMIN_MENTEE_FILTRATION - "During this state, the admin can review the mentee applications and assign them to mentors for further review."
MENTEE_SELECTION
WILDCARD - "During this state, the admin can assign mentors for the mentees who are not approved by mentors."
ONGOING
COMPLETED
REMOVED

Also update the src/scenes/Home/components/MentorPrograms/components/MentorProgramCard/interfaces.ts file

@Piumal1999 can you also send me the names of the new states.

ADMIN_MENTEE_FILTRATION - "Admin-Mentee filtration period"
WILDCARD - "Wildcard period"

repo: sef-global/scholarx-frontend


text:
Add Accordion

I think a rich UI library like this needs an accordion.

@sslgeorge Hello! can I work in this issue?

@sslgeorge Hello! Is this issue taken?

Not yet

Me and @tcho0501 are on this

Hey folks -- Evergreen is heavily influenced by our own internal component needs at Segment. We don't have plans to include an Accordion component yet, but when we do, we'll be happy to let y'all know. Going to close this out for now.

authors: akleiner2 jackcwu marianayap sslgeorge

repo: segmentio/evergreen


text:
Made arrays in submenus of preferences translatable.

And a minor update of German translation.

Thanks

authors: seizonsenryaku twckr

repo: seizonsenryaku/HayaiLauncher


text:
Extra blank line in dropdown

Hello
I'm using select2 inside a angular directive which create the select2 object and watches for options changes in order to update it, no multiple selection, empty placeholder. I've created a jsbin here: https://jsbin.com/pagucodubi/edit?html,js,output
What happens is that when the dropdown opens it shows some extra space on top which corresponds to an empty option; what I need is having no placeholder, no option  initially selected and showing in the dropdowns only valid options.
I tried different ways:

if I remove it with jquery ( with $(selectize).find('option').remove() before setting data again) the component automatically selects the first option
I tried then to listen to the select2 open event but when this is fired the options are still not there (see my question here: https://groups.google.com/forum/#!topic/select2/gYwazTxKMfg)
if I remove ng-model from the html template then the problem is solved (but I lost the binding with my controller)

Is there a way to have an empty placeholder (which I read requires an empty option) but hide this empty option from the dropdown?

Hello,
I am facing the same issue described above. Please help me to solve the problem.
Thanks

Same problem in the last version with ng-options.

Hello,
Why issue is closed? Is problem resolved?

authors: RanjanSingh235 dariospadoni fearintino felansu


text:
multiple options add empty string to selected items

I am using multiple select option of select2 with RoR. I simply figure out something wrong with this option when passing selected items to rails controller. Kind refer to the following snapshot:
strong parameters
"time_off_policies"=>["", "1", "2"]
"" is always passing along whenever I use multiple option of select2 and below is the codes:
= f.input :time_off_policies, label: 'Time Off Policy', collection: eligible_timeoff_policies, input_html: { class: 'select-select2', multiple: 'multiple', data: { placeholder: 'Please select Paid Timeoff Policies'} }

This appears to be more of a usage question than a bug report or common feature request.  As we continue to keep the Select2 issue tracker geared towards these two areas, bug reports and common feature requests, we are redirecting usage questions to other communities such as the mailing list, IRC, or Stack Overflow.

@vsrboth See: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select

Gotcha

The HTML specification says when multiple parameter passed to select and all options got deselected web browsers do not send any value to server. Unfortunately this introduces a gotcha: if an User model has many roles and have role_ids accessor, and in the form that edits roles of the user the user deselects all roles from role_ids multiple select box, no role_ids parameter is sent. So, any mass-assignment idiom like

@user.update(params[:user])
wouldn't update roles.

To prevent this the helper generates an auxiliary hidden field before every multiple select. The hidden field has the same name as multiple select and blank value.

Note: The client either sends only the hidden field (representing the deselected multiple select box), or both fields. This means that the resulting array always contains a blank string.

In case if you don't want the helper to generate this hidden field you can specify include_hidden: false option.

authors: kevin-brown sauy7 vsrboth


text:
Add extra event results:rendered after results are rendered

This pull request includes a

[ ] Bug fix
[X] New feature
[ ] Translation

The following changes were made

Trigger new event "results:rendered" when results are rendered
It could be usefull to trigger an event when results have been well formated and are displayed. Exemple: generate the item colored avatar.

If this is related to an existing ticket, include a link to it as well.

I truly regret choosing this javascript plugin. 5 month after submitting this simple pull-request (with tests updated and passing) we don't have any feedback (and lot of other issues/PR don't have too).

Hi,
i hade the same issue. Wanted to position tool tip based if dropdown opens up or down.
And came with my own solution changing select2 lib. version 4.03
I added an event "loaded" in function
EventRelay.prototype.bind
var relayEvents = [                 'open', 'opening',                 'close', 'closing',                 'select', 'selecting',                 'unselect', 'unselecting',                 'loaded'  ];
then call trigger of the event, when data is attached to DOM. In function
AttachBody.prototype.bind
in
 container.on('results:all', function () {                           self._positionDropdown();                           self._resizeDropdown();                           self.trigger("loaded", {});                       });
i added: self.trigger("loaded", {});
and then just listen to new event
$('select').on('select2:loaded', function (evt) {   // Do something });
Probably not the best solution but did the trick for my problem

authors: ScullWM Uffman