Not All Expected CSS Files Were Generated

Current behaviour
I build a React component Foo with Foo.css for styles.  I use Foo in Page A and Page B, which are two near-identical HTML pages powered by React.  Oddly, Foo is only styled in either Page A or Page B, but not both.  Note that the same issue apples to component Bar.
Foo.tsx:
import { ReactElement } from "react";
import "./Foo.css";

export default function Foo(p: { children?: string | ReactElement | ReactElement[] }) {
    return (

        {p.children}

    );
}

Foo.css:
.foo {
    color: rgb(255, 158, 30);
    background-color: white;
    border: 1px solid rgb(255, 158, 30);
    border-radius: 5px;
}

pageA.html:
<!DOCTYPE html>

        <title>Page A</title>

pageB.html:
<!DOCTYPE html>

        <title>Page B</title>

pageA.tsx (pageB.tsx is similar):
import { createRoot } from 'react-dom/client';
import Foo from '../components/Bar';
import Bar from '../components/Foo';

const root = createRoot(document.getElementById('app')!);

root.render(

Page A

        Visit Page B
        Styled components:
        <Foo>Foo</Foo>
        <Bar>Bar</Bar>

);

For some reason, in the output directory, only one of pageA.{contenthash}.css or pageB.{contenthash}.css is generated, but not both.  Expected behaviour is that both would be generated.
The generated HTML files look like this:
pageA.html (generated):
<!DOCTYPE html>

        <title>Page A</title>

pageB.html (generated):
<!DOCTYPE html>

        <title>Page B</title>
    <link href="../css/pageB.e7abdc32.css" rel="stylesheet">

Expected behaviour
Foo should be styled in both Page A and Page B.  Both pageA.{contenthash}.css andpageB.{contenthash}.css should be generated and included in pageA.html and pageB.html.

Reproduction Example
I have a mini reproduction example here: https://github.com/DylanVause/webpack-multiple-css-imports-bug

Environment

OS: Windows 11
version of Node.js: v18.17.1
version of Webpack: 5.89.0
version of the Plugin: 3.4.6

Additional context
My Webpack config is in the reproduction repository, but I will include it here as well for convenience:
const path = require('path');
const HtmlBundlerPlugin = require('html-bundler-webpack-plugin');

module.exports = [
    {
        name: 'client',
        mode: 'development',
        output: {
            path: path.resolve(__dirname, 'client-dist'),
            clean: true
        },
        resolve: {
            alias: {
                client: path.resolve(__dirname, 'client')
            },
            extensions: ['.js', '.ts', '.tsx']
        },
        module: {
            rules: [
                {
                    test: /\.tsx?$/,
                    include: path.resolve(__dirname, 'client'),
                    exclude: /node_modules/,
                    use: [
                        {
                            loader: 'ts-loader',
                            options: {
                                transpileOnly: true,
                            },
                        },
                    ],
                },
                {
                    test: /\.css$/,
                    use: 'css-loader',
                    include: path.resolve(__dirname, 'client'),
                    exclude: /node_modules/,
                },
                {
                    test: /\.(ico|png|jp?g|svg)/,
                    type: 'asset/resource',
                    include: path.resolve(__dirname, 'client'),
                    exclude: /node_modules/,
                    generator: {
                        filename: 'img/[name].[hash:8][ext]'
                    }
                },
            ],
        },
        plugins: [
            new HtmlBundlerPlugin({
                entry: 'client/',
                js: {
                    filename: 'js/[name].[contenthash:8].js'
                },
                css: {
                    filename: 'css/[name].[contenthash:8].css'
                },
            })
        ],
        optimization: {
            usedExports: true,
        }
    },
];

Thank you for investigating this issue.  I apologize in advance if this 'bug' is an error on my part.

Hello @DylanVause
thanks for the issue report. I will research this problem later this week.

import '@mui/material/Stack'; // <= disable this line or
import './index.css'; // <= disable this line to build successfully
// ^^^ If both these lines are enabled it will fail to build, regardless of the content of index.css

This bug has been already fixed. In your repo is missing the index.css. Just add the pages/index.css file and the build will not fail.
I can reproduce the issue from the subj.

Sorry, I forgot to commit to the repo.  That is old code, the issue still exists.

I cloned the plugin repo to see if I can debug it.  Removing line 1004 of /src/Plugin /AssetCompiler.js seems to fix the issue, but I'm not sure what the line is for.  Are there issues with removing this line?
if (!Collection.importStyleRootIssuers.has(issuer)) continue; // I removed this line

It is very angry bug/feature in Webpack:
If the same c.css file was imported in many js files: a.js and b.js,
then Webpack processes the CSS module only for 1st a.js, others parents will be ignored,
then we lost the relation for other parents: a.js -> c.css (ok) but b.js -> c.css (lost).
This is a biggest problem in Webpack: it has no cache/data where is saved all parents (incoming connections) of a dependency. Therefore we need walk through each JS file to search in dependencies of the parent, that is very dirty but the single working solution :-/
The original mini-css-extract-plugin plugin use a different way to find imported CSS, but it is much more complex and not faster.
@DylanVause Thank you for the fix in one line! All tests passed. The fix is in the version 3.4.7.
The side-effect of the fix: increases build time for cases when many js files do not import css.

Thank you for the update.  I can confirm 3.4.7 works on my end.


Add singularity vars to aarnet + staging and reinstate handlers

Add SINGULARITY_CACHEDIR to aarnet and staging, reenable the change handlers in playbooks

ref #1117


[Building] settings.json also hides packages from intellisense's includePath

Windows Terminal version
Dev
Windows build number
10.0.22621.0
Other Software
No response
Steps to reproduce

Clone repo.
Install all dependencies. (Ensure nuget packages/ is populated)
Open project dir in VScode

Expected Behavior
All packages' headers are included automatically.

reopen VSCode after making the changes for settings to take effect
Actual Behavior
Includes/headers under packages/ are ignored by VSCode LSP.

settings.json is the one that comes with the source here.

If you'd like to submit a PR that improves the excludes, I'd be happy to merge it asap! 🙂

If you'd like to submit a PR that improves the excludes, I'd be happy to merge it asap! 🙂

sure, I'll do that.

Maybe we put it there when we had boost in our packages and didn't want that all getting parsed? I don't entirely remember.
IIRC @Jaswir was also looking at this, so this might be of interest to them. Dunno if they ever figured that out.


Reified#pimap breaks compatibility

It doesn't change the model (so compat checking won't notice it), but may break decoding.

Work in progress on branch topic/pimap.


Review complexity of the current generic IOC template

In preparation for the EPICS Collaboration Meeting I added the following features to generic IOCs devcontainer:

allow isolated development in a container network to keep PVs local
add a gateway to access the above locally
allow auto-generated bob file access from outside of the container for phoebus

Although these are worthy features there are a couple of problems with the current implementation:

it has made generic-ioc devcontainer launch much more brittle

opi/generated/.placeholder gets deleted by the opi generation and this is easily committed to the repo - breaking the devcontainer
the devcontainer fails to start if the 'channel-access' network has not been created.
Both of the above cause errors that do not help diagnose the cause

all of the additional boilerplate should really be factored out into a separate repo

If isolated networking cannot be simplified due to podman user mode networking we could consider other approaches like picking your own CA port.

This is much better now.

No compose.
Use auto port forwarding to get to IOCs from outside the dev container
just use a script to launch phoebus from host or in a container if not available on the host.


CART attribute error during extraction

Error when executing the extract method of CART, with both classification with discretisation and regression without discretisation.
The instruction producing the exception is: self.predictor.as_sequence(), which should convert the tree into a sequence of leaves.
AttributeError: 'Sequential' object has no attribute 'as_sequence'

Can you post the code when you call extract method? In CI there is a specific test now where both classification (with discretization and without it) and regression are covered.

AttributeError                            Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_1324/754653060.py in
1 cart = Extractor.cart(predictor, iris_features)
----> 2 theory_from_cart = cart.extract(train)
3 print('\nCART extracted rules:\n\n' + pretty_theory(theory_from_cart))
~\Desktop\psyke\psyke-python\psyke\cart_init_.py in extract(self, data)
38
39     def extract(self, data: pd.DataFrame) -> Theory:
---> 40         return self.__create_theory(self.predictor.as_sequence(), data)
41
42     def predict(self, data) -> Iterable:
AttributeError: 'KNeighborsClassifier' object has no attribute 'as_sequence'

Is predictor a neural network? For the moment cart accepts only DecisionTreeClassifier and DecisionTreeRegressor from sklearn. Asap I'll make the algorithm accept any arbitrary predictor.

No, actually it was a KNN.
Ok, thanks :)


Sweden Not in Alphabetical Order in the Countries Dropdown

Reference item 37

should get fixed when #104 is done

Completed in the 26 November 2017 release.


Unable to change topic name

Hi,
While using mqtt kafka connector, I'm able to consume message on topic "mqtt." from MQTT broker but if change my topic name in KC config, I'm unable to consume message from that topic.And noticed that messages are publishing on the same topic "mqtt.".
I know you have mentioned this as a bug in mqtt kafka connector. Does community provide support for this connector?
Should we go ahead for our production systems?

Hi
To fix that use kafka.topic instead of kafka.topics
kafka.topic=topic2

This is a bug in current MQTT Connector.
I will update my project next week. A new version of MQTT Connector coming before Christmas should fix this.

Thanks for updating. Will be looking forward for the same.

@wilsonshamim kafka.topic is still not working.

@bharat-gera It is not fixed yet as the new MQTT Connector version was not released (expected next week).
I will update my example after the Connector update. Then it will work.

