vite:define plugin will replace module or path-name keyword in defines

Describe the bug
if some lib, folder or file-name have some keyword defined in define property, and run vite build will casue [vite]: Rollup failed to resolve import error.
After checked source code and found some casue on follow picture.

Reproduction
open this link https://stackblitz.com/edit/vite-hxw2x7 and see Terminal output
System Info
System:
    OS: macOS 12.0.1
    CPU: (8) x64 Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz
    Memory: 224.04 MB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.0 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 8.1.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 95.0.4638.69
    Firefox: 78.15.0
    Safari: 15.1
  npmPackages:
    vite: workspace:* => 2.7.0-beta.3

### Used Package Manager

pnpm

### Logs

_No response_

### Validations

- [X] Follow our [Code of Conduct](https://github.com/vitejs/vite/blob/main/CODE_OF_CONDUCT.md)
- [X] Read the [Contributing Guidelines](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md).
- [X] Read the [docs](https://vitejs.dev/guide).
- [X] Check that there isn't [already an issue](https://github.com/vitejs/vite/issues) that reports the same bug to avoid creating a duplicate.
- [X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vitejs/vite/discussions) or join our [Discord Chat Server](https://chat.vitejs.dev/).
- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.

Nuxt3 case, https://github.com/nuxt/framework/issues/1713

Vite docs specifically warn about using global here: https://vitejs.dev/config/#define, because it is common to want to use define in this way. But this isn't a Vite issue.

Because it's implemented as straightforward text replacements without any syntax analysis, we recommend using define for CONSTANTS only.
For example, process.env.FOO and __APP_VERSION__ are good fits. But process or global should not be put into this option. Variables can be shimmed or polyfilled instead.

@antfu @pi0 closing this issue, as it is already tracked in https://github.com/nuxt/framework/issues/1713
This define rule should be removed, let's see what that was trying to workaround, maybe it isn't needed anymore:
https://github.com/nuxt/framework/blob/bf716f39783508e001a590c01956ac57937f6bd2/packages/vite/src/client.ts#L21

@patak-js Indeed makes sense to be fixed on the Nuxt side but how do you suggest to shim process and global for client modules?

shimming can be done in html file by writing window.global = window or window.global = globalThis

issue should maybe be reopened again to improve define so it won't touch file names. I remember a similar issue, I'll try digging after it

About the process, and other node builtins in general, it is an issue for Vite in general. I think the ideal would be to invest time in getting something like https://github.com/snowpackjs/rollup-plugin-polyfill-node to work smoothly in Vite (this was working for Snowpack IIUC, so I think it should be an option). I think the community hasn't spent time in this because most of these cases end up being solved by switching an old dependency to a modern alternative, or by fixing the dep so they don't depend on node builtins.
About improving the regex, we have been merging small changes there. If there is a PR, we can check it with Evan.
@Niputi the paths are replaced in import statements, no? In that case, I think it is working as expected

@patak-js it was this issue I remembered https://github.com/vitejs/vite/issues/4796 which seemed like define renames files.

Thanks for the pointers @patak-js @Niputi. For now, I decided to remove global replacement until finding better replacement (https://github.com/nuxt/framework/pull/1835)

shimming can be done in html file by writing window.global = window or window.global = globalThis

This seems a good idea. I would polyfill using globalThis.global = globalThis which works similarly but also in workers (envs that are neither Browser nor Node.js).

About the process, and other node builtins in general, it is an issue for Vite in general. I think the ideal would be to invest time in getting something like https://github.com/snowpackjs/rollup-plugin-polyfill-node to work smoothly in Vite (this was working for Snowpack IIUC, so I think it should be an option). I think the community hasn't spent time in this because most of these cases end up being solved by switching an old dependency to a modern alternative, or by fixing the dep so they don't depend on node builtins.

I would be more than happy to help with this. With Nuxt 3 and Nitro, we had to create a Node.js shimming framework unjs/unenv. It already covers common use cases but I tend to increase Node.js coverage and keep it bundler agnostic. Basically returning a preset that can be consumed by vite or rollup.
Before starting unenv, I tried rollup-plugin-polyfill-node which is great but assuming to polyfill "Node for Browser" and based on browserify implementations which was not convincing at least for Nuxt since we needed Worker support as well.
We plan to use unenv for Nuxt 3's vite soon (https://github.com/nuxt/framework/issues/1502) will let you know how it goes and (probably adding process and global shims in same PR)

https://github.com/unjs/unenv looks great @pi0, and it would be great for Vite if there was an easy way to drop it in as a Vite plugin or something similar so we could recommend if users are facing issues with their deps. I still think that long term we should keep pushing for the ecosystem to fix this in each package, but this could alleviate a lot of temporal pain.

@patak-js , As @pi0 mentioned, I recommend vite to add dev mode warning for define’s key that contain some private or inside keywords in JavaScript. That is if no plan to make this replacement smoothly.


make button not required

make the Button not require to add

You have closed the PR with no comment!

Now with version v0.1.5 you can use PanaraCustomDialog and fully customise the dialog content.


Basing keyboard shortcuts on 'code' rather 'key' causes Roam ctrl+shift+v becoming inaccessible for Dvorak users

On Dvorak the Roam42 ctrl+shift+. removes the possibility to do the copy into a single node with the Roam ctrl+shift+v, because Roam uses event 'key' and Roam42 event 'code' and in this case those overlap. I assume on other exotic layouts similar but different weird things happen.
I've been looking into this issue a little, and might see some day if I can fix it, too despite not really being a native JavaScriptian,

Roam Depot now handles shortcuts


Unable to launch videostitch-studio with offscreenAllocator

Config:
Linux x86_64, GPU: Internal (Matrox), Four NVIDIA Quadro RTX 8000; Monitor connected by VGA cable to internal graphics card, Nvidia to be used only for compute not rendering, i.e. off-screen rendering. Nvidia driver 465.xx.xx, CUDA 11.3; no Nvidia GL libraries installed; Mesa handles OpenGL.
STEPS:

Build Docker image from https://github.com/tlalexander/stitchEm/blob/master/docker/user_image.dockerfile
Run Docker container: docker run --gpus all -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix stitchem/stitchem-cuda-user:latest bash
Run /bin/videostitch-studio. GUI launches with warning QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-developer'.
Open sample project '3_Cam_Sample_Project.ptv'. Downloaded from Google drive link. Renamed files to avoid whitespace in filenames. Changed absolute filepaths of MP4 files in .ptv file to their location within container filesystem.

ERROR:

TRACEBACK:
FILE: /lib/src/backend/cuda/allocator.cpp
FUNCTION: Potential <SourceOpenGLSurface> OpenGLAllocator::createSpurceSurface(width, height)
LINE 201: FAIL_RETURN(CUDA_ERROR(cudaGraphicsGLRegisterImage(&image, texture, GL_TEXTURE_2D, cudaGraphicsRegisterFlagsSurfaceLoadStore)))
Issue: VahanaVR defaults to OpenGLAllocator instead of using OffScreenAllocator.
Question:

Workaround: using videostitch-cmd -i 3_Cam_Sample_Project.ptv -d 0 -p
-- What is the right plugin option here?
-- Not passing -w flag in CLI to disable OpenGL window for display.  Will this force allocator.cpp to use OffAllocator?

Test:

Passes most of CUDA-based tests with ctest that require copying buffer to device and back.

-p takes multiple directories, where the dynamic I/O plugins are placed. Have a look in the install folder, the names should be CorePlugins (for video/image I/O, shared Studio and Vahana VR) and VahanaPlugins for the network & capture card stuff.
-- Not passing -w flag in CLI to disable OpenGL window for display. Will this force allocator.cpp to use OffAllocator?
Yes that should be the case, unless some overlays are specified in the project file (https://github.com/stitchEm/stitchEm/blob/0f399501d41ab77933677f2907f41f80ceb704d7/lib/samples/sample-02-fullCmd/videostitch-cmd.cpp#L601-L619). "Overlays" in this context should mean inputs that are not true videos or captures, but generated content such as the frame counter input in Vahana VR.

Ok it seems to run now (audio disabled). The output shows CUDA selected as backend but the output lists 0 byte GPU memory usage. Does that mean it is not using CUDA? Also is the time taken for stitching slow? Plus how can I enable multiple GPUs for stitching?
./videostitch-cmd -d 0 -i ../../../data/sample/3_Cam_Sample_Project.ptv -p core_plugins/
Found 4 devices
Selected device 0
[videostitch-cmd] CUDA backend selected
Running on CUDA backend
Panorama size: 4096x2048
[avinput] Using a software decoder
[avinput] Using a software decoder
[avinput] Using a software decoder
[Status] [audio pipeline configuration] Invalid configuration: No audio input  found
[Status] [audio pipeline configuration] Invalid configuration: No audio input  found
Will stitch 499 images.
[libavoutput] Creating encoder using h264
[audiopipeline] Add output vs-out
[ambisonic] Decoder bad coefficients given for stereo
Stitcher setup: 91 ms
Global computation time: 22527 ms
: 31979 usec
: 49174 usec
[libav-error] failed to rename "x264_2pass.log.temp" to "x264_2pass.log"
Output size: 37.20 MiB
Host allocated memory:
Device allocated memory:
Host CUDA allocated memory:
Input Bounding boxes: 0 used (16.00 KB max)
Input Frames: 0 used (142.38 MB max)
Panorama Frame: 0 used (24.00 MB max)
Device CUDA allocated memory:
Colorspace conversion: 0 used (24.00 MB max)
ImageMapping: 0 used (94.92 MB max)
Input Bounding boxes: 0 used (16.00 KB max)
Input Frames: 0 used (35.60 MB max)
Input Mask Interpolation: 0 used (64.00 MB max)
Input mask interpolation: 0 used (31.64 MB max)
MaskSetup: 0 used (7.91 MB max)
Panorama Frame: 0 used (24.00 MB max)
Remap Buffer: 0 used (64.00 MB max)
Setup Buffer: 0 used (56.00 MB max)
StitchOutput: 0 used (64.00 MB max)
Transform: 0 used (288.14 KB max)
Unpacking Input Frame: 0 used (35.60 MB max)
Voronoi Mask Merger: 0 used (120.00 MB max)
Warped Input Frame: 0 used (96.00 MB max)

Ok it seems to run now (audio disabled). The output shows CUDA selected as backend but the output lists 0 byte GPU memory usage. Does that mean it is not using CUDA?

The GPU memory usage is printed after the stitcher is shut down, it's a (somewhat crude) indicator of whether we're leaking any GPU memory. So seeing 0 Bytes used everywhere is good. Stitching still happens on the GPU, with the max memory usage in the parens.

Also is the time taken for stitching slow?

~40 ms per frame seems ok to me. If you have a powerful GPU than probably the software decoding and encoding is the bottleneck, not the stitching computations.

Plus how can I enable multiple GPUs for stitching?

Multi-GPU is not supported.

If videostitch-cmd takes only PTV files as inputs, which requires camera calibration data, can it be ever used in a real-time video-stitching application from the cmdline? How can videostitiching from moving cameras? The calibrationimport tool requires PTO file which I believe would require hugin to run side-by-side to constantly generate new calibration data and create new PTV input files to feed into videostitch-cmd. Is there a better way to livestitch from the cmdline (not GUI)?

It is possible to perform a feature-point-based calibration with the command-line tool. videostitch-cmd will then just perform the calibration, write a .ptv file, and exit.
To perform the feature-based calibration on the command line, videostitch-cmd can be called with --apply_algos and a .json file describing the calibration you want to do. I don't think there's documentation in the repo on how the json file is supposed to look, but there are plenty of examples in the cli_tests folder (calibration_*.json). I can try to dig up more documentation should you really be needing that feature.
The camera rig moving is not an issue, as long as the cameras stay fixed relative to each other. Usually you would calibrate your rig once at the start of your session, and stick with that calibration for the whole run.
It's possible to update the calibration from time to time, if needed, in the C++ stitching pipeline. Vahana VR supports that, and I think the Python stitching pipeline for the Orah 4i camera built on top with C++ bindings does support this as well. But when you are in stitching mode with videostitch-cmd, it loads a single calibration from the ptv, and stays with that calibration throughout the stitching run. You can not switch to another calibration in the middle of the run, when stitching from the command line.
The code only supports fixed or at least semi-fixed camera rigs. Handheld cameras where the cameras move relatively to each other all the time are not supported. (That would be a tricky problem, as the feature-based calibration runs for several seconds usually, thus can't be updated per-frame).
Please describe your use case in detail, then I can try to help you further.

The calibration_*.json files have format that cannot be used as an input to videostitch-cmd with -i flag -- there are no "input", "pano" and "merge" fields. I suppose the calibration_*.ptv files in the cli_test folder are the calibration output files. They contain the "input" So I created a JSON file 3_Cam_Sample_calibration.json from cli_tests/calibration_factory.json, changed tried the following:
/videostitch-cmd -d 0 --apply_algos calibration -i ../../../data/sample/3_Cam_Sample_calibration.json -p core_plugins/
Found 4 devices
Selected device 0
[videostitch-cmd] CUDA backend selected
Running on CUDA backend
Error: No 'pano' entry in file: 3_Cam_Sample_calibration.json
[Status] [panorama configuration] Invalid configuration: Could not find 'merger' field
Error: Cannot parse algos config PTV file: calibration
cannot open calibration: No such file or directory
That did not work. The calibration_*.ptv files contain the fields to input images for calibration, etc. The generated the API documentation from doxygen does not contain any additional material on JSON files for calibration.
I have a test run of a few cameras that create a 360 view of an enclosed space (say a parking lot) and they move relatively to each other or one of them could get knocked down by wind or loose mounting. So definitely would require calibration from time to time as they pan and rotate around.

The json file should be supplied as a parameter to apply_algos:
videostitch-cmd --apply_algos <calibration.json> -i file_specifying_paths_to_videos.ptv

So definitely would require calibration from time to time as they pan and rotate around.

Then, as pointed out above, you'll have to do some custom development. If you want to take a deep dive: in Vahana VR this is implemented roughly as following: there's LiveStitcherController which keeps the state of the stitching pipeline in the Vahana VR GUI. A PanoDefinition is loaded from the .ptv file, and a stitcher is created in the C++ library libvideostitch, similar to the code in videostitch-cmd. The LiveStitcherController deals with the user triggering a calibration (which is implemented at CalibrationOnlineAlgorithm). This will create an updated PanoDefintion. The updated definition with the new calibration is then handed to the stitcher pipeline through calling updatePanorama.

I believe the calibration proceeds in multiple steps, where the output (camera parameters like - yaw, pitch) of one step in the ptv file is fed into the json file for the next step. There are several "_incremental" files available, which point to an incremental process. First I set the parameters to their default value in the JSON file to get an estimate of yaw, pitch in the PTV file. Then repeated it a few times, but found no change in the output despite trying multiple times. As a test case, I tried getting the same yaw, pitch, roll, etc as found in the 3_Camera example, but the final figures are nowhere near the ones seen in the PTV file of your example. So clearly I am missing something. How would one calibrate using the videostitch-cmd tool?


[DNM] Make setup.py compile/install  Cpp extensions

Currently cpp extensions are JIT compiled when first imported. This causes a lot of time consuming recompilation.
I am trying to instead compile them to a library in setup.py, but failing miserably.
I followed this pytorch tutorial: https://pytorch.org/tutorials/advanced/cpp_extension.html
My modifications correctly generate a library in the right place, but when I try to import it I get an error:
>   from torchmdnet_neighbors import get_neighbor_pairs
E   ImportError: dynamic module does not define module export function (PyInit_torchmdnet_neighbors)

Dissasembling this library shows that there is in fact no PyInit function. I do not know what I am missing here.
According to the tutorial, torch must be imported first, which I am doing to no avail.
I am PRing here to see if anyone has any idea!

Closing as this is superseded by #216


DefaultApiVersionReporter and websockets

DefaultApiVersionReporter tries to add headers to the response for websocket requests.
This results in invalid operation since the headers were already sent along the HTTP 101 status.

I'm assuming this is ASP.NET Core and the same symptoms as #273.
It appears the platform differences require Core to write the headers before the action is processed and Web API should write after the action is processed.
I should have the fix out within the next couple of days. Thanks.


Device tracker rewrite

This is a rewrite for the device tracker, one of the oldest components we had in the code base.
This rewrite includes:

Support for custom location name
Support for GPS coordinates (not in UI yet)
Support for device discovery
Support for platforms that push their state instead of polling
Using Entity base class for devices to allow overwriting attributes
New option consider_home: # seconds to wait after not seeing device to consider it not home
Convert known_devices.csv to known_devices.yaml
New option hide_if_away in known_devices.yaml: hide device from UI if not home
MQTT device tracker platform to demo how to push presence to HA

To do:

[x] Write tests
[x] Verify Netgear discovery works
[ ] Demo platform

:dancers:

Something weird is going on with the device.tracker I think.
I keep having devices pop up on the UI.

but they are set to NOT track in known_devices.yaml
19216810106:
  name: <IP_ADDRESS>
  mac: 64:76:BA:C0:CF:73
  picture:
  track: no
  hide_if_away: no

I also have track_new_devices set to no.
device_tracker:
  platform: nmap_tracker
  hosts: <IP_ADDRESS>-250
  home_interval: 10
  track_new_devices: no

If I manually add hidden: true to the devices in the Dev tools, they will disappear but eventually come back.


Use system temp path as default tmp directory

/tmp/ does not work on all Operation Systems but sys_get_temp_dir exist for this use case and does contain a valid temp directory.

Great, thanks!


[ENG-3559] Update wording for a registration's registered_from

Ticket: ENG-3559
Feature flag: n/a

Purpose

Update the language for the registered from relationship of a registration, since this wording doesn't make much sense now that users can create a registration without a prior project

Summary of Changes

Update translation file

Screenshot(s)

Side Effects

None

QA Notes

This impacts only the Registration Overview page (osf.io/<registration_guid>), on the right metadata column. It will no longer say Registered from but instead say Associated project

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5176

Relevant Lines:
6812

💛  - Coveralls


Landslot

Add set specific land slot logic.

We are going to face a bit of conflict with the refacto x)


Inspect and debug controls should be compatible

Currently, when enabling "inspect" mode on the canvas, all the debug controls disappear.  I imagine @three did it that way to avoid shapes from debug controls themselves appearing in the Inspect window.  That makes sense!  But it's a little more annoying now with the pan/zoom controls that @kammitama5 added.  They would be really useful during inspection; but the view resets when Inspect is clicked.
A deeper integration there would be very useful.

@kammitama5 I think this is definitely beyond the scope of your summer of code project.  Your time is better spent presenting what you've done well rather than taking on an open-ended project like this in the last few days.


Add action-creator-mirror

I suggest to add action-creator-mirror to the list.
It's a more effective way to organise Redux action creator codes.
It's inspired by Flux Standard Action and Key Mirror. It’s designed for people:

Who don’t want to write constant strings. (never write const ADD_TODO = 'ADD_TODO')
Who want single source of truth and don’t want to look over actions back and forth.
Who want to group relative variables and concepts into one array.
Who still want to keep the redux real.
And (most importantly) who want to use the Auto-Completing feature in IDEs.

Is there a reason you didn't use https://devarchy.com/redux to add it?


If Microsoft Publishes my DataConnector does it refresh on Power BI Web?

I'm currently working with a saas provider to develop a data connector and It's in the process of publishing. If It gets published, does it mean I'll be able to refresh the data if I publish to the Power BI Web?

No. Data Connectors don't work with Power BI web.

We have stories around using the OPDG to support custom connectors in the web, but this isn't available at this time. Hopefully we'll have news on this soon!

@GFWagnitz if you're referring to the "Power BI service content pack program" and having that SaaS provider applying to that program then it would be best to talk with your contact at<EMAIL_ADDRESS>to get an answer.
From my understanding, yes - they'll request the SaaS provider to come up with their own custom connector (using M), a Power BI report and also a dashboard, but getting that Connector as a native connector inside of Power BI Desktop is something that I'd recommend speaking directly with the Microsoft team privately.
For all other scenarios, we just have to wait until CC get supported on the service which might happen this year (I hope!). Any updates on when this might happen, @cpopell ? :)


offset < _staticSize: is not true after migration

Hi there.
I'm considering using Isar in a new project. I have traumatic experiences with DB migrations in previous projects so I'm trying to do some experiments to see how well Isar can handler with that.
I read the doc. it tells what can and can not do on schema migrations and nothing else. I assumed that there is nothing to be done: I can simply edit my collections, respecting those rules, and everything will just work, am I right?
So, I simulated a scenario that I would delete a String field and add a new one (in reality, I  just renamed it)
Steps to Reproduce

Create a collection with two ints  and three Strings

dart run build_runner build

Run my app

Save an entry to my collection

Renamed the second String

dart run build_runner build

Run my app

Read the previous saved entry

Edit all fields but the id

Save the entry to my collection -> crash

StackTrace
E/flutter (26175): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: 'package:isar/src/native/binary_writer.dart': Failed assertion: line 84 pos 12: 'offset < _staticSize': is not true.
E/flutter (26175): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
E/flutter (26175): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
E/flutter (26175): #2      BinaryWriter.writeBytes (package:isar/src/native/binary_writer.dart:84:12)
E/flutter (26175): #3      _MyStateAdapter.serialize (package:playground/my_state/my_state.g.dart:67:12)
E/flutter (26175): #4      IsarCollectionImpl.putAll.<anonymous closure> (package:isar/src/native/isar_collection_impl.dart:198:17)
E/flutter (26175): #5      IsarCollectionImpl.putAll.<anonymous closure> (package:isar/src/native/isar_collection_impl.dart:190:30)
E/flutter (26175): #6      IsarImpl.getTxn (package:isar/src/native/isar_impl.dart:100:22)
E/flutter (26175): #7      IsarCollectionImpl.putAll (package:isar/src/native/isar_collection_impl.dart:190:17)
E/flutter (26175): #8      IsarCollection.put (package:isar/src/isar_collection.dart:48:12)
E/flutter (26175): #9      _MyHomePageState.storeMyState.<anonymous closure> (package:playground/main.dart:71:50)
E/flutter (26175): #10     IsarImpl._txn.<anonymous closure> (package:isar/src/native/isar_impl.dart:66:45)
E/flutter (26175): #11     _rootRun (dart:async/zone.dart:1426:13)
E/flutter (26175): #12     _CustomZone.run (dart:async/zone.dart:1328:19)
E/flutter (26175): #13     IsarImpl._txn (package:isar/src/native/isar_impl.dart:66:27)
E/flutter (26175): <asynchronous suspension>
E/flutter (26175): #14     _MyHomePageState._incrementCounter (package:playground/main.dart:80:5)
E/flutter (26175): <asynchronous suspension>
E/flutter (26175):

Code sample
First Collection:
@Collection()
class MyState {
  int id;

  int number;

  String numberText3;
  String numberText2;
  String numberText1;

  MyState({
    required this.id,
    this.number = 0,
    this.numberText3 = "Default Value",
    this.numberText2 = "Default Value",
    this.numberText1 = "Default Value",
  });
}

Second collection
@Collection()
class MyState {
  int id;

  int number;

  String numberText3;
  String numberText22;
  String numberText1;

  MyState({
    required this.id,
    this.number = 0,
    this.numberText3 = "Default Value",
    this.numberText22 = "Default Value",
    this.numberText1 = "Default Value",
  });
}

Did I get it wrong about the migration process or this is really a bug?
Thanks a lot.
Version

Platform: Android and Mac
Flutter version:  2.10.1
Isar version: 2.1.4
Isar Generator version: 2.1.4

A new Isar version will be released today or tomorrow :)

Released!


Not 1 selected Video starts

I like your desktop ''streaming'' app but it doesn't want to stream videos when select it to play.
After i loged in into destop app and select (whatever) video, player open with a big play button icon in the midle. And after i click on this play button, nothing is happened. Everything stays as it is like an image. Only close (x) button works on that player.
This how it looks and i can't go forward with video after this;

Sorry for late reply, I was sick... :( Hum. Are you using Windows? and also I cannot see your username on the top left corner of your screenshot.
I was able to play the video from my account

yes, i'm using Win OS . i cover my username on the app ... I tryed again and again using this app time to time and i got always same issue with Play button not respoding wich means no playing videos.
If you need any more info from me just ask. i realy like this app, the way it looks. hope i get it to work soon. :)

Can you show me the console error log?
Here is how to open the console

Got the location folder of the application and open package.json
Change "toolbar": false -> "toolbar": true
Open the app
Click on the list button

The console window will appear
Login and go to the anime & play the video
Send me a screenshot of the console log
Ex:

I try to set Tollbar at ''True'' but i get this Message when i try to confirm the change. Even when i don't have nothing running or open i get this message, like this file is already running somewhere (wich Shouldn't be true). Any suggestion how to confirm ''true'' settings for toolbar ?

Copy & paste the package.json on the desktop. Edit the new file & save. Copy the one from the desktop and paste it back to the application folder.

Thanks for suggestion how to save it;  It worked :)
Here is the consele; It said something about beiing baned ? I visit website only few time and have no problem watching video at the website.. But on desktop app can't watch from the start.. Anyway, i hope this Console would help, so i could watch on your Desktop  app as well . :)

From what I can see here nothing is wrong :O
Are you able to play the video from the direct mp4 link? (This is the last log entry.) Copy & paste the link in the browser to see if the video works. I think you will be able to play the video from the browser but not in the application maybe and it's a flash problem. I'll try to reproduce the same error on mine.

I have no problem playing it in the browser. Copy and paste (last entry) link as you suggested and have no proble playing it. I'm going to uniinstall anything related to flash addons and then install it again (up to date) and see if this would work.. And thank you for you assistance i realy do appreciated.

Screenshot of playing video on browser:

Really!! Good job! Let's keep this conversation for future users. One thing I want to get working is force the app to avoid using the flash player. If I can get this to work the app will be available on linux and mac :D Keep fingers crossed! xD

:+1:   :smile:

This issue happened again. When i try updated all Flash plugins over old ones (which is the step i always used for updates) it still didn't work.
I need to completley uninstall Flash player , Shock Wave player, AIR and delete all lefovers manual and then install it back latest versions, which made app working again.
It seams this issue start reapearing whenever new update for Flash plugins come out. Usualy everything works after simple updates of Flash plugins with simple installs over old ones, without need to uninstall everything first, which is realy boring thing to do. It seams you having an issue on standby. Anyway, app is working now.
(i reopend issue, just in case but you can close it back)

Hey Draxler.
It's been a while since I did not log into Github. Sorry about that.
I wanted tell you that we won't use crappy mirrors from other providers anymore. That means that flash player will not be needed anymore and this problem will go away in the next version. I will close this issue when I release the new version.
F.Y.I
We will use one provider and upload our own releases. So this a big change and require a lot of time.
Thank you for using TopAnimeStream :D

This change would be great. i'll wait for the next relese. :)

Fixed in new version. (dev branch)

Hey Draxler. I need testers for the new upcoming version. Here is the link of the setup file https://mega.co.nz/#!rZxHgbaI!Bi6v3empFPze5cW2xUa7ezqlQhCHRyZBJfxz9OML_8k
In development

i'll check this out and i'll be back with some report :)


