With magento (1) in htdocs subdirectory,  creation of local.xml failed or in wrong location

Describe the bug
Creation of local.xml failed. selected docroot not added to path
Example error message: Unable to create settings file '/home/kkrieger/htdocs/PROJECT/app/etc/local.xml': open /home/kkrieger/htdocs/PROJECT/app/etc/local.xml: no such file or directory
BUT: I can run ddev start and the project is running
Only issue is failing creation of the config file
To Reproduce
Steps to reproduce the behavior:

Go to your project folder
ddev config
Accept projectname
existing htdocs is recognized, accept htdocs as docroot
select magento from Project Type list
=> creation of local.xml failed
you should see that ddev tried to create the local.xml in NOT htdocs docroot in which the magento code is located

Expected behavior
Config file should be saved to PROJECT_PATH + previously selected docroot + app/etc/local.xml
Version and configuration information (please complete the following information):

Ubuntu 20.04 LTS, 64 bit

docker version                                                                                 ✔  6705  09:46:24
Client:
Version:           19.03.8
API version:       1.40
Go version:        go1.13.8
Git commit:        afacb8b7f0
Built:             Wed Mar 11 23:42:35 2020
OS/Arch:           linux/amd64
Experimental:      false
Server:
Engine:
Version:          19.03.8
API version:      1.40 (minimum version 1.12)
Go version:       go1.13.8
Git commit:       afacb8b7f0
Built:            Wed Mar 11 22:48:33 2020
OS/Arch:          linux/amd64
Experimental:     false
containerd:
Version:          1.3.3-0ubuntu2
GitCommit:
runc:
Version:          spec: 1.0.1-dev
GitCommit:
docker-init:
Version:          0.18.0
GitCommit:
DDEV-Local version      v1.13.0
commit                  v1.13.0
db                      drud/ddev-dbserver-mariadb-10.2:v1.13.0
dba                     phpmyadmin/phpmyadmin:5
ddev-ssh-agent          drud/ddev-ssh-agent:v1.13.0
docker                  19.03.8
docker-compose          1.25.0-rc4
os                      linux
router                  drud/ddev-router:v1.13.0
web                     drud/ddev-webserver:v1.13.0
config.yaml
APIVersion: v1.13.0
name: werbekoenig
type: magento
docroot: htdocs
php_version: "5.6"
webserver_type: nginx-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
nfs_mount_enabled: false
provider: default
use_dns_when_possible: true
timezone: ""

Do you have any custom configuration (nginx, php, mysql) in the .ddev folder?
no

Additional context
project structure:
/home/kkrieger/htdocs/PROJECT/
|- .ddev
|- composer.json
|- htdocs
| - index.php
|- vendor

On mine it creates the local.xml just fine... in the wrong place. It creates it in /app/etc/local.xml instead of /htdocs/app/etc/local.xml, where I assume it should be created?
I note that it also doesn't autodetect the project type when magento is in a docroot, which is probably related to this.
I have no idea why it can't create the file in your environment, permissions? HOWEVER... you say

Example error message: Unable to create settings file '/home/kkrieger/htdocs/PROJECT/app/etc/local.xml': open /home/kkrieger/htdocs/PROJECT/app/etc/local.xml: no such file or directory

And it's trying to put it in the wrong place right?

I checked it again with another project:
It created app/etc/.gitignore but not in selected webroot
Message: No /home/kkrieger/htdocs/PROJECT/app/etc/local.xml file exists, creating one  Unable to create settings file '/home/kkrieger/htdocs/PROJECT/app/etc/local.xml': open /home/kkrieger/htdocs/PROJECT/app/etc/local.xml: no such file or directory
/home/kkrieger/htdocs/PROJECT/app/etc/local.xml: no such file or directory << is right, the path should be /home/kkrieger/htdocs/PROJECT/htdocs/app/etc/local.xml: no such file or directory
Also autodetection did not work at all. ddev config proposes "wordpress" as detected code
May it be that the issue is related to my personal projects path /home/kkrieger/htdocs/PROJECT which already includes htdocs

I've never seen a use of htdocs like that, but don't think that's likely the problem. I think it's more likely that the autodetect of magento-in-subdir is just failing.

In ddev v1.16+ there is a bit of improved docroot detection, but I don't think it would affect this one.

I had just the same issue with the local.xml not beeing created and using the wrong path.
I think this are separate Issues.
For the file not beeing created, on the second run of ddev config it got created, so I think it is related to the directory not existing initially.
I think the code has an edgecase to only create the directory and not the file, if the directory does not exist yet.
This could either be a logic error, or some weird timing issue.
My environment:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:        20.04
Codename:       focal

$ uname -a
Linux DESKTOP-JU5UTRU 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

I run WSL2 on Windows 10 Pro, Version 2004

@Flyingmana you think your issue is not the same as this one? In that case can you please open a new issue and explain yours very clearly?

Iam pretty sure my Issue is the same as the initial reported one.
Maybe @kkrieger85 can validate " failing creation of the config file" only happens, if the directory does not exist before.

So @Flyingmana you're also working with magento 1?

Yes

ACK, will check tomorrow

Generation works fine in ddev 1.16.5.
My Steps:
ddev --version
ddev version v1.16.5

git clone OpenMage
cd OpenMage

ddev config
-> yes to all
(magento was identified correctly)

Second try:
Using an extra htdocs folder and composer.
Results: It seems, that detection of magento fails if its located in a custom docroot, e.g. htdocs. Without correct detection of magento, the app/etc/config.xml will be generated in wrong directory.
Here's my sample composer setup:
~/ddev-config-test/composer.json
{
    "name": "kkrieger/ddev-config-test",
    "description": "only for test purpose",
    "authors": [
        {
            "name": "kkrieger (Kevin Krieger)",
            "email"<EMAIL_ADDRESS>        }
    ],
     "require": {
        "aydin-hassan/magento-core-composer-installer": "*",
        "openmage/magento-lts": "*"
    },
    "extra": {
        "magento-core-package-type": "magento-source",
        "magento-root-dir": "htdocs"
    }
}

composer install
=> openmage will be installed to htdocs folder
ddev config
=> doesn't detect magento/openmage

I'd love it if you could test with current ddev v1.17.1, as htdocs is now a "found" docroot name.

Unfortunately, it doesn't work:
Preparation:
mkdir ddev-config-test
vi composer.json (with example above)
composer install

ddev config
Creating a new ddev project config in the current directory (path/to/ddev-config-test)
Once completed, your configuration will be written to path/to/ddev-config-test/.ddev/config.yaml

Project name (ddev-config-test):

The docroot is the directory from which your site is served.
This is a relative path from your project root at path/to/ddev-config-test
You may leave this value blank if your site files are in the project root
Docroot Location (htdocs):
Found a php codebase at path/to/ddev-config-test/htdocs.
Project Type [backdrop, drupal6, drupal7, drupal8, drupal9, laravel, magento, magento2, php, shopware6, typo3, wordpress] (php): magento
No path/to/ddev-config-test/app/etc/local.xml file exists, creating one
Unable to create settings file 'path/to/ddev-config-test/app/etc/local.xml': open path/to/ddev-config-test/app/etc/local.xml: no such file or directory

So ddev config seems to ignore previousely set docroot location

It's not ignoring it, it reports that it used it, "Found a php codebase at path/to/ddev-config-test/htdocs", but apparently it's not looking in there.
Thanks for the re-check on this, it will make it easier to get fixed up. Thanks!

