[Issue #1260] Introducing support for GitHub Codespaces

This PR implements support for Github codespaces in Reflex. The modifications involve updating the constants.py file to include a condition. When the project is loaded using Github codespaces, the API_URL will automatically be set to an HTTPS endpoint. This improvement ensures seamless integration and enhances security for users.
Platforms used for testing include:

Github Codespaces
Local virtual devcontainer in VS Code.

One test is currently not passing, and it appears to be failing in the main branch as well. Do you have any thoughts or ideas on how to address this issue?
    def do_execute(self, cursor, statement, parameters, context=None):
>       cursor.execute(statement, parameters)
E       sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "DROP": syntax error
E       [SQL: ALTER TABLE alembicthing DROP COLUMN t1]
E       (Background on this error at: https://sqlalche.me/e/14/e3q8)

/home/vscode/.cache/pypoetry/virtualenvs/reflex-qu3Isagt-py3.11/lib/python3.11/site-packages/sqlalchemy/engine/default.py:736: OperationalError

FAILED tests/test_model.py::test_automigration - sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "DROP": syntax error

All Submissions:

[x] Have you followed the guidelines stated in CONTRIBUTING.md file?
[x] Have you checked to ensure there aren't any other open Pull Requests for the desired changed?

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

New Feature Submission:

[ ] Does your submission pass the tests?
[x] Have you linted your code locally prior to submission?

Changes To Core Features:

[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your core changes, as applicable?
[x] Have you successfully ran tests with your changes locally?

After these steps, you're ready to open a pull request.
a. Give a descriptive title to your PR.

b. Describe your changes.

c. Put `closes #XXXX` in your comment to auto-close the issue that your PR fixes (if such).

closes #1260

Nice will test this, thanks for taking this on!

@Alek99 @masenf Hi there! Do you have any update on this ticket, please? Thank you!

Support for DROP COLUMN was added in sqlite 3.35, but the devcontainer mcr.microsoft.com/devcontainers/python:1-3.11-bullseye is using
>>> sqlite3.sqlite_version_info
(3, 34, 1)

That's why the test is failing. Let me try it with the bookworm variant which has
>>> sqlite3.sqlite_version_info
(3, 40, 1)

@rahulbagai do you have an example of a working app running in a codespace?
when I try it, I can get the frontend to load, but it always fails to establish the websocket connection
RuntimeError: Expected ASGI message 'http.response.start', but got 'websocket.accept'.

@masenf Thanks for testing my changes! Unfortunately, I'm experiencing the same issue on my end as well. I couldn't find any recent changes in the repository that could help identify the problem. Is there any way I can check the server logs for more debugging? I'm fairly new to this repository, so any assistance would be greatly appreciated!

@rahulbagai did you have it working "before" just wondering if there's some regression or if there is yet undiscovered changes needed to work in the codespaces environment.
i tried toggling between public and private port visibility and it didn't seem to make a difference. kind of smells like some sort of "middle box" isn't correctly handling the websocket requests...although the hmr websocket for hot reload on port 3000 does seem to work without an issue.

Files Changed tab
Review in Codespace
Create new Codespace

In the codespace terminal I'm running the following commands
poetry install
poetry shell
mkdir /tmp/app
cd /tmp/app
reflex init
reflex run

Small window pops up noting that port 3000 is open, so I click the Open Browser button and the frontend loads fine. Looking in the dev tools, it continually attempts to connect to /event and gets a 200 code back, instead of 101 switching protocols

The API_URL seems correct: wss://masenf-sturdy-space-trout-5g6479p6p43xr5-8000.preview.app.github.dev/event/?EIO=4&transport=websocket, but it just cannot keep the connection open, like it doesn't want to upgrade the connection to a websocket.

@masenf, thanks a bunch for the detailed troubleshooting steps! I managed to reproduce the steps on my end too. By the way, I've made some progress on debugging and figured out a few other things.
Here's what I found during my testing:

I ran the backend API and frontend separately, with debug logs enabled. During this, I encountered an exception on the API.

INFO: <IP_ADDRESS>:0 - "GET /?EIO=4&transport=websocket HTTP/1.1" 500 Internal Server Error
ERROR: Exception in ASGI applicationRuntimeError: Expected ASGI message 'http.response.start', but got 'websocket.accept'.

The exception signifies that when a client tries to establish a WebSocket connection, it sends an HTTP request with the Upgrade header set to websocket. The ASGI application should handle this and respond with a http.response.start message containing a 101 status code and websocket headers, followed by a websocket.accept message. However, in this case, the application is directly returning websocket.accept without the http.response.start, causing the server to respond with a 500 error.

I'm now diving into the ASGI API setup to see if there's anything else we need to enable for a successful WebSocket connection. Any insights you have would be greatly appreciated!
Just a few other things that come to mind, which I'm looking forward to debugging:

Making sure the frontend and backend are using compatible versions of Reflex. Mismatched versions might cause some websocket protocol issues.
There might be an issue during the websocket connection setup, but since I don't see any other errors besides the ones mentioned above, we'll need to investigate further.

Possibly related to https://github.com/reflex-dev/reflex/issues/698

Rebased and extended in #2125, websockets are working now! 🎉


Lib 27 change autotask client libraries for new

Those changes remove the authentication method used to authenticate relayers in autotask using AWS credentials.

RelayerAutotask is removed in favor of a single Relayer client that used to be the RelayerApi client.
The base API client can now either receive a api key and secret, in this case as before it will get the token from Cognito to authenticate requests but it can also receive an already signed token in this case it will use this pre-signed token to authenticate requests.

IMPORTANT
Since we remove the current way of authenticating inside autotask those changes should not be published until changes in the autotask wrapper are in place on the Defender side.
Once changes are deployed on Defender we should first publish a release candidate, and use this release candidate in autotask to make sure it works fine before publishing the changes.

given conversation this morning, should probably close this and put it on hold for now (and look into client-side throttling)

Closed until we figure out best way to authenticate relayers in autotask


Float Truncate

Hi,
I have problem with float numbers. My table row is set float but when i try to insert a float number i see in a only decimal part.

Can you provide some more information? What does your query look like? Table schema?

Hi,
My query is Luke ' INSERT INTO table (col_1, col_2, col_n) VALUES (val_1,
val_2, val_n).
The row where I find that problem are setted float.
Il giorno mer 13 mag 2015 17:22 Douglas Christopher Wilson <
<EMAIL_ADDRESS>ha scritto:

Can you provide some more information? What does your query look like?
Table schema?
—
Reply to this email directly or view it on GitHub
https://github.com/felixge/node-mysql/issues/1091#issuecomment-101713944
.

Sure, but what is the table schema? And what is the actual JavaScript code you are using to perform the insert?

Ok, I'm sorry it's my problem. I forgot to set decimal range :). Thanks for
all and very compliments for the module.
2015-05-13 17:33 GMT+02:00 Douglas Christopher Wilson <
<EMAIL_ADDRESS>
Sure, but what is the table schema? And what is the actual JavaScript code
you are using to perform the insert?
—
Reply to this email directly or view it on GitHub
https://github.com/felixge/node-mysql/issues/1091#issuecomment-101716860
.

--
Be**innova di Giorgio Cerruti
WebSites | IT consultant | Web Developer
Phone: +39 340/87.68.326 :: Skype: beinnova
P.IVA:<PHONE_NUMBER>7
Visit Beinnova http://www.beinnova.it Site

Giorgio Cerruti
http://it.linkedin.com/pub/giorgio-cerruti/31/422/852/

Ah, glad you figured it out :)


FindJsonCpp.cmake failing with target VS2013 for current master

CMake has a FindJsonCpp.cmake error with set_property not finding TARGET jsoncpp_lib.
Copying the FindJsonCpp.cmake from RenderManager lets it configure and generate, but makes me nervous.

Windows 10.  This happened both with whatever version of jsoncpp I had installed beforehand and with a new install from the latest Jsoncpp master at https://github.com/open-source-parsers/jsoncpp.git.

See #501 and #504.
I reported this issue with a fix 6 weeks ago.
It has been broken for 3 months now.

@rpavlik finally fixed it with 07a4a262a422a8b2b0692e4f1c08bc50fb23418c, you can close it.


Isolate Queen Tracking logic from backfilling logic

What was wrong?
The queen tracker logic was too embedded in the backfiller. A different queen tracker will appear in #1250 so we want the Queen tracking to have separate logic.
How was it fixed?

Fold in #1274
Split out Queen tracking logic into new trinity/sync/beam/queen.py

To-Do

[ ] Clean up commit history

[x] Add entry to the release notes

Cute Animal Picture

I'll rebase if #1274 gets merged first.

Rebased


Support for Either type

Is your feature request related to a problem? Please describe.
Coming from a bit of Haskell and more Scala, I was surprised to see there was no Either type. I'd like to see this added.
Describe the solution you'd like
I'd like to see the library have an Either type.
Describe alternatives you've considered
I'm aware that this library is supposed to be a more direct implementation of F# in Python than every type from other languages. Either is a pretty common concept (e.g., in Haskell and Scala), even if in Scala, Try is more frequently used. A lot of uses of Either will use Result or Try instead, but I think it would be good to have a generic Either for completeness, even if it's not part of F#.
Additional context
n/a

