How can i add bookmarks?

Hello Im on linux and ive went to my .config chromium extensions folder and found the css and html and js files for your extension but there are so many files i cant find where is the bookmarks? i wanted to add 4 more at the bottom of the 4 youve made And im not a programmer i just know how to do css json etc. config files im like newb programmer. Is there even a way to add 4 more bookmarks? And if yes which file is responsible for it.

It's kind of complicated. Everything is stored in a object in chrome storage, including bookmarks. Then bookmarks are dynamically added to the new tab page through the renderUserDefinedBookmarks function in src/newtab/scripts/utils/render-bookmarks.ts.
I'm planning to add the ability to add more than four bookmarks. If you can wait for the next update, you won't need to edit the extension.

I added the ability to add and remove bookmarks, you can now have any amount of bookmarks you want as of mtab-v1.0.5. I uploaded the new version, but it may take some time for the chrome and firefox webstore to verify it. You may also need to uninstall and reinstall because the structure of the config changed.


Added Feature - Perform lookup on target Player is facing

Ok, I know I requested it, but game frustration mixed with a little bit of impatience convinced me to do it myself lol
I will say that I'm not the best at programming, and I may have done things in the wrong way, but what I've changed does work within the game (fully tested). That being said, if you can see a way to change it to make it more proper, feel free to do so.
What these changes do, is add a new hotkey for both keyboard and controller, which will attempt a lookup on the object the player is facing (if any). It even solves the problem of looking up something which is covered by a sprite (by only checking the tile location and ignoring the sprites visually covering it).

Thanks! I'll take a look at this for the upcoming 1.9 release. :)

Added one more thing, and I promise it's my last one lol cause it's the only other thing that was bothering me.
I've made it so that Liked/Loved items on a Villager's Lookup, will be in green text if you own at least one of it. Makes it a lot easier to see if you have something available to give them.

I'll just close this, I'm working on breaking them up properly.


2.4.0 Release

Point submodule to 8.0.2, bump HaLVM to 2.4.0

cc @izgzhen @acw seems like upgrading halvm-ghc warrants a version bump to 2.4.0.

w00t!

🍾


msvcrt!_CxxThrowException should be marked no return

You can add prototypes to /Applications/Binary Ninja.app/Contents/Resources/types/windows.c yourself to test, but we should probably add others.
Also, just adding a note that Peter made in slack that I agree with -- the UI should allow marking functions as no-return as well so it can at least be manually fixed up other instances.

Fixed 6 months ago.


Are the client applications which use quic-go?

Hi,
sorry for misusing the issue functionality, but I don't know any other place for asking questions about quic-go.
My question is:
I know that for server applications there is caddy which implements quic-go.
But are there client applications which already make use of quic-go (beside of the applications in the  example folder)?
Thanks

quic-go is used by a quite a few projects, but since it's open-source software, I don't have a comprehensive list.
For example, it is powering QUIC support in libp2p.


Daniel/test sets

Description
Added tests for Sets and GSets.

testGSet needs to try and remove an item and fail.
After checking it updated, do the same as testSet by removing user2, and having that fail as we'd expect.

Exception test for when removing an item from a GSet added.
@pjaclark , let me know if that works for you.

LGTM


Review openzeppelin's crowdsale.sol

Try to use the same terms in issuance.sol.

After reviewing crowdsale.sol and thinking about what the purpose of hq20/contracts should be, we'll move the current version of Issuance.sol to the contracts/advanced/issuance folder and create an even simpler one (no dates, no softCap, no minInvestment) as the base contract.


Issues with 2-way communication

I'm not sure if this is the right forum to expose my problem but I'm going crazy trying to understand if the problem is me, go2rtc or just my stupid camera
while running a stream I get this info
http://localhost:1984/api/streams?src=left
{
  "producers": [
    {
      "id": 30,
      "format_name": "rtsp",
      "protocol": "rtsp+tcp",
      "remote_addr": "<IP_ADDRESS>:554",
      "url": "rtsp://admin:demo1234@<IP_ADDRESS>:554/ch01/0",
      "sdp": "v=0\r\no=- 679741170 679741170 IN IP4 <IP_ADDRESS>\r\ns=RTSP Session with audiobackchannel\r\nc=IN IP4 <IP_ADDRESS>\r\nt=0 0\r\nm=video 0 RTP/AVP 96\r\na=control:trackID=0\r\na=rtpmap:96 H264/90000\r\na=x-dimensions:3840,3000\r\na=framerate:15\r\na=bitrate:4096\r\na=fmtp:96 packetization-mode=1;profile-level-id=420029;sprop-parameter-sets=Z00APOkAeAC8/LCAAAH0gAA6pwI=,aOqPIA==\r\nm=audio 0 RTP/AVP 0\r\na=control:trackID=1\r\na=rtpmap:0 PCMU/8000\r\na=x-onvif-track:audiotrack_token\r\nb=AS:50\r\na=recvonly\r\nm=audio 0 RTP/AVP 0 8 97 98 99 100\r\na=control:trackID=4\r\na=rtpmap:98 mpeg4-generic/8000/1\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:8 G711/8000\r\na=rtpmap:97 G726-16/8000\r\na=rtpmap:98 G726-24/8000\r\na=rtpmap:99 G726-32/8000\r\na=rtpmap:100 G726-40/8000\r\na=sendonly\r\n",
      "user_agent": "go2rtc/1.9.4",
      "medias": [
        "video, recvonly, H264",
        "audio, recvonly, PCMU/8000",
        "audio, sendonly, PCMU/8000, PCMA/8000, G726-16/8000, MPEG4-GENERIC/8000, G726-32/8000, G726-40/8000"
      ],
      "receivers": [
        {
          "id": 31,
          "codec": {
            "codec_name": "h264",
            "codec_type": "video",
            "level": 60,
            "profile": "Main"
          },
          "childs": [
            4
          ],
          "bytes": 3704405,
          "packets": 2653
        },
        {
          "id": 32,
          "codec": {
            "codec_name": "pcm_mulaw",
            "codec_type": "audio",
            "sample_rate": 8000
          },
          "bytes": 52608,
          "packets": 137
        }
      ],
      "bytes_recv": 3790493
    }
  ],
  "consumers": [
    {
      "id": 1,
      "format_name": "webrtc",
      "protocol": "ws+udp",
      "remote_addr": "<IP_ADDRESS>:49166 host",
      "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36",
      "medias": [
        "video, sendonly, VP8, VP9, H264, AV1",
        "audio, sendonly, OPUS/48000/2, G722/8000, PCMU/8000, PCMA/8000, L16, PCML"
      ],
      "senders": [
        {
          "id": 4,
          "codec": {
            "codec_name": "h264",
            "codec_type": "video"
          },
          "parent": 31,
          "bytes": 155868772,
          "packets": 111816
        },
        {
          "id": 6,
          "codec": {
            "codec_name": "pcm_alaw",
            "codec_type": "audio",
            "sample_rate": 8000
          },
          "parent": 5,
          "bytes": 1873152,
          "packets": 4878
        }
      ],
      "bytes_send": 159412505
    }
  ]
}

It seems that it has 2 audio channels, 1 going in and 1 going out. Is my assumption correct here?
When I try to play a sound with
http://localhost:1984/api/streams?dst=left&src=ffmpeg:https://www2.cs.uic.edu/~i101/SoundFiles/gettysburg10.wav#audio=PCMA#input=file