Code review changes

Implement changes from MK's review of the package:

Create globals.py or constants.py, move relevant elements there

Put them separate, capital, and propend them "_"

Connect function reefresh cache option

Remove no longer relevant user warnings

Give people a bit more help with errors and explain what they need to do

Move more into the return credential function.

read, write credential, cacheoptions doesn't need a separate variable

Don't change global proxy settings, change code to just run with pac_context where required

Change kvConn to PascalCase KVConnection

kvConnection doesn't require token = .... as it doesn't run, and lazy loading shouldn't cause issues anymore

KVConnection scope needed? Try .default? If not remove/reduce.

Rearrange keyvault user input validation condinitial loop to simpler neater version

Def write auth record: "if not pass"? Check.

Also implement this feature from the R version in the dac_connect function:
db_token <- cfg |> get_cfg(env, "token", default = NULL)
if (is.null(db_token)) db_token <- get_token(env)

Implement this alert to user
cli::cli_alert_info(
"Creating connection, this may take some time if cluster needs starting."
)

Implement missing env vars message similar to R version:
paste("Could not find value for %s in .Renviron, please",
"make sure key=value pair exists and that .Renviron file is loaded.")

create set_proxy in utils

complete, separate ticket wherre appropriate


Lua Plugin memory leak on remap configuration reloads.

