TypeError: null is not an object (evaluating 'V.current.useRef')

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
EAS build app crashes just on build release but works fine when using Expo Go.
https://user-images.githubusercontent.com/16457615/205432891-a90c8ad2-95ab-4a91-9b60-efdbec7f86cb.mp4
i tried to make animated tabButton that scale onPress, it work really well in development build.
build successful with this command : eas build -p android --profile release --local
but crash on release.
when run adb logcat -s ReactNative:V ReactNativeJS:V give this ErrorMessage:
ReactNativeJS: TypeError: null is not an object (evaluating 'V.current.useRef')
update: tried to run expo start -c --no-dev
12-04 11:33:21.669 18532 19472 W ReactNativeJS: Warning: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
12-04 11:33:21.669 18532 19472 W ReactNativeJS: 1. You might have mismatching versions of React and the renderer (such as React DOM)
12-04 11:33:21.669 18532 19472 W ReactNativeJS: 2. You might be breaking the Rules of Hooks
12-04 11:33:21.669 18532 19472 W ReactNativeJS: 3. You might have more than one copy of React in the same app
12-04 11:33:21.669 18532 19472 W ReactNativeJS: See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.
12-04 11:33:21.669 18532 19472 W ReactNativeJS: TabButton@/data/user/0/host.exp.exponent/files/.expo-internal/bundle:133394:27
12-04 11:33:21.669 18532 19472 W ReactNativeJS: BottomTabBarItem@/data/user/0/host.exp.exponent/files/.expo-internal/bundle:168857:23
12-04 11:33:21.669 18532 19472 W ReactNativeJS: RCTView
12-04 11:33:21.669 18532 19472 W ReactNativeJS: View
12-04 11:33:21.669 18532 19472 W ReactNativeJS: RCTView
12-04 11:33:21.669 18532 19472 W ReactNativeJS: View
12-04 11:33:21.669 18532 19472 W ReactNativeJS: AnimatedComponent@/data/user/0/host.exp.exponent/files/.expo-internal/bundle:79888:38
12-04 11:33:21.669 18532 19472 W ReactNativeJS: AnimatedComponentWrapper
12-04 11:33:21.669 18532 19472 W ReactNativeJS: BottomTabBar@/data/user/0/host.exp.exponent/files/.expo-internal/bundle:168586:22
12-04 11:33:21.669 18532 19472 W ReactNativeJS: RCTView

here's my eas.json
{
  "build": {
    "preview": {
      "android": {
        "buildType": "apk"
      }
    },
    "previewDev": {
      "developmentClient": true
    },
    "release": {
      "android": {
        "buildType": "apk",
        "gradleCommand": ":app:assembleRelease",
    },
    "production": {}
  }
}

tried what i could think of:

npm i --legacy-peer-deps
add a resolutin in package.json

 {
  "resolutions": { "react": "18.1.0" }
}

Expected Behavior
Works fine in release build.
Steps To Reproduce

make custom TabButton
implement the component in @react-navigation/bottom-tabs

import { useCallback } from 'react';
import { TouchableOpacity } from 'react-native';
import { motify, useAnimationState } from 'moti';

const AnimatedTouchableOpacity = motify(TouchableOpacity)();

export const TabButton = props => {
  const {
    onPressIn: _onPressIn,
    onPressOut: _onPressOut,
    ...passThroughProps
  } = props;

  const animationState = useAnimationState({
    from: {
      scale: [{ value: 0.92, type: 'timing', duration: 100 }],
    },
    to: {
      scale: [
        { value: 1.15, type: 'timing', duration: 200 },
        { value: 1, type: 'timing', duration: 100 },
      ],
    },
  });

  const onPressIn = useCallback(
    event => {
      animationState.transitionTo('from');
      _onPressIn?.(event);
    },
    [_onPressIn, animationState],
  );
  const onPressOut = useCallback(
    event => {
      animationState.transitionTo('to');
      _onPressOut?.(event);
    },
    [_onPressOut, animationState],
  );

  return (
    <AnimatedTouchableOpacity
      delayPressIn={0}
      onPressIn={onPressIn}
      onPressOut={onPressOut}
      state={animationState}
      {...passThroughProps}
    />
  );
};

Versions
package.json
{
  "name": "experiments",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@react-navigation/bottom-tabs": "^6.4.3",
    "@react-navigation/native": "^6.0.16",
    "@react-navigation/native-stack": "^6.9.4",
    "@shopify/flash-list": "1.3.1",
    "expo": "~47.0.8",
    "expo-status-bar": "~1.4.2",
    "moti": "^0.21.0",
    "react": "18.1.0",
    "react-hook-form": "^7.40.0",
    "react-native": "0.70.5",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-reanimated": "~2.12.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "expo-updates": "~0.15.6",
    "expo-splash-screen": "~0.17.5"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/eslint-parser": "^7.19.1",
    "@react-native-community/eslint-config": "^3.2.0",
    "babel-plugin-module-resolver": "^4.1.0",
    "babel-plugin-transform-remove-console": "^6.9.4",
    "eslint": "^8.28.0",
    "prettier": "^2.8.0",
    "react-native-dotenv": "^3.4.2"
  },
  "resolutions": {
    "react": "18.1.0"
  },
  "private": true
}

Screenshots

Reproduction
minimal reproduction on snack
somehow, animation is not working correctly on snack 😕
update: try to re-create on react native cli. build release works well.
I hope it helps, thank you.

Please try npm install --legacy-peer-deps


SLANG.D as differentiable renderer for Warp

Hello,
I have just come across https://research.nvidia.com/labs/rtr/publication/bangaru2023slangd/ and it instantly got me thinking whether SLANG.D could be used as a lightweight differentiable rasterizer or raytracer (RT-Cores accelerated?) for simulation in Warp? Some example integration would be great. Cheers!

Hi @korzen, agreed, I think that it can totally make sense to do diff. render in something like SLANG.D and physical simulation in Warp. We do have an example of a differentiable raytracer in Warp here: https://github.com/NVIDIA/warp/blob/main/examples/example_diffray.py, but will look into how we might integrate with SLANG as well.
Best,
Miles

could this be done with the Kaolin Library https://kaolin.readthedocs.io/? Are there advantages to SLANG.D over Kaolin as the diff renderer?@mmacklin any advice on interop? Can I just keep everything in USD and stream from warp to Kaolin?


Certain window positions reset between character sessions

Hello!
I really like the addon and as a user I have a gripe about certain windows not saving positions in between sessions.
I am unsure if it's Elvui or some of my other addons that can overwrite these states (Overachiever, TSM, etc.). I experimented with all addons disabled and only DeModal enabled, positions were still resetting.
Currently, I'm seeing the following windows not saving in the position I put them after a relog:

AchievementFrame
EncounterJournal
CalendarFrame
FlightMapFrame
WorldMapFrame
Quest Log (Part of WorldMapFrame?)
GarrisonLandingPage
GarrisonBuildingFrame
GarrisonRecruiterFrame
GarrisonMissionFrame
GarrisonShipyardFrame
GarrisonCapacitiveDisplayFrame
OrderHallTalentFrame - Order Advancement / Cypher Console / Box of Many Things
OrderHallMissionFrame
ArtifactFrame
ScrappingMachineFrame
IslandQueueFrame
BFAMissionFrame
AzeriteEssenceUI
SoulbindViewer
CovenantRenownFrame
AnimaDiversionFrame
CovenantSanctumFrame
CovenantMissionFrame
RuneforgeFrame
CommunitiesFrame - Guild & Communities
GuildBankFrame
TabardFrame
GuildRegistrarFrame
WardrobeFrame
InspectFrame
ItemUpgradeFrame
ItemSocketingFrame
WeeklyRewardsFrame - Great Vault
AuctionHouseFrame
PetStableFrame
CollectionsJournal
PlayerTalentsFrame
TradeSkillFrame
ClassTrainerFrame
VoidStorageFrame
... and possibly others I have not checked.

Resolved by (duplicate of) #6


[JunBoon] Add company only checks company name for duplicates

Maybe we can add more checks for duplicate companies

I'll make the duplicate check case-insensitive


Warning after upgrade to latest alpha with dart 2 preview

Steps to Reproduce
Upgrade to alpha v0.0.21
flutter run --preview-dart-2 an app
Logs
Run your application with flutter run and attach all the log output.
(Flutter repo is at: /Users/brianarmstrong/workspace/flutter)
→ flutter run --preview-dart-2
Launching lib/main.dart on iPhone 8 in debug mode...
compiler message: file:///Users/brianarmstrong/workspace/flutter/packages/flutter/lib/src/rendering/binding.dart:295:11: Warning: Superclass has no method named 'hitTest'.
compiler message:     super.hitTest(result, position); // ignore: abstract_super_member_reference
compiler message:           ^
Running Xcode build...                               14.7s
Syncing files to device iPhone 8...
compiler message: file:///Users/brianarmstrong/workspace/flutter/packages/flutter/lib/src/rendering/binding.dart:295:11: Warning: Superclass has no method named 'hitTest'.
compiler message:     super.hitTest(result, position); // ignore: abstract_super_member_reference
compiler message:           ^

Run flutter analyze and attach any output of that command also.
N/A
Flutter Doctor
[✓] Flutter (on Mac OS X 10.12.6 16G1036, locale en-US, channel alpha)
• Flutter version 0.0.21 at /Users/brianarmstrong/workspace/flutter
• Framework revision 2e449f06f0 (8 hours ago), 2018-01-29 14:26:51 -0800
• Engine revision 6921873c71
• Tools Dart version 2.0.0-dev.16.0
• Engine Dart version 2.0.0-edge.da1f52592ef73fe3afa485385cb995b9aec0181a
[✓] Android toolchain - develop for Android devices (Android SDK 26.0.3)
• Android SDK at /Users/brianarmstrong/Library/Android/sdk
• Android NDK at /Users/brianarmstrong/Library/Android/sdk/ndk-bundle
• Platform android-26, build-tools 26.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.1, Build version 9B55
• ios-deploy 1.9.2
• CocoaPods version 1.3.1
[✓] Android Studio (version 3.0)
• Android Studio at /Applications/Android Studio.app/Contents
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
[✓] Connected devices
• iPhone 8 • B2A6D06C-9B34-45BE-ACDB-BC1E1666C76D • ios • iOS 11.1 (simulator)

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