MQTT Connector 1.1.0 was released (https://www.confluent.io/connector/kafka-connect-mqtt/), including the bugfix for topic mappings.
I updated the example.


samples: mesh: single timer to handle all transitions,  upgrade the implementation of Generic Level Message handlers & bugs fix

First commit upgrade the implementation to reduce complexity in
algorithm. Previously there was different timers for lightness
as well as temperature transitions. But at time only single
transition was remain activated & hence there is no need
of multiple timer for each entity.
If Node Lightness is in downward transition & received Generic
OnOff message to set state equal to 1 then Node transaction get
stopped in between. Ideally it should reach to default lightness
value if it is non-zero. Second commit has solved this bug.
After receiving Generic Level Move set/set_unack message, generic
level state should move towards positive or negative extreme end
(which is depend upon sign of received delta value) till it not get interrupted.
4th commit has introduced this feature.
Signed-off-by: Vikrant More<EMAIL_ADDRESS>

@jhedberg Please merge the PR if everything is perfect.

wait

After fine tuning & testing now everything is perfect.

wait

https://3pl46c46ctx02p7rzdsvsg21-wpengine.netdna-ssl.com/wp-content/uploads/2019/04/1903_Mesh-Models-Overview_FINAL.pdf
After reading this document, I am going to upgrade implementation of Generic Level Message handlers.
I am going to push latest changes soon.

After reading this document, I am going to upgrade implementation of Generic Level Message handlers. I am going to push latest changes soon.

@vikrant8051 that's fine as long as it doesn't make this PR any bigger. The main issue which is causing slowness in getting your PRs merged is that they are just too big for a thorough review. So if you're going to do more extensive changes please consider splitting them up into multiple PRs.

@jhedberg
I have added 4th commit to correct implementation of only generic move set/set_unack message handlers.
Generic move set - initiates changing the generic level state in either a positive or negative     direction and at a given speed. The speed with which the transition takes place is calculated from        a       delta level field in the message and a value known as the transition time. Transition time must     either appear in the generic move set message itself, where it is an optional parameter, or be     available in a state called the generic default transition time, which belongs to the generic default      transition time model which may or may not be present. If transition time is not available from     either of these two sources, the operation will not be executed and generic level will not      be changed.
The move transition may continue indefinitely. It will stop if a move set message with the delta         level field set to zero is received. When generic level reaches its upper or lower limit, during a     move transition, the implementation may decide to either terminate the transition at that point or     take some other action, such as wrapping around and continuing
As per old implementation, there was no significant difference between gen. delta & gen. move
message handlers. But now I have correctly interpreted what exactly Mesh Model specification is suggesting.
Other things are already tested & Okay from my side. Please review it.

 The main issue which is causing slowness in getting your PRs merged is that they are just too big for a thorough review.

@jhedberg I have edited commit 1 so that it will not aggressively impact old implementation & hope it
will now help in fast review.

recheck

@mfiumara FYI, it seems @vikrant8051 added a patch here which does essentially the same thing as your PR #15933

Looks like there is a lot (168) of unrelated patches included in this PR, it seems some rebase is needed.


Add missing macro includes

This was required for me to build for FreeRTOS. I think CI is not checking building for embedded FreeRTOS, just FreeRTOS on Linux, which is why this didn't show up.

would you please update your git commit log just like comment in github?

Just to clarify, you want me to put the description from the Pull request here on GitHub into the git commit description? I can definitely do that.

Yes.
Having git commit log is extremely valuable.  In fact, if you write commit log and then create PR from it, GitHub automatically generates description from the commit log.
Oh, don't forget to fold the line at 70 or so.
Thanks.

Having git commit log is extremely valuable.

I totally agree, added it. I'm going to add it to the other PRs as well.


Scan window built into a fixed DIV

is it possible to keep the window always active, inside a div, and not in the center of the screen above the whole application?
as in the example ... I could not do it in any way

you can hack this CSS

ver 0.2.1 , you can customer your scan interface,check this demo page
https://github.com/densen2014/ZXingBlazor/blob/master/Demo.Server/Pages/IndexEN.razor
@if (ShowScanBarcodeCustom)
{
    <BarcodeReader ScanResult="((e) => { BarCodeCustom=e; ShowScanBarcodeCustom = !ShowScanBarcodeCustom; })"
                   Close="(()=>ShowScanBarcodeCustom=!ShowScanBarcodeCustom)"
                   OnError="OnError"
                   UseBuiltinDiv="false"
                   @ref="barcodeReaderCustom" />

            <button class="btn btn-outline-success p-2 m-1 w-25" data-action="startButton">Scan</button>
            <button class="btn btn-outline-success p-2 m-1 w-25" data-action="resetButton">Reset</button>
            <button type="button" class="btn btn-outline-success p-2 m-1 w-25" data-action="closeButton">Close</button>

                SelectDevice:
                <select data-action="sourceSelect" style="max-width:100%" class="form-control">
                </select>

                <video id="video" style="height:480px;width: 640px;border: 1px solid red"></video>

}

i noticed that error pops up when it detects multiple capture devices

:-)  fixed in ver 0.2.2

zxing officials demo https://zxing-js.github.io/library/examples/barcode-camera/ works fine?
customer UI like https://github.com/densen2014/ZXingBlazor/blob/master/Demo.Server/Pages/IndexEN.razor

Confirmed it is a bug, fixed in 0.2.3

https://user-images.githubusercontent.com/8428709/161045124-b79fc87a-bae0-42d4-8977-43e798acff10.MOV

Perfect! It works perfectly.
Have you thought about implementing continuous acquisition as well? Without having to restart the camera acquisition module every time?

I updated the plugin but it doesn't work. Your published site still has the same problem. If the camera is one there are no problems, if the devices become more than one, it does not work and the error returns:* TypeError: Cannot set properties of null (setting 'text')* [image: image.png] Il giorno mar 29 mar 2022 alle ore 22:39 Alex chow @.> ha scritto:
…
:-) fixed in ver 0.2.2 — Reply to this email directly, view it on GitHub <#11 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARNF3NCRCCL4WW5ZJB66WTLVCNTAXANCNFSM5RXLHOBA . You are receiving this because you authored the thread.Message ID: @.>

sent me a projet demo with zip here please


validateStudentRepo.sh doesn't validate first exercise in a repo

Cause is that, after initialisation, validataStudentRepo.sh moves to the next exercise and then runs the test on the selected exercise. Hence, the tests on the first exercise on a repo are never run.

I believe this is because most of our courses have a "zero" exercise. So this basically ignores that exercise and moves to the actual first exercise.
That might not be desirable though.

Resolved by PR #36


fix: clarify documentation for "v" position

Problem: the previous documentation falsely states that "v" always refers to the start of a visual area.  In fact, the references of "v" and "." complement each other.  If the cursor is at the start of a (characterwise) visual area, then "v" refers to the end of the area.
Solution: be more verbose and explicit about the connection between "." and "v" and also refer to |v_o| which many vim users will be familiar with for visual areas.

thanks!

included as of 210b39c2d686

Thank you for being open to the change and for the quick inclusion.


add supported property documentation to various components

Right now everything is quite slim.

Handled by #17 .


Added polish translation + phrase bugfix

Thank you for this contribution @mrwogu
Any new feature/fix will be welcome!


cleanup-repo-filelist-actions: Cannot read property 'classList' of null

Make sure the bug is caused by Refined GitHub. Try disabling the extension first.
Confirmed. Also noticed the page loads substantially faster when disabled

Include a full URL where the bug appears.
https://github.com/docsifyjs/docsify/blob/da9af18c4e4aa8b2c42773a01104f5a7c0a628a4/src/core/util/dom.js

refined-github.js:1 ❌ Refined GitHub → cleanup-repo-filelist-actions → TypeError: Cannot read property 'classList' of null
    at init (refined-github.js:1)
    at c (refined-github.js:1)
    at at (refined-github.js:1)
    at refined-github.js:1

Include a screenshot/gif

Might be fixed by https://github.com/sindresorhus/refined-github/pull/3531


travis -> DoCIF

Changes the continuous integration tool used by our repo from travis ci to DoCIF, which uses circle-ci, docker, and virtualenv to allow us to have multiple tests and statused per build run.
Fixes #88
Fixes #64
Fixes #89
Part of #87
Part of #51 (along with #86)

Closes #88
Closes #87
Closes #64
Closes #51
We can also address #89 in this PR as well, since it is already partially addressed.

I wouldn't say this PR has a fix for #87 just yet. That issue includes converting whatever python scripts that aren't py3 compliant into py3.
It's also not a fix for #51 until #86 is done and merged.
I'm in favor of fixing #89 here too. feel free to start. I'm gonna make slight modifications to README and squash commits really soon.

Sorry about the failed rebase+squash. We'll just squash through github.
This PR is waiting on freezing deps in setup.py and testing intallation on a fresh install VM. (plus running some nodes as a test). After that, we'll merge. But I'm marking it for review now if anyone has comments.

closes #89

I just finished testing on a fresh VM. Going to merge it in now


libosinfo: 1.9.0 -> 1.10.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libosinfo/versions.
meta.description for libosinfo is: "GObject based library API for managing information about operating systems, hypervisors and the (virtual) hardware devices they can support"
meta.homepage for libosinfo is: "https://libosinfo.org/"
meta.changelog for libosinfo is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/sn387qwssgz1q690x7r842wilrlrdxcg-libosinfo-1.10.0/bin/osinfo-install-script had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/sn387qwssgz1q690x7r842wilrlrdxcg-libosinfo-1.10.0/bin/osinfo-detect had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/sn387qwssgz1q690x7r842wilrlrdxcg-libosinfo-1.10.0/bin/osinfo-query had a zero exit code or showed the expected version
0 of 3 passed binary check by having a zero exit code.
0 of 3 passed binary check by having the new version present in output.
found 1.10.0 with grep in /nix/store/sn387qwssgz1q690x7r842wilrlrdxcg-libosinfo-1.10.0
found 1.10.0 in filename of file in /nix/store/sn387qwssgz1q690x7r842wilrlrdxcg-libosinfo-1.10.0

Rebuild report (if merged into master) (click to expand)

20 total rebuild path(s)

19 package rebuild(s)