Hi. We are experiencing a memory leak on remap configuration reloads while using the Lua plugin. This seems to be a known issue based on comments in the source code. We will need a fix as our Lua scripts leak close 1GB of memory on every reload in production.
Mention @shukitchan from the original mailing list discussion.

From the mailing list, I had a few questions since we've also been tracking a leak on 9.1. So for the instances you are seeing this is it only from global/file-global-local var usages? Or just lua reloads in general?

I can't really tell except with the global and file-local variables since I am testing with 100MB chunks. There might be leakages of other things, but they are too small to register with only the small test script. You would probably have to run with tcmalloc or jemalloc with leak checking turned on to find any other small leaks.
Couple of notes --

For 9.1.1 we also cherry-picked the following #8589 (memory leak) and #8080 (core dump) at the recommendations of the community.

It seems that I had to reverse the following commits 36a8cd (which removed the calling the LuaJIT garbage collector when deleting remap instances) and 1f645a (which removed the freeing of the remap instance handle and the clearing of the global registry in the Lua states when deleting remap instances) to get the global and file-local variables to be cleared on reloads. I don't think reversing either one on its own will do it. I think the clearing of the registry and calling the garbage collector are probably more important than the leaking of the instance handle structure.

So you are saying that you want to reverse those two changes : i.e. calling garbage collector and clearing of the global registry in the lua states when deleting remap instances.

Yes, both steps seem to be required based on my testing. If I am correct in that remap create new instances all run in one thread (and the same is true for deletes), then it should be straight-forward to reference count the instance handle to control clearing the global registry and freeing the instance handle. However, what was the reason for removing the garbage collector calls? The commit reference mentioned fixing core dumps?

explicitly calling garbage collector is expensive and takes a long time. In a situation where there are many lines in remap.config using the lua script, it can take forever and the ATS can eventually crash.
 Would it be better to leave it for the lua to decide even to collect the garbage?

Some interesting testing results --
I am running with a remap configuration consisting of eight lines. Each line uses the same single state for the Lua plugin. Each allocates 100MB of memory when it is initialized. So the total allocation is 800MB per remap configuration loading.
I am varying three variables --

free(ih) on or off
clear global registry on or off
running garbage collector on demand on or off

Tests --