Hi,
run into same issue. Shouldn`t settingsFileBasePath  include docroot form config.yaml or from composer.json magento-root-dir?
// setMagentoSiteSettingsPaths sets the paths to settings.php for templating.
func setMagentoSiteSettingsPaths(app *DdevApp) {
	settingsFileBasePath := app.AppRoot
	app.SiteSettingsPath = filepath.Join(settingsFileBasePath, "app", "etc", "local.xml")
}

Thanks @sreichel - do you want to do a PR to fix it? Easy to test on gitpod and easy to test locally. This definitely deserves to be fixed in this release cycle. Really before now :) https://github.com/drud/ddev/blob/master/docs/developers/building-contributing.md

Fixed in #3481 - this wasn't just a magento 1 problem, also magento2


How to  use MMI in seq2seq model?

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


Remove plot when creating rotor

The rotor geometry was plotted when the object was instantiated. The
purpose of this was to show the user the rotor geometry so that the user
could check if everything was correct before eigenvalues, eigenvectors
etc. were calculated.
The problem with this approach is that the rotor will be automatically
plotted in situations where this is not wanted by the user, such as when
running a script where several rotors will be instantiated or when we
are running the tests locally, in this case, several windows with plots
will appear and the tests will take a long time.
With this PR the plot of the rotor after instantiation will be optional
to the user. A message is provided to let the user know that the
plot_rotor() method can be used.
Additionally, the message "calculate eigenvalues and frequencies", which
is redundant, has been modified to "calculate rotor state".

Codecov Report

Merging #78 into master will decrease coverage by 4.83%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #78      +/-   ##
=========================================
- Coverage   64.03%   59.2%   -4.84%
=========================================
  Files           8       8
  Lines        1354    1353       -1
=========================================
- Hits          867     801      -66
- Misses        487     552      +65

Impacted Files
Coverage Δ

ross/rotor_assembly.py
62.78% <100%> (-5.25%)
:arrow_down:

ross/disk_element.py
66.66% <0%> (-22.73%)
:arrow_down:

ross/shaft_element.py
88.42% <0%> (-5.79%)
:arrow_down:

ross/bearing_seal_element.py
68.7% <0%> (-4.59%)
:arrow_down:

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 28f5416...74096c0. Read the comment docs.

What I had in mind to solve this issue, is to add a new parameter(test_mode=False) to the Rotor class and put an if to properly plot the rotor(if test_mode==False),  what do you think?

What I had in mind to solve this issue, is to add a new parameter(test_mode=False) to the Rotor class and put an if to properly plot the rotor(if test_mode==False), what do you think?

That could be an option, but I am worried if this will be intuitive for the user in the case where they are running a script that creates multiple rotors.
I am saying that because I believe that one of the main purpose of our project is to make the library to be called by other projects/scripts and in this case the graphical interface would be secondary, and I consider automatically showing the plot a kind of graphical interface.
@rodrigomoliveira1 @thiagoritto what do you guys think about this issue?

Well, indeed we need an option to avoid this kind of situation. For example, when we run "convergence" classmethod, it plots every rotor built at each iteration, and this might be annoying for the user, moreover, it consumes more RAM while plotting.
I think @raphaeltimbo's option is better because it is easier for the user to understand the command required to plot the rotor model. On the other hand, adding a parameter like @GabrielBachmann said allows the user to check every model build at each iteration, if the user needs to check something in real time. The fisrt option won't allow you retrieve everything, only the last one done, I guess. But that's why we are adding tests files. So, I am with @raphaeltimbo.


Dropdown: DropdownButton prop of onClick doesn't do anything when called.

Describe the bug
When trying to call a function with onClick, nothing gets returned.
To Reproduce
Steps to reproduce the behavior:

Go to Dropdown in docs
In first example, click on edit in codesandbox
Add 'onClick' to DropdownButton to verify nothing returns

Expected behavior
This prop should allow for a custom event.

Functioning as designed-- onClick is handled by onOpen and onClose on Dropdown


Expose BLOCK_GAS_LIMIT

Problem
When indexing a graph node against the relayer, eth_call requests cannot specify gas limits and the relayer defaults to the maximum possible quantity as defined by BLOCK_GAS_LIMIT. When only using the relayer for graph indexing, this is far too big of a gas quantity especially when the few eth_call requests will be simple queries like HTS.name() HTS.symbol() etc. These requests are not frequent but can occur via indexing depending on graph mappings.
Can we expose BLOCK_GAS_LIMIT via an environment variable to avoid building from source? Or perhaps a better solution to handle eth_call requests without a specified gas quantity?
Solution

Expose BLOCK_GAS_LIMIT via environment variable
Alternative handling of eth_call requests without a specified gas limit

Alternatives
I've been modifying packages/relay/src/lib/constants.ts property BLOCK_GAS_LIMIT to something lower like 50_000 or 100_000 to cover required calls much cheaper and then building from source code

Hey @bmino, thanks for the ticket.
Can you elaborate on the negative impact here?
If the value you use or usually encounter is less than the 15_000_000 limit from the network I want to understand the undesired UX here.
For content we limit since it's a consensus node level property and would result in a transaction that won't succeed.
I think making this config is  change is doable once we better understand the use case.
It's a minor change so something that a community member could open a PR for.

I tried to explain an overview in the OP. It mostly relates to handling legacy eth_call requests that do not specify a gas limit. The relayer will set the maximum gas limit of BLOCK_GAS_LIMIT and the call will consume 80% of this as per Hedera's gas refund policy. Typically, a caller would simply specify a proper gas limit, but this is aimed to address use cases where the caller cannot/does not specify.
In my specific use case I know all possible eth_call requests that will come through the relayer so setting the BLOCK_GAS_LIMIT lower is a palatable solution. Most relayers will not find this acceptable however since they likely handle a wide variety of request types with varying costs.
Another possibility is something like a "DEFAULT_GAS_LIMIT" for requests that do not specify gas limits?

I guess under constants.ts we can probably have something like
BLOCK_GAS_LIMIT: process.env. DEFAULT_GAS_LIMIT ? process.env. DEFAULT_GAS_LIMIT : 15_000_000
(and adding the mapping in the configmap.yaml)

I like this solution @Nana-EC and will implement soon as I can spare some time. I did some investigation and found that BLOCK_GAS_LIMIT was working effectively for me since the request first had its gas set to TX_DEFAULT_GAS (or in some cases I see hardcoded 400000 values ..) and then was truncated to my custom BLOCK_GAS_LIMIT which was even lower

testing this behavior is difficult when the initialization of the default gas is done on creation of EthImpl based on environment variables at that time. changing the environment variable within the tests will not alter the actual state of the EthImpl being tested

If your test needs a custom EthImpl you can always create one for you section of tests.
Here's an instantiation example https://github.com/hashgraph/hedera-json-rpc-relay/blob/main/packages/relay/tests/lib/eth.spec.ts#L109
Also you can add a separate test file


query: Inconsistent "thanos_status" metric naming

Thanos, Prometheus and Golang version used:
Thanos: 0.11
Promethus: 2.16
Golang: 1.13.6
What happened:
I was exploring some of the internal Thanos metrics, and noticed some inconsistencies with the query component.
Each component has a thanos_status metric, except query, where it is called status.
Results from http://<query>/metrics:
# HELP status Represents status (0 indicates success, 1 indicates failure) of the component.
# TYPE status gauge
status{check="healthy",component="query"} 1
status{check="ready",component="query"} 1

Results from http://<compact/bucket/sidecar/store>/metrics:
# HELP thanos_status Represents status (0 indicates success, 1 indicates failure) of the component.
# TYPE thanos_status gauge
thanos_status{check="healthy",component="sidecar"} 1
thanos_status{check="ready",component="sidecar"} 1

What you expected to happen:
Metric naming should be consistent across all components.

0 indicates success, 1 indicates failure

Additionally, this #HELP is the inverse of what it should be.

Hi, sorry for the inconsistent metrics, we will fix soon.

0 indicates success, 1 indicates failure

Additionally, this #HELP is the inverse of what it should be.
This HELP message has been changed in this PR #2216 .


Always respect DisplayHint::Ascii for byte slices

This is a naive implementation, which assumes, that the Uxx value
is always in u8 range. It does not consider the given format type {=$type}
Also, it assumes that the element args array only contains one element
Fixes #318

I've resolved the concerns in https://github.com/knurling-rs/defmt/pull/321#discussion_r546697911, but I'm still making assumption, where I'm not sure if they hold true for every case.

If any element in a slice has the "{=u8}" format, does that mean, that all elements have this format?
Does "{=u8}" format ensure, that the values are also always in u8 range?

And I feel, that this code can be written a bit more elegant / readable. But it works for now :)

Rebased and sqaushed. Ready for review :)

Rebased and sqaushed. Ready for review :)

bors r+

bors r+


Flickering on imx6 with more than 20 leds

Hello,
We have 2 humming-boards and in one of them we compiled Openlec enabling the SPI from user space.
After fixing some issues (Libraries), we can run Hyperion with up to 20 leds configured. If we configure more it start to flicker. We connected the oscilloscope and it looks like an overflow in the SPI buffers / DMA or whatever Hyperion use to communicate through SPI.
Do you know what can be the problem?
Regards,
Jonathan.

You might have more luck posting to the forum:
https://hyperion-project.org/
We don't do any dodgy low level access when using SPI - we just use the kernel drivers and we don't manage our own fifo

I replaced the "writeBytes" method inside the file "LedSpiDevice.cpp" with the next one:
`
int LedSpiDevice::writeBytes(const unsigned size, const uint8_t * data)
{
if (mFid < 0)
{
return -1;
}
spi.tx_buf = __u64(data);
spi.len    = __u32(size);
    unsigned int currentPosition = 0;
    int retVal = 0;
    while(currentPosition < size)
    {
        spi.tx_buf = __u64(data+currentPosition);
        spi.len = 30;
        if(spi.len > (size - currentPosition))
            spi.len = size - currentPosition;
        retVal = ioctl(mFid, SPI_IOC_MESSAGE(1), &spi);
        currentPosition += spi.len;
    }
    if (retVal == 0 && mLatchTime_ns > 0)
    {
            // The 'latch' time for latching the shifted-value into the leds
            timespec latchTime;
            latchTime.tv_sec  = 0;
            latchTime.tv_nsec = mLatchTime_ns;

            // Sleep to latch the leds (only if write succesfull)
            nanosleep(&latchTime, NULL);
    }

    return retVal;

}
`
It solve the flickering in my leds string (72 Leds). I did not have this problem with the raspberry, I am sure that it is something related to an overflow in the FIFO of the SPI device.
To fix the issue in right way I need to know which module of software should be the responsible to split the message. I think it should be the user space driver in the Linux kernel, but if there is a way to ask the driver about the maximum length of the SPI message then the responsible should be Hyperion.
Do you know if the SPI driver has a way to ask about the maximum message length?

Yuk
I tend to agree that the kernal should do the right thing.
Maybe it's buggy ?
I can't imagine an iMX6 board and working kernel struggling with 60 byte at a time.
It really needs to be in the kernel - if you have to split the writes from user space your could get rescheduled between fragments which in extreme cases will
Cause flicker you can't fix

It is true, the delay between every write is variable because of the OS, but at least it seems to work good. I will try to fix the problem in the Linux driver and publish it to Openelec, but meanwhile if someone else has the same problem at least they can try this workaround.
Thanks!!

cat /sys/module/spidev/parameters/bufsiz
What do you get ?

I get 4096.
I didn't take a look yet, but the communication should be something like:
hyperiond <-> SPIDev <-> SPI.
I think this buffer is the buffer between hyperiond and SPIDev, and the problem should be in the other communication because of the hardware FIFO.
Thanks you very much for your time.

Hello,
I solve the problem with the driver, using the latest one available in the official Linux repository. I have created a patch and I will try to introduce it in openelec. The issue is: Issue in OpenELEC.
Cheers.


Change the wording for the "Deploy as a Prototype" to a meaningful one

Describe your problem(s)
Need to change the wording for the "Deploy as a Prototype" to a meaningful one.

Here Deploy as Prototype refers to the transition from PROTOTYPED state to PUBLISHED state right?
So why can't we just say Publish similar to what we show when API is in CREATED state

I think when someone wants to go from prototype to published, they will either update the existing prototype endpoint to production or change the endpoint type to HTTP and point to the corresponding production and sandbox endpoint.
So it's the same as publishing from the created state, except that when it has gone through an additional step?
So my suggestion is to use Publish

I think this is about changing the name of "Deploy as a Prototype" when going from Created to Prototyped state. The above image seems to be making a little confusion.


Merlin replaced with ark-transcript

The only thing that we've decided for sure in w3f that we don't want merlin due to limited implementations and being tricky to specify. So so far as the simplest solution we have @burdges' ark-transcript.

@swasilyev for reference https://github.com/davxy/ring-proof/pull/3/files
As you can see in my draft PR the merlin stuff is gated by merlin feature and thus optional.
The same can be done for ark-transcript (i.e. provide an implementation of your Transcript trait which uses ark-transcript).
Of course for JAM we'll specialize it to use ark-transcript. But, as said in the chat, I really like your ring lib to be not bound to a precise incarnation of  transcript (as it is also generic for the curve) as it may be useful for other applications and people may want to use their stuff.
We 💕 generic transcripts 💕

https://github.com/w3f/ring-proof/pull/30#issuecomment-2335161555

I think users can provide their implementation w/o extra feature


enum exported from external module ("declare module" + "export enum") doesn't generate any javascript

Hi,
I'm having problems with enums defined inside external module (i'm compiling to amd module format).
When using internal module format
module someModule {
    export enum Color {Red, Green, Blue};
}

then resulting JS contains enum and constants as expected (see http://www.typescriptlang.org/Playground#src=module someModule {
    export enum Color {Red%2C Green%2C Blue}%3B
}%0A ).
But when using following syntax:
declare module 'someModule' {
    export enum Color {Red, Green, Blue}
}

then resulting JS file is empty (see http://www.typescriptlang.org/Playground#src=declare module someModule {
    export enum Color {Red%2C Green%2C Blue}
}%0A )
Is this a bug or am i doing smth wrong? I don't see any compiler errors so I'd guess that this could be a bug.
I'm using TypeScript 1.5 beta with amd module format.

declare creates an "ambient" module -- it's for describing an existing object that isn't part of your compilation. For example, in node.d.ts we have declare module "fs" { to define the shape of the module fs.
If you want to have an external module with that content, make a file someModule.ts with the top-level declaration export enum Color { /*...*/ }

Hi,
Thanks for the response. I came out with the same solution later yesterday, but i wanted it to be confirmed that i understood it right.
Thanks again for the explaination.


Module "events" has been externalized for browser compatibility. Cannot access "events.EventEmitter" in client code

Hello,
I created a vanilla js project using Vite, import this lib will result in mentioned error
npm create vite@latest ... npm install p2p-media-loader-hlsjs hls.js
in main.js
import Hls from 'hls.js'; import { HlsJsP2PEngine } from 'p2p-media-loader-hlsjs';

If i try using importmap method then everything is fine. But since importmap is not fully supported by all browsers, so i prefer to use npm method. Can you check this?

Hi @nvtienlg, I think node polyfills required by bittorrent-tracker package are missing. Check our Vite config for reference: https://github.com/Novage/p2p-media-loader/blob/main/demo/vite.config.ts


Non terminating image check does not support parent in devfiles

/kind bug
Which area is this bug related to?
/area ci
/area registry
Bug Summary
The check_non_terminating script is failing in case a registry stack is using a parent devfile.
Describe the bug:
As the devfile is not flattened before checking for non terminating images, the script is unable to find any components.
To Reproduce:
Create a registry stack that has only a metadata & parent section. An example is here:
https://github.com/devfile/registry/actions/runs/9259636857/job/25472255936?pr=401
Expected behavior
The check should be passing and the devfile should be flattened during the execution of the script with all the parent components.
Any logs, error output, screenshots etc? Provide the devfile that sees this bug, if applicable
Logs can be found here:
https://github.com/devfile/registry/actions/runs/9259636857/job/25472255936?pr=401
Testing /home/runner/work/registry/registry/stacks/ollama/devfile.yaml
  COMMAND: minikube ssh docker pull null

Additional context
Useful context is here: https://github.com/devfile/registry/pull/401#issuecomment-2134023630
Any workaround?
N/A
Suggestion on how to fix the bug
N/A

One solution would be to invoking the devfile/library cmd and flattening the devfile before examining it.


[WIP] Attempt to pin gcloud version to 332.0.0

What type of PR is this?
/kind failing-test
/kind flake
/kind regression

What this PR does / why we need it:
This change attempts to use an older version of gcloud to determine if there is an API change with gcloud. If pull-cip-auditor-e2e tests pass, we can verify that this version (332.0.0) allows the use of resource.type=project for logging.
Which issue(s) this PR fixes:
None

Special notes for your reviewer:
Does this PR introduce a user-facing change?

Pin gcloud version to 332.0.0 for image building.

/test pull-cip-auditor-e2e

Given https://github.com/kubernetes-sigs/k8s-container-image-promoter/pull/342, I think this has proven to be obsolete.
/close


<EMAIL_ADDRESS>

logs_12.zip
Resources.csv
Business CoachBot_2023-08-15T07_44_55.csv
BCG User Access 08152023.xls
_00_04_13_00041346.pdf
cash_app_report_btc.csv
Driver_Record 2.PDF


caprice32: unstable-2018-02-10 -> unstable-2018-03-05

Motivation for this change
fix memory leak.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build caprice32

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: caprice32
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


Download link for M1 downloads file with missing .dmg extension.

File: desktop/mac/install.md

Works fine for me.

This is an issue I ran into too, and was in the process of reporting when I found this GH Issue already. The arm64 vs apple silicon link doesn't matter. It appears to affect Firefox only, as I also tested in Chrome and Safari.
Expected behavior

Visit https://docs.docker.com/desktop/mac/install/ using Firefox
Click "Mac with Intel chip" or "Mac with Apple chip"
Observe the browser downloading a file named Docker.dmg

Actual behavior

Visit https://docs.docker.com/desktop/mac/install/
Click "Mac with Intel chip" or "Mac with Apple chip"
Observe the browser downloading a file named Docker (no extension)
Once complete, rename the file to Docker.dmg and now the image can be mounted by Finder

Information

Browser Version: Firefox 103.0b5 (64-bit)

This seems specific to Firefox as the file has the dmg extension when downloaded via Chrome or Safari.
Given the system privileges Docker for Mac has, I was initially very apprehensive about renaming the file and assumed that potentially the servers had been compromised. So while this seems like a minor issue, I don't believe it is since it degrades trust and trains users to not be as cautious.

Closing PR as this issue has been resolved. The dmg extension is now visible when you download Docker Desktop through Firefox


File-Loader not copying all image files over

I am running the latest file loader config like so:
            {
                test: /\.(png|jpeg|jpg|gif)$/,
                use: [
                  {
                    loader: 'file-loader',
                    options: {
                      name: 'images/[path][name].[ext]',
                      context: './images'
                    }
                  }
                ]
            },

But I am only getting a partial amount of my images and not getting them all. For instance:
logo-qb-header-sm.png doesn't copy over. Yet 1/2 the other ones in that folder do.
                    Asset     Size  Chunks                    Chunk Names
        images/leaves.jpg   226 kB          [emitted]
  images/audi-vintage.jpg   400 kB          [emitted]  [big]
        images/snacks.jpg   288 kB          [emitted]  [big]
      images/audi-80s.jpg  54.9 kB          [emitted]
       images/audi-a3.jpg  47.6 kB          [emitted]
      images/audi-add.jpg   106 kB          [emitted]
     images/audi-dash.jpg   168 kB          [emitted]
        images/coffee.jpg  9.46 kB          [emitted]
           images/dog.jpg  9.84 kB          [emitted]
<EMAIL_ADDRESS>  21 kB          [emitted]
     images/landscape.jpg   151 kB          [emitted]
        images/flower.jpg   239 kB          [emitted]
images/painted-ladies.jpg   297 kB          [emitted]  [big]
    images/tall-image.png   420 kB          [emitted]  [big]
            app.bundle.js  6.35 MB       0  [emitted]  [big]  app
        aurelia.bundle.js   923 kB       1  [emitted]  [big]  aurelia
               global.css   488 kB       0  [emitted]  [big]  app
        app.bundle.js.map  8.17 MB       0  [emitted]         app
           global.css.map   1.1 MB       0  [emitted]         app
    aurelia.bundle.js.map   1.1 MB       1  [emitted]         aurelia
              favicon.ico  1.15 kB          [emitted]
               index.html  1.16 kB          [emitted]

Is there something wrong with what I am doing or understanding here? Shouldn't it just copy over all files in the images that have the extension png/jpeg/jpg/gif right? I am not seeing any errors printed out

Do you require the images that are not included in your JS code? It will only include those

Ah yeah just learned that. Thanks will close this.

@SpaceK33z I have the same issue - could you give an example of require / import the images.
Thanks

@chrisj-skinner found this one on stackoverflow
https://stackoverflow.com/questions/39458511/how-to-use-es6-import-for-images

The problem is if you want your assets based on configuration and dynamic folders.
It turned out that building a White Label application is harder than I imagine.
1 - I don't import my images cause I don't want them to be a burden to my bundle.
2 - I don't reference them directly because they directly because they could come from my repo or from S3 for example and this path is completely configurable on my app.
It would be nice if I could inform the path of images and have them copied from there. For now the solution is using CopyWebpackPlugin.

An we keep going through tutorial ans I dont think I saw one person adding an import.


[BUG] The listener of addPageRequestListener should not be called when status is PagingStatus.loadingFirstPage

To fix it I had to add some validations in my BLoC or just
   _pagingController.addPageRequestListener((pageKey) {
      if (_pagingController.value.status != PagingStatus.loadingFirstPage) {
        widget.bloc.loadMoreItems();
      }
    });

Hi @basketball-ico .
Why is that a bug? If the status is loadingFirstPage, it's because we don't have any items, and if we don't have any items, we should request a new page.
I'm closing the issue for now, but feel free to continue the discussion.

Thanks, I understand that if you are loading the first page it is because you already made the first request to load the first page, so you should only call the next page, when the first page is loaded and has not reached max page,, that is, in "onGoing" , if you call it before that, the request for the first and second page would be made almost immediately, causing bugs,

It makes perfect sense, but in the end it all seems to be about "taste".
By calling the listener for every page (including the first) developers can have a unique way of handling page fetches. Otherwise, you'd have to write different code for handling the first and the subsequent pages.
Thank you for your feedback


Implement a droppable directive

Needs the following outputs (to match the html5 spec):
dragEnter
dragLeave
dragOver
drop

Needs to support drop data.

Making some good progress with this, observables make things so easy!


Support for all currently available chips

[x] ESP32
[x] ESP32-C2
[x] ESP32-C3
[ ] ESP32-C6
[ ] ESP32-H2
[x] ESP32-S2
[x] ESP32-S3

Closed by #25


Set source index to 'read-only' during migrations

To guarantee data consistency during migrations, the source index should be read-only.

Christophe already pushed a POC for this. See ReadOnlyIndexContext class.


Allow hyphens in program name

Function programname didn't replace '-' for '_'
Restricted regular expression that get rids of version numbers in
program and module names.
Added selftest.

Possibly related: https://github.com/SnabbCo/snabbswitch/pull/439#issuecomment-100935622

The patch admits program names to have hyphens, but directories still need to be named with underscore.

Should we also allow hyphens in directory names? Was there a specific reason not to allow them? I feel like it would be useful to formulate the current naming restrictions and document them somewhere.

I tested the code again. After the PR, directory names can either have a hyphen or an underscore. It works in both cases, but only one of them can be allowed (in other words, snabb-nfv and snabb_nfv cannot coexist, it triggers a compilation error).
As for me, I think both allowed. However, as a style guide rule I would prefer to favour hyphens to separate compound names over underscores.
With regard to hyphens in module names, I found this information but I think this is old Lua behaviour:
_ "Moreover, if the module name has a hyphen, its prefix up to (and including) the first hyphen is removed. For instance, if the module name is a.v1-b.c, the function name will be luaopen_b_c."_
http://lua-users.org/lists/lua-l/2009-07/msg00074.html
SnS creates modules returning tables, which is the recommended way of creating modules since Lua 5.2, instead of given modules a name using the module function.

Great to revisit the topic of naming!
Couple of ideas:
Do we want to allow versions like 1.0-alpha2? The regex in this PR would disallow the alphabetic characters and the hyphen. Could be worth considering something more accepting like -[0-9].*?
Does our current method of program invocation making naming awkward and could we fix that?  On the one hand snabb foo is a neat invocation but foo may clash with something else on your computer. On the other hand snabb snabb-foo is a bit too wordy while snabb-foo is pretty okay. Could it be worth adding logic so that if argv[0] is snabb-foo then we treat the program name as foo? That way every program could be neatly invoked either via the snabb name or via a dedicated name.
Thinking of this last point in terms of our existing programs I would be happy to install packetblaster as /usr/bin/packetblaster but I would prefer to install the gc cleanup program as /usr/bin/snabb-gc than simply /usr/bin/gc.
I am not sure if this makes things too complicated and creates too many choices though. The requirements are not completely straight in my head. One aspect that I think is really important is that each snabb program should be able to be distributed independently i.e. no requirement that your snabbnfv and packetblaster and other programs are built from the same source.

I like the proposed changes. I also find it redundant to have a program called snabb-XXX and have to type snabb two times in case of running it as a parameter of the snabb binary. Summarizing the proposed changes:

Allow alphanumerics and '-' in version names.
If argv[0] has a "snabb-" prefix, remove it a treat the rest of the string as the program name. After that rely on the mechanism for executing programs.

Updated PR. This is how program name is selected now:

snabb foo => foo
snabb-foo => foo
snabb snabb-foo => foo

What is still not addressed yet is the question concerning hyphens being converted to underscores. That code is still in the programname function and it is necessary so programs such as example_replay and example_spray can work. If we agreed on using hyphens instead of underscores in program names, I can rename the dirs in a different PR. I don't see any technical limitation why it wouldn't be possible but I'm aware of Max's https://github.com/SnabbCo/snabbswitch/pull/439#issuecomment-100935622

This looks excellent to me. Especially appreciate the test cases that really spell out the intended behavior.
There is a bug in one usage:
$ ./snabb
...
core/main.lua:82: variable 'statis' is not declared
stack traceback:
	core/main.lua:126: in function <core/main.lua:124>
	[C]: in function 'error'
	lib/lua/strict.lua:37: in function '__index'
	core/main.lua:82: in function 'usage'
	core/main.lua:45: in function <core/main.lua:32>
	[C]: in function 'xpcall'
	core/main.lua:155: in main chunk
	[C]: at 0x0044f770
	[C]: in function 'pcall'
	core/startup.lua:1: in main chunk
	[C]: in function 'require'
	[string "require "core.startup""]:1: in main chunk


Adds a js linter to frontend to enforce code style.

Please updated the repo README.

fix markdown in step 6
add step 7 about linting frontend, with link to your README


Add Akismet spam detection to user creation / updating

We are still getting a lot of spammers. We are catching most of the content spam now (spammy tracks and comments) but we are not yet catching user / profile spam.
Akismet works great (unlike captcha and invisible_captcha), so let's use it to detect spammers by sending their profile info like bio, email address, website, name, ip to akismet (just like Asset and Comment do).
We need to answer a few questions like:

What happens when someone signs up and is marked as spam immediately. Can they activate?

If a user joins, makes a thredded post, then updates their profile with spammy stuff and we mark the user as spam — what happens to their content? Is it still displayed?

We probably want to 'shadow ban' users marked as spam. That is, the user is created, they can navigate, but their activity is not visible to the rest of the users. In a way, this makes it like paranoia's need of having deleted users remain in the db but not be displayed in the front end. However, we don't want to allow them to create content, such as upload or create forum posts.

We need to add the ability to view spammed accounts in the admin area and quickly unmark them as spam.

Success conditions:

[x] No more spammy users on https://alonetone.com/users
[ ] We didn't actually delete good users from production (important ;)
[ ] A way to mark users as spam / not spam from admin
[ ] No more spammy forum posts (these are coming from spammy users which shouldn't have the ability to post)

[ ] Run akismet on users#create

Some thoughts, @sudara :

Should we add Recaptcha or something during sign up to help us control spam volumes?
I've been thinking about User onboarding flow.

As a test, If a user is marked as spam, what if we DON'T activate the user? We display an error message with an<EMAIL_ADDRESS>email address (or something) where an angry/confused user can email for questions. If it happens and an actual person emails us, then we adjust the logic. (If we find a spammed but REAL user in /admin/users - we also adjust the logic.
Pros:

a fake user doesn't create fake content that we have to clean up.
hopefully, it deters that "bot" from attempting to create accounts with us in the future

Cons:

if a real user accidentally marked as spam and is not allowed to proceed, we might lose him/her forever 😢

As a test I want to run a spam check on all users locally, then spot check all that were detected as spam by Akismet. If we find that it's pretty accurate, then a Cons above might be less risky.


feature :: define a basic dataset type

DataSet type is defined as two properties:

columns: a list of objects defining columns

each column is itself defined by a name and
an optional type. We'll probably add extra
metadata later,

data: a list of list of values

Use this type in the DataViewer component.
Related to https://github.com/ToucanToco/vue-query-builder/issues/26

Codecov Report

Merging #120 into master will increase coverage by 0.28%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #120      +/-   ##
==========================================
+ Coverage   85.67%   85.95%   +0.28%
==========================================
  Files          13       14       +1
  Lines         349      356       +7
  Branches       40       41       +1
==========================================
+ Hits          299      306       +7
  Misses         42       42
  Partials        8        8

Impacted Files
Coverage Δ

src/components/DataViewer.vue
100% <100%> (ø)
:arrow_up:

src/lib/dataset.ts
100% <100%> (ø)

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 95125a1...3d52946. Read the comment docs.


Species list forms, minor refactor

Also adds a helper to produce the form alert about @dubious_where_reasons

Coverage: 93.528% (-0.01%) from 93.54% when pulling 67507efb6d31ad8be04305598458ac43bf795fe8 on nimmo-species-list-forms into 7f7dfdacc8b17e1b5d154a24afa97956cab3ab8f on main.


Add clearer highlighting in the file explorer

Currently when searching for a file in the file explorer with / the highlighting in the file explorer is unclear for what file is currently only and the search result. (eg in the screenshot index.html is open and the other index is the first search result)

Related: It's also not clear from the filename at the top of the editor which file I'm currently in. It would be useful if there is more than one file with the same name to show the immediate parent folder (or whatever the minimum path is needed to uniquely identify the file).

So if I understood ur question correctly, u mean that the highlighting of "open" file and "file shown as search result" is the same.
If I understood your question correctly the problem is more about the theme.
If u look at this screenshot for example with theme "Laserwave" u can see that the coloring is distinctive. So in this case I think its more about the theme you specifically are using.

As for your second point, I agree

VS-Code has this for example for all files, I would suggest adding smth like that? I could maybe take a look at it and implement it :)

It's the one dark pro theme, which I think was the default previously.

Related: It's also not clear from the filename at the top of the editor which file I'm currently in. It would be useful if there is more than one file with the same name to show the immediate parent folder (or whatever the minimum path is needed to uniquely identify the file).

If I'm not wrong, this is the window caption, so you can customize it in the settings.
This is what I'm using right now:
  "window.title": "${rootName}${separator}${dirty}${activeEditorMedium}",

activeEditorMedium shows the path from the root of the project you opened, you can use activeEditorLong to show all the path down to the root of the system.
I also dropped the "- Onivim 2" part and switched position for project root and filename.


Noetic release

This issue shall track open issues for the upcoming Noetic release.

[x] Release upstream packages
[x] Remove support for really old upstream dependencies (and corresponding #ifdefs)

[x] Ogre < 1.9 (811345857e380da3a6f624b75019e28d1e7f63a5)
[x] assimp < 2.0 (bc8214d4b3af1ebea709082353f153546c4676c5)
[x] boost::filesystem < 3 (0abad52b546d6afedd31ab8786f629df003cd60d)

[x] Finish tf2 migration (#1376)
I started this work in #1497, but cannot continue for the rest of the week. Any help is appreciated.
@sloretz: We could also skip this for now and have another (ABI and API-breaking) release in 1-2 weeks. If agreed, I could prepare this preliminary release tomorrow.
[ ] Cleanup for Ogre 1.12
Thanks to @simonschmeisser Ubuntu 20.04 ships with Ogre 1.12 - additionally to old Ogre 1.9. However, as discussed in https://github.com/ros/rosdistro/pull/24448, Gazebo still relies on Ogre 1.9. We could build RViz against Ogre 1.12, but this would require people to switch versions of libogre-dev between 1.9 and 1.12 when switching between the development of Gazebo and RViz.
My suggestion is to postpone this step and wait for the Gazebo team (@chapulina) to migrate as well. The current code base is compatible with all Ogre versions between 1.9 and 1.12.
[x] clang-tidy (#1494, 71715ceacf0b8344873659e339af23cf1fb2aa1e)

I think I finished the preparation for Noetic. My "release candidate" is here:
https://github.com/rhaschke/rviz/tree/noetic-devel
@simonschmeisser, please test.

In file included from src/rviz/ogre_helpers/movable_text.cpp:42:0:
src/rviz/ogre_helpers/movable_text.h:204:23: error: ‘const String& rviz::MovableText::getName() const’ marked ‘override’, but does not override
   const Ogre::String& getName() const override
                       ^~~~~~~

using ogre 1.12.4

@rhaschke let me know if I can help with this, I have a bit of time for Noetic work this week. <3
I'll start by testing your noetic branch.

Thanks for offering your help, @wjwwood. I have run all the test binaries and scripts of rviz, but another, independent tester would be great. If you give it a go, I will prepare the release later on.

@simonschmeisser, the Ogre 1.12 build issue was fixed via #1503.

Sure. I checked the basics. Only thing so far is that we will need to setup the rosdep rules for ogre and ogre dev.

I can confirm the basics are working as well on ogre-1.12, make run_tests also succeeds. Where can I find the instructions for running the render tests?

There are no explicit instructions. I just run all the binaries/scripts that are available via rosrun rviz ...
To validate, one needs to configure an appropriate display plugin...

Hmm, inconvenient ...
rosrun rviz color_editor_test
QObject::connect: Cannot connect QColorDialog::currentColorChanged(const QColor&) to (nullptr)::update()
double free or corruption (out)

after selecting a color ... but in rviz proper it works just fine

Re: Cleanup for Ogre 1.12
I commented on the ros/rosdistro pr as well (https://github.com/ros/rosdistro/pull/24448#issuecomment-624929858), but I think we cannot actually do 1.12 so long as gazebo depends on 1.9, because if we did then rviz and gazebo_ros_pkgs would not be able to be installed at the same time, as one would depend on libogre-1.9-dev and the other would depend on libogre-1.12-dev and those are not able to be installed simultaneously:
william@ubuntu:~/rviz_ws$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04 LTS
Release:	20.04
Codename:	focal
william@ubuntu:~/rviz_ws$ sudo apt install libogre-1.9-dev libogre-1.12-dev
[sudo] password for william:
Reading package lists... Done
Building dependency tree
Reading state information... Done
libogre-1.9-dev is already the newest version (1.9.0+dfsg1-12build1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libogre-1.12-dev : Conflicts: libogre-1.9-dev but 1.9.0+dfsg1-12build1 is to be installed
E: Unable to correct problems, you have held broken packages.

Also, I think there are some issues with some of the tutorials, for example I was spot checking the python tutorial and it isn't working at the moment (even after fixing up for python3):
william@ubuntu:~/rviz_ws$ ./install_isolated/lib/rviz_python_tutorial/myviz.py
Traceback (most recent call last):
  File "./install_isolated/lib/rviz_python_tutorial/myviz.py", line 161, in <module>
    myviz = MyViz()
  File "./install_isolated/lib/rviz_python_tutorial/myviz.py", line 46, in __init__
    self.frame = rviz.VisualizationFrame()
AttributeError: module 'rviz' has no attribute 'VisualizationFrame'

So, I'm investigating that as I have time too, but it also looks like the test scripts in this repository still do #!/usr/bin/env python, which will need to be changed in order to properly use python3, I believe:
william@ubuntu:~/rviz_ws/src/visualization_tutorials$ git diff
diff --git a/rviz_python_tutorial/myviz.py b/rviz_python_tutorial/myviz.py
index 62b7203..80067e1 100755
--- a/rviz_python_tutorial/myviz.py
+++ b/rviz_python_tutorial/myviz.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3

 ## BEGIN_TUTORIAL
 ##

Sorry if there are already issues made for these items, I haven't had a chance to read the issue backlog yet.

This is due to a small API change in the python wrapper here: f3eeaf4c695ed6bb1ef990e3cc37fb23801e5c1b.
Adapting the import line from
import rviz
to
from rviz import bindings as rviz
will fix the problem. We need to announce this API change somewhere though...

We need to announce this API change somewhere though...

@rhaschke added to the Noetic migration guide. Look correct?

Great, thanks @sloretz!

I'm going to continue testing this afternoon with ogre-1.9, since I made the decision to stick with that for Noetic.
@rhaschke I don't want to step on your feet, but I would like to get rviz released sooner than later. How can I help other than testing? Do you need to me to do any of the release bits? (changelogs, tagging, bloom, etc...)

Dear @wjwwood, I had already prepared most of these release bits locally. I was just waiting for the decision on Ogre 1.9 vs. 1.12. I'm currently running bloom already.
I did extensive testing a week ago and everything looked good to me. If you find issues in your tests, I will be happy to file a fixup release :wink:
This is the release PR: https://github.com/ros/rosdistro/pull/24810

Amazing, thanks so much @rhaschke!


Add simple in process FileCheck alternative

This commit adds a minimal implementation of LLVM's FileCheck which runs in process. This allows us to run the swift-mmio FileCheck tests in CI and makes it easier for contributors to run a full test suite without needing an LLVM toolchain build. MMIOFileCheckTests will still prefer to use LLVM FileCheck if it can be found on the host machine. Alternatively the 'SWIFT_MMIO_USE_SIMPLE_FILECHECK' environment variable can be set to force the use of the in process implementation.

@swift-ci test

@swift-ci test


Reasons for [Recommendation: Consider MDM only management for Azure AD joined devices.]

Please specify the reasons for recommending MDM only management.
I guess it is not a technical point of view but a cost aspect.

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

ID: c65624ff-7545-8514-4374-7dde7885ef43
Version Independent ID: 2687cf32-1618-a8d9-b249-7f31765f6856
Content: How to plan your Azure Active Directory join implementation
Content Source: articles/active-directory/devices/azureadjoin-plan.md
Service: active-directory
Sub-service: devices
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@buhibu9 Generally, co-management with SCCM is used in environments where they have a heavy on-premise presence and for machines that are already domain-joined. This will result in Hybrid Azure AD joined devices.
For Azure AD joined devices, we recommend MDM only because the devices are already joined to azure and you don't have to rely on on-premise infrastructure in the long run as well.

@buhibu9 We have not heard from you in a while. We will now proceed to close this thread. If you have further questions, please tag me in the comments and I will gladly continue the conversation.


Runelite custom rsn hider

This plugin hides the players username in game. It replaces it with a realistic looking username instead of a completely random string of gibberish.
The usernames were generated using this https://github.com/sherjilozair/char-rnn-tensorflow trained on reddit usernames.

Oohh I forgot that. I updated it with a new name.

You should probably remove the fake usernames that are >12 characters long, such as MetreschoYangonncofskin. I'd also remove names that aren't very friendly such as tigfucked


Add nextULIDFromEpoch

It would be great to add such method in your ULID service :
def nextULIDFromEpoch(epochMillis: Long): URIO[ULIDGen, ULID] = ???

This is a common need to generate an ULID from a given timestamp, this is what I'm doing for example in a project dedicated to photos management :
  import wvlet.airframe.ulid.ULID

  def buildPhotoId(timestamp: OffsetDateTime): PhotoId = {
    val ulid = ULID.ofMillis(timestamp.toInstant.toEpochMilli)
    PhotoId(ulid)
  }

And I've to admit that's the reason why, I use directly wvlet.airframe.ulid instead of zio-ulid, for the moment.

Hmmm... interesting requirement
Out of curiosity, instead of creating a timestamp first and then generating a ULID, why don't you generate a ULID first. And then use its timestamp method? Is it because you are reading timestamp from the photos?
Anyways, if we want to implement nextULIDFromEpoch method , how should it behave when someone calls it too many times in the same millisecond? We can't stick to existing behaviour of waiting for 1 millisecond and returning a new ULID with new timestamp. Timestamp is locked in our case. So we may have to return a new error: RandomOverflowError 🤔

I looked at airframe implementation for reference.

In case of overflow, airframe waits for 1 millisecond and generates another ULID. But the new ULID does not simply increment 1 millisecond. It creates a new ULID ignoring the given epoch milliseconds. It then uses current system timestamp.

Although chances are thin, that can be very surprising and buggy behaviour.


Implement zwave light support

I have been playing with zwave wall plug dimmers. I am using AD142 Plug-In Dimmer Module.
When handling value change events I noticed some weird behaviour. The value.data property did only return the old value. That's why I had to trick myself around this issue, sleep'ing for two seconds, then refresh the value. Maybe there are better solutions.
Furthermore I had to introduce something I called _expect to handle fast state changes while still waiting for refreshes.
I'd love some feedback on how to make this component more solid!

I removed the debug output and used the threading.Timer class for delaying value refreshed. This way I could remove the _expect workaround.
Still there is a problem with changing the state quickly in the HA GUI. The dimmer change is not done directly but swallowed, causing the state switch GUI element to pop back to the off state, when the Timer runs off.
Otherwise the component looks ok to me now. :smile:


Implemented completion aware interface for stecman symfony console completion

1. Why is this change necessary?
For easier usability of console commands. This is a rebased follow up to #33
Did you ever recognized a whole uuid? Do you know by heart what the plugin was spelled?
Examples in usage were already shown in the pull request for shopware 5.
2. What does this change do, exactly?
Implements for all core/shipped commands the CompletionAwareInterface
Adds hints in the documentation
3. Describe each step to reproduce the issue or behaviour.
Press tab to complete your shopware console commands. It just does not work.
4. Which documentation changes (if any) need to be made because of this PR?
https://docs.shopware.com should get a hint on the setup and pros.
There is a complementary pull request to https://github.com/shopware/development/pull/20 to ensure this features is ready in the default docker container.
5. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

I guess you missed the composer.json require for the stecman package

Well I made it in the wrong composer.json. It is stuck in the development template 😆

I added the missing dependency

I added the dependency to the other repositories as well, implemented the feature for theme:change

and did a rebase :)

Rebase is out and I also changed the new docs

This PR was closed due to inactivity. If this change is still important to you, feel free to create a new pull request.
For more information about our contribution guidelines, see https://docs.shopware.com/en/shopware-platform-dev-en/contribution/contribution-guideline


fix issue 217 by adding contrib to setup.py file

without fix:

import pytube
Traceback (most recent call last):
File "", line 1, in
File "c:\python27\lib\site-packages\pytube_init_.py", line 22, in
from pytube.contrib.playlist import Playlist
ImportError: No module named contrib.playlist

with fix:
python .\setup.py install
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

import pytube
pytube.version
'9.0.5'

Coverage remained the same at 87.028% when pulling f4be8bca302a5124aacbe817c35572e7e4923539 on goya191:master into afe9908d3d3a55d750afe1a313123d0dc57650c4 on nficano:master.


Platform: Toolbar comment button cut in half on small editor width

On a small editor width the other toolbar controls (back, forward, style) move up a bit to make space for a scrollbar, whereas the comment button stays and so is cut in half / overlayed by the horizontal scrollbar:

In Firefox this is not seen, as Firefox uses a smaller scrollbar.
In Chrome and Electron it is visible like can be seen above - this screenshot is from the scripture-editor codesandbox
Besides with a small editor width this also happens in a wider editor, when there is a long style name selected in the dropdown, which increases its width.

@Sebastian-ubs thanks for trying things out in the editor. Any thoughts on what it should do instead? And/or how to fix it?

Not sure how those other ui elements shrink / re-arrange, but I would expect the comment button to behave similar.

In general the toolbar should ideally never need to show vertical scrollbars, but adapt to the available width by

defining the dropdown width not based on its content, but shrinking / growing according to available space
define a reasonable min-width and if smaller, hide controls in an overflow menu

a working solution seems to be
    .toolbar-item.block-controls {
      max-width: calc(100% - 140px);
      .icon.block-marker.nb {
        min-width: 20px;
      }
      .chevron-down {
        min-width: 16px;
      }
    }

Which of course is not very flexible with the hard coded 140px, but does its job for now.


Configure_https.md should have the steps in Configuration and Installation paragraph

In the document "configure_https.md", I believe it is necessary to add a paragraph in "Configuration and Installation"

If you have a self-signed certificate, after generating yourdomain.com.crt and yourdomain.com.key, you should also copy "ca.crt" to docker client  /etc/docker/certs.d/yourdomain.com so that docker client (also browser client) will not refuse the connection, e.g. x509: certificate signed by unknown authority (also NET::ERR_INVALID_CERT through browser).
Otherwise, you will be refused to visit through docker request as well as browser!

Could you submit a PR to help us improve?

Sure, I have submitted a PR to refine Configure_https.md. Please refer to PR  #4279
Thanks.
https://github.com/vmware/harbor/pull/4279


[EmbeddingAPI] Add usecase for XWalkView API loadExtension

-Add usecase for XWalkView API loadExtension
-Cover the XWalkActivity and XWalkInitializer two ways
Impacted tests(approved): new 2, update 0, delete 0
Unit test platform: [Android]
Unit test result summary: pass 2, fail 0, block 0
https://crosswalk-project.org/jira/browse/XWALK-6017

@Shao-Feng please help to review.


models / spaces are wrong

Branch: models-and-controller-positioning
Thought it was just Android, but if the world model isn't the root of the scene graph the controllers don't track correctly
Clearly a core problem with conversion of OpenXR matrices to vsg space, but intertwined with the test models I'm using too
On quest native user doesn't start at the origin as well, though that's probably down to how the space / guardian zone is defined for the inside-out tracking
(Until this is fixed, consider vsgvr broken, since any existing applications will then get misaligned after..)

Unsurprisingly relates to the TODO in OpenXRViewMatrix.
Will most likely remove all the axes remapping stuff and leave it up to application - OpenXR is x-right/y-up/z-backward, letting application bring vsg content into that with a root transform seems like the simplest approach, rather than trying to assume all the vsg content is z-up like before.

A little progress on this, looks like the world is correct an it's just controller / action spaces that are wrong, if continuing to map things through to the vsg space.
Some strange occurences happening with lighting, think it might be a vsg issue rather than vr specific though


Add support for UnsafeRawBufferPointer to DispatchData

(Radar 28503167)

@mwwa @das @moiseev @jrose-apple please review

(commented in apple/swift-corelibs-libdispatch#230)

Updated for review comments from  apple/swift-corelibs-libdispatch#230.

@swift-ci please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 8730836fea72937fd64eb8ee572ad63fa5427b91
Test requested by - @ktopley-apple

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 8730836fea72937fd64eb8ee572ad63fa5427b91
Test requested by - @ktopley-apple

@swift-ci please merge

@ktopley-apple this command does not exist. You have to click the merge button yourself =)

I would love to, but I don't have a merge button in this repo ;-)

Thank you :-)

^ @tkremenek: Kim should probably have access here too.


Is it working with rails 3?

After bundle update cannot get work my rails 3 application now ((
undefined method `setup' for ExceptionHandler:Module (NoMethodError)