Fixed upstream.


empty v1 transactions can be submitted

Can only done once per network, as the ID of an empty v0/v1 transaction is always empty, so not too bad, but still a bad bug.

@glendc can you paste an example of an empty transaction?

v0 Transaction: {} or {"version":0}
v1 Transaction: {"version":1}


Mailbox interaction

Certidude server could be set up so it would fetch certidude@hostname mailbox content automatically. Preliminary implementation could avoid IMAP altogether and simply parse /var/mail contents directly. Sending mail could be implemented with smtplib

E-mails which have CSR as an attachment, could directly be converted and moved to  /var/lib/certidude/ca.example.com/requests, the source e-mail address could be injected into the CSR so when the certificate is issued, the response is automatically sent to the same user. Whenever a certificate gets signed a copy of e-mail should be sent to the root user of the Certidude server machine. The sender of all the e-mails should appear as<EMAIL_ADDRESS>or whatever is inserted into the CA certificate e-mail field.


How can set dinamic size?

Hello, i use this for create dinamic FlowChart, it's work fine but how i can set dinamic size for draw?
When i have many process i can't see all but the svg is cut. Thank you

If I understand you correctly you are asking about scaling the SVG image. Here is a starting point for you to experiment with. Instead of using an ordinary div for the placement of the chart, use an SVG element with a viewbox attribute, setting the width and height. For example:
<svg id="drawing" viewBox="0 0 900 900">
By increasing or decreasing the width and height relative to the chart width, but preserving the aspect ratio, you should be able to scale the chart.
By experimenting with the viewbox attribute I think you should be able to achieve what is required.

If i use this tag in my webform i have incorrect format tag

Not work so fine. If i no set size when declare flowSVG.draw(SVG('drawing').size(900, 900));
I need that height is dynamic. At moment i resolve with public value that i calculate 200*N Box

I'm not sure what you are doing here exactly. If you are trying to pass a calculated / dynamic value to the chart initialisation, you probably need to ensure that the page has loaded, or that the value has been initialised, before  initialising the chart.


Metadata errors not displayed correctly

Describe the bug
After uploading a submission (link) some entities are metadata invalid but the error messages are missing

Triggering validation by editing the description of the entities produces two outcomes:

The error messages appear

The entity becomes metadata valid

To Reproduce
Steps to reproduce the behaviour:

Download the spreadsheet
Upload the spreadsheet in staging
See validation errors
Click Biomaterials: 6 metadata errors
Click expand all: the error messages are missing
Edit the entity description to trigger validation: the error message appears
Edit cell_line_H1's description to see the validation error disappear

Expected behaviour
I expect the validation errors to be displayed only if the metadata is invalid: revalidation should not change the outcome
I expect the validation errror to display an error message
Environment

[x] prod
[x] staging
[ ] dev

Browser

[ ] Chrome
[ ] Safari
[ ] IE
[x] Firefox

I have fixed this issue and it is now in prod. The submission does actually have validation errors but now they are showing as expected


[Bug] error getting websocketdebuggerUrl: unknown exception

Before Reporting

[X] I found no existing issues matching my bug
[X] My issue is not caused by a theme

Describe the Bug
millennium steam error getting websocketdebuggerUrl: unknown exception, no place to find skins in steam
Expected Behavior
no popup and finding the skins in interface
Steps To Reproduce

run windows 10
download steam
(optional) close steam
run the automatic millenium download
open steam

Operating System
Windows
Anything else?
If i have not provided enough info i will happily provide :3

Duplicate of #26


WSL docker sock mount failed

time="2022-03-15T13:00:32-04:00" level=debug msg="Using /backups to match uid and gid"
time="2022-03-15T13:00:32-04:00" level=debug msg="Resolved UID=1000 from match path"
time="2022-03-15T13:00:32-04:00" level=debug msg="Resolved GID=1000 from match path"
time="2022-03-15T13:00:32-04:00" level=debug msg="stdin is detached, so forwarding is disabled"
[13:00:32.753][info    ] Initializing Bedrockifier Daemon
[13:00:32.758][info    ] Loading Configuration From: /backups/config.yml
[13:00:32.763][info    ] Configuration Loaded, Entering Event Loop...
[13:00:32.778][info    ] Host PTY Handle Opened: /dev/pts/0 (3)
[13:00:32.778][info    ] Child PTY Handle Opened: /dev/pts/0 (4)
[13:00:32.779][info    ] Backup Interval: 10800.0 seconds
[13:00:32.780][info    ] Starting Full Backup
[13:00:32.805][error   ] Docker was blocked from accessing docker.sock, make sure UID/GID are set correctly
[13:00:32.805][error   ] Container survival failed to backup properly
[13:00:32.805][info    ] Performing Trim Jobs
[13:00:32.813][info    ] Full Backup Completed

  backup:
    image: kaiede/minecraft-bedrock-backup
    restart: unless-stopped
    depends_on:
      - "survival"
    environment:
      BACKUP_INTERVAL: "12h"
      TZ: "America/New_York"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./backups:/backups
      - ./survival:/survival

As the error says, docker was blocked due to permissions.
Per the wiki:

By default it will automatically demote the service to the user and group that owns your backups directory. In many cases you can use a regular user that has been added to the docker group (ex. me:docker).

In the log you can see the UID/GID that the service used:

time="2022-03-15T13:00:32-04:00" level=debug msg="Using /backups to match uid and gid"
time="2022-03-15T13:00:32-04:00" level=debug msg="Resolved UID=1000 from match path"
time="2022-03-15T13:00:32-04:00" level=debug msg="Resolved GID=1000 from match path"

GID 1000 isn't the docker group on most Linux installs.
So you have two options:

chown the backups folder to <youruser>:docker and restart the service.
Set the GID variable in your docker-compose.yml to be the ID of the docker group on your system.

As the error says, docker was blocked due to permissions.
Per the wiki:

By default it will automatically demote the service to the user and group that owns your backups directory. In many cases you can use a regular user that has been added to the docker group (ex. me:docker).

In the log you can see the UID/GID that the service used:

time="2022-03-15T13:00:32-04:00" level=debug msg="Using /backups to match uid and gid"
time="2022-03-15T13:00:32-04:00" level=debug msg="Resolved UID=1000 from match path"
time="2022-03-15T13:00:32-04:00" level=debug msg="Resolved GID=1000 from match path"

GID 1000 isn't the docker group on most Linux installs.
So you have two options:

chown the backups folder to <youruser>:docker and restart the service.
Set the GID variable in your docker-compose.yml to be the ID of the docker group on your system.

I tried both options and it still gave me the same error. We need more info in the log to debug

I tried both options and it still gave me the same error. We need more info in the log to debug

The new issue templates include details on how to do this. Specifically for the Error Report template, it does ask folks to turn on verbose logging and describes how to do so. The details are also in the wiki: https://github.com/Kaiede/Bedrockifier/wiki/Configuration-File#logging-level
That said, what is the GID being reported now? Is it still 1000?
This error though is very specific, and is related to ownership/permissions to the docker.sock file. It only shows up when docker returns "Got permission denied while trying to connect to the Docker daemon" when attempting to run docker attach.

GID is still 1000.
Docker attach just hangs, do i need to open tty and make it interactive?

GID is still 1000.

That’s odd. Did you create a docker group when setting it up? You might need to manually set the GID variable to the docker group’s ID.

Docker attach just hangs, do i need to open tty and make it interactive?

There was a fix late December to no longer require tty on the server containers. But stdin_open: true is still required on the server contains, otherwise no commands can flow to the server, which are required to avoid corruption of the backups..

stdin_open: true did not work. docker attach still hangs.
I have created the docker group.

setting GID with a newly created docker group id as an environment variable worked.
thanks!


method to get all server invite codes

...... this is easy enough. You can create invites, loop through the cache.... just gotta code it.

Not create them, get existing ones, which discord.js doesn't support yet (as far as I know).


get_relation method returns None for Redshift external tables