ATS 9.1.1 -free -global -gc --> after x8 reloads allocation is 7.2GB used and never decreases
ATS 9.1.1 +free -global -gc --> allocation cycles between 2.4/3.2GB down to 1.6GB [ So it turns out the GC is run on its own, but it appears to be based on some kind of threshold. some times goes up 2.4GB before cycles and other times 3.2GB before cycles. Note that it only frees down to 1.6GB not 800MB. ]
ATS 9.1.1 +free +global -gc --> allocation cycles between 1.8-2.5GB down to 0.8-1.3GB [ So it will free more memory than the above case. ]
ATS 9.1.1 +free +global +gc --> allocation cycles between 1.6GB down to 0.8GB [ This is the same behavior as with 7.1.4. ]

@shukitchan -- Please see the commit that I added off the master branch in my personal fork. It should be referenced in this issue above this comment. Not sure what direction you wanted to take with this. If you think this is alright to go forward, then I can open a PR.

I am thinking whether we can do the gc in clean function instead in your own lua script ? Will that make a difference ?

I am checking #6737 and am thinking whether we still need ref count or not in our case.

We don't use any clean() function currently. I suppose we can modify our scripts to add one. What happens is the last remap instance will not free since the file-global is not out of scope at the time. So in my testing of 8 x 100MB instances you will free 700MB and not the last instance.
It seems like you would still need to reference count because the remap system assumes that each plugin instance ih is unique. If you have multiple plugin instances using the same ih then that would result in a double free as soon as you hit the same ih twice right?

Ok. I think I understand the change you want. It looks ok.
I can try to test out these changes before next week.

@shukitchan -- I rebased and squashed my branch into the new branch above. There are no other changes. If I am understanding you correctly, then I will go ahead and create a PR based on this new branch. Thanks.


Review cubedata interface

maybe change use of cube._my_data

ONE APPROACH
As discussed Friday 2017-02-17 (@marqh @djkirkham @pp-mo @corinnebosley @AlexHilson)
Presented/proposed by @marqh

original : see https://github.com/marqh/iris/pull/47
newer version ? : https://github.com/SciTools/iris/pull/2392

Basic summary :

lazy object is now supreme + definitive : cube.data_graph
touching data still 'loses' the original derivation graph
realising replaces data_graph with a wrapped version of the real array
this also allows in-place modification of real data

An alternative suggestion : @pp-mo "Real and Lazy are equal"
IDEAS FOR TWO-TRACK DATA:

cube.data and cube.lazy_data are intimately linked.
cube.data.is basically a Numpy array

it is equal to the result of realising the cube.lazy_data, if any
if the cube has only lazy data, then cube.data is generated automatically

and cached, probably

cube.lazy_data is basically a Dask array
*  it's realisation will be equal to cube.data (i.e. "real" data), if any
*  if the cube has only real data, then cube.lazy_data is generated automatically

and cached, probably

if a cube has both real and lazy data, these will be equal.

either can be discarded (e.g. "cube.data = None"), as long as the other is present
either will be generated from the other on request, and cached on the cube
modifying either will discard the other

EXAMPLE:
    # Load to get lazy-only
    cube = iris.load_cube(filename)
    assert cube.has_lazy_data() and not cube.has_real_data()

    # Get real data
    real = cube.data
    assert cube.has_lazy_data() and cube.has_real_data()
    old_lazy = cube.lazy_data

    # Modify real data, losing lazy
    real[17:23] += 2.31
    assert cube.has_real_data() and not cube.has_lazy_data()

    # Assign new lazy data, losing real
    new_lazy = old_lazy - da.mean(old_lazy)
    cube.lazy_data = new_lazy
    assert cube.has_lazy_data() and not cube.has_real_data()

USAGE:

Most Iris functions will simply use cube.data.
Some, like stats can use cube.lazy_data INSTEAD.
IMHO we don't need to supply dual-track code, can use an all-lazy approach

merge and concatenate already do this
statistics and cube arithmetic should probably go the same way

PERFORMANCE IMPLICATIONS

expect that real data is --

significant time to calculate
significant space to store

expect that lazy data is --

small in storage
time to create, maybe not really short ?

just wrapping arrays is not trivial
N.B. we know it is more costly than Biggus

THE TRICKY BIT

To support modification of real data, and get it to invalidate the lazy,
the exposed real-data object needs to be a "wrapper":
So...

"cube.data" isn't "just" a standard numpy array ...
? CubedataNumpyArray
it's a thing that behaves exactly like an array :
except that if you modify the contents, it invalidates the associated lazy-data (if any)
"cube.lazy_data" similar

? CubedataLazyArray
again, modifying it is 'hooked' to invalidate the real data

NON-TRICKY ALTERNATIVE

Nasty bit is the wrappers.
This is really only needed to support real-data modify-in-place.
INSTEAD we can expose a read-only array

and only support passing back a WHOLE array (of matching dims)

This is just like what we do for DimCoords
*   WAS : cube.data[2:4, 17] = 0
*    NOW :

            data = cube.data
            data[2:4, 17] = 0
            cube.data = data

NOTE: this approach is much like Dan's wrapper suggestion : #2386


Port dense literals to array literals in spec

https://github.com/openxla/stablehlo/issues/1578

Is this the last change? If so, consider updating description to "closes #1578" to automatically close issue once this is merged.

Thanks! I actually already closed it :upside_down_face:. This is just some straggler change for something that should probably have been part of an earlier change.


"Super Fine" PTZ speed feature added in latest (P100?) firmware -- messes up Companion

Some time ago, not sure which firmware version, I noticed a new feature in the Camera Control screen of the P100 web UI: the ability to select the speed control as either "Standard" or "Super Fine." This setting changes the acceptable range for Pan and Tilt Speed to be 0-255 instead of the standard range of 0-21 or 0-18. It is probably supported in other camera models as well.
We tend to use Super Fine in production, because we like to set it to very low speeds for slow pans, etc.
In Companion, the variables correctly report the new value that we manually set in the BirdDog UI, but we can't use Companion to adjust the values, because this module limits the values to the "standard" ranges.
For proper support, please enhance this module to support setting the "Speed Control" to either "Standard" (default) or "Super Fine" and in line with this, adjust the acceptable ranges for the Pan and Tilt variables to 0-255. I don't think it affects the Zoom speed.
I had a thought for further enhancement: use a Percent value from 0-100, and normalize it to the range appropriate for the Speed Control setting. (E.g. if "Standard" then 0-100 maps to 0-21, if "Super Fine" then 0-100 maps to 0-255.) This would be more disruptive for existing users, but would make it much easier to be consistent in how buttons work when the Speed Control mode is changed. Maybe instead: make new variables specifically for Percentage-level control, so people can use those if they want.
Thanks for the great work so far!

@scientastic Thanks for the report!
The latest version of the companion beta (as of last night) should have a fix that allows superfine to work. Let me know if you run into any issues!
I also added a slider to the number selection of the speed values. While it’s not quite normalizing it to a percentage, hopefully it has close to the same effect in terms of legibility. I’ll continue to think about the possibility of a separate percentage based action.


Investigate Rollbar Error 56 - undefined class

https://rollbar.com/lale-help/lale-help/items/56/

the problem clearly are those complex objects which gets passed into sidekiq and then the deserialization fails on wrong nesting of class constants.
the implementation does not follow the recommendation from sidekiq:
https://github.com/mperham/sidekiq/wiki/Delayed-extensions#actionmailer
It is recommended to avoid passing an object instance to mailer methods. Instead, pass an object id and then re-instantiate the object in the mailer method
there are not to many places where the delay is used on Mailer classes, could be switched easily to do the right thing.

@mkristian That would be an excellent solution. We were never happy with the short term fix of just using delay and serializing the entire object. Let me know if you can fix this for us...

I can fix it easily but code becomes less object-oriented like
TaskMailer.delay.task_reminder(task, user, token) will become TaskMailer.delay.task_reminder(task.id, user.id, token.code) so sidekiq needs to serialize only primitives.
probably OK as you want all emails sent out asynchronously

Works for me...


Set Mask programmatically

Is posible change the mask programmatically? I really need to do that..

@santalu is this going to be done?

yes, how


Invalid module.json prevents module update

Describe the bug
The Loot Sheet NPC 5e can no longer be updated.
To Reproduce

Start and log in to Foundry VTT (V9.249)
go to the Modules tab
update all the modules
A dialog opens saying the Loot Sheet NPC 5e cannot be updated because "The request to http://.../module.json did not provide a valid manifest file.

Expected behavior
The module updates correctly
Screenshots

Same happened to me

If this issue is still relevant.
Try to uninstall the module and use the module.json at the end of the readme.
But I tested that the modul can be installed that way.
Could be that we have to change the url in the foundry admin @jopeek ?

Seems like it needs to be changed in Foundry: uninstall and reinstall through foundry fails also, giving "The request did not provide a valid manifest file"
But installing with manually putting in the manifest in the README worked.

Seems like it needs to be changed in Foundry: uninstall and reinstall through foundry fails also, giving "The request did not provide a valid manifest file"
But installing with manually putting in the manifest in the README worked.

This worked for me as well. The URL in the README points at master/src/module.json, but the Foundry installer is looking for it at master/module.json. Uninstalling the module and reinstalling it does not address this.

This should be resolved now. Latest version is 3.5.2.


Create benchmarks for chunk handling

Part of #624
Since it is complex to profile Cortex in-vivo, we should have benchmarks to demonstrate progress.

serialising and deserialising chunks
sort and de-dupe thousands of chunks

#713 has a PromQL-to-inmemory-chunk benchmark covering this too.

Propose we can close this?  Plenty of benchmarks now.


Copy entire build output before publish