Let's have a look - we had a small issue with this previously, I think I may know the issue

Thanks! Waiting for the solution, it's critical for me (((

Almost got a new version for you - many changes

Wow! Great! ))

Okay just published version 0.4.6 - I am working on the Readme updates for you now.

Awesome! Can't wait to check )))


Add option to destroy/disable slider

Currently the slider initializes itself on the touchstart event.
It would be nice to make this opt-in or have a way to disable it somehow (e.g. I'm thinking of how bootstrap's JS plugins work).
My use case is I want to use the slider for mobile, but turn it off for tablet/desktop (not using a script loader).

ok, I have solved this problem , just delete the "class='slide'" from the element.
code like this

e , I use a button to click and turn to next page.

Return if toggle has disabled class. Add below code in all 3 event listener of toggle "touchstart", "touchmove" and "touchend".
if(toggle.classList.contains('disabled')){       return;     }


Add data block tests

@eireland This looks fine to me and tests pass. Do you want reviews on these PRs? I noticed you brought in others right away, so wasn't sure.

@eireland Is this PR worth keeping open?


SQS: Malformed Request, when seting message_attribute_names

Hi
when I try to request message_attribute_names, I get an error returned. I tried "All", ".*" and the actual names.
let credentials = DefaultCredentialsProvider::new().unwrap();
let sqs = SqsClient::new(default_tls_client().unwrap(), credentials, Region::EuCentral1);