Describe the bug
get_relation method (https://docs.getdbt.com/docs/writing-code-in-dbt/jinja-context/adapter/#get_relation) returns None when provided with database, schema and table name of a Redshift external table (AWS Spectrum).
Steps To Reproduce

Create an external table with AWS Spectrum: https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-tables.html
Attempt to get_relation on that external table.

Expected behavior
Should return a regular relation as it does for native Redshift tables, e.g. an output like analytics.spectrum_schema.mytable instead of None
Screenshots and log output

System information
Which database are you using dbt with?

[ ] postgres
[x] redshift
[ ] bigquery
[ ] snowflake
[ ] other (specify: - - - )

The output of dbt --version:
0.16.0

The operating system you're using:
MacOS Mojave
The output of python --version:
3.6.2
Additional context

Thanks for the report @tomekzbrozek!
Looks like we use the Postgres code to query the information schema on redshift: https://github.com/fishtown-analytics/dbt/blob/dev/octavius-catto/plugins/redshift/dbt/include/redshift/macros/adapters.sql#L154
but redshift provides a totally different set of tables for fetching this info: https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_EXTERNAL_TABLES.html
I think we'd need to copy the "base" pg implementation into the redshift plugin, then update the code to also fetch external tables too.

thank you, yup I also used SVV_EXTERNAL_TABLES as a workaround to the issue reported here, pasting below to give a flavour.
({{ schema }} and {{ table }} vars are defined earlier in the body of my macro that serves a different purpose)
-- check_if_external_table_exists returns 1 if a given external table exists, 0 if doesn't
{% set check_if_external_table_exists %}
SELECT
  COUNT(*) AS if_exists_flag
FROM
  SVV_EXTERNAL_TABLES
WHERE
  schemaname || '.' || tablename = '{{ schema }}.{{ table }}'
{% endset %}
-- the loop below fetches results of check_if_external_table_exists:
-- 0 if table doesn't exist, 1 if table exists, 2 for other (erroneous?) cases
-- more context on the `execute` Jinja variable:
-- https://docs.getdbt.com/docs/writing-code-in-dbt/jinja-context/execute
{% if execute %}
  {% set if_exists_flag = run_query(check_if_external_table_exists).columns[0].values()[0] | int %}
{% else %}
  {% set if_exists_flag = 2 | int %}
{% endif %}


Class C

I'm considering removing the loop after Join and instead informing the user that an uplink should be sent after join before Class C Downlinks may be received.
In addition, I think the enable_class_c shall() should not actually touch the radio and only set the flag.


Remove leftovers

These files are not needed anymore.

I wouldn't remove the Jenkinsfile because who knows if we will use Jenkins in the future again?

Then we can readd it again

Who knows if it works anyway and will keep working with changes we merge when nobody is using the Jenkinsfile.

Ok


feat: combine MEDIA_CAPTIONS_LIST into MEDIA_SUBTITLES_LIST

This combines the media captions and subtitles lists for increased ease-of-use. In addition, it removes the "no-subtitles-fallback" attribute.
BREAKING CHANGE: remove MEDIA_CAPTIONS_LIST, MEDIA_CAPTIONS_SHOWING, no-subtitles-fallback, MEDIA_SHOW_CAPTIONS_REQUEST, MEDIA_DISABLE_CAPTIONS_REQUEST, and MEDIA_CAPTIONS_LIST & MEDIA_CAPTIONS_SHOWING change events.

thought(non-blocking): Either in this PR or as a followup, let's update the docs appropriately.

awesome love seeing all these red lines!


⚠ Bofrost.lu has degraded performance

In aecbd52, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1321 ms

Resolved: Bofrost.lu performance has improved in 1535914 after 20 minutes.


It doesn't execute, the browser will prompt to save or open.

Can you replicate this? https://blog.cymulate.com/abusing-microsoft-office-online-video
Here is a sample code. https://github.com/rvrsh3ll/Word-Doc-Video-Embed-EXE-POC


Line wrapping in make-pot

There is a different in line wrapping when using makepot.php vs wp cli make-pot.
WP CLI methods does not wrap at all.

That is correct, we don't currently do that, and there's no real reason for it. It makes no difference.

Thanks for looking into this. It does make a difference :)
It would be nice to have that as an optional argument, for backward compatibility.
The reason is, for a file that has lots of existing translations, and if you want to change a small translation, the difference would include the line wrapping as well and then it would look like the entire file has been changed, where as only a small translation has been updated.
Hope it is not too much to ask for, either way, thanks for the reply.

Are you storing the POT files in version control or something?
As for implementing this, it would require an upstream change in the gettext library we use: https://github.com/php-gettext/Gettext/issues/114
I looked into it two years ago and it wasn't really straightforward back then.
But if someone finds the time to address it, we could easily adopt it.

Definitely against it. Line wrapping is deprecated. If this is implemented, then only as an optional flag

Closing for now since this is still blocked by https://github.com/php-gettext/Gettext/issues/114
It can be reopened for consideration once that one is fixed.


WarpGraphField method usage instead of helper functions

[x] Experiment with refitting integration (and other code) by using methods from WarpGraphField to control the behavior of anchor computation and motion blending for nodes (in all code).
[x] If above is successful, also apply this to allocation code.
[x] If above is successful, provide option to use SP node computation during construction.

Fixed in greg_devel branch.


Invalid Call to InMemoryChannelBackend

After installing channels and creating a shell Django website I am unable to get a basic runserver started due to the following error:
Unhandled exception in thread started by <pydev_monkey._NewThreadStartupWithTrace instance at 0x7f69673e13f8>
Traceback (most recent call last):
  File "/usr/lib/pycharm-4.5.3/helpers/pydev/pydev_monkey.py", line 427, in __call__
    return self.original_func(*self.args, **self.kwargs)
  File "/home/ricomoss/.virtualenvs/dc2/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 229, in wrapper
    fn(*args, **kwargs)
  File "/home/ricomoss/workspace/channels/channels/management/commands/runserver.py", line 25, in inner_run
    self.channel_backend = channel_backends[DEFAULT_CHANNEL_BACKEND]
  File "/home/ricomoss/workspace/channels/channels/backends/__init__.py", line 32, in __getitem__
    self.backends[key] = self.make_backend(key)
  File "/home/ricomoss/workspace/channels/channels/backends/__init__.py", line 26, in make_backend
    instance = backend_class(**{k.lower(): v for k, v in self.configs[name].items() if k != "BACKEND"})
TypeError: __init__() takes at least 2 arguments (1 given)

After investigating I was able to see that the default channel backend is going to be channels.backends.memory.InMemoryChannelBackend, which expects a route to instantiate.  The dictionary comprehension above is empty.
I'd love to contribute to this project but have just started and do not have the full context of intent here.  Can you please provide some guidance as to what can be done to fix this problem?

If I update BaseChannelBackend's __init__ definition to:
def __init__(self, routing=None, expiry=60):

I am able to launch the dev runserver.  I will continue with this change unless you specify otherwise.

I see now that I did not follow the docs far enough.  I assumed that I would be able to run Django without an initial setup of channels.  Oops.
I think it might be worth noting in the docs that Django will not run with channels installed unless channels is configured properly.

No, you're right, Django should run without any config if you just install "channels" - it's likely I just missed something when adding routes as an argument to backends.


Fix unnecessary client-only install in example.

Fix me if I'm wrong but answering this question you have no need to do client-only install.

Given that the example is just asking to put the client files at the newly set HELM_HOME directory, there's no need to install tiller. The docs are correct. :)


don't try building packages with only test files

This is happening during a package build:
go build github.com/syncthing/syncthing/meta: no buildable Go source files in /home/aviau/git/debian-pkg/build-area/syncthing-0.14.33+dfsg1/_build/src/github.com/syncthing/syncthing/meta

the meta package is not empty:
aviau@cranberry:~/git/debian-pkg/build-area/syncthing-0.14.33+dfsg1/_build/src/github.com/syncthing/syncthing/meta$ ls -l
total 16
-rw-r--r-- 1 aviau aviau 3719 Jul 26 22:02 authors_test.go
-rw-r--r-- 1 aviau aviau 1533 Jul 26 22:02 copyright_test.go
-rw-r--r-- 1 aviau aviau 1055 Jul 26 22:02 gofmt_test.go
-rw-r--r-- 1 aviau aviau 2642 Jul 26 22:02 metalint_test.go

Its just that it contains only tests.
It would be great if whatever command is used to determine what packages are build could exclude packages that are "empty" because they contain only tests.

wait this isn't dh-golang.


Keep getting this error with large texts

Hey guys, appreciate your work, thank you!
While trying to run with qwen 2.5 (or any other model) I'm getting this error below:
Would you please advise? Is it a bug or me doing something wrong?
INFO:lightrag:Logger initialized for working directory: ../wd
DEBUG:lightrag:LightRAG init with param:
  working_dir = ../wd,
  chunk_token_size = 1200,
  chunk_overlap_token_size = 100,
  tiktoken_model_name = gpt-4o-mini,
  entity_extract_max_gleaning = 1,
  entity_summary_to_max_tokens = 500,
  node_embedding_algorithm = node2vec,
  node2vec_params = {'dimensions': 1536, 'num_walks': 10, 'walk_length': 40, 'window_size': 2, 'iterations': 3, 'random_seed': 3},
  embedding_func = {'embedding_dim': 768, 'max_token_size': 8192, 'func': <function <lambda> at 0x7d7b5a73af20>},
  embedding_batch_num = 32,
  embedding_func_max_async = 16,
  llm_model_func = <function ollama_model_complete at 0x7d7b6a32e8e0>,
  llm_model_name = qwen2.5:14b-instruct,
  llm_model_max_token_size = 32768,
  llm_model_max_async = 16,
  llm_model_kwargs = {},
  key_string_value_json_storage_cls = <class 'lightrag.storage.JsonKVStorage'>,
  vector_db_storage_cls = <class 'lightrag.storage.NanoVectorDBStorage'>,
  vector_db_storage_cls_kwargs = {},
  graph_storage_cls = <class 'lightrag.storage.NetworkXStorage'>,
  enable_llm_cache = True,
  addon_params = {},
  convert_response_to_json_func = <function convert_response_to_json at 0x7d7b6a32b420>