I think this was my misunderstanding of the typing of Result -- the use of the word Error in the typing it made me think that it had to be an Exception. I've been switching between JS and Python, and forgot Python doesn't actually have a type Error even though there are a lot of Exception classes named as such.
I think more documentation would be useful on how to use Result. This is such a great library, and far less known than it should be. I think what would help for the documentation is having guides showing how to move from another language with similar concepts. A lot of the docs are F# specific or are explaining functional concepts from the ground-up. I'd be interested in writing some "migration guides" for using Expression if you're coming from Scala, Haskell, Rust, etc., since I think most people who are going to use this library will be coming from some other functional language but need to use Python now.
Closing.


cron example overhaul

Description

removes redundant EDGE_CONFIG_ID env var
adds edge config picker to clone flow
increases minimal cron schedule to 5 minutes

https://user-images.githubusercontent.com/1765075/220680599-2c6f390f-c046-41c0-b3f7-468d745686b1.mp4

Closing since it's superseded by #562


duplicate search

i thinkinh the have problem , a few times when i  start the bot have like 3 -6 same search ,if u can do something with that i'll love too .

and always have Error Code : 521-Server Rejected the request

We alread have an issue #63 ,to aovid cache results..


pre-commit: PR113933

Link: https://github.com/llvm/llvm-project/pull/113933
Requested by: @dtcxzyw

/add-label reviewed
/close


why?

[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup
core is not a symlink. Deleting...
Downloading dependency: sync 3.13.3
Downloading sync failed:
https://static.realm.io/downloads/sync/realm-sync-cocoa-3.13.3.tar.xz
curl: (56) LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54

I assume you have come past this by now? If not please reopen and fill out the entire issue template. Thanks!


Update type_registry.dart

Found this typo a bit confusing,so I decided to request a fix

Thanks for your contribution 😇


Add support for Archive.is

If possible then please add support for archive.is.

Sounds quite easy, will do it right away


Add SQL keyword autocompletion

This is another feature that i wanted to add for years but never had time for. Basically, when you type any SQL statements or functions the UI should be able to find a suggestion, like SELECT, FROM, ORDER etc. Ace editor seems to support that.

Hey @sosedoff I will try to do it! I've been using the pgweb and I think it would might be easy :)

@cristianoliveira have you made any progress on this feature?

This feature will be a heaven-sent for those who manages hundreds of tables in their database like me :)

Keyword and object autocompletion is in master now


Docs: Fixes merge conflicts introduced from the ui-notification PR

Description
Fixed broken docs from #932

Hi @joepavitt,
Thanks a lot for your assistance!!
Not sure what I did wrong here...

You have removed my documentation for the new fields in the config screen, and that solves the conflict?
Where did you see a conflict?  I must have overlooked it somewhere...


python3.pkgs.testing-postgresql: fix build

Description of changes
Failing Hydra build: https://hydra.nixos.org/build/265189058 assertRegexpMatches got deprecated and is now called assertRegex.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build python3Packages.testing-postgresql


Documentation: Updated Readmes to fix broken links

Signed-off-by: Chaitanya Kulkarni<EMAIL_ADDRESS>

Potentially useful tool https://github.com/lycheeverse/lychee-action (we are using it in some coco repos)


[$2000] [Image][Feature] Show a user friendly name for the attachment images for take pictures option - reported by @parasharrajat

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Problem:
IMO, Showing vague names or using terms like temp or image_picker in the name is not good for brand value. I have seen many users making fuss out of such things on the internet which could be bad for branch.
Solution:
Choose a proper name for the image or don't the show the name when image is taken directly from the camera.
Action Performed:

Open any chat.
Click add attachment option from the :heavy_plus_sign:  icon.
Choose :camera:  Take Photo.
Click a photo.
On the Preview page header check the name of the image.

Expected Result:
Show a user friendly name for the attachment images for take pictures option
The expected result was updated after this conversation
New expected result: The attachment name shouldn't be visible when there is a preview

Actual Result:
generic image name displayed
Workaround:
unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.2.1-0
Reproducible in staging?:
Reproducible in production?:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @parasharrajat
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1661616286179839
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~018f82e1a898c313a5
Upwork Job ID:<PHONE_NUMBER>996901888
Last Price Increase: 2023-01-26

I agree that we don't need to show a temp filename when sending an attachment that is an image from your phone. I would think we can just remove the filename when attaching from the phone.

Choose a proper name for the image or don't the show the name when image is taken directly from the camera.

The solution is ambiguous right now, I don't think this is ready to go external until we decide on a direction. My two cents..

I don't like the idea of not showing any name at all, because it lacks consistency with images uploaded from file that do display a name.

In another issue, there's discussion about the need for uniqueness in the attachment name, so choosing something static like Picture from camera.jpg will be problematic won't it, unless we add a timestamp to it? I.e Picture from camera <timestamp>.jpg.

Lastly, this feels like it should be tracked with this issue for image related feature requests and improvements. @roryabraham would you agree, and therefore should we place this particular issue on hold?

Ah, I looked at the Slack convo this morning and it looked like we had a solution that uses the read filename instead of a temp one (which i assumed we were generating).

Lastly, this feels like it should be tracked with https://github.com/Expensify/App/issues/10894 for image related feature requests

Yeah, I agree with this. Switching to hold for now 👍

This is on HOLD so going to assign @Beamanator (master of the tracking issue) and move it to be a monthly

@MitchExpensify Snaggin' from you cuz I got the tracking issue assigned to me
[Tracking] [Polish] Image-related feature request and improvements #10894

Still a useful feature, @trjExpensify I feel like this can be taken off hold, I don't think we need to worry about caching before implementing this - before we were thinking we'd cache based off image name, but now we're just caching off of the image URL

Interesting! As this is a feature request, not a bug, I'm inclined to have it stay on hold until other more pressing items are prioritised related to this wider initiative.

Agree. Let's continue to prioritize all the bugs over new features.