let mut req = ReceiveMessageRequest::default();
req.queue_url = url.to_string();
req.max_number_of_messages = Some(max_number_of_messages);
req.wait_time_seconds = Some(20);
req.message_attribute_names = Some(vec!["All".to_string()]);

let messageResult:ReceiveMessageResult = sqs.receive_message(&req)?;

Err(Unknown("<?xml version=\"1.0\"?><ErrorResponse xmlns=\"http://queue.amazonaws.com/doc/2012-11-05/\"><Error><Type>Sender</Type>MalformedInput<Message>Start of list found where not expected</Message><Detail/></Error><RequestId>b54f6410-cbad-56ed-99a9-355c69d64e1e</RequestId></ErrorResponse>"))

This is the generated Url:
https://sqs.eu-central-1.amazonaws.com/?Action=ReceiveMessage&MaxNumberOfMessages=1&MessageAttributeNames.member.1=All&QueueUrl=...&Version=2012-11-05&WaitTimeSeconds=20
I think it should be: MessageAttributeNames.1

Thanks for the bug report and reproduction.
I think this is a regression on our end.  We should make an integration test for this.

Fixed in https://github.com/rusoto/rusoto/pull/651 !


use char or uint8 instead; cuchar is deprecated [Deprecated]

I see this warning use charoruint8 instead; cuchar is deprecated [Deprecated] in my Futhark based projects, so I went down the rabbit hole.
https://github.com/PMunch/futhark/blob/875a7f5cf727483bc4c4d394f7d3c23699002aa8/src/opir.nim#L43
from IRC #llvm:
there are three kinds of char. `char`, `signed char` and `unsigned char`
plain old `char` may either be signed or unsigned. Regardless which it is, it is a distinct type from `signed char` and `unsigned char`
`UChar` is `unsigned char`
`Char_U` is a `char` which just so happens to be `unsigned`.
more specifically, `Char_U` is a `char` which can represent the same values as `unsigned char` but is a distinct type from it.
sidebar, this exists because some platforms preferred their char to be unsigned vs signed. the standard makes it possible for a programmer to specify the type when it is important to them.
The GCC flag for overriding this behavior is -funsigned-char/-fsigned-char. The MSVC flag is /J.

