first rough proposal for events

See #373. [Note that the first to propose this was @hantsy.]
Here's a rough and fairly minimal idea for what this could look like.
Note that here there is an Event class for each kind of event, instead of a single LifecycleEvent with @Before @Update and @After @Insert qualifiers on the observer side. The reason for this is that we don't have a dependency on CDI, so I can't use the @Qualifier annotation to declare event qualifier types.
An event observer would look like:
void afterUpdate(@Observes PostUpdateEvent<Book> event) { ... }

~I would love to be able to filter by entity type, but I don't think CDI allows filtering events by type argument. (At least it didn't in 1.0, though that was a long time ago.)~
~As a workaround for that, we could have @Before @Update @EntityType(Book.class) as qualifiers, but, again, that would pick up a dependency on CDI.~

I would love to be able to filter by entity type, but I don't think CDI allows filtering events by type argument.

An intriguing possibility here would be to generate event types into the static metamodel, so that you could write:
void afterUpdate(@Observes _Book.PostUpdateEvent event) { ... }

I don't think CDI allows filtering events by type argument. (At least it didn't in 1.0, though that was a long time ago.)

I take that back. Apparently they relaxed this restriction, and you can now fire a parameterized event as long as the type argument is somehow resolvable, for example:
    @Inject
    Event<MyEvent<String>> event;

Or:
        beanManager.getEvent()
                .select(new TypeLiteral<MyEvent<String>>() {})
                .fire(new MyEvent<>(title));

So in fact we can use a parameterized event type, e.g. PostUpdateEvent<Book>.

One important item is clarifying what the user is (or is not) allowed to do with the entity instance that they get within the event. Are they allowed to modify it? And if so, do those modifications get persisted to the datastore?

We can look at section 3.6.2 of the JPA spec for inspiration here.

For the PostInsertEvent and PostUpdateEvent, I wonder if some implementations based on a JPA provider might inadvertently end up with the entity value updated to include an automatically generated id and autoincremented version, which would no longer match the passed in entity value.

Yeah good point. Hrrm. Not sure.

For the PostInsertEvent and PostUpdateEvent, I wonder if some implementations based on a JPA provider might inadvertently end up with the entity value updated to include an automatically generated id and autoincremented version, which would no longer match the passed in entity value.

Yeah good point. Hrrm. Not sure.

I tried this out on the EclipseLink JPA provider and observed it to be doing the following:
After invoking persist, the AutoGenerated Id value was updated on the passed-in entity, but the Version value was not incremented.  After also invoking flush, then it updated the Version value on that entity instance.
After invoking merge, the Version value was not immediately incremented on the passed-in entity.  As in the former case, after also invoking flush, it then updated the Version value on the passed-in entity instance.
Note that Jakarta Data's CrudRepository.insert has language like, "After invoking this method, do not continue to use the instance that is supplied as a parameter. This method makes no guarantees about the state of the instance that is supplied as a parameter."  All of this makes me uncomfortable about supplying that same instance via the PostInsert/PostUpdate events. But I can also see why we don't want to require it to supply an updated entity instance. That might require some implementations to do extra fetching just for the sake of publishing events that the application might not even care about.  Leaving out the entity from the event makes the Post event not useful because you cannot correlate it with the Pre event.  I suppose one option would be to supply only the Id value on the Post event.  Not really sure what would be best.

Not really sure what would be best.

I mean with things like this, there's always the option of saying "portable applications should not rely on .... ".

I suppose another alternative is to have the Post event be defined to include the same entity instance as the corresponding Pre event, with the restriction that portable applications must not rely on its state.  In this case, the event subscriber would be able to portably perform a == comparison to correlate the events.

Well they can also use the id.

Well they can also use the id.

Yes, for update, delete, and insert that doesn't use autogenerated.

insert that doesn't use autogenerated

Ah yeah, sure, you're right.

I have taken a stab at the semantics of the entity in Post events.
WDYT?

I should also point out that if the application is using transactions and rolls back a successful life cycle operation, the post event will have been sent even though the change is not committed to the database. For example,
tran.begin();
books.update(modifiedBook); // Pre and Post events are sent here
...
tran.rollback();

Just pointing it out in case it is a concern.

Why not use sealed interface and record class for the events. This feature should be included after data 1.0, we can consider new Java features.

@hantsy theres no motivation for treating these as a sum type.

Client code doesn't switch  over them, and
anyway, it's an open universe here: the set of lifecycle method annotations is extensible (and we will extend it!) and so therefor is the set of lifecycle event types.

If we made this a sum type, then we would break client code whenever we add a new lifecycle method type.
P.S. this is for Data 1.1, so it's still targeting the same version of the Java platform.

back in 2008, I anticipated that we would run into this issue sometime in 2024

Ok, I guess that sounds pretty implausible to you guys.
What really happened is that I just went back in time and added TransactionPhase to CDI 1.0 when I saw Nathan's comment.

For the first step, it is great, IMHO, I will merge, and we can refactor this code or the documentation with time.

Excellent, thanks folks!


Loading mode

It'd be nice to have a "loading mode" where the circle just spins as a loading indicator.

Yeah can't we have that without any progress?

Interesting! I think we can add it, in terms of api, will you just pass something like?
import Circle from 'react-circle'

<Circle isLoading />

I think just loading would be more elegant:
<Circle loading />

Or maybe just default to "loading mode" if no progress is passed.


Add @safe to quorum conversion functions

When QuorumConfig was moved out, I forgot to move these additional routines.

Aha.. I can't seem to do this without breaking the system integration tests. Because then the C++ runtime is pulled in. argh

I removed the first commit then. I'll just mark them @safe.

So much for that


Set/get parameters input widget values.

Related to #140
There are new getter and setter for input widget values.
Setting widget values
https://github.com/user-attachments/assets/1e79105c-79e7-4cf6-b9d1-30f24e5bb430
Getting widget values
https://github.com/user-attachments/assets/a862b4f7-cedb-4931-aaa2-f35fa9aa1e26

It should also handle optional/switchable state... I'll do it in another PR....

@SimonHeybrock
I updated the implementation as we discussed this morning but from the notebook it still looks similar so I didn't update the screen record.
Also it's not handling OptionalWidget or SwitchableWidget and DropdownWidget doesn't work currently.
I added them as a todo list in the issue #140


python311Packages.python-telegram-bot: 20.4 -> 20.5

Diff: https://github.com/python-telegram-bot/python-telegram-bot/compare/refs/tags/v20.4...v20.5
Changelog: https://github.com/python-telegram-bot/python-telegram-bot/blob/v20.5/CHANGES.rst
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 254398 run on x86_64-linux 1

6 packages built:

errbot
errbot.dist
python310Packages.python-telegram-bot
python310Packages.python-telegram-bot.dist
python311Packages.python-telegram-bot
python311Packages.python-telegram-bot.dist


wallclock profiling may block Java thread abnormally

hi, Andrei
I found that if java.net.Socket.connect is used in the application code to connect to an IP and port that is unreachable or has a long delay, the wall clock mode may cause the Java thread to be blocked in Socket.connect and cannot return on JDK8 and JDK11.
The reproducer is below.
The reason is that the signal sent by async-profiler makes the libc poll return in advance, and the OpenJDK implementation will continuously retry the poll without considering the passage of timeout, that is, the same timeout is used every time.
Many profiling projects now use async-profiler as the underlying engine. It is a reasonable or common situation that the IP and port that the application code depends on is temporarily unavailable or misconfigured. In this case, async-profiler should be able to work normally, at least not to make the situation worse.
The solutions currently thought of are the following:

Set the interval to be greater than the timeout time, but this is obviously unacceptable (for example, interval=1000ms, which has little meaning).
async-profiler should detect whether the thread's stack is in a method similar to this problem, and automatically pause for a period of time to send a signal to the thread.
Modify the implementation in the JDK, and subtract the elapsed time for each retry.

I would like to know your insight on this issue.
cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

cat /proc/version
Linux version 3.10.0-1160.80.1.el7.x86_64<EMAIL_ADDRESS>(gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Nov 8 15:48:59 UTC 2022

java -version

openjdk version "1.8.0_372"
OpenJDK Runtime Environment (build 1.8.0_372-b07)
OpenJDK 64-Bit Server VM (build 25.372-b07, mixed mode)

openjdk version "11.0.16" 2022-07-19 LTS
OpenJDK Runtime Environment (Red_Hat-<IP_ADDRESS>.8-1.el7openjdkportable) (build 11.0.16+8-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-<IP_ADDRESS>.8-1.el7openjdkportable) (build 11.0.16+8-LTS, mixed mode)

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;

public class SocketTest {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket();
        socket.connect(new InetSocketAddress("<IP_ADDRESS>", 8080), 1000);
        System.out.println(socket.isConnected());
    }
}

java -agentpath:/path/to/libasyncProfiler.so=start,event=wall,threads,file=profile.html,interval=10ms SocketTest

pstack
Thread 2 (Thread 0x7fbc8f9c2700 (LWP 32725)):
#0  0x00007fbc8ec91ddd in poll () from /lib64/libc.so.6
#1  0x00007fbc559ca3a3 in NET_Poll () from /usr/lib/jvm/java-1.8.0-openjdk-<IP_ADDRESS>2.b07-1.el7_9.x86_64/jre/lib/amd64/libnet.so
#2  0x00007fbc559c75bc in Java_java_net_PlainSocketImpl_socketConnect () from /usr/lib/jvm/java-1.8.0-openjdk-<IP_ADDRESS>2.b07-1.el7_9.x86_64/jre/lib/amd64/libnet.so
#3  0x00007fbc78658427 in ?? ()
#4  0x00007fbc8f9c1620 in ?? ()

jstack
"main" #1 prio=5 os_prio=0 tid=0x00007fbc884ca800 nid=0x7fd5 runnable [0x00007fbc8f9c1000]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	- locked <0x0000000747569088> (a java.net.SocksSocketImpl)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:607)
	at SocketTest.main(SocketTest.java:8)

Thank you for the detailed report. I confirm this is a JDK bug; will submit a JDK issue shortly.
I'll see if async-profiler can do anything to workarount the bug.

I have submitted the bug JDK-8312065 with the test case, evaluation and the proposed fix.

Thanks for such a quick reply, I'll keep an eye on the progress of this issue.

@yanglong1010 Are you planning to push the JDK fix yourself, or shall I proceed with that?

As Yi Yang communicated with you on JBS, I'm going to fix this issue on JDK, and I'm expected to start next week.

@yanglong1010 OK, good. Let me know if I can help with anything.

Thank you for fixing the bug in OpenJDK. It might have sense to backport the fix to jdk11u-dev, too.

I will backport it to 8 and 11 in the near future.

感谢您的详细报告。我确认这是一个 JDK bug；很快就会提交 JDK 问题。 我将看看 async-profiler 是否可以采取任何措施来解决该错误。

is this fixed in async-profile ?

is this fixed in async-profile ?

The bug has been fixed in OpenJDK

is this fixed in async-profile ?

The bug has been fixed in OpenJDK

jdk-17u

这是在 async-profile 中修复的吗？

该错误已在 OpenJDK 中修复

@zdyj3170101136你的Java版本是什么？ jdk-17u 修复了 Java 11 和 17 的 jdk-11u 向后移植，只需使用最新的 JDK 版本。 jdk-8u还需要一些时间，我保证会做到这一点。
so, for now, it is unsafe to run wall profiler for some version of java process.