Aahhh well then maybe we can change [HOLD #10894] to [HOLD WAQ]?

Works for me!

WAQ isn't quite over yet, so this is still on hold until then.

Removed this hold since the WAQ freeze is over.

Off hold so making this available for contributors to work on 👍

The react-native-image-picker (which responds for the native image pickers on iOS/Android) does not actually provide a interface to get the original filename. There are some forks that do, however it is really not worth it for the feature.
Proposal 1:
Generate a timestamp filename.
Proposal 2:
Show a generic text like "Document to upload".

Choose a proper name for the image or don't the show the name when image is taken directly from the camera.

The solution is ambiguous right now, I don't think this is ready to go external until we decide on a direction. My two cents..

I don't like the idea of not showing any name at all, because it lacks consistency with images uploaded from file that do display a name.
In another issue, there's discussion about the need for uniqueness in the attachment name, so choosing something static like Picture from camera.jpg will be problematic won't it, unless we add a timestamp to it? I.e Picture from camera <timestamp>.jpg.

@trjExpensify What was the conclusion of the discussions? Do we want to display a generic name? or does it have to be unique? Is adding a timestamp to a generic name ok?

@trjExpensify , I'm gonna unassign cuz you're BZ for this and other issues. Thanks for taking these over ✌ (I can BZ if you'd prefer, comment if so)

Ah, I looked at the Slack convo this morning and it looked like we had a solution that uses the read filename instead of a temp one (which i assumed we were generating).

@Julesssss, can you please provide the link of that convo. I couldn't find it.

@Beamanator, @trjExpensify, what's the expected result here?

@thesahindia great question I guess that was not sorted out before, @trjExpensify I think we should get @Expensify/design 's opinion on this to establish what exactly we want the end result to be, thoughts?

I posted in Slack but can we just use something clean and generic like Attachment.jpg or UploadedImage.jpg or something like that?

Proposal
Solution
Use a generic file name as @shawnborton suggested. Just use the one that we already use in the app or we change it to Attachment.[extension] if that's what we prefer.
diff --git a/src/components/AttachmentPicker/index.native.js b/src/components/AttachmentPicker/index.native.js
index fcbf88377..add08a052 100644
--- a/src/components/AttachmentPicker/index.native.js
+++ b/src/components/AttachmentPicker/index.native.js
@@ -66,7 +66,7 @@ const documentPickerOptions = {
   * @return {Promise}
   */
 function getDataForUpload(fileData) {
-    let fileName = fileData.fileName || fileData.name || 'chat_attachment';
+    let fileName = 'chat_attachment';
     const fileExtension = `.${_.last(fileData.type.split('/'))}`;
     if (!Str.endsWith(fileName, fileExtension)) {
         fileName = `${fileName}${fileExtension}`;

@trjExpensify can you confirm if we still need to have a unique attachment name? And if so, could you elaborate on why that is the case?

From a functionality point of view I can confirm not having unique names work. Let's say if it didn't work or if it does need to be unique for the BE then that's an even bigger issue as the user can send files with the same name if they wanted to & that would break things.

Proposal
diff --git a/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/Utils.java b/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/Utils.java
index 4c5a2a6..421c5da 100644
--- a/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/Utils.java
+++ b/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/Utils.java
@@ -43,7 +43,7 @@ import java.util.UUID;
 import static com.imagepicker.ImagePickerModule.*;

 public class Utils {
-    public static String fileNamePrefix = "rn_image_picker_lib_temp_";
+    public static String fileNamePrefix = "expensify_attachmenet_";

     public static String errCameraUnavailable = "camera_unavailable";
     public static String errPermission = "permission";

Details
Since this is coming from react-native-image-picker applying a patch seems as a perfect fit here.

I don't think it's a good idea to use a generic name from the UX perspective.
If you send two files, both will have the same name, you won't know which is which.

I don't know that I agree with that for photos at least. Have you ever referred to a photo attachment in a chat app by it's file name? You would typically reference it by the content of the photo.

@shawnborton For a second I forgot that we are talking about images 😅
However I think my solution is still straightforward as with the above proposals I think we would have to maintain the correct file extension otherwise files uploading will fail.

Android:

Gallery: Either real file name or expensify_attachmenet_ prefixed image
Camera: expensify_attachmenet_ prefixed image

iOS:

Gallery: Real file name
Camera: No idea (can't test on simulator)

Do we really need a picture filename shown?
Usually mobile apps don't show the filename of the pictures chosen from the gallery picker/camera since the user does not even know the file names of the pictures unless he explicitly checks it through a file manager. In iOS, for example, there were no way to even see the picture filename before iOS 14 or something like that.

So are we ok with this proposal? Or waiting for other proposals?
@thesahindia @shawnborton

AttachmentPicker

@s77rt yes I did test & had attached the screenshot with my proposal. It adds the extension in the next line itself so we are not making any changes to how the extensions already work in the app.

@priyeshshah11 The image is outdated that's why I'm asking. And regarding the file extension, this part will be removed:
    const fileExtension = `.${_.last(fileData.type.split('/'))}`;
    if (!Str.endsWith(fileName, fileExtension)) {
        fileName = `${fileName}${fileExtension}`;
    }

So the file extension won't be added as you'd expect;
The above code is only a workaround that was introduced by https://github.com/Expensify/App/pull/10467 to fix https://github.com/Expensify/App/issues/9422 and it's planned to be removed here https://github.com/Expensify/App/issues/13938 since the original issue has been fixed upsteam.

@priyeshshah11 The image is outdated that's why I'm asking. And regarding the file extension, this part will be removed:
    const fileExtension = `.${_.last(fileData.type.split('/'))}`;
    if (!Str.endsWith(fileName, fileExtension)) {
        fileName = `${fileName}${fileExtension}`;
    }

So the file extension won't be added as you'd expect;
The above code is only a workaround that was introduced by #10467 to fix #9422 and it's planned to be removed here #13938 since the original issue has been fixed upsteam.

@s77rt Thanks for the context, but the proposals are based on the code that is there today (or whenever the proposal is posted), as the contributors would not have visibility of all future changes. Also, I don't see a PR or an accepted proposal there so I don't think a solution has been reached or agreed on. Thus, I don't really think we should hold this issue off because of that.

@priyeshshah11 Yeah you are right, proposals should be based on the current code, and since those two issues are conflicting one of them must be put on hold. Will ask on slack to get more info on this.
Since the above code is only a workaround that was introduced to fix a bug that's fixed now it would make sense to remove it (thus holding this issue in favor of the other one)

@priyeshshah11 about the proposal https://github.com/Expensify/App/issues/11085#issuecomment-1398409264, if I'm understanding correctly, this will also hardcode the filename in IOS to Attachment. In IOS I think we get the filename just fine, so why do we want to change it for Attachment? this sounds like it improves it for Android but makes it worse for IOS. I'm not sure if this was already discussed above, but I didn't find anything about it in the long thread.
Regarding if we hold and what we hold:

As @s77rt mentioned, our code trying to figure out the extension is buggy and it is not needed if we update react-native-image-picker to 5.0.1 (proposal). @mollfpr and I tested it and it does seem to solve the extension problem and not introduce new bugs.
You could propose solutions for this issue considering that the code adding the extension will be removed, but there is some risk on that. If the we realize that the proposal causes a regression, then you may have wasted your time in proposals that don't work anymore.
I find it more urgent to fix the extensions bugs that is not allowing to upload some files compared to having nicer names in Android.

Considering that I would vote for HOLDING this issue and wait for https://github.com/Expensify/App/issues/13938

@Beamanator do you agree? or see things differently? ^

Sorry everyone for the tardiness, I've been OoO until today. I noted this here before going on hold, but agree the expected results are a bit ambiguous. We should have decided that before popping it on external again ideally.
Anyhow, addressing this..

@trjExpensify can you confirm if we still need to have a unique attachment name? And if so, could you elaborate on why that is the case?

@shawnborton it was suggested in the comment from the linked issue, to address a regression that was noted here a bit above. @tgolen @parasharrajat might be good to pull in there too for an opinion, but it seems like uniqueness by appending the timestamp was a viable and simple solution to overcome that.

The issue, which affects all name-based proposals, is that if a new file has the same name as a previously uploaded one (e.g., invoice.png), the old file is rendered the same as the newly uploaded one.

OK, I am not familiar with this issue, but I took some time to read through the comments. I'm not sure I am 100% there, but I don't think we need any server-side changes for this. That sounds overly complex. When uploading an image, can we just update the image name to have the current timestamp in it like invoice_.png?

@priyeshshah11 about the proposal #11085 (comment), if I'm understanding correctly, this will also hardcode the filename in IOS to Attachment. In IOS I think we get the filename just fine, so why do we want to change it for Attachment? this sounds like it improves it for Android but makes it worse for IOS. I'm not sure if this was already discussed above, but I didn't find anything about it in the long thread.

@aldo-expensify The image names will be weird on both platforms where you take a photo as the system will give it's own name (i.e. some random/long UUID). Also, I feel using the same name on all platforms would be good for consistency.

I find it more urgent to fix the extensions bugs that is not allowing to upload some files compared to having nicer names in Android.

Ok, makes sense if we are for sure removing that extensions code. Either way, we could still use the same 'Attachmet' name by replacing just the file name (not the extension) using a regex or simply some string manipulation but happy to hold.

@aldo-expensify The image names will be weird on both platforms where you take a photo as the system will give it's own name (i.e. some random/long UUID). Also, I feel using the same name on all platforms would be good for consistency.

I see, I didn't test with the camera.
My opinion on the name stuff (just an option): I do think there is some small value in preserving the real name if it is available, but this may get difficult to handle case by case, how do we differentiate a "real name" from something "some random/long UUID"? probably impossible. Then, we would have to decide between:

use a hardcoded name for all platforms (never show the real name), or
keep the name that comes and do nothing (sometimes show weird random/long UUID, sometimes show the real filename)

I would go with 2. and do nothing because I don't see as a real problem having ugly names for generated temp files (camera). The only case I see as a bug is Android showing weird names for files that exist.
It may be good to chat about this in slack to get more people involved in the conversation if we are not sure on the direction (unless it already happened and I missed it hehe)

+1 to bringing this to Slack.

The most likely fix in the aforementioned issue, which is to upgrade react-native-image-picker to v5.0.1, will have all images clicked from camera/chosen from gallery of the format rn_image_picker_lib_temp_xxxxx{someUUID}.

@Prince-Mendiratta  ahh, if the library always fills with the same prefix rn_image_picker_lib_temp_, yeah, I think you are right about that we can do something about if we want, and we could still preserve the real filename when we have it 👍

Putting a hold while we implement https://github.com/Expensify/App/issues/13938#issuecomment-1399534757

@Prince-Mendiratta Regarding the upstream fix, did you try it? I was working on a similar approach here https://github.com/react-native-image-picker/react-native-image-picker/compare/main...s77rt:react-native-image-picker:android-filename but didn't get the real file names and instead I got something like 100000021.jpg

@Prince-Mendiratta That's cool. I wonder what I did wrong 😅
Meanwhile I think you should raise an upstream PR

Should I propose the feature upstream yet or wait for the other issue to be resolved first? cc @aldo-expensify @trjExpensify @Beamanator @thesahindia

I'm understanding that you have a PR for the upstream library to fix the filename bug, is this correct? I would say yes, it will be better if this is fixed at the level of the library. I think the process to get the code accepted and released in the external library may take a while, so the sooner the better.
Your PR has some spacing missing and indentation levels wrong, so I suggest correcting the style before submitting.

Hey @Prince-Mendiratta, let's hold on getting that merged PR through QA and then circle back shortly if it passes.

@aldo-expensify do you want to take over this one since you've been doing a lot of investigation & are assigned to https://github.com/Expensify/App/issues/13938 which this holds on? 🙏

@Beamanator ok!

The PR reached production 5 days ago. I'll remove this from HOLD.

I think the best solution would be to implement @Prince-Mendiratta 's second proposal (here) to fix the bug in the external library.
I'm not 100% sure about this process, but I think we should proceed like:

@Prince-Mendiratta creates a PR like this: https://github.com/Expensify/App/issues/12022
If the PR gets stuck, I'll can help pinging to get a review/merge.

📣 @Prince-Mendiratta You have been assigned to this job by @aldo-expensify!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@aldo-expensify @Prince-Mendiratta
Sorry for the interruption but I think we are not there yet. The upstream fix is not directly dedicated to this issue.
Here is what we have in plan so far:

Android - Image gallery: real file name (✔ via upstream fix)
Android - Camera: rn_image_picker_lib_temp_ prefixed (✔ already default)
iOS - Image gallery: real file name (✔ already default)
iOS - Camera: rn_image_picker_lib_temp_ prefixed (❌ iOS camera images have a random name)

The fix was to replace rn_image_picker_lib_temp_ prefix with our custom prefix but since point 4 above is not met this won't work. We still have to fix the issue on iOS - Camera before moving forward.

I think the file name needs to be consistent everywhere.

Do you mean something like expensify_attachment_ no matter if it is coming from the gallery or it is taken with the camera?
I'm seeing that there is some disagreement on the way that we want to solve it. Also, as @s77rt mentioned here, I missed that the upstream fix didn't fix all cases, my bad there.
I think we should:

First settle on how we want to solve this: I'll post in slack asking. For the moment, I prefer to keep the filename when it is available (image comes from gallery) and use something like expensify_attachment_ when it comes from the camera.
Depending on how we decide to fix this, we may have to choose a different proposal or the same + some extra work.

Meanwhile, I'll roll back the assignment to @Prince-Mendiratta. Sorry about the confusion!

Added [Hold] while we discuss on slack

I don't think we achieve a 100% consist behaviour, for instance on web images will always have a name.
@aldo-expensify please post slack thread link

@aldo-expensify I'm getting the sense that you are leaning toward doing nothing. We can just replace the prefix that react-native-image-picker uses and get done with that. (something like that)

We can just replace the prefix that react-native-image-picker uses and get done with https://github.com/Expensify/App/issues/11085#issuecomment-1402763415. (something like that)

This would mean forking the library, right? Would it be easier to just do a replace('rn_image_picker_lib_temp_', 'expensify_attachmenet_')?

@aldo-expensify It would mean making a patch. forking is an overkill in this case.

@aldo-expensify It would mean making a patch.

Ah, I'm not familiarized with "making a patch".

forking is an overkill in this case.

Agreed!

@aldo-expensify Check the /patches we have 2 currently. We do patch packages using https://www.npmjs.com/package/patch-package
@Prince-Mendiratta patching is not another term for forking. We don't have to fork the repo

@Prince-Mendiratta It have a slight advantage. Why would save files under name A if we want to use name B. We can simply use name B from the beginning and be done with it. I'm fine with simply using replace though

First time I see that too.
Let's stop discussing this for now until we decided the path we want to follow. This is to avoid having the GH issue filled with comments that may be irrelevant to the case.

Posted the question here: https://expensify.slack.com/archives/C01GTK53T8Q/p1675826142751119

Proposal
Please re-state the problem that we are trying to solve in this issue.
The attachment names in the attachment preview looks unfriendly on native platform
What is the root cause of that problem?
react-native-image-picker is being used when we take a pic and attach it. react-native-image-picker generates the attachment name which. Example:-
What changes do you think we should make in order to solve the problem?
I think instead of fixing the name we should not show the attachment name since it is not really needed.
For this we have to remove the subtitle prop from below (and just some unneeded code needs to removed when we do this) https://github.com/Expensify/App/blob/f8d7a3a8e291cd216b26b22e9e8a69c93bb15e9e/src/components/AttachmentModal.js#L257
For attachments that doesn't have preview we show the attachment like below so it won't be a problem

@aldo-expensify, are we good to move forward with option 3?

Yes, I'll update the issue's expected result.
For everyone involved in this GH issue:
It was voted here that we want to hide the name of the attachment. We are not going to be replacing/fixing the filename that we get from the library.

Sounds like a great choice!

I think we should confirm first if are going to keep the file names for pdf files If we want we can use  Str.isPDF to only show the file name for pdf

I was thinking file names for pdf files can be useful when user has similar pdf files in chat history and trying to find some pdf. They could easily check the file name instead of reading some text in the pdf file. But as I am writing this I think that's an edge case so never mind.

I had the same thought for images when you have similar images, but agree with doing nothing because I also see it as an edge case.

@aldo-expensify, I have proposed a solution here. @thesahindia has approved, It just needs your approval. Please check when you have time.

Yes, lets go with https://github.com/Expensify/App/issues/11085#issuecomment-1422123187
Regarding the platforms, I would go with consistency and hide the filename for all platforms.

📣 @Puneet-here You have been assigned to this job by @aldo-expensify!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@thesahindia, PR is ready for review.

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.2.69-2 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/14962

If no regressions arise, payment will be issued on 2023-02-18. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

@thesahindia - settled up!

Accepted!

@Puneet-here @parasharrajat - settled up! 🎉


Extension: Select an item

Story:
User should be able to select an result on the page to go to the detail web page.
Acceptable Criteria:

[x] scrape all item details with its hyper link as a result of searching by user in the page
[ ] train them(scraped data) to get its vector data(embedding)
[ ] go to the detail page with user's prompt. ex: select the item about {title}, blabla..

To: @neptune-web
Cc: @posix4e @tukpsyche

Step 1.
When a user is going to select an item on browser, brain sends response like below schema.
{ program: "select_item_detail_info", content: "" }

Step 2.
After the response is sent to risingbrowser, risingbrowser scraps all hyper links and send all the items to brain like below schema.

{
    links: [{title: string, url: string}], //all links on the page
    prompt: string // user's prompt
}

Step 3.
After the request in step 2 is analyzed by brain, brain sends response to risingbrowser.
{ program: "select_item", content: "url that a user is going to select" }

@peterluo3131 it was implemented in brain


error during molecule conformation generation

for molecule conformation task,
after inference i only see coord_prediction
how do i know which atom is which coord?
is index same?

Yes, the index is same.


Incorrect README about maskChar

Property maskChar, that is working, called maskPlaceholder in documentation.
It would be better to update documentation for not confusing other people who wants to use this library.

@Cherkasik I've encountered this also.
Please use "3.0.0-alpha.0" via "yarn add<EMAIL_ADDRESS>as the default behavior is to install "latest" from npm. Which is 2.0.4
https://i.imgur.com/usqjZKv.png

Also, maskChar and maskPlaceholder are different things


partial nav changes

I plan to look at this again, some are still missing links and need better copy
Description

Fixes

@NetOperatorWibby I'm done with changes here, though there's still no contact page. A simple contact page would also solve the email in the footer issue.
If there are still formatting issues I recommend finding/adding a deterministic formatter.


Ability to set collate for column and Sqlite

In my case, I want this feature for SQLite https://www.w3resource.com/sqlite/sqlite-collating-function-or-sequence.php
For finding a user by username with NOCASE

I think this can be set via https://docs.rs/sea-query/latest/sea_query/table/struct.ColumnDef.html#method.extra but that's not database generic.


Force cuda since torch ask for a device, not if cuda is in fact avail…

Force cuda since torch ask for a device, not if cuda is in fact available.
torch.cuda.is_available() is misleading since it actually checks for an available device, not if cuda is available.
Building on build-nodes where a gpu device is not necessarily available then fails. Force cuda through FORCE_CUDA=1 to allow building.

Thanks for the PR, two questions:

FORCE_CUDA is not always set in environment variable, need to provide it with a default value
Do we still need CUDA_HOME when using FORCE_CUDA=1?

Maybe let's follow the same logic as detectron2 (and remove is_rocm_pytorch):
https://github.com/facebookresearch/detectron2/blob/9176db667837c57e7118d92a90f887565bd6d4c1/setup.py#L66-L68

os.environ.get('FORCE_CUDA') returns None which evaluate to False when the env. variable is not set. So it not necessary to provide a different default value.

And yes, CUDA_HOME needs to be set and exists in order to build the code with GPU support.

The current code is equivalent to what detectron2 does

Hi @ccoulombe, I've tested the PR and it works well. Please modify the error message to reflect your change as well (pls see my comment) and I will merge this PR. Thanks!

Will do tomorrow!
On Thu., Dec. 16, 2021, 18:35 Bowen Cheng, @.***> wrote:

Hi @ccoulombe https://github.com/ccoulombe, I've tested the PR and it
works well. Please modify the error message to reflect your change as well
(pls see my comment) and I will merge this PR. Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/facebookresearch/Mask2Former/pull/15#issuecomment-996276208,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFMODOEZ3GIISM22XTGPP6DURJZTPANCNFSM5KGXL27A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


Provide documentation for how to add a new column type

🧹 Tech Debt
As we should expect there to be a desire on the client-side to create new column types that Nimble doesn't support out-of-the-box, we should provide sufficient documentation to help a developer accomplish this. While the Table Column spec does provide detail for how a client could go about creating a new column type, it likely isn't the most succinct, digestible way we could provide that information.

We should include guidance that they add logic to conditionally set a title for cells where the content is truncated/ellipsized. Because it's not immediately obvious how to do that, they can use the text column's cell template as an example.

This documentation should include guidance about configuring column widths as added in #1098. Specifically it should list the available mixins and describe how to apply a mixin to a new column type.

I tried prototyping a column where each cell would display a select element and haven't gotten very far. Documentation would definitely help, but a lack of TypeScript knowledge has also been a challenge.
I don't think it's worth my time to continue that attempt right now. I would like to get an idea of how much effort it would be to create Nimble custom columns vs other approaches.
Note that it's unclear if and where we might need custom columns right now. I've seen a variety of UX explorations, some of which use a table view and some of which have pretty different approaches. The goal of these questions is to give us some rough estimates we can use as an input during the UX design process.
Some questions / concerns about creating Nimble custom column types:

Would they belong in the Nimble repo or in our own codebase? (I'd assume this depends on how likely we think others are to reuse it)
If it's in our codebase and we're using Blazor, we'd need to

Add the ability to build TypeScript code
Learn how to use Jasmine and build and run tests
Update our pipeline to build TypeScript code and run the Jasmine tests

Right now the most likely alternative is the Radzen table, where the DataGrid control has column templates that are easy to use in Blazor. This has a different set of concerns:

How much work do we expect to get the styling / look / feel / accessibility / responsiveness, etc. that we'd get from Nimble
One reason for choosing Radzen is that the BTS UI is already using their DataGrid and Dropdown alongside Nimble controls. Can we leverage any styling they are doing?

With both approaches the cost of adding a second custom column type would be significantly lower:

With Nimble, we'd already have the TypeScript build / tests set up, and would have gained some TypeScript knowledge
With Radzen, we'd already have Nimble-ified the DataGrid

Does anyone have a rough feel for which approach might be less work?


Installation Issues

Hello,
I'm new to using ST - I have 2 keyless deadbolts (KwikSet & Schlage)
I'm tyring to follow your instructions on installing this lock manager.
On the SmartThings website when I Enable GitHub (I have an account) it either adds my account (phoenixfma) or gives me an error when I attempt to add ethayer/lock-manager.  It says (GitHub repository ethayer/lock-manger not found).  I can find it on GitHub when I search for it, but I can't seem to connect through ST...
It automatically adds my personal GitHub but when I try to add a new repository it won't save/says it can't find it.

I have the same issue

It seems you have a typo.
Should be " ethayer/lock-manager" and not " ethayer/lock-manger"

Thank you - that worked!
Actually it's your instructions that are incorrect.  I copied
  directly from your instructions so I wouldn't make an error.
  Below is a pic showing your installation guide.

  Renee Chandler
  Phoenix
        Fitness & Martial Arts

                 3957 Deep Rock Rd
                 Henrico, VA 23233
<PHONE_NUMBER> (c)
                www.PhoenixFMA.com
                https://www.facebook.com/phoenixfma

On 4/3/2017 1:16 PM, cariacou wrote:

  It seems you have a typo.
    Should be " ethayer/lock-manager" and not "
    ethayer/lock-manger"
  —
    You are receiving this because you authored the thread.
    Reply to this email directly, view
      it on GitHub, or mute
      the thread.

  {"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/ethayer/lock-manager","title":"ethayer/lock-manager","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/ethayer/lock-manager"}},"updates":{"snippets":[{"icon":"PERSON","message":"@cariacou in #18: It seems you have a typo.\r\nShould be \" ethayer/lock-man**a**ger\" and not \" ethayer/lock-manger\"\r\n"}],"action":{"name":"View Issue","url":"https://github.com/ethayer/lock-manager/issues/18#issuecomment-291210497"}}}

OK - got to Device Handler and added my locks (I have 2 different brands)
But when I go to Device List - nothing shows...
It's been 15 mins - does it take that long to load?

Thanks!  I will fix the typo in the installation guide.  I appreciate it.


support choose docker/data/script name from candidate list

Coverage increased (+16.5%) to 67.701% when pulling d93799b81bd77a434e0faa3963a5486b85dc5908 on huangrong/paishare into b0ba8693ee59c0fd22cc5ed5d5c95ca95ac5a206 on paishare.

Coverage increased (+16.5%) to 67.701% when pulling d93799b81bd77a434e0faa3963a5486b85dc5908 on huangrong/paishare into b0ba8693ee59c0fd22cc5ed5d5c95ca95ac5a206 on paishare.


Issues while using with ionic v1

Refused to create a worker from 'blob:http://localhost:8100/8dcdb334-c1ee-4e80-b3b9-e6ca7a3e9c8d' because it violates the following Content Security Policy directive: "script-src 'self' https://maps.googleapis.com/ https://maps.google.com http://localhost:35729 https://maps.gstatic.com/ https://mts0.googleapis.com/ 'unsafe-inline' 'unsafe-eval'". Note that 'worker-src' was not explicitly set, so 'script-src' is used as a fallback.

It is not an issue related to ng-webworkers,
just comment out the following line from index.html file of your project.
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; media-src *; img-src * filesystem: data:">
Note: I don't have any idea if commenting out the above line will harm any kind of security.


Requiring internal react-native modules will stop working

react-native uses a module format that is specific to Facebook that relies on a global namespace. We're trying to isolate it from the outside world and use the standard CommonJS and node modules instead. Therefore in the latest react-native version 0.7.0-rc.2 requiring any of the internal modules using their name will be warning and in the future will be an error.
For example require('NativeModules') is now a warning:
Unable to resolve module NativeModules from [project_path]/node_modules/react-native-icons/FAKIconImage.ios.js

To depend on NativeModules please use the exported react-native node module:
require('react-native').NativeModules

This issue was originally reported here: https://github.com/facebook/react-native/issues/1808

It seems that the 0.7's updated packager also completely changes how requires should be done.

Users of react-native-icons should do require('react-native-icons'). The new packager does not know how to resolve require('FAKIconImage') - it seems to think it as react-native's own module

In react-native-icons's code, we should use relative requires: require('./SMXTabBarIconItem.ios') instead of require('SMXTabBarIconItem')

We should use the exports on require('react-native') instead of require('NativeModules'), require('View') etc. Like: var {View, NativeModules} = require('react-native')

I started some of this work at https://github.com/mnylen/react-native-icons/tree/0.7-support . Hopefully it helps a bit.

Yes, good catch. We actually never intended that our non-standard internal module system leak out into the community. It works ok for the company but won't work in the wild; mainly because it's single global namespace. Going forward we want to use node modules standard.

Why is this closed? AFAICT, this is still a problem in the code:
FAKIconImage.ios.js:
var EdgeInsetsPropType = require('EdgeInsetsPropType');
var NativeMethodsMixin = require('NativeMethodsMixin');
var NativeModules = require('NativeModules');
var PropTypes = require('ReactPropTypes');
var ImageResizeMode = require('ImageResizeMode');
var ImageStylePropTypes = require('ImageStylePropTypes');
var React = require('React');
var ReactNativeViewAttributes = require('ReactNativeViewAttributes');
var StyleSheet = require('StyleSheet');
var StyleSheetPropType = require('StyleSheetPropType');

Am I missing something?

@jeffreywescott Some of them were fixed and I had closed it incorrectly. Will re-open now. Some of the modules aren't exposed so will have to sort out what to do with those. If you have any thoughts or want to do a PR let me know.

See: #71. It's not perfect, but at least things are running in my project on react-native 0.8.0.


tools/docker: merge big-env and env

This is one more step towards having just one Docker container.
As there's not much sense in having both env and big-env, let's merge them both into env.
Additionally:

Move dashboard to go120.
Don't backport git to env.

@dvyukov PTAL
I had to restructure testing a bit (see latest commit), as now containers cannot help us split them.


sfu-ws doesn't work with TURN

Your environment.

Version: v3.0.2
Browser: Firefox on macos, ubuntu and android
Other Information - Server and both clients were all on different networks
Turn Server - coturn

What did you do?
I configured both the browser client and backend server code to use a turn/ice server that had TLS and authentication.
I did this in the javascript by setting an RTCConfig and in the backend by setting a non-empty webrtc.Configuration{
ICEServers: []webrtc.ICEServer{ block.
I have tested this configuration using https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ and do get the "relay" option there.
I have changed this server to use TLS due to Modern browser security policies preventing video without TLS for non-localhost.
What did you expect?
The video call to work using TURN
What happened?
"WebRTC: ICE failed, add a STUN server and see about:webrtc for more details" in the firefox JS console logs.
Even when running the server with "PION_LOG_TRACE=all" there were no logs
From coturn I can see what look like successful connections which then go to "allocation timed out"
Please let me know if there's anything else I can send that would help!

This can be closed, in my case it was a faulty webrtc config on the browser side of this meaning that it wasn't actually using the ICE servers I was providing.


Vite >=3.0.1 fails to resolve projects in monorepo

Describe the bug
Vite 3.0.1 and higher does not seem to resolve projects within the monorepo.
E.g. we got structure:
├─ apps
│  └─ app1
          └─ vite.config.ts
│  └─ app2
└─ packages
   └─ package1
   └─ package2

Since<EMAIL_ADDRESS>I'm getting the error below:
Error: Cannot find module 'C:\Apps\repo\packages\common\src\types'
Require stack:
- C:\Apps\repo\apps\admin\vite.config.ts
- C:\Apps\repo\node_modules\.pnpm\vite<EMAIL_ADDRESS>    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (C:\Apps\repo\apps\admin\vite.config.ts:117:20)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object._require.extensions.<computed> [as .js] (file:///C:/Apps/repo/node_modules/.pnpm/vite@3.0.2_sass@1.32.13/node_modules/vite/dist/node/chunks/dep-1513d487.js:62817:24)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)

This was working fine up till<EMAIL_ADDRESS>and breaks in<EMAIL_ADDRESS>and up.
Vite now fails on relative import in vite.config.ts
import { something } from '../../packages/common/src/types';

Is there a more proper way to do this in vite?
Reproduction
https://stackblitz.com/edit/vitejs-vite-wg28sd?file=apps/app/vite.config.ts
cd apps/app
npm install
npm run build

System Info
System:
    OS: Windows 10 10.0.22000
    CPU: (4) x64 Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz
    Memory: 3.85 GB / 15.86 GB
  Binaries:
    Node: 16.13.0 - C:\Program Files\nodejs\node.EXE
    npm: 8.1.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 103.0.5060.114
    Edge: Spartan (44.22000.120.0), Chromium (102.0.1245.44)
    Internet Explorer: 11.0.22000.120

<EMAIL_ADDRESS>
Used Package Manager
pnpm (own project) / npm (stackblitz)
Logs
Error: Cannot find module 'C:\Apps\repo\packages\common\src\types'
Require stack:
- C:\Apps\repo\apps\admin\vite.config.ts
- C:\Apps\repo\node_modules\.pnpm\vite<EMAIL_ADDRESS>    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (C:\Apps\repo\apps\admin\vite.config.ts:117:20)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object._require.extensions.<computed> [as .js] (file:///C:/Apps/repo/node_modules/.pnpm/vite@3.0.2_sass@1.32.13/node_modules/vite/dist/node/chunks/dep-1513d487.js:62817:24)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue 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 vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Likely a regression from https://github.com/vitejs/vite/pull/9140. We're bundling the Vite config and all the related files, but because the relative imports point to a file from a package that could have it's own node_modules, we can't bundle that file. So what happens is that node is trying to load the file in runtime, which doesn't work as it doesn't handle TS.
The original issue looks like a workaround for https://github.com/vitejs/vite/issues/5370, which doesn't work in the first place. Given this had worked in Vite 3.0.0, maybe it's worth finding a reasonable fix at the meantime, but the better solution overall is to compile the package as JS first.

@bluwy thanks for your reply, I see that now!
It doesn't make much sense for me to build it in this particular case as it's mostly various shared code being pulled in to apps that take care of the build, whatever if pulled in. Also I had couple of reusable fragments for vite.config.ts in that place as we have multiple vue apps, so wanted to share same pieces. And that's when I started to have issues with<EMAIL_ADDRESS>For now, I ended up extracting fragments for vite build out of package with package.json / node_modules, which works OK as expected. But if this could be fix, that would be great.

I've been thinking about this and it's quite tricky in general to support this. It's either:

We rewrite the import paths for files in a different package.
Or bundle the file's dependencies.

And both aren't really good choices. The logic for bundling config files is also quite complex now since we had recent issues after Vite 3, and I'm hoping to not touch it anymore.
We might have to intentionally break this in 3.0.1 (even though I hate to break semver), but given that it's a workaround before, and it's only 1 patch away. Maybe that's still acceptable.

Same thing happens with<EMAIL_ADDRESS>as it uses the same mechanism for compiling TS config file.

the better solution overall is to compile the package as JS first

What if you don't have a compilation step? I'm using a shared package for defining config like so: https://stackblitz.com/edit/vitejs-vite-esn1xa?file=app%2Fvite.config.ts
It worked with<EMAIL_ADDRESS>

We found a workaround that works for our project, it might work for others (ymmv):
We figured out that we can run Vite through tsx (previously esno). i.e., instead of calling vite we call tsx node_modules/.bin/vite

We found a workaround that works for our project, it might work for others (ymmv):
We figured out that we can run Vite through tsx (previously esno). i.e., instead of calling vite we call tsx node_modules/.bin/vite

In a project w/ package.json "type": "module", using tsx on the vite's executable fails with:

Click to expand
{
  errors: [
    {
      detail: undefined,
      id: '',
      location: {
        column: 18,
        file: '../node_modules/.bin/vite.js',
        length: 9,
        line: 2,
        lineText: `basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")`,
        namespace: '',
        suggestion: ')'
      },
      notes: [],
      pluginName: '',
      text: 'Expected ")" but found "\\"$(echo \\""'
    }
  ],
  warnings: []
}

Is there any workaround? I also need to import a common vite.config.ts in monorepo.

@Dreamacro a workaround is to move the common config out from a workspace package so it doesn't have it's own node_modules. For example, moving the file to <root-monorepo>/scripts/common-config.js, and import the file via relative paths.

我一直在考虑这个问题，一般来说，支持这一点非常棘手。它要么是：

我们重写不同包中文件的导入路径。
或者捆绑文件的依赖项。

两者都不是真正的好选择。捆绑配置文件的逻辑现在也相当复杂，因为我们在Vite 3之后遇到了最近的问题，我希望不要再碰它了。
我们可能不得不在3.0.1中故意打破这一点（即使我讨厌打破semver），但考虑到这是之前的解决方法，而且只有1个补丁。也许这仍然是可以接受的。

But actually its a breaking change.

@bluwy thanks for your reply, I see that now!
It doesn't make much sense for me to build it in this particular case as it's mostly various shared code being pulled in to apps that take care of the build, whatever if pulled in. Also I had couple of reusable fragments for vite.config.ts in that place as we have multiple vue apps, so wanted to share same pieces. And that's when I started to have issues with<EMAIL_ADDRESS>For now, I ended up extracting fragments for vite build out of package with package.json / node_modules, which works OK as expected. But if this could be fix, that would be great.

But actually its a breaking change.

This issue makes really hard to use common Vite configs because usually common configs use npm packages. Hope the solution would be found.
For now, here is my workaround:
Before:
"scripts": {
    "build": "vite build",
}

After:
"scripts": {
    "build": "ts-node node_modules/vite/bin/vite.js build",
}

still got Error: Cannot find module '@shared/xxxx'
any other configs needed?

@maketa521 I think no. One more thing - I use pnpm. Maybe this matters. Also, my node version is v16.16.0
Here is a repo for reproducing it
https://github.com/edikdeisling/issue-vite-node-resolution


Not filling whole timeslot expands event for another timeslot

Do you want to request a feature or report a bug?
Report a bug
What's the current behavior?

All of these events should start at 10:00, but the darkblue one is stretched for 1 whole timecell, so its height is now (1 timecell + expected height) and starts 1 timeslot before expecting start.
Green lasts for 1,5 timecell, darkblue for 2/3 timecell and lightblue for 1 timecell, so this happens only when not whole timecell is filled, but when It's at least 1 timecell it works like expected.
<BigCalendar
            localizer={localizer}
            events={mappedEvents}
            defaultView={Views.DAY}
            step={30}
            timeslots={1}
            resources={mappedEmployees}
            defaultDate={moment(day).toDate()}
            views={[Views.DAY]}
            min={new Date(moment('5:30', 'H:mm'))}
            max={new Date(moment('19:00', 'H:mm'))}
            toolbar={false}
            onSelectEvent={handleEventSelection}
          />

What's the expected behavior?
They all should start at 10:00 and last for correct time.

I recently update to rbc version 0.22.0 and struggle with same problems. My one timeslot is 30 minutes and step is 15 minutes. When i try to render events shorter than step i get problems. Any solutions?

This is the same issue as: #1396
Seems like it was caused by a change added in #1381

It looks like #1447 should fix it, but I still have same behavior like in first post.

@KrallXZ How did you make different colors for different events with highlighted in the start.
Appreciate you help.

@KrallXZ @v1k45
can you check if this pending PR fixes your issue #1473 ?
We are waiting for the maintainer to review and merge this PR soon 😄

@KhaledMohamedP It's still the same.

Unfortunately rearrangement algorithm does not solve this pretty serious problem. Still same behavior.

Still an issue, please don’t close dear stalebot

Yes, still a big issue.


Update to GOV.UK Frontend v3.4.0

Closes #1080

You can preview this change here:
Built with commit 6aedb6b3bb786b8fe5a39bd24c29f2bf44a7fd6a
https://deploy-preview-1087--govuk-design-system-preview.netlify.com


v1.12 backports 2022-09-07

#20112 -- Fix conflicting routes for multiple ENIs in IPAM mode (@recollir)
#21080 -- pkg/k8s: fix node update sync from k8s to kvstore (@aanm)
#21039 -- Add workload name and kind into L7 flows (@chancez)
#21093 -- pkg/k8s/watcher: fix deadlock with service event handler & CES watcher. (@tommyp1ckles)
#20795 -- agent: Stop serving DNS before shutdown (@nebril)
#21115 -- EgressGW: make logging less verbose (@julianwiedmann)
#21131 -- metallb: bump to latest metallb version (@ldelossa)
#20896 -- if the user do not specify a proxy port and it fails to listen on the port, instead of retrying again for that specific one, increment it. (@NikhilSharmaWe)
#21133 -- operator: do not GC kvstore nodes if CiliumNodes are not available (@aanm)
#21146 -- datapath: tolerate missing ifaces when setting rp_filter sysctl (@julianwiedmann)
#21126 -- datapath: allow local NodePort traffic for eni+ container interfaces with CNI chaining (@ti-mo)
#20819 -- pkg/bgpv1/annotations: Optimize annotations Errors (@MikeLing)
#20848 -- Coalesce of health endpoint CIDRs (@dezmodue)
#21127 -- hubble-ui: release v0.9.2 (@geakstr)
#21051 -- install: Support configuring metricsRelabelings on ServiceMonitors (@chancez)
#21202 -- operator: update CiliumNode in kvstore without lease (@tklauser)
#21135 -- filter out pod labels from synchronizing with cilium endpoint labels (@NikhilSharmaWe)
#21124 -- Use pod Deployment name as workload name for flow workload field (@chancez)
#21220 -- k8s: fix test flake in TestGenerateToCIDRFromEndpoint. (@tommyp1ckles)

Once this PR is merged, you can update the PR labels via:
$ for pr in 20112 21080 21093 20795 21115 21131 20896 21133 21146 21126 20819 20848 21127 21051 21202 21135 21124 21220; do contrib/backporting/set-labels.py $pr done 1.12; done

or with
$ make add-label BRANCH=v1.12 ISSUES=20112,21080,21093,20795,21115,21131,20896,21133,21146,21126,20819,20848,21127,21051,21202,21135,21124,21220

Added a note on the other backport PR relating to a flake fix:
https://github.com/cilium/cilium/pull/21223#issuecomment-1239992718
Is it possible to add it to this set as well?

@joamaki can we drop https://github.com/cilium/cilium/pull/21039 from the backport. We discussed with @chancez and we will not be backporting this PR, at least not for now.

/test-backport-1.12

GKE and 1.21 tests failed in BeforeAll phase, retriggering.

/test-1.21-4.9

/test-gke

k8s-1.24-kernel-net-next failed because of a flake in K8sNode tests


Cannot download "https://github.com/sass/node-sass/releases/download/v4.7.2/win32-x64-64_binding.node

got below error when i type npm i in command prompt, and at last i mentioned all version for node and npm
i check from browser i cant find v4.7.2/win32-x64-64_binding.node in github
i am very new to all these, please provide step by step solution which i can easily troubleshoot
D:\App3010>npm i

<EMAIL_ADDRESS>install D:\App3010\node_modules\node-sass
node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.7.2/win32-x64-64_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.7.2/win32-x64-64_binding.node":
tunneling socket could not be established, statusCode=301
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
  export HTTP_PROXY=http://example.com:1234

or configure npm proxy via
  npm config set proxy http://example.com:8080

<EMAIL_ADDRESS>postinstall D:\App3010\node_modules\uglifyjs-webpack-plugin
node lib/post_install.js

<EMAIL_ADDRESS>postinstall D:\App3010\node_modules\node-sass
node scripts/build.js

Building: C:\Program Files\nodejs\node.exe D:\App3010\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ 'C:\Program Files\nodejs\node.exe',
gyp verb cli   'D:\App3010\node_modules\node-gyp\bin\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library=' ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb which failed Error: not found: python2
gyp verb which failed     at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed     at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed     at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed     at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed     at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed     at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed  python2 { Error: not found: python2
gyp verb which failed     at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed     at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed     at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed     at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed     at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed     at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed   stack:
gyp verb which failed    'Error: not found: python2\n    at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)\n    at F (D:\App3010\node_modules\which\which.js:68:19)\n    at E (D:\App3010\node_modules\which\which.js:80:29)\n    at D:\App3010\node_modules\which\which.js:89:16\n    at D:\App3010\node_modules\isexe\index.js:42:5\n    at D:\App3010\node_modules\isexe\windows.js:36:5\n    at FSReqWrap.oncomplete (fs.js:154:21)',
gyp verb which failed   code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb which failed Error: not found: python
gyp verb which failed     at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed     at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed     at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed     at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed     at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed     at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed  python { Error: not found: python
gyp verb which failed     at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed     at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed     at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed     at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed     at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed     at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed   stack:
gyp verb which failed    'Error: not found: python\n    at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)\n    at F (D:\App3010\node_modules\which\which.js:68:19)\n    at E (D:\App3010\node_modules\which\which.js:80:29)\n    at D:\App3010\node_modules\which\which.js:89:16\n    at D:\App3010\node_modules\isexe\index.js:42:5\n    at D:\App3010\node_modules\isexe\windows.js:36:5\n    at FSReqWrap.oncomplete (fs.js:154:21)',
gyp verb which failed   code: 'ENOENT' }
gyp verb could not find "python". checking python launcher
gyp verb could not find "python". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (D:\App3010\node_modules\node-gyp\lib\configure.js:483:19)
gyp ERR! stack     at PythonFinder. (D:\App3010\node_modules\node-gyp\lib\configure.js:508:16)
gyp ERR! stack     at D:\App3010\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:154:21)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\Program Files\nodejs\node.exe" "D:\App3010\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd D:\App3010\node_modules\node-sass
gyp ERR! node -v v10.13.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
Build failed with error code: 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: node scripts/build.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\Marketing\AppData\Roaming\npm-cache_logs\2018-11-06T18_15_35_827Z-debug.log
Below are Versions
D:\App3010>node -v
v10.13.0
D:\App3010>npm -v
6.4.1
D:\App3010>node -p process.versions
{ http_parser: '2.8.0',
node: '10.13.0',
v8: '6.8.275.32-node.36',
uv: '1.23.2',
zlib: '1.2.11',
ares: '1.14.0',
modules: '64',
nghttp2: '1.34.0',
napi: '3',
openssl: '1.1.0i',
icu: '62.1',
unicode: '11.0',
cldr: '33.1',
tz: '2018e' }
D:\App3010>node -p process.platform
win32
D:\App3010>node -p process.arch
x64
D:\App3010>node -p "require('node-sass').info
internal/modules/cjs/loader.js:582
throw err;
^
Error: Cannot find module 'node-sass'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
at Function.Module._load (internal/modules/cjs/loader.js:506:25)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
at [eval]:1:1
at Script.runInThisContext (vm.js:96:20)
at Object.runInThisContext (vm.js:303:38)
at Object. ([eval]-wrapper:6:22)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at evalScript (internal/bootstrap/node.js:582:27)
D:\App3010>npm ls node-sass
<EMAIL_ADDRESS>D:\App3010
`-- (empty)

my operating system is windows 10

That version is too old for Node 10. Upgrade node-sass, or downgrade your Node

First i tried with upgrade... npm update node-sass but didn't resolve then i removed cache
npm cache clean and then install latest node-sass. it try to install<EMAIL_ADDRESS>but cant download files then it install<EMAIL_ADDRESS>got error for python checking for Python executable "python2" in the PATH
please tell me step by step procedure by writing which command i have to run (i am very new to these so i dont know any command and procedure)

D:\App3010>npm install node-sass@latest

<EMAIL_ADDRESS>install D:\App3010\node_modules@ionic\app-scripts\node_modules\node-sass
node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.7.2/win32-x64-64_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.7.2/win32-x64-64_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
  export HTTP_PROXY=http://example.com:1234

or configure npm proxy via
  npm config set proxy http://example.com:8080

<EMAIL_ADDRESS>install D:\App3010\node_modules\node-sass
node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.10.0/win32-x64-64_binding.node
Download complete .] - :
Binary saved to D:\App3010\node_modules\node-sass\vendor\win32-x64-64\binding.node
Caching binary to C:\Users\Marketing\AppData\Roaming\npm-cache\node-sass\4.10.0\win32-x64-64_binding.node

<EMAIL_ADDRESS>postinstall D:\App3010\node_modules@ionic\app-scripts\node_modules\node-sass
node scripts/build.js

Building: C:\Program Files\nodejs\node.exe D:\App3010\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ 'C:\Program Files\nodejs\node.exe',
gyp verb cli   'D:\App3010\node_modules\node-gyp\bin\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library=' ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb which failed Error: not found: python2
gyp verb which failed     at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed     at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed     at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed     at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed     at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed     at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed  python2 { Error: not found: python2
gyp verb which failed     at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed     at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed     at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed     at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed     at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed     at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed   stack:
gyp verb which failed    'Error: not found: python2\n    at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)\n    at F (D:\App3010\node_modules\which\which.js:68:19)\n    at E (D:\App3010\node_modules\which\which.js:80:29)\n    at D:\App3010\node_modules\which\which.js:89:16\n    at D:\App3010\node_modules\isexe\index.js:42:5\n    at D:\App3010\node_modules\isexe\windows.js:36:5\n    at FSReqWrap.oncomplete (fs.js:154:21)',
gyp verb which failed   code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb which failed Error: not found: python
gyp verb which failed     at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed     at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed     at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed     at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed     at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed     at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed  python { Error: not found: python
gyp verb which failed     at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed     at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed     at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed     at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed     at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed     at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed   stack:
gyp verb which failed    'Error: not found: python\n    at getNotFoundError (D:\App3010\node_modules\which\which.js:13:12)\n    at F (D:\App3010\node_modules\which\which.js:68:19)\n    at E (D:\App3010\node_modules\which\which.js:80:29)\n    at D:\App3010\node_modules\which\which.js:89:16\n    at D:\App3010\node_modules\isexe\index.js:42:5\n    at D:\App3010\node_modules\isexe\windows.js:36:5\n    at FSReqWrap.oncomplete (fs.js:154:21)',
gyp verb which failed   code: 'ENOENT' }
gyp verb could not find "python". checking python launcher
gyp verb could not find "python". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (D:\App3010\node_modules\node-gyp\lib\configure.js:484:19)
gyp ERR! stack     at PythonFinder. (D:\App3010\node_modules\node-gyp\lib\configure.js:509:16)
gyp ERR! stack     at D:\App3010\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:154:21)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\Program Files\nodejs\node.exe" "D:\App3010\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd D:\App3010\node_modules@ionic\app-scripts\node_modules\node-sass
gyp ERR! node -v v10.13.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><2.7 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><2.8 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: node scripts/build.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\Marketing\AppData\Roaming\npm-cache_logs\2018-11-07T04_50_10_000Z-debug.log
D:\App3010>

Looks like you're ended up with both versions of node-sass. Delete your
node modules and do a fresh install. If the issue persists run npm ls
node-sass to see where the duplicate versions are coming from.
On Wed., 7 Nov. 2018, 4:08 pm Hatimjamali<EMAIL_ADDRESS>wrote:

First i tried with upgrade... npm update node-sass but didn't resolve then
i removed cache
npm cache clean and then install latest node-sass. it try to install
<EMAIL_ADDRESS>but cant download files then it install<EMAIL_ADDRESS>got error for python checking for Python executable "python2" in the PATH
please tell me step by step procedure by writing which command i have to
run (i am very new to these so i dont know any command and procedure)
D:\App3010>npm install node-sass@latest
<EMAIL_ADDRESS>install D:\App3010\node_modules@ionic
\app-scripts\node_modules\node-sass
node scripts/install.js
Downloading binary from
https://github.com/sass/node-sass/releases/download/v4.7.2/win32-x64-64_binding.node
Cannot download "
https://github.com/sass/node-sass/releases/download/v4.7.2/win32-x64-64_binding.node
":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
<EMAIL_ADDRESS>install D:\App3010\node_modules\node-sass
node scripts/install.js
Downloading binary from
https://github.com/sass/node-sass/releases/download/v4.10.0/win32-x64-64_binding.node
Download complete .] - :
Binary saved to
D:\App3010\node_modules\node-sass\vendor\win32-x64-64\binding.node
Caching binary to
C:\Users\Marketing\AppData\Roaming\npm-cache\node-sass\4.10.0\win32-x64-64_binding.node
<EMAIL_ADDRESS>postinstall D:\App3010\node_modules@ionic
\app-scripts\node_modules\node-sass
node scripts/build.js
Building: C:\Program Files\nodejs\node.exe
D:\App3010\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose
--libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ 'C:\Program Files\nodejs\node.exe',
gyp verb cli 'D:\App3010\node_modules\node-gyp\bin\node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library=' ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb which failed Error: not found: python2
gyp verb which failed at getNotFoundError
(D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed python2 { Error: not found: python2
gyp verb which failed at getNotFoundError
(D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed stack:
gyp verb which failed 'Error: not found: python2\n at getNotFoundError
(D:\App3010\node_modules\which\which.js:13:12)\n at F
(D:\App3010\node_modules\which\which.js:68:19)\n at E
(D:\App3010\node_modules\which\which.js:80:29)\n at
D:\App3010\node_modules\which\which.js:89:16\n at
D:\App3010\node_modules\isexe\index.js:42:5\n at
D:\App3010\node_modules\isexe\windows.js:36:5\n at FSReqWrap.oncomplete
(fs.js:154:21)',
gyp verb which failed code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb which failed Error: not found: python
gyp verb which failed at getNotFoundError
(D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed python { Error: not found: python
gyp verb which failed at getNotFoundError
(D:\App3010\node_modules\which\which.js:13:12)
gyp verb which failed at F (D:\App3010\node_modules\which\which.js:68:19)
gyp verb which failed at E (D:\App3010\node_modules\which\which.js:80:29)
gyp verb which failed at D:\App3010\node_modules\which\which.js:89:16
gyp verb which failed at D:\App3010\node_modules\isexe\index.js:42:5
gyp verb which failed at D:\App3010\node_modules\isexe\windows.js:36:5
gyp verb which failed at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb which failed stack:
gyp verb which failed 'Error: not found: python\n at getNotFoundError
(D:\App3010\node_modules\which\which.js:13:12)\n at F
(D:\App3010\node_modules\which\which.js:68:19)\n at E
(D:\App3010\node_modules\which\which.js:80:29)\n at
D:\App3010\node_modules\which\which.js:89:16\n at
D:\App3010\node_modules\isexe\index.js:42:5\n at
D:\App3010\node_modules\isexe\windows.js:36:5\n at FSReqWrap.oncomplete
(fs.js:154:21)',
gyp verb which failed code: 'ENOENT' }
gyp verb could not find "python". checking python launcher
gyp verb could not find "python". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set
the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython
(D:\App3010\node_modules\node-gyp\lib\configure.js:484:19)
gyp ERR! stack at PythonFinder.
(D:\App3010\node_modules\node-gyp\lib\configure.js:509:16)
gyp ERR! stack at D:\App3010\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:154:21)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\Program Files\nodejs\node.exe"
"D:\App3010\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--verbose"
"--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags="
"--libsass_library="
gyp ERR! cwd D:\App3010\node_modules@ionic
\app-scripts\node_modules\node-sass
gyp ERR! node -v v10.13.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><2.7 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none is installed. You must install peer
dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none is installed. You must install peer
dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none is installed. You must install peer
dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none is installed. You must install peer
dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none is installed. You must install peer
dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none is installed. You must install peer
dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none is installed. You must install peer
dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^6.0.0 but none is installed. You must install peer dependencies
yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^6.0.0 but none is installed. You must install peer dependencies
yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><2.8 but
none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for
<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current:
{"os":"win32","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: node scripts/build.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely
additional logging output above.
npm ERR!
C:\Users\Marketing\AppData\Roaming\npm-cache_logs\2018-11-07T04_50_10_000Z-debug.log
D:\App3010>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sass/node-sass/issues/2539#issuecomment-436506539,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjZWB_t1-18JBKi2M5koSYXN8F9y1qvks5usmrhgaJpZM4YRGJQ
.


Group based modules: when user is invited to the group then upon site join user should become group's member automatically

There is no way to invite user which isn't member of the site


Get closer to 100% coverage

Right now Lily is in the high 90% of coverage, but could be better. I'd like to, at some time during the next release, go over what isn't covered and cover it.
There are some areas not worth covering, such as lily_malloc's error case, and a handful of others that escape me at the moment. The rest are. A lot of bugs fixed as part of 1.2 were discovered by increasing coverage.

Closing this as part of the gitlab migration: https://gitlab.com/FascinatedBox/lily/issues/342


[1702] Attempt to centralise trainee state values

Context
Changes proposed in this pull request
Guidance to review

Canning for now as provides no real value


Issue with /docs/tasks/administer-federation/deployment/  Needs proper doc to FederatedReplicaSetPreference

ClusterReplicaSetPreferences docs point to a source code file in the main repo
This also happens in /docs/tasks/administer-federation/replicaset/

Do you mean FederatedReplicaSetPreference?  I can't find ClusterReplicaSetPreference

@jaredbhatti exactly! FederatedReplicaSetPreference is correct. Sorry for it

/remove-lifecycle stale

/assign


Added support for external Redis connections

The main reason for this PR is to support connecting to Redis clusters. Currently, the RedisPersistence constructor assumes you will be creating a connection to a single Redis server and internally makes a call to new Redis(opts). However, in order to connect to a Redis cluster, you must use the Redis.Cluster constructor of ioredis. This PR allows you to pass in any Redis instance as the value of a new conn option. This allows you to construct a new Redis.Cluster connection outside of the RedisPersistence constructor and pass it in as an argument.
NOTE: There is currently no unit test for this PR since I wasn't sure of the best approach to modifying test.js to create a new Redis.Cluster connection instead of a standard Redis connection. Suggestions?

Fixed in de3fba9740cef0373229006c7cf6a0efb1fd8311