I guess we could change it to uint8, but I used cuchar to make the wrapper as true to the original as possible.

This is fixed as of version 0.9.0


Including missing local-cli folder in package.json

local-cli was missing under files in package.json, so the folder was missing when people were doing npm install or react-native init.

Nevermind! Wrong fix.

I got confused and I thought the issue was with react-native-cli. Glad it's fixed though!

react-native-cli has been designed to do the minimal amount of work (mkdir name; cd name; npm install --save react-native; node_modules/react-native/cli.js arguments) and forward everything to cli.js
The reason for that weird setup is that react-native-cli is a global and is therefore extremely hard to update and introduces conflicts with different versions. By moving all the complicated logic to cli.js, we bypass all those issues

I see. Makes sense!


Added missing translations to the build process

Some translations were not included in the build while they are available in the repo (and more complete that the one loaded previously btw)

@stof I'll create a PR that will place all the translation files inside /build/ folder to be available. I'll keep you posted

@stof PR #1834 has been created; please let me know if it works for you

@stof Thanks for the work on this; however, we'll close this PR since the fix you proposed does not fit in the current code base and there's already a new PR that addresses this. Thanks much!


feat:  add  math/base/special/atan2f

Resolves #649
Description

What is the purpose of this pull request?

This pull request:

proposes adding math/base/special/atan2f , which would be a single precision implementation for math/base/special/atan2.

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #649

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines

@stdlib-js/reviewers

This is just a draft PR I am still working on it!!

i see that this PR is failing a lot of tests. you should update your manifest.json to include all the necessary single-precsion dependencies to use them in src/ and lib/ currently you are including double precision dependencies but using the single-precision ones which is why this is causing an error.

"dependencies": [
        "@stdlib/math/base/napi/binary",
        "@stdlib/math/base/assert/is-infinitef",
        "@stdlib/math/base/special/copysignf",
        "@stdlib/number/float32/base/signbit",
        "@stdlib/math/base/assert/is-nanf",
        "@stdlib/math/base/special/atanf",
        "@stdlib/constants/float32/pinf",
        "@stdlib/constants/float32/pi"
      ]

this is how you should fill the dependencies in manifest.json

@aayush0325 thanks for the assist.

use number/float32/base/signbit instead of number/float32/base/signbitf as the latter doesn't exist, checkout the package here

@aayush0325 yeah I understood where I was wrong.
number/float32/base/signbit I was supposed to declare this package and call signbitf as it is the single-precision version of signbit. Also I was writing the tests in double-precision so I'll convert them into single-precision.


Add detection of modification types

When matching the requested modified proteins to the candidate ones, the type of modification must be considered to check if it references the same modified protein. So far, it checks only that the Uniprot Id is the same and the modification site is the same. It has to check in the hierarchy of PSIMOD:

If an input PTM has the same psimod or a higher level then it matches.
If the input PTM has a less specific psimod, but in the same line, then it matches.
If the input PTM has a psimod in a different line; that the psimod is not higher or lower in the same branch then they do not match.

This feature is not needed for now. If requested again we implement it. close #1


Add voluntary exit functionality to the CLI

Nice to have to clean-up after testing Pyrmont.

do you mean that you'd want a flag or something like that to add as an option to perform a voluntary exit once the node process is quit?  or maybe just something to perform a voluntary exit in general regardless of when it would be ran?

do you mean that you'd want a flag or something like that to add as an option to perform a voluntary exit once the node process is quit?  or maybe just something to perform a voluntary exit in general regardless of when it would be ran?

do you mean that you'd want a flag or something like that to add as an option to perform a voluntary exit once the node process is quit? or maybe just something to perform a voluntary exit in general regardless of when it would be ran? just trying to clarify the intent here

You can take a look at the Pyrsm CLI which has this functionality. It should be done upon express intention of the users with a command similar to
lodestar accounts voluntary-exit

do you mean that you'd want a flag or something like that to add as an option to perform a voluntary exit once the node process is quit? or maybe just something to perform a voluntary exit in general regardless of when it would be ran? just trying to clarify the intent here

You can take a look at the Pyrsm CLI which has this functionality. It should be done upon express intention of the users with a command similar to
lodestar accounts voluntary-exit


Request: Text input when render is called