INFO:lightrag:Load KV full_docs with 0 data
INFO:lightrag:Load KV text_chunks with 0 data
INFO:lightrag:Load KV llm_response_cache with 0 data
INFO:nano-vectordb:Init {'embedding_dim': 768, 'metric': 'cosine', 'storage_file': '../wd/vdb_entities.json'} 0 data
INFO:nano-vectordb:Init {'embedding_dim': 768, 'metric': 'cosine', 'storage_file': '../wd/vdb_relationships.json'} 0 data
INFO:nano-vectordb:Init {'embedding_dim': 768, 'metric': 'cosine', 'storage_file': '../wd/vdb_chunks.json'} 0 data
INFO:lightrag:[New Docs] inserting 1 docs
INFO:lightrag:[New Chunks] inserting 7 chunks
INFO:lightrag:Inserting 7 vectors to chunks
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/embeddings "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/embeddings "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/embeddings "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/embeddings "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/embeddings "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/embeddings "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/embeddings "HTTP/1.1 200 OK"
INFO:lightrag:[Entity Extraction]...
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
⠙ Processed 1 chunks, 0 entities(duplicated), 0 relations(duplicated)
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
⠹ Processed 2 chunks, 0 entities(duplicated), 0 relations(duplicated)
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
⠸ Processed 3 chunks, 0 entities(duplicated), 0 relations(duplicated)
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
⠼ Processed 4 chunks, 0 entities(duplicated), 0 relations(duplicated)
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
⠴ Processed 5 chunks, 0 entities(duplicated), 0 relations(duplicated)
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
⠦ Processed 6 chunks, 0 entities(duplicated), 0 relations(duplicated)
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/chat "HTTP/1.1 200 OK"
⠧ Processed 7 chunks, 0 entities(duplicated), 0 relations(duplicated)
WARNING:lightrag:Didn't extract any entities, maybe your LLM is not working
WARNING:lightrag:No new entities and relationships found
INFO:lightrag:Writing graph with 0 nodes, 0 edges
INFO:httpx:HTTP Request: POST http://<IP_ADDRESS>:11434/api/embeddings "HTTP/1.1 200 OK"

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[3], line 23
     18     rag.insert(f.read())
     21 # Perform naive search
     22 print(
---> 23     rag.query("о чем говорит статья 3 налогового кодекса?", param=QueryParam(mode="naive"))
     24 )
     26 # Perform local search
     27 print(
     28     rag.query("о чем говорит статья 3 налогового кодекса?", param=QueryParam(mode="local"))
     29 )

File /LightRAG/lightrag/lightrag.py:249, in LightRAG.query(self, query, param)
    247 def query(self, query: str, param: QueryParam = QueryParam()):
    248     loop = always_get_an_event_loop()
--> 249     return loop.run_until_complete(self.aquery(query, param))

File /opt/conda/lib/python3.11/site-packages/nest_asyncio.py:98, in _patch_loop.<locals>.run_until_complete(self, future)
     95 if not f.done():
     96     raise RuntimeError(
     97         'Event loop stopped before Future completed.')
---> 98 return f.result()

File /opt/conda/lib/python3.11/asyncio/futures.py:203, in Future.result(self)
    201 self.__log_traceback = False
    202 if self._exception is not None:
--> 203     raise self._exception.with_traceback(self._exception_tb)
    204 return self._result

File /opt/conda/lib/python3.11/asyncio/tasks.py:277, in Task.__step(***failed resolving arguments***)
    273 try:
    274     if exc is None:
    275         # We use the `send` method directly, because coroutines
    276         # don't have `__iter__` and `__next__` methods.
--> 277         result = coro.send(None)
    278     else:
    279         result = coro.throw(exc)

File /LightRAG/lightrag/lightrag.py:283, in LightRAG.aquery(self, query, param)
    273     response = await hybrid_query(
    274         query,
    275         self.chunk_entity_relation_graph,
   (...)
    280         asdict(self),
    281     )
    282 elif param.mode == "naive":
--> 283     response = await naive_query(
    284         query,
    285         self.chunks_vdb,
    286         self.text_chunks,
    287         param,
    288         asdict(self),
    289     )
    290 else:
    291     raise ValueError(f"Unknown mode {param.mode}")

File /LightRAG/lightrag/operate.py:1052, in naive_query(query, chunks_vdb, text_chunks_db, query_param, global_config)
   1049 chunks_ids = [r["id"] for r in results]
   1050 chunks = await text_chunks_db.get_by_ids(chunks_ids)
-> 1052 maybe_trun_chunks = truncate_list_by_token_size(
   1053     chunks,
   1054     key=lambda x: x["content"],
   1055     max_token_size=query_param.max_token_for_text_unit,
   1056 )
   1057 logger.info(f"Truncate {len(chunks)} to {len(maybe_trun_chunks)} chunks")
   1058 section = "--New Chunk--\n".join([c["content"] for c in maybe_trun_chunks])

File /LightRAG/lightrag/utils.py:172, in truncate_list_by_token_size(list_data, key, max_token_size)
    170 tokens = 0
    171 for i, data in enumerate(list_data):
--> 172     tokens += len(encode_string_by_tiktoken(key(data)))
    173     if tokens > max_token_size:
    174         return list_data[:i]

File /LightRAG/lightrag/operate.py:1054, in naive_query.<locals>.<lambda>(x)
   1049 chunks_ids = [r["id"] for r in results]
   1050 chunks = await text_chunks_db.get_by_ids(chunks_ids)
   1052 maybe_trun_chunks = truncate_list_by_token_size(
   1053     chunks,
-> 1054     key=lambda x: x["content"],
   1055     max_token_size=query_param.max_token_for_text_unit,
   1056 )
   1057 logger.info(f"Truncate {len(chunks)} to {len(maybe_trun_chunks)} chunks")
   1058 section = "--New Chunk--\n".join([c["content"] for c in maybe_trun_chunks])

TypeError: 'NoneType' object is not subscriptable

This worked for me.
Use smaller chunk sizes.
When indexing initialize LightRAG with these parameters.
chunk_token_size=512,
chunk_overlap_token_size=50,

This worked for me. Use smaller chunk sizes. When indexing initialize LightRAG with these parameters. chunk_token_size=512, chunk_overlap_token_size=50,

thank you very much, your solution worked!

This worked for me. Use smaller chunk sizes. When indexing initialize LightRAG with these parameters. chunk_token_size=512, chunk_overlap_token_size=50,

Hey guys, I wonder what’s making this bug happen?

I think this bug was resolved. At least for my configuration. Before I could not use the default chunk size without errors and now its fine.

I think this bug was resolved. At least for my configuration. Before I could not use the default chunk size without errors and now its fine.

I found this issue yesterday because of this bug, and this solution worked. It should still not be fixed. I debugged and found that there was a stage of entity extraction where the model returned None, but I couldn't find the cause


Use clap to create commands to generate certs

use rcgen to generate certs
cp. https://github.com/omjadas/hudsucker/issues/12

https://caffeinecoding.com/create-self-signed-certificate-https/

https://stackoverflow.com/questions/42240663/how-to-read-stdioread-from-a-vec-or-slice


How can I get pid or handle's screen area?

GetPID can get the process id, handle screen area not yet supported.

You can try https://github.com/lxn/win
win.GetWindowRect(hwnd, &rect)

Thank you for your suggest, I know it and xgb, I will consider using them.

fpid, err := robotgo.FindIds("Google")
  if err == nil {
    fmt.Println("pids...", fpid)

    if len(fpid) > 0 {
      robotgo.ActivePID(fpid[0])

      robotgo.Kill(fpid[0])
    }
  }

  robotgo.ActiveName("chrome")


Plugin not constructing URLs correctly in 22.11.08

We're running the most recent release of the plugin (22.11001) in Koha 22.11.08 and are seeing 404 errors when trying to view record details from EDS. It appears that the URL for the detailed record is leaving out "plugin/Koha/Plugin/EDS/".
Working URLs look like this:
https://[koha domain base URL]/plugin/Koha/Plugin/EDS/opac/eds-detail.pl?q=Retrieve?an=[EDS record identifiers]
Broken URLs look like this:
https://[koha domain base URL]/opac/eds-detail.pl?q=Retrieve?an=[EDS record identifiers]
In our Koha EDS-API installation, the only EDS records that have correctly formed URLs that work are the ones that point to research starters. Everything else (journal articles, ebooks, etc.) have incorrectly formed URLs that result in 404 errors.
This has also been submitted to EBSCO Connect. Our case number is 5564607.

Indeed we patched :
https://github.com/biblibre/edsapi-koha-plugin/commit/bd6753bde4e7f891d4624433a2bf887ef2a40717
To undo changes from 4f3e70227e724b2715b84a1a1f4d82f94434b907
Looks like method get_plugin_http_path() is called but not defined

Indeed we patched : biblibre@bd6753b
To undo changes from 4f3e702
Looks like method get_plugin_http_path() is called but not defined

We tried updating our plugin. The version number matches the most recent release which includes this patch, but it isn't loading on our system. The plugin's last updated date shows as 2023-08-02. I will go back to our support company (ByWater) and see what they can do to get our plugin updated to use the most recent release.

Hello!  Thanks for reporting this.  I know it was set as closed, but I'm curious if there's anything common between your Koha versions.
We have a freshly installed version of 22.05 on Ubuntu and 22.11 on Debian and links are working as expected.  The get_plugin_http_path() variable should be available to us when we import Koha (I thought).  I'm pretty sure we were referencing this information https://perldoc.koha-community.org/Koha/Plugins/Base.html#get_plugin_http_path when initially setting all of this up, though if it's out of date I'm happy to revisit.
Can you give me a step by step on what's going wrong?  In trying to duplicate I'm:
Doing a search in EDS.
Clicking on an EDS result's title.
Being taken to the Detailed view of the result.
Clicking on the "View in EDS" link to try and verify that is also working.
Being taken to the result in EDS.

@mmabrahamson, Happy to provide more detail.
We are running Koha 22.11 on a very old and decrepit 18.04 Ubuntu. We need to upgrade the OS and are trying to work through some internal issues to make that happen.
Our plugins table shows that the Koha EDS API plugin version is 22.11001, but the last updated date is 2 August. ByWater already tried updating the plugin once, having seen in Github that the most recent update was 6 September, but nothing changed and we're still having the issue.
Here's the steps that lead to our 404 errors:

Log into the Koha OPAC (this is to make sure we get full EDS results)
Perform a Discovery search in Koha (using the EDS API plugin)
Click on a research starter result ... This loads correctly.
Click on another search result, like a journal article ... This returns a 404 error.
Click on a link to full text from the search results ... This also returns a 404 error.

It wasn't until I looked closely at the URLs that I discovered that almost all links to EDS records are missing "/plugin/Koha/Plugin/EDS" from the middle of the URLs. Only research starters seem to include it.


[CI] Release workflows: Removing redundant e2e tests for K8s components

Signed-off-by: Lee Calcote<EMAIL_ADDRESS>Signed commits

[x] Yes, I signed my commits.

Thank you, @acald-creator


Documentation