19 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
dropbox-cli
gnome-photos
gnome.file-roller
gnome.gnome-books
gnome.gnome-boxes
gnome.gnome-control-center
gnome.gnome-documents
gnome.gnome-terminal
gnome.gnome-user-share
gnome.nautilus
gnome.nautilus-python
kgx
libosinfo
nautilus-open-any-terminal
pantheon.file-roller
pantheon.file-roller-contract
phosh
tracker-miners
virt-manager

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/sn387qwssgz1q690x7r842wilrlrdxcg-libosinfo-1.10.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A libosinfo https://github.com/r-ryantm/nixpkgs/archive/024128ed43469fcd95c46fe7dfc03a8f937ebe4f.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/sn387qwssgz1q690x7r842wilrlrdxcg-libosinfo-1.10.0
ls -la /nix/store/sn387qwssgz1q690x7r842wilrlrdxcg-libosinfo-1.10.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package marked as broken and skipped:

gnome.gnome-documents

18 packages built:

dropbox-cli
gnome-photos
gnome.file-roller
gnome.gnome-books
gnome.gnome-boxes
gnome.gnome-control-center
gnome.gnome-terminal
gnome.gnome-user-share
gnome.nautilus
gnome.nautilus-python
kgx
libosinfo
nautilus-open-any-terminal
pantheon.file-roller
pantheon.file-roller-contract
phosh
tracker-miners
virt-manager

Maintainer pings
cc @bjornfor for testing.

@GrahamcOfBorg eval


Add privacy policy

@HaSistrunk I think this is failing because one of our external internet lines is down due to the storm.


Homepage - spacing on 'how do I get started' text

Made a mistake on branches. I will open new requests.


net/tcp/tcp_send_buffered.c: Fix non-blocking I/O

Summary
net/tcp/tcp_send_buffered.c: Fix non-blocking I/O
My recent changes to buffered tcp send broke this. [1]
[1]
commit 837e1a72a47b4e5a874124e316192b2172301d30
Author: YAMAMOTO Takashi<EMAIL_ADDRESS>Date:   Mon Mar 15 16:19:42 2021 +0900

    tcp_send_buffered.c: improve tcp write buffering

Impact
non-blocking i/o with CONFIG_NET_TCP_WRITE_BUFFERS
Testing
One of my local apps using non-blocking tcp is working
again with this fix.

@yamt should we merge the small patch?

@yamt should we merge the small patch?

i feel they are independent each other.

Let's merge this trivial patch directly since the break is a known issue and was fixed by #3220.


No Longer available on Google Play Store

I got a new phone today and realized that I could no longer download Pushjet for Android.  Will it be coming back?

I do not have a Google account anymore over ethical/privacy concerns nor do I own an android device. You can still side-load the application.
I'm not planning on re-uploading the app for now. I need to decide what the future for Pushjet will be. The server will stay online indefinitely.

You can still side-load the application.

Is the apk available in any of the repos or should we use one of the various apk mirrors such as: https://apkpure.com/pushjet/io.Pushjet.api
Thanks for the quick response.

@Mechazawa Would F-Droid be an option?
Or can you upload the latest version as release here?

F-Droid is not possible because the app uses GCM.


Cuts down serialization logic

This PR removes the dependencies on bytes and cereal.  Microbenchmarks show that binary is a little faster for encoding and decoding than cereal.  Moreover, serializing to lazy ByteString is more composable.
Closes #2
Closes #20

We can probably handle scripts a bit better.  One option is to use strict
encodings of keys directly instead of the Binary instance.  Another option
is use lazy ByteString as the representation for data carrying opcodes.  We
should probably do some exploration there.
There is a small regression after the patch.  It's not terrible, but maybe we
should take some time to address it.
I did not change the API to include specific encode and decode for each
major type.
Should we change the type of WitnessStack to be a list of lazy ByteString
values?  That would improve serialization.

We can probably handle scripts a bit better. One option is to use strict encodings of keys directly instead of the Binary instance. Another option is use lazy ByteString as the representation for data carrying opcodes. We should probably do some exploration there.

One of the things I have in my notes is that we wanted to overhaul how scripts worked to begin with. When you say "handle scripts a bit better", are you meaning with respect to performance?
I believe that the data carrying opcodes are always less than 520 bytes long which is limited by protocol level consensus stuff. In addition to that we rarely manipulate these things except to send them to cryptographic functions which generally require ByteArrayAccess instances. A cursory search shows me that ShortByteStrings don't actually have a ByteArrayAccess instance but I can't tell why. It seems like they should be able to.

I did not change the API to include specific encode and decode for each major type.

I think we can defer this if we do it at all.

Should we change the type of WitnessStack to be a list of lazy ByteString values? That would improve serialization.

I don't have an issue with this.

Scripts.  There are some tweaks that we can make to the representation in order to make serialization a bit more performant.  However, since we do plan to rework that quite a lot over the next few months, we should not sweat any more changes now.
API.  It would be nice to export direct serialization functions for the most important types.  That helps downstream users (potentially most if we get it right) avoid depending on binary.
Witness stack.  I'll go ahead and covert this to LazyByteString.

wrt Scripts and API we don't need to tie that to this PR. So I'd say merge after the Witness stack change.

Unfortunately, changing the type of WitnessStack ended up being really hairy.  I think that it would be better to do that as a separate change.  So this patch is ready to merge.


phpversion('frankenphp') should not have the leading v

What happened?
Compared to every other extension I checked (except for mysqlnd), FrankenPHP is the only one whose version number has a v prefix. This is inconsistent with the greater ecosystem and breaks naive version_compare() checks to verify a specific FrankenPHP version is used (or not used), because the v as a string orders before all numbers:
php > $versions = ['1.1.4', 'v1.1.5', '1.1.6'];
php > var_dump($versions);
array(3) {
  [0]=>
  string(5) "1.1.4"
  [1]=>
  string(6) "v1.1.5"
  [2]=>
  string(5) "1.1.6"
}
php > usort($versions, version_compare(...));
php > var_dump($versions);
array(3) {
  [0]=>
  string(6) "v1.1.5"
  [1]=>
  string(5) "1.1.4"
  [2]=>
  string(5) "1.1.6"
}

Here's an example list of extensions with their phpversion($ext) output, both bundled extensions as well as extensions from pecl (e.g. Imagick, or Redis):
                Core: 8.3.6
               ctype: 8.3.6
                curl: 8.3.6
                date: 8.3.6
                 dom: 20031129
                exif: 8.3.6
            fileinfo: 8.3.6
              filter: 8.3.6
          frankenphp: v1.1.4
                  gd: 8.3.6
                 gmp: 8.3.6
                hash: 8.3.6
               iconv: 8.3.6
             imagick: 3.7.0
                intl: 8.3.6
                json: 8.3.6
              libxml: 8.3.6
            mbstring: 8.3.6
              mysqli: 8.3.6
             mysqlnd: mysqlnd 8.3.6
             openssl: 8.3.6
                pcre: 8.3.6
                 PDO: 8.3.6
           pdo_mysql: 8.3.6
          pdo_sqlite: 8.3.6
                Phar: 8.3.6
               posix: 8.3.6
              random: 8.3.6
            readline: 8.3.6
               redis: 6.0.2
          Reflection: 8.3.6
             session: 8.3.6
           SimpleXML: 8.3.6
              sodium: 8.3.6
                 SPL: 8.3.6
             sqlite3: 8.3.6
            standard: 8.3.6
           tokenizer: 8.3.6
                 xml: 8.3.6
           xmlreader: 8.3.6
           xmlwriter: 8.3.6
        Zend OPcache: 8.3.6
                 zip: 1.22.3
                zlib: 8.3.6

I would recommend dropping the leading v for phpversion('frankenphp') for consistency.
Build Type
Docker (Debian Bookworm)
Worker Mode
No
Operating System
GNU/Linux
CPU Architecture
x86_64
PHP configuration
Not relevant.

Relevant log output
No response

I also believe that Frankenphp uses Semver, which php's version_compare doesn't really understand and usually starts with a v. In that case, you only need to check the major version to ensure backwards compatibility, and major.minor for feature compatibility.

The version number as per Semver starts with a digit: https://semver.org/lang/de/#backusnaur-form-grammatik-für-valide-semver-versionen
The v prefix is just a common convention to make tags in git easier to distinguish from branches (e.g. for autocompletion purposes), but it is not part of the version number.

I would think that as long as we're internally consistent with version numbers (whether there is a "v" or not a "v"), it will be fine as it doesn't make sense to compare versions with other packages.

The output of phpversion() is meant for programmatic consumption, it should return the raw version number. It's fine to use the v indicator in other places, e.g. frankenphp --version.

Can you describe what you're trying to do and why? I think if we understood the use-case and why it is important, it would help a case on changing how things are versioned vs. just suggesting that things be versioned in a certain way.

Note that I am not suggesting to change the versioning. I'm just suggesting to drop the prefix from the programmatic access.
As for your question: I don’t have a direct use case (yet), this was a random find and I wanted to raise it before folks stumble upon this when trying to version_compare() the version (e.g. to work around a FrankenPHP bug in a library).

TBH, I wasn't even aware that it was possible to use phpversion() to get FrankenPHP's version and I've no idea from where this function gets the number. I agree that removing the v in this context makes sense for consistency with other packages.

and I've no idea from where this function gets the number

It's taken from the zend_module_entry:
https://github.com/dunglas/frankenphp/blob/469070ce8573fc2cd9453d2559d8b5d9d0fa93fb/frankenphp.c#L419


Fix: Hides poster when the player starts playing.

Fixes a bug which did not hide the poster when player started to play.

Can you describe a way to replicate? This should not be necessary because as soon as the video is playing, the poster is hidden using CSS classes

Ofcourse, I am using this with te latest of video-js (v4.11.2) and the recent master.
Using in HTML:
<div class="videoHolder">
 <video id="video-2" src="" class="video-js vjs-default-skin" width="auto" height="auto" poster="img/blocks/instructie/still.jpg" controls preload="auto"  data-setup='{ "techOrder": ["youtube"], "src": "http://www.youtube.com/watch?v=7iZ6GDkQ75o", "playsinline": true, "preload": "auto" }'>
 </video>