Address #25517
Recent change in DacFx removed full paths of references from build output. Because ADS copies the dacpac to a temp location before publish (due to a locking issue #11036), this is causing the referenced dacpac to not be found. Fix is to copy the entire output folder which should contain all the necessary references.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

5 of 8 (62.5%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.003%) to 41.76%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/sql-database-projects/src/controllers/projectController.ts
5
8
62.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.003%

Covered Lines:
30830

Relevant Lines:
69084

💛  - Coveralls

@zijchen is this change still planned or should this be closed as abandoned?

@zijchen is this change still planned or should this be closed as abandoned?

We decided to revert the change in DacFx which was why I left this PR idle, but I think it's still good to have because there could be other artifacts the dacpac requires and expects in the same folder. I'll merge it.


detect if browser notifications are enabled and show staus near export log

moved to Trello feature board, soon to be made public


[ Feature Request ] Support Trung0246 Switch

If you plan to add support for more custom nodes, ( beyond the rgthree lora loader ), this could be the next one.
https://github.com/Trung0246/ComfyUI-0246
If we have good switches in the Controller, it would be less necessary to make constant changes in the workflow.
The Impact Pack switch is working now on the Controller.
It allows different types of inputs. And it also allows any number of inputs.
But it has limitations, when we use it in the Controller.
The input selection is numeric, so we can't be sure about the input we are selecting, unless we see the nodes in the graph.
With the Trung0246 switch, we can rename a slot, and it will show up in the selector widget, in a dropdown list !
And as a bonus, the Trung switch allows multiple outputs. Each output has its own switch.
So we could add multiple switches to the Controller with a single node, and also the workflow would be less cluttered.

The Trung0246 switch, has another fundamental advantage over the other switches I tested.
This switch can really simulate a wire being unplugged in the workflow, in a way other switches can't.
Example:
Here, I'm switching between KSampler and SamplerCustomAdvanced, to get a single final image.

With the Trung0246 switch, the Sampler I select it's the only one that generates an image.
The same would happen, if I just plug the wire directly, from one of the samplers to the VAE Decode.

But if I use another switch ( e.g. Impact Pack, WAS node suite ), both samplers would run, one after the other.
Technically these switches "work", because the final image corresponds to the sampler I selected.
And after generating, if I switch samplers, the other image is shown, without needing to run the other Sampler again.
This is a good thing, because we can get the 2 images, without wasting more resources
But I wanted to run 2 samplers, to get 2 images, I wouldn't need a switch !

Tentatively implemented on 1.5

Seems to be working fine:

we can add multiple switches, to the same node
we can rename in inputs

Just a visual detail:
Can you add the blue header color ?
It helps to identify the node.

Added this as #385


Question: Encountering Error when installing

Hello,
I previously added Turing on a Mac with no issues. Then I attempted to install on a Windows machine and got the following error. Im using Julia Version 1.5.3 (2020-11-09)
I'm having trouble figuring out what the issue it.
(@v1.5) pkg> add Turing    Updating registry at C:\Users\martinj15.julia\registries\General`
Exception calling "DownloadFile" with "2" argument(s): "The operation has timed out"
At line:12 char:1

$webclient.DownloadFile("https://pkg.julialang.org/registry/23338594- ...

  + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
  + FullyQualifiedErrorId : WebException

┌ Warning: could not download https://pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/d884226df87e7586d69bcde5cd2dfeb22d02f1fa
└ @ Pkg.Types C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:1123
ERROR: SystemError: opening file "C:\Users\MARTIN~1\AppData\Local\Temp\jl_LlrT19\Registry.toml": No such file or directory
Stacktrace:
[1] systemerror(::String, ::Int32; extrainfo::Nothing) at .\error.jl:168
[2] #systemerror#48 at .\error.jl:167 [inlined]
[3] systemerror at .\error.jl:167 [inlined]
[4] open(::String; lock::Bool, read::Nothing, write::Nothing, create::Nothing, truncate::Nothing, append::Nothing) at .\iostream.jl:284
[5] open at .\iostream.jl:273 [inlined]
[6] open(::Base.var"#294#295"{Tuple{}}, ::String; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at .\io.jl:323
[7] open at .\io.jl:323 [inlined]
[8] read at .\io.jl:408 [inlined]
[9] parsefile at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\ext\TOML\src\TOML.jl:50 [inlined]
[10] read_registry(::String; cache::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:1044
[11] (::Pkg.Types.var"#107#110"{String})(::String) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:1132
[12] mktempdir(::Pkg.Types.var"#107#110"{String}, ::String; prefix::String) at .\file.jl:709
[13] mktempdir(::Function, ::String) at .\file.jl:707 (repeats 2 times)
[14] update_registries(::Pkg.Types.Context, ::Array{Pkg.Types.RegistrySpec,1}; force::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:1119
[15] update_registries at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:1106 [inlined] (repeats 2 times)
[16] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Windows, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:172
[17] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:139
[18] #add#21 at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:67 [inlined]
[19] add(::Array{Pkg.Types.PackageSpec,1}) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:67
[20] do_cmd!(::Pkg.REPLMode.Command, ::REPL.LineEditREPL) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\REPLMode\REPLMode.jl:404
[21] do_cmd(::REPL.LineEditREPL, ::String; do_rethrow::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\REPLMode\REPLMode.jl:382
[22] do_cmd at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\REPLMode\REPLMode.jl:377 [inlined]
[23] (::Pkg.REPLMode.var"#24#27"{REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\REPLMode\REPLMode.jl:546
[24] #invokelatest#1 at .\essentials.jl:710 [inlined]
[25] invokelatest at .\essentials.jl:709 [inlined]
[26] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\REPL\src\LineEdit.jl:2355
[27] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\REPL\src\REPL.jl:1144
[28] (::REPL.var"#38#42"{REPL.LineEditREPL,REPL.REPLBackendRef})() at .\task.jl:356`

I assume this might be caused the broken Julia package server right now. You can try to turn it off by running ENV["JULIA_PKG_SERVER"] = "" in the Julia REPL.

Thanks! I tried your suggesting and it seems to install. However, now im getting the error mentioned here
https://github.com/TuringLang/Libtask.jl/issues/67
However, i dont understand how to do this in windows since julia is not recognized neigher in a regular cmd or the windows powershell.

Can you update to Turing 0.14.12? This is the first release that is compatible with Libtask 0.5 which uses pre-built libraries instead of compiling them locally for every user. Hence such build errors should not occur anymore.

Thank you David. Im kinda new to Julia. What I just tried was to run ], update Turing. However, i still see an error.
This is a company machine. Im not sure if the problem might be that I'm having some sort of security issue.
(@v1.5) pkg> update Turing    Updating registry at C:\Users\martinj15.julia\registries\General`
Exception calling "DownloadFile" with "2" argument(s): "The operation has timed out"
At line:12 char:1

$webclient.DownloadFile("https://pkg.julialang.org/registry/23338594- ...

  + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
  + FullyQualifiedErrorId : WebException

┌ Warning: could not download https://pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/45eee820aed924d44b8861695eb8f4b3de930631
└ @ Pkg.Types C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:1123
ERROR: SystemError: opening file "C:\Users\MARTIN~1\AppData\Local\Temp\jl_qXXcaZ\Registry.toml": No such file or directory
Stacktrace:
[1] systemerror(::String, ::Int32; extrainfo::Nothing) at .\error.jl:168
[2] #systemerror#48 at .\error.jl:167 [inlined]
[3] systemerror at .\error.jl:167 [inlined]
[4] open(::String; lock::Bool, read::Nothing, write::Nothing, create::Nothing, truncate::Nothing, append::Nothing) at .\iostream.jl:284
[5] open at .\iostream.jl:273 [inlined]
[6] open(::Base.var"#294#295"{Tuple{}}, ::String; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at .\io.jl:323
[7] open at .\io.jl:323 [inlined]
[8] read at .\io.jl:408 [inlined]
[9] parsefile at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\ext\TOML\src\TOML.jl:50 [inlined]
[10] read_registry(::String; cache::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:1044
[11] (::Pkg.Types.var"#107#110"{String})(::String) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:1132
[12] mktempdir(::Pkg.Types.var"#107#110"{String}, ::String; prefix::String) at .\file.jl:709
[13] mktempdir(::Function, ::String) at .\file.jl:707 (repeats 2 times)
[14] update_registries(::Pkg.Types.Context, ::Array{Pkg.Types.RegistrySpec,1}; force::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\Types.jl:1119
[15] up(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; level::Pkg.Types.UpgradeLevel, mode::Pkg.Types.PackageMode, update_registry::Bool, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:227
[16] up at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:221 [inlined]
[17] #up#37 at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:67 [inlined]
[18] up(::Array{Pkg.Types.PackageSpec,1}) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\API.jl:67
[19] do_cmd!(::Pkg.REPLMode.Command, ::REPL.LineEditREPL) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\REPLMode\REPLMode.jl:404
[20] do_cmd(::REPL.LineEditREPL, ::String; do_rethrow::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\REPLMode\REPLMode.jl:382
[21] do_cmd at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\REPLMode\REPLMode.jl:377 [inlined]
[22] (::Pkg.REPLMode.var"#24#27"{REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\Pkg\src\REPLMode\REPLMode.jl:546
[23] #invokelatest#1 at .\essentials.jl:710 [inlined]
[24] invokelatest at .\essentials.jl:709 [inlined]
[25] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\REPL\src\LineEdit.jl:2355
[26] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.5\REPL\src\REPL.jl:1144
[27] (::REPL.var"#38#42"{REPL.LineEditREPL,REPL.REPLBackendRef})() at .\task.jl:356`

Can you try to set ENV["JULIA_PKG_SERVER"] = "" again?