This module is very good, it gives me what I need.
But I was wondering if it would be possible to display text at each rendering, i.e. to inform about what's going on. For example, the current value of a variable or the file that is being processed.
Either on the right side of the bar:

NOTE: The bars are one on top of the other but it's just to show the look at each render, the bar is of course erased each time.
Or above the bar and just like it, the text would be erased at each rendering:

I'm asking this because I don't want to pollute the console with millions of messages that could very well be integrated with the bar.

i have change my code.
interface renderOptions {
  title?: string,
  total?: number,
  complete?: string,
  incomplete?: string,
}
render(completed: number, options? renderOptions): void;

exmaple
import ProgressBar from '../mod.ts'

const total = 100;

const progress = new ProgressBar({
  total,
  display: ':percent :bar :time :completed/:total :title'
});

let completed = 0;

function run() {
  if (completed <= total) {

    progress.render(completed++, {
      title: `CUSTOM TEXT, value: ${Math.random().toFixed(3)}`
    });

    setTimeout(function () {
      run();
    }, 50)
  }
}

run();

can also change bar style, example
progress.render(completed++, {
  complete: green('='),
  incomplete: yellow('-')
});

Can this meet your needs ?

Thank you very much, that's exactly what I needed!
I can display the files that are being processed.

I just have a little problem, the titles are of variable length and the bar collapses at times.
Is there a way to fix this or is it necessary to keep it from spilling over?

barWidth = Math.min(this.width, ttyWith) - titleWith - percentWidth  -timeWidth - (completed/total)Width;
Too many settings will cause too complicated.
You can modify it to suit your program on the current basis.
You can also submit a pull request if you have a good idea.
progress.console use Deno.writeAllSync, I plan to submit a pull request to deno to fix it.

I think it will be better when the TTY columns will be supported.
Thank you!

process.console bug, can see this issue:
https://github.com/denoland/deno/issues/6001


Windows build - Lost connection with device

It appears as though storing a string over 7500 characters long (an encoded json string in this case) silently crashes Windows builds. The only message logged is "Lost connection with device".

What version of Isar are you using?
What version of Flutter are you using?
Do you also see this issue for other platforms?
Is it a specific string or does it happen for any?

Sorry for the lack of detail.
I was previously using  3.0.0-dev.8, issues occurred after upgrade to 3.0.0. I have switched back to dev-8 to fix the issue for now.

What version of Flutter are you using?
Flutter 3.4
(Initially I was on Flutter stable channel, switched to master after reading other issues related to "Lost connection with device". Also updated VS to 2022 to update to the latest C++. These updates did not fix the issue.)

Do you also see this issue for other platforms?
Issue not seen on other platforms I'm building for - android emulator versions work fine.

Is it a specific string or does it happen for any?
Any as far as I can tell.

Is the string indexed?
It is not...

I'm sorry for posting this with a lack of detail. I'll test a bit more later to try and figure out what's happening, I'm up against it right now so reverting to previous version and continuing my work for the day.
I'll try it on another laptop as well.

Thank a lot! Really appreciate your help!

I can confirm this error also within an iOS Simulator AND Android Emulator. For me the error also happens with dev.8. I am using Android Studio on MacOS. The error occurs, when awaiting Isar.open().
class DbContext {
  static DbContext? _instance;
  late Future<Isar> database;

  DbContext._() {
    database = _openDatabase();
  }

  Future<Isar> _openDatabase() async {
    if (Isar.instanceNames.isEmpty) {
      final dir = await getApplicationSupportDirectory();
      return await Isar.open(
          [
            DeliverySchema,
            DeliveryAreaSchema
          ],
          directory: dir.path,
          inspector: kDebugMode
      );
    }

    return Future.value(Isar.getInstance());
  }

  factory DbContext() => _instance ??= DbContext._();
}

And in main():
    final dbContext = DbContext();
    final database = await dbContext.database; // <--- error happens here

Furthermore: I am using runZoneGuarded with a specified onError callback. The app stops without even hitting the first line of that callback.

@leisim but is it somehow related to the 7500 character issue or a new error? What error message do you see in iOS or Android logs?

@leisim Oh damn - I see, that there was this more detailed info in the initial post... I just replied as I have the same final error behaviour then. I do not see ANY error except the message Lost connection to device. And this definitely always happens, when awaiting Isar.open() - I put that specific part at several places within my main() method to ensure, that it's not because of some delayed error of another piece of code.

I've done a bit more testing though I'm a bit rushed so haven't had time to make an example app - I've been on this current app about 2 months so its a bit of a code swamp...
I suspected that the json strings I was storing might of contained an unusual character or some other encoding issue, but my quick testing has confirmed that the issue exists with any string - my additional test cases were simple strings (AaaaBbbb etc up to 7500) and a base64 encoded image, both crashed the app.
With no errors being output (only the "lost connection" warning), it's hard to trace back. It seems like String columns have a character limit, but since previous versions of Isar did not have any limitations I would hazard a guess and say it feels like a memory issue.
I'll put together a small test app this weekend with to test further since my current code examples are not useful for replicating the issue.

OK - I tried multiple things as well and I'd finally go along which @nelchael730 guess on a memory issue. The error occurs on my side, since I moved from IsarLink to @embedded. So - what previously has been an entity with a link to hundreds of other entities is now an entity with an embedded list of hundreds of entities. Weird thing though: the error occurs even when I did not run any query at all - the error happened directly on Isar.open(). I now switched back to yesterday's state - where I used IsarLink - and no error at all comes up.
(btw: the reason why I switched to @embedded: I simply did not get the links working - I somehow messed things up there.)

Windows here. When trying to store 10869 bytes the app silently crashes.

Specifically this is the last line of code to run before the silent crash:
  int isar_put_all(
    ffi.Pointer<CIsarCollection> collection,
    ffi.Pointer<CIsarTxn> txn,
    ffi.Pointer<CObjectSet> objects,
  ) {
    return _isar_put_all(
      collection,
      txn,
      objects,
    );
  }

The param values are:
collection: Pointer (Pointer<CIsarCollection>: address=0x1837fe89850)<PHONE_NUMBER>328)
txn: Pointer (Pointer<CIsarTxn>: address=0x1831521e9c0)<PHONE_NUMBER>616)
objects: Pointer (Pointer<CObjectSet>: address=0x1831524e630)<PHONE_NUMBER>312)