</div>

video poster CSS:
.vjs-poster {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  cursor: pointer;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.vjs-poster img {
  display: block;
  margin: 0 auto;
  max-height: 100%;
  padding: 0;
  width: 100%;
}

It could be that i came from a older video-js (v4.9.0) and i did not use that css, it worked fine for me. Going to take a look in that.

Found out that i did not use the following CSS:
/* Hide the poster after the video has started playing */
.video-js.vjs-has-started .vjs-poster {
  display: none;
}

Good to know it only works with the last CSS. Thank you for taking the time to report =)


HTTPCORE-756: Support for Configurable 417 Expectation Failed Response in RequestExpectContinue

This change allows HTTP/1.1 endpoints to more accurately handle the "Expect" header field as per RFC 9110 section 10.1.1. by optionally responding with a 417 status code to indicate that the unexpected expectation cannot be met.

@arturobernalg This does not look right to me. This is a client-side request interceptor that generates theExpect header, not the server-side one that processes it. The logic is misplaced. Please see HttpServerExpectationFilter and AsyncServerExpectationFilter. They already handle unexpected Expect header values by responding back with 417.

@ok2c, you're absolutely right. My apologies for the oversight; it's an embarrassing mistake on my part.

@ok2c, you're absolutely right. My apologies for the oversight; it's an embarrassing mistake on my part.

@arturobernalg There is nothing embarrassing about it. We all err.


BOM missing part number for reset switch

The BOM has no part number for the reset switch. Do you happen to have a digikey part number for it?

Not sure on digikey but most 5.1 smd switches should work:
https://lcsc.com/product-detail/Tactile-Switches_XKB-Connectivity-TS-1187A-B-A-B_C318884.html
On Mon, Jul 4, 2022 at 9:25 AM RYAN NEFF @.***> wrote:

The BOM has no part number for the reset switch. Do you happen to have a
digikey part number for it?
—
Reply to this email directly, view it on GitHub
https://github.com/LeafCutterLabs/miniMACRO5/issues/12, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJRHDXUIGLOUKIAPJG6KXQTVSMGAZANCNFSM52TWFLJQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks for the update! I'll put in a pull request with an updated BOM, and a note about jumping to flash.


can this work with github? [feature]

right now the system is connected to a workspace folder
can this be connected to a github project? and we this can sync updates to github directly?
so this way multiple users can use the same workspace and keep in sync?

hello, we don't provide a built-in git sync right now.
you can manually git init in the workspace folder and git push manually 😂
I wonder if you are working on a team? If multiple users modifying the same folder, i worry it may bring some conflict 🤔 But I hope to learn what kind of team collaborate features do you want and how I can support it.

Yeah. Tired of my team sharing workflows on slack, and sending wrong ones, and us figuring out which is what.
Yeah I was going to do that only. Set up the workspace folder to be a bit folder.

Hi, I'm thinking of adding a "github folder" feature:

you can click "Import github folder" in the left files drawer
you input the github repo url like https://github.com/11cafe/my-awesome-workflows
then a folder called "my-awesome-workflows" will appear in your files list
you can create or drag files into the folder. And for files in side the  "my-awesome-workflows" folder, if you click the "..." dropdown menu of the file, you can see "Push to Github" and "Pull from Github"
On the folder item, there should be a "Sync" button to sync the entire folder with github

this is the UI flow i have in mind to support github sync
but you may need to input your github API key to make sync working from UI. or maybe we can use the command line session 🤔

we also have a built-in way of sharing workflow^^ you can quickly share a workflow in 1click and send the url to your colleague.


Add the consistency requirement in next

With the ability to set multiple values at once, raises the problem of what should be done in case of an invalid value.
Add the optional requirement that parameters either all be modified or none.

This pull request is now managed with CodeReviewHub. Refresh.

:+1: @cc6565 @dawagner @miguelGaio @OznOg


Enable VR building

I've already gotten the address in VR Address Library. You just need to build it and require VR Address Library >= 0.55.1.
If you feel inclined to share DP, based on po3's mods we're seeing about 5% traffic for VR vs flat, but no biggie if you don't. Thanks!
closes #1

Thanks for the PR. AFAIK VR library has a different player character class so there might be some extra compiler macros to be added to disable anything rated to player character, I'll gladly do it but I've been busy recently. I'll see if I can make a successful build and publish ASAP. Thanks again

Your hooks were to vtable entries that appear the same. But if you have a good test case I can check.


this is outdated no longer works in latest Godot Engine

just that please update

This plugin don't is compatible with Godot github version, the plugin still uses the old API, i'm still using this API because it's compatible with Godot stable versions, and probably i'll only update after Godot 2.1.
But it's a good Idea add this to the readme(Sorry i forgot to do that).

I'll leave this open until the update to new Godot plugin API.


No access to Ollama in windows 11 (WSL2)

The Ollama server is running correctly. No trouble to install everything.
But always the same error message when launching chatbotUI

Hi @mivanovitch,
The error message indicates that the ollama command isn't recognized. This typically happens when the command isn't installed globally, isn't included in the system's PATH, or is intended to be run in a different environment (like Windows Subsystem for Linux - WSL).
Here are some steps to troubleshoot this issue:
Check the Environment:
Ensure that you're running the application in the correct environment where the ollama command is installed. If it's meant to be run inside WSL, make sure you're not accidentally executing it in the standard Windows command line.
Review the Code:
As per the code in route.ts at app/api/localhost/ollama/route.ts, it seems like the application is trying to execute a command using exec. Confirm that the command is correct and that it works when run directly in your environment's terminal.
Consider Code Changes:
You could check out the pull request at PR, which may have a workaround or a fix that doesn't require using exec to call ollama.
I hope these suggestions help you resolve the issue.

Give it a run with the new changes from the most recent PR.