I ran the line you suggested in the REPL then ran update Turing and showed some lines i had not seen before
(@v1.5) pkg> update Turing    Updating registry at C:\Users\martinj15.julia\registries\General   Updating registry atC:\Users\martinj15.julia\registries\JuliaComputingRegistryNo Changes toC:\Users\martinj15.julia\environments\v1.5\Project.tomlNo Changes toC:\Users\martinj15.julia\environments\v1.5\Manifest.toml``
Then i tried to run using Turing and got a similar error as before
julia> using Turing [ Info: Precompiling Turing [fce5fe82-541a-59a6-adf8-730c64b5f9a0] ERROR: LoadError: Libtask is not properly installed. Please run import Pkg; Pkg.build("Libtask") Stacktrace:  [1] error(::String) at .\error.jl:33  [2] top-level scope at C:\Users\martinj15\.julia\packages\Libtask\Zo6uM\src\Libtask.jl:8  [3] include(::Function, ::Module, ::String) at .\Base.jl:380  [4] include(::Module, ::String) at .\Base.jl:368  [5] top-level scope at none:2  [6] eval at .\boot.jl:331 [inlined]  [7] eval(::Expr) at .\client.jl:467  [8] top-level scope at .\none:3 in expression starting at C:\Users\martinj15\.julia\packages\Libtask\Zo6uM\src\Libtask.jl:7 ERROR: LoadError: Failed to precompile Libtask [6f1fad26-d15e-5dc8-ae53-837a1d7b8c9f] to C:\Users\martinj15\.julia\compiled\v1.5\Libtask\KIaXx_f8Y4i.ji. Stacktrace:  [1] error(::String) at .\error.jl:33  [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1305  [3] _require(::Base.PkgId) at .\loading.jl:1030  [4] require(::Base.PkgId) at .\loading.jl:928  [5] require(::Module, ::Symbol) at .\loading.jl:923  [6] include(::Function, ::Module, ::String) at .\Base.jl:380  [7] include(::Module, ::String) at .\Base.jl:368  [8] top-level scope at none:2  [9] eval at .\boot.jl:331 [inlined]  [10] eval(::Expr) at .\client.jl:467  [11] top-level scope at .\none:3 in expression starting at C:\Users\martinj15\.julia\packages\Turing\RzDvB\src\Turing.jl:14 ERROR: Failed to precompile Turing [fce5fe82-541a-59a6-adf8-730c64b5f9a0] to C:\Users\martinj15\.julia\compiled\v1.5\Turing\gm4QC_f8Y4i.ji. Stacktrace:  [1] error(::String) at .\error.jl:33  [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1305  [3] _require(::Base.PkgId) at .\loading.jl:1030  [4] require(::Base.PkgId) at .\loading.jl:928  [5] require(::Module, ::Symbol) at .\loading.jl:923

OK, it seems it still tries to build Libtask. Can you run
julia>] add<EMAIL_ADDRESS>
to explicitly force the update to the latest version?

Ok, here's the new error. Thanks for the help David
(@v1.5) pkg> add<EMAIL_ADDRESS> Resolving package versions... ERROR: Unsatisfiable requirements detected for package Turing [fce5fe82]:  Turing [fce5fe82] log:  ├─possible versions are: [0.5.0-0.5.1, 0.6.0-0.6.2, 0.6.4-0.6.9, 0.6.11-0.6.15, 0.6.17-0.6.19, 0.6.21-0.6.23, 0.7.0-0.7.4, 0.8.0-0.8.3, 0.9.0-0.9.2, 0.10.0-0.10.1, 0.11.0, 0.12.0, 0.13.0, 0.14.0-0.14.1] or uninstalled  └─restricted to versions 0.14.12 by an explicit requirement — no versions left

Hmm that's weird, it doesn't allow you to install any Turing version > 0.14.1. It seems your registry is quite outdated - maybe your company provides you with a special registry?

I'm not sure. I can def ask. Would it be good to delete any trace of Turing and try again the way you suggested?

Yes, that's something you could try as well. Maybe it works when you start with a clean and fresh installation.

Closing this PR as it's inactive for a while. Please reopen if more help is needed.

Closing this PR as it's inactive for a while. Please reopen if more help is needed.


Reduce warnings in improver tests output

As an IMPROVER developer, I want fewer non-problem warnings in my test output so that I don't miss anything important. This ticket primarily covers unit tests and acceptance tests.
Acceptance criteria:

Investigate warnings and find out if they are justified (likely not)
Reduce number of warnings in improver tests output
Determine if there is a sensible way to ignore specific iris warnings that we do not wish to see.

Completed.


[BUG][2.1] After canceling the edit_table_dlg, adding a new table results in editing the current table.

Steps to reproduce:

Create a new database
Create a table
Press the "edit table button" and cancel the "edit table dialog"
Create a new table
Observe that the current table's name is modified instead of adding a new table

This might be related. While I was playing with db_interface.gd, I saved and re-opened the tool the information on the interface was still there but m_tables.size() returns to 0.

Your case might be similar, but it's a different issue.
I'll try to reproduce it and find a fix. Please don't erase your comment so I can fix that too.
I already found what is the problem with the original issue: I'm using the same dialog for "add_new" and for "edit", but in some cases the signals don't get disconnected and a different function is called.
I'm working for a fix for this one.

Looks like I can't reproduce your issue after my fix. They must have been related after all.
I'm closing this.
If you still reproduce it, please create an new issue with repo steps. If you find more than one bug, please make separated issues for each one (even if they are related) and I'll take it from there.
Also please make sure you checkout the 2.1 branch before testing.


ERROR:asreview.webapp.start_flask:Exception on / [GET]

Dear All,
after Installation asreview wont start.
Installation on: Microsoft Windows 10 22H2 with elevated rights. (see attached installation documentation)
Ich found the follwing failure:
C:\Windows\system32>asreview lab
Start browser at http://localhost:5000/
If your browser doesn't open. Please navigate to 'http://localhost:5000/'
ERROR:asreview.webapp.start_flask:Exception on / [GET]
Traceback (most recent call last):
File "C:\Program Files\Python\Python3.12\Lib\site-packages\flask\app.py", line 1455, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\flask\app.py", line 869, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\flask\app.py", line 867, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\flask\app.py", line 852, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\asreview\webapp\start_flask.py", line 434, in index
return render_template("index.html")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\flask\templating.py", line 151, in render_template
template = app.jinja_env.get_or_select_template(template_name_or_list)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\jinja2\environment.py", line 1081, in get_or_select_template
return self.get_template(template_name_or_list, parent, globals)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\jinja2\environment.py", line 1010, in get_template
return self._load_template(name, globals)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\jinja2\environment.py", line 969, in _load_template
template = self.loader.load(self, name, self.make_globals(globals))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\jinja2\loaders.py", line 126, in load
source, filename, uptodate = self.get_source(environment, name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\flask\templating.py", line 65, in get_source
return self._get_source_fast(environment, t
ASReview 1.3.2 Installationsanleitung.docx
ASReview 1.3.2 Installationsanleitung.docx
ASReview 1.3.2 Installationsanleitung.docx
emplate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python\Python3.12\Lib\site-packages\flask\templating.py", line 99, in _get_source_fast
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: index.html
ERROR:root:index.html
<IP_ADDRESS> - - [2023-11-28 11:34:53] "GET / HTTP/1.1" 500 152 0.014959

flask is as a webserver on port 5000 , isnt i? or is another webserver needed ?

What Python version are you running??

I found a similar error in this thread: https://github.com/asreview/asreview/issues/488#issuecomment-1599006234
with a solution in https://github.com/asreview/asreview/pull/491
not sure if this helps...
How did you install ASReview, via pip?

#488: i saw it before and worked ist out.  not realy helpfull, cause there is no valuable information inside. (from my piont of view)
Ich guess, the templatre folder and the templates are not installed. But im not sure.

Hi J,
i'll check it out now.....

Just uploaded and tested a new release: 1.3.4. The source distribution (tar.gz) works there as well. Thanks for reporting. Feel free to reopen the issue if you think it persists.
% pip install asreview-1.3.4.tar.gz
Processing ./asreview-1.3.4.tar.gz
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (1.26.1)
Requirement already satisfied: pandas<3,>=1 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (2.1.2)
Requirement already satisfied: scikit-learn in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (1.3.2)
Requirement already satisfied: rispy~=0.7.0 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (0.7.1)
Requirement already satisfied: xlrd>=1.0.0 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (2.0.1)
Requirement already satisfied: setuptools in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (68.2.2)
Requirement already satisfied: flask>=2.3.0 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (3.0.0)
Requirement already satisfied: flask_cors in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (4.0.0)
Requirement already satisfied: flask-login>=0.6.3 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (0.6.3)
Requirement already satisfied: flask-mail in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (0.9.1)
Requirement already satisfied: Werkzeug>=2.3.2 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (3.0.1)
Requirement already satisfied: openpyxl in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (3.1.2)
Requirement already satisfied: jsonschema in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (4.19.2)
Requirement already satisfied: filelock in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (3.13.1)
Requirement already satisfied: Flask-SQLAlchemy>=3.0.2 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (3.1.1)
Requirement already satisfied: requests in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (2.31.0)
Requirement already satisfied: tqdm in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (4.66.1)
Requirement already satisfied: gevent>=20 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (23.9.1)
Requirement already satisfied: datahugger>=0.2 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (0.10.4)
Requirement already satisfied: synergy_dataset in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (1.2)
Requirement already satisfied: sqlalchemy-utils in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from asreview==1.3.4) (0.41.1)
Requirement already satisfied: jsonpath-ng in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from datahugger>=0.2->asreview==1.3.4) (1.6.0)
Requirement already satisfied: requests-cache in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from datahugger>=0.2->asreview==1.3.4) (1.1.0)
Requirement already satisfied: scitree in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from datahugger>=0.2->asreview==1.3.4) (0.5.3)
Requirement already satisfied: Jinja2>=3.1.2 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from flask>=2.3.0->asreview==1.3.4) (3.1.2)
Requirement already satisfied: itsdangerous>=2.1.2 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from flask>=2.3.0->asreview==1.3.4) (2.1.2)
Requirement already satisfied: click>=8.1.3 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from flask>=2.3.0->asreview==1.3.4) (8.1.7)
Requirement already satisfied: blinker>=1.6.2 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from flask>=2.3.0->asreview==1.3.4) (1.7.0)
Requirement already satisfied: sqlalchemy>=2.0.16 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from Flask-SQLAlchemy>=3.0.2->asreview==1.3.4) (2.0.23)
Requirement already satisfied: zope.event in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from gevent>=20->asreview==1.3.4) (5.0)
Requirement already satisfied: zope.interface in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from gevent>=20->asreview==1.3.4) (6.1)
Requirement already satisfied: greenlet>=3.0rc3 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from gevent>=20->asreview==1.3.4) (3.0.1)
Requirement already satisfied: python-dateutil>=2.8.2 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from pandas<3,>=1->asreview==1.3.4) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from pandas<3,>=1->asreview==1.3.4) (2023.3.post1)
Requirement already satisfied: tzdata>=2022.1 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from pandas<3,>=1->asreview==1.3.4) (2023.3)
Requirement already satisfied: MarkupSafe>=2.1.1 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from Werkzeug>=2.3.2->asreview==1.3.4) (2.1.3)
Requirement already satisfied: attrs>=22.2.0 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from jsonschema->asreview==1.3.4) (23.1.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from jsonschema->asreview==1.3.4) (2023.7.1)
Requirement already satisfied: referencing>=0.28.4 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from jsonschema->asreview==1.3.4) (0.30.2)
Requirement already satisfied: rpds-py>=0.7.1 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from jsonschema->asreview==1.3.4) (0.10.6)
Requirement already satisfied: et-xmlfile in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from openpyxl->asreview==1.3.4) (1.1.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from requests->asreview==1.3.4) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from requests->asreview==1.3.4) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from requests->asreview==1.3.4) (2.0.7)
Requirement already satisfied: certifi>=2017.4.17 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from requests->asreview==1.3.4) (2023.7.22)
Requirement already satisfied: scipy>=1.5.0 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from scikit-learn->asreview==1.3.4) (1.11.3)
Requirement already satisfied: joblib>=1.1.1 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from scikit-learn->asreview==1.3.4) (1.3.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from scikit-learn->asreview==1.3.4) (3.2.0)
Requirement already satisfied: pyalex in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from synergy_dataset->asreview==1.3.4) (0.12)
Requirement already satisfied: tabulate in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from synergy_dataset->asreview==1.3.4) (0.9.0)
Requirement already satisfied: six>=1.5 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from python-dateutil>=2.8.2->pandas<3,>=1->asreview==1.3.4) (1.16.0)
Requirement already satisfied: typing-extensions>=4.2.0 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from sqlalchemy>=2.0.16->Flask-SQLAlchemy>=3.0.2->asreview==1.3.4) (4.8.0)
Requirement already satisfied: ply in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from jsonpath-ng->datahugger>=0.2->asreview==1.3.4) (3.11)
Requirement already satisfied: cattrs>=22.2 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from requests-cache->datahugger>=0.2->asreview==1.3.4) (23.1.2)
Requirement already satisfied: platformdirs>=2.5 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from requests-cache->datahugger>=0.2->asreview==1.3.4) (3.11.0)
Requirement already satisfied: url-normalize>=1.4 in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from requests-cache->datahugger>=0.2->asreview==1.3.4) (1.4.3)
Requirement already satisfied: gitignorefile in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from scitree->datahugger>=0.2->asreview==1.3.4) (1.1.2)
Requirement already satisfied: natsort in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from scitree->datahugger>=0.2->asreview==1.3.4) (8.4.0)
Requirement already satisfied: scisort in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from scitree->datahugger>=0.2->asreview==1.3.4) (0.5.3)
Requirement already satisfied: seedir in /Users/anon/.pyenv/versions/3.12.0/envs/asreview-prod/lib/python3.12/site-packages (from scitree->datahugger>=0.2->asreview==1.3.4) (0.4.2)
Building wheels for collected packages: asreview
  Building wheel for asreview (setup.py) ... done
  Created wheel for asreview: filename=asreview-1.3.4-py3-none-any.whl size=3297693 sha256=dc2a02129357c1bc28881749b0d599bc624e2ed2770783af03eab753f349a79e
  Stored in directory: /Users/Bruin056/Library/Caches/pip/wheels/a0/64/87/120420d26b91463b888d5b383d619c0930c4166cb000ab9e64