In our internal product, for JDKs that do not include this fix, we use bytecode rewriting to pause wallclock profiling during Socket.connect execution (on method entry, remove thread from wallclock timer, on return, add it back).
If you use async-profiler directly, the risk exists.


set_icon fails if variant is not set

I had this problem, probably an easy fix, but the latest variant feature broke set_icon if it's set to nil (unset), in my setup it fails like this:
Failed to source `/home/igor/.local/share/nvim/lazy/sonicpi.nvim/after/plugin/sonicpi.lua`

vim/_editor.lua:0: BufReadPost Autocommands for "*.sonicpi"..FileType Autocommands for "sonicpi"..script nvim_exec2() called at FileType Autocommands for "sonicpi":0../home/igor/.local/share/nvi
m/lazy/sonicpi.nvim/after/plugin/sonicpi.lua: Vim(source):E5113: Error while calling lua chunk: vim/shared.lua:0: after the second argument: expected table, got nil
stack traceback:
^I[C]: in function 'error'
^Ivim/shared.lua: in function 'validate'
^Ivim/shared.lua: in function 'tbl_extend'
^I...re/nvim/lazy/nvim-web-devicons/lua/nvim-web-devicons.lua:574: in function 'set_icon'
^I...al/share/nvim/lazy/sonicpi.nvim/after/plugin/sonicpi.lua:3: in main chunk
^I[C]: in function 'nvim_exec2'
^Ivim/_editor.lua: in function 'cmd'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:503: in function <...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:502>
^I[C]: in function 'xpcall'
^I.../.local/share/nvim/lazy/lazy.nvim/lua/lazy/core/util.lua:135: in function 'try'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:502: in function 'source'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:453: in function 'source_runtime'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:424: in function 'packadd'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:356: in function '_load'
^I...local/share/nvim/lazy/lazy.nvim/lua/lazy/core/loader.lua:197: in function 'load'
^I...hare/nvim/lazy/lazy.nvim/lua/lazy/core/handler/event.lua:85: in function <...hare/nvim/lazy/lazy.nvim/lua/lazy/core/handler/event.lua:72>

If I add the variant to the opts of setup then it works.

Apologies, improperly tested, fixed.
Please update to latest and advise whether the fix is correct.


test

@all-contributors please add @Hameck for code and tests

@all-contributors please add @Stormiix  for code and tests


Create 04-git-command-quiz

It's a simple quiz based only on the git command.

Amazing contribution!


Commands: make --list-tests work on Windows

We need to construct the test environment on Windows to list the tests.
This adds that to the list test path on both Linux and Windows.  The
impact of this change on Linux is that additional environment variables
may be defined when executing the tests.
Resolve SR-13694!

@swift-ci please smoke test


Lokalise: Translations update

This pull request was initiated by Lokalise (user Do Hee Kim) at 2020-12-03 22:02:27
Updating all 21 languages with latest translations!

Closing because we had some new French translations that got missed out with this PR!


New version: Google.Chrome version 129.0.6668.71

Created by 🥟 Dumplings in workflow run #8322.

Log
Updated: 129.0.6668.59 → 129.0.6668.71
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
The manifests for the last version 129.0.6668.59 will be removed. Reason: No installer URL is changed compared with the last state while the version is updated
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

@ItzLevvie are you free to approve this one please?


Add a new condition UpgradeInProgress

What would you like to be added:
When the upgrade is in progress, the condition "UpgradeInProgress" should be true
Why is this needed:
Completion requirements:
This enhancement requires the following artifacts:

[ ] Design doc
[ ] API change
[ ] Docs update

The artifacts should be linked in subsequent comments.

/assign

upgrade means lws template hash changed, right?

Then what about the LeaderWorkerSetProgressing, the difference is LeaderWorkerSetProgressing includes UpgradeInProgress?

@kerthcet correct, this condition would show the lws is in update status? wdyt

Personally I don't like the idea about we have two status type Progressing and UpgradeInProgress which represents the same thing, that's say when rolling update, Progressing and UpgradeInProgress both true. My suggestion is we can reuse the Progressing type but have another reason like GroupsRollingUpdate

So only one of GroupsRollingUpdate and Progressing will be true at the same time?

Sorry, one question about the motivation, why we need this? I didn't see similar field in deployment/statefulset. And once we delete a leaderSts/leaderPod, how can we know we're rolling update or just normal processing? Maybe GroupsAreProgressing is enough.

Make sense to help calculating the rolling update duration.

So only one of GroupsRollingUpdate and Progressing will be true at the same time?

What I mean is Progressing should include the rolling update from the semantics, so
When creating or other actions
  - lastTransitionTime: "2024-04-16T16:13:01Z"
    message: Replicas are progressing
    reason: GroupsAreProgressing
    status: "True"
    type: Progressing

When rolling update
  - lastTransitionTime: "2024-04-16T16:13:01Z"
    message: Replicas are rolling update
    reason: GroupsRollingUpdate
    status: "True"
    type: Progressing

when completes (create/update):
  - lastTransitionTime: "2024-04-16T16:13:01Z"
    message: Replicas have successfully progressed
    reason: GroupsProgressed
    status: "True"
    type: Progressing

Open for suggestions. cc @ahg-g @liurupeng
I guess this doesn't break the compatibility, we didn't change the meaning, but we do change the condition status of the completed condition.

I think we can add UpdateInProgress and UpdateComplete as two mutually exclusive conditions.
At steady state, the two conditions that should exist are "Available" and "UpdateComplete" if an update was ever triggered.
Any other time, I think we could have Progressing and UpdateInProgress conditions set. Progressing tracks if there are any replicas that are not ready yet (not created, or created and not ready). UpdateInProgress is set only when there is still at least one replica not yet updated.

If we can use one condition with different reasons to distinguish the stages, I think it's more straightforward. Or we have other reasons?
And if one workerSts/leaderPod is deleted, we can't simply tell whether it's under creation or rolling update, which means hard to decide whether we should set it to Progressing or UpdateInProgress. However, with one condition, once rolling update starts, it will never enter into Progressing stage. My two cents.

I think we could start with adding updateInProgress at first, which the definition is "UpgradeInProgress is true when a rolling update started and has been completed" (including maxSurge), thoughts?


Add Boosting Upward Mobility from Poverty

Insert URLs to the project here: https://github.com/UI-Research/mobility-from-poverty

[x] The projects is active, documented, open source licensed, shows usage from external parties and is directly targeting environmental sustainability. Find more details in the Contribution Guide.

All issues labeled as Good First Issue of the project listed on OpenSustain.tech will be visible on ClimateTriage.com. This is a great way to welcome new community members to your project.
All projects listed will be posted on our Mastodon channel

@awunderground @kswerner27 @Deckart2 @ekgutierrez1 @tinatinc


Fix Preview compatibility with Gradle configuration cache

Fixes https://github.com/JetBrains/compose-jb/issues/2376
See also https://jetbrains.slack.com/archives/C015PT6ALK1/p1668109768592559

I think there should be a test with the Configuration cache enabled

I think there should be a test with the Configuration cache enabled

Thanks! Added a test


download limitation over AppGW, when backend is AKS

not able to download any file which is more than 1GB. This seems with scenario when AppGW Ingress controller is used
Not be able to download more than 1 GB by the application that's behind AGIC

there is a way to download a file with 2GB from the backend? or there is a limitation using AGIC.

Please open a support ticket on AppGW through portal.

Closing issue from GitHub.


fix: fixed error text

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
Fixes # (issue)
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.
Checklist:

[ ] The title of this PR complies with Conventional Commits.
[ ] I have edited the CHANGELOG accordingly.
[ ] I have made corresponding changes to the documentation.

wdyt of adding this to the changelog?

wdyt of adding this to the changelog?

done :)


The bulk load checkbox can be checked and disabled when target container doesn't support such option

System information:

Operating system (distribution) and version Win 11
DBeaver version 21.2.5 UE devel
Additional extensions

Connection specification:

Database name and version
Driver name
Do you use tunnels or proxies (SSH, SOCKS, etc)?

Describe the problem you're observing:
Steps to reproduce, if exist:

Export data to PostgreSQL using the bulk load option.
Attempt to export data to SQLite.
On the corresponding page, the bulk load checkbox will be checked and disabled.

Include any warning/errors/backtraces from the logs

verified


Add watcher CI testing

Currently we have no directed watcher tests. If we're expanding watcher functionality + supporting more targets then we should have CI testing to make sure everything works consistently

PR: https://github.com/tenstorrent-metal/tt-metal/pull/4919 implements this and is merged


Various BDD adjustments

Many thanks for submitting your Pull Request :heart:!
Adjustments separated into commits.
All are related to the support of BDD tests for Kubernetes environment.
More will come!
I didn't create a JIRA for this as the adjustments are not significant and are focusing just on tests.
Please make sure your PR meets the following requirements:

[x] You have read the contributors' guide
[ ] Pull Request title is properly formatted: [KOGITO-XYZ] Subject
[ ] Pull Request contains a link to the JIRA issue
[x] Pull Request contains a description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket
[ ] Your feature/bug fix has a unit test that verifies it
[x] You've tested the new feature/bug fix in an actual OpenShift cluster
[ ] You've added a RELEASE_NOTES.md entry regarding this change

/jenkins test

Rebased
/jenkins test

Marshalling error?
/jenkins test


V1.4.0 does not allow map notes to be moved after dropping

For V 1.4.0 on Foundry 0.7.9 using latest Chrome version - After dropping a map note in a box to be used as an activation switch, you cannot move it anywhere else via subsequent drag and drops.  Downgrading to V 1.3.4 alleviates this issue entirely.

Thanks for pointing that out, fixed in 1.4.1