I've been trying to implement some simple stuff to try out the framework (I love it) but its a bit tough not having a reference of the TensorFlow API.

Here's the Swift for TensorFlow API reference: https://www.tensorflow.org/swift/api_docs
It is listed on the README.

@dan-zheng thanks!

No worries! It's definitely a dense README.


Fix isEncoded() Return Value

isEncoded() always returns true, even if no encoded image exists.
The encoded property of Intervention\Image\Image is initialised as an empty string:
    /**
     * Last image encoding result
     *
     * @var string
     */
    public $encoded = '';

But isEncoded() checks if it is null:
    /**
     * Checks if current image is already encoded
     *
     * @return boolean
     */
    public function isEncoded()
    {
        return ! is_null($this->encoded);
    }

Change the function to check for an empty string instead. Added unit test coverage.

Thanks.


Player heads not dropping after being broken

Bug Report 🐛

Plugin Version

1.5.2
Server Version

git-Pufferfish-67
StackTrace

[01:09:36 ERROR]: Could not pass event BlockBreakEvent to HeadDrops v1.5.2 java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getName()" because the return value of "org.bukkit.Bukkit.getPlayer(java.util.UUID)" is null         at com.github.evancolewright.headdrops.utilities.HeadUtils.createPlayerHead(HeadUtils.java:30) ~[HeadDrops-v1.5.2.jar:?]         at com.github.evancolewright.headdrops.model.PlayerHeadData.toItemStack(PlayerHeadData.java:44) ~[HeadDrops-v1.5.2.jar:?]         at com.github.evancolewright.headdrops.HeadDropsListeners.onHeadBreak(HeadDropsListeners.java:76) ~[HeadDrops-v1.5.2.jar:?]         at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor43.execute(Unknown Source) ~[?:?]         at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?]         at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:git-Pufferfish-68]         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?]         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:671) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?]         at net.minecraft.server.level.ServerPlayerGameMode.destroyBlock(ServerPlayerGameMode.java:412) ~[?:?]         at net.minecraft.server.level.ServerPlayerGameMode.destroyAndAck(ServerPlayerGameMode.java:366) ~[?:?]         at net.minecraft.server.level.ServerPlayerGameMode.handleBlockBreakAction(ServerPlayerGameMode.java:324) ~[?:?]         at net.minecraft.server.network.ServerGamePacketListenerImpl.handlePlayerAction(ServerGamePacketListenerImpl.java:1770) ~[?:?]         at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.handle(ServerboundPlayerActionPacket.java:34) ~[?:?]         at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.a(ServerboundPlayerActionPacket.java:14) ~[?:?]         at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51) ~[?:?]         at net.minecraft.server.TickTask.run(TickTask.java:18) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]         at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]         at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]         at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1401) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]         at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:188) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]         at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]         at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1378) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]         at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1371) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]         at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]         at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1349) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]         at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1231) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]         at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:317) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]         at java.lang.Thread.run(Thread.java:833) ~[?:?]
Steps to Reproduce

Place player head, break player head. I tried regenerating my configs, same thing. Also after updating this plugin and a few others, I had this very strange thing with a player joining and not being able to take damage.

Was the player that the head belonged to offline when this error happened?

Yes, they were offline.  Ok good to know the damage is something else, thank you.

Okay, I have fixed it.  The new download is available here.  Test it out and let me know because I can't get into my alt for some reason.
I apologize for all the issues.  Thanks for reporting them though!

Hi! Firstly, I did indeed confirm the invincible thing was an entirely different plugin (I should have reasoned initially, my mistake)
Secondly, I did try the new patch and received a similar error when replacing the head
`[02:16:16 ERROR]: Could not pass event BlockBreakEvent to HeadDrops v1.5.3
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getName()" because the return value of "org.bukkit.Bukkit.getPlayer(java.util.UUID)" is null
at com.github.evancolewright.headdrops.utilities.HeadUtils.replacePlaceHolders(HeadUtils.java:43) ~[HeadDrops-v1.5.3.jar:?]
at com.github.evancolewright.headdrops.utilities.HeadUtils.createPlayerHead(HeadUtils.java:31) ~[HeadDrops-v1.5.3.jar:?]
at com.github.evancolewright.headdrops.model.PlayerHeadData.toItemStack(PlayerHeadData.java:44) ~[HeadDrops-v1.5.3.jar:?]
at com.github.evancolewright.headdrops.HeadDropsListeners.onHeadBreak(HeadDropsListeners.java:76) ~[HeadDrops-v1.5.3.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor43.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:git-Pufferfish-68]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:671) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.level.ServerPlayerGameMode.destroyBlock(ServerPlayerGameMode.java:412) ~[?:?]
at net.minecraft.server.level.ServerPlayerGameMode.destroyAndAck(ServerPlayerGameMode.java:366) ~[?:?]
at net.minecraft.server.level.ServerPlayerGameMode.handleBlockBreakAction(ServerPlayerGameMode.java:324) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handlePlayerAction(ServerGamePacketListenerImpl.java:1770) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.handle(ServerboundPlayerActionPacket.java:34) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.a(ServerboundPlayerActionPacket.java:14) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1401) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:188) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1378) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1371) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1349) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1231) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]
at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:317) ~[pufferfish-1.18.2.jar:git-Pufferfish-68]
at java.lang.Thread.run(Thread.java:833) ~[?:?]

`

Thank you for your quick responses, and certainly no need to apologize. I can understand the difficulties with catching all potential problems.

Hi! Firstly, I did indeed confirm the invincible thing was an entirely different plugin (I should have reasoned initially, my mistake)
Secondly, I did try the new patch and received a similar error when replacing the head
[02:16:16 ERROR]: Could not pass event BlockBreakEvent to HeadDrops v1.5.3 java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getName()" because the return value of "org.bukkit.Bukkit.getPlayer(java.util.UUID)" is null at com.github.evancolewright.headdrops.utilities.HeadUtils.replacePlaceHolders(HeadUtils.java:43) ~[HeadDrops-v1.5.3.jar:?] at com.github.evancolewright.headdrops.utilities.HeadUtils.createPlayerHead(HeadUtils.java:31) ~[HeadDrops-v1.5.3.jar:?] at com.github.evancolewright.headdrops.model.PlayerHeadData.toItemStack(PlayerHeadData.java:44) ~[HeadDrops-v1.5.3.jar:?] at com.github.evancolewright.headdrops.HeadDropsListeners.onHeadBreak(HeadDropsListeners.java:76) ~[HeadDrops-v1.5.3.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor43.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:git-Pufferfish-68] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:671) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.level.ServerPlayerGameMode.destroyBlock(ServerPlayerGameMode.java:412) ~[?:?] at net.minecraft.server.level.ServerPlayerGameMode.destroyAndAck(ServerPlayerGameMode.java:366) ~[?:?] at net.minecraft.server.level.ServerPlayerGameMode.handleBlockBreakAction(ServerPlayerGameMode.java:324) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.handlePlayerAction(ServerGamePacketListenerImpl.java:1770) ~[?:?] at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.handle(ServerboundPlayerActionPacket.java:34) ~[?:?] at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.a(ServerboundPlayerActionPacket.java:14) ~[?:?] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[pufferfish-1.18.2.jar:git-Pufferfish-68] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1401) ~[pufferfish-1.18.2.jar:git-Pufferfish-68] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:188) ~[pufferfish-1.18.2.jar:git-Pufferfish-68] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1378) ~[pufferfish-1.18.2.jar:git-Pufferfish-68] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1371) ~[pufferfish-1.18.2.jar:git-Pufferfish-68] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1349) ~[pufferfish-1.18.2.jar:git-Pufferfish-68] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1231) ~[pufferfish-1.18.2.jar:git-Pufferfish-68] at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:317) ~[pufferfish-1.18.2.jar:git-Pufferfish-68] at java.lang.Thread.run(Thread.java:833) ~[?:?]
Thank you for your quick responses, and certainly no need to apologize. I can understand the difficulties with catching all potential problems. And just to be clear, the player whos head was being placed was offline at the time of placing.

Try out the release here: https://github.com/evancolewright/HeadDrops/releases/tag/Patch

Ok for this version, it was almost perfect, just one last small fix
This is the head before breaking

Then after breaking it turns into default steve head

But when you place it down, it gets  the correct skin again. So it seems just the item version needs the correct skin.

Ok for this version, it was almost perfect, just one last small fix
This is the head before breaking
Then after breaking it turns into default steve head
But when you place it down, it gets the correct skin again. So it seems just the item version needs the correct skin.

Yes, this is something I experienced occasionally in my testing.  Re-logging would usually fix this (at least for me) which led me to believe it was a Mojang thing (or maybe even a me thing).  I still don't think this is an issue with my code.  I'm going to consult with the forums to see if anyone else gets this behavior and get some ideas on how I can fix this.


[CARBONDATA-2363][HOTFIX][branch-1.3] fix import error

Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

LGTM


Compile Error

Hi
I have same problem here  also I change the binary form to integer and the only problem is :
IntelliSense: unknown attribute "code_seg"
Could you tell me how to fix it please ?
Best Regards,

Which compiler are you using and which line gives that error

Have you tried actually compiling?

:| It came out when I wanted to compile it
I set config as you said but I get this error.
Do u got any compiled exe ?

IntelliSense errors are not compile-time errors though. Can you screenshot the build screen instead?

As you said it wasn't compile error . I check the build tab and although error is still there but it compiled successfully .
thanks in advanced .

When I run the exe file I get this message [+] Defering debug exception...
and nothing happen


Dynamic imports don't work even with jsc.parser.dynamicImport set to true

Describe the bug
Dynamic imports don't work even with jsc.parser.dynamicImport set to true. Meanwhile, the script below prints:
$ node ../../_swc-run.js
error: import(...) expressions requires `jsc.parser.dynamicImport` to be true
 --> /Users/myuser/test.ts:1:38
  |
1 | export const importSomething = () => import('lodash');
  |                                      ^^^^^^

