Installer of Fybrik env

Simple script to install all needed pre-req components for running Fybrik.
What modules to include?
Allow user to choose the modules, but include 2 default modules (ArrowFlight, AirByte)

[ ] Add another script to cleanup the installation

Estimated end date for option 1 and 2 (with samples) - Sun 24/07

Decided to write 2 installers (on local stack):

Installs till module level w/o samples - This enables the user to test his own module
The user can decide on ArrowFlight module or Airbyte module
installs all including ArrowFlight Read and write sample (from quick start)

Assumption: The user does not have
The script installs helm. kind, K8s if it is not installed (What version?) in a separate lib (not to harm the global installation).

the samples do not need K8s, just kubectl and I don't think we need to install the dependencies. We can check that they are exsist and if not, return an error message.

and maybe an additional option - to use a real K8s cluster instead of kind

Yea, we meant only for kubectl to be installed.
I'll add an option for existing cluster, how and where do you suggest to test it?

let's talk about it later


Caught an unhandled exception.

Any insights on the reason of this error? it happened while rebuilding the cluster database.
http.client.CannotSendRequest: Request-sent
Reconnecting and retrying...(1/10)
Caught an unhandled exception. See stacktrace:
ERROR:root:Request-sent
Traceback (most recent call last):
  File "/root/bitcluster/crawler/base_crawler.py", line 37, in crawl_block
    block_hash = self.proxy.getblockhash(block_id)
  File "/usr/local/lib/python3.5/dist-packages/bitcoin/rpc.py", line 429, in getblockhash
    return lx(self._call('getblockhash', height))
  File "/usr/local/lib/python3.5/dist-packages/bitcoin/rpc.py", line 199, in _call
    'Content-type': 'application/json'})
  File "/usr/lib/python3.5/http/client.py", line 1106, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.5/http/client.py", line 1141, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib/python3.5/http/client.py", line 974, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent
Reconnecting and retrying...(1/10)

It seem to be related to issue 9 and issue 13.


Enum used as object key is not exported in declaration

TypeScript Version:  3.8.0-dev.20191125 (@next), but was present in 3.4 already
Search Terms:

typescript ts4023
Exported variable has or is using name from external module but cannot be named
typescript enum declaration

Code
Selectors.ts
import {State} from './Store';
export const pageUiSelector = (state: State) => state.ui;

Store.ts
export enum Pages {
  dashboard = 'dashboard',
}
export interface State {
  ui: {
    [Pages.dashboard]: {
      selectedRow: number | null;
    };
  };
}

tsconfig.json
{
  "compilerOptions": {
    "baseUrl": ".",
    "declaration": true,
    "module": "commonjs",
    "rootDir": ".",
    "strict": true,
    "target": "es2017"
  }
}

Expected behavior:
No error.
Actual behavior:
This error is thrown:

Selectors.ts:2:14 - error TS4023: Exported variable 'pageUiSelector' has or is using name 'Pages' from external module "xxx/Store" but cannot be named.

Details:
This error only occurs when exporting the given selector and when using --declaration. The probable cause is that the enum values used as object key is not properly detected and added to the exported files.
If the enum is not used as object key, but as object value, the error does not occur.
If the content of Store.ts is moved to Selectors.ts, the error does not occur.
This code works as expected in the ts-loader via webpack, however tsc and PhpStorm report this as error.

The cause is that the type serializer can’t figure out what to write for the return type of pageUiSelector’s function signature, presumably because an inline import type isn’t valid in a property key position:

I’m not sure if there’s a reason we can’t fall back to using an indexed access type, State["ui"]. Also, it seems like if you had imported Pages into Selectors.ts, we should be able to write the type since the import type wouldn’t be necessary, but you still get the same error. I think that’s a bug, not 100% sure whether your exact repro is or not. @weswigham thoughts?
Anyway, the cleanest workaround is to give State["ui"] its own named exported type:
export enum Pages {
  dashboard = 'dashboard',
}

export interface UIState {
  [Pages.dashboard]: {
    selectedRow: number | null;
  };
}

export interface State {
  ui: UIState;
}

Hurrrr - it's because we allow A.B.C (an entity name) in a computed name position, and we compute import("a").B.C as a kind of extended entity name, but that kind isn't allowed as a computed property name (because computed names are a strange intersection of type expressions and value expressions).
To fix, on our part, we should either