Successfully built asreview
Installing collected packages: asreview
Successfully installed asreview-1.3.4

[notice] A new release of pip is available: 23.2.1 -> 23.3.1
[notice] To update, run: python3.12 -m pip install --upgrade pip
Bruin056@UU083226 Downloads % asreview lab
Start browser at http://localhost:5000/

If your browser doesn't open. Please navigate to 'http://localhost:5000/'

<IP_ADDRESS> - - [2023-11-29 11:35:20] "GET / HTTP/1.1" 200 713 0.010319
<IP_ADDRESS> - - [2023-11-29 11:35:20] "GET /static/css/main.9e747be3.css HTTP/1.1" 200 7688 0.001089
<IP_ADDRESS> - - [2023-11-29 11:35:20] "GET /static/js/main.43c0da44.js HTTP/1.1"<PHONE_NUMBER> 0.026394

Thx in advance. Will check it.

Dear All,
1.)Update pip install --upgrade asreview1.3.4. tar.gz
2.) It Works !

Thank You All very much for fast and reliable support!


Target [League\Flysystem\FilesystemInterface] is not instantiable

I follow all install instructions that you saied. and I write a custom Route to show images :
Route::get('/showImage/{w}/{h}/{src}', function (League\Glide\Server $server,  Illuminate\Http\Request $request) { 		$server->outputImage($request); 	})->where('src', '.+');
but when run the Route bellow error is shown :
BindingResolutionException in Container.php line 745: Target [League\Flysystem\FilesystemInterface] is not instantiable.

Did you install the service provider?


Fatal error on running dockerdrupal env

dockerdrupal env my-site -t D7

 If required, please type admin password to add '<IP_ADDRESS> docker.dev' to /etc/hosts

Notice: Undefined variable: output in /Users/paulmccrodden/.composer/vendor/dockerdrupal/cli/src/Command/InitCommand.php on line 177
Password:
Fatal error: Call to a member function writeln() on a non-object in /Users/paulmccrodden/.composer/vendor/dockerdrupal/cli/src/Command/InitCommand.php on line 178

you have the latest version installed?
dockerdrupal --version

be great to get some traction on this... feedback could help drive it towards integration with main DockerDrupal env... behat/selenium and also more options as to what container/composer config to include etc etc.
thanks again for the input and testing time/patience.

'dockerdrupal --version' output

Docker Drupal version 1.0.5

I had to revert to using MAMP in the end. I got the Wordpress Quickstart working and then was able to get Drupal working, but I found that once I mounted the volume even with same settings.php, that I get:

PDOException: SQLSTATE[HY000] [2002] No such file or directory in lock_may_be_available() (line 167 of /var/www/html/includes/lock.inc).

So, this is an issue with all envs, something fishy going on with Docker for Mac, although I was working on a React project last and all was ok connecting to mysql container.
What we need it a Drupal Quickstart that mounts the drupal root dir on host to the container and doesn't throw that error. SImilar to the Wordpress one, but incl. mounting a dir. https://docs.docker.com/compose/wordpress/
If I can get it sorted over next while, I'll work towards that. If you got a chance in the meantime, feel free also, haha. Thanks for all your work, will take a look again soon.

@mccrodp - I'll post a video of clean D7 running in under 4/5 mins once the containers are downloaded (which you may already have done).
I realise its a big pain testing stuff that is in BETA and takes time you don't have./.... so much appreciated.  thanks

Sounds good. For me, the whole Docker ecosystem is still in beta once it get to the application layer, there's just not enough docs or troubleshooting out there yet for achieving a quick fix for specific use cases. It's all research, trial & error and experience.
Thanks!

@mccrodp - version 1.0.7 resolves env function issue:
also - here's a video of the intended experience : https://www.youtube.com/watch?v=FoDeyEPEhiY

should be fixed now.


Grid layout issue on firefox.com

This doesn't look right:

Simplified reduction:
<!doctype html><style>
    * {
        outline: 1px solid black;
    }
    html {
        background: white;
        position: absolute;
        width: 0;
    }
    body {
        background: orange;
        position: absolute;
    }
    main {
        background: cyan;
        display: grid;
        grid-template-columns: 1fr;
    }
</style><body><main><div>hello

To fix this, we need to ensure to have proper positioning and structure of elements.
Can I send a PR to resolve this issue? @awesomekling

To fix this, we need to ensure to have proper positioning and structure of elements. Can I send a PR to resolve this issue? @awesomekling

Of course, if you have a fix, please submit it along with a layout test :)

Reduction is rendered correctly on a build from master branch


Error when building latest script in Visual Studio

Error	CS7064	Error opening icon file C:\Users\phili\OneDrive\Desktop\EldenRingFpsUnlockAndMore-main\EldenRingFPSUnlockAndMore\icon.ico -- Could not find file 'C:\Users\phili\OneDrive\Desktop\EldenRingFpsUnlockAndMore-main\EldenRingFPSUnlockAndMore\icon.ico'.

name any icon file 'icon.ico' and put it in the folder

Returned with:
Error	CS7065	Error building Win32 resources -- Unable to read beyond the end of the stream.


Update to GML syntax

Changes
This is pull request refers to #2984, a previous pull request made by me. I committed online and wasn't able to change it afterwards to add myself to the AUTHORS.txt and update the changelog.
Checklist

don't need markup tests, just added some syntax
[x] Updated the changelog at CHANGES.md
[x] Added myself to AUTHORS.txt, under Contributors

@joshgoebel I was having problems updating my last commit with reference #2984, so I closed and opened this one with everything updated and corrected.


Upgrading from 3.04 to 4.00

After upgrading to 4.00 my program using tesseract is broken
Installing tesseract 4.00
cd /var/bin && wget https://github.com/tesseract-ocr/tesseract/archive/4.00.00alpha.tar.gz -O tesseract-4.00.00alpha.tar.gz && tar -xvf tesseract-4.00.00alpha.tar.gz
cd tesseract-4.00.00alpha && ./autogen.sh && ./configure && make && make install

Compiling program
g++ -std=c++11 txtocr.cpp -o txtocr -llept -ltesseract

Running program
# ./txtocr
./txtocr: error while loading shared libraries: libtesseract.so.4: cannot open shared object file: No such file or directory

txtocr.cpp
/*
 *	Compile
 *	# g++ -std=c++11 txtocr.cpp -o txtocr -llept -ltesseract
 *
 *	Get tesseract version
 *	# pkg-config --modversion tesseract
*/

#include "txtocr.hpp"

void usage(const std::string VERSION){
	tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();

	std::cerr << "txtocr version: " << VERSION << "\nTesseract version: " << api->Version() << "\n\nUsage: txtocr input [options]\n"
		"Options:\n"
		"\t-l <string>          -- Set iterator level\n"
		"\t                        (Values: block | para | line | word | symbol)\n"
		"\t-d                   -- Debug (Verbose)\n" << std::endl;
}

int main(int argc, char* argv[]){
	Txtocr a;

	try{
		a.set_level("");

		//	Parse arguments
		for(int i = 1; i < argc; i++){
			std::string arg = std::string(argv[i]);

			if(i == 1){
				a.set_input(arg);
			}
			else if(arg == "-l"){
				a.set_level(argv[++i]);
			}
			else if(arg == "-d"){
				a.set_debug(true);
			}
			else{
				throw std::runtime_error("Argument '"+arg+"' is invalid");
			}
		}

		std::cout << a.run() << std::endl;
	}
	catch(std::exception& e){
		std::cerr << "Error: " << e.what() << "\n" << std::endl;
		usage(a.VERSION);
		return 1;
	}

	return 0;
}