It's better with the most recent PR indeed.
But ECONNREFUSED error. (Not such error when using WEBUI with Ollama so it's not a problem with Ollama on WSL2 as I was first thinking)

Sorry for the delay : yes for NEXT_PUBLIC_OLLAMA_URL


Unable to filter videos by size

I know this question was posted many times but I still not able to prevent user to download videos bigger than 1G.
I tried with --max-filesize but it doesn't work with all URL example: https://www.pscp.tv/w/1vAGRENywWYKl
and --match-filter "filesize <<PHONE_NUMBER>" always return does not pass filter filesize <<PHONE_NUMBER>, skipping ..
Any other solution?
youtube-dl --version : 2018.08.22

There is no filesize metadata for pscp.tv.

Is there any universal solution to prevent user to download big videos?


Link to the custom stylesheet with a link element

We should use a <link> element to link to an external custom stylesheet (instead of inlining the content in a <style> element).
In debug mode, it will reduce the feedback loop as a user will be able to edit the custom stylesheet, refresh the browser and see the result.

Fixed in https://github.com/Mogztter/asciidoctor-pdf.js/commit/9950078818712782feabd8d804e9914d7df06253


[Quest] The Mailman

I watched a player who was having an issue with The Mailman quest, but they couldn't hit any of the skeletons that were spawning. Unsure of what the issue was because I could hit them fine. I asked them to relog, and that didn't work either. Any ideas?

I am not able to hit them either, but I am able to kill them with bows. There is also another ticket for this already open labeled "Immortal Skeletons"

I was able to kill them with a sword the same way a player would with ignore claims off and gm 0. If this still doesn't work for you bows can kill them.

 Also removed the spawners for them for this same issue.


From: Sohail Ahmad<EMAIL_ADDRESS>

Date: Mon Dec 5 02:58:36 2022 +0000
Subject: [PATCH] dnsmasq: enabled EDNS configuration options- CPE ID and subnet
Signed-off-by: Sohail Ahmad<EMAIL_ADDRESS>

merged, Thanks !


adapter: add debug option

Prints RDK messages to stdout. Run as
cargo run -- -d my-rdk.ddns.net --debug=true

@bgy36ww Thanks for approval. In case you're waiting for me to finish the merge, I need write access to the repo first.


fix(MenuItem): Merge Menu and MenuItem variables

Problem description
Menu and all its MenuItems share the same variables.
Menu passes its variables down to MenuItem as defaultProps. That means that if a consumer defines a variable directly on a MenuItem, it overwrites the variables passed from the Menu:
<Menu items={[
  {content: 'valid item'}, // ok, variables passed from Menu to the item
  {content: 'item', variables: {special: true}} // BUG, item variables replaces Menu variables, this menu item has broken styles
]} />

Solution
Instead of Menu passing its variables via defaultProps, it now does it through overrideProps and shallow-merges Menu variables with MenuItem variables.

[ ] changelog

Fixes #1392.

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS


is there any plan that move this project to npm ?

hi @kolwit
is there any plan that move this project to npm ?
because when I use Cordova 6.0.0
I can use it and work well (it will got 1.0.6 version)
cordova plugin add https://github.com/kolwit/com.kolwit.pickcontact.git

but when I use PGB 6.0.0
[according to this]
http://phonegap.com/blog/2016/02/09/phonegap_6_now_on_build/
I only can use
<gap:plugin name="com.kolwit.pickcontact" source="pgb" version="1.0.4" />

and it will cause iOS build fail (it will got 1.0.4 version)
so I trust
if you can move your plugin to npm，iOS will build success again
this is the build log
https://justpaste.it/r9sg
you can find the keywords "com.kolwit.pickcontact"

for now the PGB can use this way to got the git repository
<plugin spec="https://github.com/kolwit/com.kolwit.pickcontact.git#1.0.6" source="git" />


weather command failing at https://telize.j3ss.co/geoip

☁  ~  weather
Get https://telize.j3ss.co/geoip: dial tcp <IP_ADDRESS>:443: connect: connection refused
☁  ~

I can see the same issue. I'm using a brew formula


only green screen with rtsp stream using udp

only green screen ...getting nothing

Closing issue because it is duplicated:
https://github.com/pedroSG94/RTSP-Server/issues/75


Feature/push time injection

@jofsky I would like to suggest that we fix the push task upstream so that it handles ISO-8601 correctly (see W-9634243), before we add the mis-formatted datetime here.

@jofsky I would like to suggest that we fix the push task upstream so that it handles ISO-8601 correctly (see W-9634243), before we add the mis-formatted datetime here.

PR: SFDO-Tooling/CumulusCI#2769


cannot mint nft with  opensea with Rinkeby

I opened testnets.opensea.io in browser and connect to wallet using WalletConnect then click on create and it's opening page to create nft. I uploaded image there and set name of that NFT but cannot get any Collection in dropdown to choose. Is there any setting to get list of collection there? Without that it's throwing error. Can't create nft.
With AlphaWallet it's working but i am doing same thing with my application DApp browser and also on chrome but cannot get a collection list. Can anyone help? I think there's some settings or anything?

Hi again @HemangiVekaria, thanks for reporting this I'll check it.

I think this is an issue with OpenSea, not AlphaWallet. I just tried creating an NFT and they mint it for you, they only need your address (provided via walletconnect).
I just minted this NFT - because I already had some deployed contract I just used the name from the existing contract:
https://testnets.opensea.io/assets/0x88b48f654c30e99bc2e4a1559b4dcf1ad93fa656/73301158607185938929634570134102981044984305286916549900884904066123407818753
If you would like to try this; I have a minting site that works with Rinkeby here:
https://jamessmartcell.github.io/
Just connect via WalletConnect, then mint either punks or apes depending on your preference. Once these have minted successfully and appear in the wallet, you can go back to OpenSea and you should have at least one entry in the collections tab which you can use.

Thanks, @JamesSmartCell For help as always. I created a collection on my metamask and use that same account to connect via WalletConnect and now I can mint NFT from Opensea. Thanks again


Deploy To Vercel button not working

Bug report
Describe the bug
Clicking the deploy to Vercel button fails with a malformed URI.
To Reproduce
Click Deploy To Vercel.

Thanks for flagging @r0zar, we missed some link updates. All fixed now 👍

Thanks for flagging @r0zar, we missed some link updates. All fixed now 👍


⚠ Fortnite has degraded performance

In 952024d, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1818 ms

Resolved: Fortnite performance has improved in 0232861.


chore: permissions for docs.yml workflow

Adds write permission to repository contents. Satisfies security while not breaking the job
https://github.com/googleapis/gax-php/pull/454
See https://docs.github.com/en/actions/using-jobs/assigning- permissions-to-jobs

cc @vishwarajanand


Storybook crashes when path aliases are used

If I try
import { Button } from '$ui/components/button';

from Card.svelte, storybook crashes.
Pretty much I can't use path aliases in components that have stories.
The error
ModuleNotFoundError: Module not found: Error: Can't resolve '$ui/components/button'

I'm not having this problem.
There are a few index.ts files. Maybe check these and see if they need updating.

import  Button from '$ui/components/button';


Fix diff-hl faces

Before

After

Note
About :inherit fringe, I've been using it without any issues in nimbus-theme for some years. It just makes sure that the background matches the fringe background. Not relevant here, but in nimbus-theme it also makes sure that any other properties (like boldness) get cleared.

Thanks!

@nyxkrage / @mrcnski
Fun fact, this PR broke both of my legs.
I even opened a discussion here: https://github.com/dgutov/diff-hl/issues/216. It took me hours to find the culprited.
Diff HL also have a margin-mode, and if you'd like to have it working on Emacs terminal (TUI) or even prefer margin over fringes. It is mandatory that you propertize the background to achieve the "bar effect". Diff hl just stopped working (because my markins were " " blank spaces, I just wanted the background colorized to mimic the "bar" gutter) and as it happens to be, it was there, just invisible.
Fun fact 2.
I was precisely developing a minor mode (https://github.com/LionyxML/flymake-margin) and with it trying to solve the original problem of "merging" hl diff and flymake (both on margin). So I would have the background color showing the git status and the foreground showing a flymake mark.
I think we all had good ideas bumping into each other.
So, hl-diff is beautiful on fringe now, but behaves diferently on TUI :/
Well Idn what to do by now. Having the same user experience on both terminal and gui drives my choices of everything :(
I might ask the hl-diff author to create a face specifically for margin mode, but again, would catppuccin use a transparent background by default?
I might be better of patching all in my config.

I might ask the hl-diff author to create a face specifically for margin mode, but again, would catppuccin use a transparent background by default?

@LionyxML FWIW, diff-hl has two sets of faces: one for the fringe (default), and another for the margin (in which all faces inherit from the corresponding in the former set). So you should be able to tweak the looks of either separately.

@dgutov thanks man!
I managed to revert this in my config and kind of find a "fix" to the "overlap", (making it appear side by side, diff-hl and flymake, both on margin).

As to the Catppuccin implementation, it will only break things if someone (like me) have a pretty customizable diff-hl configuration. Testing with the defaults (the thin line on fringe or chars with margin) it's alright.


use vue's events instead of binding callbacks

instead of having to bind the callbacks with props, why not just use vue's own emits?
So this:
    <Collapse
      :when="selected"
      :onExpanded="() => scrollIntoView(index)"
      class="v-collapse"
    >

        Hello world

    </Collapse>

would become this:
    <Collapse
      :when="selected"
      @expanded="() => scrollIntoView(index)"
      class="v-collapse"
    >

        Hello world

    </Collapse>

This seems more intuitive when working with vue (at least to me).

Hi @Alexnortung, I can totally understand that events feels more natural for some people, I choose the 'prop' approach because (at least for me) they integrate better with the IDE (autocomplete, type definition) but also because they're nothing else than a callback passed from the parent to child. Collapse is actually not passing any data to the parent (the callback is just a () => void function) that Collapse receives and executes at some point.
However, we might integrate them (but without removing the props), feel free to submit a PR and I'll merge it and update the README accordingly.
Have a nice day!


Add in configuration for getRollData()

Motivation: Systems that extend Item and Actor frequently break polymorphism. The very frequent case of data.data and data._source has already been accounted for with DataConfig and SourceConfig respectively. However getRollData() also is not always polymorphic to this.data.data like it's currently typed as. Most notably Atropos's own D&D 5e implementation has Actor5e#getRollData() and Item5e#getRollData() which aren't even bivariant.
Implementation:
Similar to the aforementioned DataConfig and SourceConfig, this PR adds GetRollDataConfig which allows you to type a Actor and Item's getRollData method. If not provided it defaults to this.data.data per before so this change should be completely backwards compatible unless someone just happens to have a GetRollDataConfig interface defined in the global namespace in the expected format.

Stupid question, but from my perspective, the point of getRollData is for it to be passed as data to rolls. Is there even any point in typing the return type of getRollData as tightly as it is right now? We could also just use object, allowing deriving classes to override it in any way they like.
Regarding your implementation: Configuring this only makes sense for actors and items, so the type should reflect that. Additionally, If you used the static side of the class as generic parameter, there would be no need for 2 parameters, something along the lines of this:
export type ConfiguredRollData<T extends typeof Actor | typeof Item> = T['metadata']['name'] extends keyof GetRollDataConfig
  ? GetRollDataConfig[T['metadata']['name']]
  : InstanceType<T>['data']['data'];

and you would use it like
    getRollData(): ConfiguredRollData<typeof Actor>;

Thanks for the review! You did bring up a fundamental design difference that should be addressed though. This is how I see we go forward:

Close this PR and make a new one where getRollData()'s return is typed as object.
Add a revert commit to this PR and then do essentially the same as the first without closing this PR.
Reply to the changes mentioned and continue with this design.

I don't mind any of them as I don't object to simply typing the return as object so I figure it'll be the first or second route unless given good reason. I suppose I implemented it as it is today because you can configure data and data._source like this.
Which would you like?

@kmoschcau, @FloRad any opinions on whether using just object is a good idea? That’s also what it is documented as in foundry and I don’t think it’s intended that specific properties of the returned object would be used in code. So I think it’s a good idea. What are your thoughts?
Regarding the PR: I think it makes sense to keep it in this PR and just change the commits to a single one that changes the return type of getRollData to object (if the others agree with this approach). That’s the cleanest way, IMO. That said, we don’t have a fixed procedure, so it doesn’t really matter how we do it.

I think it's fine. If I see this right, typing this as object would also easily allow subclasses to override it with something more narrow. So I'm good with that approach. And also just using this PR.


Reenable disabled font test

This will almost certainly cause the Mac pipelines to fail until we can figure out what is causing the failure, but these tests do need to run on all platforms.

/azp run imodel-native

/azp run imodel-native


Nightly build is failing on macos because it can't build Ruby

https://app.circleci.com/pipelines/github/crystal-lang/crystal/6938/workflows/19a6d680-05e1-44af-8302-969bbe1efc05/jobs/64236
compiling vm.c
In file included from vm.c:344:
./vm_insnhelper.c:5045:43: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
        fprintf(stderr, "%s %s(%d):%p\n", RUBY_FUNCTION_NAME_STRING, bf->name, bf->argc, bf->func_ptr);
...
make: *** [vm.o] Error 1
!!! Compiling ruby 2.7.3 failed!

With updated ruby-install, the build is green: https://app.circleci.com/pipelines/github/crystal-lang/crystal/6945/workflows/e83f3834-3222-4fcd-a901-b7bc92d6ec31/jobs/64326

I don't expect for the CI to  trigger a build to do ruby-install . If that is happening, maybe a brew update is needed or we can change how to get that ruby version. I don't recall nothing more than using a specific ruby version to be as precise as possible when running omnibus. The latest update on omnibus required a bump in ruby version used.

I suppose we could as well install Ruby from brew, pinned to<EMAIL_ADDRESS>and don't build it ourselves?

@bcardiff What breaks if we do brew install ruby (no version) and then install bundler from gem?

@beta-ziliani that things might break without us changing a thing in the CI due to external updates. It can still happen, but there are higher changes :-). I would rather use pinned ruby versions. This is the way 🤓


Special characters and input controls in dial mode

The following settings have been found in version 17.4.0:

Currently allow special characters. Only numbers should be allowed.

( ( Shift || Alt) + 'some key')
For example =>  |@#~€¬[]!"·$%&/()=

Backspace does not work, and does not allow deleting entered numbers. You can only change the value with the up and down keys, but it behaves strangely.

Greetings.

My fault. Fixed in:
12.5.1
13.2.1
14.2.1
15.2.1
16.2.1
17.4.1
Hopefully with no surprises 😄


Sometimes GHCi gets stuck

Every once in a while, when I'm editing A.hs, the following happens:
--> /home/m/git/stuff/src/4913
--> /home/m/git/stuff/src/A.hs

src/B.hs:10:20:
    Could not find module ‘A’
	    Use -v to see a list of the files searched for.

--> /home/m/git/stuff/src/A.hs
[66 of 69] Compiling A        ( src/A.hs, interpreted )
[67 of 69] Compiling B        ( src/B.hs, interpreted ) [A changed]

src/B.hs:10:1:
    Failed to load interface for ‘A’
	    Use -v to see a list of the files searched for.

Once it does, there's no way out of it besides relaunching sensei AFAICT. This appears to be Vim-related (maybe sensei should not trigger a reload on creation of 4913?).

After some experimentation, I believe the problem is unrelated to 4913, although it may be exacerbated by it; GHCi still gets stuck on Failed to load interface for, albeit less frequently, even if changes to anything that looks like 4913 are ignored.


Update cache_spotify.ps1

Properly join the path to prevent falsely flagging the path as nonexistent.

hi, thank you
If correctly understood, then taking in quotes and your method gives the same result?
"$env:LOCALAPPDATA\Spotify\Data"

=
Join-Path -Path $env:LOCALAPPDATA -ChildPath "Spotify\Data"

Hi,
Join-Path is the way path handling is supposed to be done in Powershell. It will handle path-specific irregularities for you, which just using quotation marks will not. Quotes are ok for basic string concatenation.

Oh thanks
I'll keep it on mind


tests: bump the version of ansible to 2.2.2

Signed-off-by: Alfredo Deza<EMAIL_ADDRESS>

We now have a disconnect between this and the Jenkins Job until pr #1410 gets merged

jenkins test this please

@leseb seems we are good now

Yup, thanks!


note on using with sequence()

as just discussed on discord, here's a litte note on using sequence() 😃

Thank you! This is now handled by https://github.com/pixelmund/svelte-kit-cookie-session/commit/eaa0274cb6fbf876b67ff79bfc8fc79536cb0ef0


Vendors hidMap

Hello, I wonder where did you find the vendors hidMap? I mean, where does this come from?
this.hidMap = options.hidMap || {
4:"A", 5:"B",6:"C",7:"D",8:"E",
9:"F", 10:"G", 11:"H",12:"I",13:"J",
14:"K",15:"L",16:"M",17:"N", 18:"O",
19:"P",20:"Q",21:"R",22:"S",23:"T",
24:"U",25:"V", 26:"W", 27:"X", 28:"Y",
29:"Z",30: '1', 31: '2', 32: '3', 33: '4',
34: '5',35: '6', 36: '7', 37: '8', 38: '9',
// enter - barcode escape char
39: '0',40: 'enter', 44:" ",45:"-", 55:".", 56:"/",
85:"*", 87:"+"
};

Pretty sure I used this as reference, specifically the Keyboard section.
I only used added the mappings which i thought were necessary, it might need some adjustments.


Fix custom fwd and bwd for older PyTorch versions

Fixes #594
Fixes #496
Fixes #517
#584 broke main for torch with older versions, e.g. torch==2.2.0. There have been similar attempts at #501 and #560
The main difference is to create a wrapper around the decorator that passes the new kwarg if necessary and changes the import depending on what torch version we have (based on if amp has custom_(fwd|bwd)). I moved it to the utils folder, open to change the structure.
P.S. Verified the fix with torch=2.2.0 (older version who doesn't have custom_(fwd|bwd) in amp) and torch=2.5.0 (newer version who does have custom_(fwd|bwd) in amp).

If possible, it would be good to maintain backwards compatibility with the last two versions of PyTorch. It would like to see this PR. land.

In older version, this expression is allowed: @custom_fwd(cast_inputs=torch.float32)
Would it be better to change it to the following?
def custom_amp_decorator(dec: Callable, cuda_amp_deprecated: bool):
    def decorator(*args, **kwargs):
        if cuda_amp_deprecated:
            kwargs["device_type"] = "cuda"
        return dec(*args, **kwargs)
    return decorator

if hasattr(torch.amp, "custom_fwd"): # type: ignore[attr-defined]
    deprecated = True
    from torch.amp import custom_fwd, custom_bwd # type: ignore[attr-defined]
else:
    deprecated = False
    from torch.cuda.amp import custom_fwd, custom_bwd

custom_fwd = custom_amp_decorator(custom_fwd, deprecated)
custom_bwd = custom_amp_decorator(custom_bwd, deprecated)


Incorrect value being passed on method

Issue Type

[X] Bug
[ ] Enhancement / Feature request
[ ] Question
[ ] Documentation

Description
While Implementing the Interface InstallationService,  I observed that the method
Bot findBot(String enterpriseId, String teamId)
was getting incorrect value for teamId.  teamId actually had the value for enterprise_id
when an event API for message.im came.
I figured out that in EventRequest.java, line 35, the following code is causing the problem
if (enterpriseId != null) {
   this.getContext().setTeamId(enterpriseId.getAsString());
 }

The issue is reproducible in:

Module Version: 1.0.0-M3-SNAPSHOT
JDK Version: 1.8.0_231

The steps to reproduce are:

Subscribe to message.im
Create a distributed app
Send a direct message to the Chat bot

The expected result is:
context.teamId and contest.enterpriseId to contain teamId and enterpriseId respectively
The actual result is:
both context.teamId and contest.enterpriseId have enterprise_id as their values.

Requirements (place an x in each of the [ ])
TODO:

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

@gaurav2493 Hello, thank you for pointing out this issue! Oops, this is a bit silly mistake... I'll check all the other classes again. 🙇

I've reviewed all the setter calls and didn't see similar bugs so far.

Closed by #379, thanks!


Add module: trim trailing empty lines

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
https://stackoverflow.com/questions/7495932/how-can-i-trim-blank-lines-at-the-end-of-file-in-vim
Description
There is mini.trailspace handling trailing spaces.
I hope to add another module that can handling (e.g., trimming) the trailing empty lines.

Oh, nice suggestion. Thanks!
My initial reaction is that it might be a fit for 'mini.trailspace'. All those lines do make a space, right? :)
I'll think about it.

Totally agree. It will be good to just extend the trailspace to support trailing empty lines!


Google chrome warning

Today i sew such warning from the chrome, in console:
[Deprecation] Percentages row tracks and gutters for indefinite height grid containers will be resolved against the intrinsic height instead of being treated as auto and zero respectively. This change will happen in M70, around October 2018. See https://www.chromestatus.com/feature/6708326821789696 for more details.
Which point to file:
v-tooltip.esm.js?54de:188
v-tooltip version in package.json:   "v-tooltip": "^2.0.0-rc.33",

I can't reproduce.


File storage for user uploads

File storage for images, svgs, and other user uploads
The Medulla frontend editor needs static file storage which can save images, svgs and other user uploads, and be able to retrieve all those resources with a link which gets served over the appropriate mime Content-Type request header when requested.

Hi @AndrewBabbitt97 ,
Where i have to save images ?

There is any path ?

@aijazsmartdata needs to be configurable from appsettings.json

It will be saved into a kubernetes volume/path. So just to disk


CPU version？

Hi:
Do you support running only on CPU? I don't have GPU on my laptop. How should I port GPU version to CPU version? Thanks.
Regards,
Qifeng.

Hi Qifeng,
This solver is written only for a GPU.
Concerning a port to a CPU version, I would suggest searching online for general methods to convert from GPU to CPU. The solver uses multiple parallel threads, and it is possible to convert to running multiple threads on CPU, although this would be much slower.


Fix PUSHDATA op's

Encoding a script pushdata is currently done every time it needs to happen, which leaves room for error. Replacing all this with a general function, so now the library should also be using the lowest minimal pushdata op.

https://github.com/Bit-Wasp/bitcoin-lib-php/issues/55


ID UI Does Not Change Experience after First Login

Expected behavior:
Character Creation should be final
Actual behavior/symptoms
By Navigating to the ID UI the user is able to "retcon" their character creation choices, including powersets and character name.
Steps to reproduce behavior/symptoms
-Create a character (actual choices are irrelevant)
-Navigate to ID (Menu -> ID)
-Observe editable name (It's actually the default selected field)
Note: Modifying the field and logging out does not allow changes to persist.
-Select "Back"
-Observe ability to select new choices.
Note: Pressing "Back" repeatedly has all kinds of issues that I don't think are worth reporting (as the behavior shouldn't be possible in the first place).
SEGS version
0.4.2
Operating system
Windows 10 Pro
C++ compiler and version
N/A (downloaded pre compiled)

Hello GitSomeTab!
Thank you for submitting this issue. This is obviously undesired behavior.
I've been unable to replicate it on the current build 71ac841, so it's possible that this has been fixed since our release exe was made. That said, I'll keep testing and will post my feedback.
If anyone else can replicate this, please post your build version, and operating system. Thank you!
-brox
SEGS version
build 71ac841
Operating System & C++ compiler version
Qt 5.9.4 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 7.3.1 20180130 (Red Hat 7.3.1-2)) on "xcb"
OS: Fedora 27 (Workstation Edition) [linux version 4.15.13-300.fc27.x86_64]

I suggest we close this one; I was finally able to get up to date with master and I can see that it's been fixed.


Polymer.create() - binding issues

I have a fairly large single page app, and consequently only render elements to the DOM if the user navigates to them.
I'm using Polymer.create() to achieve this, however I'm having issues setting up bindings using this method. Here is a jsbin demonstrating the approach and issue.
At the moment the only workaround I have is to set up observers in the parent element and explicitly set the values in the child elements, which is quite clunky.
Am I missing something, or is it only possible to bind correctly by rendering everything into the DOM at the same time? If that is the case, is it possible to add support for this in Polymer.create()?

You are essentially data-binding imperatively, which unfortunately is not currently supported in Polymer 1.0.
Quoting @kevinpschaaf ,

No, we don't currently support this, outside of dom-bind, which is the only template implementation that  late-binds instance children. You can document.createElement('template', 'dom-bind'), then you can dynamically append children with binding annotations to its content, and the bindings will only be evaluated once the dom-bind is attached to the document. See tests here that show this usage of it: https://github.com/Polymer/polymer/blob/master/test/unit/dom-bind.html#L95

Note that dom-bind does not currently allow binding to outer scope, so it has limited use in custom element templates (it's main use case is for binding between elements in the main document), and that's not likely to change short-term.

We are achieving a lot of performance optimization by baking the binding connections into the prototype at registration time for an element (rather than at instance time), and we haven't built up enough of the machinery to easily allow runtime addition/removal of bindings.
I did find a workaround that allows imperative bindings but it involves defining a wrapper element through javascript and manually invoking the createdCallback() to force a late registration. I think it's a bit hackish and might be an anti-pattern, so I'll suggest waiting for the project owners to actually release a proper API/pattern for that.
That being said, let me know if you're interested the stop-gap workaround and I'll publish the gist.

@zerodevx - would be great to see the gist - thx!

My workaround, though it does allow creating <my-element data="{{data}}"> through javascript, does not truly create bindings on the fly. My use case might be pretty specific, so your mileage might vary.
In my case, I needed to place an unknown custom element inside a dom-repeat template in my main element. I know exactly how my bindings will be wired beforehand; however, I will only know which element to repeat during runtime.
So the idea is to declaratively bind into an un-upgraded "placeholder" tag, and then imperatively upgrade that tag to act as a proxy between my target (the unknown element) and my main element.
For example,
<dom-module id="main-element">
  <template>
    ...
    <template is="dom-repeat" items="{{myList}}">
      <!-- this tag does nothing for now -->
      <dummy-tag foo$="{{item}}"></dummy-tag>
    </template>
    ...
  </template>
  <script>
    Polymer({
      is: "main-element",
      ...
      upgradeElement: function () {
        // now that I know my target element is called `foo-bar`
        Polymer.importHref("foo-bar.html", function () {
          tplstr = '<foo-bar myData="{{foo}}"></foo-bar>';
          proto = {
            is: "dummy-tag",
            properties: {
              foo: { type: Object, value: function () { return {}; } }
            }
          };
          var dm = document.createElement("dom-module");
          dm.id = "dummy-tag";
          var temp = document.implementation.createHTMLDocument("temp");
          temp.body.innerHTML = tplstr;
          var tpl = document.createElement("template");
          tpl.content.appendChild(temp.body.firstChild);
          dm.appendChild(tpl);
          dm.createdCallback();
          Polymer(proto);
        });
      },
      ...
    });
  </script>
</dom-module>

As you can see, I'm still adhering to what @kevinpschaaf explained - that bindings are set during registration time. I won't recommend this pattern since in most cases (where you absolutely need to data-bind imperatively), it is much more trivial to simply wire up observers to propagate changes to; listeners to receive changes from; the target element that you've imperatively inserted into light DOM.

Our company also has a large (large) single page style app and cannot do without dynamically managing element creation, or else the creation time is simply unacceptable. This is becoming almost impossible without being able to late-bind as part of pushing and pulling elements in and out of the DOM.
I see that https://github.com/Polymer/polymer/issues/1796 has p3 whereas this issue has p2. Could we have some sort of insight as to where in the dev team's sights this functionality actually is, if even in the pipeline?
Being able to spread creation overhead smartly across the lifetime of the app is arguably a must when apps become large-scale (like, larger than the PSK :grin:).

I don't think the observer propagation approach is acceptably efficient when you want two way binding.

@WoodyWoodsta FWIW I solved this problem with a combination of iron-pages with dom-if. The dom-if also checks the route with a computed binding. This way, the elements are only created when the route/page matches. Maybe this would be a feasible solution?

@TimvdLippe We have that tactic employed for page level creation, and in fact have not come across the need to bind across the dom-if yet, so can't comment on that.
Within some of the pages, there are elements with local DOM that is populated with a varying type of content depending on the context, sort-of like a contextual UI builder. The builders create the resultant DOM by matching context against a json template config, and then use a bunch of this.create() and Polymer.dom().appendChild() calls to build the tree. We need binding on the newly created elements, within the builder's DOM (binding to outside of the builder could be done through the builder element itself).

This is like a nightmare... i really love polymer... and this was the last test i was about to do before starting using it in a new app. Pollymer will be useless for big apps without this.

I've implemented a generic workaround that updates template on element's registration. See https://github.com/firmfirm/f-di, it may help some of you.

Can you take a look at #3456 (and its related PR #3460) and perhaps comment if that would fix your issue.

Starting to loose hope in the Polymer project. So many months passed and javascript binding is still not implemented !

I hope this code useful: https://github.com/Polymer/polymer/issues/1778#issuecomment-240698278

/sub

Closing per https://github.com/Polymer/polymer/pull/3460#issuecomment-320333064 Runtime databinding API shipped in Polymer 2.


Number objects vs. numbers

Platform: Web JS, imported from<EMAIL_ADDRESS>When reading NBT data, integers and bytes are expressed as Number() objects instead of numbers. These can only be created with the new Number() constructor and have the following drawbacks:

new Number(2) === 2 is false
typeof new Number(2) is object
Console debugging is a bit more awkward as they take up more space.

Is this decision intentional? I know this is true for integers and bytes, but I haven't tested other number types.
Thank you for your time and such a useful library!

General answer
At least for the meantime, this is intentional yes.
Since JavaScript only has a single number primitive type, NBTify needed a way to distinguish what method a given numerical value is intended to be managed in terms of the NBT typings.
Since JavaScript's number type is equivalent to that of a double type in Java, programs would have to assume the type of what a given NBT key-value is, depending on the current state of that value in the file, which seems unsafe/lossy to me.
Deeper dive
Say we look at Java Edition's world save format for example, the level.dat file.

The key DataVersion is expected to hold a value of type int, which allows numbers in a range from -2147483648 to<PHONE_NUMBER>.

The key DayTime is expected to hold a value of type long, which allows numbers in a range from -9223372036854775808 to<PHONE_NUMBER>854775807, which is much larger.

The keys Difficulty and DifficultyLocked however, are expected to hold a value of type byte, which allows numbers in a range from -128 to 127, which is significantly smaller.

Number type persistence
If each of these values were to be read into JavaScript-land as plain number types, this range information would be lost, and would either have to be handled in the writing stage by the user manually (which makes the API harder to use since they would have to do this transformation manually for every file that has non-double number types), or things would be re-written again to the file, with completely different number scales.
The base issue is that JavaScript doesn't provide enough primitive number types that will losslessly persist this intended type information down to the NBT object tree, where everything is represented in JavaScript-land. Ideally, JavaScript could have something like byte, short, int, and float types to fix this for us, but right now that isn't something planned, or available to us. Thankfully, we do have the bigint type though, which is plenty enough to hold values for the long type that we need to represent.
I also don't really like the usage of needing to interact with these Number objects as objects themselves, but I would rather have to deal with that on it's own, than lose precision, when reading and overwriting an NBT file back again:
import { read, write, type NBTData } from "nbtify";
import { Buffer } from "node:buffer";

// Your NBT file from the file system, network, etc.
declare const input: Uint8Array;

// NBT object tree
const nbt: NBTData = await read(input);

// Re-compiled NBT file
const output: Uint8Array = await write(nbt);

// Should return with `0`, as the bytes for these files should ideally be identical.
const identical: -1 | 0 | 1 = Buffer.compare(input, output);

Alternate solution: Type inference by value range
One alternate take could be that inferences can be made by the current state of the value, and you could decide the primitives to use, on the fly when writing them back to the file. I really like the premise of this, and I se where it is coming from. However, this has an edgecase that makes things unsafe when a value in one of the larger value-sized types currently holds a small value, which makes the inference inaccurate depending on the current value.
For the level.dat example above, the Difficulty value (byte) could hold a value of 0 if the game is in Peaceful. With the typings inference model, inferring the type of 0 means it would safely resolve to the smallest type, being byte this time around. For this case, it happens to be the correct inference.
However for the DataVersion value (int), it may also initially hold a value of 0. So when inferring the type from that, it would also be inferred as a byte type. This changes how the value will be serialized, and the resulting file will no longer be synonymous with the input file, because the current state of DataVersion is now stored using less bytes than it was to begin with. The value is persisted, but how it is stored has changed.
This comes back to the part about possible user-interaction. If the types of the NBT file can be pre-documented to a schema of sorts, maybe this could be handled by that, and corrected when writing the file. However, this would mean that every NBT file would potentially need type documentation to write it back symmetrically. This seems too far-fetched to me. Anyone can write an NBT file, so not all files can possibly have documentation.
Objects are hard to use
Yeah I agree, I don't like this part of it either. I wish we wouldn't have to unwrap these primitives with things like myValue.valueOf() to get the plain number out of it again. If there is some other way of making this work, while ensuring the types can be preserved, I would love to know!
If anything, I have been wanting to see if there's a way to still use ES6 classes, and also allow for the syntax like Int8(), Int32(), compared to requiring the use of new Int8(), and new Int32().
import { Int8 } from "nbtify";

// Current
const byte0 = new Int8(25);

// Potential option, easier!
// More like `Number()` and `BigInt()` too!
const byte1 = Int8(80);

Sorry this was so long, I haven't really documented this concept outright in the repo anywhere yet, so I thought I would cover all of the bases while it was relevant in the discussion.
Thanks for mentioning this!

Thank you for such a detailed response! I think the current system deals with JavaScript's shortcomings in the best way possible across all uses.

If each of these values were to be read into JavaScript-land as plain number types, this range information would be lost

I didn't quite understand this bit - is precision stored in these Number objects? When I use it in the browser there isn't anything else in the Number object but the number itself - like this:

The usage of the Number object itself isn't any different, no. It's how NBTify detects what kind of number it is, once it encounters it though, as each number class has it's own prototype inheritance (it is it's own extension of Number).

So if the number object value you pass in is an instance of NBTify's Int32 class for example, then we know that it should be serialized with NBT's TAG_Int type.
I did just notice though, now I think I see the confusion around the number types when you're using NBTify. From the CDN build of the package (or maybe it's just Firefox's developer tools), the names of the classes' names appear to be removed, either with the minification from the CDN build, or because of the dev tools.

Thank you for this! In Chrome, it works slightly better:

The a, i and o are the class names after being mangled by the minification process. It looks like it's something on jsDelivr's end then.
It makes much more sense with different classes extending Number there, just a shame that this is lost in the debugging process.
Again, thank you so much for your dedication towards helping me with this, you've been really helpful. Cheers!

I think I realized a possible way to make this work a bit nicer, at least from the TypeScript side of things. I can possibly expose the typings of these primitives simply as a branded type, rather than an explicit Number, so it can instead just look more similar to that of a number. This could be deceiving though, so maybe it wouldn't be completely straightforward to users.
Once I get a working demo of this setup I can link it here for an example.

Ok, I've merged a working version of this into the main branch, going to work with it for a bit to see if it has any issues with existing type usages. It should work nicely though! We'll see.


Upgrade to an ALB for staging and prod

Hey @cavis can you schedule some time to do one of these with gigi or sandi - let's spread the AWS knowledge!


Utility Additions 1.19

I messed up the previous pull request #3  apologies. Opened a new one
The following includes utility additions, including...

Easier Packet creation and storage
Async + Scheduled tasks with success and fail conditions
Ability to find the UUID of a player from there player name
Simple Tickable Timer

Packet stuff
Creating a packet
public class ExamplePacket extends C2SPacket {

    private Identifier EXAMPLE_PACKET_ID = new Identifier("test_packet_id");
    private int intValue;

    public ExamplePacket() {} // Default constructor, used for registering the packet

    public ExamplePacket(int intValue, UUID uuidValue) { // Main constructor
        this.intValue = intValue;
    }

    @Override
    public void write(PacketByteBuf buf) {
        buf.writeInt(intValue);
    }

    @Override
    public void read(PacketByteBuf buf) {
        intValue = buf.readInt();
    }

    @Override
    public Identifier getId() {
        return EXAMPLE_PACKET_ID;
    }

    @Override
    void execute(MinecraftServer server, ServerPlayerEntity player, ServerPlayNetworkHandler handler, PacketByteBuf buf, PacketSender responseSender) {
        // Packet is received, do stuff..
    }
}

Registering the packet
C2SPacket.register(EXAMPLE_PACKET_ID, new ExamplePacket());

Sending the packet
new ExamplePacket(exampleInt).send()

Async / Scheduled Task stuff
Creating a task
In this example I create and schedule an async task that executes after 20 seconds. The first lambda is what happens if this is successful, the 2nd lambda is fired only if I decide to cancel the task early.
var taskScheduler = Executors.newSingleThreadScheduledExecutor();
int testVariable = 1;

var testTask = new ScheduledTask(new Identifier("test_task"), 20, TimeUnit.SECONDS,
                    () -> server.execute(() -> successTask(testVariable)),
                    () -> server.execute(() -> failTask(testVariable))
);
testTask.schedule(taskScheduler);

Task storage and cancellation
If you want to store a task to later retrieve and query or cancel you can do. You can also associate this task with a specific player if I want to make things easier on a server.
boolean isSuccessful = Tasks.store(testTask, player);

If a task already exists and is active with the same ID it will fail to store it. You can remove and retrieve a task by doing...
AbstractTask task = Tasks.remove(testTask, player);
task.cancel(false)

Created a new branch because I messed this one up lol

LGTM, @Azazelthedemonlord ?


[Question] What exactly does it randomize?

title

Just enemies.

Only normal enemies or also bosses?
So could there be super dimentio at the start and a goomba instead of super dimentio?

Anything you choose in the preset, including bosses.
Mind that some bosses like to crash, though.

Is it theoretically possible to implement enemy health and enemy spawn randomization?
And also,would warp point randomization be possibe to implement?
And what is with item randomization?

Of course it's possible, but outside of the scope of this, and I myself wouldn't know how to do it.


win11 got bluescreen by tabnine-vscode

please complete the following information:

OS version: [e.g. Win 11]
Editor version [1.80.0]:
Programming language: [python]
TabNine extension version:

gz#24957(related to Zendesk ticket #24957)

@charryong
Please send us the log files (devtools +engine).
See here:
https://support.tabnine.com/hc/en-us/articles/5283127765265-Getting-Tabnine-Logs-on-VSCode
how to do that.
Tabnine Support.

Also, please try this

tabnine_rCURRENT.zip

@charryong hi,
Please share the following:

How did you discover that Tabnine caused the bluescreen - please share your evidence.
Your VSCode logs: use the Developer: Open Logs Folder command.
Your VSCode console output: use the Developer: Toggle Developer Tools command, and share the console output from there.

Kind regards,
Yoni

070523-11109-01.zip
The file is sent to microsoft,their answer the bluescreen is caused by the tabnine.

tabnine_rCURRENT.zip

This file is I try it again following your answer in a python file,the bluescreen got again.They suggested me to unistall the tabnine.

This was ok.

Did Microsoft mention which process caused the blue screen specifically?
Let's check if it caused by the deep local process:
Please open your config file (Hub -> Settings -> Config file path) and set:
"deep_completions_work_mode": "CloudOnly",
"local_enabled": "No"
Then kill all Tabnine processes - TabNine, TabNine-deep-local TabNine-deep-cloud WD-TabNine, and restart your IDE.
Lmk if that helped

no, not said more details. where is the config file?

https://support.tabnine.com/hc/en-us/articles/5232194870673-Config-file-location

now is the Hybrid,turn it to the Cloud?

yes 👍🏻

no bulescreen,but didt not worked.

Can you send the binary logs from this session?
Also, please close the IDE, kill all Tabnine processes, delete c:\Users\cylot\AppData\Roaming\Code\User\globalStorage\tabnine.tabnine-vscode\binaries and restart - looks like you experienced a corrupted state.

tabnine_rCURRENT.zip

I see that you're using an unofficial Tabnine plugin: https://marketplace.visualstudio.com/items?itemName=svipas.code-autocomplete
Please uninstall it and install the official plugin: https://marketplace.visualstudio.com/items?itemName=TabNine.tabnine-vscode


Update to work with bevy main (and eventually 0.8)

This needs a more thorough review. But it looks like the examples are working, and it's working in at least one of my projects.

This is broken as bevy#4402 landed

Just messed with it a bit and it seems like this will require a bit of a more significant re-work now as the extract systems currently require mutable access to resources in the main world.

Yes and use immutable Res with clone could make the examples run, but with only a black screen code I didn't have the time to dig in

@zimond I tried using the clone with egui_render_output in the extract instead of take and it looks like it's working for me. I would assume the clone here is less efficient than take, but I'm not sure if it's enough slower to matter.

I think some clones won't hurt the perf that much

Hi! Thank you for the PR! I think cloning is fine for now. Maybe, if we see an issue with performance, we might want to wrap it into a Mutex, if copying a lot of bytes around will become more expensive than dealing with locking.
I've also pushed a small commit to refactor the example, to make the error of initialization more visible (it panic now if we forget to initialize the camera properly, instead of making it silent) and fix the linters.

Closing a window on this branch emits panic:
let extracted_window = &world.get_resource::<ExtractedWindows>().unwrap().windows[&self.window_id];

thread 'main' panicked at 'no entry found for key' egui_node.rs:328:14

Hmm, I tried this
        let extracted_windows = &world.get_resource::<ExtractedWindows>().unwrap().windows;

        let extracted_window =
            if let Some(extracted_window) = extracted_windows.get(&self.window_id) {
                extracted_window
            } else {
                return Ok(());
            };

But now when I close the window the app continues to run with the window closed and says:
2022-07-18T16:59:55.466789Z  INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)
2022-07-18T16:59:55.467187Z  INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)
2022-07-18T16:59:55.470299Z  INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)

Any chance that this is an issue on the Bevy's end? Not really sure what can cause this in bevy_egui itself.
I haven't got a chance to look into it myself, but does it happen with every example? Or is it specific to the multiple windows example?
If it happens in every example, I'd suggest to try to reproduce it in a clean Bevy project. And if it reproduces there without bevy_egui, we need to file an issue in their repo.

@mvlabat It appears that it is indeed an issue with bevy: https://github.com/bevyengine/bevy/issues/5384

Is this issue blocking this PR or has it been fixed?

Definitely not a blocker for us. I don't know if it has been fixed in Bevy's main, but we'll merge this PR regardless once 0.8 is released

Bevy 0.8's now out - I've just built this fork with it (opened a PR for it here https://github.com/DGriffin91/bevy_egui/pull/2) and everything seems to work fine 👍

Thank you for your help with the update! I'll release it soon


LICENSE file spelled LICENCE

I believe it is convention, and it appears to be required by the JOSS review checklist, that the software license be stored in a file called "LICENSE" rather than the British spelling "LICENCE"; however, I do not know if this really matters in practice.

I renamed the file.