Issue an error that Pages is inaccessible and request an explicit return type (this is inline with current logic and is most idiomatic), or
Add import {Pages} from "./Store" to the declaration file ourselves, and write as Pages.dashboard (which we've talked about as being a desirable direction for declaration emit in the past), or
Retain knowledge that state.ui is an alias to State["ui"] and write out like that (which would necessitate recording kinds of "aliasing types" (versus the alias symbols we track today) like I've implemented in the past)

@hcomnetworkers As a workaround, add an import to Pages in-scope, and we should use that in declaration emit, rather than the inline import type, or explicitly annotate the return type of the lambda function.

@weswigham sorry, I think my comment misled you. The screenshot I posted is something I wrote for the purpose of illustrating that import types aren‘t valid property key types. That didn’t come from the declaration emit.

Issue an error that Pages is inaccessible and request an explicit return type

This is what’s happening today. I was unsure if it’s a bug.

As a workaround, add an import to Pages in-scope, and we should use that in declaration emit

This is not a functioning workaround, which I did think is a bug:


How to control bl616 boot/en from dtr and rts

It seems the cube software drives the dtr and rts signals of the uart while flashing in order to enable the bootloader. How are rts and dtr to be used to drive boot and en to allow flashing the bl616 without the need to press these buttons manually?
It seems the bl616 development board supports this. Are the schematics of that board available somewhere?

This is from BL602, so modify Boot IO pin accordingly. Although. this mechanism have flaws (note that Linux and Windows changes states of DTR / RTS when opened).

Have you actually tried that?
The cube software drives rts and dtr both low during the flash programming itself. The variant you showed would keep the cpu in reset during that which obviously won't work.
I have actually tried all kinds of variants incl. this and none worked.

I use this on BL602 devices, and it works.

Under Windows or Linux?

One interesting fact is that the Ai-M62-12F-Kit includes something like that. But it's not populated on the boards I own. I was expecting some logic similar to the one found on ESP32 boards.

Should work both on Windows and Linux.
Ai M62-12F-Kit contains the ordinary ESP32 circuit, but as you mentioned, it is not populated.
But from what I remember, I had mounted Reset resistors, but not BOOT_PIN.
Sorry for vague answers, don't have boards and stuff at hand right now, but if you couldn't figure out, I can check for you.

I should perhaps give some more context. I am using this with the M0S Dock. This has a BOOT button but no Reset button and thus needs to be power-cycled to go into boot mode. So far I have connected these to a CP2102 UART with DTR connected via a capacitor to EN. That way the falling edge of DTR gives a short negative pulse and resets the device. So a download now only involves to press the BOOT button and start the download software. This will open the port, raise DTR, the first attempt so sync will fail, the connection is closed, the DTR deasserted. This triggers a reset and since BOOT is pressed the device goes into bootloader. The software will retry, find the device in bootloader, and the download works. So far so good. The only downside is that I still need to manually press the BOOT button to pull the BOOT pin high. I was unable to achieve this with DTR and/or RTS.
Then it occurred to me that I can use another M0S instead of a CP2102. This gives me full control over BOOT and EN. And since I can debug the M0S itself, I can make it log the RTS/DTR states the software tries to use.
      idle     terminal runs      idle
            ______          ___
DTR   _____/                   \______
               ______          ___
RTS   ________/                   \___

Both, DTR and RTS are low when the port is closed and high
when the terminal runs.
The cube software does this:
      idle                               sync attempt   idle
            ____
DTR   _____/    \___________________________________________
               ___     ___        ___
RTS   ________/   \___/   \_...__/   \______________________

So both, DTR and RTS return to 0 and then RTS pulses for five times
before the software, send 300 0x55 bytes at 500kbit/s to initiate the
communication. This is retried max four times.
If that's successful, it closes the connection and reopens it
regularly at the requested baud rate.
And now I am trying to make the m0s detect this and do the whole
reset/boot magic for the second m0s it's meant to download.
I can of course do some more magic. I e.g. know that only
the cube programmer will set the baud rate for 500kBit/s and that
afterward, the port is opened a second time for programming. I could
use these baud rate changes to control en/boot and completely ignore
DTR and RTS.
I could then also add a second "magic" baud rate that simply resets
the target without entering bootloader. Actually the Arduino Leonardo
does this. When the link is opened at 1200 bit/s then it enters boot
loader. This is the magic you can do when you have full
control over the USB uart port.

I use this on BL602 devices, and it works.

I think I understand how this works for you. It works for download only, correct?
If you open a regular terminal program to e.g. see console or debug output then your solution will imho by default (without explicitly caring for dtr and rts) put the device into reset while the terminal is open. Is this the case?
I'd like to add some more logic that will allow to use regular terminal software without special care.

I think I understand how this works for you. It works for download only, correct?

Exactly correct. The Linux terminal behavior will put the chip into reset. Bouffalo Lab DevCube will pull RTS down, when you open terminal because of this. This is why I said in my first comment that it is flawed :sweat: (Espressif find out clever way how re-use RTS and DTR in manner, that serial convertor still can toggle flash mode, but also the chip works just fine with or without the terminal on, sadly, the circuit can be bit more complex as level signals on Bouffalo chips are different)
I used Ai-Thinker module for some of my stuff, and I solved it by this simple python UART viewer:
import time

import serial
import sys
import os
import threading

def read_serial(serial_port):
    while True:
        try:
            data = serial_port.read(2048).decode('utf-8', errors='ignore')
            if data:
                sys.stdout.write(data)
                sys.stdout.flush()
        except Exception as e:
            print(f"Error reading from serial port: {e}")
            break

def write_serial(serial_port):
    while True:
        try:
            data = sys.stdin.read(1)
            serial_port.write(data.encode('utf-8'))
        except Exception as e:
            print(f"Error writing to serial port: {e}")
            break

if len(sys.argv) != 2:
    print("Usage: python serial_pipe.py <serial_port_path>")
    sys.exit(1)

serial_port_path = sys.argv[1]

try:
    serial_port = serial.Serial(serial_port_path, baudrate=2000000, timeout=0.01)
    serial_port.setRTS(False)  # Set RTS to low

    # Create two threads for reading from and writing to the serial port
    read_thread = threading.Thread(target=read_serial, args=(serial_port,))
    write_thread = threading.Thread(target=write_serial, args=(serial_port,))

    read_thread.start()
    write_thread.start()

    read_thread.join()
    write_thread.join()

except serial.SerialException as e:
    print(f"Error opening the serial port: {e}")
except KeyboardInterrupt:
    pass
finally:
    if serial_port:
        serial_port.close()

I am now using a Sipeed M0S Dock as a bl616 debugger (actually for a second M0S dock). There's a little logic included to the control over EN and BOOT, so that the upload is fully automatic and any regular terminal software is still usable:
https://github.com/harbaum/MiSTeryNano/tree/main/bl616/m0s_debugger
This basically detects the pattern the flash cube software uses to switch into bootloader mode. It then monitors for UART activity and once there's at least one second of silence it assumes the flash has succeeded and returns the device into normal operation.

I am now convincing Sipeed to expose the BOOT and EN signals on the M0S like they already do with the serial RX and TX. This will reduce the level of soldering skills required to do this.


Data gen errors: gym.error.UnregisteredEnv: No registered env with id: ColorChangingRL-5-5-static-10-v0

I am trying to reproduce the code and start by generating chemical env data, however, when I run bash scripts/chem_data.sh 5 5 chain5 10 static in the root dir, it returns error like:
INFO: Making new env: ColorChangingRL-5-5-static-10-v0
Traceback (most recent call last):
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 121, in spec
    return self.env_specs[id]
KeyError: 'ColorChangingRL-5-5-static-10-v0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "data_gen/env.py", line 196, in <module>
    main()
  File "data_gen/env.py", line 177, in main
    with gym.make(args.env_id) as env:
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 145, in make
    return registry.make(id, **kwargs)
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 89, in make
    spec = self.spec(path)
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 131, in spec
    raise error.UnregisteredEnv('No registered env with id: {}'.format(id))
gym.error.UnregisteredEnv: No registered env with id: ColorChangingRL-5-5-static-10-v0
INFO: Making new env: ColorChangingRL-5-5-static-10-v0
Traceback (most recent call last):
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 121, in spec
    return self.env_specs[id]
KeyError: 'ColorChangingRL-5-5-static-10-v0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "data_gen/env.py", line 196, in <module>
    main()
  File "data_gen/env.py", line 177, in main
    with gym.make(args.env_id) as env:
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 145, in make
    return registry.make(id, **kwargs)
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 89, in make
    spec = self.spec(path)
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 131, in spec
    raise error.UnregisteredEnv('No registered env with id: {}'.format(id))
gym.error.UnregisteredEnv: No registered env with id: ColorChangingRL-5-5-static-10-v0
INFO: Making new env: ColorChangingRL-5-5-static-10-v0
Traceback (most recent call last):
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 121, in spec
    return self.env_specs[id]
KeyError: 'ColorChangingRL-5-5-static-10-v0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "data_gen/env.py", line 196, in <module>
    main()
  File "data_gen/env.py", line 177, in main
    with gym.make(args.env_id) as env:
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 145, in make
    return registry.make(id, **kwargs)
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 89, in make
    spec = self.spec(path)
  File "/home/user/anaconda3/envs/cmbrl/lib/python3.7/site-packages/gym/envs/registration.py", line 131, in spec
    raise error.UnregisteredEnv('No registered env with id: {}'.format(id))
gym.error.UnregisteredEnv: No registered env with id: ColorChangingRL-5-5-static-10-v0

Any suggestion how to solve this error?

Could you change static->Static i.e. bash scripts/chem_data.sh 5 5 chain5 10 Static


[ cb ] Remove penalties from Greedy config

looks like reference for some tests is affected
please, have a look at failed tests


Created new module that demonstrates advanced floating windows in use

This pull request is meant to accompany pull request #44 in the main xmonad repo.
I created a new folder called Float which contains a single module SimplestFloatDec which provides advanced floating decoration support like dragging, and resizing without mod keys. I created a new folder rather than use the existing Layouts folder to avoid confusion with existing float decoration layouts which provide fundamentally different functionality.

The main problem I have with this is that the Decoration module is a
cesspool that causes lots of problems when used: in particular, decorations
lead to quadratic or worse behavior in the StackSet --- not to mention
quadratic behavior when running the Layout itself. It really needs to be
rewritten --- but avoiding the StackSet would mean replacing the
functionality it provides "for free" with messages sent from a logHook or
handleEventHook. (The flip side of that is that some of the Theme color
information is currently irrelevant/ignored, because the StackSet only uses
the colors defined in XConfig.)
On Mon, Jul 18, 2016 at 9:27 PM, NaOHman<EMAIL_ADDRESS>wrote:

This pull request is meant to accompany pull request #44
https://github.com/xmonad/xmonad-contrib/pull/44 in the main xmonad
repo.
I created a new folder called Float which contains a single module
SimplestFloatDec which provides advanced floating decoration support like
dragging, and resizing without mod keys. I created a new folder rather than
use the existing Layouts folder to avoid confusion with existing float
decoration layouts which provide fundamentally different functionality.
You can view, comment on, or merge this pull request online at:
https://github.com/xmonad/xmonad-contrib/pull/67
Commit Summary

Created new module that demonstrates advanced floating windows in use

File Changes

A XMonad/Float/SimplestFloatDec.hs
https://github.com/xmonad/xmonad-contrib/pull/67/files#diff-0 (176)
M xmonad-contrib.cabal
https://github.com/xmonad/xmonad-contrib/pull/67/files#diff-1 (1)

Patch Links:

https://github.com/xmonad/xmonad-contrib/pull/67.patch
https://github.com/xmonad/xmonad-contrib/pull/67.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/xmonad/xmonad-contrib/pull/67, or mute the thread
https://github.com/notifications/unsubscribe-auth/AB8SoF96oM4AuPyv39PTuLiw9hlgaMCBks5qXCgUgaJpZM4JPSsz
.

--
brandon s allbery kf8nh                               sine nomine associates
<EMAIL_ADDRESS><EMAIL_ADDRESS>unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

This module borrows code from the decorations module (mostly theme info and inspiration for drawing windows) but it is not a decoration in the same spirit as the existing decoration modules. It has absolutely no effect the layout at all, rather it modifies the floating layer. Only windows ignored by the layout will be effected by this module so I believe your worries about quadratic behaviour may not apply to this situation.
The reason why the build is failing is that this module is dependent on changes that I submitted to the xmonad repository.  I don't think this module should be considered until a decision has been reached on that pull request. My motivation in submitting the pull request now was so that the maintainers of the main repo would have an example module to play with.

This PR is related to xmonad/xmonad#41 which needs refactoring.  Thus, this PR will also need refactoring.

Closing as abandoned.  @NaOHman if you decide to work in this please reopen this PR or submit a new one.


Document deep links for app installation

We support deeplinking to an app, need to document that.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a891841a-a110-d18e-25c1-fc29e7d4a5e3
Version Independent ID: c1a11eb8-00d1-e1d2-1e9d-71d059a6478a
Content: Create deep links - Teams
Content Source: msteams-platform/concepts/deep-links.md
Product: msteams
GitHub Login: @o365devx
Microsoft Alias: o365devx

I want to allow a user to install my bot from my website after they login.  How do I create a deep link they can use to install the bot?  Can I pass some state / info along with the request that the bot can use to know which user / account clicked the link?


provide an interface to validate that pulls in only latest style spec reference

Followup to #48.
Currently validate supports validation of any style version, and thus has to pull in the style reference for all of them. But for gl-js we want to avoid depending on any style spec json other than the current version. That's the reason for https://github.com/mapbox/mapbox-gl-js/blob/master/js/style/reference.js
Not sure how to resolve this.

Does the validator need to support previous versions? It would be great to just `require('mapbox-gl-style-spec/reference/latest') while legacy must migrate.

Another idea might be to cat the spec version require and validation script into separate scripts for each i.e. validate/v7/parsed.js:
var spec = require('mapbox-gl-style-spec/reference/v7');

// validation ...

This seems less ideal though.

Does the validator need to support previous versions?

Yes, for style API reasons, see #44.
I think I figured out a solution with cooperation from mapbox-gl-style-spec, see above commits.


Consider testing complete diagnostic span instead of just start

The purpose of this is preventing regressions on issues like #618.
Currently the test framework does not support this, and we would need it to be relatively straightforward. I'm thinking an interesting possibility would be a .WithSingleTokenSpan() method for DiagnosticResult (expanding on #526).

The more generic .WithSpan(startLine, startColumn, endLine, endColumn) would also be nice for diagnostics covering more than 1 token.


Remove default plugins from plugin directory

[ Changed Summary ]

Remove default plugins ( mysql.go and sqlite3.go ) from plugin directory
Add .gitignore
Fix typo of document
Fix coding style ( it suggested by golint )

LGTM:+1:

THX!


compile error

when i compile， display “无法在 finally 子句体中等待”  in  await _client.Session.Destroy(id).ConfigureAwait(false);

oh  it is framework 4.5.        change 5 is ok

Yes, this does need to be compiled in a version of C# that supports awaiting in finally.


Improve German translation.

Maybe addresses #129 as well.

Coverage remained the same at 85.141% when pulling a19debce22c0bd82101436e9e5f946c644da970a on jnns:german-translation into 0c16c0cbe2156dafa3e3b980ef0b00ef01794d16 on grantmcconnaughey:master.

Coverage increased (+0.06%) to 85.2% when pulling c633335bae304fd22433897603f88e30e2732baf on jnns:german-translation into 0c16c0cbe2156dafa3e3b980ef0b00ef01794d16 on grantmcconnaughey:master.

I don't speak German, so I'll assume these are all just fine. 😄
Could you please fix the formatting issue that is causing the build to break? Also, if you add verbose_name to Avatar then I believe you will have to run makemigrations. So please double check me on that.
Thank you!

Coverage increased (+0.06%) to 85.2% when pulling ec8b05471b1d77eb5e7cdacfb8e1ad63256ea985 on jnns:german-translation into 0c16c0cbe2156dafa3e3b980ef0b00ef01794d16 on grantmcconnaughey:master.

Coverage increased (+0.06%) to 85.2% when pulling 112141a457e475ce43038dbe5ddc963b9a3b29f8 on jnns:german-translation into 0c16c0cbe2156dafa3e3b980ef0b00ef01794d16 on grantmcconnaughey:master.


Issue438 movisens files reading

The object accread was removed and then required again to access to accread$startpage. Now this is fixed (see issue #438).

Codecov Report

Merging #439 (d865d2c) into master (0d96e2b) will increase coverage by 0.00%.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##           master     #439   +/-   ##
=======================================
  Coverage   74.65%   74.66%
=======================================
  Files          83       83
  Lines       10063    10064    +1
=======================================
+ Hits         7513     7514    +1
  Misses       2550     2550

Impacted Files
Coverage Δ

R/g.getmeta.R
70.58% <50.00%> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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


MSYS2 and pacman installation helper

In the case that MSYS2 is required (for gem install , rubydevkit command, etc) we only print a short download advice , currently. The user needs to do the MSYS2 download and proper pacman runs by hand.
Maybe we could:

Start an interactive install process in case MSYS2 is required (while gem install)
Add a startmenu entry that opens an interactive install for MSYS2 and pacman apps.
Add a button on the very last installer page to open an interactive install for MSYS2

I would say that the DevKit and/or the environment setup is the hardest part for almost every new user and is the source of most of the troubleshooting problems. So, the more automation the better, at least in my opinion.
Then I think of Ruby manager tools, rbenv has ruby-build and rvm has autolibs. Since on Windows we are installing a built package then may need an actual build environment afterwards, I think it would be ok to add a vendored gem that would handle setting up a build environment.

MSYS2 installation is now an option at the finish page of the installer. It is also available as rake install. So option 3 of the list above is implemented now.


Hyperlink component

A hyperlink component would be very useful:
https://community.dataminer.services/question/interactive-automation-script-how-to-display-a-clickable-hyperlink/answer/133733/

Available from 9.0.4 onwards.


sails 0.12 docs

is there a docs site for sails 0.12 beta as the for 0.11 beta docs? or a changelog?
thanks for help

@nor-bu not yet, however most usage will be the same.  Would you mind starting a changelog?


Unrecognised option --ingroup

When running the following multi-tenant:setup call, it returns the following error.
sudo php artisan multi-tenant:setup --customer=APPTEST2<EMAIL_ADDRESS>--hostname=apptest2.swoolo.com --webserver=apache
adduser: unrecognized option '--ingroup'

Laravel 5.3.23
Hyn 2.0.0-beta.4

What OS are you using? I highly recommend using tenancy on a bare ubuntu machine.

OS is bare CentOS 7.2

Loading up a bare Ubuntu machine now, will try with that.

--ingroup is part of the code that adds a user to the machine with adduser might be the case that option is not available on centos.

Not going to support Centos, closing.


Windows98SE on Virtualbox 7.0.97 r157070 Guru Meditation (VBoxVGA) with 256MB of VRAM

Hi there,
I've got a Guru Meditation after trying the drivers on the new Virtualbox 7.0.97 r157070 on Fedora 38 x64 using VBoxVGA.
Logs in attachment.
Windows98SE-2023-06-16-23-48-50.log
Reducing the VRAM from 256MB to 64MB makes the driver work, though:

Any chance of getting support for 256MB of VRAM?

As a reference, VBE drivers from here https://bearwindows.zcm.com.au/vbe9x.htm are instead working (at least the 64MB of VRAM version, while the 128MB of VRAM version makes Virtualbox crash too).
Currently, I've allocated 256 MB of VRAM from the Virtualbox settings, so it actually has plenty of VRAM to play with.

I tested the new version v1.2023.0.10.
Unfortunately, with VRAM > 64 MB it still crashes in VirtualBox with VBoxVGA.
Reverting to a maximum of 64MB solves the issue, though, and the system runs smoothly.

Hi, thanks for your report. The developer version of VirtualBox is too new for me. Older version (7.0.8 = r156879) works with 128 MB and even 256 MB (Windows 9x has sometimes problems with cards > 128 MB). Could you please try with different adapter (vmsvga/vboxsvga)? (You may need change host type to Linux or Windows 10 to allow that). I'm also not very wise from the log :-( It looks to read/write somewhere there where is not a memory or I/O space, but driver’s errors are usually catches by guest OS.
BTW: I also added note about VRAM size  to README = If you don't need 5K resolution and larger, the 64 MB is enough.

Well, I updated the driver to the version you just released and I also updated virtualbox to 7.0.97 r158251 and this time although it booted, it froze immediately after logging in (and changing adapter doesn't solve the issue).
Reverting to 64MB fixes the issue with any adapter, though.
I'm not really sure why this is happening nor what was changed from r156879 to r157070 and r158251 to cause this behavior.
They're not gonna be of much use anyway, but I'm gonna attach the logs just as a reference.
Windows98SE-2023-07-14-11-23-16.zip
By the way, adding the 64MB VRAM reference in the documentation will definitely help other people potentially facing the same issue, so you did the right thing adding it there.
We added it too in the Windows98 guide on the Virtualbox Forum along with a reference to your driver. ;)

Thanks, for test and suggestion - I added information to readme here and to SoftGPU readme too (https://github.com/JHRobotics/softgpu#virtualbox-vm-setup-with-hw-acceleration) until I won't be able to replicate and solve issue.
And many thanks to post my project to VirtualBox forum!
PS: looks like you're using 1 GB RAM. Can you please try my driver with 128 MB VRAM and 512 MB or 256 MB RAM? Windows 9x usually have strange problems if memory exceed 512 MB (depends on HW configuration), for me though 1 GB RAM works, but it would still be worth testing.

You're actually correct!
Looks like 1GB of RAM was the culprit.
Virtualbox: 7.0.97 r158251
RAM: 1024 MB
VRAM: 64 MB
Status: Stable
Virtualbox: 7.0.97 r158251
RAM: 1024 MB
VRAM: 128 MB
Status: Unstable (Freeze/Crash)
Virtualbox: 7.0.97 r158251
RAM: 512 MB
VRAM: 128 MB
Status: Stable
Virtualbox: 7.0.97 r158251
RAM: 512 MB
VRAM: 128 MB
Status: Stable
Now, with a simple calculation, we can see that 1024+64=1088 total, which means that in theory 1024-64=960, so the following configuration is supposed to be stable:
Virtualbox: 7.0.97 r158251
RAM: 960 MB
VRAM: 128 MB
Status: Unstable (Freeze/Crash)
but it wasn't

In particular, as soon as the user logs in:

OK, the Problem isn’t how much total memory is critical (that’s why you calculation didn’t work). The Problem is that with lots of RAM, memory management not working correctly (I think that problematic was VCACHE.VXD driver – but I’m not sure) and sometimes it hit something important and with lots of VRAM (which is permanently mapped in system memory = 1 G of 4 G 32bit space total) it’ll hit something important faster.
Fortunately, there is patch by R. Loew, so reduce RAM back to 512 MB, apply this patch. You can use this link, which you can type to IE on Windows 98 directly:
http://files.emulace.cz/patchmem.zip

Extract, run patchmem.exe and after rebooting you should be able to set as much memory as you want. For Windows 9x as every true 32-bit system is maximum about ~3.5 GB.
Alternative to this patch is replacing HIMEM manager and tune cache and swap, VOGONS thread is here: https://www.vogons.org/viewtopic.php?t=48981, but with patch it is simpler and more stable.

Not only it worked and I can use 128MB of VRAM, but I can also use 3.5 GB of RAM as a real 32bit OS.
Never in my wildest dream I thought I was gonna get Win98 to be stable with that much ram!

I've been playing around, readapting an older version of one of my functions for pure fun and so far so good, I mean the system looks really stable!

Very very very nice.
Thank you so much, closing the issue now. Amazing. :)


StrokeAlign center/outside with border radius is not right on the edge

Steps to Reproduce

Execute flutter run on the code sample
Got a visual bug on StrokeAlign center and outside:

From Figma (center/inside/outside):

From Flutter (center/inside/outside):

Expected results:
Should have the same space in edge too. (Like Figma image).
Actual results:
The edge is not right, got the same radius on center and outside, should respect innerRadius + distance = outerRadius

Code sample

Dart Pad => https://dartpad.dev/?id=30780d18f6e5a8077e4c72c2815a91df
// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({
    Key? key,
  }) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Container(
              width: 100,
              height: 50,
              decoration: BoxDecoration(
              borderRadius: BorderRadius.circular(16),
              color: Colors.green,
              border: Border.all(
                      color: Colors.red,
                      width: 6,
                      strokeAlign: StrokeAlign.center,
               ),
            ),
            ),
            const SizedBox(height: 16),
            Container(
                width: 100,
                height: 50,
                decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(16),
                color: Colors.green,
                border: Border.all(
                    color: Colors.red,
                    width: 6,
                    strokeAlign: StrokeAlign.inside,
                 ),
              ),
            ),
            const SizedBox(height: 16),
            Container(
                width: 100,
                height: 50,
                decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(16),
                color: Colors.green,
                border: Border.all(
                    color: Colors.red,
                    width: 6,
                    strokeAlign: StrokeAlign.outside,
                 ),
              ),
            )
          ],
        ),
      ),
    );
  }
}

Logs

➜  flutter doctor -v
[✓] Flutter (Channel stable, 3.3.9, on macOS 12.5.1 21G83 darwin-arm, locale en-FR)
    • Flutter version 3.3.9 on channel stable at /Users/etiennetheodore/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (3 days ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/etiennetheodore/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.52.0

[✓] Connected device (3 available)
    • ONEPLUS A5010 (mobile) • 93d04f75 • android-arm64  • Android 10 (API 29)
    • macOS (desktop)        • macos    • darwin-arm64   • macOS 12.5.1 21G83 darwin-arm
    • Chrome (web)           • chrome   • web-javascript • Google Chrome 107.0.5304.121

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Hello @Kiruel. This issue is fixed in master. The property has been changed from a StrokeAlign to double. The following code is the migrated version. You can test it on the master channel. You can see the new API here

Code Sample
// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({
    Key? key,
  }) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Container(
              width: 100,
              height: 50,
              decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(16),
                color: Colors.green,
                border: Border.all(
                  color: Colors.red,
                  width: 6,
                  strokeAlign: BorderSide.strokeAlignCenter,
                ),
              ),
            ),
            const SizedBox(height: 16),
            Container(
              width: 100,
              height: 50,
              decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(16),
                color: Colors.green,
                border: Border.all(
                  color: Colors.red,
                  width: 6,
                  strokeAlign: BorderSide.strokeAlignInside,
                ),
              ),
            ),
            const SizedBox(height: 16),
            Container(
              width: 100,
              height: 50,
              decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(16),
                color: Colors.green,
                border: Border.all(
                  color: Colors.red,
                  width: 6,
                  strokeAlign: BorderSide.strokeAlignOutside,
                ),
              ),
            )
          ],
        ),
      ),
    );
  }
}

Since this is already fixed, I will close this issue. Thank you.


Compile error in "LMS64CProtocol_remote.cpp"

Compiling LMS64CProtocol_remote.cpp using MSVC, I get a long list of errors related to missing Winsock stuff:
LMS64CProtocol_remote.cpp(30): error C2065: 'WSADATA': undeclared identifier
LMS64CProtocol_remote.cpp(30): error C2146: syntax error: missing ';' before identifier 'wsaData'
LMS64CProtocol_remote.cpp(30): error C2065: 'wsaData': undeclared identifier
LMS64CProtocol_remote.cpp(31): error C2065: 'wsaData': undeclared identifier
LMS64CProtocol_remote.cpp(31): error C3861: 'WSAStartup': identifier not found
LMS64CProtocol_remote.cpp(35): error C2065: 'AF_INET': undeclared identifier
...

An easy fix for me was to patch like so:
--- a/src/ConnectionRemote/LMS64CProtocol_remote.cpp 2020-11-09 14:19:06
+++ b/src/ConnectionRemote/LMS64CProtocol_remote.cpp 2021-12-20 10:41:32
@@ -8,6 +8,7 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #else
+#include <winsock2.h>
 #include <windows.h>
 #endif
 #include <fcntl.h>

What's up with this? Isn't this file supposed to be for Windows?
Edit: I just discovered a -D_WIN32_LEAN_AND_MEAN had sneaked in (from %CL%). Removing that, it compiles.
        But IMHO it's better to force the use <winsock2.h> in this day and age.

Remote connection was intended for internal use only, it has been removed from compilation targets https://github.com/myriadrf/LimeSuite/commit/cfc53ed6433305e807dc161a9a9c81b868bf829e


Apahce status code for web server fault detection

Can you please merge in the appropriate location in wiki?? I will share other stuff too.

Hi @unixbhaskar
I created this wiki so that it is easy to find information which can either not be found by googling or is difficult or hard to read.
The status codes that you mentioned are available at http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml, An end user would find a fix to the error code more useful, for example the common causes of 500 internal server error.
Your Mod_Security and Mod_Evasive Testing seems interesting you can add it to the Wiki,
Also please use Markdown for code and steps, the cheatsheet is available at https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

Thanks for the note. But...
"The status codes that you mentioned are available at
http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml,
An end user would find a fix to the error code more useful, for example the
common causes of 500 internal server error."
I am not sure how many people can and know this url...so I sent that you to
include in your wiki. Anyway,if you like the Mod_* ...please go ahead and
add it to your wiki.
-Bhaskar
On Wed, Apr 6, 2016 at 6:36 PM, Leo-G<EMAIL_ADDRESS>wrote:

Hi @unixbhaskar https://github.com/unixbhaskar
I created this wiki so that it is easy to find information which can
either not be found by googling or is difficult or hard to read.
The status codes that you mentioned are available at
http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml,
An end user would find a fix to the error code more useful, for example the
common causes of 500 internal server error.
Your Mod_Security and Mod_Evasive Testing seems interesting you can add it
to the Wiki,
Also please use Markdown for code and steps, the cheatsheet is available
at https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/Leo-G/DevopsWiki/pull/18#issuecomment-206361172

--
http://about.me/unixbhaskar

That's what I found when I googled for Apache status code :)
You should be able to add at https://github.com/Leo-G/DevopsWiki/wiki/Mod_Security-and-Mod_Evasive-testing-on-SL, It's publicly editable

Okay Leo after wsting 20 min to edit stuff in mentioned place ...I ran out
of patience ...so , if looking for something ...you might glean in this two
places ...I wrote something time to time...
https://unixbhaskar.wordpress.in
https://unixbhaskar.blogspot.in
On Wed, Apr 6, 2016 at 7:46 PM, Leo-G<EMAIL_ADDRESS>wrote:

That's what I found when I googled for Apache status code :)
You should be able to add at
https://github.com/Leo-G/DevopsWiki/wiki/Mod_Security-and-Mod_Evasive-testing-on-SL,
It's publicly editable
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/Leo-G/DevopsWiki/pull/18#issuecomment-206391685

--
http://about.me/unixbhaskar

I guess cause you not following any Style Guide. I will take a look when I get time thx

thanx
On Wed, Apr 6, 2016 at 8:47 PM, Leo-G<EMAIL_ADDRESS>wrote:

I guess cause you not following any Style Guide. I will take a look when I
get time thx
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/Leo-G/DevopsWiki/pull/18#issuecomment-206422555

--
http://about.me/unixbhaskar


Added a humans.txt and tweaked the robots.txt to make it mildly spiritual

I think we need to keep a clear separation of church and repo. I would reject this.

@micahlmartin I was testing your claim. What I added does not really defile anything. Cheers.


Kernel push error: Kernel not found

While following the instructions of the Dashboard tutorial Day 3:
I was able to do the kernels pull and I see the json file and the notebook file. However, I can't do push.
17:21 ~ $ mkdir wb3
17:21 ~ $ cd wb3
17:21 ~/wb3 $ ls
17:21 ~/wb3 $ kaggle kernels pull rtatman/world-bank-open-calls-dashboard -m
Source code and metadata downloaded to /home/aavella77/wb3
17:21 ~/wb3 $ ls -ltr
total 8
world-bank-open-calls-dashboard.ipynb
kernel-metadata.json
17:21 ~/wb3 $ cat kernel-metadata.json
{
"enablegpu": false,
"kerneltype": "notebook",
"enableinternet": false,
"language": "python",
"codefile": "world-bank-open-calls-dashboard.ipynb",
"title": "World Bank Open Calls Dashboard",
"kernelsources": [],
"idno": 2419179,
"datasetsources": [ "theworldbank/procurement-notices" ],
"competitionsources": [],
"keywords": [],
"id": "rtatman/world-bank-open-calls-dashboard",
"is_private": false
}

17:21 ~/wb3 $kaggle kernels push
Kernel push error: Kernel not found

It works for my own kernels.  It looks that the issue is that I am trying to modify somebody's else kernels.  I guess the instructions on the Dashboard tutorial need to mention that you need to modify the metada json file.  But I am not exactly sure what do I need to change.
23:04 ~/mykernels $ kaggle kernels list -s aavella77
ref                                                    title                                         author            lastRunTime          totalVotes

aavella77/dashboard-san-francisco-restaurants          Dashboard San Francisco Restaurants           Alejandro Avella  2018-12-19 08:46:57           8
aavella77/tutorial-tensorflow-marta-diego-y-alejandro  Tutorial TensorFlow Marta, Diego y Alejandro  Alejandro Avella  2018-10-25 03:19:35           0
aavella77/another-trial-with-dog-breeding              Another trial with dog breeding               Alejandro Avella  2018-10-25 04:08:48           0
23:04 ~/mykernels $ kaggle kernels pull aavella77/another-trial-with-dog-breeding -m
Source code and metadata downloaded to /home/aavella77/mykernels
23:05 ~/mykernels $ ls
another-trial-with-dog-breeding.py
kernel-metadata.json
23:05 ~/mykernels $ cat kernel-metadata.json
{
"enable_gpu": false,
"kernel_type": "script",
"enable_internet": false,
"language": "python",
"code_file": "another-trial-with-dog-breeding.py",
"title": "Another trial with dog breeding ",
"kernel_sources": [],
"id_no": 1947544,
"dataset_sources": [],
"competition_sources": [
"dog-breed-identification"
],
"keywords": [],
"id": "aavella77/another-trial-with-dog-breeding",
"is_private": false
}23:05 ~/mykernels $kaggle kernels push
Kernel version 5 successfully pushed.  Please check progress at
https://www.kaggle.com/aavella77/another-trial-with-dog-breeding
23:05 ~/mykernels $
I see version 5 on the web
https://www.kaggle.com/aavella77/another-trial-with-dog-breeding


Cannot provider multiple listeners and target groups

Describe the bug
When you specify two ALB listeners (http-80 and http-8080) and two Target Groups (tg-80 and tg-8080), you get the following mapping:
http-80 -> tg-80
http-8080 -> tg-80

and instead of the expected:
http-80 -> tg-80
http-8080 -> tg-8080

To Reproduce
Steps to reproduce the behavior:
module "alb" {
  source  = "terraform-aws-modules/alb/aws"
  version = "3.6.0"

  load_balancer_name        = "alb-with-http-80-and-http-8080-listeners"

  vpc_id                    = "${aws_vpc.main.id}"
  subnets                   = ["${aws_subnet.main[0].id}", "${aws_subnet.main[1].id}"]
  security_groups           = [${aws_security_group.main.id}"]
  load_balancer_is_internal = true

  logging_enabled           = false

  http_listeners_count = "2"
  http_listeners = [
    {
      port = 80
    },
    {
      port = 8080
    }
  ]

  target_groups_count = "2"
  target_groups = [
    {
      name             = "80-tg"
      backend_protocol = "HTTP"
      backend_port     = "80"
    },
    {
      name             = "8080-tg"
      backend_protocol = "HTTP"
      backend_port     = "8080"
    }
  ]
}

Expected behavior
Two ALB listeners are created (http-80 and http-8080) that map to two Target Groups respectively (tg-80 and tg-8080)
Desktop (please complete the following information):

OS: MacOS
Versions:

terraform --version
Terraform v0.11.14

create a pull request for the master branch
https://github.com/terraform-aws-modules/terraform-aws-alb/pull/120

created pull request for the terraform011 branch
https://github.com/terraform-aws-modules/terraform-aws-alb/pull/121

hmm, I may have overlooked the "target_group_index" variable, but setting the target_group to the corresponding listener is a more sane default than 0.


Docker login credentials are exposed in plain text within the agent environment tab

Agent version v3.0-beta.39, plugin version v1.0.0
When viewing the "Environment" tab of a build step where I have used the Docker login plugin, the credentials used are shown in plaintext as part of the BUILDKITE_PLUGINS (see photo)
It would be better if any sensitive info could be scrubbed out to limit access to these credentials.
(This also may be an issue better suited for the agent or orchestrator, depending on how it is solved.)

Thanks for raising this @rmtobin. We need to have much clearer docs on this, having passwords leak into pipeline.yml and plugin config like this is no good.
The best-practice way to approach this is to set BUILDKITE_PLUGIN_DOCKER_LOGIN_PASSWORD in your env hook, so that this value never makes it onto our servers or in your build output. I'll update the docs of this repo!

Let me know if that answers your concern @rmtobin, unfortunately docker doesn't give us a lot of building blocks for secure credential management. Those credentials get stored on the host in base64 encode plaintext 😭

We've updated our documentation on this plugin. Let us know if you have any more suggestions or concerns @rmtobin!

This is great, thanks @lox!


Fix link to the Update Props page

Hi! :wave:
Currently, the See examples page here is linking to the wrong document. This PR fixes it.
Cheers and thanks for the docs. :smiley:

Thanks ✔


Improve error message for illegal enum variants

Description
Fixes #4942.
Please do review this carefully. I've added a test triggers the new error message, but I might very well have forgotten to add something somewhere.
Checklist

[x] I have linked to any relevant issues.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have updated the documentation where relevant (API docs, the reference, and the Sway book).
[x] I have added tests that prove my fix is effective or that my feature works.
[x] I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
[x] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[x] I have requested a review from the relevant team or maintainers.

@jjcnn @IGI-111 This minimal change is already a big improvement compared to what we have now. It clearly indicates the issue and the expected variant formats. So I'm definitely for merging it.
However, after giving it additional thought, I'm thinking again about a bit more ambitious solution, which was my original thought on the GitHub issue. Recognizing Rust specific patterns and showing concrete solution for the issue, how the same code should look in Sway.
That would mean adding Diagnostic to the CompileError::Parse which we don't have now, and extended the parser to actually parses two typical Rust examples. Both changes are rather simple and will allow us to have messages like these:
error: Enum variant declaration is not valid.

enum Enum1 {
  Ok,    // Illegal
  ^^ `Ok` is not a valid enum variant declaration.
  -- help: Did you mean `Ok: ()`?
  -- help: In Sway enum variants are in the form `Variant: ()`, `Variant: <type>`, or `Variant: (<type1>, ..., <typeN>)`.
  -- help: E.g., `Foo: (), or `Bar: (bool, u32)`.

error: Enum variant declaration is not valid.

enum Enum2 {
  F(u32),        // Illegal
  ^^^^^^ `F(u32)` is not a valid enum variant declaration.
  ------ help: Did you mean `F: (u32)`?
  ------ help: In Sway enum variants are in the form `Variant: ()`, `Variant: <type>`, or `Variant: (<type1>, ..., <typeN>)`.
  ------ help: E.g., `Foo: (), or `Bar: (bool, u32)`.

error: Enum variant declaration is not valid.

enum Enum3 {
  A(MyType, bool, u8),
  ^^^^^^^^^^^^^^^^^^^ `A(MyType, bool, u8)` is not a valid enum variant declaration.
  ------------------- help: Did you mean `A: (MyType, bool, u8)`?
  ------------------- help: In Sway enum variants are in the form `Variant: ()`, `Variant: <type>`, or `Variant: (<type1>, ..., <typeN>)`.
  ------------------- help: E.g., `Foo: (), or `Bar: (bool, u32)`.

We do not have to parse the Rust struct-like variant. That would be a bit too much work, and it's also not a kind of a mistake Sway programmers do. In that and all other cases we can go for the common help message without the particular suggestion.
error: Enum variant declaration is not valid.

enum Enum4 {
  A { x: i32, y: i32 },
  ^^^^^^^^^^^^^^^^^^^ `A { x: i32, y: i32 }` is not a valid enum variant declaration.
  ------------------- help: In Sway enum variants are in the form `Variant: ()`, `Variant: <type>`, or `Variant: (<type1>, ..., <typeN>)`.
  ------------------- help: E.g., `Foo: (), or `Bar: (bool, u32)`.

But for the other two cases, having a precise solution in the error message has a benefit.
Also, adding the first Diagnostic for CompileError::Parse will pay off in the mid and long term.
Let me know what you think.

I think it is a good idea to get additional information to help the most common issues, but unless Rust confusions are really that common it's probably over-engineering.
Helpful errors are important and I really like your examples, but improving errors for cases that aren't as niche is likely a better use of our ressources at this time. Maybe you should put this idea in a separate issue and we can bikeshed it and/or pick it up when we'll have a serious go at polishing our errors.
In any case, we should get this PR's improvement first.

Maybe you should put this idea in a separate issue and we can bikeshed it and/or pick it up when we'll have a serious go at polishing our errors.

Done: #5403

Review comments addressed.


Fix error in template file resolutions

Currently when trying to run the multi-file typescript setup the user gets the following error:
(node:94403) UnhandledPromiseRejectionWarning: Unhandled promise rejection
  (rejection id: 1):
    Error: Template file /home/<user>/generators/type....index.handlebars does not exist

This issue is because the generator path wasn't being resolved as the config.js path was.

Codecov Report

Merging #110 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #110   +/-   ##
=======================================
  Coverage   42.49%   42.49%
=======================================
  Files          20       20
  Lines         506      506
  Branches       94       94
=======================================
  Hits          215      215
  Misses        291      291

Impacted Files
Coverage Δ

src/engine/templates.ts
45.45% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks @zephraph !

Hi! Could a new release be made with this fix? Thanks a lot!

@yohcop done :) please try 0.5.5

Thanks for the really quick answer! All good! :+1:


Project Development

Pull request for review of Global COVID cases project using react, redux, test, JSX, and CSS3.

[ ] Followed Gitflow properly.
[ ] Used best practices.
[ ] There are no Eslint errors in the project.
[ ] There are no Stylelinter errors in our project.
[ ] Implement countries page.
[ ] Implement regions page.
[ ] Implement tests.

.


3rd party program

Don't use this tool, I got my Platinum account banned for legit just changing tag in champ select. Sorry to tell everyone but don't use this , the tool is great, but detectable and bannable.

You got banned for botting because the guy you purchased your account botted it to level it up. It even says right there you got banned for botting not for make api request lmao

I didn't purchase?


Invalid Powerwall Login

Raspberry Pi
Ubuntu: 22.04.5
Powerwall-Dashboard: 4.6.0
Having an issue with connection and receiving a 'Invalid Powerwall Login' error. Looking for some assistance. Looks like the problem appeared on Nov 11 2024. I haven't changed anything as far as configuration/password. Perhaps a Powerwall Firmware update is the cause. I am using the last 5 digits of the Gateway SN as the Password in the pypowerwall.env file.
My pypowerwall.env looks like:
<EMAIL_ADDRESS>PW_PASSWORD=ABC01
PW_HOST=<IP_ADDRESS>
PW_TIMEZONE=America/New_York
TZ=America/New_York
PW_DEBUG=no
PW_STYLE=grafana-dark
docker logs -f pypowerwall output:
`Traceback (most recent call last):
File "/app/server.py", line 210, in
site_name = pw.site_name() or "Unknown"
File "/usr/local/lib/python3.10/site-packages/pypowerwall/init.py", line 498, in site_name
payload = self.poll('/api/site_info/site_name')
File "/usr/local/lib/python3.10/site-packages/pypowerwall/init.py", line 318, in poll
payload = self.client.poll(api, force, recursive, raw)
File "/usr/local/lib/python3.10/site-packages/pypowerwall/local/pypowerwall_local.py", line 196, in poll
self._get_session()
File "/usr/local/lib/python3.10/site-packages/pypowerwall/local/pypowerwall_local.py", line 114, in _get_session
raise LoginError("Invalid Powerwall Login")
pypowerwall.local.exceptions.LoginError: Invalid Powerwall Login
12/12/2024 02:27:21 PM [proxy] [INFO] pyPowerwall [0.12.0] Proxy Server [t66] - HTTP Port 8675
12/12/2024 02:27:21 PM [proxy] [INFO] pyPowerwall Proxy Started
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/pypowerwall/local/pypowerwall_local.py", line 105, in _get_session
self.auth = {'AuthCookie': r.cookies['AuthCookie'], 'UserRecord': r.cookies['UserRecord']}
File "/usr/local/lib/python3.10/site-packages/requests/cookies.py", line 334, in getitem
return self._find_no_duplicates(name)
File "/usr/local/lib/python3.10/site-packages/requests/cookies.py", line 413, in _find_no_duplicates
raise KeyError(f"name={name!r}, domain={domain!r}, path={path!r}")
KeyError: "name='AuthCookie', domain=None, path=None"
`

Can you run ./verify.sh ? I would like to see the pypowerwall section.
If you have Powerwall 2, attempt to log in to the web portal at <IP_ADDRESS>
You do not have the PW_GW_PWD setting in your pypowerwall.env file which means you are not using TEDAPI even though you are using <IP_ADDRESS>. I recommend you set that to activate extended metrics.
The GW Password is typically the password listed on the WiFi QR code on the Powerwall Gateway.
PW_GW_PWD=XXXXXXXX
Restart ./compose-dash.sh up -d

I am not using <IP_ADDRESS>, I added that just to mask my actual IP which in retrospect is silly. My apologies. The password I am using is the last 5 characters of the gateway SN starting with TG.
Here is the output from ./verify.sh
----------------------------------------------------------------------------
 - Config File pypowerwall.env: GOOD
 - Container (pypowerwall): GOOD
 - Service (port 8675): ERROR: Not Listening
 - Version: Unknown
 - Powerwall State: ERROR: Not Connected - Firmware: Unknown
 - Powerwall Gateway TEDAPI: Not Available (<IP_ADDRESS>)
 - Cloud Mode: NO

Checking telegraf
----------------------------------------------------------------------------
 - Config File telegraf.conf: GOOD
 - Local Config File telegraf.local: GOOD
 - Container (telegraf): GOOD
 - Version: Telegraf 1.28.2 (git: HEAD@8d9cf395)

Checking influxdb
----------------------------------------------------------------------------
 - Config File influxdb.conf: GOOD
 - Environment File influxdb.env: GOOD
 - Container (influxdb): GOOD
 - Service (port 8086): GOOD
 - Filesystem (./influxdb): GOOD
 - Version: InfluxDB shell version: 1.8.10

Checking grafana
----------------------------------------------------------------------------
 - Config File grafana.env: GOOD
 - Container (grafana): GOOD
 - Service (port 9000): GOOD
 - Filesystem (./grafana): GOOD
 - Version: Grafana CLI version 9.1.2

Checking weather411
----------------------------------------------------------------------------
 - Container (weather411): GOOD
 - Service (port 8676): GOOD
 - Weather: {"temperature": 27.55}
 - Version: 0.2.3

Here is the output from ./compose-dash.sh up -d
Running Docker Compose...
[+] Running 5/0
 ✔ Container influxdb     Running                                                                                0.0s
 ✔ Container pypowerwall  Running                                                                                0.0s
 ✔ Container grafana      Running                                                                                0.0s
 ✔ Container telegraf     Running                                                                                0.0s
 ✔ Container weather411   Running                                                                                0.0s

Thanks @knewmania , since you are not using the TEDAPI endpoint, I suspect the issue is that the web portal needs you to bypass the upgrade notice.  Log in to the we portal using the IP address of your powerwall in your web browser. Dismiss the notices (you may need to scroll down to see the buttons) until you get the the main portal landing page.

The password I am using is the last 5 characters of the gateway SN starting with TG.

Use that as the password to log in to the portal to verify that it is still valid, otherwise you will need to reset it.

When I go to the IP address for the Powerwall Gateway I receive:

When I click Continue I receive:

This occurs every time I visit the IP address for the Powerwall Gateway.

Scroll down to the bottom, and click on upgrade later.

@BJReplay is correct, you are almost there. You just need to scroll down on that second screen and click the "UPGRADE LATER" button (super light color button on bottom of second screen).
See: https://github.com/jasonacox/Powerwall-Dashboard/discussions/109#discussioncomment-7278795

Thank you for pointing that out to me. Sorry I am so dense.
Now get a login error. When I attempt to login with my email and last 5 characters of the gateway SN it returns:
Error: Login Error (default password not supported). Click to reset password.

It appears that my gateway password has changed somehow.
I cannot connect to the gateway Wi-Fi (TEG-XXX).
I cannot reset the password using the full gateway SN:
Error: Unable to generate password (please check your password and/or serial number).

I cannot reset the password using the forgotten password method and the last 5 characters of the gateway SN.
Error: unexpected request origin. Try logging in again.

Thank you for your help. Sorry I missed the Upgrade Later link.
The dashboard is up and running again. I ended up having to change the login password for the gateway which was pretty painful.
I used the following to solve my password change issues:
https://teslamotorsclub.com/tmc/threads/unable-to-log-into-gateway-after-24-36-2-update-work-around-found.336050/page-3

Thank you for your help. Sorry I missed the Upgrade Later link.
The dashboard is up and running again. I ended up having to change the login password for the gateway which was pretty painful.
I used the following to solve my password change issues:
https://teslamotorsclub.com/tmc/threads/unable-to-log-into-gateway-after-24-36-2-update-work-around-found.336050/page-3

Thanks @knewmania - The link is sneaky and not designed for you to find it. 😀
Great job and thanks for the helpful link.

Sorry I missed the Upgrade Later link.

No need to apologise - they hide it so that it isn't obvious: even if you don't have to scroll, it isn't styled like a button that you can click on. It is unnecessarily deceptive.
And as you point out, it is difficult to then change your password.
It's as if they don't want you to know how the equipment that you paid thousands for is operating.


Linting

@williaster , I linted a lot of the Python code to get a higher "landscape" rating

nice, LGTM :+1:


Publish Kafka message to the right topic

I publish a Kafka message like this one:
$this->bus->dispatch(new \Enqueue\RdKafka\RdKafkaMessage('foo', ['topic' => 'test']));

I expect this to publish my message foo in topic test.
In fact, in send method of Enqueue\MessengerAdapter\QueueInteropTransport my message (wrapped in an Symfony\Component\Messenger\Envelope) is encoded by an instance of Symfony\Component\Messenger\Transport\Serialization\Serializer which gives:
array(2) {
  ["body"]=>
  string(72) ""{\"body\":\"plop\",\"properties\":{\"topic\":\"test\"},\"headers\":[]}""
  ["headers"]=>
  array(1) {
    ["type"]=>
    string(30) "Enqueue\RdKafka\RdKafkaMessage"
  }
}

After creation of a new \Enqueue\RdKafka\RdKafkaMessage (in the same function), I finally have the following sent message:
object(Enqueue\RdKafka\RdKafkaMessage)#402 (7) {
  ["body":"Enqueue\RdKafka\RdKafkaMessage":private]=>
  string(72) ""{\"body\":\"plop\",\"properties\":{\"topic\":\"test\"},\"headers\":[]}""
  ["properties":"Enqueue\RdKafka\RdKafkaMessage":private]=>
  array(0) {
  }
  ["headers":"Enqueue\RdKafka\RdKafkaMessage":private]=>
  array(1) {
    ["type"]=>
    string(30) "Enqueue\RdKafka\RdKafkaMessage"
  }
  ["redelivered":"Enqueue\RdKafka\RdKafkaMessage":private]=>
  bool(false)
  ["partition":"Enqueue\RdKafka\RdKafkaMessage":private]=>
  NULL
  ["key":"Enqueue\RdKafka\RdKafkaMessage":private]=>
  NULL
  ["kafkaMessage":"Enqueue\RdKafka\RdKafkaMessage":private]=>
  NULL
}

My original message has been serialized in the body of the sent message and the target topic is the default one (i.e. messages) instead of test.
I see that the destination topic comes from $this->options but I do not know how to set that options.
It is difficult for me to know the best way (implement a new encoder, define some options, upgrade code, ...) to achieve what I want to do. That's why I'm asking you for help.

The message you dispatch in the messenger bus should not be an instance of the Enqueue\RdKafka\RdKafkaMessage. It should be your own domain object.

I see that the destination topic comes from $this->options but I do not know how to set that options.

These options are coming from the DSN of the Messenger transport. To change the default topic, you can do:
# config/packages/messenger.yaml
framework:
    messenger:
        transports:
            amqp: enqueue://default?topic[name]=test

Though, if you want to change the destination of a specific message (while having a different default topic) it's trickier. The easiest being to create another Messenger transport for it. Otherwise, the RdKafkaMessage will be constructed by Enqueue's transport. As you mentioned, the properties and headers are coming from the encoder directly and the default one does not return any property. I see a few different options in here:
We could leverage the Envelope mechanism of the Messenger component. We'd have to update the producer to support them and you would do something like this when dispatching the message:
$bus->dispatch((new Envelope($yourMessageObject))->with(new EnqueueProperties(['topic' => 'test'])));

I made a trivial implementation around your idea (without unit testing for the moment).
Tell me if the base is OK and what I can do to make it more "industrial" if this is the case!
Use:
use Symfony\Component\Messenger\Envelope;
use Enqueue\MessengerAdapter\EnvelopeItem\Topic;
use App\Message\TestMessage;

$message = new TestMessage('foo');
$this->bus->dispatch((new Envelope($message))->with(new Topic('test')));

Config:
# messenger.yaml
framework:
    messenger:
        transports:
            kafka_test: enqueue://rdkafka?queue[name]=test
        routing:
            'App\Message\TestMessage': kafka_test

# enqueue.yaml
enqueue:
    async_events:
        enabled: true
    transport:
        default: '%env(ENQUEUE_DSN)%'
        rdkafka:
            global:
                group.id: 123
                metadata.broker.list: 'localhost:9092'
            topic:
                auto.offset.reset: beginning
    client: ~

#12

Fixed by #12. Thanks again :)


fabric-sdk-node

Sorry, 狼哥. I didn't know how to contact you, so you chose this way.
Could you please give me your mail to concat, I have some questions to you about fabric-sdk-node.
Looking forward hearing from you,
Yehor.

@KHYehor Hi Yehor，you can email me at<EMAIL_ADDRESS>


[enhancement](session var) varariable to control whether to rewrite OR to IN or not

…to in or not
Proposed changes
Issue Number: close #12872   #15420
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[x] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.72 seconds
load time: 700 seconds
storage size:<PHONE_NUMBER>2 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221228113202_clickbench_pr_70378.html


Footer added

Hey I have added the footer code the only thing i'm not able to display it ...pls help me out.

#19 solved by me

so I m sorry for not following the guidelines...can i send a pull request with the required rules mentioned


Use tcp socket probe instead of ss command

Kubernetes provides the native probe implementation to check availability of TCP socket. We can use that feature instead of executing the ss command. Unfortunately udp probe is not available now so we still need ss command for that.

/retest

/retest


[Bug] Unit tests don't recognize snapshots with aliases

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
I have a snapshot with an alias defined.  When running the unit test, I get SQL compilation error:
20:26:02    Runtime Error in unit_test test_wtf (models/test_wtf.yml)
  An error occurred during execution of unit test 'test_wtf'. There may be an error in the unit test definition: check the data types.
   Database Error
    002003 (42S02): SQL compilation error:
    Object '__DBT__CTE__ASSEMBLY_COMPONENTS' does not exist or not authorized.

Snapshot config:
{% snapshot snap_qb_etahub__assembly_components %}
   {{
        config(
          target_schema='qb_etahub',
          alias='assembly_components',
          transient=False,
          unique_key='record_id_nbr',
          strategy='timestamp',
          updated_at='_sdc_batched_at',
          invalidate_hard_deletes=True,
        )
    }}

    SELECT
      *,
      CURRENT_TIMESTAMP()::TIMESTAMP AS dbt_snapshot_at
    FROM
      {{ source('qb_etahub', 'assembly_components') }}
{% endsnapshot %}

The aliased name of my snapshot is called ASSEMBLY_COMPONENTS.  If I reconfigure my snapshot to not use an alias, I do not get this error (but I don't want to have to rename the tables for all of my snapshots).
Expected Behavior
dbt should be able to run unit tests on snapshots with aliases.
Steps To Reproduce

Create a snapshot with an alias.
Create a unit test referencing the snapshot as a source.
Run the unit test.

Relevant log output
No response
Environment
- OS: Debian GNU/Linux 12 (bookworm)
- Python: Python 3.10.15
- dbt: 1.8.5

Which database adapter are you using with dbt?
snowflake
Additional Context
No response

Thanks for opening this @gnilrets!
I see what you are saying. See below for a reproducible example ("reprex").

Reprex

Create these files using dbt-postgres:
snapshots/my_snapshot.sql
{% snapshot my_snapshot %}
   {{
        config(
          target_schema=target.schema,
          alias='assembly_components',
          unique_key='id',
          strategy='timestamp',
          updated_at='_sdc_batched_at',
          invalidate_hard_deletes=True,
        )
    }}

    select 1 as id, {{ dbt.current_timestamp() }} as _sdc_batched_at

{% endsnapshot %}

models/my_model.sql
select * from {{ ref("my_snapshot") }}

models/_unit_tests.yml
unit_tests:
  - name: my_unit_test
    model: my_model
    given:
      - input: ref('my_snapshot')
        rows:
          - {id: 1, _sdc_batched_at: "2024-01-01"}
    expect:
      rows:
          - {id: 1, _sdc_batched_at: "2024-01-01"}

Run this command:
dbt build

Get this error:
02:38:29    Runtime Error in unit_test my_unit_test (models/_unit_tests.yml)
  An error occurred during execution of unit test 'my_unit_test'. There may be an error in the unit test definition: check the data types.
   Database Error
    relation "__dbt__cte__my_snapshot" does not exist
    LINE 24: ) select * from __dbt__cte__my_snapshot

Root cause
For unit tests, dbt will create a temporary table so that it can determine the relevant data types for the unit fixtures.
Looking at the logs within logs/dbt.log will show the logic for that temporary table. When the snapshot does not have an alias, the logic for that temporary table works. But if it has an alias, then it fails. See examples below.
Working temporary table (a snapshot without an alias)
  create temporary table "my_unit_test__dbt_tmp192138036045"

    as

  (
    select * from (
        with __dbt__cte__my_snapshot as (

-- Fixture for my_snapshot
select

    cast(1 as integer)
 as id, cast(null as timestamp with time zone) as updated_at, cast(null as text) as dbt_scd_id, cast(null as timestamp without time zone) as dbt_updated_at, cast(null as timestamp without time zone) as dbt_valid_from, cast(null as timestamp without time zone) as dbt_valid_to,

    cast('2024-01-01' as timestamp with time zone)
 as _sdc_batched_at
) select * from __dbt__cte__my_snapshot
    ) as __dbt_sbq
    where false
    limit 0

  );

Not working temporary table (a snapshot with an alias)
  create temporary table "my_unit_test__dbt_tmp192418314907"

    as

  (
    select * from (
        with __dbt__cte__assembly_components as (

-- Fixture for my_snapshot
select

    cast(1 as integer)
 as id,

    cast('2024-01-01' as timestamp with time zone)
 as _sdc_batched_at, cast(null as text) as dbt_scd_id, cast(null as timestamp with time zone) as dbt_updated_at, cast(null as timestamp with time zone) as dbt_valid_from, cast(null as timestamp with time zone) as dbt_valid_to
) select * from __dbt__cte__my_snapshot
    ) as __dbt_sbq
    where false
    limit 0

  );

We can see in the 2nd SQL query that there's just a mismatch between the CTE named __dbt__cte__assembly_components and then trying to select from it but calling it __dbt__cte__my_snapshot instead 💥


Adding rustfmt to CI checks

This checks if code is formatted with cargo fmt to avoid touching random files in case someone forgets. Related issue #46

Also added format on save to vscode settings, seems pretty neat.


React table tutorial better than official docs

Hey @shadcn,
Just came here to say that I found your Data Table tutorial more helpful than the official tanstack docs (which I tried and failed to use the other day).
Thanks for your work, appreciated.

Thanks @sinclairnick. Appreciate it. What you working on?

I'm currently sidelining my startup and Getting a Real Job™, but have literally rewritten the entire codebase in this process (lol), including using Shad UI for my frontend.
I'll flick you a link once my existing (yuck) UI has been replaced with the new (good) Shad version.

Hello @shadcn I really liked the data table component.
I wanted to ask one thing, for a column, i want its value to be displayed as a link. How can i do that, I am not able to figure that out.
All the values for the column are string values, currently they are being displayed as normal string ( i cant click on them to open the link)

Opening the discussions would be nice for show and tells and Q/A that are not issues worthy

As promised @shadcn, here's what I've been working on, with the help of Shad UI 🙏.
https://grossr.com/

i thought the tutorial was great, but i'm totally lost on one thing... in the tutorial (and the Tasks example), the Actions column is defined inside the ColumnDef so if I want to create an action to delete the row, I'd somehow need to pass the delete up to the data-table.tsx file because it has the data array that populates the table. But I'm not clear on how I could pass the delete message up to the parent table because the ColumnDef isn't a React component, it just gets used with the flexRender function as far as I can tell...
I think I would need to modify the data and somehow incorporate useState so that the table gets re-rendered? Sorry... I'm still new to React, but its unclear to me what the next step is to delete a row. Thanks...

Anybody fail to responsive with TableData?

hey,i implement data table like what you said in the shadcn doc and it works normally but I want to implement delete action for each row and call API for that its delete row but i need to refresh the page to see updated UI how can i do you it without reload the page?

Thanks @sinclairnick. Appreciate it. What you working on?

i thought the tutorial was great, but i'm totally lost on one thing... in the tutorial (and the Tasks example), the Actions column is defined inside the ColumnDef so if I want to create an action to delete the row, I'd somehow need to pass the delete up to the data-table.tsx file because it has the data array that populates the table. But I'm not clear on how I could pass the delete message up to the parent table because the ColumnDef isn't a React component, it just gets used with the flexRender function as far as I can tell...
I think I would need to modify the data and somehow incorporate useState so that the table gets re-rendered? Sorry... I'm still new to React, but its unclear to me what the next step is to delete a row. Thanks...

Yeah I'm in the same boat on this one (still getting a feel for javascript passing of props/functions). I feel like I'm missing something obvious but would love if someone who has implemented this can shed some light!

getContext contains table and column. These can be accessed in columns.tsx similar to how we access row,
https://github.com/shadcn-ui/ui/blob/c21ecfb665214e18c d5914ea319f925cd676e786/apps/www/app/examples/tasks/components/columns.tsx#L118
To achieve this, we change the line to include table and column,
cell: ({ table, column, row }) => <DataTableRowActions row={row} />,

These can be sent to DataTableRowActions
To achieve this, we change the line to include table and column,
cell: ({ table, column, row }) => <DataTableRowActions table={table} column={column} row={row} />,

But DataTableRowActions does not accept table and column,
https://github.com/shadcn-ui/ui/blob/c21ecfb665214e18cd5914ea319f925cd676e786/apps/www/app/examples/tasks/components/data-table-row-actions.tsx#L24-L30
We remedy this by including table and column in DataTableRowActionsProps interface.
Don't forget to pass these into the function,
import { Table, Column, Row } from "@tanstack/react-table"

interface DataTableRowActionsProps<TData> {
   table: Table<TData>
   column: Column<TData>
   row: Row<TData>
 }

 export function DataTableRowActions<TData>({
   table,
   column,
   row,
 }: DataTableRowActionsProps<TData>) {

Now, you should be able to use table and column with your own delete row function.
To re-render the table, you have to update the table data.
In my app, I update the table data within a useEffect with ColumnFiltersState as a dependency. So I update the data by calling which re-renders the table,
column.setFilterValue(column.getFilterValue())

Hope this helps, @AaronMeyers @mamdamin79 @mplunket

can anyone help me how to utilize an external function or a parent component function when an event click occurs from a data table button. ?

Hello guys, i use the data-table from shadcn and implemented zu search for the table.
How can I search for multiple columns or entire Table data? currently I am only searching for the address column.
<Input             placeholder="Filter emails..."             value={               (table.getColumn("address")?.getFilterValue() as string) ?? ""             }             onChange={(event) => {               table.getColumn("address")?.setFilterValue(event.target.value);             }}             className="w-[450px] shadow-md"           />

@caanyp24 you should use a global filter on the table to search across columns

A quick one for the people asking how to pass functions to cells. This is the way I have done it, I'm new to Tanstack table too so I'm not sure this is the correct approach but it works. Would love to hear if this is a good approach or not.
In short: pass functions in table.meta and use them in the column definition (Or inline on the table if needed)
const table = useReactTable({
    data,
    columns,
    getCoreRowModel: getCoreRowModel(),
    meta: {
      // 1. Define functions here
      handleOpenDetailsPanel: (id) => handleOpenDetailsPanel(id),
    },
  });

export const tableColumns: ColumnDef<QuotesInterface>[] = [
  {
    id: 'actions',
    cell: ({ table, row }) => {
      const id = row.getValue('id') as string;

      return (
        <Box>
          <Button
           // 2. Use like this
            onClick={() => table.options?.meta.handleOpenDetailsPanel(id)}
          >
            Details
          </Button>
        </Box>
      );
    },
  },
];

@caanyp24 Here is a tutorial on how to filter on all columns : https://www.youtube.com/watch?v=ZG2_vPlQA8Q

Thanks
On Fri, Nov 24, 2023 at 11:44 AM imokyoureok @.***>
wrote:

@caanyp24 https://github.com/caanyp24 Here is a tutorial on how to
filter on all columns : https://www.youtube.com/watch?v=ZG2_vPlQA8Q
—
Reply to this email directly, view it on GitHub
https://github.com/shadcn-ui/ui/issues/409#issuecomment-1825214772, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AXTTVKBJSWK5X4U5KCXMKT3YGA64DAVCNFSM6AAAAAAYJ2FW5CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRVGIYTINZXGI
.
You are receiving this because you commented.Message ID:
@.***>

--
[image: facebook] https://www.facebook.com/craftbentsolutions
[image: twitter] https://twitter.com/craft_bent_sol
[image: linkedin] https://www.linkedin.com/company/craftbentsolutions/
[image: instagram] https://www.instagram.com/craftbentsolutions/
Talha Aziz
Full Stack Developer
Craft Bent Solutions
Book a Call https://calendly.com/talharamay49/30min
+44<PHONE_NUMBER> <+44+786+8737454> | +92<PHONE_NUMBER> <+923032213806>
@.***
https://craftbentsolutions.com/
International House 12 Constance Street, London, E16 2DQ, United Kingdom

can anyone help me please, so basically i am using the t3 stack along with shadcn and the data table and while filtering through for say the product title as I am fetching the products data in the parent component and passing the products data in the DataTable component where the useReactTable hook is being initialized whenever the product title is changed the whole DataTable component is rerenred and the product title filter is lost what should i do?
basically its this as the title changes the whole ui is rerendered
  const productsPromise = api.product.productFindAllRoute.useQuery({
    per_page,
    page,
    title,
    column,
    order,
  });
  if (productsPromise.isLoading || !productsPromise.data)
    return (
      <DataTableSkeleton
        columnCount={6}
        isNewRowCreatable={true}
        isRowsDeletable={true}
      />
    );
  <ProductsTableShell
          data={productsPromise.data.data.products}
          pageCount={productsPromise.data.pagination.page}
        />

i thought the tutorial was great, but i'm totally lost on one thing... in the tutorial (and the Tasks example), the Actions column is defined inside the ColumnDef so if I want to create an action to delete the row, I'd somehow need to pass the delete up to the data-table.tsx file because it has the data array that populates the table. But I'm not clear on how I could pass the delete message up to the parent table because the ColumnDef isn't a React component, it just gets used with the flexRender function as far as I can tell...
I think I would need to modify the data and somehow incorporate useState so that the table gets re-rendered? Sorry... I'm still new to React, but its unclear to me what the next step is to delete a row. Thanks...

So basically i haven't reached that stage in the project am working on but if your using a database or ig an API, you can pass the data object using row.original or row.getValue to get a single column vaklue. in the Docs, check how he was able to get to perform actions on the each row, for example copy the payment ID. Hope this helps, if you need an more in dept explanation just let me know.

Thank you, shadcn, same expressed gratitude. The documentation is much easier to understand than the tanstack documentation. By the way, if I need to select a time range in filtering and I am looking for examples of data manipulation or component encapsulation, it would be much better than trying to decipher the tanstack documentation like a detective.

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.

hey,i implement data table like what you said in the shadcn doc and it works normally but I want to implement delete action for each row and call API for that its delete row but i need to refresh the page to see updated UI how can i do you it without reload the page?

Thanks @sinclairnick. Appreciate it. What you working on?

use react-query. it has useMutation hook. Just awesome.


CalendarView "flashes" when loading in a custom ConstraintLayout dialog view with guidelines

I added the CalendarView in a ConstraintLayout which I set as the view in a DialogFragment. When the dialog is shown, you see the calendar but then the calendar flashes. Additionally if you scroll to the next month, that month also flashes. After the initial flash upon loading, it is not seen again (until a new instance of the dialog is created).
The CalendarView has its width and height set to "wrap_content" and the width is constrained to a start and end guideline widgets (to act as margin). The flash also occurs if you instead just add layout_margin attributes.

Could you kindly provide a sample project where I can replicate this issue?

Please see my changes in the fork of your repo for Example1. I changed it into a DialogFragment and made the base layout a ConstraintLayout instead of a LinearLayout.
https://github.com/mcezat/CalendarView/commit/8cffc6ffc16357ca4f86469b0713ffab828f002f

After much investigation, I can see that this is somewhat similar to the issue raised here, in the sense that the payload is not delivered hence the entire month is reloaded which gives the blink effect. However, the suggested fix in that issue did not work in the example project you provided. What worked was to remove the item animator(calendarView.itemAnimator = null).
I'm not quite sure how to implement a permanent fix for this issue since I can't figure out why the RecyclerView behaves differently when in a ConstraintLayout.

@kizitonwose Please see my PR. I see in other custom views around github that they were calling super.onMeasure() before their own custom logic. Moving that to the beginning indeed fixed the blink. I did a smoke test of your other sample calendars in the app and they all seemed fine.

Please see my PR. I see in other custom views around github that they were calling super.onMeasure() before their own custom logic. Moving that to the beginning indeed fixed the blink. I did a smoke test of your other sample calendars in the app and they all seemed fine.

@mcezat Since the PR is closed, I guess the short term fix would be to not have it in a constraint layout, for now.

Definitely it's constraint layout and works fine with height set to match_parent inside it, but when changed to wrap_content or 0dp the flash occurs.

After taking some time today to look into how ConstraintLayout measures children with 0dp, I found that the measurement really happens twice, the first time with a size/spec of 0 and then the second time with the appropriate values.
So what happens is that when you reload a date, the calendar is invalidated and during the first pass(with 0 value) the calendar basically disappears and then reappears in the next pass, giving the blink effect.
The initial fix was to ignore this initial measure pass which worked great but looking further into how RecyclerView measures itself, I noticed that we could benefit from setting hasFixedSize to true which was the initial workaround for this bug as seen here because reloading a date does not actually affect the calendar's size. This is also more efficient as the calendar is no longer invalidated when you reload a date hence no measurement happens at all.
This fix is in the 0.3.5 release so I will be closing this issue.

@kizitonwose  Great that you've figured it out

After much investigation, I can see that this is somewhat similar to the issue raised here, in the sense that the payload is not delivered hence the entire month is reloaded which gives the blink effect. However, the suggested fix in that issue did not work in the example project you provided. What worked was to remove the item animator(calendarView.itemAnimator = null).
I'm not quite sure how to implement a permanent fix for this issue since I can't figure out why the RecyclerView behaves differently when in a ConstraintLayout.

Thanks for supporting great library. I was experiencing blink on change text inside the monthScrollListener, finally solved with setting itemAnimator to null :)


⚠ Bofrost.lu has degraded performance

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

HTTP code: 200
Response time: 959 ms

Resolved: Bofrost.lu performance has improved in b584f2e after 8 minutes.


conda-forge version - Published

Description
@adamchainz
Looking forward to trying this plugin. Thanks for the informative blog post too.
Just an FYI
I've added flake8-logging to conda-forge - available at
https://anaconda.org/conda-forge/flake8-logging - installable via
conda install -c conda-forge flake8-logging
Thanks & Regards.

Glad you enjoyed it and thanks for the heads up.


Extended title suggestion

Social coding and open software - What can you do to protect and get credit for your code?
Whenever I talk about this, this is the title I most often either forget or forget what it is about. Even though it makes sense.
Could brainstorm the title a bit as well, but currently no idea.

the "why" could also be added but maybe not necessary


Not compliant to json-rpc specification.

Am I correct in assuming that this library is not compliant to the published specifications?
I was thrown when I tried to consume the JSON-RPC endpoint from a different client.

Yeah, this has nothing to do with that unofficial RFC working group spec.
It's somewhat similar (as great minds think alike, I guess) - but the protocol here doesn't adhere to that spec.


Add link to blog article and to semeval-2019 tag

I have now created the semeval-2019 tag. If you use "Rebase and merge" when merging (the type of merge can be changed by using the dropdown next to the merge button) then the tag will be preserved after the merge, which is what we want. :)

Closed. Cheekily pushed to master instead.


failure to compile due to missing declaration for drawWifiQuality

------------------------ BUG REPORT -----------------------------------------
Expected behavior
It should compile
Actual behavior
Compilation fails with this error message
exit status 1
'drawWifiQuality' was not declared in this scope

Test code
No code needed - it just fails to compile
Weather Station Color version
The current version here on github (I cloned the project)
Hardware
Using it on your kit - as purchased via Amazon.
8<------------------------ END BUG REPORT -------------------------------------
The fix is to add
void drawWifiQuality();

after line 113 void drawSeparator(uint16_t y);

The code does compile ok and these errors are always due to an errant extra character in the body somewhere before the section you have highlighted. Have you check the compiler error messages to see where the error first appears? Maybe the code has been modified in some way?

I can't reproduce this either but it's true that drawWifiQuality is the only function that isn't declared in the 102-117 section.

Hmm... well.. I made no changes to the core function prior to the compile (just updated setting.h as needed)
Adding that declaration in has everything work.  I can also comment out the call to drawWiFiQuality and it all works just fine too.
I am running with the Arduino IDE on Windows 10 with the 1.9.0 BETA version.  There are some oddities with the release version of the Windows Arduino IDE that required use of the BETA version - so perhaps this is some add-on error related to the BETA IDE.

Just for completeness here is the initial reporting of the error in the compiler output.
C:\Users\liamk\OneDrive\Documents\GitHub\esp8266-weather-station-color\esp8266-weather-station-color.ino: In function 'void drawTime()':

esp8266-weather-station-color:343:19: error: 'drawWifiQuality' was not declared in this scope

   drawWifiQuality();

No further clue as to any other errors encountered... and.. as I say.. it's all working now with the added declaration I described.

Thanks!  I appreciate the work you (all) do with this project.


Add pre-build binariers

I love mbusd and use it nearly everywhere where i have to work with USB/RS485 Adapters and Modbus.
But what always bother is the fact, that you have to compile it from source everytime.
Is there a way/possibility to distirubte pre-build binaries?
E.g.:

mbusd binary
systemd unit file
example.conf

You pick then what you need/want and install it where it belongs, or use the mbusd binary as standalone executable without the need for building.

Especial for low power devices like older raspberry pi's or other single board computers, it would be awesome to not have to install a full build tool chain.

You can try make altinstall and dpkg-deb --build to make your own .deb installer


Feature Request: Visual Studio Code-based theme

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
The default Atom theme looks great. However, I'd love to see a built-in theme that follows the Microsoft Visual Studio Code native styling.
Because this feature request is style-centric, and because the default theme looks great, and because developers can customize their own themes, this is of course a low-priority feature request.

Theres a few other enhancements ahead of this one but feel free to open a PR, otherwise I'll get around to it.

@pcgeek86 it's been a while but I could use some feedback, please have a look at my VS Code Theme PR and try out http://localhost:6006/?path=/story/command-palette--vscode-theme


Which section will be formatted?

I tried to use this tool, but the behavior confused me. While it formats lists in [build-system] and [project] to make the indent have two spaces, it entirely ignores the indent in [tool] section.

Is it the expected behavior?

It only handles the build-system and project sections for now. PR welcome to change that.


Update LAB_AK_07_Lab1_Ex3_Scheduled_Query.md

Module: 07
Lab/Demo: 01
Exercise 3
Fixes # .
Changes proposed in this pull request:

Added some missing KQL code blocks around KQL code

accepted add of KQL code block designator.


Auto Size & Place for Company Logo on Report

Almost all Reports and Documents have the Company Logo in the upper Right Corner. Most companies don't want to custom layout their documents just because they have a different size logo or move the Picture box around.
In the past we solved this with clausl's solution: using the System.Drawing.Bitmap DotNet to find out the size of a Picture and pad the Image in RDLC layout accordingly. But since it's "Don'tNET" now, we Need another solution.
Best solution would be to say to the Image box "Fit proportionally" and "Align = Right". If RDLC won't support this, we Need another solution. We're open to your suggestions :)
If all else false, you can give us Access to System.Drawing.Bitmap and we'll do the rest.

Hi! Thank you for reporting this issue! It seems that it is related to application functionality. This repository is no longer dedicated to handling this type of issues. Please use the following repository:
https://github.com/Microsoft/ALAppExtensions .
I will transfer this issue over to that repository.


Clean up DoS adjustment code, include saves vs incapacitation effects

Conflicts!
While you're at it though, if you're down, treat wounds might look neater if you make the adjustments into private variables. RiskySurgeryAdjustment and MortalHealingAdjustment respectively.