/Users/myuser/project/node_modules/@swc/core/index.js:116
        return bindings.transformSync(isModule ? JSON.stringify(src) : src, isModule, toBuffer(options));
                        ^

Error: GenericFailure: failed to process js file

Input code
Save the following contents as /Users/myuser/test.ts (or any other path as long as you update it in the script as well):
export const importSomething = () => import('lodash');

and run the following code:
'use strict';

const fs = require('fs');
const swc = require('@swc/core');

const filePath = '/Users/myuser/test.ts';

const programmaticOptions = {
  jsc: {
    parser: {
      syntax: 'typescript',
      tsx: true,
      jsx: true,
      dynamicImport: true,
    },
    target: 'es2015',
  },
  sourceMaps: false,
  filename: filePath,
  sourceFileName: filePath,
};

const source = fs.readFileSync(filePath, 'utf-8');
const output = swc.transformSync(source, programmaticOptions);

console.log('output', output);

Config
Config is embedded in the script above.
Expected behavior
The code should compile.
Version
The version of @swc/core: 1.2.40
Additional context
Add any other context about the problem here.

You should remove jsx: true.
Anyway, this should be error... But it will be fixed by #1244.

Am still running into this using the swc-loader with<EMAIL_ADDRESS>not sure if I should've made an issue there or just here since this seems related. Tried different parser options but didn't find a working combination.

Am still running into this using the swc-loader with<EMAIL_ADDRESS>not sure if I should've made an issue there or just here since this seems related. Tried different parser options but didn't find a working combination.

@traverse Can you show me your config?

@traverse Can you show me your config?

@kdy1 The config I was using is as follow
{
  loader: 'swc-loader',
  options: {
    jsc: {
      target: 'es2015',
      parser: {
        syntax: 'typescript',
        tsx: true,
        dynamicImport: true,
        classProperty: true,
        exportNamespaceFrom: true,
        exportDefaultFrom: true
      }
    }
  }
}

Like I said it's using Webpack with the swc-loader but I'd expect the config to be the same.

@kdy1 The config I was using is as follow
{
  loader: 'swc-loader',
  options: {
    jsc: {
      target: 'es2015',
      parser: {
        syntax: 'typescript',
        tsx: true,
        dynamicImport: true,
        classProperty: true,
        exportNamespaceFrom: true,
        exportDefaultFrom: true
      }
    }
  }
}

Like I said it's using Webpack with the swc-loader but I'd expect the config to be the same.

@traverse I guess you should remove
        classProperty: true,
        exportNamespaceFrom: true,
        exportDefaultFrom: true

Seems like a bug of napi-rs.

@traverse I guess you should remove
        classProperty: true,
        exportNamespaceFrom: true,
        exportDefaultFrom: true

Seems like a bug of napi-rs.

I've tried several configurations also without those properties but it still kept showing the same error, I'll see if I can reproduce it again tomorrow.

I've tried several configurations also without those properties but it still kept showing the same error, I'll see if I can reproduce it again tomorrow.

I've tried several configurations also without those properties but it still kept showing the same error, I'll see if I can reproduce it again tomorrow.

Same here.


Make themes optional

Not all workflows/installations support theming which can be confusing as a user. This patch makes them optional in the admin interface and disable them by default. Admins can easily enable them in Opencast's organization configuration.
This fixes #523

According to the #523 , themes tab in series modal should also be hidden. In this PR themes are hidden in the left hand menu but not in the series.

…themes tab in series modal should also be hidden.

Where did you find that? In which dialog precisely?
Right now, a series should still show a themes tab in the series details if a theme is already set. Do you think we should hide that tab in that case as well? May make sense…

Where did you find that? In which dialog precisely?

In the deploy URL, there are two series listed: the first with a theme and the second without. I selected the first one and saw the themes tab.
The behavior of showing or hiding the themes tab based on whether a series already has a theme was not mentioned in either the issue or the PR. Therefore, I did not test it further. :roll_eyes: Sorry about that.
Additionally, I’m not sure if it’s a good idea to always hide the themes tab (in series). The additional series information (theme) should be displayed. I suggest keeping the tab with the condition you described.

Okay, then let's leave it like this. And sorry about the missing information. I just made the decision while I implemented this.


new opCert functionality

Desired functionality:

The op cert counter must be exactly one more than the previously used op cert; It's the last counter actually used on the chain that is important.
Previously op cert issue numbers could be anything, provided it was larger than previously used numbers. Now it can only be exactly one more.

Open questions:

When you issue an invalid opcert by mistake, how do you "revert" the counter so you can issue a valid one?
R: If you have the cold key and know what the counter value is supposed to be there's a CLI command in node --> cardano-cli node new-counter

Should SPOs backup their counter file before issuing a new opcert?
R: not necessarily

How do you know what is the actual opcert value used on-chain?
R: from using the "query kes-info" command

@gitmachtl SPO should be able to query opcert info once https://github.com/input-output-hk/cardano-node/pull/3945 is merged.


MCPWM persists state after cleanup (IDFGH-11895)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.3-dev-1353-gb3f7e2c8a4
Espressif SoC revision.
ESP32-H2 (revision v0.1)
Operating System used.
Linux
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32-H2-DevKitM-1
Power Supply used.
USB
What is the expected behavior?
After setting up MCPWM (timer, operator, comparator, generator) as in the mcpwm servo example, then cleaning up each item with mcpwm_del_X, the procedure can be repeated to control another device on a different pin.
What is the actual behavior?
After setting up MCPWM (timer, operator, comparator, generator) as in the mcpwm servo example, then cleaning up each item with mcpwm_del_X, if another set of (timer, operator, comparator, generator) is recreated to control another servo on a different pin, the first servo will also be affected.
Steps to reproduce.
Modify mcpwm_servo_control_example_main.c with the following code. This sets up MCPWM to move a servo on pin 10, waits for a second, and cleans up the (timer, operator, comparator, generator). Then it waits for 5 seconds, and does the same thing for a servo on pin 11.
Expected behavior:

First servo moves
6 seconds wait
Second servo moves
6 seconds wait
First servo moves ...

Actual behavior:

First servo moves
6 seconds wait
Both servos move
12 seconds wait
Both servos move
12 seconds wait ...