I get an error saying
can't find consumer

I'm not really sure what I'm doing wrong any help or pointers would be very helpfull

@LudeeD I've been banging my head against the same problem. Sound works from the links page, but not from the api and I have not figured it out. If you find a solution, do post it!

@LudeeD, maybe try POST "http://localhost:1984/api/ffmpeg?dst={your_camera}&file={your_file_path}"
(the documented api call still does not work for me)


ATImageBox for Lazarus

description here- http://wiki.freepascal.org/ATImageBox
version for Delphi was at http://atviewer.sf.net

Thanks, at last added


[WIP] feature: provide an interface in the admin ui to manually input data

Just getting started here, but wanted to get any input as I work on it.
The idea is to have a page in the admin ui where you can submit  0183, n2k, signalk, or canboat json data (it's auto detected).
The screen will show a table like in the Data Browser with the Signal K results. It will have an option to send the data on to the server if the user has write permission.

My vision for http://demo.signalk.org/@signalk/playground/dist/ was to include also n2k and 0183 input, but Playground predates canboatjs and I never got back to it.
This will create essentially an http endpoint for submitting deltas? Should it be included in Connections? So that the user is aware of it and then there is a mechanism to disable it.

It's in interfaces, so there's a way to disable it. Maybe it should be off by default.
It is basically an advanced version of your playground , but tied to the server and able to feed into the server and kick off plugins, etc.
Definitely not intended to be used for anything other than testing and POC work.


Android12 Notifee not correctly handling new REQUIRE_EXACT_ALARM permission

Saw this: https://developer.android.com/about/versions/12/behavior-changes-12#exact-alarm-permission
As I was working through #238 / unrelated Android12 behavior change

Turns out this mandatory or you get a crash when setting triggers

My commit fixes the hard crash out of the box but if permission is revoked, it will still crash after
Notifee still needs to:

expose platform API canScheduleExactAlarms
Intent ACTION_REQUEST_SCHEDULE_EXACT_ALARM to send users to settings screen and
ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED receiver to reschedule alarms

I have fixed the crashes by at least guarding trigger creation in case a user or the system removes it. This will show up in the logs if trigger settings was not possible:

11-19 16:11:26.677 22634 22776 W System.err: Missing SCHEDULE_EXACT_ALARM permission. Trigger not scheduled. Issue #239

This method: needs some way to propagate back through the call chain that it was unsuccessful but that is an API design question https://github.com/invertase/notifee/blob/4a720dc8ac52506b302f6d9252a99cefc1d8cb28/android/src/main/java/app/notifee/core/NotifeeAlarmManager.java#L134
First goal is just to not crash

@mikehardy I believe this is fixed, right with v4.0.0? Can we close this?

@helenaford I re-titled this, right now if the user removes the new permission via system settings Notifee will silently fail to set alarms. That's a major unexpected surprise for devs using the package I believe. And there are no methods exposed to allow devs to interrogate the state of the permission via the new Android 12 APIs, so it would be silent with no recourse. Until the permission for REQUIRE_EXACT_ALARM is handled more thoroughly I think this is an open issue

For this issue, I have

[x] expose platform API canScheduleExactAlarms
[x] expose Intent ACTION_REQUEST_SCHEDULE_EXACT_ALARM to send users to settings screen and

Working on the last one now, will submit a PR after I've finished

[ ] ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED receiver to reschedule alarms

Should this issue be Closed now? Same for #238

@bytehala yes. will close. thanks 🙏


@DocumentId and @ServerTimestamp property wrappers not compatible with the new @Observable

Description
When trying the compile with the Xcode 15 leveraging the use of the @Observable macro instead on the former ObservableObject protocol, the compiler throws
Property wrapper cannot be applied to a computed property
on properties decorated with @DocumentID or @ServerTimestamp
This is due to the @Observable macro rewriting all properties to set / get computed properties.
Is there any workaround?
Thanks!
Reproducing the issue
Pre Xcode 15:
class Test1: ObservableObject {
    @DocumentID var id: String?
    @ServerTimestamp var _createdAt: Date?

    var name: String?
}

Xcode 15 not compiling:
@Observable class Test2 {
    @DocumentID var id: String?
    @ServerTimestamp var _createdAt: Date?

    var name: String?
}

Firebase SDK Version
10.9
Xcode Version
15.x
Installation Method
Swift Package Manager
Firebase Product(s)
Firestore
Targeted Platforms
iOS, macOS
Relevant Log Output
No response

Hi @rderimay, thank you for reporting this issue. A workaround for this could be creating a view model (and make it observable), and make the view model hold one (or multiple) instances of the data object (which would not be observable).
Or, if you really want to make the data objects observable, one option might be to mark the @DocumentId property as @ObservationIgnore: https://developer.apple.com/documentation/observation/observationignored()

Thanks a lot for your answer!


Bug meta location

my proposed solution for populating meta.location and header location

I'll definitely migrate this to the web api linking since this would require a repository to have knowledge of hosting / public origin information.  Pulling though since this contains an update to tests.


Fixes for supporting latest pybedtools

Thanks for all the recent work on metasv. This pull request cleans up issues associated with using the latest pybedtools release:

pybedtools now returns unicode for chromosome names, which causes errors when these are passed to pysam. We fix these by explicitly converting to strings, instead of unicode.
The latest pybedtools requests some additional saveas commands to export intervals.
There is a bug in 0.7.2 where pybedtools.cat would write empty files if any of the inputs were empty (daler/pybedtools#149). This checks before doing these cat steps, which also saves unnecessary merge work when combining empty files.

Thanks much.

Thanks @chapmanb, this is great! I also realized that we changed some command-line parameters which should have been communicated to the bcbio repo. My apologies and thanks again for taking care of the variable changes.


As a user I need the ability to create a MoneyLog so as to work on it

Feature/Fix
This is a proposed feature when the user loads the appliocation they need to be presented either with a list of budgets to select from or the ability to create a budget to begin working on it.
Current Situation
At the moment everytime we need to make a new budget say at the beginning of a month what happens is we make a copy of our monthly budget sheet remove the data and beginning filling it again.
This has proven to be very ineffective as there is lack of consistency and the formulas used are never reused.
I propose that we build functionality to mirror the following flow diagram.

Acceptance Criteria
A user should be able to open the application and either select from a list of budgets or create a budget to work on one

Haha! Epic this issue is in next week's Milestone good work @CIEspost @cybot1711 !

A budget has statuses, These are stages of a lifecycle a budget is going through

new when a budget is has just been created and does not contain a shopping/wish list
planning a budget moves from new to planning when a wishlist is created in the budget
refined a budget is labelled as refined when the wishlist has been considered against the income
expired a budget is labelled as expired if its end date has passed

This feature is covered at the moment 🎆
However we need to make this cleaner and better
#65 Add functionality to trigger the creation of  an owner


Counting untrained tokens ? What is it doing ? Took forever on large dataset, and repeating !

Counting untrained tokens:  50%|█████████████████████████████████████▊                                      | 66000/132738 [05:19<05:28, 203.40 examples/s]
It says 5:28 but in fact it took 25 minutes more !
It always took sometime up to 1 hour or so do do this. On large few millions rows, it takes also forever and repeating everytime we restart or resume.
What is it doing on counting what tokens and why ? Can we turn it off ?
Thanks,
Steve

@thusinh1969 Maybe this is related: https://github.com/unslothai/unsloth/issues/658#issuecomment-2175416360


custody-service: SDFSOF-32 - Added OpenApi specs for new endpoints. Reverted amount validation. Updated docs with Custody Server configuration

PR Checklist
PR Structure

[ ] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[ ] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[ ] This PR's title starts with name of package that is most changed in the PR, ex.
paymentservice.stellar, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.

What
Added OpenApi specs for new endpoints. Reverted amount validation. Updated docs with Custody Server configuration
Why
Developers can use specs for development and testing

Reference Server Preview is available here:https://anchor-ref-pr925.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr925.previews.kube001.services.stellar-ops.com/

@MazurakIhor @rkharevych
This openAPI files are deprecated, and has already been removed in development.
Could you make the same change in stellar-docs project?
This are files that has been moved from Platform project to the Docs project.


audioContext.createMediaStreamSource instead of audioContext.createMediaElementSource?

Hi friends at resonance-audio,
Thank you so much for offering such an interesting and useful library! :-)
I've spent the past few days working on this, and I've gotten the following to work 🎉💪:
export function createDraggableDiv(socketId, stream, participantUsername) {
    const video = createVideo(socketId, stream, participantUsername);
    const div = getWrapper(socketId, participantUsername);
    document.getElementById('main').appendChild(div);
    div.append(video);

    const soundSource = scene.createSource();
    soundSources[socketId] = soundSource;
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    // TODO: Remove this temporary section about audioElement.
    const audioElement = document.createElement('audio');
    const audioSrc = audioSources.pop();
    audioElement.src = audioSrc;
    audioElement.crossOrigin = 'anonymous';
    audioElement.load();
    audioElement.play();
    audioElement.loop = true;
    div.append(audioElement);
    const mediaElementAudioSourceNode = audioContext.createMediaElementSource(audioElement);
    mediaElementAudioSourceNode.connect(soundSource.input);
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    // TODO: Uncomment this section.
    // const mediaStreamAudioSourceNode = audioContext.createMediaStreamSource(video.srcObject);
    // mediaStreamAudioSourceNode.connect(soundSource.input);
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}

When I drag the divs around on my screen, they call soundSource.setPosition(x, y, z); (not shown here), and I hear what I expected to hear in my headphones: the position of the dragged element on the screen determines where in 3D space in my ears I hear the sound. This is great! 👏
However, as you can see, what I actually am trying to build instead is a video chat platform that allows spatial audio.
I don't want to be using the wav files in my audioSources array, which I was just doing temporarily to check whether Resonance was working.
What I'm really trying to do is use a mediaStreamAudioSourceNode that comes from my video.srcObject (from the RTCPeerConnection).
How can I use a MediaStream source instead?
I really appreciate your help! :-)
P.S. For context, I want to build a video chat app that:

is easy to start just by visiting a website, like Google Meet (I built this already)
lets the user drag other participants' videos into other orders/arrangements, like Zoom
uses spatial audio, where each user's choices of how to arrange other participants' videos does not affect others' spatial audio. E.g. On a call with 9 participants:

Mike (or anyone) can choose to show himself his own selfie view or hide it, and it won't affect the audio that he or anyone else hears.
Mike can choose to hide all but 3 of the other participants and arranges those visible 3 in one horizontal row, in which case the audio he hears will be 4 channels: front-left, front-center, front-right, and then a catch-all channel for all invisible videos, which maybe I'll orient as coming from behind Mike.
Simultaneously, and without affecting Mike's experience or anyone else's, Carol could choose to show all 8 other participants, and she could arrange them in whatever line or grid she wants, and the audio from each will sound to her as if it's coming from the appropriate part of her screen.

Reading and re-reading https://github.com/resonance-audio/resonance-audio-web-sdk/issues/7#issuecomment-355712284, I zeroed in on the hint about muting.
That was my problem!
The following works!! 👏
export function createDraggableDiv(socketId, stream, participantUsername) {
    console.log('createDraggableDiv', socketId, participantUsername);
    const video = createVideo(socketId, stream, participantUsername);
    const div = getWrapper(socketId, participantUsername);

    document.getElementById('main').appendChild(div);
    div.append(video);

    const soundSource = scene.createSource();
    soundSources[socketId] = soundSource;
    const streamClone = stream.clone();
    video.muted = true;
    const mediaStreamAudioSourceNode = audioContext.createMediaStreamSource(streamClone);
    mediaStreamAudioSourceNode.connect(soundSource.input);
}


Slider generator

Would it be beneficial to add a slider creator? What would the benefits and disadvantages of working a slider builder into CakeLander? Would this be done server side or are there JavaScript tools to do this?
This thread is for an open dialogue on the subject.

This was addressed in a development refactor.


Amazon Books Analysis

ML-Crate Repository (Proposing new issue)
:red_circle: Project Title : Amazon Books Analysis
:red_circle: Aim : Analysis of the books from Amazon website.
:red_circle: Dataset : https://www.kaggle.com/sootersaalu/amazon-top-50-bestselling-books-2009-2019
:red_circle: Approach : Try to use 3-4 algorithms to implement the models and compare all the algorithms to find out the best fitted algorithm for the model by checking the accuracy scores. Also do not forget to do a exploratory data analysis before creating any model.
Hello, ML-Crate contributors, this issue is only for the contribution purposes and allocated only to the participants of SWOC 2.0 Open Source Program.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.
A Demo Project has been created to guide you about the whole structure of presenting the Project in this repository. Here's the link of the Demo Project - https://github.com/abhisheks008/ML-Crate/tree/main/Project-Demo-Folder

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'SWOC' contributors of 'ML-Crate' project.

:white_check_mark: To be Mentioned while taking the issue :

Full name :
GitHub Profile Link :
Participant ID :
Approach for this Project :
Are you a participant of SWOC 2.0?

[ ] YES
[ ]  No

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Full name : Deepthi M
GitHub Profile Link : https://github.com/deepthi1107
Participant ID : 294
Approach for this Project: EDA, SVM, random forest, decision tree
Are you a participant of SWOC 2.0?
YES

Full name : Sankalp Srivastava
GitHub Profile Link : www.github.com/sankalp-srivastava
Participant ID : 857
Approach for this Project : A detailed EDA using different libraries and finding insights
Are you a participant of SWOC 2.0?

[x] YES
[ ] NO


the tests should use ExpectedException instead of @Test(expected=SomeException.class)

As this is a library created explicitly for wrapping checked and unchecked exceptions in lambda expressions, I would say that is pretty important to make sure that the exception that you are wrapping is indeed the exception that was originally created, together with it's message, not just the exception type.
Currently the tests are using @Test(expected = WrappedException.class), which will test only if the exception was tested. It's not able to test also the thrown exception message without writing a try-catch block.
    @Test(expected = WrappedException.class)
    public void shouldWrapInRuntimeExWhenUsingUnchecked() throws Exception {
        // given
        final ThrowingBiFunction<Integer, Integer, Integer, Exception> f1 = (i, j) -> { throw new Exception(); };

        // when
        ThrowingBiFunction.unchecked(f1).apply(42, 42);

        // then RuntimeException is thrown
    }

