text:
windows: compilation warnings

closes #1530

@bzoz @refack Can one of you review?  The changes LGTM but I don't know if DebugBreak() is something you can expect to be available.

DebugBreak() is WIN32 API (https://msdn.microsoft.com/library/windows/desktop/ms679297.aspxx) and it's implemented by MinGW, so it should be avalible.

BTW: Do we have an official recipe for building for MinGW?
@carenas How do you do it?

I was using a crosscompiler running in macOS, but the procedure will be the same if running in linux or windows with msys2 :
$ ./autogen.sh
$ ./configure --host=x86_64-w64-mingw32
$ make
if using MSYS2 MinGW {32,64}-bit, --host is not needed, @refack

Landed in 939a8f1a5b8a7b419cf4c44295e0de57a5c37500. Thanks!

authors: bnoordhuis carenas cjihrig refack

repo: libuv/libuv


text:
darwin: move hardcoded cpu value to header

I would like to suggest moving the hardcoded Darwin CPU value to the header. Currently, it appears to be used solely by one file. if we need the value again in the future, we could simply pass the header name into a variable, making it more accessible.
any suggestions for other naming are welcome :)

Thanks for the pull request but we don't want such implementation details to leak out into the public API, because then we're stuck with them forever.

Thanks for the pull request but we don't want such implementation details to leak out into the public API, because then we're stuck with them forever.

Ohh i see, sorry for being rushed. I am interested in this project since i contribute to nodejs. Any good point to start contributing to this project?

Check out the good "good first issue" label. Bonus points if you pick up the Windows issues. Most contributors don't like to touch those. :-)
Note  libuv v1.x is API and ABI stable. That means no changing of function prototypes or struct sizes or layouts defined in include/. Everything in src/ is fair game.

Nice, thanks for the advice, basically I use macos for daily. Will try my best on windows machine :)

source: gharchive/pull-request

authors: ardi-nugraha bnoordhuis

license: MIT

license_type: permissive

license_source: github-api


text:
建议优化图片粘贴部分

请按照一下格式提交issue，谢谢！

你当前使用的是哪个版本的 MinDoc(godoc_linux_amd64 version)?
v2.0-beta.2

你当前使用的是什么操作系统?
windows

你是如何操作的？

正常编辑时，复制图片文件，进行粘贴，或word中包含了文字和图片复制后进行粘贴。
4. 你期望得到什么结果?
像看云一样，复制的图片文件，或复制的内容中包含了文本和图片，能实现图片的自动上传。
5. 当前遇到的是什么结果?
只能粘贴文字部分，图片部分不能粘贴，只能将图片打开后单独复制图片粘贴。

看云也不支持图片和文字混合上传。我测试的是文字和图片混合的时候只能转换成一张图片。

现在是用typora这个工具来将word转换为MD。但就是导入的时候会提示有几张图片找不到。

source: gharchive/issue

license_source: bigquery


text:
fix: make no-it-should rule case-insensitive

Closes: https://github.com/liferay/eslint-config-liferay/issues/103

Too trivial to bother anybody with reviewing this.

repo: liferay/eslint-config-liferay


text:
Issues with the non-costudial pool account

I had an account funded to create an Ask on the liquidity pool. After reinstalling Lightning Terminal, I can't see that Ask anymore and am unsure of it's status.  Where do I find it? and were is the fund?

Hi @bhg2023
Could you provide more details about:

the platform you're running on
What steps you took while reinstalling (deleting the app and or application state)
Run pool accounts recover and what the output is