error with my flutter application

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following assertion was thrown building Navigator-[GlobalObjectKey _WidgetsAppState#91ab8](dirty, state: NavigatorState#b91cd(tickers: tracking 2 tickers)):
'package:flutter/src/widgets/navigator.dart': Failed assertion: line 3802 pos 12: '!_debugLocked': is not true.
what is this error

Hi @gayanLaknath,
Can you please provide your flutter doctor -v, your flutter run --verbose and a minimal complete reproducible code sample that throws this issue.
Thank you

Without additional information we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


split off perl-dependent components of groff?

Issue description
I noticed that fish pulls in a ~50MB dependency on perl because it depends on groff. See below.
fish's closure is huge, (and it's hardly all perl's fault)! But is taking up ~50MB by itself)
~/C/P/devnix   playground ±…  du -hc --max=0 (nix-store -qR (realpath (which fish))) | sort -h                                                     Mon 26 Jun 2017 09:08:07 PM MST
32K     /nix/store/zgrj2367wbcfg8j4lfvs6hf73maf8apr-libcap-2.25-lib
84K     /nix/store/4717387i4al2fk7kp747na0yg9m8586s-bzip2-<IP_ADDRESS>.1
124K    /nix/store/kk8r62xz5g1hn1mn1307fcj24anp5m6g-zlib-1.2.11
172K    /nix/store/mg053x9xlvcc66z50frli7vdv0bd1n9k-attr-2.4.47
200K    /nix/store/y5vkvnhaw6isvzh0sjxk3s0hkxxbqpd1-acl-2.2.52
244K    /nix/store/qcyy8l1z6m2v6ifsnsxifl8wdaznkyjr-bc-1.06
336K    /nix/store/ldjfvjhlvgbi65kqgb1a894bwb4h8497-lz4-131
392K    /nix/store/7xvvm0kybzlwwkrcv1ksj22a1d1vajfz-libpipeline-1.4.1
396K    /nix/store/d67cb599vq2hmlddz0axj93jkhnd78yh-readline-6.3p08
400K    /nix/store/xbd9v28yh7zq10ac2gdff18r0yr1xgbb-xz-5.2.2
504K    /nix/store/ally147d2h11jv34w1saml1ni7kkxmch-pcre-8.40
688K    /nix/store/m74m7c4qbzml7ipfxzlpxddcn9ah8jrs-gdbm-1.12
804K    /nix/store/v4jigflzsh9h2xs62fdn5x7wcffsr05r-libgpg-error-1.26
964K    /nix/store/2nzkvn5b9jxdj75mgw6cdvpl6438sdqw-gnused-4.4
1.1M    /nix/store/616dbi7gz8ik2265k2ii6b91hdf920fj-sqlite-3.17.0
1.1M    /nix/store/yqfgikjsrjjq8gk13ayc2k2w0bcv3bnm-cracklib-2.9.6
1.2M    /nix/store/fi3mbd2ml4pbgzyasrlnp0wyy6qi48fh-bash-4.4-p5
1.2M    /nix/store/vcakrv66mv3a7i0vzz1k9y8fw7ymwzpm-libgcrypt-1.7.7
1.3M    /nix/store/3r21p23hmbzj1ykv2wllqr14k1b0cdmx-gnugrep-3.0
1.5M    /nix/store/1gr6anpzzmqg620l67gkyzdh0a59h11y-pcre2-10.23
1.5M    /nix/store/fxhfl9map3y6anszpq678n32v4ixlsx7-systemd-232-lib
2.0M    /nix/store/cvdhmfc6ppn9phvhsqlqn4v8nl8nq9q9-man-db-2.7.5
2.7M    /nix/store/7kp8g57zabdm3x3zvbwac3pr38asfjh8-glibc-2.25-bin
2.7M    /nix/store/mqz7pd6199lvwkxv68bxj3gamazgfzwg-linux-pam-1.2.1
3.4M    /nix/store/zbjyc3ylb9bj3057rk5payv3sr0gnmkc-openssl-1.0.2l
3.9M    /nix/store/73bkrxyq8y0c8zc9nkch14v9pmn782py-shadow-4.4
4.3M    /nix/store/svrb46nmm9dz7p2azxf5mwabjqzfc29j-db-5.3.28
4.5M    /nix/store/xmb7xxnws01223ica0p6dl0a0f3f5dp2-util-linux-2.29.2-bin
4.7M    /nix/store/89bjrnjb8c9vvhzb92fz832x6fwg3kbj-gcc-5.4.0-lib
7.5M    /nix/store/sj8rnawbay2j2hiqgazsbq05rlpha5lq-ncurses-6.0
7.9M    /nix/store/0wbrl76g10iw43pvlqcyyh2lw3xglpxn-util-linux-2.29.2
8.6M    /nix/store/cjmnrbfqrdnllb4j6a6qlzbv55gqzrih-groff-1.22.3
9.8M    /nix/store/lkdr3z34n6n17g7xiaw8plyw7hv9idsl-gettext-0.19.8
11M     /nix/store/dkcs6dzhsn6l1fqp29z1k2jhqm9nlj82-fish-2.6.0
11M     /nix/store/k8dyhz9hrjydl23ny3131am6cws1rc07-coreutils-8.26
23M     /nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25
49M     /nix/store/nsa311yg8h93wfaacjk16c96a98bs09f-perl-5.22.3
49M     /nix/store/zq0lf0fdc7n12zcdcs2qq3viz6mc87vr-python-2.7.13
216M    total

and
~/C/P/devnix   playground ±…  nix-store -q --tree (realpath (which fish))                                                                          Mon 26 Jun 2017 09:08:10 PM MST
/nix/store/dkcs6dzhsn6l1fqp29z1k2jhqm9nlj82-fish-2.6.0
+---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25
|   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
+---/nix/store/1gr6anpzzmqg620l67gkyzdh0a59h11y-pcre2-10.23
|   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   +---/nix/store/1gr6anpzzmqg620l67gkyzdh0a59h11y-pcre2-10.23 [...]
+---/nix/store/2nzkvn5b9jxdj75mgw6cdvpl6438sdqw-gnused-4.4
|   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   +---/nix/store/2nzkvn5b9jxdj75mgw6cdvpl6438sdqw-gnused-4.4 [...]
+---/nix/store/3r21p23hmbzj1ykv2wllqr14k1b0cdmx-gnugrep-3.0
|   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   +---/nix/store/ally147d2h11jv34w1saml1ni7kkxmch-pcre-8.40
|   |   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   |   +---/nix/store/ally147d2h11jv34w1saml1ni7kkxmch-pcre-8.40 [...]
|   +---/nix/store/3r21p23hmbzj1ykv2wllqr14k1b0cdmx-gnugrep-3.0 [...]
+---/nix/store/89bjrnjb8c9vvhzb92fz832x6fwg3kbj-gcc-5.4.0-lib
|   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   +---/nix/store/89bjrnjb8c9vvhzb92fz832x6fwg3kbj-gcc-5.4.0-lib [...]
+---/nix/store/cjmnrbfqrdnllb4j6a6qlzbv55gqzrih-groff-1.22.3
|   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   +---/nix/store/2nzkvn5b9jxdj75mgw6cdvpl6438sdqw-gnused-4.4 [...]
|   +---/nix/store/89bjrnjb8c9vvhzb92fz832x6fwg3kbj-gcc-5.4.0-lib [...]
|   +---/nix/store/fi3mbd2ml4pbgzyasrlnp0wyy6qi48fh-bash-4.4-p5
|   |   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   |   +---/nix/store/fi3mbd2ml4pbgzyasrlnp0wyy6qi48fh-bash-4.4-p5 [...]
|   +---/nix/store/nsa311yg8h93wfaacjk16c96a98bs09f-perl-5.22.3
|   |   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   |   +---/nix/store/k8dyhz9hrjydl23ny3131am6cws1rc07-coreutils-8.26
|   |   |   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   |   |   +---/nix/store/mg053x9xlvcc66z50frli7vdv0bd1n9k-attr-2.4.47
|   |   |   |   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   |   |   |   +---/nix/store/mg053x9xlvcc66z50frli7vdv0bd1n9k-attr-2.4.47 [...]
|   |   |   +---/nix/store/y5vkvnhaw6isvzh0sjxk3s0hkxxbqpd1-acl-2.2.52
|   |   |   |   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   |   |   |   +---/nix/store/mg053x9xlvcc66z50frli7vdv0bd1n9k-attr-2.4.47 [...]
|   |   |   |   +---/nix/store/y5vkvnhaw6isvzh0sjxk3s0hkxxbqpd1-acl-2.2.52 [...]
|   |   |   +---/nix/store/k8dyhz9hrjydl23ny3131am6cws1rc07-coreutils-8.26 [...]
|   |   +---/nix/store/nsa311yg8h93wfaacjk16c96a98bs09f-perl-5.22.3 [...]
|   +---/nix/store/cjmnrbfqrdnllb4j6a6qlzbv55gqzrih-groff-1.22.3 [...]
+---/nix/store/cvdhmfc6ppn9phvhsqlqn4v8nl8nq9q9-man-db-2.7.5
|   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   +---/nix/store/7xvvm0kybzlwwkrcv1ksj22a1d1vajfz-libpipeline-1.4.1
|   |   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   |   +---/nix/store/7xvvm0kybzlwwkrcv1ksj22a1d1vajfz-libpipeline-1.4.1 [...]
|   +---/nix/store/fi3mbd2ml4pbgzyasrlnp0wyy6qi48fh-bash-4.4-p5 [...]
|   +---/nix/store/cjmnrbfqrdnllb4j6a6qlzbv55gqzrih-groff-1.22.3 [...]
|   +---/nix/store/svrb46nmm9dz7p2azxf5mwabjqzfc29j-db-5.3.28
|   |   +---/nix/store/7crrmih8c52r8fbnqb933dxrsp44md93-glibc-2.25 [...]
|   |   +---/nix/store/89bjrnjb8c9vvhzb92fz832x6fwg3kbj-gcc-5.4.0-lib [...]
|   |   +---/nix/store/svrb46nmm9dz7p2azxf5mwabjqzfc29j-db-5.3.28 [...]
|   +---/nix/store/cvdhmfc6ppn9phvhsqlqn4v8nl8nq9q9-man-db-2.7.5 [...]

I know there is little hope to see fish's closure size drop down to be comparable to that of bash (~11M), but I'd like to see if I can get fish's closure size down smaller. I have some hope that since fish's only use of groff is through calling the nroff command that we could do something similar to what Fedora does and split the groff package. They have a package they call groff-base which includes the executables which don't depend on perl, and then groff-perl which includes all the executables which need perl to run. If we did something similar with our groff package, we could eliminate a ~50MB perl dependency from the dependency closures of fish and probably other packages.
This type of split, where one ‘subpackage’ (as they say in the Fedora link above) needs perlbut another does not, seems like it might be a common use case. fish could make use of the same facility with python, for example: only two fish functions included in fishneed python, and they can be added or removed separately just like executables on the path (as is the case with groff) . Since those functions are used only interactively and optionally, a smaller fish output not depending on python could be used as a dependency for scripts or as a slimmer installable option  if the fish package could be split from its python-using components in the same way as Fedora splits groff-base and groff-perl.
Is there already a good way to do this kind of split using multiple outputs? Should groff just be two packages that share the same source tarball, in order to effect this split?

Yes, I'd add another output for the perl stuff and use moveToOutput on them.  Still, it's necessary to check if that breaks some internal groff "links".
Reverse dependencies will also need some work, unless e.g. groff defaults to the perl output which also gets symlinks to the non-perl binaries.

How does one add a buildInput (e.g., perl) to only one of the outputs for a multi-output derivation? I didn't see anything about the multiple outputs section of the Nixpkgs manual. Will Nix just figure out that there are references to a perl binary in one of the outputs and not the other?
I also don't fully understand why groff pulls perl into its closure at all with the current package definition-- I can see that perl is needed, but it's only listed as a nativeBuildInput. How come it gets included in the closure for groff? I thought that was runtime dependencies only.
From Section 3.3 of the Nixpkgs manual:

nativeBuildInputs
A list of dependencies used by the new derivation at build-time. I.e. these dependencies should not make it into the package's runtime-closure,

But binaries in the groff package are full of patched perl shebangs, even though perl is only present as a nativeBuildInput.  Is this how it is supposed to work?

The buildInputs are global for the entire derivation. Nix will automatically discover (via hash scanning) which outputs depend on which paths. So you should ensure that the out output has no references to Perl.
The description for nativeBuildInputs is perhaps misleading. The "should not" is a requirement on the package author. If you store the path of a native build input in the output, then it will be part of the closure.
Also, I think Perl should be a buildInput in this case.


Enforce minimum max buf size.

Attempts to address #1474
Todo

[ ] Tests

@seanmonstar Is this what you were hoping for?


Pin text gets cut off when the text is 0-9

The pin text gets cut off at the top when the text is any character between 0 - 9. It seems to work with characters of 2 digits due to the calibrateTextSize method.
https://github.com/oli107/material-range-bar/blob/master/rangebar/src/com/appyvet/rangebar/PinView.java#L290

You can control by setting the pinMaxFont but I'd welcome a PR to control
the maximum size of the font based on the pin size
On 12 Nov 2015 00:12, "rstel"<EMAIL_ADDRESS>wrote:

The pin text gets cut off at the top when the text is any character
between 0 - 9. It seems to work with characters of 2 digits due to the
calibrateTextSize method.
https://github.com/oli107/material-range-bar/blob/master/rangebar/src/com/appyvet/rangebar/PinView.java#L290
[image: oversized text]
https://cloud.githubusercontent.com/assets/8334022/11107046/0878376c-88a8-11e5-8218-0f1dfc32789f.JPG
—
Reply to this email directly or view it on GitHub
https://github.com/oli107/material-range-bar/issues/22.

--
*## **Email confidentiality notice *##
This message is private and confidential. If you have received this
message in error, please notify us and remove it from your
system. Blythwood Vets & The Well Animal Clinic may monitor email traffic
data and also the content of email for the purposes of security.
Blythwood Vets is the name under which the surgeries at Bushey, Northwood,
Stanmore & Hatch End trade but the surgeries are owned by Blythwood
Veterinary Ltd, a Limited Liability Company registered in England with
Company No. 07153623, registered office 500 Uxbridge Road, Pinner, Middx,
HA5 4SL or; in the case of the Bushey surgery, Blythwood Veterinary
(Bushey) LLP, a Limited Liability Partnership registered in England with
No. oc368295, registered office 2 High Street, Bushey, Herts WD23 3DN.
Well Animal Clinic is the trading name of Well Animal Clinic LLP, a
Limited Liability Partnership registered in England with No. oc317137,
registered office 292 West End Lane, London NW6 1LN.
A list of members each LLP is open to inspection at their respective
registered offices.
BLYTHWOOD VETS& THE WELL ANIMAL CLINIC
“A COMPLETE CARING SERVICE FOR YOUR PET”
*Visit us at: www.blythwood.com http://www.blythwood.com/ & *www.wellanimalclinic.com
http://www.wellanimalclinic.com/

Oh okay. I can go ahead an see what it would take to implement something like that. If I get something working ill submit a pull request.

@byteofsilicon  how do you set a custom interval to RangeBar ?


'Scintilla.Lexer' is obsolete

I am recieiving the following warning in project using Scintilla.NET <IP_ADDRESS>, the latest version.
warning CS0618: 'Scintilla.Lexer' is obsolete: 'This property will get more obsolete as time passes as the Scintilla v.5+ now uses strings to define lexers. Please use the LexerName property instead.'
I cant find any documentation on what the valid Lexername values are.
On the page Automatic Syntax Highlighting it still shows the example scintilla.Lexer = Lexer.Cpp;

Hi,
The property probably will be "un-deprecated" depending on the future maintainer (see: #79 and https://github.com/VPKSoft/Scintilla.NET/discussions/78).
This is also discussed in the issue 68:
https://github.com/VPKSoft/Scintilla.NET/issues/68#issuecomment-1701132874
Here are the supported lexer names:
a68k
abaqus
ada
apdl
as
asciidoc
asm
asn1
asy
au3
ave
avs
baan
bash
batch
bib
blitzbasic
bullant
caml
cil
clarion
clarionnocase
cmake
COBOL
coffeescript
conf
cpp
cppnocase
csound
css
d
dataflex
diff
DMAP
DMIS
ecl
edifact
eiffel
eiffelkw
erlang
errorlist
escript
f77
flagship
forth
fortran
freebasic
fsharp
gap
gdscript
gui4cli
haskell
hollywood
hypertext
ihex
indent
inno
json
julia
kix
kvirc
latex
lisp
literatehaskell
lot
lout
lua
magiksf
makefile
markdown
matlab
maxima
metapost
mmixal
modula
mssql
mysql
nim
nimrod
nncrontab
nsis
null
octave
opal
oscript
pascal
powerbasic
perl
phpscript
PL/M
po
pov
powerpro
powershell
abl
props
ps
purebasic
python
r
raku
rebol
registry
ruby
rust
sas
scriptol
smalltalk
SML
sorcins
specman
spice
sql
srec
stata
fcST
TACL
tads3
TAL
tcl
tcmd
tehex
tex
txt2tags
vb
vbscript
verilog
vhdl
visualprolog
x12
xml
yaml

The code to get the supported lexer names:
for (int i = 0; i < Lexilla.GetLexerCount(); i++)
{
    scintilla.AppendText(Lexilla.GetLexerName(i) + Environment.NewLine);
}

As we can read in the Lexilla documentation (https://www.scintilla.org/LexillaDoc.html):
CreateLexer is the main call that will create a lexer for a particular language. The returned lexer can then be set as the current lexer in Scintilla by calling SCI_SETILEXER.
LexerNameFromID is an optional function that returns the name for a lexer identifier. LexerNameFromID(SCLEX_CPP) → “cpp”. This is a temporary affordance to make it easier to convert applications to using Lexilla. Applications should move to using lexer names instead of IDs. This function is deprecated, showing warnings with some compilers, and will be removed in a future version of Lexilla.
In version <IP_ADDRESS> and earlier, Scintilla.Net has 2 properties to set/get a lexer (among the 132 currently available covered in 118 Lexilla modules).
Each of these 132 lexers is identified internally in Lexilla by a constant (SCLEX_xxx) defined in Scintilla.NET in the Lexer enum (source Lexer.cs).
Currently, in Scintilla.NET:

The Lexer property uses the numeric identifier provided in the Lexer enum to create the lexer in scintilla. But only 33 values out of 132 possible are defined. This property is declared obsolete (hence the warning) but uses a table allowing a numeric identifier to be converted into a string (necessarily in lower case) acceptable by Lexilla.
the LexerName property is a string (which must be entered in lower case) not listed in Scintilla.NET, thus allowing the use of the 132 lexers. But, in design mode, entering the name of a lexer missing from the enumeration in Scintilla.NET causes an exception in the VS 2022 designer when updating the other Lexer property.

Note: the name of the lexer (or its numerical identifier) should not be confused with the name of the language in which you wish to see a source text displayed colorized.
To do this, you must provide the lexer, via Lexilla, via scintilla, via Scintilla.NET:

various keywords
display characteristics (font, colors, etc.) by nature of lexically analyzed element.
The number (1 to 9) and characteristics of the tables to be provided to Scintilla-Lexilla are different from one lexer to another.
To avoid this heavy load, it is possible to use:
the VPKSoft.ScintillaLexers package (data from 19 languages among those defined in the Notepad++ files (91 languages processed by 74 lexers among the 132 available in scintilla)
NotePad++ data () to which we can add data from among 327 UDL (User Defined Languages) that it uses (see https://github.com/notepad-plus-plus/userDefinedLanguages/tree/master),
the data included in the SciTE sources (91 files but in fact different and many more languages such as for example for the cpp lexer, programming languages like Ch, Go or Pike).
You can note that NPP has 22 display and coloring themes (in addition to the default theme that NPP uses by default (used by the VPKSoft.ScintillaLexers package (with a bug (x64/86) which I transmit elsewhere )).

If this interests you, you will find below a list of languages defined by Notepad++ in order of language names and their use by VPKSoft.ScintillaLexers (see http://elgecom.fr//VPK.Scintilla.NET/studies/languages.php).


style(blueprint): fix file formatting in blueprints for simpler git diffs

add newlines at end of file
remove whitespaces at end of line
basically the same as #2018 but without changes in mobile.

@filipesilva only one of two commits were merged into the master. Was this intended?
c1e404a "add newlines at end of file" was not merged.


TDD project/unit test

🚩Write unit tests applying TDD methodology | write-unit-tests - >>branch<< -
Hi there! @NitBravoA92 👋
This is the PR for the TDD project activity. The main objective of this project is to learn how to work with the TDD methodology in a software development project to improve the code structure and quality and speed up the development process.
Here is a summary of what has been done:

Create the following test cases for the factorial method of the Solver class:

[x] Test when the method receives 0 as an argument and should return 1
[x] Test when the method receives 10 as an argument and should return 3.628.800
[x] Test when the method receives -4 as an argument and should return an exception Invalid input
[x] Test when the method receives 3 as an argument and should return 6

Create the following test cases for the reverse method of the Solver class:

[x] Test when the method receives the hello word as an argument and should return olleh
[x] Test when the method receives the developer word as an argument and should return repoleved

Create the following test cases for the fizzbuzz method of the Solver class:

[x] Test when the method receives 15 as an argument and should return the fizzbuzz word
[x] Test when the method receives 30 as an argument and should return the fizzbuzz word
[x] Test when the method receives 6 as an argument and should return the fizz word
[x] Test when the method receives 25 as an argument and should return the buzz word
[x] Test when the method receives 7 as an argument and should return the number '7' as a string
[x] Test when the method receives 13 as an argument and should return the number '13' as a string

Create the Solver class and the methods:

[x] factorial that receives a positive integer and returns the factorial of the given number,
[x] reverse that receives a string and returns the reverse word of the given string
[x] fizzbuzz that receives a positive integer and returns "fizz" if the given number is divisible by 3, "buzz" if the given number is divisible by 5, and "fizzbuzz" if the given number is divisible by both 3 and 5. If the given number is not divisible by 3 or 5, the method returns the given number as a string.

Add the README file to document the project

⭐To the code reviewer 👨💻
💝 I really thank 🙇♂ you, dear code reviewer 👨🎨 for dedicating your precious 🥇 time ⌚ to check the PR 🧾 .
I kindly ask 🙏 dear code reviewer 🤵 that if there is any kind of issue 🦯 in this project, please do list 📃 them in a descriptive 💡 manner and give your best suggestions 🎁 if needed.
If you think some big issues are essential to be changed ♻ please kindly contact 📞 me through Zoom or Slack, I am available on Microverse UTC-6 time zone.

@AndreaM2429 Thank you so much for taking the time to review and approve my Pull Request


Fix start message error

This is the PR for MA-852. The "Jan 1, 2030" start date error is fixed using the new courseware_access field in mobile API.
Reviewers: @nasthagiri, @aleffert

Looks good! My main suggestion would be to make a class for courseware_access and parse the dictionary into that. Similarly, it would be a good idea to define string constants or maybe an enum for the different type of errors. This way we can minimize the possibility of errors that can't be caught by the type checker.

Just add the prefix to the enum and its fields, and get rid of config changes and :+1:

changes made! my PRs for adding the courseware_access stuff have to merge first though

close!


Fraction Column is lost and reevaluated by MSStats

I'm currently adding MSFragger as a search engine for ProteomicsLFQ. When running the minimal test profile I ran into an issue with MSstats. The tool could not figure out the fractionation of the samples and stopped the executation with following message:
"** It is hard to find the same fractionation across sample, due to lots of overlapped features between fractionations.
	                 Please add Fraction column in input."

Now searching for the reason of this issue I looked into the source code of MSstats and the function OpenMStoMSstatsFormat, which preprocesses the data for MSstats before doing the dataProcess function.
This function also just takes the required columns of the out.csv of proteomicslfq which are the following:
requiredinput.general <- c("ProteinName", "PeptideSequence", "PrecursorCharge",
                                "FragmentIon", "ProductCharge", "IsotopeLabelType",
                                "Condition", "BioReplicate", "Run", "Intensity")

source: https://rdrr.io/bioc/MSstats/src/R/OpenMStoMSstatsFormat.R (MSstats 3.22)
Which leads to the loss of the Fraction Column. This was not leading to an Error when using Comet or MSGF+ search engines, as MSstats is analysing the features and can detect if its Technical Replicates or Fractionated Samples if the features are clear enough. I guess the problem in MSFragger was that it found too many overlapping features and at the same time too many duplicated features across fractions and samples.
When testing the newest version of MSstats (4.2) it could actually correctly assign the fractions. The latest version is dependent on MSstatsConvert which includes the conversion tools for different MS tools. So maybe it would make the ProteomicsLFQ pipeline more robust to errors especially as the information of fractions is lost.

I think it would be better if openms just exports a fraction column correctly. Instead of hoping for a correct guess b Msstats.

@timosachsenberg I have no idea why this is not the case. I thought we export everything.

I also did a PR to MSstats once to address this issue. Maybe it did not make it into 3.22? Did you check 3.22.1 or whatever ele came before 4?
Because I never made 4 work with newer  OpenMS versions because OpenMS does not build on bioconda anymore and is incompatible with some dependencies I think.

https://github.com/Vitek-Lab/MSstats/commit/d78e2aadb6732d363a04503b76dc2297384c30c9

https://github.com/Vitek-Lab/MSstats/blob/3a3acbbd37f3cdebbb8db7bf165c96306f732e2d/R/converters.R#L234
Seems not to be in the code anymore, after they changed their code structure!

I tested with 3.22.1, which should be the latest version before v4.
And yes v4 is not compatible in any case to be used in the nfcore/proteomicslfq docker... For testing (v4.2.0) I had to build another container.

Can you find out why it is not compatible? In theory the openms::openms2.7.0 package should be built with the latest conda packages. 2.6.0 from bioconda is of course outdated.
I think this would be the way forward.
Otherwise we need to monkey patch the function in our R code. I remember having done such a thing before in my own scripts.

proteomicslfq_docker_build.log
Attached is the log of the dockerfile build of nf-core/proteomicslfq with the following environment.yml:
You can use this file to create a conda environment for this pipeline:
conda env create -f environment.yml
name: nf-core-proteomicslfq-1.0.0
channels:

openms
conda-forge
bioconda
dependencies:
openms::openms
openms::openms-thirdparty
bioconda::bioconductor-msstats=4 # will include R
bioconda::sdrf-pipelines=0.0.9 # for SDRF conversion
conda-forge::r-ptxqc=1.0.5 # for QC reports
conda-forge::xorg-libxt=1.2.0 # until this R fix is merged: https://github.com/conda-forge/r-base-feedstock/pull/128
conda-forge::fonts-conda-ecosystem=1 # for the fonts in QC reports
conda-forge::python=3.8.5
conda-forge::markdown=3.2.2
conda-forge::pymdown-extensions=8.0.1
conda-forge::pygments=2.7.1

So there are conflicts but conda can't figure out where.

I would try "mamba" to find the conflicts. Conda is basically useless for this. And in this case even seems to be bugged.
I think you can just install mamba instead of conda and use the same commands.

After some testing I finally managed to include MSstats v4.2, but for this I needed to change the version of python (to v3.9) and ptxqc (to v1.0.12). Unfortunately, this leads to an error in ptxqc when running the test profile. The current environment is:
name: nf-core-proteomicslfq-1.0.0
channels:

openms
conda-forge
bioconda
dependencies:
openms::openms=2.7.0pre
openms::openms-thirdparty=2.7.0pre
bioconda::bioconductor-msstats=4.2 # will include R
bioconda::sdrf-pipelines=0.0.9 # for SDRF conversion
conda-forge::r-ptxqc=1.0.12 # for QC reports
conda-forge::xorg-libxt=1.2.0 # until this R fix is merged: https://github.com/conda-forge/r-base-feedstock/pull/128
conda-forge::fonts-conda-ecosystem=1 # for the fonts in QC reports
conda-forge::python=3.9
conda-forge::markdown=3.2.2
conda-forge::pymdown-extensions=8.0.1
conda-forge::pygments=2.7.1

The error of ptxqc is the following:
Loading required package: PTXQC
Loading package PTXQC (version 1.0.12)
Error in file.exists(pattern = mqpar_filename) : invalid 'file' argument
Calls: createReport -> getMetaFilenames -> getMQPARValue -> file.exists
In addition: Warning messages:
1: In (function (parents, id = names(parents), name = id, obsolete = setNames(nm = id,  :
Some parent terms not found: MS:1001456
2: In (function (parents, id = names(parents), name = id, obsolete = setNames(nm = id,  :
Some parent terms not found: UO:0000000
Execution halted

I will ask @cbielow if he knows what the issue is here

I cannot find anything obviously wrong with the code in PTXQC.
There should be a warning() (not an error) on the console which provides further details if mqpar.xml cannot be found, but your output has none... this is a bit strange.
Can someone point me to the script and the data that you are actually running?!

Why does it want an mqpar.xml at all? We input mztab.

its quite an unusual combination indeed, but the mqpar.xml is used to find some threshold parameters, if available.

The script I'm using is this nextflow script:
https://github.com/tillenglert/proteomicslfq/blob/master/main.nf#L1304
with this config (testfiles):
https://github.com/tillenglert/proteomicslfq/blob/master/conf/test.config#L20
As I'm still working on msfragger I tested the ptxqc process with comet. The logs and inputfiles are attached to this comment:

Ah perfect! I haven't tried this version, but it's working and compatible with the remaining packages.
This is the current environment I'm using, which is working vor msstats and ptxqc:
name: nf-core-proteomicslfq-1.0.0
channels:

openms
conda-forge
bioconda
dependencies:
openms::openms=2.7.0pre
openms::openms-thirdparty=2.7.0pre
bioconda::bioconductor-msstats=4.2 # will include R
bioconda::sdrf-pipelines=0.0.9 # for SDRF conversion
conda-forge::r-ptxqc=1.0.10 # for QC reports
conda-forge::xorg-libxt=1.2.0 # until this R fix is merged: https://github.com/conda-forge/r-base-feedstock/pull/128
conda-forge::fonts-conda-ecosystem=1 # for the fonts in QC reports
conda-forge::python=3.9
conda-forge::markdown=3.2.2
conda-forge::pymdown-extensions=8.0.1
conda-forge::pygments=2.7.1

Feel free to open a PR with the environment update


Resouces page > add resouce

the error message when there is already same named file is a bit confusing. Is it important to mention the ID first?

Right now we are just displaying error messages from backend.
I will leave this open, when the client rewrite is finished every error message have to be specified, so I can change it then


jersey JSON web service example?

It would be great to see a jersey JSON hello world project in the example directory.

see examples/helloJersey!


Socket error when trying to download project from Asset Library

Godot version:
3.2 775e74e
OS/device including version:
Linux Mint 19
Issue description:
When I try to download and install Meteorite project from Assets Store, then this error is shown:
ERROR: _get_socket_error: Socket error: 111
   At: drivers/unix/net_socket_posix.cpp:199.
ERROR: connect_to_host: Connection to remote host failed!
   At: drivers/unix/net_socket_posix.cpp:339.

The error is not actually when downloading the template (which worked), but when downloading the templates list.
Specifically, there is an asset with the image godotdevelopers.org/forum/uploads/editor/qz/hqr754z65ypc.png. Which appears to be offline.
The asset is: https://godotengine.org/asset-library/asset/edit/937 .

We could uncomment this line to make it explicit (I actually think it was commented out by mistake in PR #18876)
https://github.com/godotengine/godot/blob/775e74e0d41daa9cf3679c2e215f4ef46eee9cbc/editor/plugins/asset_library_editor_plugin.cpp#L821


Request: support Android 11 (R - API 31)

Sadly on Android R, you can't set a custom View for a Toast (when targeting API 31) :
https://developer.android.com/reference/android/widget/Toast#setView(android.view.View)
https://developer.android.com/reference/android/widget/Toast#getView()
Please offer something that mimics the standard Toast's look&feel, so that at least we could have it shown within the app, as a normal View.
Maybe something similar to what we have when we long press the action items on the toolbar:
dfu6CwFaPM.zip
Custom Toasts are useful anyway usually only when the user is inside the app...

Fixed in version 1.0.2. Thank you! 👍

How did you fix it?
Have you implemented a custom View for Toast, that isn't really a Toast, and shown only inside the app itself?

How did you fix it?
Have you implemented a custom View for Toast, that isn't really a Toast, and shown only inside the app itself?

I have used a PopupWindow with a custom view inside. I did some research and it seems to be the best option, because unfortunately it is no longer possible to use a custom view in a Toast.

@marcoscgdev
It might be possible using reflection, but it's a path I wouldn't recommend, especially now that Google tries to protect vs such things...
Anyway, thank you for this.
Is it possible to use your solution to position it near a View, like what we see when we long press an action-item of a Toolbar (which shows explanation of what it is) ?

@marcoscgdev
It might be possible using reflection, but it's a path I wouldn't recommend, especially now that Google tries to protect vs such things...
Anyway, thank you for this.
Is it possible to use your solution to position it near a View, like what we see when we long press an action-item of a Toolbar (which shows explanation of what it is) ?

At this time it is not possible to do that. However, I will work on it for future versions 👌

@marcoscgdev Well if you have a custom view now, you can try using something like what was used for toast, at least as offered by others:
    @SuppressLint("RtlHardcoded")
    fun positionToast(toast: Toast, view: View, activity: Activity, offsetX: Int, offsetY: Int) {
        val toastView = toast.view ?: return
        val rect = Rect()
        val window = activity.window
        window.decorView.getWindowVisibleDisplayFrame(rect)
        val viewLocation = IntArray(2)
        view.getLocationInWindow(viewLocation)
        val viewLeft = viewLocation[0] - rect.left
        val viewTop = viewLocation[1] - rect.top
        val windowMetricsSize = Utils.getWindowMetricsSize(activity)
        val widthMeasureSpec = MeasureSpec.makeMeasureSpec(windowMetricsSize.x, MeasureSpec.UNSPECIFIED)
        val heightMeasureSpec = MeasureSpec.makeMeasureSpec(windowMetricsSize.y, MeasureSpec.UNSPECIFIED)
        toastView.measure(widthMeasureSpec, heightMeasureSpec)
        val toastWidth = toastView.measuredWidth
        val toastHeight = toastView.measuredHeight
        val toastX = viewLeft + (view.width - toastWidth) / 2 + offsetX
        val toastY = viewTop + (view.height - toastHeight) / 2 + offsetY
        toast.setGravity(Gravity.LEFT or Gravity.TOP, toastX, toastY)
    }

This is very easy to do with PopupWindow. Simply call this method to display the alert next to a view:
popupWindow.showAsDropDown(yourView)
This feature, along with code migration to Kotlin will be available in the next release

@marcoscgdev Does it get positioned nicely? Even if the view is at the corner?
Can you please let me know when this feature is ready?

Yes, apparently it fits the view well. I don't know when I'm going to release a new version, but I've just make a commit with these changes and you can try them out in this non-definitive version:
implementation 'com.github.marcoscgdev:MaterialToast:b7a2bab65b'
Tell me if everything works fine for you 😄

@marcoscgdev Can you please show a snippet, of how to show your toast for some View? Something similar to what we see when we long press the action-item of a toolbar?

@marcoscgdev Can you please show a snippet, of how to show your toast for some View? Something similar to what we see when we long press the action-item of a toolbar?

Sure. Just call show(yourView).
Ful example:
MaterialToast.makeText(activity, "Hello, I'm a material toast!", R.mipmap.ic_launcher, Toast.LENGTH_SHORT).show(yourView)

or
MaterialToast(this)
        .setMessage("Hello, I'm a material toast!")
        .setIcon(R.mipmap.ic_launcher)
        .setDuration(Toast.LENGTH_SHORT)
        .setBackgroundColor(Color.RED)
        .show(yourView)

@marcoscgdev I failed to use it this way. See attached. It doesn't do anything...
My Application.zip

The Toast is always displayed below the view, so if the view is at the bottom of the screen, the Toast will not be displayed.

Utils.getWindowMetricsSize(activity)

I have implemented this approach. Please try with this version:
implementation 'com.github.marcoscgdev:MaterialToast:e128609003'

@marcoscgdev I don't get how to use it.
It doesn't show up. I don't think this function exists.

@marcoscgdev I don't get how to use it.
It doesn't show up. I don't think this function exists.

Of course this function exists, I have created it! 😄 You can check it here.
If you run your project using the latest version I left you in the previous message, it should work.
implementation 'com.github.marcoscgdev:MaterialToast:e128609003'

@marcoscgdev Either I don't understand how to use it, or it doesn't exist.
See:

Please show how to use it.

@marcoscgdev Either I don't understand how to use it, or it doesn't exist.
See:

Please show how to use it.

I have explained to you before how it works. Your code in "My Application.zip" project is OK. I have tested it and it works.

@marcoscgdev I can't find "positionToast" anywhere.
Using my sample, I can't find how far I want the Toast to be (say, at least 12dp, for example) from the View.
Maybe you added it in a different name?
See:

Attached new project:
My Application.zip

@marcoscgdev I can't find "positionToast" anywhere.
Using my sample, I can't find how far I want the Toast to be (say, at least 12dp, for example) from the View.
Maybe you added it in a different name?
See:

Attached new project:
My Application.zip

I have not added the possibility of changing the distance to the view. The distance is always fixed, it only depends on the position of the view.

@marcoscgdev Can you please add it, or at least make it have the same look&feel like the one of Google, a bit far ?
See here when you long press a Toolbar action item when it's at the top:

And this is when I put it at the bottom:

View offset has been added. Here are some examples:
.show(view)

.show(view, offsetY = -60)

.show(view, offsetX = 20, offsetY = -60)

 implementation 'com.github.marcoscgdev:MaterialToast:9e0879bdd7'

@marcoscgdev
I've now tested it. Not sure how to set the positions properly.
If you've used the same code I wrote, note that I just copied it from somewhere else, and I don't think it should be up to the library to position it this way
The custom View works fine though.
Can you please set it to be to (0,0) by default, so that the toast x,y will be positioned exactly on the same x,y of the target View?
Maybe let whoever uses it to decide how to put it.
Maybe on the sample you can demonstrate how to do it nicely (like checking where the target View is, and based on this to decide where to put the Toast) .
See attached. It seems that if the target View is at the bottom right, it puts the toast on center-horizontal of them, and sets the Y to be a bit above the target View:

My Application.zip

I think this is nicer (when using a real Toast) about the auto-location (but again, should be optional to have it auto-position) :
    @SuppressLint("RtlHardcoded")
    fun positionToast(toast: Toast, view: View, window: Window, offsetX: Int, offsetY: Int) {
        val toastView = toast.view ?: return
        val rect = Rect()
        window.decorView.getWindowVisibleDisplayFrame(rect)
        val viewLocation = IntArray(2)
        view.getLocationInWindow(viewLocation)
        val viewLeft = viewLocation[0] - rect.left
        val viewTop = viewLocation[1] - rect.top
        val metrics = DisplayMetrics()
        window.windowManager.defaultDisplay.getMetrics(metrics)
        val widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(metrics.widthPixels, View.MeasureSpec.UNSPECIFIED)
        val heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(metrics.heightPixels, View.MeasureSpec.UNSPECIFIED)
        toastView.measure(widthMeasureSpec, heightMeasureSpec)
        val toastWidth = toastView.measuredWidth
        val toastHeight = toastView.measuredHeight
        val closerToLeft = viewLeft < metrics.widthPixels / 2
        val closerToTop = viewTop < metrics.heightPixels / 2
        val toastX = if (closerToLeft) viewLeft + view.width + offsetX else viewLeft - toastWidth - offsetX
        val toastY = if (closerToTop) viewTop + view.height + offsetY else viewTop - toastHeight - offsetX
        toast.setGravity(Gravity.LEFT or Gravity.TOP, toastX, toastY)
    }


[Removal]:

Hotspot Name
Plain Bamboo Penguin
Hotspot b58 Address
1126wRAAhUb7gPeg8qUav8miTocEmaNJnn4ZY5fMyr4wFLBEAGox
Discord Handle
No response
Hotspot Manufacturer
Bobcat
Removal Reason
Redeployed, Working fine now. Please remove from deny list. Thank you.
Modifications
No
Extra forwarders
No
Extra antennas
No
Additional Information
No response

 Thanks for wasting your money on assert location

We have taken into account this removal request in the next iteration of the denylist. It may take some time before it's processed. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


Cleanup types warnings

Cleanup types warnings reported by typescript 5

Codecov Report

Merging #452 (452a4f4) into main (74e1267) will not change coverage.
The diff coverage is 8.00%.

:exclamation: Current head 452a4f4 differs from pull request most recent head af7d8c8. Consider uploading reports for the commit af7d8c8 to get more accurate results

Additional details and impacted files

@@          Coverage Diff          @@
##            main    #452   +/-   ##
=====================================
  Coverage   5.09%   5.09%
=====================================
  Files         52      52
  Lines       2082    2082
  Branches     468     468
=====================================
  Hits         106     106
  Misses      1976    1976

Impacted Files
Coverage Δ

...tes/components/charts/breakdown/BreakdownChart.tsx
0.00% <0.00%> (ø)

src/routes/components/charts/trend/TrendChart.tsx
0.00% <0.00%> (ø)

src/routes/components/data-toolbar/DataToolbar.tsx
0.00% <0.00%> (ø)

src/routes/components/export/ExportModal.tsx
0.00% <ø> (ø)

src/routes/components/export/ExportSubmit.tsx
0.00% <0.00%> (ø)

.../routes/components/filterTypeahead/FilterInput.tsx
0.00% <0.00%> (ø)

...tes/components/filterTypeahead/FilterTypeahead.tsx
0.00% <0.00%> (ø)

src/routes/components/perspective/Perspective.tsx
0.00% <0.00%> (ø)

src/routes/details/Details.tsx
0.00% <0.00%> (ø)

src/routes/details/DetailsHeaderToolbar.tsx
0.00% <ø> (ø)

... and 4 more

Continue to review full report in Codecov by Sentry.

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


Add flow boundary

As discussed in issue https://github.com/Deltares/Ribasim/issues/84.

Don't forget to add to documentation:
The (unique) edge connecting to a FlowBoundary node should point away from that no so that positive flow always corresponds to introducing water to the model and negative flow corresponds to removing water from the model.
edge altijd van de flow boundary af; dan betekent positieve flow op die edge dat water geïntroduceerd wordt


Rust formatter: fix pretty-printing of mutable slices

The supplied regular expression did not match mutable types correctly: while we are using the Python API of LLDB to register summary functions, the regular expression syntax that is supposed to be used is Posix ERE (https://llvm.org/doxygen/classllvm_1_1Regex.html) and not the one implemented by https://docs.python.org/3/library/re.html.

Thanks!


ATHD-780: Get full URL from req + set createBundle

@imranq2 @DarylCheung @KyleC-Bwell There are some merge conflicts so this is still in DRAFT status. I'll update here when its ready for review again.

@DarylCheung @KyleC-Bwell This is now ready for review.


Improve module initialization.

I think having to define both init and init_with isn't the best API, and we should try to improve it. Also, there, for now, we only have the option to set the device used for deserialization in the recorder instead of being set in the init function.
There are two possible options:
New Module Initialization trait
This option is to create a trait where users only need to implement one function to initialize a module with an optional record.
pub trait ModuleInitialization<B: Backend> {
    type Module;

    fn create_module(&self, device: &Device<B>, record: Option<Self::Module::Record>) -> Self::Module;

    fn init(&self, device: &Device<B>) -> Self::Module {
        self.create_module(device, None)
    }

    fn init_with(&self, device: &Device<B>, record: Record) -> Self::Module {
        self.create_module(device, Some(record))
    }
}

Example:
pub struct Linear<B: Backend> {
    pub weight: Param<Tensor<B, 2>>,
    pub bias: Param<Tensor<B, 2>>,
}

impl<B: Backend> ModuleInitialization<B> for LinearConfig {
    type Module = Linear<B>;

    fn create_module(&self, device: &Device<B>, record: Option<Self::Module::Record>) -> Self::Module {
        let initialize_new = |config: &Self| {
            nn::LinearConfig::new(config.d_model, config.d_model)
                .with_initializer(self.initializer.clone())
                .init(device)
        };

        Self {
            weight: record.weight.map(|t| t.deserialize(device)).or_else(initialize_new),
            bias: record.bias.map(|t| t.deserialize(device)).or_else(initialize_new),
        }
   }
}

However, this solution doesn't fix the fact that users need to call init_with and not sequentially call init().load(record) which is not ideal.
Lazy tensor initialization
The other solution would be to have lazy tensor initialization. For this to work, no tensor would be created until a function has been called on the parameter. This only removes the need to implement init_with and could encapsulate the device in the parameter. For this to work we would probably need to use unsafe to implement Send and Sync, but this would be correct, since we would create a new RefCell or Cell each time a tensor is accessed from a parameter.
// Private trait to keep the same syntax as before.
trait Parameter: Clone {
    type Device;
    type Record;

    fn device(&self) -> Self::Device;
}

/// Only tensor for now implement parameter.
impl<B: Backend, K: BasicOps<B>, const D: usize> Parameter for Tensor<B, D, K> {
    type Device = B::Device;
    type Record = <Self as Module<B>>::Record;

    fn device(&self) -> Self::Device {
        self.device()
    }
}

#[derive(new)]
enum ParamState<P: Parameter> {
    Initialized(P),
    Uninitialized {
        init: Box<dyn Fn() -> P>,
        device: P::Device,
    },
}
/// Define a parameter.
pub struct Param<P: Parameter> {
    id: ParamId,
    state: RefCell<ParamState<P>>,
}

impl<P: Parameter + Clone> Param<P> {
    /// Gets the parameter value.
    ///
    /// # Returns
    ///
    /// The parameter value.
    pub fn val(&self) -> P {
        // Note: the custom clone implementation would simply call `val`.

        let tensor = match &*self.state.borrow() {
            ParamState::Initialized(val) => return val.clone(),
            ParamState::Uninitialized { init, device: _ } => init(),
        };

        let state_updated = RefCell::new(ParamState::Initialized(tensor.clone()));
        self.state.swap(&state_updated);

        tensor
    }

    /// This would actually be implemented in `Module::load`
    pub fn load_record(self, record: P::Record) -> Self {
        let device = match &*self.state.borrow() {
            ParamState::Initialized(val) => val.device(),
            ParamState::Uninitialized { init: _, device } => device.clone(),
        };

        let tensor = record.deserialize(device);
        let state_updated = RefCell::new(ParamState::Initialized(tensor));
        self.state.swap(&state_updated);

        self
    }
}

I like the granularity of the lazy initialization approach at the Param level. I think having this sort of interface exposed, makes end users cognizant that it's easy to load only parts of the network using pre-retrained weights if needed. Overall I think it's nice. lesser boilerplate!


Menu

created html file, updated apps and carte sections

Looks good! I'll clean up the menu with Python.


There might be a lag in between auth and contribute resulting in an error

After authenticating for the first time, the backend creates a user document. There might be a small lag in between the two, and if a user runs the contribute command before the document is created, then the cli might throw an error.

I'll have a closer look next week.
My guess is it is happening here
https://github.com/privacy-scaling-explorations/p0tion/blob/8bb948959ddf324fa7c1633b567ffa9750afc91f/packages/phase2cli/src/commands/contribute.ts#L951C38-L951C38
My current fix idea is:
wrap it in a try/catch
on caught FirebaseError, sleep and retry

Fixed in #226

Fixed in #226

seems like that PR was closed and never merged in?

I'll reopen and revisit this when I get a chance


Avoid extra read from disk when creating Pandas Index.

I'd like to make sure we only read a variable at most once in our backend test, potentially with some mocking but I won't have time to get to it soon.

My attempts to add some kind of generic mocking did not succeed. I'll punt that to a future date.


buffer_host weird loading behavior

on opening a buffer-related act, sometimes an old version of buffer_host is loaded.  not sure if related to removal of "buffer_host" from ppooll.acts folder.  here's a screenshot which shows the old version which is missing my presets, and the filepath of the loaded buffer_host.maxpat

aha, can you verify if you have 2 versions in your searchpath?
the desicion of taking buffer_host out of the act-menu was after a chat with a user, who asked, why 2 buffer_haosts are not working correctly...

i haven't been able to find on in my searchpath.  however i have some old files in other places on my computer, i am going to say it is probably those and close this issue :)

sorry to reopen this, but a user in the discord reported a very similar issue.  i've since cleared out all my files, even moved the buffer_host back to the acts folder... but no fix
here are the steps for how recreate this bug:

open Max 8
open xgroove@
buffer_host.maxpat loads from /abstractions, but all buttons are unresponsive, folder presets are missing.
it looks like it does load files into the jit.cellblock, but the names are missing.  just the empty borders

weired, i cannot reproduce this.
if you put buffer_host back into ppooll.acts (what we should do anyways), does it work then?

the abstraction ll.buffer_menu did not change.
it loads buffer_host via pcontrol independent from ho_st.
also scrolling up to your screenshot, it shows, thats it is the buffer_host inside the ppooll-package...strange, that is does not work then.

ok got it now also not working !!!!!!

yes weired! it was due to an actname-mixup when buffer_host was loaded from another act.
i delayed the loading of buffer_host (from 100ms to 300ms), but this is a dirty guess.
this loading was always deferlowed and worked for decades ;)

please test and if it works now close the issue again.

this is perfect, thanks so much klaus!! :)


[Bug] Unable to use react components

Tried with both plain react and next js, following the provided documentation results in the same error message
Error: fetch for http://localhost:3000/"http:/localhost:3000/_assets/_fonts/roboto_regular.json"

import Spline from '@splinetool/react-spline';
// the react code
export default function App() {
  return (

	  <Spline scene="https://prod.spline.design/xn5XEHKULkcZrYz4/scene.spline" />

  );
}

//the nextjs code
import dynamic from "next/dynamic";

const Spline = dynamic(() => import("@splinetool/react-spline"), {
  ssr: false,
});

export default function Home() {
  return (

          <Spline scene="https://prod.spline.design/xn5XEHKULkcZrYz4/scene.spline" />

  );
}

public url
package.json
{
  "name": "spline-template",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "@splinetool/react-spline": "^2.0.0",
    "@splinetool/runtime": "^0.9.33",
    "next": "12.1.1",
    "react": "17.0.2",
    "react-dom": "17.0.2",
    "react-hot-toast": "^2.2.0",
    "sass": "^1.49.9"
  },
  "devDependencies": {
    "eslint": "8.12.0",
    "eslint-config-next": "12.1.1"
  }
}

Hey, same as #30, text doesn't work yet in react-spline, it will be supported soon.
In the meantime you can hide text from your scene when you export.


Upgrade deps

main motivation is to get rid of<EMAIL_ADDRESS>which causes problems when linking


'download' command does not download variables

upload command uploads the profile file to the node as variables, however, download command does not download it to the profile file.

resolved as of version 2.2.0


Added , how to create a launcher icon in new build

This source build doesn't create any launcher icon . So we have to manually add it .

This has been fixed with #7170 and the icon will be included in 0.208.0.


Add factual reporting to icon

Since adding factual level to sources.json this displays both. The
visual needs some help.
This is the companion to https://github.com/JeffreyATW/mbfc_crawler/pull/3

before/after: https://i.imgur.com/MuwBZBo.png :rofl:

Honestly, this makes the icon a lot less useful. If the factual level really does need to be found in the icon, maybe it can show up in a corner as a color indicator (with no text).
The biggest problem with that, of course, is that a green indicator won't show up on top of a Satire icon, and a red indicator won't show up on top of a Right icon.
My recommendation would be to just not do this. I'm open to other approaches, though.

I completely agree. The icon really doesn't have enough space.  What about using an objective score from 0-100 to determine the background color of the icon while the text would not change?
something like:
bias score:
LB = 60
( LC | RC ) = 50
( L | R ) = 40
E = 30
factual score:
VH = 40
H = 30
M = 20
L = 10
The objective score = factual + bias.
color scheme:

90: Green = LB + VH
80: Light Green = LB + H | (LC | RC) + VH
70: Orange = LB + M | (LC | RC) + H | (L | R) + VH
60: Light Red = LB + L | (LC | RC) + M | (L | R ) + H | E + (H | VH)
<50: Red = LB + NR | ( LC | RC ) + L | (L | R) + (L | M) | E + (L | M)

or simpler color coding scheme/works for color blind:

90: BlueGreen(#009e73) = LB + VH
80: BlueGreen(#009e73) = LB + H | (LC | RC) + VH
==
70: Purple/pink (#cc79a7)= LB + M | (LC | RC) + H | (L | R) + VH
==
60: Orange(#d55e00) = LB + L | (LC | RC) + M | (L | R ) + H | E + (H | VH)
<50: Orange(#d55e00) = LB + NR | ( LC | RC ) + L | (L | R) + (L | M) | E + (L | M)

In this system the background color used has some significance:

factual/unbiased sites with a greenish color (most often associated with success)
semi-biased/semi-factual sites with a pink/purple color (between red and blue)
biased/unfactual sites with a orange color (danger)

mockup of color + text: https://i.imgur.com/4c99k4t.png

I still think keeping the color of the bias prominent is important. No one’s going to spend time understanding why colors are slightly different between two sites with the same bias.
I have a better idea: why not show a two-or-three pixel white bar either along one side or the bottom whose length is based on the factual rating? It’s subtle, but I don’t think factual rating is as important as bias.

I wish you had tried it before deciding you didn't like it. I think it conveys useful information. For example:
bbc.com is green
nytimes.com isn't green
I would never know that nytimes doesn't provide the best quality factual reporting unless I noticed that it wasn't green, prompting me to investigate why.
Does it pass the grandma test?
Install the plugin in your grandmother's browser and tell her "green is good; pink is ok; orange is bad"
Install the plugin in your grandmother's browser and tell her "
L means the site has a left bias
LC means the site has a left center bias
C means the site has a centrist bias
RC means the site has a right center bias
R means the site has a right bias
oh and CP is crazy talk, Q is fake news, PS means science, and S is satire
Also, because not all LC sites are the same be sure to check the indicator on the bottom to determine the level of truthiness of the site."
I have spent all the effort I can afford to spend here. It's your plugin (thanks for writing it!) so of course do as you wish. :v:

Maybe there's room for both approaches? I do like the idea that going toward the upper center results in a better color while moving toward the lower corners makes things appear orange. In other words, I gave it some extra thought and I think your background color approach makes sense.
That said, many users might still be interested in just knowing whether a site is left-leaning or right-leaning. The browser extension API has a context menu option that allows for settings to be changed straight from the icon. Maybe we could add this coloring approach as a radio button option.

I'm not spending any more effort here. Maybe this PR will serve as a point of reference or a prototype or something.
Thanks again for making the plugin. I think it's great the way you took a suboptimal situation and turned it into a solid plugin. I hope it does hold the media to a greater level of accountability.


Refactor device.dart

Refactor Device and its subclasses so that callers don't need to do device type checks.

the first commit is just moving code around - ios device code moves from device.dart to ios/device_ios.dart. Similar w/ the android code.
the second commit refactors the code to remove device type checks. startApp() gets a few more args
some api changes in building temporary flx files
fix https://github.com/flutter/flutter/issues/1035

Tests pass, the code analyzes, and I can run android apps w/ various args to flutter start.

@chinmaygarde, I did not try iOS devices, but that code didn't change significantly -

lgtm, will check on iOS


Migrate nlp_create_qkv_heads to experimental from deprecated and use the new op infra

Ticket
Link to Github Issue
Problem description
Provide context for the problem.
What's changed
Describe the approach used to solve the problem.
Summarize the changes made and its impact.
Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

Currently running:

[ ] Post commit: https://github.com/tenstorrent/tt-metal/actions/runs/10289649022
[ ] T300 model perf: https://github.com/tenstorrent/tt-metal/actions/runs/10289652687
[ ] Nightly fast dispatch: https://github.com/tenstorrent/tt-metal/actions/runs/10289680624
[ ] Model perf: https://github.com/tenstorrent/tt-metal/actions/runs/10289680624
[ ] Device perf: https://github.com/tenstorrent/tt-metal/actions/runs/10289665302
[ ] T3000 frequent: https://github.com/tenstorrent/tt-metal/actions/runs/10289654844

Seems like we're hitting asserts in the validate that we used to not hit before in assorted model tests, not sure if it has something to do with differences between the old and new infra.


[1.22.0] [BUG] Need a foundry to make glass, can't make it in hydro plant

Factorio & Maraxsis version number
Please post both the Factorio and Maraxsis version numbers here.
Factorio 2.0.23
Maraxsis 1.22.0
Describe the bug
You need a foundry to make glass for a dome, but you can't place down a foundry without a dome. Or I am missing something?
To Reproduce
Steps to reproduce the behavior:

Try to make glass without a dome

Expected behavior
Ability to make glass without a dome

Hello, thanks for the report. This is working as-intended. You can alternatively get glass from mining mollusk husks.

Hello, thanks for the report. This is working as-intended. You can alternatively get glass from mining mollusk husks.

Mollusk husks? Where are those?


HIVE-22193: Graceful Shutdown HiveServer2

What changes were proposed in this pull request?
Provide a way to stop HiveServer2 gracefully,  so that the aready running queries will not be affected
when upgrading many HiveServer2 instances in the same cluster.
For right now, the gracefully stopping is initiated by: bin/hive --service hiveserver2 --graceful_stop
Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

added unit test
start hs2 locally; invoke bin/hive --service hiveserver2 --graceful_stop
the graceful_stop command can also take a parameter, that is, the process id of hs2 to be gracefully stopped.
by default,  the process id is the value persisted in $HIVESERVER2_PID_DIR/hiveserver2.pid when hs2 startup.
The HIVESERVER2_PID_DIR is default to HIVE_CONF_DIR if not specified.

@hsnusonic @saihemanth-cloudera @sourabh912 clould you please also take a look if have secs? Thank you!

@dengzhhu653 : It would be good to add a summary of the changes proposed in this PR.

@dengzhhu653 : It would be good to add a summary of the changes proposed in this PR.

done

Hello, @sourabh912. Cloud you please take a look at the latest if have a chance? Thank you!


Support custom HTTP header via model settings and/or global config

Issue
Enhancement: User-configurable HTTP headers to be forwarded to API (optional)
LiteLLM accepts extra_headers:
https://github.com/BerriAI/litellm/blob/17575b1846346ee7c1e22117885f8889b7688a1a/docs/my-website/docs/providers/anthropic.md?plain=1#L188
from litellm import completion
messages = [{"role": "user", "content": "What is Anthropic?"}]
response = completion(
    model="claude-3-5-sonnet-20240620",
    messages=messages,
    extra_headers={"anthropic-beta": "max-tokens-3-5-sonnet-2024-07-15"}
)

Additionally, a per-model extra_headers setting would be more useful and robust than a global one. Both could be supported.
Resolves https://github.com/paul-gauthier/aider/issues/867
Version and model info
Aider v0.45.0

This looks like a duplicate of #867 , so I'm going to close it so discussion can happen there. Please let me know if you think it's actually a distinct issue.


edges not on XY plane

Hi, love ya addin. Any possibility of picking 3D edges not on XY plane?

You can.   The edge of this floor is curved in 2 directions.

If you mean something else can you show an example some how??


Do not generate attributes with value undefined

I use some optional attributes that I want to render only when they are set.
When some of them are undefined, current xml output is myAttr="undefined", which makes the document not valid.
My current workaround is to use lodash with
{
  _arguments: pickBy({
	someProp: 'fixed',
	otherProp1: optionalValue1,
	...
	otherPropN: optionalValueN,
  })
}

@edzis
I am not sure that undefined attributes should be completely skipped. Maybe your suggestion can be implemented as an option so that existing behavior will not be impacted.

@nashwaan thus makes sense to me

Mind to arrange a pull request for this?

Will explore the code to gather some ideas on how to implement this by early next week.

As of today, is there any way to not render optional/empty attributes? thanks

@cminini Either filter the keys as I mention in description or wait for #70 to be merged

@edzis Thanks for your contribution. This is now published in v1.6.6

how to not generate element with value 'undefined' i can not find any option to support this
<childs>             <layerObjectJS>                 <type>Text</type>             </layerObjectJS>             <layerObject/>             <objectID>07E882F4-9C63-4038-A807-144C9C79247A</objectID>             <name>Type something</name>         </childs>
i dont want the element of layerObject and i dont want the element of layerObjectJS althought it has value
what i want is
<childs>             <objectID>07E882F4-9C63-4038-A807-144C9C79247A</objectID>             <name>Type something</name>         </childs>


modify update link

update link

This change is

/lgtm
This broken link is due to the recent PR kubernetes/community#1010

@xiangpengzhao
I have a suggestion that if community change some pages' location, could you inform them to send related PR to fix the links of kubernetes.github.io.
Recently, I find a lot of broken links results from community repo changing.

@zhangxiaoyu-zidif SGTM. But unfortunately, there isn't a good way to detect where a doc is referenced when it is moved or removed. It may be referenced in kubernetes.github.io repo or even in K/K code. I notice some PRs in K/K to fix the similar broken links.


Support for Secure Storage

Thanks for the work. I also like the support for the other mvvm frameworks.
But i haven't seen the api for Secure Storage mentioned, so to remove Xamarin Essentials all together:
https://docs.microsoft.com/en-us/xamarin/essentials/secure-storage?tabs=android .
Thanks

A secure storage API doesn't really fit the scope of this project at the moment.  I'm not looking to replace essentials either.  I am targeting different things in the future.

ok then. thanks


New delete syntax conflicts with multi-delete syntax

Related to #3472.
Multi-delete syntax:
@[10] = 100;
delete(@[10], @[11]); // delete element with key 10 and element with key 11

New delete syntax:
@[10] = 100;
delete(@, 10); // delete element with key 10

@key = 10;
delete(@, @key); // !!! does not delete element with key 10 - this instead triggers the multi-delete variant

Complete repro
This script should work with the new syntax, but that would require deleting the multi-delete syntax:
# bpftrace -e 'BEGIN { @[10] = 100; @val = 10; delete(@, @val); exit(); }'
stdin:1:33-41: ERROR: Argument mismatch for @: trying to access with no arguments when map expects arguments: 'int64'
BEGIN { @[10] = 100; @val = 10; delete(@, @val); exit(); }
                                ~~~~~~~~

Maybe a temporary solution for this could be to assume the user is utilizing the new delete API if the first argument is a reference to a map that has keys but the expression does not.

I'd rather we just fix it properly in all situations, and the easiest way to do that is (IMO) to fully remove the multi-delete syntax. It's pretty new (only appeared in the latest release: 0.21) so it's unlikely that many people are depending on it yet.

I'd rather we just fix it properly in all situations, and the easiest way to do that is (IMO) to fully remove the multi-delete syntax. It's pretty new (only appeared in the latest release: 0.21) so it's unlikely that many people are depending on it yet.

Ah ok. I thought we wanted to keep it but deleting it is just fine with me!

Dang, unfortunate. So the ambiguity is only when the second arg is a keyed map, eg @foo[$bar] b/c deleting a scalar map doesn't make sense eg (@foo). Can we warn in that case that the semantics have changed? If anyone is using it, then they're in for a really confusing time if it's a silent change.

@danobi - You can delete scalar maps. It's equivalent to calling clear.

Can we warn in that case that the semantics have changed?

If we're removing the ability to pass multiple maps to delete then the user will get an error that explains the new API - you could make a case for adding additional information to that error message but TBH, I think it's pretty self explanatory: "delete() expects a map for the first argument and a key for the second argument e.g. `delete(@my_map, 1);"

Ah, right. So @foo[$bar] resolves to a value (and not a map), so they get a good error.

The first arg would have had to be a keyed map for it to have been a multi-delete. New delete API requires first arg to be unkeyed map. So I think it's unambiguous if we remove multi-delete. ie. no existing code can get silently get new semantics.

The first arg would have had to be a keyed map for it to have been a multi-delete.

Why is that? This seems to work for me BEGIN { @s = 2; @a[1] = 1; @b[2] = 2; delete(@s[1], @a[1], @b[2]); exit(); }
Though as you pointed out here, it's a bit weird: https://github.com/bpftrace/bpftrace/issues/3498

Argh, right. Unless it's a scalar map. In which case a second argument was not valid anyways.

Is this what's being suggested?
@a = 1;
@b[0] = 0;
@c[0] = 0;

delete(@a, @b[0]); // multi-delete
delete(@c, @b[0]); // new delete syntax

I think that this is very confusing, personally. It's impossible to tell what a delete function call will do without looking at the complete program. Removing the multi-delete syntax seems like the only way to resolve this with sane semantics to me.
Maybe this needs to be done over a longer period of time to avoid changing the semantics under existing scripts. e.g. remove the multi-delete syntax in v0.22 and then re-introduce the new delete syntax in v0.23.

Maybe this needs to be done over a longer period of time to avoid changing the semantics under existing scripts. e.g. remove the multi-delete syntax in v0.22 and then re-introduce the new delete syntax in v0.23.

How does the staggered release help users.  Also I feel like holding off on introducing the new delete syntax would hold up adding has_key because then there would be a signature mismatch.

I think I might have misunderstood the discussion above. The staggered release suggestion was to ensure we could differentiate between the multi-delete and the new syntax, but I think the point being made was that we can do that already.
I just want to ensure that we don't support both multi-delete and the new syntax at the same time. If we immediately remove the multi-delete syntax that'd be fine too.
This I'd be ok with:
@a = 1;
@b[0] = 0;
@c[0] = 0;

delete(@a, @b[0]); // multi-delete - compilation error
delete(@c, @b[0]); // new delete syntax works

Multi-delete was removed here: https://github.com/bpftrace/bpftrace/pull/3506


Integration test test_estimator_sampler failing

test_estimator_sampler is failing https://github.com/Qiskit/qiskit-ibm-runtime/actions/runs/3095371461/jobs/5009714408#step:5:2254
https://github.com/Qiskit/qiskit-ibm-runtime/actions/runs/3100068626/jobs/5032687740#step:5:1978
self.assertAlmostEqual(result.quasi_dists[0][3], 0.5, delta=0.05)
AssertionError: 0.5575 != 0.5 within 0.05 delta (0.057499999999999996 difference)

We could just increase the delta

fixed by #546


Add string conversion for string value data api types that are not al…

…ready strings

this is related to https://github.com/chanzuckerberg/sqlalchemy-aurora-data-api/pull/8 , and conflicts are resolved again.

This seems to have been resolved by other changes that were made since I submitted it so I am closing this.


panic: pq: date/time field value out of range: "13/01/2019 00:00:00

System

TimescaleDB 1.6
PostgreSQL 12.2
PostGIS 3
Windows 10 1909

I  have  a database named "aisdk".
I add  the and postgis and timescale extensions:
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
CREATE EXTENSION IF NOT EXISTS  postgis;
Then I create the following table:
CREATE TABLE aisdk (                   ID          SERIAL            NOT NULL,                   Time        TIMESTAMPTZ       NOT NULL,                   MMSI        INT               NOT NULL,                   Navstatus   SMALLINT          NULL,                   Shiptype    SMALLINT          NULL,                   ROT         SMALLINT          NULL,                   SOG         SMALLINT          NULL,                   COG         SMALLINT          NULL,                   GEOM        GEOGRAPHY         NOT NULL,                   PRIMARY KEY(ID, time)                  );
Then I convert the table to a hypertable:
SELECT create_hypertable('aisdk', 'time');
I have 2 CSV Files (can be downloaded below)
The first one contrains dates that are less than 13/01/2019
The second one has dates larger than 13/01/2019
The files look like this:
PP_aisdk_20190101.csv

time
mmsi
navstatus
shiptype
rot
sog
cog
geom

1
01/01/2019 00:00:00
266434000
15
25

0

SRID=4326;POINT(10.583544999999999 57.715105)

2
01/01/2019 00:00:00
636015279
0
25
0
1390
1240
SRID=4326;POINT(11.0845 54.619167000000004)

3
01/01/2019 00:00:00
273383610
0
25
0
780
2393
SRID=4326;POINT(15.74572 55.819488)

PP_aisdk_20190113.csv

time
mmsi
navstatus
shiptype
rot
sog
cog
geom

0
13/01/2019 00:00:00
269021000
0
25
-145
1390
550
SRID=4326;POINT(8.399167 57.341667)

1
13/01/2019 00:00:00
219019804
15
25

0
1640
SRID=4326;POINT(9.954 57.5921)

2
13/01/2019 00:00:00
219005901
0
25
0
0
2865
SRID=4326;POINT(8.121438000000001 56.368356999999996)

I use the following flags with timescaledb-parallel-copy.exe
timescaledb-parallel-copy --db-name=aisdk --table=aisdk  --connection postgresql://postgres:postgres@localhost:5432/aisdk?sslmode=disable --skip-header --reporting-period 1s  --file PP_aisdk_20190113.csv --workers 16
The first table uploads perfectly with dates ranging from 01/01/2019 00:00:00 -  02/01/2019 23:59:59, (about 180 million rows), then I get the following error
panic: pq: date/time field value out of range: "13/01/2019 00:00:00"
I have checked my database datestyle, it is already DMY
If i use psql to upload the data like this it works:
\COPY aisdk FROM 'S://temp/csv/done/PP_aisdk_20190113.csv' DELIMITER ',' CSV HEADER;
I guess it has something do with the pq driver...it somehow thinks the datestyle is MDY and panics.
My current soloution is to change my date fromat in the csv files YYYY/MM/DD and somehow it works!

The data
PP_aisdk_201901.zip

Should be fixed by #63; please reopen and tag me if you find otherwise.