For this situations JUnit  has it's ExpectedException rule, that can be used to just exactly do so:
     @Rule
     public ExpectedException thrown= ExpectedException.none();

    @Test
    public void shouldWrapInWrappedEx() throws Exception {
        final Exception cause = new Exception("some message");

        thrown.expect(WrappedException.class);
        thrown.expectMessage("some message");
        thrown.expectCause(is(cause));

        // given
        final ThrowingBiFunction<Integer, Integer, Integer, Exception> f1 = (i, j) -> { throw cause; };

        // when
        f1.unchecked().apply(42, 42);

        // then RuntimeException is thrown
        fail("exception expected");
    }

even more, you can also verify the root cause, or expect based on a matcher.
By changing the tests to use ExpectedException instead of @Test(expected = SomeException.class) the tests should be cleaner and will actually test that we indeed are wrapping the exceptions not just throwing a runtime exception that accidentally or not is called WrappedException, thus testing more than before.

Since assertj is already used in this project I'd use it. It's much more feature rich. Few examples here:
https://github.com/joel-costigliola/assertj-examples/blob/master/assertions-examples/src/test/java/org/assertj/examples/ExceptionAssertionsExamples.java
Btw: Junit rules will be replaced with extensions in Junit5, it'll be easier to migrate with assertj approach.


Implement support for visionOS.

This PR adds support for visionOS.
I added a visionOS example app with the same code of the macOS app for testing.
Could you take a look @rwbutler?

So it's not merged yet!
Readme says it supports visionOS.  Any timelines for this update!?

Thanks for the PR @Zandor300 - really appreciate the contribution and sorry it's taken me so long to get to it. Some changes have been made to support Xcode 16 in the main branch which have created a merge conflict apologies.
I'll try to take a look at this soon


Custom type guard function

Implements only the function part of #1007. I thought it was best to have some early feedback first before I implement the class method part. So that I know I'm on the same page.
I consider the type guard type as a new type. Pls. check my tests for all specifications right now. I'm not sure if it's according to your specs. So would be good to have feedback on that.
Another question I have is if I should ban declaring type guard types on non-function-like declarations? I haven't implemented this ban yet. Example:
var a: t is item //Error

pinging @JsonFreeman and @ahejlsberg for this one as well.

@tinganho thanks for submitting this change. I took a first stab at reviewing it. Overall i do not have major concerns, just my comments above. i would want @JsonFreeman and/or @ahejlsberg to take a look as well though.

I haven't started reviewing this yet, but I don't think it's possible to only allow a certain type kind in return position because of type argument inference. You could have a function like this
function moveReturnToParameter(func: () => T): (p: T) => void;

and then passing in a type guarding function would output a function that takes a type guard as a parameter.

function moveReturnToParameter(func: () => T): (p: T) => void;

Also a function that takes a type guard type(**not a type guard function**) as a parameter is pretty much useless.

