LND paid insanely high closing fees

Background
A channel that got closed recently paid 95 sat/vB fee on what I understand to be sweep transaction. At current mempool, 2 sat/vB transactions should confirm in next block.
Your environment

version of lnd 0.12.1
which operating system (uname -a on *Nix) Linux  3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
version of btcd, bitcoind, or other backend - bitcoind v0.20.0
any other relevant environment details - the channel was opened with LOOP node

Steps to reproduce

Open a channel with LOOP with reasonably small fees
Wait until LOOP closes the channel (after a few days at most)
Check fee rates on closing transactions

Expected behaviour
At current situation, sweep fee rate should be at 2-3 sat/vB.
Actual behaviour
Fee rate was 95 sat/vB.

A channel that got closed recently paid 95 sat/vB fee on what I understand to be sweep transaction. At current mempool, 2 sat/vB transactions should confirm in next block.

Fee negotiation as defined right now in the protocol is an incremental negotiation process. Both sides advertise a fee rate then attempt to incrementally walk towards them. If one side advertises a very high fee, and the other a low fee, then the final fee will be somewhere in the middle. There's some idea to improve things by advertising an absolute range on both sides, with the initiator (since they pay the fees) just picking one of them.

Hmm, that's quite sad, if an abusive node sucks up all liquidity and then closes the channel with very high fee, it's pure loss for the one who opened it. It'd be really great if something was done about it.

LND should not accept a fee for coop close which is higher than what would have been for a force close.


Better build system documentation?

I'm building a custom pdfjs to send you guys some PRs.
The build system isn't really documented.
For example, I realized that there is 'gulp package' but this builds .zip files.
I want to build my own custom package and push them to npm but the setup you have is custom.
Once the .zip files are built how do you send them to npm?
I'll document this and send a PR for the build system?

I realized that there is 'gulp package' but this builds .zip files.

No such gulp target exists, did you actually mean gulp publish here?
If so, that gulp target is only used to produce the official releases as found at https://github.com/mozilla/pdf.js/releases

I want to build my own custom package and push them to npm but the setup you have is custom.

Well, there's the gulp dist target which is used to create/publish the builds for https://github.com/mozilla/pdfjs-dist/, which is what also ends up at https://www.npmjs.com/package/pdfjs-dist (courtesy of bot scripts at https://github.com/mozilla/botio-files-pdfjs).

Thanks... I sort of figured it out.  I realized that gulp dist does this and builds a new package which I can then push.
thanks!


Wrong assumption about $ROOT_DEV is LVM

# pvcreate /dev/vda2
# vgcreate docker /dev/vda2
# reboot
# echo 'VG=docker' > /etc/sysconfig/docker-storage-setup
# systemctl stop docker
# rm -rf /var/lib/docker
# docker-storage-setup
  Volume group "vda1" not found
  Cannot process volume group vda1

The problem is in
ROOT_DEV=$( awk '$2 ~ /^\/$/ && $1 !~ /rootfs/ { print $1 }' /proc/mounts )
ROOT_VG=$( lvs --noheadings -o vg_name $ROOT_DEV | sed -e 's/^ *//' -e 's/ *$//')

as ROOT_DEV becomes /dev/vda1 which is not LVM, and hence the script breaks.
Why is there an assumption that ROOT_DEV is LVM?

This script so far assumes that LVM is being used. If we want it to work on systems which does not use LVM and use partitions directly, it will need to be fixed.

+1... this affects any RHEL VMs deployed to Azure where LVM is not used by the root device

@anweiss Are you looking for growing root partition or looking to setup thin pool. If you are looking to setup thin pool, it will fail anyway (in default setup) as there is most likely no free space on root disk.
I think best is to add another disk to VM and use that disk to setup lvm thin pool.

hey @rhvgoyal ...so I get this same error when I attach a disk to the VM and use it to setup the thin pool

@anweiss Have you tried latest upstream docker-storage-setup. My understanding is that script should give you info message Volume group backing root filesystem could not be determined and continue to setup lvm thin pool.

@rhvgoyal I have... indeed, it sets up the lvm thin pool, but the docker-storage-setup.service fails to start due to the same error

@anweiss Can you paste the error. If lvm thin pool has been setup, then script should exit with success instead of failure.
Also above code has changed. So I can't understand that how it fails with same error.