txtocr.h
class Txtocr{
	private:
		std::string input 					= "";
		tesseract::PageIteratorLevel level;
		bool is_debug						= false;
		void error							(const std::string& s);
		std::string utf8_to_latin			(const char * in);

	public:
		Txtocr();
		const std::string VERSION			= "0.1";
		void set_input						(const std::string& s);
		void set_level						(const std::string& s);
		void set_debug						(bool d);
		std::string run						();
};

txtocr.hpp
#include <iostream>
#include <stdexcept>
#include <fstream>
#include <chrono>
#include <string>
#include <vector>
#include <math.h>
#include <boost/algorithm/string.hpp>
#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
#include "txtocr.h"

Txtocr::Txtocr(){}

void Txtocr::set_input(const std::string& s){
	input = s;
}

void Txtocr::set_level(const std::string& s){
	if(s == ""){
		level = tesseract::RIL_TEXTLINE;
	}
	else if(s == "block"){
		level = tesseract::RIL_BLOCK;
	}
	else if(s == "para"){
		level = tesseract::RIL_PARA;
	}
	else if(s == "line"){
		level = tesseract::RIL_TEXTLINE;
	}
	else if(s == "word"){
		level = tesseract::RIL_WORD;
	}
	else if(s == "symbol"){
		level = tesseract::RIL_SYMBOL;
	}
	else{
		error("Invalid iterator level");
	}
}

void Txtocr::set_debug(bool d){
	is_debug = d;
}

void Txtocr::error(const std::string& s){
	throw std::runtime_error(s);
}

std::string Txtocr::utf8_to_latin(const char* in){
	std::string out;

	if(in == NULL){
		return out;
	}

	unsigned int codepoint;
	while (*in != 0){
		unsigned char ch = static_cast<unsigned char>(*in);
		if(ch <= 0x7f){
			codepoint = ch;
		}
		else if(ch <= 0xbf){
			codepoint = (codepoint << 6) | (ch & 0x3f);
		}
		else if(ch <= 0xdf){
			codepoint = ch & 0x1f;
		}
		else if(ch <= 0xef){
			codepoint = ch & 0x0f;
		}
		else{
			codepoint = ch & 0x07;
		}

		++in;

		if(((*in & 0xc0) != 0x80) && (codepoint <= 0x10ffff)){
			if(codepoint <= 255){
				out.append(1, static_cast<char>(codepoint));
			}
			else{
				// do whatever you want for out-of-bounds characters
			}
		}
	}

	return out;
}

std::string Txtocr::run(){
	//	Return error if input file is not defined
	if(input == ""){
		error("Input file not defined");
	}
	//	Return error if input file is not TIFF
	else{
		std::string input_lc = input;
		boost::to_lower(input_lc);
		if(input_lc.substr(input_lc.find_last_of(".") + 1) != "tif"){
			error("Input file must be TIFF");
		}
	}

	auto start = std::chrono::high_resolution_clock::now();

	// Open input image with leptonica library
	Pix *image = pixRead((input).c_str());

	boost::property_tree::ptree root;
	boost::property_tree::ptree children;

	root.put("height", pixGetHeight(image));
	root.put("width", pixGetWidth(image));

	// Initialize tesseract-ocr, without specifying tessdata path
	tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
	if(api->Init(NULL, "dan+eng")){
		error("Could not initialize tesseract");
	}
	api->SetImage(image);
	api->Recognize(0);

	tesseract::ResultIterator* ri = api->GetIterator();

	if(ri != 0){
		do{
			boost::property_tree::ptree child;

			const char* seg = ri->GetUTF8Text(level);
			int x1, y1, x2, y2, height, width;
			ri->BoundingBox(level, &x1, &y1, &x2, &y2);
			height = y2 - y1;
			width = x2 - x1;

			if(is_debug){
				printf("seg: '%s'; BoundingBox: %d,%d,%d,%d;\n", seg, x1, y1, x2, y2);
			}

			child.put("top", y1);
			child.put("left", x1);
			child.put("height", height);
			child.put("width", width);
			child.put("bottom", y1 + height);
			child.put("right", x1 + width);
			child.put("html", utf8_to_latin(seg));
			child.put("conf", roundf(ri->Confidence(level) * 100) / 100);

			children.push_back(std::make_pair("", child));

			delete[] seg;
		}
		while(ri->Next(level));

		root.add_child("elms", children);
	}

	// Destroy used object and release memory
	api->End();
	pixDestroy(&image);

	auto elapsed = std::chrono::high_resolution_clock::now() - start;
	root.put("exec_time", ((float)std::chrono::duration_cast<std::chrono::microseconds>(elapsed).count() / 1000) / 1000);

	std::ostringstream oss;
	write_json(oss, root, false);
	return oss.str();
}

Try to uninstall 3.0x first before installing 4.00.
Don't forget running ldconfig.

ldconfig solved the error..
But what about those shared objects/files?
Arent all required files compiled into the file txtocr ??
When the following code prints Tesseract version: 4.00.00alpha can I then be 100% shure that everything is running 4.00 ?
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();

std::cerr << "Tesseract version: " << api->Version() << std::endl;

4.0.0alpha tagged zip file is from Nov 2016 (I think, please check).
If you want latest 4.0.0alphacode, please clone from master in GitHub.
There have been quite a few commits since the original tag for 4.0.0.

excuse the brevity, sent from mobile

On 20-Mar-2017 9:05 PM, "clarkk"<EMAIL_ADDRESS>wrote:

ldconfig solved the error..
But what about those shared objects/files?
Arent all required files compiled into the file txtocr ??
When the following code prints Tesseract version: 4.00.00alpha can I then
be 100% shure that everything is running 4.00 ?
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
std::cerr << "Tesseract version: " << api->Version() << std::endl;
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/issues/774#issuecomment-287797686,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE2_oz8guS825Mrknsc_-ul--atGngkiks5rnpzQgaJpZM4MihhH
.

Run Configure with enable debug to see the git revision of the code u r
running.

excuse the brevity, sent from mobile

On 20-Mar-2017 11:24 PM, "ShreeDevi Kumar"<EMAIL_ADDRESS>wrote:

4.0.0alpha tagged zip file is from Nov 2016 (I think, please check).
If you want latest 4.0.0alphacode, please clone from master in GitHub.
There have been quite a few commits since the original tag for 4.0.0.

excuse the brevity, sent from mobile

On 20-Mar-2017 9:05 PM, "clarkk"<EMAIL_ADDRESS>wrote:

ldconfig solved the error..
But what about those shared objects/files?
Arent all required files compiled into the file txtocr ??
When the following code prints Tesseract version: 4.00.00alpha can I
then be 100% shure that everything is running 4.00 ?
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
std::cerr << "Tesseract version: " << api->Version() << std::endl;
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/issues/774#issuecomment-287797686,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE2_oz8guS825Mrknsc_-ul--atGngkiks5rnpzQgaJpZM4MihhH
.

Use tesseract user forum for asking support.
When installing for source you have to remove (uninstall) previous version (this is valid not only for tesseract).

Where is the user forum?


Store server version in Redux (WIP for #3745)

This is WIP for the part of https://github.com/zulip/zulip-mobile/issues/3745 only concerned with storing the version number in Redux.

I think the 2.2-dev tag is worth doing. @andersk can you push the tag (and also update the release checklist to mention doing that?)

Done.

It should be mentioned that there are already many possible git describe output formats, so you shouldn’t make too many assumptions:

2.1.0-rc1
2.1.0-rc1-112-g35959d43c4
2.1.0
2.1.1-50-gd452ad31e0
2.2-dev-426-gdf6b90db3c (if we make a 2.2-dev tag)

Assuming dev < rc0 < rc1 < ... < ø (does it?), we can still use the lexicographic ordering on number[] with all of these if dev maps to [-2] and rcN maps to [-1,N].
I think all we really need, though, is major-minor[-patch]; anything past that is gravy.

Given the amount of discussion that's enused on this topic (see also discussion on CZO), I should probably note: while we'll want a parsed and partial-ordered server-version at some point, it doesn't have to block this PR. An unparsed version-string will still be useful for #3745.

(Not yet ready for review; I just remembered I haven't addressed Ray's comments on the earlier commits.)

alternately, consider using zulipVersion: string instead. This requires us to write a migration, but Zulip servers have been sending zulip_version since at least 1.5.1 in 2017. (Not sure if that's old enough not to worry about.)

As @gnprice mentioned to me on Friday, such a migration would have to exist outside the pattern of our current migrations because it requires making an API call. I think we instead landed on it being OK to allow zulipVersion to be empty, since most of the places where we'd need it are after the user is logged in and REALM_INIT has been dispatched. I'm fine to make the "empty" state be undefined instead of null, as you've suggested; I agree with your reasoning.

OK, this is ready for another round of review. I've added version parsing code with tests, and addressed Ray's earlier feedback.

As @gnprice mentioned to me on Friday, such a migration would have to exist outside the pattern of our current migrations because it requires making an API call.

For the record: I was thinking the migration could just use "0.0" or similar. (An honest undefined is probably a better idea all around, though.)

OK, I think I've addressed all of your comments, @gnprice, but I ended up doing some fairly substantial reorganization of the commits, so hopefully I haven't introduced more issues. But I'm hoping at least it's easier to review with this organization. :)
One thing to note in this revision is that I introduced shouldHaveZulipVersion and defaulted it to false, even though you've rightly pointed out that it should default to true. In later commits that need to test with a zulipVersion present, I switched it to default to true. This back and forth is intended to reduce the size of the patch, to help make reviewing easier; I figured it would be more lines of code if I switched a lot of the callers back and forth like this.

OK, ready for another review!

OK, I believe I've addressed all of your comments now. I've also used the quantifier {4,40} instead of + to match the commit ID for commitsMatch. I considered adding a $ at the end, to discard the commit info if it's followed by garbage, but I decided against it; the garbage itself can be ignored, while preserving the commit info. This assumes any garbage wouldn't suggest a false positive for the commit info; I suppose {4,40} might make this a bit less likely.

and there's this from last round (copying here so I don't forget about it)

Ohhhh, I saw your comment saying you’d gone ahead and added a jsdoc, in https://github.com/zulip/zulip-mobile/pull/3839#discussion_r384221034, and my eyes skimmed right past the fact that you were talking about two completely different jsdocs. Oops! We’ll go over this tomorrow. 🙂

And merged. (After the edits we made together just now in ZulipVersion.js, mainly to jsdoc and comments.) Thanks again!