Umbrel / Ubuntu Latest Server Edition
I deleted the app because it was crashing (e.g. Umbrel wasn't able to connect to it, or the lightening web terminal). Then installed it
Where is this executable in Umbrel installation.

See https://docs.lightning.engineering/lightning-network-tools/lightning-terminal/troubleshooting#pool-account-recovery.

See https://docs.lightning.engineering/lightning-network-tools/lightning-terminal/troubleshooting#pool-account-recovery.

Restored. Thank you!

authors: bhg2023 dstadulis guggero

repo: lightninglabs/lightning-terminal


text:
The closed channels list should return the initiator of channels

In PR #2473 an attribute was added to the channels list which represents the initiator of the channel.
This is an important field for record keeping and to identify the party responsible for commitment transaction fees in the 1.0 protocol.
So consistent with the reasoning for #2473, a record of the initiating party should be persisted and be returned in the closed channel API

Resolved by #3961.
All channels that were closed after we started storing open channels in historical channel bucket will have initiator displayed in rpc close summary. For older channels this value will be recorded as UNKNOWN, since we did not store it.

authors: alexbosworth carlaKC

repo: lightningnetwork/lnd


text:
[bug]: When lnrpc is used in golang, the UseHexForBytes attribute in the rpc_utils.go file in the lnrpc folder is incorrect

Background
Describe your issue here.
Your environment

version of lnd
github.com/lightningnetwork/lnd v0.17.1-beta

Steps to reproduce
Tell us how to reproduce this issue. Please provide stacktraces and links to code in question.

Expected behaviour
no err
Tell us what should happen
unable to run

file path:lnrpc>rpc_utils.go

There's a new go.mod replace directive in v0.17.1:
// We want to format raw bytes as hex instead of base64. The forked version
208 // allows us to specify that as an option.
209 replace google.golang.org/protobuf => github.com/lightninglabs/protobuf-go-hex-display v1.30.0-hex-display

could you try to go mod tidy once.

Yes, unfortunately you need to use the replace directive mentioned above if you use lnrpc as a library in your Golang project.

@hieblmi @guggero is there lost functionality of google.golang.org/protobuf in doing this, namely common encodings and types from protobuf? Struggling to compile after this, seemingly from lost functionality in protobuf used elsewhere in lnrpc.
Notably, the rpc_utils.go errors related to UseHexForBytes is resolved by adding @hieblmi 's recommendation to the bottom of my go.mod and running go mod tidy.
In ideas on how to use replace without stripping protobuf from any other code that may need it or what I may be missing related to the replace go feature?

I'm not sure I understand what you mean by "lost functionality". Are you saying your code or dependencies of your code use a version of google.golang.org/protobuf that is newer than the one we forked?
We forked v1.30.0 and the latest available version is v1.32.0.
There was some new functionality added in v1.31.0 but I'm not sure that is what you are referring to?

Sorry to be vague there. Here is an example error message (one of many) that occurs in the go.mod after adding the line mentioned above to the bottom of my go.mod file.
error while importing github.com/lightninglabs/taproot-assets/taprpc: missing go.sum entry for module providing package google.golang.org/protobuf/proto (imported by github.com/lightningnetwork/lnd/lnrpc); to add:
	go get github.com/lightningnetwork/lnd/lnrpc@v0.17.3-beta

Is this suggesting that the go.mod of other dependencies, needs the replace directive as well?

Ah yes. Unfortunately replace directives of dependencies are ignored by go mod. So you need to use the same replace directive in any project where you import lnd. See for example: https://github.com/lightninglabs/taproot-assets/blob/main/go.mod#L215

authors: Nsandomeno guggero hieblmi mmdi1


text:
[bug]: Missing ots files on v0.17.4 release

Trying OTS verification to install the new v0.17.4 release, I realize the OTS files do not exist on the GitHub assets

Fixed!
Thanks for verifying 😎

authors: Roasbeef twofaktor


text:
New config option - disable height hint cache queries

Disable Height Hint Cache Queries is a new configuration option that, as the name implies, disables queries on the height hint cache. This allows lnd node operators to recover from stuck pending channels due to cached incorrect-height hints. The following describes the problem:
Problem description
A busy node that goes offline for several days can end up with a lot of closed channels. If the node remains down long enough, when it restarts it will look for channel closure transactions by scanning the chain. Because such rescans of the chain are "expensive" (performance/time), a cache called the "height hint cache" is used. But if this cache has the wrong height in it, the node will never be able to find the channel closure transactions. For example, If the cached height is 630,000, but the actual confirmation happened before (say 625,000), the rescan will miss the confirmation transaction because it won't search far enough in the past. To recover from this edge case, the node operator needs to disable the cache, forcing the node to rescan from the earliest block (ie. from the block right after the funding transaction confirmation I think ?). Stuck channels will get resolved.
Since my node had ended up in this situation twice, I had to manually disable the cache in a very ugly way, by breaking the query function and returning an error. This is the easy and clean way to do it.
Solution
A new configuration option is added height-hint-cache-query-disable. From the lnd help:
--height-hint-cache-query-disable                       Disable queries from the height-hint cache to try to recover channels stuck in the
                                                              pending close state. Disabling height hint queries may cause longer chain rescans,
                                                              resulting in a performance hit. Unset this after channels are unstuck so you can
                                                              get better performance again.

Set the option on the command line with  lnd --height-hint-cache-query-disable or in the configuration file
height-hint-cache-query-disable=1

The "solution" needs to be applied only for as long as the node is rescanning for the stuck channels. Once it clears them, you can unset this option to recover the lost performance
How it works
As the option's name implies, this disables the queries of the height hint cache. It does not disable the cache. Importantly, while the node will ignore previously cached heights, it will add new height hints to the cache as it finds spends and confirmations while operating under this option, thereby "sanitizing" the height hints to the correct values.
Logging
On initial startup, the chain registry will log a message at INFO level to notify us that the height hint cache queries have been disabled:
Height Hint Cache Queries disabled
As the node starts the chain watcher for the different channels, it logs the fact that it is ignoring height hints:
2020-06-24 21:56:46.823 [DBG] CNCT: Starting chain watcher for ChannelPoint(bce21...
2020-06-24 21:56:46.823 [DBG] NTFN: Ignoring spend height hint for outpoint=bce21... (height hint cache query disabled)
2020-06-24 21:56:46.828 [INF] NTFN: Dispatching historical spend rescan for outpoint=bce21... start=632580, end=636197

The same is done for confirmations:
2020-06-24 21:56:49.102 [DBG] NTFN: Ignoring confirmation height hint for txid=3d68... (height hint cache query disabled)
2020-06-24 21:56:49.102 [INF] NTFN: New confirmation subscription: conf_id=1, txid=3d68..., num_confs=1 height_hint=631068
2020-06-24 21:56:49.102 [DBG] NTFN: Dispatching historical confirmation rescan for txid=3d68...

Result
All pending channels cleared within an hour!
Code Changes & Testing
I've tried to follow the code conventions and formatting (go fmt), I've also tried to keep the code changes to a minimum. If I missed anything or did it wrong, please let me know so I can add fixes.

For the first time in months:
Total Limbo Balance: 0 Sats
Pending Open (0)

Pending Force Closing (0)

Pending Closing (0)

Waiting Close (0)

@wpaulino I've added a follow-up PR to address your comments. Thanks again @aantonop for the fix!

authors: aantonop cfromknecht


text:
lncli: add leaseoutput command

Adds the complement of releaseoutput. Also extends releaseoutput with the lock id flag.

Cannot update release notes, because there is no file yet. Unless this can still be included in 0.14?

@guggero accidentally re-requested you when adding myself as reviewer, sorry!

GitHub thinks there is a merge conflict but doesn't show what exactly. Can you rebase to get rid of it please?

I think the conflict was on the release notes. Rebased.

authors: carlaKC guggero joostjager


text:
[WIP] Invocies:  refactor InvoiceDB methods

This PR includes multiple changes. Some of them are specific to the InvoiceDB, some to the Invoice domain logic in general and others to the new DB interfaces.
Changes to the InvoiceDB:
- New set of methods that remove most of the domain logic from the db implementation. The new methods are "dumber" and they are supposed to be used to simply store/retrieve/delete data from the db.
- For each new method two versions have been added. One with a explicit tx and another one without it. When the new set of interfaces for storage (last commit) is finished only the ones without explicit tx will survive (WitTx will also be removed)
Changes to the  Invoice domain logic:
- Most of the logic to check if an invoice could be updated and what changes where needed to be applied given a new event and the current invoice status have been removed from the channeldb package.
- In order to add an htlc, settle an invoice or canceling it we can use now its struct methods. Those methods implement the flow for all the invoice types (regular, hodl, amp...). We may want to add a new interface for invoices in the future. Until then most of the logic is separated in specific methods for each type while the public method simply implements acts as dispatcher.
New DB interfaces:
- The idea is to have a TxExecutor that is able to bind a tx to a db interface and injects it to the users custom logic. This is similar to what we have in other projects (but generic not only for sql/sqlc). You can check the latest commit for more.
Part of #6288

Closed in favor of #7354 #7343 #7357


text:
channeldb: acquire mutexes in the same order throughout

In this commit, we ensure that the channeldb cacheMu mutex is only ever aquired before acquiring the main DB lock in the cases where the two locks need to be held simultaneously.
Fixes #8398

Summary by CodeRabbit

New Features

Introduced new safety mechanisms in the channel graph to enhance stability and prevent deadlocks.

Bug Fixes

Fixed a potential deadlock in channel ID filtering.
Improved handling of unacknowledged updates for watchtower sessions.

Tests

Added a stress test for the ChannelGraph API to ensure reliability under concurrent usage.

Documentation

Updated release notes with recent changes and fixes.

Thanks for the idea @ziggie1984 ! Let me know what you think of the new stress test I have added

oops - race detected in new test. Will fix & comment here once it is fixed

ok - all good now @ziggie1984

@coderabbitai review

Basic question:
Why are we labelling delChannelEdgeUnsafe and markEdgeLiveUnsafe as unsafe?

Why are we labelling functions delChannelEdgeUnsafe and markEdgeLiveUnsafe as unsafe?

The caller must hold the mutex before they call them. An alternative, would be like delChannelMustHaveMutex or something like that lol.

Looks like things are still dead-locking w/ the postgres backend:

Trying to repro locally now...
Unlike the other backends, the postgres backend has an additional client-side mutex. Will see if I can get a goroutine dump.

Relevant goroutine dump: https://paste.sh/qavACXtH#5SsXOJ_rcoU0gzqHYmJNHeik

authors: Roasbeef ellemouton saubyk


text:
Broken Withdrawals since 15/01/24 9am

I’ve been unable to withdraw tips since this morning; it looks like there might be a liquidity issue in your channels. This is inconvenient 😊

Hi, thanks for reporting!
I can confirm I can deposit but not withdraw :/
I have asked our team member who manages the node liquidity to have a look.

Hi @Vix1818 can you try again? the node was restarted and withdrawals seem to be working now.

Fixed 👍 GG team Lightsats ⚡🧡

Thanks for confirming!

repo: lightsats/lightsats


text:
fix snapPicture and snapPicture2

@lightswitch05 can you merge and publish to npm when you get a chance?

I won't have my laptop for a couple days. I was a little concerned about the binary picture data going through the Foscam.parseResponse function. I guess it doesn't cause any problems?

Hmm yeah there does seem to be an issue with that. With getRaw the response is:
<CGI_Result>
    <result>-3</result>
</CGI_Result>

With get it returns what looks like jpeg data but the data is corrupt or something. I'll investigate a bit more.

Alright figured it out. Two things - snapPicture and snapPicture2 weren't passing the cgi command correctly to getRaw, and we need to pass an { encoding: null } option to request-promise in order to get the jpeg data back correctly.
Last commit should fix all that.

:thumbsup: I think you have access to the npm project if you need to release before I get back to a laptop

:tada: Merged and released!

license: mit


text:
[BUG] - Battery drain, always running

App Version
SimpleMP-Beta-1.8.0
Bug
Unsure if this is a bug or a feature request. The app drains the battery on my Pixel 7 on Android 14. Not serious drain but noticeable. Even if I'm not using the app, often, I'll see the sync notification icon appear. That gives me the impression that the app is constantly working in the background which eats away at battery life. I'm not concerned with heavily optimizing the application but if it's always working in the background, that might not be the best behavior.
For a start, a setting for changing the sync process would be helpful. For instance, having the application only sync upon opening or upon manual request. For somebody like me, I can go weeks or months before I add new media and require a sync. Once syncing is resolved, as the app is developed, general optimizations may improve battery over time. I'm not concerned with battery wear as I use the app. Just the battery wear while the app is in the background not playing audio.
Granted, I am new to the app, so I may need my phone to get used to running the app or perform more tests.

I've got the same device with the same issue running beta 1.8.0, android 14, downloaded from fdroid. I see the syncing notification every few hours, but its not draining much battery for me (so far)

authors: AyySorento Mucephie

repo: lighttigerXIV/SimpleMP-Compose


text:
mill.scalalib.GenIdea/idea error: -gt: unary operator expected MacOS

When I try to run mill.scalalib.GenIdea/idea command on my Mac I got error:
/usr/local/Cellar/mill/0.5.2/libexec/mill: line 29: [: -gt: unary operator expected
/usr/local/Cellar/mill/0.5.2/libexec/mill: line 29: [: -ge: unary operator expected

I have MacOs Mojave installed

What's your default shell?

What's your default shell?

I have default shell: Bash

How do you've installed mill? What's the content of /usr/local/Cellar/mill/0.5.2/libexec/mill? It looks more like an issue with your distribution than one in mill.

How do you've installed mill? What's the content of /usr/local/Cellar/mill/0.5.2/libexec/mill? It looks more like an issue with your distribution than one in mill.

I've installed it using brew: brew install mill
Here is content of the file:
#!/usr/bin/env sh

# This is a wrapper script, that automatically download mill from GitHub release pages
# You can give the required mill version with MILL_VERSION env variable
# If no version is given, it falls back to the value of DEFAULT_MILL_VERSION
DEFAULT_MILL_VERSION=0.5.2

set -e

if [ -z "$MILL_VERSION" ] ; then
  if [ -f ".mill-version" ] ; then
    MILL_VERSION="$(head -n 1 .mill-version 2> /dev/null)"
  elif [ -f "mill" ] && [ "$BASH_SOURCE" != "mill" ] ; then
    MILL_VERSION=$(grep -F "DEFAULT_MILL_VERSION=" "mill" | head -n 1 | cut -d= -f2)
  else
    MILL_VERSION=$DEFAULT_MILL_VERSION
  fi
fi

MILL_DOWNLOAD_PATH="$HOME/.mill/download"
MILL_EXEC_PATH="${MILL_DOWNLOAD_PATH}/$MILL_VERSION"

version_remainder="$MILL_VERSION"
MILL_MAJOR_VERSION="${version_remainder%%.*}"; version_remainder="${version_remainder#*.}"
MILL_MINOR_VERSION="${version_remainder%%.*}"; version_remainder="${version_remainder#*.}"

if [ ! -x "$MILL_EXEC_PATH" ] ; then
  mkdir -p $MILL_DOWNLOAD_PATH
  if [ $MILL_MAJOR_VERSION -gt 0 ] || [ $MILL_MINOR_VERSION -ge 5 ] ; then
    ASSEMBLY="-assembly"
  fi
  DOWNLOAD_FILE=$MILL_EXEC_PATH-tmp-download
  MILL_DOWNLOAD_URL="https://github.com/lihaoyi/mill/releases/download/${MILL_VERSION%%-*}/$MILL_VERSION${ASSEMBLY}"
  curl --fail -L -o "$DOWNLOAD_FILE" "$MILL_DOWNLOAD_URL"
  chmod +x "$DOWNLOAD_FILE"
  mv "$DOWNLOAD_FILE" "$MILL_EXEC_PATH"
  unset DOWNLOAD_FILE
  unset MILL_DOWNLOAD_URL
fi

unset MILL_DOWNLOAD_PATH
unset MILL_VERSION

exec $MILL_EXEC_PATH "$@"

Ah ok, it's the mill script found in the root of the repo.
Effectively the error means, the variable MILL_VERSION is invalid. Either you specified it as a environment variable MILL_VERSION or you have a .mill-version file or you have a mill script in your local directory with or without a DEFAULT_MILL_VERSION line in it. Can you please check if the provided value is correct?

Beside that, I think the script should quote the variables in the tests.

Ah ok, it's the mill script found in the root of the repo.
Effectively the error means, the variable MILL_VERSION is invalid. Either you specified it as a environment variable MILL_VERSION or you have a .mill-version file or you have a mill script in your local directory with or without a DEFAULT_MILL_VERSION line in it. Can you please check if the provided value is correct?

I don't have environment variable 'MILL_VERSION' and don't have file '.mill-version' and content of the mill script I've already posted.

Can you please run sh -x /usr/local/Cellar/mill/0.5.2/libexec/mill and post the output?

Can you please run sh -x /usr/local/Cellar/mill/0.5.2/libexec/mill -i version and post the output?

Sure.
+ DEFAULT_MILL_VERSION=0.5.2
+ set -e
+ '[' -z '' ']'
+ '[' -f .mill-version ']'
+ '[' -f mill ']'
+ MILL_VERSION=0.5.2
+ MILL_DOWNLOAD_PATH=/Users/sdashko/.mill/download
+ MILL_EXEC_PATH=/Users/sdashko/.mill/download/0.5.2
+ version_remainder=0.5.2
+ MILL_MAJOR_VERSION=0
+ version_remainder=5.2
+ MILL_MINOR_VERSION=5
+ version_remainder=2
+ '[' '!' -x /Users/sdashko/.mill/download/0.5.2 ']'
+ unset MILL_DOWNLOAD_PATH
+ unset MILL_VERSION
+ exec /Users/sdashko/.mill/download/0.5.2
Build repl needs to be run with the -i/--interactive flag```

Ok, this one looks good, but does not reproduce the initial error. Can you also post the output of sh -x /usr/local/Cellar/mill/0.5.2/libexec/mill -i mill.scalalib.GenIdea/idea?

I can't reproduce error know. Don't know what was the cause of the problem but it's definitely not problem of Mill script. Thanks

Beside that, I think the script should quote the variables in the tests.

Fixed

authors: lefou sergeda

repo: lihaoyi/mill


text:
docs: Document modification error

docs: Document modification error

重复修改

authors: WinstonYa liihuu

repo: liihuu/KLineChart


text:
java版本，几点建议

1.应该尽量避免使用map入参开放mvc接口，若为了快速开发，应当从url上做好区分，为后续引入swagger这样的api文档支持做准备。
2.线程栈里的map结构可定义为抽象上下文，由开发者二次开发的时候，自行扩展。上下文贯穿所有接口，登录时赋值，借用threadlocal机制随处可取。
3.部分代码规范可能需要形成，快速开发除了集成大部分框架，开发好通用业务外，应该设计一些东西支持高扩展，不做设计的业务或架构，往往只会带来糟糕的设计。

哈哈哈哈


text:
fix: adding full Podman Desktop logo

Logo previously only included the logomark and not the logotype. This version includes the logotype so the name of the app is apparent.

It looks a bit "tiny", compared to the Rancher Desktop logo

Kindly adjust the size here to match the size of other icons
https://github.com/lima-vm/lima/blob/master/website/data/adoptors.yaml#L16

@afbjorklund any better now?

@afbjorklund any better now?

Looking good!
https://deploy-preview-1835--lima-vm.netlify.app/

authors: afbjorklund balajiv113 mairin

repo: lima-vm/lima


text:
页面出现了广告

简要描述该问题
iphone 更新了模块，名字从原来的Block YouTube Advertising变成了Youtube (Music) Enhance，然后youtube app里面的广告就回来了。ipad上的模块没有更新，依旧没有广告。
我不知道新模块修正或添加了什么，目前应该没有用到，但能不能把去广告的功能加回来。
问题重现步骤
重现该行为的步骤：

在哪个网页 '...'
做了什么 '....'
出现了什么问题 '....'
Gif广告/视频广告/图片广告/弹窗...

预期想要得到的结果
对您期望发生的情况的清晰简洁的描述。
页面截图
如果适用，请添加屏幕截图以帮助解释您的问题。
操作系统及浏览器（请填写以下信息）: 如没有则填无需填写

系统: [e.g. iOS/PC]
浏览器 [e.g. chrome, safari]
代理工具 [e.g. QuantmultX/Surge]
引用的重写/或模块链接 [e.g. https://limbopro.com/Adblock4limbo.conf / https://limbopro.com/Adblock4limbo.sgmodule ]
油猴脚本安装地址 [e.d. https://github.com/limbopro/Adblock4limbo/raw/main/Adguard/Adblock4limbo.user.js / https://greasyfork.org/scripts/443290-adblock4limbo/code/Adblock4limbo.user.js]

额外的背景信息
在此处添加有关该问题的任何其他上下文。

@weberyap iPad 模块截图一下 看看链接地址是什么

@weberyap 你直接复制iPad上模块内的代码到iPhone试试。

复制过去是没有问题的，没有广告了，但是不能更新，一个个改也太麻烦了，虽然我已经一个个的改过了，哪天手贱又更新一下就要再来一遍了，当然这不是你的问题，这是我的问题，我只是问问能不能把旧模块和新模块合并呀？

@weberyap 你可以先复制 iPad 上那个还生效的【旧模块】的代码内容到备忘录，然后再分别在 iPad/iPhone 新建模块，粘贴该代码内容；最后再禁用刚刚复制代码内容的模块。
如果你想跟更新后的新模块合并，你可以自行对比新旧模块内容，然后复制到刚刚新建的模块内即可；
以上。

authors: limbopro weberyap


text:
Is the leap second flag supported?

Hi there,
Checking out your source code, I see several references to the leap second flag, but it appears to be hardcoded to 0. Is setting the leap second flag supported?

Hi Hany,
Sorry to say that the answer is no, I am just using it to distribute time
to servers in a private network, so it just read the time and send it.
On Tue, Nov 17, 2015 at 2:00 PM, Hany Fahim notifications@github.com
wrote:

Hi there,
Checking out your source code, I see several references to the leap second
flag, but it appears to be hardcoded to 0
https://github.com/limifly/ntpserver/blob/master/ntpserver.py#L134. Is
setting the leap second flag supported?
—
Reply to this email directly or view it on GitHub
https://github.com/limifly/ntpserver/issues/1.

authors: hany limifly

repo: limifly/ntpserver


text:
Updated to zig master

.{.path = "..."} was deprecated recently

Thanks!

repo: limine-bootloader/limine-zig


text:
add safty function PDO::quote

函數內有沒有需要新增跳脫字元的函數?
這只是一個增加安全性的選項
另外你寫的程式真的很棒
簡單易懂，功能強大，學習很多!!
    public function escape($str)
    {
        return substr($this->pdo->quote($str), 1, -1);
    }

參照:https://www.php.net/manual/en/pdo.quote.php

新增quote是不建议的做法，所以也不打算添加。

好的 感謝你

authors: jjasoncool lincanbin

repo: lincanbin/PHP-PDO-MySQL-Class


text:
call back example of the client ?

Cool project!
Wonder do you have some simple example on the client onComplete() like callback example for the future<>?
http://line.github.io/armeria/client-http.html
also how is the performance compared with OKHttp?
I was thinking on adding alternative HTTP client to the core of Parallec

just show the callback here: for the RPC with the service/  Thrift IDL..
wonder what about the call back example for none IDL,  just use as an HTTP client.. ?

It doesn't have a callback. You can simply add a listener to the Future returned by the execute() method. e.g.
Future<SimpleHttpResponse> f = client.execute(req);
f.addListener((Future<SimpleHttpResponse>) f -> { ... });

Let me close the question since it seems like it's answered.

authors: jeffpeiyt trustin

repo: line/armeria


text:
Streamline HTTP header/trailer validation and conversion

Currently, user provided HTTP headers and trailers are consumed by HttpRequestSubscriber and HttpResponseSubscriber. The following is the basic header/trailer validation and conversion process:

Http*Subscriber merges the Request/ResponseHeaders and ctx.additional*Headers() while excluding some prohibited headers.
Http*Subscriber passs the merged headers to HttpObjectEncoder.
HttpObjectEncoder converts the merged headers while excluding some more prohibited headers, using ArmeriaHttpUtil.

(Pretty much same for trailers)
Instead, we could streamline and optimize this process like the following:

Http*Subscriber passes Request/ResponseHeaders and ctx.additional*Headers(), without any validation or exclusion.
HttpObjectEncoder converts the given headers while excluding prohibited headers and merging Request/ResponseHeaders and ctx.additional*Headers().

This way, we could reduce the number of unnecessary instantiation of immutable headers and their builders.

Hello, I will challenge this issue :smile:

I found a question while working on this :thinking:
When we add additional response trailers to headers in HttpResponseSubscriber, we removes some prohibited headers(SCHEME, STATUS, METHOD, PATH) here and here via fillAdditionalTrailers() method.
But we don't remove here,
https://github.com/line/armeria/blob/e21448a95b963cc0e6f349710f7ec1cf572b87af/core/src/main/java/com/linecorp/armeria/server/HttpResponseSubscriber.java#L244
Because, it is allowed to add the prohibited headers when this case happens?
If this additional trailers are passed to Http2ObjectEncoder, it seems that the prohibited headers wouldn't be removed. In case of being passed to Http1ObjectEncoder, the prohibited headers would be removed by some duplicated excluding process.

Because, it is allowed to add the prohibited headers when this case happens?

No. I think it's a bug. 😅 All trailers should be treated in the same way. Please fix it as well. 😄

authors: jyblue minwoox trustin


text:
Provide a way to run service code out of I/O event loops

When service devs are not very familiar with asynchronous programming, it is very easy to drive Armeria's core event loops into havoc by blocking them.
Framework devs may want to make sure Armeria at least handle I/O and function normally for a certain set of core services, such as PrometheusExpositionService or HealthCheckService, by isolating other non-core services from the I/O event loops.
To achieve this, I'd like to propose adding the per-service/virtual host/server serviceWorkerGroup property that makes a service use a different EventLoopGroup than ServerBuilder.workerGroup, e.g.
Server
  .builder()
  .workerGroup(ioEventLoopGroup, /* shutdownOnStop */ true)
  .serviceWorkerGroup(isolatedEventLoopGroup, /* shutdownOnStop */ true)
  .route()
    .path("/core-services/metrics")
    .serviceWorkerGroup(ioEventLoopGroup, /* shutdownOnStop */ true) // Use the core event loops.
    .build(new PrometheusExpositionService())
  .route()
    .path("/non-core-services/foo")
    .build(new FooService()) // Will use `isolatedEventLoopGroup`
  .build()

Action items:

Add the serviceWorkerGroup() builder methods to ServerBuilder and AbstractServiceBindingBuilder so a user can specify the service worker groups as shown in the above example.

Check this commit to get an idea on what this change will look like.

Change how Armeria assigns an event loop to a ServiceRequestContext.

Currently, it always uses the same event loop with the current connection.
Modify the constructor of DefaultServiceRequestContext so it accepts an EventLoop.
Modify HttpServerHandler.handleRequest(), so it specifies an event loop from the serviceWorkerGroup:ServiceConfig serviceCfg = ...;
EventLoop eventLoop = serviceCfg.serviceWorkerGroup().next()
reqCtx = new DefaultServiceRequestContext(..., eventLoop, ...);

Let me try this 😉

We had some discussion about this issue and decided the following:

We allow specifying a ScheduledExecutorService and/or some type we'll define in the future (which can wrap an existing ScheduledExecutorService for sure), instead of letting a user specify an event loop group for a service.
We deprecate RequestContext.eventLoop() in favor of a new method RequestContext.executor().
We may want to deprecate BlockingTaskExecutor in favor of the service-level executor, but we'll still looking for ways to streamline this.

/cc @vkostyukov @yzfeng2020 ^


text:
Fix ClassCastException when using Thrift binary type

Motivation:
When a Thrift operation has a parameter or a return value whose type is
binary, a ThriftCallService will fail with a ClassCastException. It is
primarily because TBase.getFieldValue() for a binary field returns a
byte array (byte[]) while TBase.setFieldValue() requires a ByteBuffer.
Also, it is not very easy to figure out the root cause of this sort of
internal server errors because the stack trace of the
TApplicationException shown on the client-side tells a user only the
exception type and message of the server-side exception. There's no way
to get the server-side stack trace.
Modifications:

Add an internal utility class 'ThriftFieldAccess' which converts a
byte[] into a ByteBuffer

Use it everywhere TBase.getFieldValue() is used.

When an internal server error occurs, attach the full stack trace of
the server-side exception.
Add a test case for a Thrift service with a binary parameter and a
binary return value
Miscellaneous:

Remove redundant instantiation of Thrift result object in some case

Result:

Bug squashed
Easier tracing at the cost of larger error response. Example:

org.apache.thrift.TApplicationException: internal server error:
---- BEGIN server-side trace ----
java.lang.ClassCastException: [B cannot be cast to java.nio.ByteBuffer
        at com.linecorp.armeria.service.test.thrift.main.BinaryService$process_args.setFieldValue(BinaryService.java:401)
        at com.linecorp.armeria.service.test.thrift.main.BinaryService$process_args.setFieldValue(BinaryService.java:252)
        at com.linecorp.armeria.internal.thrift.ThriftFunction.newArgs(ThriftFunction.java:212)
        at com.linecorp.armeria.server.thrift.ThriftCallService.invoke(ThriftCallService.java:104)
        at com.linecorp.armeria.server.thrift.ThriftCallService.serve(ThriftCallService.java:95)
        at com.linecorp.armeria.server.thrift.ThriftCallService.serve(ThriftCallService.java:46)
        at com.linecorp.armeria.server.thrift.THttpService.invoke(THttpService.java:463)
        at com.linecorp.armeria.server.thrift.THttpService.decodeAndInvoke(THttpService.java:436)
        at com.linecorp.armeria.server.thrift.THttpService.lambda$doPost$3(THttpService.java:318)
        at com.linecorp.armeria.common.util.Functions.lambda$voidFunction$1(Functions.java:192)
        at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822)
        at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:834)
        at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2155)
        at com.linecorp.armeria.server.thrift.THttpService.doPost(THttpService.java:311)
        at com.linecorp.armeria.server.http.AbstractHttpService.serve(AbstractHttpService.java:79)
        at com.linecorp.armeria.server.thrift.ThriftServiceTest.invoke0(ThriftServiceTest.java:620)
        at com.linecorp.armeria.server.thrift.ThriftServiceTest.invoke(ThriftServiceTest.java:589)
        at com.linecorp.armeria.server.thrift.ThriftServiceTest.testBinary(ThriftServiceTest.java:529)
        ...
---- END server-side trace ----

        at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79)
        at com.linecorp.armeria.service.test.thrift.main.BinaryService$Client.recv_process(BinaryService.java:88)
        at com.linecorp.armeria.server.thrift.ThriftServiceTest.testBinary(ThriftServiceTest.java:531)
        ...

@sinpey @inch772 PTAL

Current coverage is 65.79% (diff: 75.00%)

Merging #262 into master will increase coverage by 0.10%

@@             master       #262   diff @@
==========================================
  Files           295        296     +1
  Lines         11429      11437     +8
  Methods           0          0
  Messages          0          0
  Branches       1661       1662     +1
==========================================
+ Hits           7508       7525    +17
+ Misses         3127       3119     -8
+ Partials        794        793     -1

Powered by Codecov. Last update cf909a0...e83990a

My project use this version. And I confirmed normal operation. Thank you :)

It does not contain ThriftFunction.getResult test case. How about add test case for it or could you add test case (testBinaryServiceSync) to ThriftOverHttpClientTest like https://gist.github.com/imasahiro/fa2a23bf340885941a14c5d6b73243fb ?

@imasahiro Thanks. I applied your patch to add the test case.

authors: codecov-io imasahiro sinpey trustin


text:
adding factory methods for PathPattern

This is a draft of my implementation for the issue https://github.com/line/centraldogma/issues/659.
I still need to add tests.
I added the following methods:

PathPattern#endsWith
PathPattern.under
PathPattern#of accepting  PathPattern... pathPatterns

PathPattern.of(PatternPattern.of("json"), PathPattern.startsWith("/foo/bar"));

I added PathPatternBuilder class to support combining existing patterns:
// /foo/bar/**/*.json
PathPattern.startsWith("/foo/bar").endsWith("json"); // or
PathPattern.builder()
           .startsWith("/foo/bar")
           .endsWith("json")
           .build();

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Replaced by #809

authors: CLAassistant noodlze

repo: line/centraldogma


text:
Replace Object.assign with spread operator

Replace the remaining Object.assign operators with spread operators that were missed in https://github.com/line/clova-cek-sdk-nodejs/pull/36

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.navarone-feekery seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant navarone-feekery

repo: line/clova-cek-sdk-nodejs


text:
Check failed cert_transparency_verifer_

[1201/142447:FATAL:ssl_client_socket_impl.cc(512)] Check failed: cert_transparency_verifier_.
at master branch of stellite cannot request SSL/TLS because chromium SSLClientSocketImpl
require initialize of cert_transparency_verifier setting

is it still a bug?

no. this bug are resolved

authors: freakhill snibug

repo: line/stellite


text:
docs: Add dependencies w/ setup instructions to CONTRIBUTING.md

Updated CONTRIBUTING.md with installation instructions using brew and npm

These changes make it easier for contributors to set up the development environment for LinearMouse on macOS.
The updated instructions provide a step-by-step guide for installing the necessary tools using brew and npm.

Thanks!

authors: dotWee lujjjh

repo: linearmouse/linearmouse


text:
Respect platform differences when handling text input

This now takes different code paths for 'mac' and 'not mac' when
mapping key events to text input events; it is not especially
thorough, and mostly just fixes the things that were most viscerally
annoying me.

I'm actually going to hold on to this because there's serious overlap with the IME stuff in #1378.

This should be handled via actual IME, so I'm going  to close.

repo: linebender/druid


text:
Prototype of buffer reuse

This helps performance but not all performance issues have been resolved. Nontrivial CPU goes into write_buffer, and it's also possible that there isn't enough overlapping between CPU and GPU work.

Thanks for the review! I'll merge this soon but in this particular case would appreciate a glance from @dfrg, as I know he's spent some time thinking the problem.

repo: linebender/vello


text:
Inconsistent highlighting of menu icons for enabled actions

Release number or git hash: v4.0.0-alpha.12 with PR #265
Web browser version and OS: independent

Steps to reproduce

Open the column menu
Click the various dialogs

Observed behavior

Some icons get highlighted when re-opening the more menu (e.g., Sort by, Group by)
Some icons not highlighted at all (e.g., Sort Groups by, Visualization, Color Mapping, ...)
Some icons get immediately highlighted after the user confirms the dialog (e.g., Filter)

Expected behavior
I think that the highlight is a good indicator for the user that the default option has been changed; so we should keep this feature. However, we should unify the highlight at least for the most frequent dialogs (i.e., Filter, Sort by, Group by, Sort groups by). Icons should then be highlighted once the setting is different from the default value and the change is applied. Click on reset and apply the change would color it black again.
Alternatively, we can highlight the icon immediately when the default value has changed and the user is still in the live preview (which is equal to the Filter operation in the screencast above).
If we want to make it even more consistent, we should apply this change to all dialogs (e.g., Rename, Color Mapping, Data Mapping, Edit Script, Visualization). However, I'm not sure, if this will confuse the user or if one can figure out this rule.
@sgratzl Which behavior do you prefer and is best to implement? Would it be possible to make it consistent for all dialogs? If a developer would add a custom dialog would could that rule be also applied?

so far it was just for the most common operation that are usually shown as a shortcut (sort, filter, group, [sort groups]) and have a strong influence on the ranking (filter, sort, ...).
For all it is difficult cause it requires to always check whether it is different from the default. For the four current ones, it is implemented in https://github.com/lineupjs/lineupjs/blob/lineup-v4/src/ui/header.ts#L92. I wouldn't know how to do it in a generic way and whether the additional effort brings adds any useful additional information.

Ok, thanks for the explanation. Then let's make it consistent for the most common operations that are now working slightly different.

authors: sgratzl thinkh

repo: lineupjs/lineupjs


text:
Css styling

this PR adds bootstrap css to the website.It encloses code inside a body tag in bootstrap class container so that there is margin from sides.
This PR is for issue #5

@CleverFool77 Looks good however it seems to have some merge conflicts because of the merge before this.

repo: lingonsaft/hacktoberfest


text:
Bugfix/fix footer overlay

This pull request references #391. When hovering over a table item, the item would appear over the footer.

Nice :)

Thanks @BennyCarlsson is it possible to tag this for hacktoberfest even though I opened the issue ? <3

@Kunamatata The issue doesn't need to be tagged for your pull request to count towards your 5 commits ;) You don't even need an issue just make a pull request to any open project on github ;) I tagged the issue anyway ;)

authors: BennyCarlsson Kunamatata


text:
希望适配即将发布的稳定版openwrt 24.10所使用的apk包管理器。

如题。openwrt已经发布了24.10-rc2，并且明确了24.10将会作为下一个稳定版存在，而此版本中使用apk包管理器取代了opkg。希望istore能适配apk包管理器。
（其实只是因为本人固件的玄学问题，找不到软件源了，但是内核版本又很高，包管理器还是opkg，所以更新不了更新的内核了）

@Liz-Nozomi 请注意，24.10 并没有切换到 apk包管理器，snapshot开发快照源才是apk管理器。
https://downloads.openwrt.org/releases/24.10.0-rc2/targets/x86/64/kmods/6.6.63-1-fdf628e4ac1bbb67c9c54e22238868e0/
24.10.0-rc2 目前还是 opkg包管理器，源里还是 ipk软件包

对，24.10 放弃切换到apk了，可能会在25.xx才切换

authors: Liz-Nozomi bcseputetto jjm2473

repo: linkease/istore


text:
Friends management

Add/remove people from your friends list.

Implemented in 8a013497559faabc48f8420f963759bd29220ea6

repo: linkeddata/profile-editor


text:
Build Error

HI ,
I am trying to build it on my mac and running into the below issue , Any idea on how to fix it ?
EN-RajivC:metadata-etl rajiv.chodisetti$ gradle build
Defining custom 'build' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0
:wherehows-common:compileJava
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30: error: ')' expected
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) -> o1.getSortId().compareTo(o2.getSortId()));
^
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30: error: ')' expected
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) -> o1.getSortId().compareTo(o2.getSortId()));
^
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30: error: illegal start of expression
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) -> o1.getSortId().compareTo(o2.getSortId()));
^
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30: error: illegal start of expression
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) -> o1.getSortId().compareTo(o2.getSortId()));
^
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30: error: ';' expected
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) -> o1.getSortId().compareTo(o2.getSortId()));
^
5 errors
:wherehows-common:compileJava FAILED
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':wherehows-common:compileJava'.

Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
Total time: 4.9 secs

Seems like the gradle build does not recognize Java 8 syntax, what is the JDK version in your mac?

Looks like the java version problem, are you using java 8 on your mac?
On Thu, Mar 3, 2016 at 11:30 AM, rajivchodisetti notifications@github.com
wrote:

HI ,
I am trying to build it on my mac and running into the below issue , Any
idea on how to fix it ?
EN-RajivC:metadata-etl rajiv.chodisetti$ gradle build
Defining custom 'build' task when using the standard Gradle lifecycle
plugins has been deprecated and is scheduled to be removed in Gradle 3.0
:wherehows-common:compileJava
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30:
error: ')' expected
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) ->
o1.getSortId().compareTo(o2.getSortId()));
^
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30:
error: ')' expected
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) ->
o1.getSortId().compareTo(o2.getSortId()));
^
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30:
error: illegal start of expression
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) ->
o1.getSortId().compareTo(o2.getSortId()));
^
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30:
error: illegal start of expression
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) ->
o1.getSortId().compareTo(o2.getSortId()));
^
/Users/rajiv.chodisetti/WhereHows/wherehows-common/src/main/java/wherehows/common/utils/PartitionPatternMatcher.java:30:
error: ';' expected
Collections.sort(layoutList, (PartitionLayout o1, PartitionLayout o2) ->
o1.getSortId().compareTo(o2.getSortId()));
^
5 errors
:wherehows-common:compileJava FAILED
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':wherehows-common:compileJava'.
Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info
or --debug option to get more log output.
BUILD FAILED
Total time: 4.9 secs
—
Reply to this email directly or view it on GitHub
https://github.com/linkedin/WhereHows/issues/60.

Thanks guys , yes this is a java version problem , have switched to 1.7 to build some other project and forgot to revert it back to 1.8  :)
Now the build is successful and when I am launching the UI and getting the below exception , does the application come with some sample data sets to play with or not ?
[error] application - /var/tmp/wherehows/resource/dataset.json (No such file or directory)
[error] application - /var/tmp/wherehows/resource/flow.json (No such file or directory)

Thank you for catch up this. This two files are used for tree directory in the front end. They need to generate by backend service, which means you have to run one of the dataset collecting process (HDFS or Teradata or Hive) and one of the execution collecting process (Azkaban or Oozie). The set up process instruction is here : https://github.com/linkedin/WhereHows/wiki/Set-Up-New-Metadata-ETL-Jobs
We could put a sample json there to show up the tree directory. But even after that if database is empty, they are all not clickable, and show empty pages. But this exception should be fixed @jerrybai2009 .
If you want to quick play with it, the easiest way is play with VM, there are several samples in it : https://github.com/linkedin/WhereHows/wiki/Quick-Start-With-VM .

Thank you for the immediate responses . But unfortunately we are neither using HDFS or Teradata or Hive , We run EMR on AWS and the source systems are all Mysql,Cassandra and Mongo and the datawarehouse is running on top of Redshift(Postgres driver should work ) .
So I don't think we will be able to play with it and see if it fit for our organizational needs but any how thanks again for the support

No two companies will use the same data ecosystems. As a data management tools whose core part is integration, this is the major pain point when we considering open source. Our solution is the data model we have for WhereHows is a very general data model, and ETL part need to highly customized based on the source systems used in different companies. When onboarding a new source systems, (say, Redshift), what you need to do is add a new job type, and write your own ETL scripts, fetch metadata to fit in the data model. Here is a brief version of integration guide :(https://github.com/linkedin/WhereHows/wiki/Integration-Guide) . I'll definitely write more detail in future.

VM Player is just hanging at step
**Starting Wherehows..
loginLoggerObjName is null, make sure there is a logger with name azkaban.webapp.servelet.LoginAbstractAzkabanServlet **
Any idea how to get around this issue?
thanks

authors: SunZhaonan ashitabh czbernard rajivchodisetti

repo: linkedin/WhereHows


text:
Adding CompactionManagerV0

CompactionManager assists in fetching the log segments that needs to be compacted for any given store. V0 implementation is added in this patch.
V0 implemenatation returns all logSegments as a range as part of CompactionDetails. Those log segments which doesn't overlap with journal are considered to be valid.
More details are covered here
Reviewers: @vgkholla @cgtz
SLA: 15 mins
Built and coding style applied
Coverage:
Package       	    Class, %	     Method, %	      Line, %
By running IndexTest
PersistentIndex	    100% (8/ 8)	     94.9% (56/ 59)	  91% (575/ 632)
By running CompactionManagerTest
CompactionManager	100% (1/ 1)	     100% (2/ 2)	  100% (10/ 10)

@vgkholla Have addressed your comments.

@vgkholla : build and test succeeded in both OS. Coding style applied.
@cgtz : Addressed your comments

repo: linkedin/ambry


text:
Support for publishing artifacts to repositories other than sonatype

It would be good if the build supported publishing artifacts to other repositories.  If this was supported I could then develop additional libraries in an external contrib project using features that have not yet been pushed to master.  My thinking here is that we should be able to disable signing (it will be enabled by default) and override the repository and snapshotRepository (it will default to your current repository).  What do you think?

Sure. That should be easy to do.
On Mon, Dec 7, 2015 at 5:00 PM, kadaan notifications@github.com wrote:

It would be good if the build supported publishing artifacts to other
repositories. If this was supported I could then develop addition libraries
in an external contrib project using features that have not yet been pushed
to master. My thinking here is that we should be able to disable signing
(it will be enabled by default) and override the repository and
snapshotRepository (it will default to your current repository). What do
you think?
—
Reply to this email directly or view it on GitHub
https://github.com/linkedin/gobblin/issues/508.

I'm claiming this one.

@chavdar I got publishing to artifactory working, but I noticed that the version number of the jars is a little weird.  For instance, right now the jars are published with version: 0.5.0-337-g34cf68c.  This corresponds to the tag.  Additionally it publishes to the release repository. It seems like it would be better to publish snapshot versions until there is a release.  What do you think? What is the process you normally follow?

Hi,
The version is based off the most recent tag. The idea is to create a
release tag gobblin_X.Y.Z and the build will generate a build with version
X.Y.Z. If there have been commits after the tag, those cause the
"-337-g34cf68c"
part. You can override the version using -Pversion=A.B.C .
We plan to have an official release to Maven Central about every 2 weeks
(our sprint duration). The first official release should be by the end of
this week.
We haven't considered having intermediate snapshot builds and we are open
to suggestions.
Thanks.
On Tue, Dec 8, 2015 at 11:08 AM, kadaan notifications@github.com wrote:

@chavdar https://github.com/chavdar I got publishing to artifactory
working, but I noticed that the version number of the jars is a little
weird. For instance, right now the jars are published with version:
0.5.0-337-g34cf68c. This corresponds to the tag. Additionally it publishes
to the release repository. It seems like it would be better to publish
snapshot versions until there is a release. What do you think? What is the
process you normally follow?
—
Reply to this email directly or view it on GitHub
https://github.com/linkedin/gobblin/issues/508#issuecomment-162984584.

I'm not really asking for you to release snapshot builds, but for the process to support snapshot builds easily.  Given the current plan, if I pull master and build I will get a new version.  Once I upload that version to artifactory I will have to change all references to it to take advantage of the latest unreleased changes.  This will be most painful when developing libraries against gobblin master.  Supporting snapshots will mean I only have to change dependencies every 2 weeks (my sprint duration as well).
Alternatively, I could depend on a version range.
In my case, I'm creating a company internal gobblin_contrib library.  It will contain sources, extractors, etc. that are not generic enough to commit back.  In development I want to work against gobblin master, but not have to constantly update the maven dependency.

Looking at this a little more, it seems like what you are doing might be match the versioning schema for Oracle provided artifacts as described here: https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN8903
If so, maven is supposed to handle this correctly.

BTW, the following version specification in maven works to correctly limit the dependency to any instance of the 0.5.0 version: <version>[0.5.0,0.5.1)</version>

authors: chavdar kadaan

repo: linkedin/gobblin


text:
Adding a map which can be sealed/unsealed for writes on demand

The new map is used in RelMetadataQuery which contains an unbound map to which
entries are added conditionally when a new RelNode is created on the cluster.
RelMetadataQuery is used in RelOptCluster. For RelOptClusters that are long
lived, this can result in memory leaks when RelNodes are added to the map and
that is the only remaining reference to the RelNode preventing garbage
collection
RelMetadataQuery is not thread-safe so its map cannot be written to if it is
used across multiple threads. Instead, its map should be sealed before using
in it in a multi threaded environment.
There is no change from current behavior if the seal/unseal functionality is
not used

LGTM

authors: prakharsharma vgkholla

repo: linkedin/linkedin-calcite


text:
Add support to header

Move the Support link out of the user menu and into the top-level nav.

Coverage increased (+0.03%) to 70.581% when pulling fb162f951df7fa6bca667c8f890eb23b061865e4 on eatonphil:add-support-to-header into 81faea91f1454425c31a0809b228170bc369d29d on linode:develop.

authors: coveralls eatonphil

repo: linode/manager


text:
Improve readme

link to authors
add remark about publication

Closed by b481f3a21f62bfe4807843a028140a2d16213f40


text:
Record when project is deleted

Record when a project is deleted, via the same mailing list used to record transitions to passing or in progress.  Record its JSON record as well.

I will get working on this.  I will also record who deleted the project.

Resolved.

authors: david-a-wheeler jdossett


text:
Remove old CodeQL action

Description
This PR removes an old CodeQL action configuration, it is disabled but the cron schedule still works.
It has already been replaced with the GitHub built-in version of CodeQL, enabled from the repository settings.

/rebase test=true

/merge

repo: liqotech/liqo


text:
Fix link in README.md (minor)

My understanding is that markdown doesn't require special syntax if the full link is used. The current link is broken.

This was fixed in another PR, closing this

authors: beemi xanoni

repo: liquality/wallet


text:
Do not ignore unknown change types when no attributes are specified

Search first

[X] I searched and no similar issues were found

Description
Liquibase will fail validation when it hits a change type it doesn't recognize, but NOT if there are no attributes on the change.
With XML, the liquibase XSD adds an extra layer of validation that disallows unknown change types, but using the ext or another "allow anything" schema will get you past that layer, to the cross-changelog-type validation layer where the problem is. If you are not using an XML based changelog, you see this more directly and easily.
Example problem changeset:
    <changeSet id="sqlTest" author="system">
        <ext:invalid>
            CREATE TABLE PUBLIC.sqltest (id INT)...
        </ext:invalid>
    </changeSet>

NOTE: If the changeset would have been:
    <changeSet id="sqlTest" author="system">
        <ext:invalid table="sqltest">
            CREATE TABLE PUBLIC.sqltest (id INT)...
        </ext:invalid>
    </changeSet>

it would have correctly failed the with an "unknown change type 'invalid'" validation error.
Steps To Reproduce
See description
Expected/Desired Behavior
Such changeTypes shouldn't be run saying changes are deployed, when they are not, this is even worse than if Liquibase throw error but actually deploys changes as it creates hard-to-find issues.
Liquibase Version
4.20
Database Vendor & Version
any
Liquibase Integration
No response
Liquibase Extensions
No response
OS and/or Infrastructure Type/Provider
reproduced on Windows 10 and Ubuntu
Additional Context
ticket referring mongo change where issue was found https://datical.atlassian.net/browse/DAT-13999
Are you willing to submit a PR?

[ ] I'm willing to submit a PR (Thank you!)

I think the problem code is at https://github.com/liquibase/liquibase/blob/42c45a60bc6673db8a164dadb35825146bbf7c53/liquibase-standard/src/main/java/liquibase/changelog/ChangeSet.java#L560 where we only throw the error if the child node has attributes.
I'm not sure the correct fix off hand, because we have a feature that extensions can be looking for custom attributes on the changeSet object and we don't know what those could be. And parsed-node structurally (because of yaml/json) there isn't a great difference between a nested key/value element and an attribute.
So it's possible this will not be an isolated fix, but hard to know until someone gets into the code and tries.

authors: KushnirykOleh nvoxland

repo: liquibase/liquibase


text:
Ensure that the root scope is initialized correctly regardless of whether a scope manager has been configured yet or not.

Environment
Liquibase Version: 4.3.1
Liquibase Integration & Version: spring boot
Liquibase Extension(s) & Version: N/A
Database Vendor & Version: MySQL 5.7.12-log
Operating System Type & Version: Amazon AWS RDS
Pull Request Type

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

Description
We have a Spring Boot command line application that applies the same Liquibase changset concurrently to two different database instances using the Liquibase Java API. Currently this fails due to a Liquibase scope collision.
Steps To Reproduce
The Liquibase.update() method is run with the Java ExecutorService on two different threads. Currently the liquibase Scope class defaults to the SingletonScopeManager if no ScopeManager has been defined. This causes a problem in a multi-threaded application. Therefore we implemented a ThreadLocalScopeManager to ensure that each thread maintains it's own scope.
public class ThreadLocalScopeManager extends ScopeManager {

    private ThreadLocal<Scope> currentScope = new ThreadLocal<>();

    @Override
    public Scope getCurrentScope() {
        return currentScope.get();
    }

    @Override
    protected Scope init(Scope scope) {
        return scope;
    }

    @Override
    protected void setCurrentScope(Scope scope) {
        this.currentScope.set(scope);
    }
}

Then we set the ScopeManager using the following code prior to creating the worker threads:
ThreadLocalScopeManager threadLocalScopeManager = new ThreadLocalScopeManager();
Scope.setScopeManager(threadLocalScopeManager);

However, there is a bug in that the liquibase.Scope.getCurrentScope method does not initialize the root scope properly if the ScopeManager was already set externally:
    public static Scope getCurrentScope() {
        if (scopeManager == null) {
            scopeManager = new SingletonScopeManager();

            // if scopeManager != null then this code is never reached
            Scope rootScope = new Scope();
            scopeManager.setCurrentScope(rootScope);

            LogService overrideLogService = rootScope.getSingleton(LogServiceFactory.class).getDefaultLogService();
            if (overrideLogService == null) {
                throw new UnexpectedLiquibaseException("Cannot find default log service");
            }
            rootScope.values.put(Attr.logService.name(), overrideLogService);

            //check for higher-priority serviceLocator
            ServiceLocator serviceLocator = rootScope.getServiceLocator();
            for (ServiceLocator possibleLocator : serviceLocator.findInstances(ServiceLocator.class)) {
                if (possibleLocator.getPriority() > serviceLocator.getPriority()) {
                    serviceLocator = possibleLocator;
                }
            }

            rootScope.values.put(Attr.serviceLocator.name(), serviceLocator);
        }
        return scopeManager.getCurrentScope();
    }

Actual Behavior
If we run the code without using a ThreadLocalScopeManager:
2021-03-17T10:15:49,478Z [Trace ID: b9c5991cbecc31b] [pool-1-thread-2,] ERROR com.acme.liquibase.runner.Application - java.lang.RuntimeException: Cannot end scope plhquanuwg when currently at scope imsoofofys
liquibase.exception.LiquibaseException: java.lang.RuntimeException: Cannot end scope plhquanuwg when currently at scope imsoofofys
	at liquibase.Liquibase.runInScope(Liquibase.java:2327)
	at liquibase.Liquibase.update(Liquibase.java:216)
	at liquibase.Liquibase.update(Liquibase.java:202)
	at liquibase.Liquibase.update(Liquibase.java:198)
	at liquibase.Liquibase.update(Liquibase.java:190)
	at com.acme.liquibase.runner.Application.applyLiquibase(Application.java:156)
	at com.acme.liquibase.runner.Application.lambda$run$0(Application.java:103)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
	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:834)
Caused by: java.lang.RuntimeException: Cannot end scope plhquanuwg when currently at scope imsoofofys
	at liquibase.Scope.exit(Scope.java:212)
	at liquibase.Scope.child(Scope.java:174)
	at liquibase.Scope.child(Scope.java:162)
	at liquibase.Scope.child(Scope.java:141)
	at liquibase.Liquibase.runInScope(Liquibase.java:2322)
	... 10 common frames omitted
2021-03-17T10:15:49,478Z [Trace ID: ba93d282817ab953] [pool-1-thread-1,] ERROR com.acme.liquibase.runner.Application - java.lang.RuntimeException: Cannot end scope pyolzqgxeg when currently at scope imsoofofys
liquibase.exception.LiquibaseException: java.lang.RuntimeException: Cannot end scope pyolzqgxeg when currently at scope imsoofofys
	at liquibase.Liquibase.runInScope(Liquibase.java:2327)
	at liquibase.Liquibase.update(Liquibase.java:216)
	at liquibase.Liquibase.update(Liquibase.java:202)
	at liquibase.Liquibase.update(Liquibase.java:198)
	at liquibase.Liquibase.update(Liquibase.java:190)
	at com.acme.liquibase.runner.Application.applyLiquibase(Application.java:156)
	at com.acme.liquibase.runner.Application.lambda$run$0(Application.java:103)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
	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:834)
Caused by: java.lang.RuntimeException: Cannot end scope pyolzqgxeg when currently at scope imsoofofys
	at liquibase.Scope.exit(Scope.java:212)
	at liquibase.Scope.child(Scope.java:174)
	at liquibase.Scope.child(Scope.java:162)
	at liquibase.Scope.child(Scope.java:141)
	at liquibase.Liquibase.runInScope(Liquibase.java:2322)
	... 10 common frames omitted

If we set the ScopeManager as follows prior to creating the separate threads:
ThreadLocalScopeManager threadLocalScopeManager = new ThreadLocalScopeManager();
Scope.setScopeManager(threadLocalScopeManager);

then we get the below exception in this line of code prior to running the Liquibase update due to the root scope not being properly initialized:
FileSystemResourceAccessor fileSystemResourceAccessor = new FileSystemResourceAccessor(new File(changeLogRoot));

2021-03-17T12:50:40,663Z [Trace ID: 890973329e850749] [pool-1-thread-2,] ERROR com.acme.liquibase.runner.Application - null
java.lang.NullPointerException: null
	at liquibase.resource.FileSystemResourceAccessor.addRootPath(FileSystemResourceAccessor.java:54)
	at liquibase.resource.FileSystemResourceAccessor.<init>(FileSystemResourceAccessor.java:36)
	at com.acme.liquibase.runner.Application.applyLiquibase(Application.java:157)
	at com.acme.liquibase.runner.Application.lambda$run$0(Application.java:104)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
	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:834)
2021-03-17T12:50:40,663Z [Trace ID: 246c4e7f0188f22c] [pool-1-thread-1,] ERROR com.acme.liquibase.runner.Application - null
java.lang.NullPointerException: null
	at liquibase.resource.FileSystemResourceAccessor.addRootPath(FileSystemResourceAccessor.java:54)
	at liquibase.resource.FileSystemResourceAccessor.<init>(FileSystemResourceAccessor.java:36)
	at com.acme.liquibase.runner.Application.applyLiquibase(Application.java:157)
	at com.acme.liquibase.runner.Application.lambda$run$0(Application.java:104)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
	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:834)

Expected/Desired Behavior
Once we applied the changes in this pull request and configured our custom ThreadLocalScopeManager the Liquibase changsets are updated concurrently without any errors and the Spring Boot command line application completes successfully.
Screenshots (if appropriate)
If applicable, add screenshots to help explain your problem.
Additional Context
Add any other context about the problem here.
Fast Track PR Acceptance Checklist:

[x] Build is successful and all new and existing tests pass
[ ] Added Unit Test(s)
[ ] Added Integration Test(s)
[ ] Added Test Harness Test(s)
[ ] Documentation Updated

Need Help?
Come chat with us on our discord channel
┆Issue is synchronized with this Jira Story by Unito

Hi @rudolfv Thanks for creating this update for the code.
Here's what happens next.
A member of the Liquibase team will take a look at your contribution and may suggest:

Changes based on guidelines for PR submission
Additional tests (unit and/or integration) and/or Test Harness Tests
Provide other feedback, like requesting changes.

The PR will be prioritized according to our internal development and testing capacity.
We’ll let you know when it’s ready to move to the next step or if any changes are needed.

Experiencing the same issue as the reporter in a multi-threaded environment where liquibase is running (and breaks with the same symptom), I stumbled over this PR. I am wondering a little: Though I am totally fine with the code changes this PR proposes (and I would like to underline the urgency a little, because multi-threaded consumers of liquibase currently don't have any alternative to recover from this otherwise - the alternative is not to bump which - in my case - has a myriad of consequences), I find it strange that the suggested ThreadLocalScopeManager isn't taken over to the default's implementation of the ScopeManager as well. Instead, every multi-threading consumer would have to figure out the issue him-/herself and implement such a ScopeManager on his/her own. Moreover, I don't see any reason why in single-threaded environments, the ThreadLocalScopeManager implementation wouldn't work or might break things.
Perhaps putting the suggested ThreadLocalScopeManager into a separate PR? @rudolfv I don't want to adorn myself with borrowed plumes...

Yes, I think the overall ThreadLocalScopeManager support should be split out from this. This helps people writing their own ScopeManagers to work better. But to implement our own will require really making sure we support multi-threading correctly which will take a bit of work.
I created #2018 to track that work.

A strong +1 from me on getting this fixed ASAP and, ideally, including the ThreadLocal implementation as the default.  It's very odd to have an enterprise tool like this with such a glaring oversight on concurrency.  We NEED to be able to run concurrent update operations.  Thanks to all for filing the JIRA, articulating the problem, and getting the fix going.  We wait anxiously for it to be ready!

I did apply to override  SingletonScopeManager with ThreadLocalScopeManager but my test program throw very weird exception as I used liquibase-core 4.5.0
Do you have any idea to fix it?
java.lang.StackOverflowError: null
at liquibase.util.ObjectUtil.convert(ObjectUtil.java:252)
at liquibase.util.SmartMap.get(SmartMap.java:45)
at liquibase.Scope.get(Scope.java:275)
at liquibase.Scope.getSingleton(Scope.java:312)
at liquibase.configuration.ConfigurationDefinition.getCurrentConfiguredValue(ConfigurationDefinition.java:87)
at liquibase.license.pro.DaticalTrueLicenseService.licenseIsInstalled(Unknown Source)
at liquibase.license.pro.DaticalTrueLicenseService.licenseIsValid(Unknown Source)
at liquibase.configuration.pro.EnvironmentValueProvider.lookupProvidedValue(Unknown Source)
at ...

My test program is using parallel stream to upgrade multiple databases concurrently. Before it had same exception liquibase.exception.LiquibaseException: java.lang.RuntimeException: Cannot end scope pyolzqgxeg when currently at scope imsoofofys
Then I override SingletonScopeManager with ThreadLocalScopeManager now it throws (I am using liquibase-core 4.5.0)
java.lang.StackOverflowError: null at liquibase.util.ObjectUtil.convert(ObjectUtil.java:252) at liquibase.util.SmartMap.get(SmartMap.java:45) at liquibase.Scope.get(Scope.java:275) at liquibase.Scope.getSingleton(Scope.java:312) at liquibase.configuration.ConfigurationDefinition.getCurrentConfiguredValue(ConfigurationDefinition.java:87) at liquibase.license.pro.DaticalTrueLicenseService.licenseIsInstalled(Unknown Source) at liquibase.license.pro.DaticalTrueLicenseService.licenseIsValid(Unknown Source) at liquibase.configuration.pro.EnvironmentValueProvider.lookupProvidedValue(Unknown Source) at ...
Any idea how to fix this one?

@nvoxland I applied the new version (4.5.0) to our code that uses the ThreadLocalScopeManager mentioned earlier and encountered the same issue. The line that is causing the problem is [this](url) one and its interaction with the DaticalTrueLicenseService.

authors: eaglerainbow jamey-clari molivasdat nvoxland rudolfv tranminhhoainhan


text:
1054 add not null constraint causes data too long exception

Environment
Liquibase Version: 4.5.0
Liquibase Integration & Version: Spring Boot / Maven in my case but not specific to this integration
Liquibase Extension(s) & Version:  N/A
Database Vendor & Version: MySQL
Operating System Type & Version:  Not OS specific but I'm running Fedora 34
Pull Request Type

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

Description
Fix #1054
A clear and concise description of the issue being addressed.  Additional guidance here.

Describe the actual problematic behavior.
Ensure private information is redacted.

Steps To Reproduce
See:

https://github.com/liquibase/liquibase/issues/1054#issue-587536866
https://github.com/liquibase/liquibase/issues/1054#issuecomment-804873212

Actual Behavior
Liquibase generates invalid SQL when setting a default value to a boolean column.
Taken from https://github.com/liquibase/liquibase/issues/1054#issue-587536866:
<changeSet id="XXX" author="XXX">
    <addNotNullConstraint tableName="XX" columnName="XX" defaultNullValue="1" columnDataType="BIT(1)"/>
</changeSet>

Generates the following error:
Error setting up or running Liquibase: Migration failed for change set xxx.xml::xxxx::XXX:
[ERROR]      Reason: liquibase.exception.DatabaseException: (conn=28) Data too long for column

Expected/Desired Behavior
Liquibase generates a valid SQL update statement in the form of:
UPDATE FOO SET BAR = false WHERE BAR IS NULL

Fast Track PR Acceptance Checklist:

[x] Build is successful and all new and existing tests pass
[x] Added Unit Test(s)
[ ] Added Integration Test(s)
[ ] Added Test Harness Test(s)
[ ] Documentation Updated

Need Help?
Come chat with us on our discord channel

I pushed the current version of master to your fork to fix the build issue.

Hi @nhumblot Thanks for creating the fix.
A member of the Liquibase team will take a look at your contribution and may suggest:

Changes based on guidelines for PR submission
Additional tests (unit and/or integration) and/or Test Harness Tests
Provide other feedback, like requesting changes.

The PR will be prioritized according to our internal development and testing capacity.
We’ll let you know when it’s ready to move to the next step or if any changes are needed.

I pushed a change to your fork that replaces the custom boolean parsing with existing functions that do something similar. That should make it a bit more generally applicable.
I was hoping to not keep the fix isolated to booleans/bits, but the current datatype APIs don't have the functionality I'd need yet. At some point we can improve it, but for not booleans/bits are likely the biggest source of this "data type too small" error

authors: molivasdat nhumblot nvoxland


text:
Replace expressions with type arguments with diamond type <>.

Impact

[ ] Bug fix (non-breaking change which fixes expected existing functionality)
[X ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
Reports new expressions with type arguments that can be replaced a with diamond type <>.
Things to be aware of

Describe the technical choices you made
Describe impacts on the codebase

Things to worry about

List any questions or concerns you have with the change
List unknowns you have

Additional Context
Add any other context about the problem here.

I appreciate the PRs focused on single type of change, thanks!

authors: arturobernalg nvoxland


text:
Turkish upper/lower case conversion bug fix for database types

There is a bug related with Turkish dotless i and capital I with dot causing problems with Metabase open source project using liquibase. There are some simular bug reports & fixes related with this problem such as;
Liquibase JIRA Bug report 1
Metabase Forum
I tried to fix by making case changes according to en-US locale for database types and it should be for such SQL language-related strings, I am not aware if there are more in the project. But the case related with database types seems fixed within my Metabase build.
Information about Turkish locale differences:
Blog article

@talepweb There's a mistake in ClobType by accidentally using toUpperCase on lines 46-49:
https://github.com/liquibase/liquibase/commit/435e5c6806fc86084177197f70ca1363742044c2#diff-890c23c58a786e693a4c7518d911eea2L46
This breaks changesets and generates invalid SQL (...COL1 varchar(255), COL2 varchar (max) TEXT...). Note the duplicate type.

Thanks for the fix!

Hi, has this bugfix shipped? I'm running into it again in 3.6.3 -- see https://github.com/liquibase/liquibase.github.com/issues/125

authors: camsaul ibauersachs talepweb


text:
Load data is unable to find column configuration when using camel or snake case identifiers

If you normalize only LoadDataConlumnConfig's name; they may not match against tableColumns given a NullPointerException afterwards.

Thanks!

authors: manuelsanchezortiz nvoxland


text:
Warn users and give opportunity to revert when using non standard SSO group and/or SSO policy names

The non-standard names will make it harder to import (and perhaps other functions) in the future.

Work for this issue will begin begin on branch work-liquid-labs/cloudsite/219.

repo: liquid-labs/cloudsite


text:
Wide tables create poor query performance

On the MNIST handwritten digits data set (787 columns) query performance is very poor. On the order of several minutes for a 70K row data set.
time dolt sql -q 'SELECT count(id) FROM samples'
real	12m22.745s user	12m25.863s sys	0m1.296s

Thanks for the great report. Resolved here: https://github.com/liquidata-inc/dolt/commit/9611b2d2ca9187706f83cff2c7313ff038a71566.

authors: andrew-wm-arthur reltuk

repo: liquidata-inc/dolt


text:
CSS ziet er goed uit

CSS ziet er goed uit, goed dat je zoveel var gebruikt.
--Tom

thanks :)

repo: lisagjh/the-startup


text:
Documentation: final release roadmap

Hi, I'm actually using lit-element 2.5.1 and lit-html 1.4.1, and the documentation website is saying there is a new version of LIT.
But after a while I noticed it's still in RC.3.
Do you have a roadmap about a stable release version? Or do you think it's safe to use? Also the typescript template is using RC1.
Thanks

I observed they have a couple milestones open in their repo and once called Lit RC.next which might be a good representation of gauging remaining scope.
That said, it would be great to hear something more formal (blog post, tweet) to get a sense of where this new RC may put the project in the context of a final release.

repo: lit/lit


text:
[reactive-element] Type 'Component' is not assignable to type 'ReactiveElement'. Types have separate declarations of a private property '__instanceProperties'.

Which package(s) are affected?
Lit Core (lit / lit-html / lit-element / reactive-element)
Description
With lit@2.2.8 lit decorators works as expected, but if I wanted to upgrade to 2.3.0 or above I get this typescript error:
component.ts: error TS2345: Argument of type 'Component' is not assignable to parameter of type 'ReactiveElement | ClassElement'.
  Type 'Component' is not assignable to type 'ReactiveElement'.
    Types have separate declarations of a private property '__instanceProperties'.

Component code:
export class Component extends LitElement {
	@query('[part="feedback"]') readonly $feedback!: HTMLElement;
	...
}

Reproduction
I didn't had time to create a reproduction repo, but if it's needed I can make.
We use the following tsconfig.json compilerOptions:
{
  "compilerOptions": {
    "baseUrl": ".",
    "target": "es2018",
    "module": "esnext",
    "moduleResolution": "node",
    "declaration": true,
    "experimentalDecorators": true,
    "esModuleInterop": true,
    "sourceMap": true,
    "resolveJsonModule": true,
    "useDefineForClassFields": false,
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "allowSyntheticDefaultImports": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.d.ts"
  ]
}

Workaround
Workaround is to use 2.2.x version
Is this a regression?
Yes. This used to work, but now it doesn't.
Affected versions
Failing since 2.3.0, worked in 2.2.8
Browser/OS/Node environment
node: 16.15.1
typescript: 4.7.4
OS: macOS 12.5

I'm seeing this issue as well with Lit 2.3.1.
node: 16.17.0
typescript: 4.7.4
OS: Windows 11

I ran npm dedupe which fixed the issue.

Also seeing the same with 2.3.1. Downgrading to 2.2.8 fixed it.

same here, we can't go to 2.3.0 and above:

The problem is there are likely multiple versions of @lit/reactive-element installed which can be checked by npm ls @lit/reactive-element`.
It's probably something like:
lit@2.3.1
└─┬ @lit/reactive-element@1.4.1
  └─┬ lit-element@3.2.2
    └── @lit/reactive-element@1.3.4

This would happen for existing projects that update lit to the latest version because we bumped @lit/reactive-element but not lit-element causing this duplication.
As @SketchBookkeeper pointed out, npm dedupe would fix this by removing the older version of @lit/reactive-element.
To prevent this from happening when updating lit, we should publish a patch to lit-element to depend on the same minimum version of @lit/reactive-element and patch lit to up the version of lit-element it depends on.
A potential longer discussion is whether we want to avoid using private class fields so we just rely on structural typing and allow for multiple instance interop like these w/o type errors.

I'm actually curious how others got to the point of seeing this error and what their package.json might look like?
I can reproduce this error by installing a specific version of @lit/reactive-element but if I just update lit, it seems to update and dedupe dependencies fine.
I suspect those who are seeing this might also have a specifically mentioned dependency on @lit/reactive-element in the package.json.

The reason why we have two different version is @open-wc/testing
o Reasons this module exists
   - "_project_#@strivacity#elements" depends on it
   - Hoisted from "_project_#@strivacity#elements#lit"
info Disk size without dependencies: "3.67MB"
info Disk size with unique dependencies: "6.58MB"
info Disk size with transitive dependencies: "6.61MB"
info Number of shared dependencies: 4
=> Found "@open-wc/testing-helpers#lit@2.2.8"
info This module exists because "_project_#@strivacity#elements#@open-wc#testing#@open-wc#testing-helpers" depends on it.
info Disk size without dependencies: "676KB"
info Disk size with unique dependencies: "3.57MB"
info Disk size with transitive dependencies: "3.59MB"
info Number of shared dependencies: 4

@augustjk We use yarn, so yarn dedupe was useless in our case:
error The dedupe command isn't necessary. yarn install will already dedupe. 😂
I ran into this issue updating from lit-element@2.5.0, lit-html@1.4.1 and @open-wc/testing@3.1.6. Multiple versions of @lit/reactive-element were listed in the yarn.lock, despite running yarn remove lit-element lit-html before yarn add lit.
I've now fixed the issue by manually deduping my yarn.lock.

@augustjk I' also experience that issue. In my case I can see another version of reactive-element which comes from using shoelac.stye@2.0.0-beta.82 and @lit-labs/motion@1.0.3

Root cause of this error:
lit package re-exports LitElement from the lit-element package which has its own dependency on @lit/reactive-element
lit package re-exports all decorators from a direct dependency on @lit/reactive-element.
Therefore, the version of @lit/reactive-element for LitElement could potentially be different than the decorators.
Workarounds:
Dedupe the versions of @lit/reactive-element so there's only one.
Or,
make sure LitElement and the decorators come from the same package.
import {LitElement} from 'lit-element';
import {query} from 'lit-element/decorators.js';

We should fix it so that importing everything straight from lit should be fine even with multiple versions.
Potential options for fix:

Don't use private properties in classes which make the class types from different versions incompatible.
Drop the direct dependency of @lit/reactive-element from lit and rely on it being a transitive dependency via lit-element. Change the re-exports of decorators in the lit package to come from lit-element/decorators.js instead.

I think option 2 makes more sense to me.

Drop the direct dependency of @lit/reactive-element from lit

So we actually don't want to change our dependency graph as that will cause an additional waterfall of dependency request when unbundled.
The best solution seems to still be to make sure @lit/reactive-element is deduped.
For npm users, npm dedupe seems to do its job well.
For yarn users, I'm not too familiar with it myself and having trouble replicating the issue. I see that yarn dedupe doesn't work the same way as npm, but yarn install seems to try and dedupe everything according to version markers. yarn upgrade @lit/reactive-element might also help to nudge it to be the same latest version.
If you're still having this issue, please let us know.

same error here

@lit/reactive-elemenet@1.6.2 was just released which includes the fix for this. Specifically the decorators need to come from the latest @lit/reactive-element, and it can then be applied to fields on classes extending other versions of lit-element or @lit/reactive-element.

authors: Himself65 RoXuS SketchBookkeeper augustjk codeth petergaal91 stefanholzapfel


text:
what is the exact role of PerturbedGradientDescent in FedProx

I studied your paper and code, and I'm troubled to clearly understand to what extent PerturbedGradientDescent optimizer contributes to your work. If you kindly explain to me what the following line does in your code, It may clear things up for me.
https://github.com/litian96/FedProx/blob/0f9c2e8eda4133d1ba1da2d9fe4f53522eb51096/flearn/trainers/fedprox.py#L55
Thank you in advance.

Thank you for your interest.
When you call set_params, it will assign self.latest_model to v_star (https://github.com/litian96/FedProx/blob/master/flearn/optimizer/pgd.py#L63-L64) (which is to set the global model w^t in the paper); and when we do local optimization, by using the pgd optimizer, we will update the parameters using gradients \nabla F(w_k) + \mu (w_k - w^t), as enforced in the pgd optimizer (i.e., FedProx optimizer) class (https://github.com/litian96/FedProx/blob/master/flearn/optimizer/pgd.py#L29-L34).

Thank you for your interest.
When you call set_params, it will assign self.latest_model to v_star (https://github.com/litian96/FedProx/blob/master/flearn/optimizer/pgd.py#L63-L64) (which is to set the global model w^t in the paper); and when we do local optimization, by using the pgd optimizer, we will update the parameters using gradients \nabla F(w_k) + \mu (w_k - w^t), as enforced in the pgd optimizer (i.e., FedProx optimizer) class (https://github.com/litian96/FedProx/blob/master/flearn/optimizer/pgd.py#L29-L34).


text:
Refactor CI/CD scripts, remove vendor directory and migrate circleci to github workflow

Issue- https://github.com/litmuschaos/litmus/issues/2481
Changes

migrate circleci to github workflow
Remove vendor directory
remove go-multiarch-build.sh and move its logic in Makefile
remove push script and move its logic to github workflow
Simplify and clean the Makefile
Refactor Github workflow and add Trivy GitHub action

Need to setup credentials as GitHub secret @ksatchit @rajdas98

Also, a binary test ARM would help!

@uditgaurav For ARM

Image- imrajdas/chaos-operator:ci

repo: litmuschaos/chaos-operator


text:
feat(exp): Remove helper pod from pod delete experiment

Signed-off-by: Udit Gaurav udit.gaurav@mayadata.io
This PR is for:

Removing the helper pod approach from the pod-delete experiment. This is to minimize the resources used to perform the pod delete experiments.

ChasoEngine:
Name:         nginx-chaos
Namespace:    default
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"litmuschaos.io/v1alpha1","kind":"ChaosEngine","metadata":{"annotations":{},"name":"nginx-chaos","namespace":"default"},"spe...
API Version:  litmuschaos.io/v1alpha1
Kind:         ChaosEngine
Metadata:
  Creation Timestamp:  2020-07-21T17:17:26Z
  Finalizers:
    chaosengine.litmuschaos.io/finalizer
  Generation:        12
  Resource Version:  9333643
  Self Link:         /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosengines/nginx-chaos
  UID:               c22eeca7-7f1e-4cbe-b6ba-b12c56a16e8a
Spec:
  Annotation Check:  false
  Appinfo:
    Appkind:              deployment
    Applabel:             run=nginx
    Appns:                default
  Chaos Service Account:  pod-delete-sa
  Components:
    Runner:
      Image:     litmuschaos/chaos-runner:1.6.0
  Engine State:  stop
  Experiments:
    Name:  pod-delete
    Spec:
      Components:
        Env:
          Name:         TOTAL_CHAOS_DURATION
          Value:        30
          Name:         CHAOS_INTERVAL
          Value:        10
          Name:         FORCE
          Value:        false
      Rank:             0
  Job Clean Up Policy:  retain
Status:
  Engine Status:  completed
  Experiments:
    Last Update Time:  2020-07-21T17:18:15Z
    Name:              pod-delete-8uy7mr
    Status:            Execution Successful
    Verdict:           Pass
Events:
  Type    Reason                     Age                   From                     Message
  ----    ------                     ----                  ----                     -------
  Normal  ChaosEngineInitialized     7m12s                 chaos-operator           nginx-chaos-runner created successfully
  Normal  ExperimentDependencyCheck  7m8s                  nginx-chaos-runner       Experiment resources validated for Chaos Experiment: 'pod-delete'
  Normal  ExperimentJobCreate        7m3s                  nginx-chaos-runner       Experiment Job 'pod-delete-8uy7mr' created for Chaos Experiment 'pod-delete'
  Normal  PreChaosCheck              6m42s (x4 over 7m2s)  pod-delete-8uy7mr-qk9nf  AUT is Running successfully
  Normal  PostChaosCheck             6m32s                 pod-delete-8uy7mr-qk9nf  AUT is Running successfully
  Normal  Summary                    6m32s                 pod-delete-8uy7mr-qk9nf  pod-delete experiment has been Passed
  Normal  ExperimentJobCleanUp       6m23s                 nginx-chaos-runner       Experiment Job 'pod-delete-8uy7mr' will be retained
  Normal  ChaosEngineCompleted       6m18s                 chaos-operator           Chaos Engine completed, will delete or retain the resources according to jobCleanUpPolicy

ChaosResult:
Name:         nginx-chaos-pod-delete
Namespace:    default
Labels:       name=nginx-chaos-pod-delete
Annotations:  <none>
API Version:  litmuschaos.io/v1alpha1
Kind:         ChaosResult
Metadata:
  Creation Timestamp:  2020-07-21T17:15:52Z
  Generation:          4
  Resource Version:    9333609
  Self Link:           /apis/litmuschaos.io/v1alpha1/namespaces/default/chaosresults/nginx-chaos-pod-delete
  UID:                 9d847a09-028d-467a-932f-8e1a23718612
Spec:
  Engine:      nginx-chaos
  Experiment:  pod-delete
Status:
  Experimentstatus:
    Fail Step:  N/A
    Phase:      Completed
    Verdict:    Pass
Events:
  Type    Reason   Age    From                     Message
  ----    ------   ----   ----                     -------
  Normal  Summary  7m42s  pod-delete-8uy7mr-qk9nf  pod-delete experiment has been Passed

repo: litmuschaos/litmus-go


text:
Add ability to select text on the text area

This pull request adds text selection ability to the text area (and internally, the label as well).
A new member was added to the text portion of lv_style_t called sel_color. It defines the selection color of the rectangle.
The lv_draw_label API was extended with two new arguments: sel_start and sel_end. These define the selection area.
APIs have been added that allow users to:

Find out what part of the text is selected.
Enable/disable the ability to select text.
Clear the selection.

Multi-line text areas are handled properly.

To test it enable selection mode on any text area object with: lv_ta_set_sel_mode(ta, true).

Very nice update!
I've tested it and seems working. I'd like to check the code too in more detail. Hopefully, I can do it tomorrow.
Just out of curiosity, can you tell the case when you needed this feature?

Just out of curiosity, can you tell the case when you needed this feature?

I haven't actually had a use case for this feature yet. It's just something I've seen in other GUI libraries so I thought it would be a good feature to have.

I've tested it and seems working. I'd like to check the code too in more detail. Hopefully, I can do it tomorrow.

No problem, take your time. :wink:

It looked good!

I haven't actually had a use case for this feature yet. It's just something I've seen in other GUI libraries so I thought it would be a good feature to have.

Actually, I didn't see this feature in other embedded GUI libraries only in "Desktop" GUI libraries.
But some people use LittlevGL on Raspberry or other single board PC. There this feature really comes in handy.

Actually, I didn't see this feature in other embedded GUI libraries only in "Desktop" GUI libraries.
But some people use LittlevGL on Raspberry or other single board PC. There this feature really comes in handy.

I agree. It also added lv_label_is_char_under_pos which could be useful in future embedded scenarios as well.

I agree. It also added lv_label_is_char_under_pos which could be useful in future embedded scenarios as well.

Sure :+1:

authors: embeddedt kisvegabor

repo: littlevgl/lvgl


text:
Make window resizeable

Summary:
Make the window can be resizeable like normal window.
Problem:
I have no idea how to solve it...
I will try my best...

fixed in 1.0.5.3
but laggy

repo: littlewhitecloud/CustomTkinterTitlebar


text:
compatibility with paradise inline/meta macros

The implementation should be compatible with inline/meta macros in paradise.

It would be great if we could:

Compile a new-style macro with scalac and then expand it with dotc.
(Vice versa) compile a new-style macro with dotc and then expand it with scalac.

authors: liufengyun xeno-by

repo: liufengyun/eden