@rhvgoyal sure thing:
● docker-storage-setup.service - Docker Storage Setup
   Loaded: loaded (/usr/lib/systemd/system/docker-storage-setup.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Mar 21 15:52:20 osnode02 docker-storage-setup[4730]: Volume group "sda1" not found
Mar 21 15:52:20 osnode02 docker-storage-setup[4730]: Cannot process volume group sda1
Mar 21 15:52:21 osnode02 docker-storage-setup[4730]: /dev/sdc has partitions: sdc1
Mar 21 15:52:21 osnode02 systemd[1]: docker-storage-setup.service: main process exited, code=exited, status=1/FAILURE
Mar 21 15:52:21 osnode02 systemd[1]: Failed to start Docker Storage Setup.
Mar 21 15:52:21 osnode02 systemd[1]: Unit docker-storage-setup.service entered failed state.
Mar 21 15:52:21 osnode02 systemd[1]: docker-storage-setup.service failed.
Mar 21 15:52:21 osnode02 systemd[1]: start request repeated too quickly for docker-storage-setup.service
Mar 21 15:52:21 osnode02 systemd[1]: Failed to start Docker Storage Setup.
Mar 21 15:52:21 osnode02 systemd[1]: docker-storage-setup.service failed.

This occurs after the script is successfully executed and during initial startup of Docker

I think this is complaining about that /dev/sdc1 has paritions. lvm thin pool should still work though. Are you depending on service exit status somewhere?
One easy workaround is to create a volume group yourself and ask docker-storage-setup to create
lvm thin pool from that volume group. Say you have a device /dev/sdb. Create a volume group docker-vg from this device and then pass this to docker-storage-setup.
VG=docker-vg
And start docker-storage-setup and it should be fine.

I think docker is restarting for some reason and forcing restart of docker-storage-setup too. Can you disable Restart=on-failure and replace it with Restart=on-abnormal in docker.service file. This should cut down on restart when docker fails to start form some configuration failure etc.
IOW, if your thin pool has been setup once, I think it is there and working and if docker is failing to start, it should be failing to start for some other reason. Do "systemctl status docker -l". Failure exit status of docker-storage-setup is something which can be ignored for this configuration. (Right now it does not have mechanism to keep track of devices it has already processed).

thanks @rhvgoyal. let me do some digging and report back on this

@anweiss I think the code you are running might be little old. If you look at upstream code, we detect if device is already part of volume group and in that case we know we partitioned the device in previous run and we only give "INFO" message out.
INFO: Device /dev/vdb is already partitioned and is part of volume group docker-vg
Otherwise we error out with
Device $dev is already partitioned and cannot be added to volume group $VG"


bug: Neovim with Lazy.nvim crashes/quits on Alpine Linux & armv6l

Did you check docs and existing issues?

[X] I have read all the lazy.nvim docs
[X] I have searched the existing issues of lazy.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.9.4 - Build type: MinSizeRel - LuaJIT 2.1.0-beta3
Operating system/version
Alpine Linux v3.19
Describe the bug
When I start nvim on a Raspberry Pi with 512 MB, running Alpine Linux v3.19 with armv6l (single core, 32bit), nvim almost always crashes/quits.
I can't get much information on what's going on. I don't know if Neovim segfaults, if it gets killed by the kernel due to an out-of-memory, or if Neovim itself decides to quit.
I also couldn't find any relevant logs in dmesg or /var/log/messages.
Regarding memory, there's around 400 MB available to nvim: Alpine and processes take around 25-30 MB in total, and I assume the rest goes to the GPU.
Interestingly, I can run nvim with a clean configuration without problems. As soon as I introduce Lazy, I almost always get a crash/quit (I think I managed to get it to start with Lazy twice or something, but it's virtually impossible to reproduce).
 π nvim main ✗ ❯ nvim -u repro.lua; echo $?
139
 π nvim main ✗ ❯ nvim -u repro.lua; echo $?
139
 π nvim main ✗ ❯ nvim --clean; echo $?
0
 π nvim main ✗ ❯ nvim --clean; echo $?
0
 π nvim main ✗ ❯ nvim -u repro.lua; echo $?
139
 π nvim main ✗ ❯ nvim -u repro.lua; echo $?
139

Even running with gdb, I don't get much info, although I do consistently get a different exit code...

 π nvim main ✗ ❯ gdb --args nvim --clean
GNU gdb (GDB) 14.1
...
This GDB was configured as "armv6-alpine-linux-musleabihf".
...
Reading symbols from nvim...
(No debugging symbols found in nvim)
(gdb) r
Starting program: /usr/bin/nvim --clean
[Detaching after fork from child process 12214]
[Inferior 1 (process 12212) exited normally]
(gdb) quit

 π nvim main ✗ ❯ gdb --args nvim -u repro.lua
GNU gdb (GDB) 14.1
...
This GDB was configured as "armv6-alpine-linux-musleabihf".
...
Reading symbols from nvim...
(No debugging symbols found in nvim)
(gdb) r
Starting program: /usr/bin/nvim -u repro.lua
[Detaching after fork from child process 12242]
[Inferior 1 (process 12240) exited with code 0213]

This is what my memory looks like when I try to start nvim:

cat /proc/meminfo
MemTotal:         438944 kB
MemFree:          140188 kB
MemAvailable:     400604 kB
Buffers:           71768 kB
Cached:           171480 kB
SwapCached:            0 kB
Active:           113528 kB
Inactive:         140812 kB
Active(anon):      11496 kB
Inactive(anon):        0 kB
Active(file):     102032 kB
Inactive(file):   140812 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Zswap:                 0 kB
Zswapped:              0 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:         11104 kB
Mapped:            19288 kB
Shmem:               404 kB
KReclaimable:      28348 kB
Slab:              36952 kB
SReclaimable:      28348 kB
SUnreclaim:         8604 kB
KernelStack:         624 kB
PageTables:          360 kB
SecPageTables:         0 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      219472 kB
Committed_AS:      20704 kB
VmallocTotal:     573440 kB
VmallocUsed:        2516 kB
VmallocChunk:          0 kB
Percpu:               32 kB
CmaTotal:          65536 kB
CmaFree:           64156 kB

Steps To Reproduce

On an Alpine Linux with armv6l and 512 MB, grab the minimal init.lua and save it as repro.lua.
nvim -u repro.lua

Expected Behavior
Neovim starts and can be used normally.

I'm running LazyVim (the distro that uses lazy.nvim) on Alpine without issues.
There's also a docker example to run LazyVim on alpine.
Must be somthing in your config. Closing


GitHub: separate build caches

To avoid build caches getting larger and larger, causing our builds to fail, we separate the caches of the different job types. If we don't separate them, then the caches can end up being a combination of the different jobs, which isn't useful (for example the build cache of the cross compilation build isn't useful in an integration test and vice versa).
NOTE: Not yet sure if this works, will assign review once it seems it does work as expected.

This seems to achieve what we want. We might create more caches in total (for which I think there is no limit) but the individual caches should become smaller to avoid the GitHub runners running out of disk space (hopefully).


Generate personalized cover letters

Based on linkedin user profile information, create a personalized cover letter for each company the user is applying.

Based on the user's configuration, curriculum, linkedin profile and the job posting's description and company description generate a personalized cover letter


Clarify values accepted for type in configuration

It was unclear if postgresql or psql or posgres was the correct atom to use for PostgresQL.

@kwokster10 , Thanks for the PR. Before I merge this can you please change the lib/config/config.ex to reflect the updated README changes? The lib/config/config.ex contains the output that will be written to the project config. I changed this to go into develop branch rather than the master branch. It isn't critical and can wait for the next minor revision. Thanks!

@kwokster10 Looks like you already took care of the config changes. Thanks! I'll merge this into develop now

@jhartwell I don't think I updated the config but will open a PR for it now.


Cannot import optuna.exceptions

Cannot import optuna.exceptions
Expected behavior
It should import optuna.exceptions as shown in examples.
Environment

Optuna version: I installed 0.18.1 using Conda but if I list env dependancies it show 0.17.1
Python version: 3.7
OS: MacOS
(Optional) Other libraries and their versions:

Error messages, stack traces, or logs
ModuleNotFoundError: No module named 'optuna.exceptions'

Reproducible examples (optional)
from optuna.exceptions import TrialPruned

I close as I discovered that you just moved TrialPruned from structs to exceptions and exceptions will probably released later on.


README: Fix typos

Hi Loic, I closed this PR because it was opened for one year. Feel free to reopen and merge it. :wink:


Scalability and Caching issues and Imporvments Proposal

What's good about the scraper:
- It exists and it's written fine
- The idea is solid, having a news feed is fire
What's bad about the scraper:
- No vertical scalability -> One user makes one call on one update -> if we have 800 users refreshing at the same time, the upb webpage will reload 800 times
- No horizontal scalability -> what if we think of implementing 7 other scrapers? How do they fit in?
Proposal:
- Build a scalable, cacheable solution
Implementation details:
Vertical scalability:
- Build a 2 layer cache system for the newsfeed:
○ When a user refreshes their news feed, it first checks the local cache to see if a similar request has been made in the past k seconds. If yes -> cache hit, retrieve data from local, on device storage vault, load data. If not-> check level 2 cache. On L2 cache hit, retrieve data and write it in L1 cache with appropriate timestamp. On L2 cache miss, write data in L2, then L1, then show data
○ L1 can be implemented in a variety of ways, as a poc I suggest at least storing the json locally and replacing it each time with the newest data known.
○ L2 can be implemented either as cloud storage, table storage or database.
○ Checking L1 and L2 can be done via MD5 hash or a similar solution
Horizontal scalability:
- Implement a newsFeedProvider factory to spawn newsfeed providers
- Implement an observer that keeps track of asynchronous data gets and notifies them to either interrupt the process on hang or accept new data gets and pushes them onto a pipeline handler that delievers them to the ListView
Nice to have:
- 2nd scaraper to test concurrency issues (maybe similar news site or international students' news site? (i.e. the erasmus page?)
- Filtering on data sourcers
Different sorting features with a "recommended" options that uses some sort of basic ml/ai (maybe word bagging) to promote more relevant information first

@razvanra2 there's no need to manually implement a 2-layer caching system. flutterfire, the packages we use for the Firebase APIs, does that by default (caches the data on-device and only updates the documents that have changed). Therefore, just storing/fetching the data from Firebase should be enough, provided we have a way to keep it updated there - maybe via a cloud function that runs regularly to check if there is anything new on the news website. A cloud function would probably also be easy to integrate with Firebase messaging, meaning that if we do see that the news have updated, we can send a notification to the users.
As for the nice to have features - I'd try to focus on the faculty/university-specific news (https://upb.ro/stiriupb/ or even the LSAC facebook page), there's a pretty small subset of users who would be interested in erasmus so I wouldn't see that as a priority. Filtering on data sources is very easy to achieve once we have multiple scrapers. I wouldn't worry about sorting until we have a larger dataset to sort, the current sort by date is okay for now.
Another cool feature if you wanna get into ML solutions would be to have auto-generated tags for news, that would be pretty cool. And something that's probably simpler to do would be to show the user which news he hasn't seen since they last opened the app.
@GeorgeMD what are your thoughts on this?

My thoughts on this are that we should first decide the sources of the news.
Right now we only use https://acs.pub.ro/topic/noutati/ which gets updated very rarely and can be cached locally as there's not a lot of data (just small text).
For other sources (like a facebook page) that get updated multiple times a day we should look at a cloud function as @IoanaAlexandru says. This way we can cache the results in the database, and offer everyone the cached result. The main challenge will be making sure that if user A sends a request, gets a cache MISS and while the data is loaded and parsed, user B won't start the same process (meaning the code that parses the facebook data and puts it in the firebase should NEVER run more than 1 time at a given moment).
As for horizontal scalability. You'll find the data you want in different places on different sites, meaning you can't reuse selectors. This project uses the Providers (pretty much factory pattern / on demand dependency injection), meaning we register each scraper and can get an instance when we need, no need for a scraper factory in my opinion. Also based on the first paragraph, scrapers may be spread between users and cloud functions, depending where it makes more sense for them to live.
Ideally, we should have all scrapers as cloud functions (once we are on the paid plan, this should be achivable), so that we can use google servers to watch the data sources and push notifications to users, but for now we can get away with a background service on users' devices that checks the news every 1-2 hours or less often. We can't use such a service to check more constantly as we may use too much battery and mobile data.
Finally, I think we should consider watching google sheets where marks are posted and updating users' marks based on that. This might be achivable without the paid plan, as it's a google service talking to another google service.

I really believe scraping facebook and/or twitter is a challenge in it of itself and we should dismiss it for now, even if we'd get a lot of value out of it. I strongly believe it's hard to scrape a facebook page without a facebook api (that we'd have to pay for).
It's also arguably imoral. Arguably.
As a secondary data source for the news feed I'd propose https://upb.ro/stiriupb/ - we're all interested in news related to the campus / whole university, not just acs.
I agree that cloud functions (which i really enjoy working with) are the best approach. Having a chron expression triggered function for each data source that updates our personal, distributed caching system would be great.
However, I think that making some data scraping local and some distributed via a cloud function would be a mistake. Such an obfuscation of the logic would cause async mess and uneven code.
My initial proposal of having the user write back to a distributed cache was based on a discussion with Ioana. To my understanding, we don't have the budget to use cloud storage / cloud functions, at scale.
I understand the concern for battery life on mobile, however, I think making the user write back to the cache is not that big a deal, for our use case. My reasoning is:

Generically, in a caching system, more often you have cache hits, than cache misses. This means that for a large enough active user base (> 10 users, let's say, for us), the phone will just retrieve local data (or distributed data that should get to the device faster) causing faster load tames, less stress on the battery etc.
If writing to local cache is already abstracted for us, then i'd say it's probably done optimally. Writing to local cache then shouldn't be taxing for the battery. Reading from it should be far less taxing than making a GET.
Reading/Writing to the distributed cache: Reading should be fine, worst case scenario it's as bad as a GET from the website itself or from the crawler (as it's implemented now in the PR). Writing is the culprit, as I understant the point that you're making. However, writing to the distributed cache is an edge case that happens rarely (see point 1) on a single user's device. Plus, if we're using native technologies, i'd bet it'd be optimal and a fair trade-off in the long run.

To wrap it up:
I still think a distributed caching system is both a good and a fun idea to implement.
Using end-devices to write back to cache is not optimal, but it's what we can do for now and if implemented correctly, it can be far less of a concern on performance and battery life than it may seem.
Having multiple cloud functions would be really cool, but let's work with what we have. I'd say we should keep the mindset that we might shift to a new architecture in the long run and write the code with that in mind.
PS: really good idea about watching google sheets
PPS: I see your point on providers and read the PR you're about to merge before even raising the issue at all. The point I'm trying to make is that stuff like
final newsFeedProvider = Provider.of<NewsFeedProvider>(context);
is not scalable if you're going to have 7 different newsfeedproviders with slightly different sources / specs that respond asnychronously and have to be performant under some limit of time to ensure the app is as zippy as it can be. But this is a longer discussion and I'd rather not type it out.

We now have access to the Firebase Blaze plan, so I think it's worth looking into how cloud functions can scale without (or minimally) surpassing the free quota before attempting to do things manually. While I know it's a fun exercise, we shouldn't overlook a simpler solution in favour of a more complicated (albeit exciting) one which may not even net the same results.
As for the providers, I currently see no point in having multiple ones. We can simply have different methods in our current NewsProvider fetching data from different sources. With the provider architecture in flutter, the only reason you may really need to make different providers is when different pages in the app require different data sources - but that's not the case for us, so a single provider should be more than enough. It boils down to a class that multiple pages can access, after all, having multiple methods in it for fetching (the same kind of) data doesn't add any overhead and doesn't mess up the architecture.
We can discuss the next steps at length in a meeting later.

Did you test Firebase Blaze plan out? I'm noticing outbound traffic being limited to google services. That's a 👎  for us

I didn't test it and don't know much about it honestly, we just activated it like an hour ago. I see here we do have 5GB free of outbound non-Google API traffic per month.


[Web] Latest Release on Flutter Beta (1.26.0-17.3.pre) broke Web Zoom Behaviour

Steps to Reproduce

Create the default template Flutter App
Run the Template Flutter App on Browser
Change the zoom of the app

Expected results:
Flutter App should resize to fit the space that it now has available relative to its size. This was the behaviour in the previous build.
Actual results:
Flutter App does not resize and instead acts as if the browser also became the size of the zoom. So it becomes too large when zoomed in and too small when zoomed out. Sometimes the app will resize itself when the browser window is resized, but I couldn't get this to happen consistently.

Logs

[  +91 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +76 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +4 ms] 4b50ca7f7fbf56be72e54cd200825b760416a356
[   +1 ms] executing: [C:\flutter/] git tag --points-at 4b50ca7f7fbf56be72e54cd200825b760416a356
[  +79 ms] Exit code 0 from: git tag --points-at 4b50ca7f7fbf56be72e54cd200825b760416a356
[        ] 1.26.0-17.3.pre
[  +48 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +56 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [C:\flutter/] git ls-remote --get-url origin
[  +37 ms] Exit code 0 from: git ls-remote --get-url origin
[   +5 ms] https://github.com/flutter/flutter.git
[  +84 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD
[  +42 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[  +82 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[  +28 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[  +11 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[  +14 ms] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +83 ms] executing: C:\Users\Admin\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +45 ms] List of devices attached
[   +5 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.[  +10 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[  +12 ms] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +93 ms] Multiple devices found:
[  +23 ms] Chrome (web) • chrome • web-javascript • Google Chrome 88.0.4324.150
[   +2 ms] Edge (web)   • edge   • web-javascript • Microsoft Edge 88.0.705.50
[   +2 ms] [1]: Chrome (chrome)
[  +31 ms] [2]: Edge (edge)
[   +3 ms] Please choose one (To quit, press "q/Q")
[  +19 ms] :
[+4727 ms] 1
[  +45 ms] Skipping pub get: version match.
[ +134 ms] Generating
C:\Users\Admin\Documents\ATest\bug_test\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[ +114 ms] Launching lib\main.dart on Chrome in debug mode...
[ +152 ms] Updating assets
[ +110 ms] Waiting for connection from debug service on Chrome...
[ +111 ms] <- reset
[  +10 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root
C:\flutter\bin\cache\flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names
--experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
C:\Users\Admin\AppData\Local\Temp\flutter_tools.1da67f67\flutter_tool.73bbc487\app.dill
--libraries-spec file:///C:/flutter/bin/cache/flutter_web_sdk/libraries.json --packages
C:\Users\Admin\Documents\ATest\bug_test\.dart_tool\package_config.json -Ddart.vm.profile=false
-Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
C:\Users\Admin\AppData\Local\Temp\flutter_tools.1da67f67\flutter_tools.8637d6d8
--filesystem-scheme org-dartlang-app --initialize-from-dill
build\c7922d95bf4a2462b75c84a97c312edb.cache.dill.track.dill --platform
file:///C:/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill --no-sound-null-safety
[  +25 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+20754 ms] Waiting for connection from debug service on Chrome... (completed in 20.9s)
[   +1 ms] Synced 29.1MB.
[  +15 ms] <- accept
[   +1 ms] Caching compiled dill
[+140407 ms] Using
[ +165 ms] [CHROME]:
[  +34 ms] [CHROME]:DevTools listening on
ws://<IP_ADDRESS>:52862/devtools/browser/2dc7de78-7792-4bb6-bb13-b976e030b072
[+3133 ms] DwdsInjector: Received request for entrypoint at
http://localhost:52284/main_module.bootstrap.js
[   +6 ms] MetadataProvider: Loading debug metadata...
[  +10 ms] MetadataProvider: Loaded debug metadata
[   +6 ms] DwdsInjector: Injected debugging metadata for entrypoint at
http://localhost:52284/main_module.bootstrap.js
[+6309 ms] DevHandler: Debug service listening on ws://<IP_ADDRESS>:52907/8h-UndS_k-w=/ws

[  +12 ms] Debug service listening on ws://<IP_ADDRESS>:52907/8h-UndS_k-w=/ws
[        ] Running with unsound null safety
[        ] For more information see https://dart.dev/null-safety/unsound-null-safety
[   +2 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[        ] been thoroughly tested in production environments.
[        ] For more information see https://flutter.dev/web
[        ]   To hot restart changes while running, press "r" or "R".
[   +2 ms] For a more detailed help message, press "h". To quit, press "q".

Analyzing bug_test...
No issues found! (ran in 1.7s)

[√] Flutter (Channel beta, 1.26.0-17.3.pre, on Microsoft Windows [Version
    10.0.18363.1316], locale en-US)
    • Flutter version 1.26.0-17.3.pre at C:\flutter
    • Framework revision 4b50ca7f7f (6 days ago), 2021-02-04 19:44:27 -0800
    • Engine revision 2c527d6c7e
    • Dart version 2.12.0 (build 2.12.0-259.8.beta)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\Admin\AppData\Local\Android\sdk
    • Platform android-30, build-tools 29.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] VS Code (version 1.53.0)
    • Flutter extension version 3.19.0

[√] Connected device (2 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 88.0.4324.150
    • Edge (web)   • edge   • web-javascript • Microsoft Edge 88.0.705.50

• No issues found!

I am facing the same issue in version 1.26.0-18.0.pre.142

Hi @VHCBlade
This is an issue in canvaskit
The reason why it wasn't noticed before when simply running flutter web is, it used to be HTML as the default renderer on desktop/mobile web. which has changed in 1.26 and it now autoselects canvaskit on desktop and HTML on mobile (unless explicitly specified). Read more here https://github.com/flutter/flutter/issues/74621#issuecomment-767041394
You can see the issue in previous Flutter versions using canvaskit mode  flutter run --dart-define=FLUTTER_WEB_USE_SKIA=true -d chrome -v and on the latest beta if you just run flutter run -d chrome -v(defaults to canvaskit now)
This has been addressed and fixed, cherry-picked into the next beta release  https://github.com/flutter/flutter/issues/75286
latest dev and master

latest beta

Closing as fixed. If you disagree, please write in the comments and I will reopen it.
Thank you


Create ci.yml

sir, please check this

@gunjanmimo Hmm. We're getting close... Try executing these commands - https://github.com/layer5io/meshery-octarine/runs/218685093


Error: error building site: TOCSS: failed to transform "style.scss" (text/x-scss)

I've tried to set HUGO_VERSION=v0.112.1+extended which is used in your latest theme version and I've got this error:
Error: error building site: TOCSS: failed to transform "style.scss" (text/x-scss): "/opt/buildhome/repo/themes/serif/assets/scss/style.scss:10:20": Invalid CSS after "...nt-family-base:": expected expression (e.g. 1px, bold), was "<no value>, Helveti"

It doesn't work with latest hugo version too.

Ok for those who lazy to read installation steps, go and copy example web site as stated in readme :D


Control flow abstraction to avoid built-in exceptions, defer, multi-return, error handling, nil, etc.

Custom effects like in Koka (https://koka-lang.github.io/koka/doc/book.html#sec-handlers ) seem to be a neat way to abandon nil in Basil as well as exceptions etc. and making these constructs purely user-level and much more flexible.
What do you think?

As a universal and performant underlying principle CPS as proposed in https://github.com/basilTeam/basil/issues/21 could be used. This way any effect system, coroutine system, multicore scheduling system, etc. can be implemented with ease.

In the interest of keeping Basil's core semantics quite simple (since the partial-evaluation aspect and context-sensitive parser are complicated enough...), I've been shying away from things like an effect system. I do rather like the model as a means for expressing the responsibilities of different procedures...but I haven't really explored it fully enough to see how well it would adapt to Basil (it could be rather difficult to determine effects in compile-time code, for instance, where we can dynamically assemble expressions in function bodies and values are dynamically typed).
The current plan is to use optional/result types for error cases. Some kind of callback or exception system is worth considering for the future, but it introduces a lot of complexity for not, IMO, a tremendous amount of unique useful functionality. Closing for now, but I might refer back to this whenever I have a nice proposal for continuations for Basil (the best exception system for your project is the one you implement yourself...or at least, in theory 🙃).

If not effects in the broader sense as in Koka, then I'd strongly discourage from any effect or exception system.
In such case I'm a strong proponent of sumtypes with syntax sugar for optionals & results and additional compile time safety guaranteeing no nil/null/none dereference will happen in runtime etc. See e.g. https://github.com/vlang/rfcs/pull/7 how this could be achieved (how to guarantee it is outlined in https://github.com/vlang/rfcs/pull/7#issuecomment-921706984 ).
I think all these guarantees and sumtype semantics (incl. sugar as well as optimized special cases under the hood) could be doable with Basil.
So that'd be my recommendation instead of some special Basil-style exception handling aka poor man's pseudo-effect system :wink:.


New Template Submission: Dark Mode

i was bored and out of nowhere i made a dark mode version

i'll just merge this with a new branch to not mess with the current website


Unable to install diffefwi

I am trying to install the diffefwi to macmini2 but  I am unable to do it. It's showing error of PackagesNotFoundError. To me it seems to arise from building dependencies. Please can someone help. I have tried changing the install.sh file but could not resolve the issue.

Yes it is ARM-based Mac. Thank you for guiding me.


implement target fulfillment for scenarios

Add to scenario factsheets:
Parameter:

Name of target
Description of target
Was fulfilled

For the description of scenarios the term "political goal" or "climate goal" would be quite important. For example a 90 % greenhouse gas reduction goal is a typical input parameter for modelling. I think this isn't a political instrument or measure. Then the policy instrument could be defined as: A policy instrument is a activity by the government that intends to realize the political goal.
I would already be happy with the terms political goal and policiy instrument to describe scenario assumptions.

Originally posted by @Vera-IER in https://github.com/OpenEnergyPlatform/ontology/issues/444#issuecomment-674059328

I just saw in the OEO that we have the classes economic scenario, climate scenario, emission scenario and energy scenario. So I think if we have these classes, we don't actually need "political goal" or "name of target". For example a greenhouse gas reduction target can also be described with the emission scenario.
So I think the only thing which we could do is to relate the scenario classes to the classes name and description. In the OEO I foud written name and data descriptor.
I don't think that we need a label "was fullfilled", thats not a model input or output, it's rather a interpretation of the results.

But there is no def of politcal measure in FIBO. They have definitions of goal and objective, which could be helpful:
goal: a desired result that a person, organization or system envisions or plans, or to which it commits, in order to achieve a desired state (https://spec.edmcouncil.org/fibo/ontology/FND/GoalsAndObjectives/Goals/Goal)
objective: short-term, quantitative, measurable result that a person, organization, or system seeks to attain in order to achieve its long-term goals (https://spec.edmcouncil.org/fibo/ontology/FND/GoalsAndObjectives/Objectives/Objective)

Originally posted by @Vera-IER in https://github.com/OpenEnergyPlatform/ontology/issues/444#issuecomment-680834046

I would like to throw in here that we may also want to distinguish between 'target' and 'goal'. In the European legislative context a 'target' is something that is legally binding, while a 'goal' is a desired result an entity aims at. Failing to meet the goal won't have any legislative consequences.
https://ec.europa.eu/clima/policies/effort/regulation_en: In October 2014, EU leaders set a binding economy-wide domestic emission reductions target of at least 40% by 2030 compared to 1990. They specified that sectors of the economy not covered by the EU ETS must reduce emissions by 30% by 2030 compared to 2005 as their contribution to the overall target. The Effort Sharing Regulation translates this commitment into binding annual greenhouse gas emission targets for each Member State for the period 2021–2030, based on the principles of fairness, cost-effectiveness and environmental integrity.
https://ec.europa.eu/commission/presscorner/detail/en/ip_20_335: With the European Climate Law the Commission proposes a legally binding target of net zero greenhouse gas emissions by 2050. The EU Institutions and the Member States are collectively bound to take the necessary measures at EU and national level to meet the target.

Ok, important point.

Ok, important point.

Target and goal: I think this is a good idea.
And: could objective not be a synonym of goal?

Objective and goals are apparently no synonyms:
http://www.investorwords.com/article/goals-vs-objectives.html
To sum it up, a goal is about the big picture and the objective is a concrete step to reach the goal.
Do we need the concept of objective for describing political measures or can we leave it out?

In a political context I found similar definitions (source):

Goals are general guidelines that explain what you want to achieve in your community. They are usually long-term and   represent global visions such as “protect public health and safety.”

Objectives define strategies or implementationsteps to  attain the identified goals. Unlike goals, objectives are specific,  measurable, and have a defined completion date. They are more specific and outline the “who, what, when, where, and how” of reaching the goals.

When we think of use cases in our domain, the terms goal and target are mostly used. For example like climate goal or 95 % CO2 mitigation target. So I think the term objective is not needed in the OEO.

We need the concept(s) of goal/target/objective. Which label the concept will have in the end is secondary.

There is the def of goal of the FIBO we could use:

goal: a desired result that a person, organization or system envisions or plans, or to which it commits, in order to achieve a desired state (https://spec.edmcouncil.org/fibo/ontology/FND/GoalsAndObjectives/Goals/Goal)

What could be a suitable parent class?

In this comment, @akleinau suggested role (indirectly). Later in the oeo-dev-8.3-meeting, we decided that result doesn't fit as a parent class, but maybe another parent class can be useful, for example desired result.
A desired result is a role of a state where a person or a group of persons wants to reach that state.
The other option would be to use role as a direct subclass, so A goal is a role of a desired state that a person, organization or system envisions or plans, or to which it commits, in order to achieve this state.
If we only implement on of the concepts, the direct option would probably be better.

I prefer to add just one concept of goal, so that we can use role as parent class.

In that case we have a concept goal (A goal is a role of a desired state that a person, organization or system envisions or plans, or to which it commits, in order to achieve this state.)
Do we need anything else for this issue?

Is a desired state really an independent continuant that serves as bearer? Why not classify it as generically dependent continuant?

That's a good point. The desired state can't be the bearer, because a specifically dependent continuant existentially depends on its bearer. But a goal can (and in most cases does) exist without the existence of the desired state.
I think the bearer intended here is the person, organization or system from our definition. If I (a person) have the goal to eat a pizza, this goal specifically depends on me, because (1) the goal ceases to exist if I die, making its dependence existential and (2) if you want to eat a pizza, that goal is not the same goal (although there are similarities between our goals), making the goal specifically dependent.

From OEO dev meeting 16:
we can implement two things:
goal description: A goal description is an information content entity that contains statements about a desired future state of a system that a person or organisation envisions or plans, or to which it commits.
We agreed on (re)including 'written name' from IAO.
@sfluegel05 Could you reinclude that term please? (I don't know how to do that).
We still need to discuss if a concept target description is needed. If yes we could use the definition of goal description and include the legally binding aspect.

I'm a bit confused what was actually decided in dev meeting 16. Vera's comment suggests that we only need to decide on a concept target description, but based on the protocol it looks like we need to discuss about goal, target and objective.
For goal, we have this suggestion:
A goal is a role of a desired state that a person, organization, scenario or system envisions or plans, or to which it commits, in order to achieve this state.
The problem here was: we agree on the definition, but we don't have the concept of a state / quality of a system
For target and objective we have the following ideas:

target is legally binding, goal is only a desired result (in the European legislative context)
objectives are specific steps to reach a goal, goals are general guidelines
add a parent class to bracket all three terms together

The open question here: Do we need them?

My suggestion: Use the definition of goal without further specifying the state. I think this is okay, because (A) it is intuitively clear what a state is and (B) the parent class, role, uses a similar approach by referring to "special circumstances" and a "physical make-up" of the bearer without defining them as their own classes.
Also, we can leave out target and objective, since we didn't come up with a use case over the last months. We can still come back to them if they are needed.


Fixed # Usage paragraph

Thanks. This repo is actually behind https://github.com/mathjax/MathJax-third-party-extensions/tree/master/img by now and should probably be removed.


fix: slight cleanups to path handling so that the indices builder tool properly supports Windows

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

Project coverage is 79.59%. Comparing base (712405e) to head (5f269ff).
Report is 1 commits behind head on main.

Files
Patch %
Lines

rust/lance-index/src/vector/ivf/shuffler.rs
0.00%
2 Missing and 2 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2689      +/-   ##
==========================================
- Coverage   79.61%   79.59%   -0.02%
==========================================
  Files         226      226
  Lines       66516    66523       +7
  Branches    66516    66523       +7
==========================================
- Hits        52955    52948       -7
- Misses      10465    10471       +6
- Partials     3096     3104       +8

Flag
Coverage Δ

unittests
79.59% <0.00%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


compose: Preserve links when pasting html

Used to-markdown.js
#5853

@dgarvit thanks for working on this!  We prefer to get new dependencies via npm (aka add them to package.json).  See zulip.readthedocs.io/en/latest/dependencies.html; can you adjust this PR to use that approach?

@timabbott will do it!

@dgarvit any luck on adding the new dependency properly using npm?

@timabbott yup I implemented it successfully. Do I need to run yarn as well?
And, to be able to use it in the frontend js, it needs to be mentioned in zproject/settings.py right?

You'll need to run yarn to update yarn.lock, yeah; otherwise the changes won't take effect.  Then, tools/provision before testing whether the end result works.  And that sounds right.

@dgarvit hey, it looks like you pushed a revised version weeks ago, but we never saw it since you didn't post a comment.  What's the status of this PR?

This actually looks pretty good and works well.  I rebased it and merged it as a1ea01d3975c4d4c8dc1d96923cacf9eaaf3966e, after making a few changes to use the right library function for inserting content and to make sure it doesn't break pasting files from the clipboard.  I also added 9fa58a3c165f9feb093654277f26a1f9ff6dcced, which makes this a much nicer experience.
Thanks for making this happen @dgarvit!  I'd greatly appreciate it if you reviewed the version I merged and let me know if I may have broken any cases you'd tested.  I'm pretty excited about this fix.

@timabbott it works well with links. But the thing is, thanks to the library, it converts all the markdown from clipboard into the text area. Say for example, if there is something in Strong (or bold) characters which I copy, then it comes along with a '#' too. But this markdown is not supported by the zulip chat interface.
There can be two solutions:

Either we filter out the supported markdown when we paste something.
Or, we add support for more markdown. (I would recommend this).

I referenced it by creating a new issue. #7485


Don’t kown how to output the log to a file.

How to output the ”log.info“  for  a txt? Not find output path and  way.

Sorry, the current version of Brolog does not support saving logs to a file directly.
It might be easy to be implemented after this issue has been implemented:

#145

hello：
If   Brolog  can save the log to a file type based on prefixes or other filters, this tool will be very popular.
thanks。
在 2022年4月16日 11:07，Huan @.***> 写道：
Sorry, the current version of Brolog does not support saving logs to a file directly.
It might be easy to be implemented after this issue has been implemented:
#145
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Thanks for sharing what you think!
I hope so and we can wait for #145 to be implemented first.


Image Cropping with desired coordinates, ex: crop 400x300, at x:30, y:40

Thanks for the awesome plugin, i need to use the cropping feature little more advanced, that is to add specific cropping location with (x,y) coordinates. Just like its possible on facebook. In this case i will be passing coordinates at runtime obtained via jQuery imagearea select plugin.
Can you please help me on how can i achieve this with existing plugin.
Thank you
Vikram

This isn't possible with the currently plugin and is not a feature I intend to add, sorry.


Update README.md

It took me some time to realize that i did not switch from OS-mode to Run-mode. What puzzled me most was that the MQTT connection was "online", but no messages were send. (I also switched from PicoW to ESP... before realizing the mistake was on the configuration side.)
Therefore I tried to clarified the README 😄

Thank you very much for the improvement. I hope the adjustments will help to avoid misunderstandings.


feat: Fork page not allowing same owner even if the repo name is different

Gitea version (or commit ref): 1.12.6

Git version: not relevant

Operating system: container image pulled from docker hub (tag 1.12.6), runtime: cri-o 1.18.x

Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes (https://try.gitea.io/repo/fork/23472, https://try.gitea.io/testd711b1d40320fb4a12487f42/forktest)
[ ] No

Log gist: not relevant here

Description
Fork page currently disable forking a repo on the same organization. There is actually a workaround which is to transfer the ownership of the repo after fork has been prepared. I wonder what are the implications of that workaround and if there is deeper reasons not to allow that behavior.
Expected behavior: If the name of the repo is different that the original repo, allow the owner of the repo to be the same as the original owner.
Screenshots
How to reproduce:

create an organization
create a repo for that organization and push anything there
fork the repo

At the fork page, you'll not be able to select that organization you just created even if you are able to change the repo name.

It is intentional as it breaks other functionality if I remember correctly. Also what is use case to create multiple copies (forks) of same repository in one user/org?

We were thinking of creating a fork in one org to maintain two different versions of the same repo in that same org.

Well I think the pr code might just be clever enough to cope without being forks - but you'd have to explicitly magic up the URL yourself because without them one being a fork of the other - or sibling forks - there's no way for the UI to know.
The head branch name should be owner/repo:branch iirc

Ok! @zeripath  Thank you for the details !


Alignment on the project show page

Current display

Desired display
Should be aligned

AUX is working on some mockups that address this, as part of the look and feel polishing effort.

Hey team! Please add your planning poker estimate with Zenhub @hectorcorrea @JaymeeH @jrgriffiniii @leefaisonr


A Load Balancer In Node.Js

Can add a load balancer in node.js for better understanding of Concurrency
@manchicken assign the issue to me under the label hacktoberfest

I'd love to do what you do, I'll keep an eye out for your pull request!
Make sure you read CONTRIBUTING.md, and have a good time!


passing loginState$ makes for a clearer example

Thank you! Making a few more edits to the readme now to clear up some spots.