Let say that that the returned function is:
```typescript
function(isFoo: item is Foo) {
  if(isFoo) {// This won't be able to take an argument so it is not useful?
  }
}

Actually, I take that back. It is possible if you special case inference to infer boolean every time it encounters one of these type guards.

@JsonFreeman just for clarification do you mean that:
Passing in a type guard function to the following function
function moveReturnToParameter<T>(func: () => T): (p: T) => void;

will convert the returned function to accept a boolean instead of a type guard type?
And so every non-function declaration with a declared type guard type will be converted to boolean?

@mhegazy I fixed some of the issue you pointed out. Though I didn't understood some of your comments, it would be good if you could clarify some of them.

Hmm, thinking about this more, I don't really know what it means for a type guard type to flow through the type system. Once a type guard type gets separated from a call to its originating signature, it becomes kind of meaningless. If these are truly to be their own kind of types, I would expect the following to work:
declare function isString(x): x is string;
var v: string | number;
var vIsString = isString(v);
if (vIsString) {
    // Here v has type string
}

If this works, then that's pretty cool, and maybe we should keep it. I was more thinking that these type nodes would just become booleans, but if you are in the process of narrowing, you can get a type predicate from the signature that the call expression is calling.
I think we should try to determine if making type guards their own types will cause anything weird to happen in the type system. If it doesn't, then I am fine with this. Some of the inference cases I have been bringing up are examples of some things to watch out for.

Actually, my example above will not work because vIsString is not a call expression. Given that, is there a benefit to having a separate kind of type, that I am missing? I feel like the boolean type approach would be simpler.

@JsonFreeman How will you store the type predicate? Storing it on the booleanType? or just the signature? Is there a free ride we can have by just using booleans instead?

You would store it on the signature.

Talked with @mhegazy, and we thought of something. We think it does not make sense to treat a type predicate as a type in the type system, because it is an interpretation of the significance of a boolean, and its meaning is highly localized. It should be a property of the signature instead.
You can still check assignability of type predicates when you check assignability of signatures. When you compare signatures for assignability, you would check parameters, return type, and type predicate (if any). The signatures would be assignable if the type predicate has the same argument index, and the types of the type predicates are assignable.
You can also do type argument inference on the type predicate, but again, it is when you visit the signature. If both the source and the target have type predicates with the same parameter index, you can infer between the type portion of the type predicate.
And of course, instantiating a signature should instantiate the type of its type predicate, similar to what you have already added.
Let me know if you have concerns about any of these ideas, or questions about how/where to implement them.

Again, the purpose of doing it this way is to prevent the type predicate from flowing anywhere.

@JsonFreeman thanks for your feedback very helpful. I will rework this PR then.

I also think it should be an error (at least for now) to have a type predicate refer to a binding element name in a parameter list. Only top level parameter names (identifiers) should be fair game.

@JsonFreeman I will add an error for that. I guess I will show errors on these too:
var a: a is Array;// Can only assign a type predicate to function declarations.
function(a: a is Array) {}; // Can only assign a type predicate to function declarations.
etc..

Yes, I think type predicates should only be allowed in return type position. I think they should also be allowed on ambient declarations, and overloads.

My question is how would this be used in the compiler?
Lots of cases where user-defined functions could cast/guard:
 // 1252: cast to ModuleDeclaration
 return (declaration.kind === SyntaxKind.ModuleDeclaration && (<ModuleDeclaration>declaration).name.kind === SyntaxKind.StringLiteral) ||

 // 376: cast to ClassDeclaration
 if (location.parent.kind === SyntaxKind.ClassDeclaration && !(location.flags & NodeFlags.Static)) {
    let ctor = findConstructorDeclaration(<ClassDeclaration>location.parent);

isKind(node: Node, kind: SyntaxKind): ? {
  return node.kind === kind;
}

// 1475: cast to IntrinsicType
if (type.flags & TypeFlags.Intrinsic) {
    // Special handling for unknown / resolving types, they should show up as any and not unknown or __resolving
     writer.writeKeyword(!(globalFlags & TypeFormatFlags.WriteOwnNameForAnyLike) &&
      (type.flags & TypeFlags.Any) ? "any" : (<IntrinsicType>type).intrinsicName);
}

isType(type: Type, flags: TypeFlags): ? {
  return node.flags & flags;
}

Seems to be two ways of thinking about it:
a) macro-like function guards (as above) & similar to patch
b) Fixing instanceof
interface IntrinsicType {
} where  <instanceof(T) { return T.flags & TypeFlags.Intrinsic };

if (type instanceof IntrinsicType) { // emits type.flags & TypeFlags.Intrinsic
    // Special handling for unknown / resolving types, they should show up as any and not unknown or __resolving
     writer.writeKeyword(!(globalFlags & TypeFormatFlags.WriteOwnNameForAnyLike) &&
      (type.flags & TypeFlags.Any) ? "any" : type.intrinsicName);
}

My question is how would this be used in the compiler?

We have functions like

isDeclaration
isBindingPattern
isTemplateLiteralKind

And others.

Also, if we add "overload on enum" as a parallel to overload on string, we could have definitions like:
function isOfKind(n: Node, s: SyntaxKind.ThrowKeyword): n is ThrowKeyword;
function isOfKind(n: Node, s: SyntaxKind.ReturnKeyword): n is ReturnKeyword;
/* repeat ad infinitum... */
function isOfKind(n: Node, s: SyntaxKind): boolean;

I like @RyanCavanaugh's idea

Like it too, though if you start doing:
function isOfKind(n: Node, s: SyntaxKind.ModuleDeclaration): n is ModuleDeclaration;
function isOfKind(n: Node, s: SyntaxKind.ClassDeclaration): n is ClassDeclaration;

You might as well attach the 'is' notion directly to the type declaration:
    export interface ModuleDeclaration extends Declaration, ModuleElement {
        name: Identifier | LiteralExpression;
        body: ModuleBlock | ModuleDeclaration;
    } is(n: Node) { return n.flags & SyntaxKind.ModuleDeclaration }

Or by reference:
type foo = ModuleDeclaration is (n: Node) { return n.flags & SyntaxKind.ModuleDeclaration }

Something like that. People are going to start asking for:
if(node is ModuleDeclaration) {
  //...
}

@JsonFreeman I just found out that if the type guard "target" is a property access expression — the type guard doesn't work.
class A {
	propA;
}
class B {
	propB;
}
let a: {
	b: A | B;
}
let b = a.b instanceof B && a.b.propB; // Error propB doesn't exists on type 'A | B'

This is because it "walks" backwards to get the type of each element in a property access expression until it finds the first element(the identifier). Then it narrows the type of that one.
I don't really know how to fix this without introducing a variable before the "walking" occurs.

Actually:
function isOfKind(n: Node, flags: SyntaxKind) {
  return n.flags & flags;
}

// By reference:
type ModuleDeclarationKind = ModuleDeclaration is<T> => { return T.flags & SyntaxKind.ModuleDeclaration };
type ModuleDeclarationKindIdentityWithFunction = ModuleDeclaration is<T> => isOfKind(T, s: SyntaxKind.ModuleDeclaration);

I think you get the same result but 'ModuleDeclarationKindIdentityWithFunction' requires the emit of a function but 'ModuleDeclarationKind' would only emit inline the 'is function' body.

@tinganho Type guards only work on variables, see #1260
It's a hard one to solve, likely related to having some control flow #2854.
The challenge is finding a model that performs well.

From my understanding, a custom type guard function solves the performance problem :wink:
Not sure if property access guards are needed.

A possible test case:
function getKind(node: Node): is VariableLikeDeclaration|SignatureDeclaration {
      switch(node.kind) {
            case SyntaxKind.Parameter:
            case SyntaxKind.PropertyDeclaration:
            case SyntaxKind.PropertySignature:
            case SyntaxKind.PropertyAssignment:
            case SyntaxKind.ShorthandPropertyAssignment:
            case SyntaxKind.VariableDeclaration:
            case SyntaxKind.BindingElement:
                 return 'VariableLike' is VariableLikeDeclaration;

            case SyntaxKind.FunctionType:
            case SyntaxKind.ConstructorType:
            case SyntaxKind.CallSignature:
            case SyntaxKind.ConstructSignature:
            case SyntaxKind.IndexSignature:
                return 'Signature' is SignatureDeclaration;
     }
}

switch(getKind(node)) {
       case 'VariableLike': // node narrows to VariableLikeDeclaration
           return visitNodes(cbNodes, node.decorators) ||
                    visitNodes(cbNodes, node.modifiers) ||
                    visitNode(cbNode, node.propertyName) ||
                    visitNode(cbNode, node.dotDotDotToken) ||
                    visitNode(cbNode, node.name) ||
                    visitNode(cbNode, node.questionToken) ||
                    visitNode(cbNode, node.type) ||
                    visitNode(cbNode, node.initializer);
       case 'Signature': // node narrows to SignatureDeclaration
                return visitNodes(cbNodes, node.decorators) ||
                    visitNodes(cbNodes, node.modifiers) ||
                    visitNodes(cbNodes, node.typeParameters) ||
                    visitNodes(cbNodes, node.parameters) ||
                    visitNode(cbNode, node.type);
}

Would be neat if ~ that worked:
https://github.com/Microsoft/TypeScript/blob/master/src/compiler/parser.ts#L45

@jbondc I think #1260 is referring to property access type guards. What I meant was property access expressions together with instanceof/typeof/type-guard-functions.

As @jbondc points out, properties are not narrowed, only identifiers. You are right that #1260 is for something different though, treating property accesses as a kind of type guard, versus enabling properties to be narrowed by a type guard.
To enable this though, we'd have to make sure that the type guard target is not only the same property as the one you are trying to narrow, but accessed off the same object. So the following would not be narrowed:
let a: {
    b: A | B
};
let a2: typeof a;
let b = a.b instanceof B && a2.b.propB; // Should not narrow

We would have to make sure all identifiers in the property access are the same as the one being narrowed.
This is easy to work around though, if you put a.b in a local first.

I think there are still some uncertainty whether we should treat type predicates as a new type or as an another signature property.
Here is just a copy paste of a comment I made in the parser that could be useful:

@JsonFreeman suggested something similar. Though I think the problem here is that there are different views of the problem. Should we treat type predicates as types or not? Seems like you want the parser to treat it as an another type but the checker as an another signature property?

I think to keep things consistent we should treat it both equal in the parser and checker. That means either as types or as a different signature property — a type predicate property.

At first, I thought type predicate was an another type. Because it occupies the same syntax space as return types. But after some re-thoughts it makes sense to treat it as another signature property, since it already implies a boolean type. (Also if we treat it as an another signature property — I would suggest to change the colon token : to something else to minimize confusion.)

Seems like some comments where deleted after my rebase of master. Here are a link to them https://github.com/tinganho/TypeScript/commit/373a776a7021a4f11f79e5f8fe6ae3cead57de8b#commitcomment-11492134.
Sorry for any inconvenience I made.

I think if you click "Files changed" above and then makes some comments. The comments will not be deleted on rebase. Then you comment on the PR instead of commits in my fork. @CyrusNajmabadi comments are still on this thread.

@tinganho  I see what you're saying.  The more i think about it, the more i think that "x is string" is not the right syntax we want for this.  Effectively, in english, what this feature is saying is:
"here's a function which returns a boolean.  If that boolean is true, then it implies that some parameter 'p' has a specified type."  Or, simplified
"A true return value means some parameter 'p' has a certain type"  Or, simplified
"true implies parameter 'p' has type"  or, simplfied
"true implies p is type"  or, simplified
true -> p is type
I'm not saying that this should be the final syntax.  But i'm definitely leaning toward something that is more explicit about what we're trying to say about this signature.  Things i like about syntax like this:

It is very obvious that the return type is actually a boolean.  "true" here acts similarly to our "string literal types" in signatures.  In this case though, "true" would be a boolean literal type.
There is a strong conveyance of what it means when the result is "true", namely that it now means that some specified parameter is narrowed to the provided type.

Right now, i think that p is type is just a little too odd to see in the return type location.  Both p and the type look like types.  And yet neither of them is actually the real type of the function.

function isFoo(a: Foo | Bar): true -> a is Foo { }

:+1: This does make things clearer.

@CyrusNajmabadi Definitely agree with that thinking, for the decorator, wonder if it would be more useful on the return expression:
function isFoo(a: Foo | Bar): true {
     @ReturnLiteralTypeNarrow(a,Foo)
     return true;
}

Think it means it work in switch statements?
function getKind(node: Node): string {
      switch(node.kind) {
            case SyntaxKind.Parameter:
            case SyntaxKind.PropertyDeclaration:
            case SyntaxKind.PropertySignature:
            case SyntaxKind.PropertyAssignment:
            case SyntaxKind.ShorthandPropertyAssignment:
            case SyntaxKind.VariableDeclaration:
            case SyntaxKind.BindingElement:
                 @ConstanValueNarrow(node,VariableLikeDeclaration)
                 return "VariableLike";

            case SyntaxKind.FunctionType:
            case SyntaxKind.ConstructorType:
            case SyntaxKind.CallSignature:
            case SyntaxKind.ConstructSignature:
            case SyntaxKind.IndexSignature:
                @ConstanValueNarrow(node,SignatureDeclaration)
                return "Signature";
     }
}

Or possibly:
function getKind(node: Node): "VariableLike" | "Signature" {
      switch(node.kind) {
            case SyntaxKind.Parameter:
            case SyntaxKind.PropertyDeclaration:
            case SyntaxKind.PropertySignature:
            case SyntaxKind.PropertyAssignment:
            case SyntaxKind.ShorthandPropertyAssignment:
            case SyntaxKind.VariableDeclaration:
            case SyntaxKind.BindingElement:
                 @ReturnLiteralTypeNarrow(node,VariableLikeDeclaration)
                 return "VariableLike";

            case SyntaxKind.FunctionType:
            case SyntaxKind.ConstructorType:
            case SyntaxKind.CallSignature:
            case SyntaxKind.ConstructSignature:
            case SyntaxKind.IndexSignature:
               @ReturnLiteralTypeNarrow(node,SignatureDeclaration)
               return "Signature";
     }
}

Not sure about implementation but what I like here is there's less notation fluff around the function.

Ahh this more elegant:
// Boolean enum
enum BooleanIdentityMap {
  FooType = true : Foo
}

function isFoo(a: Foo | Bar): BooleanIdentityMap {
     return BooleanIdentityMap.FooType;
}

// String enum
enum StringMapToType {
  [prop: string]: string;
  Signature: SignatureDeclaration,
  VariableLike: VariableLikeDeclaration,
}

function getKind(node: Node): StringIdentityMap {
      switch(node.kind) {
            case SyntaxKind.Parameter:
            case SyntaxKind.PropertyDeclaration:
            case SyntaxKind.PropertySignature:
            case SyntaxKind.PropertyAssignment:
            case SyntaxKind.ShorthandPropertyAssignment:
            case SyntaxKind.VariableDeclaration:
            case SyntaxKind.BindingElement:
                 return StringIdentityMap.Signature;

            case SyntaxKind.FunctionType:
            case SyntaxKind.ConstructorType:
            case SyntaxKind.CallSignature:
            case SyntaxKind.ConstructSignature:
            case SyntaxKind.IndexSignature:
                 return StringIdentityMap.VariableLike;
     }
}

An enum is a listing of constant values.
We can add a 'type hint' to an enum member, to map a constant value to a type.

Please do not rebase once you have sent out a pull request.

I think this will be easier to review if you remove all the stuff having to do with this where the type predicate name is undefined.

@JsonFreeman I will remove all reference to them.

Thanks @tinganho

@JsonFreeman I reverted back to your original idea with parseTypePredicateAndHigher and addressed your feedback. I also removed all references to type predicate target this.
I removed the new node links. Turns out that we didn't need them.
Though I didn't have time to fix the overload of signature problem. Don't know yet how to address that.

Thanks for all the iterating @tinganho. The signature overload problem is one that should be solved separately, not as part of this pull requests. We've known about it for a while, and need a more general solution anyway that is independent of type predicates.

One more thing. You will need to check that the parameter referenced by the type predicate is not a rest parameter.

I just added a restriction on type predicates signature declarations. Constructors, get/set accessors can't have type predicates. I also fixed some of the feedback.

Just added an error for referencing a top-level binding element. Also addressed all the other feedback.

Thanks @tinganho! After these last few minor tweaks, can you merge the upstream master branch into here? Then we can work on merging this in.

Let me know if I miss anything here, but wonder what happens in the following example?
function isB(b: any): x is B {...}

I would assume we will give an error in this case.Also could you add the case in the tests.

This feature would be better simplified as 'type narrowing by constant value'.
function isB(b: any): boolean {
   const isBoo = true is B;
   return isBoo;
}
// Or with const enums
const enum TrueThings {
    isB = true is B;
}
function isB2(b: any): boolean {
   return TrueThings.isBoo;
}
// Type narrowing by call expression that returns a type with an identity map of constants to types:
class C implements B {
}
let c = new C;
if(isB(c)) {
   // Function signature has an identityMap["true"] = C and C is assignable to identityMap["true"] ;
   c; // narrowed to B
}
// Type narrowing by property access:
class D implements B {
   isBoo = TrueThings.isBoo;
}
let d = new D;
if(d.isBoo) {
   // the constant value has an identityMap["true"] = C and C is assignable to identityMap["true"], narrow to B ;
}

Yes @yuit, that code would be an error. The function getTypePredicateParameterIndex would return -1 / undefined, and then we would issue the error at https://github.com/Microsoft/TypeScript/pull/3262/files#diff-c3ed224e4daa84352f7f1abcd23e8ccaR8680

@JsonFreeman. I see, Thanks :)

Awesome job @tinganho! Thank you for implementing this much requested feature!

Really cool to see this feature go in. Great work! :trophy:

thanks @JsonFreeman @RyanCavanaugh . :smiley:

I like this! thanks @tinganho

@tinganho Nice work!

prepares to re-write all the definition files
Nice work @tinganho!


Usage document needed

Hi there,
We have been asked by NIST to evaluate your algorithm, could you please tell us how you use the implementation with masks here?
It does not appear that there is any crossover between the part that generates the mask and the main part of the encryption. It would be helpful to give some examples, thank you!

Hi!
I have to admit that my documentation is quite succinct, so please do not hesitate to reach me out so that I can answer your questions and update the document accordingly.
Regarding the usage of the implementation, my understanding of the call for protected implementions is as follows:

First call generate shares encrypt() to generate the masks.
Then call crypto aead encrypt shared() to encrypt/authenticate the input.
Finally call combine shares encrypt() to get the resulting ciphertext/authentication tag without masking.

I should have time this week-end to update the document in order to include a sample main program, I will notice you when done.
Cheers,

Hi @itewqq
I added an example in the documentation on how to use the API proposed in the call for software protected implementations (according to my understanding).
Hope this help! If not please do not hesitate to come back to me.
Cheers,

@aadomn  I see, thank you very much! 🤝


:RubyBrowseGem refactor

Code of RubyBrowseGem function is kinda weird
@cuducos

Do you know is treesiter has a grammar for Gemfile?

Do you know if treesiter has a grammar for Gemfile?

I don't have idea

Just checked, it does…
Probably using tree-sitter grammar we can get the method nodes with gem and select their first argument : )

Just checked, it does… Probably using tree-sitter grammar we can get the method nodes with gem and select their first argument : )

Perfect


replace eye with I (UniformScaling) in experiment design notebook

https://github.com/JuliaOpt/JuMPTutorials.jl/blob/5f11c956c6184fcc5eb3825ede3998df6c3e48bd/script/modelling/experiment_design.jl#L59
"eye" is a Matlab-ism that is discouraged in Julia. @barpit20 Can you try putting I directly into the @constraint? It it doesn't work, please file another feature request on JuMP (or add to the Diagonal feature request).

@chriscoey I'm looking at it now, one possibility is to use Diagonal and keep the constraint expression more or less as-is, the second is to reformulate the constraint with direct slices instead of multiplying by a slice of I

Closing because I'm going to archive this repository.


openapi: fix nested params (#26894)

Check for 'object' in ['object', 'null']
How do I work this plz help

Add updated decorated files

arrays can also be null with this format

Co-authored-by: Rachael Sewell<EMAIL_ADDRESS>
arrays can also be null with this format

Co-authored-by: Rachael Sewell<EMAIL_ADDRESS>Co-authored-by: Rachael Sewell<EMAIL_ADDRESS>
Why:
Closes [issue link]

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[x] This pull request impacts the contribution experience

[x] I have added the 'writer impact' label
[x] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

My email is<EMAIL_ADDRESS>if anyone can help out cheers

Thank heaps


Add IVORY

IVORY (https://github.com/IVORY-UI/ivory) also one of the good framework, and you can consider to add in the list.

@kanthvallampati Thank you for this suggestion! I tested out the CSS on our example page, but most of the elements appear to be unstyled or only partially styled (see screenshot below):

This was using the CDN link, but I also tried the minified version in the dist folder with the same result.
Is there a version of Ivory that can be used as a classless / minimal stylesheet (in other words, without needing to add classes to the HTML elements)?

Closing as this does not appear to be classless CSS.


deploy-github-page fails if you use local paths in cargo.toml

As the title says, the deploy-github-page action fails if your cargo.toml has a local path dependency. Maybe this should have been obvious to me but it caught me off guard a bit as when you publish to crates.io it strips the local dependencies out and falls back to the published crate.
If this isn't really a bug it might at least be worth noting in the readme that you should remove local paths before publishing as the cause wasn't immediately obvious.

Failed output from the "Build release" step
Run trunk build --release --public-url "${GITHUB_REPOSITORY#*/}"
2022-08-31T08:00:[4](https://github.com/sarkahn/bevy_ascii_tetris/runs/8108815613?check_suite_focus=true#step:8:5)4.290680Z  INFO 📦 starting build
2022-08-31T08:00:44.2912[5](https://github.com/sarkahn/bevy_ascii_tetris/runs/8108815613?check_suite_focus=true#step:8:6)1Z  INFO spawning asset pipelines
2022-08-31T08:00:45.[6](https://github.com/sarkahn/bevy_ascii_tetris/runs/8108815613?check_suite_focus=true#step:8:7)56057Z ERROR ❌ error
error from HTML pipeline

Caused by:
    0: error getting cargo metadata
Error: error from HTML pipeline
    1: `cargo metadata` exited with an error: error: failed to get `bevy` as a dependency of package `bevy_ascii_tetris v0.1.0 (/home/runner/work/bevy_ascii_tetris/bevy_ascii_tetris)`

       Caused by:

Caused by:
    0: error getting cargo metadata
    1: `cargo metadata` exited with an error: error: failed to get `bevy` as a dependency of package `bevy_ascii_tetris v0.1.0 (/home/runner/work/bevy_ascii_tetris/bevy_ascii_tetris)`

       Caused by:
         failed to load source for dependency `bevy`

       Caused by:
         Unable to update /home/runner/work/bevy_ascii_tetris/bevy

       Caused by:
         failed to read `/home/runner/work/bevy_ascii_tetris/bevy/Cargo.toml`

       Caused by:
         No such file or directory (os error 2)
         failed to load source for dependency `bevy`

       Caused by:
         Unable to update /home/runner/work/bevy_ascii_tetris/bevy

       Caused by:
         failed to read `/home/runner/work/bevy_ascii_tetris/bevy/Cargo.toml`

       Caused by:
         No such file or directory (os error 2)

We can add it to the readme for sure.
I am wondering if it is possible somehow to tell cargo to build with priority for non-local paths. A quick search in the docs didn't show any options.

Looking at this again, it really seems like normal behaviour. The workflow is making a build just like the other workflows, which should fail with the same issue if you try using local dependencies.
I agree that the error is not optimal, but it does make obvious where it is trying to find the dependency (No such file or directory for /home/runner/work/bevy_ascii_tetris/bevy).
I added a note to the readme.


How can we help?
I would like someone else to build the manifest.
Please read and ensure the following

[X] The installer meets the above requirements

Please provide the following information
Download Page Url: https://tinysa.org/wiki/pmwiki.php?n=Main.PCSW
Publisher: kaashoek.com
Package Name: tinySA
Description: PC control app for tinySA spectrum analyzers.
Package Version: latest
Installer URL: http://athome.kaashoek.com/tinySA/Windows/tinySA-App.exe

(I am not sure, but the exe is probably a portable type app.)


Fix php artisan api:routes

This fix deals with the error reported on the bug #1770, is caused by a function added on https://github.com/laravel/framework/commit/d9e28dcb1f4a5638b33829d919bd7417321ab39e, the flushMiddlewareGroups function was added to be compliant with Foundation/Console/RouteListCommand.php handle function.

Hey @gonpre  thanks for this fix!
Will tag in next release


Implement correct planet size calculation when creating a new planet

Currently when a new planet is created a random planet size is chosen based on this logic in PlanetServiceFactory::createPlanet():
        $planet->field_max = rand(140, 250);

So currently the planet size is fully random and does not take into account any other information.
The official game however implements certain rules for a small or big a planet can become based on the position of the planet. Up-to-date information can be found here: https://ogame.fandom.com/wiki/Planet_Size.
Todo:

Change the planet size calculation logic to conform to how the official game works.

Fixed by #507.


npm dependency

I've got this warning while installing:
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.10.x","npm":"1.2.x"} (current: {"node":"0.10.26","npm":"2.7.0"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.10.x","npm":"1.2.x"} (current: {"node":"0.10.26","npm":"2.7.0"})

Does it really need npm to be in version 1?

Nope, this was (unfortunately) automatically generated by the npm init.
However, I deprecated this package so I won't solve this, as it's only a (rather common) warning.


Load Data has an issue with erased drawing

Hi,
I am using Ci Drawing Library, its amazing for sure.
I am facing a little bit problem with loadDrawing method.
What I am Doing ?
1- I draw some shape on Drawing View
2- Erase some path/points of that drawing
3- I Saved that drawing using saveDrawing Method
4- I called loadDrawing Method, It has an issue that the erase data got filled with black color.
I have then again tried this scenario in our sample app, the result is same there too.
Please fix this as soon as possible. Regardless this issue, everything is working fine in my case.
Regards,
Faran Iqbal.

@faran432 issue has been fixed by https://github.com/mocircle/cidrawing/commit/5dddc247d51e7ee49d499c1ba8747f72f79974d7

@ruochao  Thanks man, Appreciate that.


Add new pricing API for end user

[ ] Create new controller - PricingApiController
[ ] add a new method - getServicePriceByFlavor -> /service/pricing/${templateId}/${region}/${flavorName}/${billingMode}
[ ] Return the new modal Price as response.
[ ] Price to be calculated in the corresponding CSP plugin.
[ ] As part of this user story, implement returning the fixedPrice only.

I will take it.

I‘ll fix this.


Memory Leaked

put the MKLoader in a dialog, then there is a memory leak. There's a callback reference to view and not release it.

Hi @MouseKing1993,
The fixed version will be released next week.
Thanks,

Released version 1.2.0 that fixes memory leak.


Add live reload watcher

Could be fine if we have a watcher using using socket.io.
Gulp watch must to send an event to front end.

This is only for development mode


Failed to activate service 'org.bluez'

Traceback (most recent call last):   File "/usr/local/bin/nxbt", line 8, in <module>     sys.exit(main())   File "/usr/local/lib/python3.8/dist-packages/nxbt/cli.py", line 325, in main     demo()   File "/usr/local/lib/python3.8/dist-packages/nxbt/cli.py", line 152, in demo     adapters = nx.get_available_adapters()   File "/usr/local/lib/python3.8/dist-packages/nxbt/nxbt.py", line 645, in get_available_adapters     adapters = find_objects(bus, SERVICE_NAME, ADAPTER_INTERFACE)   File "/usr/local/lib/python3.8/dist-packages/nxbt/bluez.py", line 78, in find_objects     bus.get_object(service_name, "/"),   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object     return self.ProxyObjectClass(self, bus_name, object_path,   File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 250, in __init__     self._named_service = conn.activate_name_owner(bus_name)   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 182, in activate_name_owner     self.start_service_by_name(bus_name)   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 277, in start_service_by_name     return (True, self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,   File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking     reply_message = self.send_message_with_reply_and_block( dbus.exceptions.DBusException: org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.bluez': timed out (service_start_timeout=25000ms)
Has anyone ran into this situation?

Not sure if the bluetooth service needs to be running. Anytime I try and start it this is the result.
I did however run these commands and it then the bluetooth service was able to start up
sudo rmmod btusb
sleep 1
sudo modprobe btusb
But then nxtb just stops working and says it cannot find any bluetooth adapter

The solution was unplugging the bluetooth usb and then back in.


Running experiments/measurement on the Rescaled Dot-Product

The README currently claims that it keeps attention sparse and improves training stability (there is already a config option to turn it on and off/play with the rescaling constant). It would be good to show this data, as well as try implementing it with normal transformers (say GPT2) where I think it should actually mildly improve scaling performance as the dot products won't get pushed into low gradient areas of the softmax.
I think these experiments would go well in a folder named "Experiments" in the repo or something along those lines.

I'm not a fan of the rescaled dot-product as it seems like a clunky solution, would be better just use ELU + 1 for stability or try a different approach entirely. An experiments folder has also already been created


KHPC Patch Manager on Steam Deck/Linux

I try to run the Patch manager through Lutris and Steam on deck, itll open for a second then immediately closed. I believe it's a dependency im missing, but im just not sure which one it would be. Any advice/help?

Version: <IP_ADDRESS>
Epic Games Official Version

Hey, sorry, but the tool is meant to be ran on Windows only.
I don't own a Steam Deck and I have no idea what Lutris is or does, so I have no way to try and reproduce this on my side.
That being said:

I assume you're trying this with the latest released executable? Have you tried compiling the tool yourself, targetting Linux as the platform?
I also assume you're "double-clicking" the executable, which tries to open the GUI for the tool, maybe that's something that cannot be done on Linux. Have you tried running the tool in command mode through a terminal?

Lutris is a Linux game manager that has integrations with Wine and several game services like Steam.
https://en.wikipedia.org/wiki/Lutris
Here's my output using the latest with .NET 4.0, 4.5, and 4.8, and .NET 5.0 runtime from here installed.
wine KHPCPatchManager.exe
002c:fixme:winediag:loader_init wine-staging 8.18 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:wineusb:query_id Unhandled ID query type 0x5.
0098:fixme:wineusb:query_id Unhandled ID query type 0x5.
0098:fixme:wineusb:query_id Unhandled ID query type 0x5.
0098:fixme:wineusb:query_id Unhandled ID query type 0x5.
0098:fixme:wineusb:query_id Unhandled ID query type 0x5.
012c:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"KHPCPatchManager.exe" cannot be loaded
012c:err:module:loader_init Importing dlls for L"Z:\\home\\sleetixia\\Downloads\\KHPCPatchManager.exe" failed, status c0000135

I'm not sure if there's a winetricks thing I'm missing, but I thought the dotnet ones should have covered it. I get the same error when running in Wine with Mono.
And double-clicking should work just fine for opening graphical programs. It generally works fine for Windows executables run through Wine too as long as they don't have any errors.

Hey @RoseIlanga, I've split this into its own issue: https://github.com/AntonioDePau/KHPCPatchManager/issues/38
Please have a look there.

I can't really find much on this, but it seems like the .NET installers aren't installing the mscoree.dll file for some reason, so .NET programs are failing.

Okay, I commented over there. I should have made it clear I wasn't running through Lutris, though. (I just commented since I wasn't sure if or when the original poster would comment.)
I've also been trying to compile KHPCPatchManager on my computer to see if that works any better, but I've been having trouble with that. I don't know if I should open an issue for that.


[Bug]: Remove Scrollbar from Dropdown Menu in Navbar

Issue Title: Bug - Remove Scrollbar from Dropdown Menu in Navbar
Issue Description:
I've identified a bug in the project's navigation bar where a scrollbar appears within the dropdown menu. This issue affects the aesthetics and functionality of the menu, and it's important to remove the scrollbar for a smoother user experience.
Bug Details:

Location: The dropdown menu in the project's navigation bar.
Issue: Unwanted scrollbar appearance.

Actual Behavior:
The dropdown menu currently displays a scrollbar, which affects the visual consistency and user experience.
Screenshots:

/assign

Yeah we can try and see if that works @purnasth


Any plan support ViTDet?

Describe the feature
support ViTDet project.
Motivation
There is a recent paper https://arxiv.org/abs/2203.16527 which is very helpful for Object Detection
Related resources
If there is an official code release or third-party implementations, please also provide the information here, which would be very helpful.
Additional context
Add any other context or screenshots about the feature request here.
If you would like to implement the feature and create a PR, please leave a comment here and that would be much appreciated.

Yes, we have a plan to support ViTDet in mmdetection..

Fine, maybe next release?I'm looking forward to it！