/*
 * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "driver/mcpwm_prelude.h"

static const char *TAG = "example";

// Please consult the datasheet of your servo before changing the following parameters
#define SERVO_MIN_PULSEWIDTH_US 400  // Minimum pulse width in microsecond
#define SERVO_MAX_PULSEWIDTH_US 2600  // Maximum pulse width in microsecond
#define SERVO_MIN_DEGREE        -130   // Minimum angle
#define SERVO_MAX_DEGREE        130    // Maximum angle

#define SERVO_TIMEBASE_RESOLUTION_HZ 1000000  // 1MHz, 1us per tick
#define SERVO_TIMEBASE_PERIOD        20000    // 20000 ticks, 20ms

#define GPIO_SERVO_1 10
#define GPIO_SERVO_2 11

static inline uint32_t example_angle_to_compare(int angle)
{
    return (angle - SERVO_MIN_DEGREE) * (SERVO_MAX_PULSEWIDTH_US - SERVO_MIN_PULSEWIDTH_US) / (SERVO_MAX_DEGREE - SERVO_MIN_DEGREE) + SERVO_MIN_PULSEWIDTH_US;
}

void move_servo_and_cleanup(int init_angle, int gpio)
{
    ESP_LOGI(TAG, "Create timer and operator");
    mcpwm_timer_handle_t timer = NULL;
    mcpwm_timer_config_t timer_config = {
        .group_id = 0,
        .clk_src = MCPWM_TIMER_CLK_SRC_DEFAULT,
        .resolution_hz = SERVO_TIMEBASE_RESOLUTION_HZ,
        .period_ticks = SERVO_TIMEBASE_PERIOD,
        .count_mode = MCPWM_TIMER_COUNT_MODE_UP,
    };
    ESP_ERROR_CHECK(mcpwm_new_timer(&timer_config, &timer));

    mcpwm_oper_handle_t oper = NULL;
    mcpwm_operator_config_t operator_config = {
        .group_id = 0, // operator must be in the same group to the timer
    };
    ESP_ERROR_CHECK(mcpwm_new_operator(&operator_config, &oper));

    ESP_LOGI(TAG, "Connect timer and operator");
    ESP_ERROR_CHECK(mcpwm_operator_connect_timer(oper, timer));

    ESP_LOGI(TAG, "Create comparator and generator from the operator");
    mcpwm_cmpr_handle_t comparator = NULL;
    mcpwm_comparator_config_t comparator_config = {
        .flags.update_cmp_on_tez = true,
    };
    ESP_ERROR_CHECK(mcpwm_new_comparator(oper, &comparator_config, &comparator));

    mcpwm_gen_handle_t generator = NULL;
    mcpwm_generator_config_t generator_config = {
        .gen_gpio_num = gpio,
    };
    ESP_ERROR_CHECK(mcpwm_new_generator(oper, &generator_config, &generator));

    // set the initial compare value
    ESP_ERROR_CHECK(mcpwm_comparator_set_compare_value(comparator, example_angle_to_compare(init_angle)));

    ESP_LOGI(TAG, "Set generator action on timer and compare event");
    // go high on counter empty
    ESP_ERROR_CHECK(mcpwm_generator_set_action_on_timer_event(generator,
                    MCPWM_GEN_TIMER_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, MCPWM_TIMER_EVENT_EMPTY, MCPWM_GEN_ACTION_HIGH)));
    // go low on compare threshold
    ESP_ERROR_CHECK(mcpwm_generator_set_action_on_compare_event(generator,
                    MCPWM_GEN_COMPARE_EVENT_ACTION(MCPWM_TIMER_DIRECTION_UP, comparator, MCPWM_GEN_ACTION_LOW)));

    ESP_LOGI(TAG, "Enable and start timer");
    ESP_ERROR_CHECK(mcpwm_timer_enable(timer));
    ESP_ERROR_CHECK(mcpwm_timer_start_stop(timer, MCPWM_TIMER_START_NO_STOP));

    vTaskDelay(pdMS_TO_TICKS(1000));

    ESP_ERROR_CHECK(mcpwm_del_generator(generator));
    ESP_ERROR_CHECK(mcpwm_del_comparator(comparator));
    ESP_ERROR_CHECK(mcpwm_del_operator(oper));
    ESP_ERROR_CHECK(mcpwm_timer_disable(timer));
    ESP_ERROR_CHECK(mcpwm_del_timer(timer));
}

void app_main(void)
{
    int angle = SERVO_MIN_DEGREE;
    // Move each servo in sequence
    while (1) {
        move_servo_and_cleanup(angle, GPIO_SERVO_1);
        vTaskDelay(pdMS_TO_TICKS(5000));
        move_servo_and_cleanup(angle, GPIO_SERVO_2);
        angle = -angle;
        vTaskDelay(pdMS_TO_TICKS(5000));
    }
}

Debug Logs.
No response
More Information.
It seems that there is some problem where setting up MCPWM, and cleaning it up with mcpwm_del_X, does not actually fully clean it up and it affects subsequent setups ?

I found that calling gpio_reset_pin(gpio) after deleting the timer resolves the issue, but it seems that this should be handled by deleting the generator ? Or at least be documented as a necessary cleanup step. I am also not sure whether that is the only missing cleanup, or if there is other state left.

Hi @RemiNV thanks for reporting. Yes, I also think we need to reset the GPIO in mcpwm_del_generator


gpl

If you took code that was under the GPLv3 license you are obliged to indicate the author

as I remember


CORE-19384: Add reset after RebalanceInProgressException

When lost membership requests were investigated  it seems to be a problem that occurs during rebalance in the state and event pattern. After the rebalance the commits that were not successful don't get re-processed and are instead skipped over. As part of handling this, the PR adds a reset of the event offset position so we try processing again from the correct place after a RebalanceInProgressException.

Please merge (or rebase) this PR to the latest of main branch and smoke tests may start to pass.


Language server for Visual Basic.Net.

I understand that this issue doesn't really belong here, it should be filed via some Microsoft feature suggest channel for the Visual Basic.Net team or something like that. Problem is, I can't really find any channel online for this purpose, therefore, I give it a shot here.
Per Tiobe: Programming Language Popularity, Visual Basic.Net ranks on the list as the 5th most popular programming language as of this month, with over 7% market share. It's even more popular than C#, and on par with C++. Surprisingly, there seems to be no implementation or initiative for a Visual Basic.Net language server. Nowadays, even a language with 1/10 of VB.Net's market share has a language server.
I understand VB.Net is tightly coupled with other components inside the Microsoft ecosystem, like Visual Studio, etc., and maybe that's why.
What do you guys think? Do you think it make sense for such an LSP implementation for VB.Net?

I don’t think anyone that watches this repository would say “No, language X should not have an LSP server implementation.” ;)

@hifall agree that a server for .Net VB would make sense. All I can recommend is to post something here: https://visualstudio.microsoft.com/ if you think that needs to come from MS.
I will close the issue since there is nothing that can be done in this repository.


Add missing runtime libs to heroku-22 and heroku-24

As a general rule, we make dynamic libraries available in the run base images if the packages containing headers for dynamic linking (typically named lib…-dev) are present in the build image.
This ensures that programs that dynamically link against libraries using these headers at build time (e.g. native extensions for various languages) work reliably at runtime.
A recent review of the list of packages on all stacks turned up a number of packages that aren't available at runtime, but have build time headers.
Ignoring heroku-20 (as it is deprecated), and disregarding non-8-bit libpcre… libraries (which already are in the run images) as well as X11-related libraries, we're missing the following:
heroku-22:

libgeoip1 because of libgeoip-dev
libhashkit2 because of libhashkit-dev
libmemcachedutil2 because of libmemcached-dev
libnetpbm10 because of libnetpbm10-dev
libwmf-0.2-7 because of libwmf-dev

heroku-24:

libgirepository-1.0-1 because of libgirepository1.0-dev and libgirepository-1.0-dev
libidn12 because of libidn-dev
libmemcachedutil2t64 because of libmemcached-dev
libwebpdecoder3 because of libwebp-dev
libwmf-0.2-7 because of libwmf-dev

GUS-W-16381871

Sizes:
% docker run -u root --rm -ti heroku/heroku:22 bash
root@2e3c355b3af4:/# apt-get update
…
root@2e3c355b3af4:/# apt-get install libgeoip1 libhashkit2 libmemcachedutil2 libnetpbm10 libwmf-0.2-7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
  geoip-bin libwmf-0.2-7-gtk
The following NEW packages will be installed:
  libgeoip1 libhashkit2 libmemcachedutil2 libnetpbm10 libwmf-0.2-7
0 upgraded, 5 newly installed, 0 to remove and 3 not upgraded.
Need to get 284 kB of archives.
After this operation, 1001 kB of additional disk space will be used.
…

% docker run -u root --rm -ti heroku/heroku:24 bash
root@5e5722257542:/# apt-get update
…
root@5e5722257542:/# apt-get install libgirepository-1.0-1 libidn12 libmemcachedutil2t64 libwebpdecoder3 libwmf-0.2-7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
  libwmf-0.2-7-gtk
The following NEW packages will be installed:
  libgirepository-1.0-1 libidn12 libmemcachedutil2t64 libwebpdecoder3
  libwmf-0.2-7
0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
Need to get 328 kB of archives.
After this operation, 1278 kB of additional disk space will be used.
…

@dzuelke Could you update the PR description so it matches the final version of the PR? :-)


Template react use ESLint flat config

Description
use ESLint Flat Config on React templates.
The React ESLint ecosystem still doesn't support ESLint v9, but we could be already using flat configs

Thanks for the PR @rivajunior! There is already work ongoing for this at #12860. I'll close this PR as duplicate, and it would be good for you to review and help with that PR.


(FACT-2773) Added board_asset_tag fact for linux

Jenkins please test this on amazon7-64a, ubuntu1804-64a, redhat8-64a

CLA signed by all contributors.


Add remote debugging port to launch scripts

In order to debug the main process this option needs to be added. I'm adding it to the scripts so that no matter how they're launched (some people run the scripts directly instead of using the debug task) the port will be opened to then later attach to if desired.

Pull Request Test Coverage Report for Build 604406595

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 43.141%

Totals

Change from base Build 604310111:
0.0%

Covered Lines:
25067

Relevant Lines:
53168

💛  - Coveralls


Desktop view - increase pixel size of class names

Please make class names 20 px

Screenshots

I resolved the class name size in this recent PR https://github.com/BaileyM96/Overwatch-Counter-Pick/pull/31#issue-2080507897


WIP: #890 create a credits page

This is a very early stage WIP PR. I need to add the following before it should be considered merge fodder:

tests
a section on the credits page for packages we rely on in warehouse
enhanced error handling in warehouse/credits/tasks.py

Also, after speaking with @dstufft and @di this will require a GitHub personal access token for the API queries in this code. We make approximately 100 API queries as of now, and that will increase as more users contribute to Warehouse. The limit imposed by Github is 60 per hour. So in order to work around that and using a personal access token, GitHub recommends a way to setup a 'machine user' which is a GitHub account you could create with read only access to the repository, and use that key in the API query: https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users

Getting a token shouldn't be an issue, just make sure it's configurable and we'll make sure it's in the environment before we deploy this.

I'm getting a test failure now because there are multiple heads in the migrations: https://travis-ci.org/pypa/warehouse/jobs/388056080#L1364
It looks like PR #3367 and #4026 changed a bunch of migrations, and now the version that I was revising is revised by that PR:
https://github.com/mbacchi/warehouse/blob/issue890/warehouse/migrations/versions/7a9ceafce0e8_add_contributor_table_for_issue_890.py#L16
https://github.com/pypa/warehouse/blob/master/warehouse/migrations/versions/f2a453c96ded_remove_no_longer_needed_tables.py#L16
Any ideas how I can deal with this? Should I rebase, or remove the table and recreate the migration, or start the PR again? Thanks.

If your migrations don't conflict, you can just edit your migration and change the down_revision to point to the latest revision. You can also do python -m warehouse db merge heads and it'll create a merge revision.

Wow, thanks for the seriously quick response @dstufft. Which do you prefer, is there a 'preferred' way out of the two you suggested?

I would probably edit the down_revision personally, but either one is fine really. One results in a more linear history, and one is less manual tweaking.

Note:
If / when this PR is re-reviewed, we will need to ensure that the templates are appropriately translated.

Hey @di, I got some of the test_tasks.py working but I am stuck on how to provide a pretend stub or fixture for the database query. Any input you could give would be appreciated.

@mbacchi You've got the db_request test fixture in your test, so this means that the tests will run against an actual isolated instance of the database. Generally that's preferable here to mocking out the database calls. That means that depending on what you're testing, you might want to do some setup in advance (e.g. creating new Contributors and adding them to the database).
For example, see this test that's creating projects, users, etc.
https://github.com/pypa/warehouse/blob/e7fc79b3445dc1367e9a67b0e27d2e30cc5ef218/tests/unit/forklift/test_legacy.py#L642-L646

@di asked me to upload an image of what this looks like for folks to look at. Here it is.

#Triage
It's been quite some time for this PR, and in conversation today we've decided:

this PR has a bunch of conflicts with modern code, due to aging
there's not a huge appetite for this feature, considering that https://github.com/pypi/warehouse/graphs/contributors shows who's contributed

Closing for now, but if someone is passionate about re-adding this, please open an issue to discuss the potential implementation prior to writing more code.


Logging next attestation + proposal timing lookahead

Is your feature request related to a problem? Please describe.
Currently, we log when attestations have been published. This issue is similar to #5477 but specifically to expose the timing of the next attestation and/or upcoming block proposal via logs.
Describe the solution you'd like
The VC log would (similarly to the BN) show a line every slot (12s) and will include an extra output of nextAttestation and/or nextProposal or something similar to indicate upcoming duties for the attached validators.
Implementation in Nimbus:

we decided that this is too spammy for the logs.
Instead, we should add this metric to our user-facing dashboard (#6095)


Wemos D1 mini with Motion Sensor

Hi Achim Pieters,
Thank you a lot for your guide to implement HomeKit on ESP8266. I have tried to deploy on Wemos D1 mini. I successfully added the sensor to Home but it can't trigger. Here is my setup. Could you please help me out?

ESP8266 <-> SENSOR
G <-> G
D7 <-> OUT
VCC <-> 3V3
On my iPhone. The motion Detected is always NO

@KitesAir More information about the setup you can find here: https://www.studiopieters.nl/esp8266-homekit-motion-sensor
But the problem I think lies with the sensor, you need to adjust it to sense something this information can be found here: https://www.studiopieters.nl/hc-sr501-motion-sensor/

@AchimPieters Thank you very much. I adjusted the delay and REPEATED mode so it's working.


[FLINK-18518] Add AsyncRequestReplyHandler for the Python SDK

This PR allows registering asynchronous python functions as stateful functions, by introducing a new handler: AsyncRequestReplyHandler.
Invocation of AsyncRequestReplyHandler handler produces a future that can be awaited on, which makes this handler usable in completely asynchronous web frameworks (like aiohttp)
Here is an example remote function implementation that uses aiohttp with the new async handler:
import aiohttp
import asyncio

...

async def fetch(session, url):
    async with session.get(url) as response:
        return await response.text()

@function.bind("example/hello")
async def hello(context, message):
    async with aiohttp.ClientSession() as session:
        html = await fetch(session, 'http://python.org')
        context.pack_and_reply(SomeProtobufMessage(html))

from aiohttp import webhandler

handler = AsyncRequestReplyHandler(functions)

async def handle(request):
    req = await request.read()
    res = await handler(req)
    return web.Response(body=res, content_type="application/octet-stream'")

app = web.Application()
app.add_routes([web.post('/statefun', handle)])
if __name__ == '__main__':
    web.run_app(app, port=5000)

The changes in this PR are as follows:

Refactoring common functionally between an async-handler and sync-handler into a common handler
add an async handler
add an example and IT test.

#docs

Would be followed on the docs sprint, thanks for the reminder.


add commandline option to debugviewconsole to enable/disable console output

now we have -d the console output should actually be optional also

done


ensure that errors from the server are displayed appropriately and translated when displayed in the browser.

For all cases where errors displayed by the browser  should be looked up in a localization bundle and the parameters replaced.  The error should indicate the system and user action to take as well as what has happened. The error should be understandable by the UI user.
I am thinking there are a number of cases:

The browser issues a call, and the javascript realises that the content is not valid, in this case no rest call is issued and the client needs to display an error message.
The browser issues a rest call and it fails prior to getting to the server code, in this case the client needs to display an error message
The browser issues a rest call and the UI server validation spots that there is something wrong with the request. In this case the UI server needs to pass back the error to the client.
The UI server issues the rest call to the back end server; this could be to an OMAS endpoint or a governance server (for open lineage). The rest call fails before it gets to the backend server.
The UI server issues the rest call to the back end server; this could be to an OMAS endpoint or a governance server (for open lineage). The rest call fails and the back end server returns a response indicating the nature of the error. In this case the error needs to be mapped by the UI server into something meaningful for the browser user.
5a)This means that the error in the response needs to contain structured fields indicating the context of the error that has occurred,. For example for an invalid parameter error to an omas, then the field in the request that is invalid needs to be returned. For an invalid non null npa userid, then the UI audit log this error, as this means that the configuration is incorrect. The browser should be sent an error without the failing NPA userid value. In this case the unauthorised status code should not be returned [https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1] - as it would indicate that the client's userid is not authorised.
5b) It seems to me that http status codes from the rest calls made to the backend need to be mapped to https status codes in the response back to the browser. See
https://softwareengineering.stackexchange.com/questions/329229/should-i-return-an-http-400-bad-request-status-if-a-parameter-is-syntactically. There is some debate, but it seems that an OK response could be returned with the body describing the actual error. In this case the javascript needs to check the response to see if it is an error orientated payload or the actual payload, the OMAS response objects contain the error details. It makes sense to me to populate the response object with the error code id and parameters to the javascript can then display it in a user centric manner.

The javascript in the UI uses a Polymer component to issue the  rest calls. We have logic in a component called token-ajax.js. I am suggesting that an OK (200) would contain the error code, the error would then be process by the caller. If all these responses to the view services had the same format, then maybe we should notice the error and display it in a user centric translated error log. The calling  component still needs to be made aware of the error, so it can decorate its components appropriately. There are cases where the rest call fails with a non 200 return code, for example if the logged in userid is not authorised.
I am interested in feedback and coming to a consensus around the approach to take here.
@mandy-chessell @cmgrote @planetf1 @bogdan-sava @grahamwallis @danielaotelea

In addition, I think that there are 2 types of error messages in the browser.

There are errors displayed to the user, using UI components, e.g. highlighting an invalid field with text, a popup with an error, highlighting parts of a displayed graph that have errors. Also a user log would be useful, containing meaningful translated content for the user.
Untranslated logging for diagnostics, not for consumption by the browser user - this would go to the javascript console.In time we should have levels of logging here if it becomes an issue  for performance.


RSpec matchers

I'd like to introduce RSpec matchers in order to avoid reimplementing them in every project using rails_event_store. So far I have following API idea:
# check published events
expect(stream).to have_events([...])     # exact match
expect(stream).to have_event(...)        # exact match
expect(stream).to include_events([...])  # partial match
expect(stream).to include_event(...)     # partial match

# check unpublished_events
expect(aggregate_root).to publish(an_event(CouponRedeemed).with_data(code: '123'))
expect(aggregate_root).to publish(CouponRedeemed.new(data: { code: '123' }))

My doubts:

I've started it as a part of rails_event_store but maybe it should be in ruby_event_store. And in aggregate_root. Or in completely separate gem. I'm confused.
Does it make sense to provide matchers against event store and aggregate root? An already implemented be_event matcher can cover those cases (with some verbosity), i.e.:

expect(event_store.read_stream_events_forward(stream_name)).to include([
  an_event(CouponRedeemed).with_metadata(remote_ip: '<IP_ADDRESS>')
])

Does it make sense to have "singular" versions of matchers, that is both have_event and have_events?

as for where to put such code - I'd like to keep everything below rails-event-store magic-free and ideally framework-free (including the test framework of choice).

I was thinking about implementing some of argument matching functionality so you could  match event key values through with() matchers like instance_of, hash_including, kind_of etc.

Does it make sense to provide matchers against event store and aggregate root?

It definitely makes sense for aggregate root. In most test for aggregates I check domain events generated as a result of some action on aggregate, without storing it anywhere.

Other useful matchers suggestion:
expect(stream).to have_n_events_of_type(ProductItemSold, 3)

I very like @pkondzior idea about employing rspec power of match_array, include, it would solve hell out of cases when one would have to mock/deal with SecureRandom.uuid, just because we have to put exact data in event's data hash in the matcher. What I mean is the case when we have to write something like this:
order_uuid = SecureRandom.uuid

... (some usage of service objects / services, whatever, which create order with `order_uuid`)

expect(stream).to include_event(OrderPlaced.new({ id: order_uuid, some_relevant_data: "foo" }))

instead of
expect(stream).to include_event(OrderPlaced.new({ id: be_present, some_relevant_data: "foo" }))

Also, one note: if you are implementing matcher like expect(stream).to include_event(...) don't forget to print relevant message if the stream is empty - when the array of events is empty, error message after running test can be very deceptive and you can waste long time to deduce that test output is trying to tell you that stream is empty :)

One more matcher request/idea: it would be useful to have include_exactly_one_event:
expect(stream).to include_exactly_one_event(OrderPlaced.new({ id: be_present, some_relevant_data: "foo" }))

It'd behave almost like include_event, but with stronger assumption (that we have exactly one event matching, not at least one. Usecase: We often know that we can use stronger assertion, but we don't use that. It can result in all these nasty bugs where something happened too many times (via Sebastian Sogamoso's talk "The Overnight Failure" from wroc_love.rb 2017).

@andrzejkrzywda @pawelpacana : this can be done in separate gem: rails_event_store_rspec, with dependency to specific rspec and rails_event_store versions. But maybe would be better to just extract all gems to separate organisation, and keep here all main and tooling gems related to event sourcing and cqrs. This will also put more understanding about all building blocks

This has been solved in https://github.com/RailsEventStore/rails_event_store-rspec. Matchers work as documented in http://railseventstore.org/docs/rspec/.
Thanks for the feedback so far! In case of further ideas and issues - please report them in https://github.com/RailsEventStore/rails_event_store-rspec/issues


update sha.js to 2.3.5 - optimization for sha256/512

after merging @dcousens's improvements to sha.js https://github.com/dominictarr/sha.js/pull/19#issuecomment-69729879

ACK, but I'm biased, haha.

Looks good, I'd be curious about your benchmarking setup
On Tue, Jan 13, 2015, 7:18 PM Daniel Cousens<EMAIL_ADDRESS>wrote:

ACK, but I'm biased, haha.
—
Reply to this email directly or view it on GitHub
https://github.com/dominictarr/crypto-browserify/pull/106#issuecomment-69848001
.

It's the benchmarking that I used for this: http://dominictarr.github.io/crypto-bench/

okay merging.

merged into 3.9.6, along with updating metadata to point to crypto-browserify org!


'npm run build' not working

Should be fixed here https://github.com/GrapesJS/components-tooltip/releases/tag/v0.1.8