@noga-dev do you have a sample that reproduces this error? I fail to find one on my machine :(

Could you please try disabling Windows Security temporarily? It killes my build sometimes

@noga-dev do you have a sample that reproduces this error? I fail to find one on my machine :(

@vothvovo

OK, i'm back... Sorry I wasn't able to provide any example code, I was ill most of last month.
I've done more testing. From what I can determine it is either not related to string length or I've found a separate issue that is resulting in the same "Lost connection to device." issue.
How to replicate:

start app (windows)
open database inspector
click on floating + button
see database rows added
delete all rows from database via inspector
click on floating + button
silent crash

You can restart the app etc and it will always crash. The only way to get it working again is to deleteFromDisk and restart the app. It will work until you delete rows and then forever crashes.
main.dart
``
import 'dart:math';
import 'package:apptest/collections/bigdata.dart';
import 'package:flutter/material.dart';
import 'package:isar/isar.dart';
import 'package:path_provider/path_provider.dart';
// reandom string generator
const _chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890';
Random rnd = Random();
String getRandomString(int length) => String.fromCharCodes(
Iterable.generate(
length,
() => _chars.codeUnitAt(
_rnd.nextInt(_chars.length),
),
),
);
Future main() async {
// get box directory
final dir = await getApplicationSupportDirectory();
// open isar db
var isar = await Isar.open(
name: 'IsarTest',
[BigdataSchema],
directory: dir.path,
inspector: true,
);
// isar.close(deleteFromDisk: true);
runApp(MyApp(isar: isar));
}
class MyApp extends StatelessWidget {
final Isar isar;
const MyApp({
super.key,
required this.isar,
});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(isar: isar),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({
super.key,
required this.isar,
});
final Isar isar;
@override
State createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
// create instance and run
void _pushData() async {
String string1 = getRandomString(1500);
final newData = Bigdata()
  ..data1 = string1
  ..data2 = string1
  ..data3 = string1;

await widget.isar.writeTxn(() async {
  await widget.isar.bigdatas.put(newData); // insert & update
});

}
@override
Widget build(BuildContext context) {
return Scaffold(
body: const Text('Test PAge Description'),
floatingActionButton: FloatingActionButton(
onPressed: _pushData,
child: const Icon(Icons.add),
),
);
}
}
``
bigdata.dart
``
import 'package:isar/isar.dart';
part 'bigdata.g.dart';
@collection
class Bigdata {
Id id = Isar.autoIncrement; // you can also use id = null to auto increment
late String data1;
late String data2;
late String data3;
}
``

Is there any progress with this?
To be honest I'm find using the dev version but i'm now at a point where i'm struggling with not having access to the isar inspector since it stopped working when version 3 was released...
Is ther any way at all to use the inspector with the dev versions anymore?

A fix is ready. I'll release a new version very soon!

A fix is ready. I'll release a new version very soon!

@leisim I've updated Isar version 3.0.3 for this example and run a Window build, it crashes the first time you open an Isar instance. Please check your new version with the example above.

I also confirm, that the fix did not solve the problem either with my example #827


Scikit processing example - Client LogStream error

When running the the local scikit-learn processing srcipt on a notebook instance the training job finishes successfully but I get the following error (I substituted the user and and resource id-s with ....):
ClientError: An error occurred (AccessDeniedException) when calling the DescribeLogStreams operation: User: ... is not authorized to perform: logs:DescribeLogStreams on resource: ... -group:/aws/sagemaker/ProcessingJobs:log-stream
It seems like it is trying to write logs which is not really necessary in the local mode, is it? Maybe the issue is that I run the script on sagemaker?

Hello @gerold-csendes-epam
It could be a bug in SageMaker SDK.
Can you please attach the logs and the output of pip freeze command?
Thanks

What do you exactly mean by logs? Do you mean Cloudwatch logs? I checked and there is none written when submitting the local processing job from the tutorial notebook.
 I see you are using the latest version of SageMaker SDK.
Logs I mean by the output of the Pytjon program.
Just to make sure again, the processing job finishes successfully, but you get the error message about the describe logs IAM role?

The output I get is the one that I shared in the description. The message just gets truncated for some reason. This is the last thing that gets outputted before the error:
405xfy7qlb-algo-1-xyh7a | Processing Complete
405xfy7qlb-algo-1-xyh7a exited with code 0
Aborting on container exit...
===== Job Complete =====

Yeah, your description is correct.
Additionally, I can get rid of the error by specifying logs=False argument.

OK.
You can open an issue in SageMaker Python SDK GitHub Repo, and it will be handled as per Service Team priority.


Crashes  MeCab.Tagger()

Traceback (most recent call last):
File "/opt/homebrew/bin/storyteller", line 8, in
sys.exit(main())
File "/opt/homebrew/lib/python3.10/site-packages/storyteller/cli.py", line 39, in main
story_teller = StoryTeller(config)
File "/opt/homebrew/lib/python3.10/site-packages/storyteller/utils.py", line 23, in wrapper_func
func(*args, **kwargs)
File "/opt/homebrew/lib/python3.10/site-packages/storyteller/utils.py", line 37, in wrapper_func
func(*args, **kwargs)
File "/opt/homebrew/lib/python3.10/site-packages/storyteller/model.py", line 35, in init
self.speaker = TTS(config.speaker)
File "/opt/homebrew/lib/python3.10/site-packages/TTS/api.py", line 31, in init
self.load_model_by_name(model_name, gpu)
File "/opt/homebrew/lib/python3.10/site-packages/TTS/api.py", line 81, in load_model_by_name
self.synthesizer = Synthesizer(
File "/opt/homebrew/lib/python3.10/site-packages/TTS/utils/synthesizer.py", line 75, in init
self._load_tts(tts_checkpoint, tts_config_path, use_cuda)
File "/opt/homebrew/lib/python3.10/site-packages/TTS/utils/synthesizer.py", line 112, in _load_tts
self.tts_model = setup_tts_model(config=self.tts_config)
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/models/init.py", line 12, in setup_model
MyModel = find_module("TTS.tts.models", config.model.lower())
File "/opt/homebrew/lib/python3.10/site-packages/TTS/utils/generic_utils.py", line 93, in find_module
module = importlib.import_module(module_path + "." + module_name)
File<EMAIL_ADDRESS>line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/models/glow_tts.py", line 17, in
from TTS.tts.utils.text.tokenizer import TTSTokenizer
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/init.py", line 1, in
from TTS.tts.utils.text.tokenizer import TTSTokenizer
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/tokenizer.py", line 5, in
from TTS.tts.utils.text.phonemizers import DEF_LANG_TO_PHONEMIZER, get_phonemizer_by_name
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/phonemizers/init.py", line 4, in
from TTS.tts.utils.text.phonemizers.ja_jp_phonemizer import JA_JP_Phonemizer
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/phonemizers/ja_jp_phonemizer.py", line 3, in
from TTS.tts.utils.text.japanese.phonemizer import japanese_text_to_phonemes
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/japanese/phonemizer.py", line 352, in
_TAGGER = MeCab.Tagger()
File "/opt/homebrew/lib/python3.10/site-packages/MeCab.py", line 355, in init
_MeCab.Tagger_swiginit(self, _MeCab.new_Tagger(*args))
RuntimeError

Hello, thanks for opening this issue. Could you provide more information on the following?

Runtime enviroment (Intel or Apple silicon Mac)
TTS model information (default or custom model)
Mecab and TTS module versions (output from pip list | grep mecab and pip list | grep tts)

Apple silicon Mac
Defaul TTS
mecab                   0.996.3
pyttsx3                                           2.90
This is the full message. I find strang that its importing a_jp_phonemizer import JA_JP_Phonemizer
storyteller % storyteller
Fetching 16 files: 100%|███████████████████████████████████████████████████████████████████████████| 16/16 [00:00<00:00, 8324.10it/s]

tts_models/en/ljspeech/glow-tts is already downloaded.
/Users/gio/Library/Application Support/tts/tts_models--en--ljspeech--glow-tts
vocoder_models/en/ljspeech/multiband-melgan is already downloaded.
/Users/gio/Library/Application Support/tts/vocoder_models--en--ljspeech--multiband-melgan
Using model: glow_tts
Traceback (most recent call last):
File "/opt/homebrew/bin/storyteller", line 8, in
sys.exit(main())
File "/opt/homebrew/lib/python3.10/site-packages/storyteller/cli.py", line 39, in main
story_teller = StoryTeller(config)
File "/opt/homebrew/lib/python3.10/site-packages/storyteller/utils.py", line 23, in wrapper_func
func(*args, **kwargs)
File "/opt/homebrew/lib/python3.10/site-packages/storyteller/utils.py", line 37, in wrapper_func
func(*args, **kwargs)
File "/opt/homebrew/lib/python3.10/site-packages/storyteller/model.py", line 35, in init
self.speaker = TTS(config.speaker)
File "/opt/homebrew/lib/python3.10/site-packages/TTS/api.py", line 31, in init
self.load_model_by_name(model_name, gpu)
File "/opt/homebrew/lib/python3.10/site-packages/TTS/api.py", line 81, in load_model_by_name
self.synthesizer = Synthesizer(
File "/opt/homebrew/lib/python3.10/site-packages/TTS/utils/synthesizer.py", line 75, in init
self._load_tts(tts_checkpoint, tts_config_path, use_cuda)
File "/opt/homebrew/lib/python3.10/site-packages/TTS/utils/synthesizer.py", line 112, in _load_tts
self.tts_model = setup_tts_model(config=self.tts_config)
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/models/init.py", line 12, in setup_model
MyModel = find_module("TTS.tts.models", config.model.lower())
File "/opt/homebrew/lib/python3.10/site-packages/TTS/utils/generic_utils.py", line 93, in find_module
module = importlib.import_module(module_path + "." + module_name)
File<EMAIL_ADDRESS>line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/models/glow_tts.py", line 17, in
from TTS.tts.utils.text.tokenizer import TTSTokenizer
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/init.py", line 1, in
from TTS.tts.utils.text.tokenizer import TTSTokenizer
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/tokenizer.py", line 5, in
from TTS.tts.utils.text.phonemizers import DEF_LANG_TO_PHONEMIZER, get_phonemizer_by_name
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/phonemizers/init.py", line 4, in
from TTS.tts.utils.text.phonemizers.ja_jp_phonemizer import JA_JP_Phonemizer
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/phonemizers/ja_jp_phonemizer.py", line 3, in
from TTS.tts.utils.text.japanese.phonemizer import japanese_text_to_phonemes
File "/opt/homebrew/lib/python3.10/site-packages/TTS/tts/utils/text/japanese/phonemizer.py", line 352, in
_TAGGER = MeCab.Tagger()
File "/opt/homebrew/lib/python3.10/site-packages/MeCab.py", line 355, in init
_MeCab.Tagger_swiginit(self, _MeCab.new_Tagger(*args))
RuntimeError

This could be related to MeCab, I had to built it for Arm64.  Regular pip3 install was failing with the wrong architecture
ARCHFLAGS="-arch arm64" pip3 install -I  MeCab  --compile --no-cache-dir

ok Solved. I will share some instructions here. This is for MacOS  Arm.
You need version 1.05 and not 1.06
ARCHFLAGS="-arch arm64" pip install -I  mecab-python3==1.0.5  --compile --no-cache-dirinstall mecab-python

Hello @gvargas9, thanks for identifying the fix! I'll see if I can add more detailed instructions in the README.


How long does it take for new terms to register?

How long does it take for new terms to register, i.e. the tensors to realign themselves where needed? Are newly added translations incorporated in the neural network immediately, or are they put in some kind of queue? In the latter case, how long does it take (doesn't need to be precise, just a very general estimate like minutes, quarters or hours) for a new translation to "register"?
I know that sometimes terms need to be added multiple times in multiple contexts for the vectors to actually realign enough to come up with the new translation in suggestions, so that is not my question. I'm merely talking about the actual processing of a newly added sentence.
Thank you in advance!

Hi @LoekvanKooten !
So, quite simple. Every contribution is added to an internal queue and eventually they are added to the model. How long does it take? A single contribution is almost immediate, while for a 1M source words TMX it should take 30/40 seconds (depending on the hardware of your machine).
Most importante, there is a method to know exactly when a contribution has been added: Get Import Job API. Every time you add a single contribution or an entire TMX, the result is an import job ID:
{
    "data": {
        "begin": 0,
        "dataChannel": 1,
        "memory": 2,
        "end": 0,
        "id": "80000001-0000-0002-0000-000000000000",
        "progress": 0.0,
        "size": 1
    },
    "status": 200
}

If you take the id 80000001-0000-0002-0000-000000000000, you can use it to retrieve the progress of the import job with the Get Import Job API. When the progress become 1 the contribution (or TMX) has been added to the model and the engine can use it for adaptation.

As far as I understand, these sentences are added to the Translation Memory, thus certainly used in the on-the-fly re-training. Right ? Is there a time when the NMT model is itself updated in a long-time way ?

Thank you for your explanation, @davidecaroselli ! Much appreciated.

@EtienneAb3d :

As far as I understand, these sentences are added to the Translation Memory, thus certainly used in the on-the-fly re-training

Exactly, and they are also added to the Context Analyzer for the context analysis.

Is there a time when the NMT model is itself updated in a long-time way ?

Not automatically. If you would like to re-train the whole engine including any new content, this has to be done manually.


Seeding EFFORT via Sql script file

In attempting to seed the EFFORT database, it would be nice to use C#'s SqlClient namespace.  However, after creating an Effort.Provider.EffortConnection, the casting of this to System.Data.SqlClient.SqlConnection fails so it's not possible to make subsequent calls to SqlCommand or ExecuteNonQuery().  See code sample below.
Any ideas on how to get this cast to work?
public static void Load_Data_Into_Effort(Effort.Provider.EffortConnection effortConnection)         {             string sql = seedData();  // returns sql script file contents             System.Data.SqlClient.SqlConnection cnn = (SqlConnection)effortConnection;             try             {                 //cnn.Open();  // not sure if this call is necessary, since Effort Db is already open                 SqlCommand cmd = new SqlCommand(sql, cnn);                 cmd.ExecuteNonQuery();                 cmd.Dispose();                 cnn.Close();             }             catch (Exception ex)             {                 Debug.WriteLine($"Error: {ex}");             }         }

``

I reviewed the discussion in issue #54 where you remark, " It only supports the database independent entity SQL statements," and provides a link to Microsoft's "Entity SQL" blog.  From there I tried to get this code to work, but it also fails with a casting exception, since apparently the call to ObjectContext is a Core feature and EntityConnection requires its metadata to be .NET.
This may not solve it, but is there a way to convert MetadataWorkspace from Core back to .NET?
var metadata = ((IObjectContextAdapter)effortContext).ObjectContext.MetadataWorkspace; var _connection = new EntityConnection(metadata, effortConnection);