fix(dashboard): include ingresses field when updating a run service

User description
fixes https://github.com/nhost/nhost/issues/2797

PR Type
Bug fix, Enhancement

Description

Added removeTypename helper function to sanitize input values in ServiceForm.
Included ingresses field in the ports mapping in ServiceForm and ServicesList.
Updated the validation schema in ServiceFormTypes to include and allow nullable ingresses field.
Added a changeset file to document the inclusion of the ingresses field.

Changes walkthrough 📝
Relevant filesEnhancement

ServiceForm.tsxSanitize input values and include ingresses field in ServiceForm

dashboard/src/features/services/components/ServiceForm/ServiceForm.tsx
Added removeTypename helper function to sanitize input values.  Included ingresses field in the ports mapping.  Updated the getFormattedConfig function to use sanitized values.

+19/-13

ServiceFormTypes.tsAdd ingresses field to validation schema in ServiceFormTypes

dashboard/src/features/services/components/ServiceForm/ServiceFormTypes.ts
Added ingresses field to the validation schema.  Made ingresses field nullable.

+7/-0

ServicesList.tsxInclude ingresses field in ServicesList ports mapping

dashboard/src/features/services/components/ServicesList/ServicesList.tsx

Included ingresses field in the ports mapping.

+1/-0

Documentation

short-radios-retire.mdAdd changeset for ingresses field update

.changeset/short-radios-retire.md
Added changeset for including ingresses field when updating run services.

+5/-0

💡 PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

/review


I am not able to continue playing when the app is swiped away.

I am not able to continue playing when the app is swiped away.
My service looks like this:
public class PlayerService extends MediaSessionService {
    private static final String TAG = "PlayerService";
    private MediaSession mediaSession = null;

    @Override
    public void onCreate() {
        super.onCreate();
        ExoPlayer player = new ExoPlayer.Builder(this).build();
        mediaSession = new MediaSession.Builder(this, player)
                .setSessionActivity(getMainIntent()).build();

    }

    @Override
    public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
        return super.onStartCommand(intent, flags, startId);
    }

    private PendingIntent getMainIntent() {
        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        intent.putExtra(Common.isPlaying, mediaSession != null && mediaSession.getPlayer().isPlaying());
        return PendingIntent.getActivity(this, 0,
                intent, PendingIntent.FLAG_UPDATE_CURRENT | (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ?
                        PendingIntent.FLAG_IMMUTABLE : PendingIntent.FLAG_UPDATE_CURRENT));
    }

    @Nullable
    @Override
    public MediaSession onGetSession(@NonNull MediaSession.ControllerInfo controllerInfo) {
        return mediaSession;
    }

    @Override
    public void onTaskRemoved(Intent rootIntent) {
        super.onTaskRemoved(rootIntent);
        Player player = mediaSession.getPlayer();
        if (!player.getPlayWhenReady()
                || player.getMediaItemCount() == 0
                || player.getPlaybackState() == Player.STATE_ENDED) {
            stopSelf();
        }
    }

    @Override
    public void onDestroy() {
        if (mediaSession != null) {
            mediaSession.getPlayer().release();
            mediaSession.release();
            mediaSession = null;
        }
        super.onDestroy();
    }
}

My MainAcitivty:

    @Override
    protected void onStart() {
        super.onStart();
        SessionToken sessionToken = new SessionToken(this,
                new ComponentName(this, PlayerService.class));
        controllerListenableFuture = new MediaController.Builder(this, sessionToken).buildAsync();
        controllerListenableFuture.addListener(() -> {
            try {
                player = controllerListenableFuture.get();
                player.addMediaItem(media); //media created from uri
                player.prepare();
                player.play();
            } catch (ExecutionException | InterruptedException e) {
                throw new RuntimeException(e);
            }
        }, MoreExecutors.directExecutor());
    }

Whenever I close the app, playback stops, and the notification disappears. How do I keep the player running in the background?
Originally posted by @colorgold in https://github.com/androidx/media/issues/389#issuecomment-2192874277

If you add logging, do you see control flow entering the if inside onTaskRemoved when you close the app? If so, which of the 3 OR'd conditions is true to result in that happening?
If you don't see control flow entering that if, do you see anything in logcat to indicate why your service is being stopped?

I added the following logs in the PlayerService:
@Override
    public void onTaskRemoved(Intent rootIntent) {
        super.onTaskRemoved(rootIntent);
        Log.d(TAG, "PlayerService: onTaskRemoved called");
        Player player = mediaSession.getPlayer();
        if (!player.getPlayWhenReady()
                || player.getMediaItemCount() == 0
                || player.getPlaybackState() == Player.STATE_ENDED) {
            Log.d(TAG, "PlayerService: onTaskRemoved: Service will be stopped");
            stopSelf();
        }else{
            Log.d(TAG, "PlayerService: onTaskRemoved service continues");
        }
    }

@Override
    public void onDestroy() {
        Log.d(TAG, "PlayerService: onDestroy called");
        if (mediaSession != null) {
            mediaSession.getPlayer().release();
            mediaSession.release();
            mediaSession = null;
            Log.d(TAG, "PlayerService: onDestroy: service destroyed");
        }
        super.onDestroy();
    }

When I close the application while the media is playing, the control flow never enters the if statement, but the service gets destroyed. It only enters when the media is not playing, as expected.
In MainActivity I added a button that controls playback:
private void togglePlay() {
        if (player.isPlaying()) {
           player.pause()
        } else {
            player.play()
        }
    }

Logcat shows this error when I press play:
MediaResumeListener     com.android.systemui             E  Cannot resume with ComponentInfo{com.murcianys.micaster/com.murcianys.micaster.services.PlayerService}

When I remove the app from recents while playing and then I reopen and press play again, I get these in logcat
MediaResumeListener     com.android.systemui                 D  Testing if we can connect to ComponentInfo{com.murcianys.micaster/com.murcianys.micaster.services.PlayerService}
2024-06-28 18:46:35.127  1972-2072  ResumeMediaBrowser      com.android.systemui                 D  Service connected for ComponentInfo{com.murcianys.micaster/com.murcianys.micaster.services.PlayerService}
2024-06-28 18:46:35.128  1972-2072  MediaResumeListener     com.android.systemui                 D  Connected to ComponentInfo{com.murcianys.micaster/com.murcianys.micaster.services.PlayerService}
2024-06-28 18:46:35.130  1972-2072  ResumeMediaBrowser      com.android.systemui                 D  Subscribe error for ComponentInfo{com.murcianys.micaster/com.murcianys.micaster.services.PlayerService}: androidx.media3.session.MediaLibraryService

I added a screen recording for reference.
https://github.com/androidx/media/assets/45986859/b11dda3e-57b7-4328-b39c-a0fefde3cf50

Please can you capture an adb bugreport shortly after reproducing the issue (including your additional logging) and either upload it here or send it to<EMAIL_ADDRESS>with the subject Issue #1507.

dumpstate-2024-07-02-17-08-51.zip
I've attached a zip file of the report. Thanks for the help!

This line from the BR makes it look like your service crashed (but I can't see any stack trace or similar before that to indicate what would have caused the crash):
07-02 17:08:44.821  1000  1039  2511 W ActivityManager: Scheduling restart of crashed service com.murcianys.micaster/.services.PlayerService in 1000ms for start-requested

Looking elsewhere, it also seems like the service is stopped ~2s before that:
07-02 17:08:42.961  1000  1039  1109 I am_foreground_service_stop: [0,com.murcianys.micaster/.services.PlayerService,1,PROC_STATE_TOP,34,34,0,0,8261,1,STOP_FOREGROUND,2]

And then the same restart is logged:
07-02 17:08:44.821  1000  1039  2511 I am_schedule_service_restart: [0,com.murcianys.micaster/.services.PlayerService,1000]

I noticed the BR is from a Samsung A51. Does the same issue reproduce on a Pixel device or an emulator created from Android Studio? I wonder if your service is being killed by some background battery saving logic added by Samsung: https://www.samsung.com/us/support/troubleshoot/TSG10001536

This line from the BR makes it look like your service crashed (but I can't see any stack trace or similar before that to indicate what would have caused the crash):
07-02 17:08:44.821  1000  1039  2511 W ActivityManager: Scheduling restart of crashed service com.murcianys.micaster/.services.PlayerService in 1000ms for start-requested

Looking elsewhere, it also seems like the service is stopped ~2s before that:
07-02 17:08:42.961  1000  1039  1109 I am_foreground_service_stop: [0,com.murcianys.micaster/.services.PlayerService,1,PROC_STATE_TOP,34,34,0,0,8261,1,STOP_FOREGROUND,2]

And then the same restart is logged:
07-02 17:08:44.821  1000  1039  2511 I am_schedule_service_restart: [0,com.murcianys.micaster/.services.PlayerService,1000]

I noticed the BR is from a Samsung A51. Does the same issue reproduce on a Pixel device or an emulator created from Android Studio? I wonder if your service is being killed by some background battery saving logic added by Samsung: https://www.samsung.com/us/support/troubleshoot/TSG10001536

I followed the steps in the link you provided, specifically #2 Remove the app from Sleeping apps. My app was listed in the Sleeping apps section, so after removing it, the notification works in the background.
I had the app installed on the phone long ago and just came back to work on it. The device has a setting that puts unused apps to sleep which caused the service to stop.
Thanks for the help!

Great, glad you got it sorted.


usm: sharedlibraries: Handle open(2) syscall

What does this PR do?
We currently only handle shared libraries being opened with openat(2) and openat2(2), which works fine with glibc, but musl (default on Alpine Linux, for example) uses open(2) so handle that too.

Motivation
https://datadoghq.atlassian.net/browse/USMON-989

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
Test cases are included in the PR.

/merge


HDFS-15889. Erasure Coding: Limit the number of concurrent EC Reconstruct blocks in NameNode

2771

 Quality gate: Failed
12 Issues

 1 Vulnerabilities
 11 Code issues

Details

 Quality gate: Failed
10 Issues

 1 Vulnerabilities
 9 Code issues

Details


Tracking issues of golang binding

The successor of #3205.
These are the tracking issues for opendal's golang binding. Please feel free to leave comments to select a task or add more tracking.

[ ]  Add contributing docs for golang
[x] Add CI for golang
[x] Implement opendal basic operations. https://github.com/apache/opendal/pull/4886

[x] stat
[x] delete
[x] read

[x] reader

[x] write
[x] lister
[x] copy
[x] rename

[x] Implement testing framework. https://github.com/apache/opendal/pull/4886
[ ] Manage the binary release repository

[x] CI for automatic release and tag version for pre-build binary like libopendal_c.so. https://github.com/apache/opendal-go-services/pull/2/files, https://github.com/apache/opendal-go-services/pull/7
[ ] Behavior tests for more services integration.

[ ] Add cross-platform support for Windows and Mac to JupiterRider/ffi.

[ ] Windows support
[ ] Darwin support

[ ] Enhance OpenDAL APIs for the bedrock C-Binding and Go-Binding.

[ ] Writer.
[ ] ...(add more here)

[x] Conduct benchmarking for Go-Binding from CGO to Native. https://github.com/apache/opendal/pull/4893

@Xuanwo Hi I think it is ready to release the first version since https://github.com/apache/opendal-go-services/pull/7 is merged.
The remaining task is to decide which services need to be released, and then you can launch a version :)

@Xuanwo Hi I think it is ready to release the first version since apache/opendal-go-services#7 is merged.
The remaining task is to decide which services need to be released, and then you can launch a version :)

Thanks a lot! Would you like to add a release workflow in this repo? We can release go binding our next release.

Ok, I'll see what I can do later.

Ok, I'll see what I can do later.

Thank you in advance, the father of OpenDAL for Golang.

It seems that we have not added formatting checks for the Go code in CI. How about using goimports directly?

I recommend using https://github.com/golangci/golangci-lint-action.


missing etcpack.cpp

missing etcpack.cpp in the root dir

It should be generated by cython during installation


Add contact Us page

Description
after: https://contactpage--dx-portal--adobe.hlx.page/contact

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

merging as the live page has greater Score


[New game]: Menja Smashers

🎮 Game Request
Player needs to smash the blocks/cubes through swiping the mouse.

Point down the features
score will increase as the blocks are smashed.
high score will be updated accordingly.
if a block is missed, "GAME OVER".
some special cubes are there to slower the time for player.
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @chinmayjain08 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @chinmayjain08 ! , This issue is already assigned to @chinmayjain08. 💗
You can work on other issues 🚀
If there is anything wrong you can contact us on Discord🕹👀

Hey @chinmayjain08 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇

#191 is good to merge with no conflicts.


feat(madara): add immortalupdates closes Skittyblock/aidoku-community-sources#532

Checklist:

[x] Updated source's version for individual source changes
[ ] Updated all sources' versions for template changes
[x] Set appropriate nsfw value
[ ] Did not change id even if a source's name or language were changed
[x] Tested the modifications by running it on the simulator or a test device

remember to mention the issues that it closes in the description, not the title, otherwise it doesn't actually link them


Deletion of accounts that were not activated

After two months delay accounts, which never have been activated should be deleted automatically.

This should be easily done by choosing a cron/periodic job module (any one that seems to be maintained to would with new Node.js versions and has enough usage).
Later on a job could either be registered with starting the backend service or a standalone script could be used for that. It does not really have to have much insight into the logic of the system, just to have the database connection and ability to run a simple query that would purge any accounts that fit certain condition (the connection could even be established each time that job starts and terminated as soon as it finishes).
The standalone solution seems to be better as it would not cause issues in case of running multiple instances as a cluster.


Emit PluginResponse objects instead of plain janus messages in plugin.emit('message')

Currently when we return from plugin.sendWithTransaction an instance of PluginResponse, which has very nice methods to access fields from plain janus messages. On the other hand we emit plain janus messages on message events. Inconsistency.
It's an opened discussion and I welcome here any opinion.
@zazabe ?

agree
wondering if we should not have a Response object for any kind of transaction (connection / session / plugin)...
maybe Transaction.prototype.execute($plainResponse) could call callback(new Response($plainResponse))?
It could be useful to keep specific Response object for connection / session / plugin, so maybe we could introduce ConnectionTransaction / SessionTransaction / PluginTransaction, then each will instantiate a specific type of response.
Basically, those specific Transaction will just differ from the type of Response, so we could simply pass the Response type during this instantiation, but I still think it's more understandable if we use specific Transaction...
wdyt?

@zazabe please review

@zazabe please hold a bit. I'm gonna add another commit

@zazabe please review

I agree that JanusMessage.getMessage is not so good method name :( Shall we name it getPlainMessage?

getPlainMessage 👍

@zazabe please review

@zazabe please review

lgtm


AGCORDOVA-159 : Use readline module in androidBeforeInstall.js

I used the readline module to read the lines a more reliable way.

@edewit @jcesarmobile mind doing a review ?

The code looks good, but will test it later on a W10 machine

Hi.
I've tested with your code, but I'm getting this error:

Error: cmd: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

Where:
Script 'C:\Users\jcesar\Documents\proyectos\cordova\tests\AerogearTest2\platforms\android\aerogear-cordova-push\aerogear-dependencies.gradle' line: 15

What went wrong:
A problem occurred evaluating root project 'android'.

Plugin with id 'com.google.gms.google-services' not found.

That's strange ... This is the error I had before changing the script.
I had this message because the dependencies were not set correctly in build.gradle file. They were appended to the end of the file and not in the "dependencies" section.

You are right, with the current implementation it's appended to the end, but with your change it's not appended at all. There is no com.google.gms.google-services in the build.gradle when I use your version of the plugin

ok, found the problem, the file is being copied before being closed.
I've sent a PR to your repo with a fix

Hey, sent you another PR, it was failing to install in node 0.10.x

Now it works fine on mac and windows even with old node versions. Thanks for the PR!


Botly Conversation

Is there a sample of conversation with bot / chain message using Botly? Cant find it in examples folder
For example
it will ask my name, save the value i entered then trigger next question and so on.

Hi again @ryancabansag 😃 ,
At least to store locally user info you have
let users = {};
at the top of your code and somewhere on your code do this :
botly.getUserProfile(sender, function (err, info) {
console.log('info = ' + JSON.stringify(info));
users[sender] = info;
});
So you will have current user info, ID , first name and all and you will be able to use it everywhere and if you want, later, store it into a database (I advice MongoDB for this).
Now for the Trigger, there is no exemple... But i think you could do something like (without the getUserProfile) :

botly.on message
check if something is storred into user[sender].first_name
if no {
// A function that contain :

Ask name
Store it in something like
user[sender].first_name = {query}
then, Trigger question function
}

if yes {
// Question function
Something like :
 botly.sendText({id: sender, text:'some question?', quick_replies: [botly.createQuickReply('option1', 'option_1')]}, function (err, data) {               console.log('send generic cb:', err, data);           });
(Credits : https://github.com/miki2826/botly/blob/master/example/app.js)
}

But i don't really now in fact, i didn't tried it yet 😅
It's not the best code in the world but i think it could work !
I hope it works and it helped 👍

thanks @aellanglet but i meant a conversation example like chain question. for Example. when a user chat the bot, the bot will ask. What is your name? then you will store the name, the bot will wait for an answer then if the user will answer then the bot will proceed to the next question, What is your age?.. something like that... or something like your answer on the first question will be passed to the next dialog.. some of the package provides that but i want botly as my package because the documentation of the functions are complete.. its just that its lacking the example of a conversation with bot..

I have the Same question !!

I tried something like this :
botly.on("message", function(senderId, message, data) {   console.log(data);   botly.sendText({     id: senderId,     text: 'your age ?'   }, function(err, age) {     console.log(age);     var age = age.text;     botly.on("message", function(senderId, message, data) {       botly.sendText({         id: senderId,         text: 'your gender ?'       })     })   }) })
but it won't work, cause when you respond at the first one, the first question + the second are triggered.
Seems that you have to trigger a button or quickreply to have a payload and handle it.
Like : what is your age ? (answer)
a button to confirm with a payload that trigger an another question like :
what is your gender ?
and you can maybe trigger some quickreplies and continue like this... And it's better for the user experience, if you have buttons to confirm or to ask question again.
If you find an another answer, i'll be happy to hear it hahaha 👍


Pyspark script for amending table after full load

Hi Bert,
Hope youre well. And thanks for creating this solution as it has helped me and my team immensely.
We used the Fabric Lakehouse version from your solution to pull data/tables from BC. I used the 'CopyBusinessCentral.ipynb' script to do a full load of our tables which was a success.
Issue:
We are now trying to make changes to your script mentioned above so as to update our lakehouse tables with delta .csv files that are exported from BC.  I tried to replace the code 'Overwrite' with 'Append' (ss attached: https://github.com/user-attachments/assets/a580b1d4-c92d-46ad-9de2-121517a49eb3)
BUT it didnt work as it adds deleted rows (NULL values) and additional updated rows (DUPLICATES) to our Fabric table.
After a good few days spent with no success, would u be able to help us out with the following or point us in the right direction?

If any existing row in BC table is updated, our Lakehouse table needs to reflect this change. (data pulled through delta .csv file )
Deleted rows have to be removed from Lakehouse table.

N.B. we are pulling data from multiple companies into one table in Fabric Lakehouse which has worked perfectly for a full load so far.
Thank you in advance.
Kind regards,
Zeb

@ZYasinn thanks for your words!
In this case you cannot use the append function and you can only use the overwrite function. This is because.
When there is data in the table we put that data into the dataframe. Then we take everything from the delta .csv files.
After all this is in the dataframe we first remove the deleted items.
Then we are going to sort on SystemModifiedAt and SystemId and remove all the duplicates.
Then we have a represent of the BC table in an dataframe and overwrite the exciting table with that dataframe.
That is why we do an overwrite and not an append. Because we need also the old records.
So not sure why you want to use an append in this case.
You can use it. But then you need after your append the same logic as described above.

Closed beacuse no respond. Please reopen this isseu when it is still there.


Implement filename disambiguation for scene tabs and script names

Fixes #20029
Script names and scene tab names should now properly disambiguate in the editor.
You can download this test project which demonstrates this feature if you would like to quickly test that this works. disambiguation-repro.zip The results of running this test project are shown below.

I implemented a function that takes in a vector of names and the corresponding vector of full paths and modifies the name vector in place in order to disambiguate any name collisions. I do this by prepending parent folder names to the filename until no more names collide. I made this a static function within EditorNode called EditorNode::disambiguate_filenames, though I would be more than happy to move it if someone thinks there is a more appropriate location. I then call this function from ScriptEditor::_update_script_names and EditorNode::_update_scene_tabs.
Note that in this revision, filtering the names of scripts from within the editor matches against the full, disambiguated filenames, which I thought was the most logical solution. Please feel free to yell at me if you think only the base script name should be matched when filtering.
This is a reimplementation of my closed PR #20930 which I left unfinished some time ago (I apologize, @akien-mga !) I aimed to make this rendition more robust and streamlined, as well as better documented.
Please let me know what you think and if anything looks out of the ordinary!

There are some warnings:
editor/plugins/script_editor_plugin.cpp: In member function 'void ScriptEditor::_update_script_names()':
editor/plugins/script_editor_plugin.cpp:1737:12: error: declaration of 'i' shadows a previous local [-Werror=shadow=local]
 1737 |   for (int i = 0; i < sedata.size(); i++) {
      |            ^
editor/plugins/script_editor_plugin.cpp:1675:11: note: shadowed declaration is here
 1675 |  for (int i = 0; i < tab_container->get_child_count(); i++) {
      |           ^
editor/plugins/script_editor_plugin.cpp:1744:12: error: declaration of 'i' shadows a previous local [-Werror=shadow=local]
 1744 |   for (int i = 0; i < sedata.size(); i++) {
      |            ^
editor/plugins/script_editor_plugin.cpp:1675:11: note: shadowed declaration is here
 1675 |  for (int i = 0; i < tab_container->get_child_count(); i++) {
      |           ^

There are some more style issues, mostly trailing whitespace, see https://travis-ci.org/github/godotengine/godot/jobs/691632557
You can apply clang-format locally to fix those: https://docs.godotengine.org/en/latest/community/contributing/code_style_guidelines.html

Thanks @akien-mga, my next push should fix these problem.

Hey everyone, I pushed a small fix to the disambiguate_filenames function. I was erasing an iterator from inside the for-loop before incrementing. I edited lines 237-276 if you are interested in taking another look. I left comments on the commit as to what I changed. @groud

Per Godot convention, filenames should be renamed to r_filenames and full_paths to p_full_paths. Also, I think the full_paths parameter can be made into a reference?

These changes are still needed.

Also, should the out parameter be the last one? I don't remember if we have a convention that requires this.

I don't know. I guess that's what I'd do, but I don't think we have a clear rule yet.

@akien-mga Fixed the naming convention with my latest commit!

Thanks!

Cherry-picked for 3.2.3.


Implement Interface, Enum, Property and Type  code generators.

Merging the code in to avoid merge conflicts. Please leave your comments and I will address them in another PR.


[HTML5] openfl.display.SimpleButton cant be disabled

Hi! I tried to disable a button, but code
button.enabled = false;
has no effect...
also, i tried to do this:
button.mouseEnabled = false;
but it brings no effect too.
OpenFl/Lime 8.6.4/7.1.1
Thanks!

upd: i solved this problem by adding an if() to __hitTest methood:
@:noCompletion private override function __hitTest (x:Float, y:Float, shapeFlag:Bool, stack:Array<DisplayObject>, interactiveOnly:Bool, hitObject:DisplayObject):Bool {

		if (!enabled || !mouseEnabled)
			return false;

but not sure, that its good, and will not bring an another problems :)

Not sure if that !enabled part of your if check is a good idea idea. it would most likely break  mouse events. in Flash you can still add eventListeners and listen to mouse events even if the  button.enabled is set to false.  this boolean only disable the buttonState (up, over, down) change as far as i know.
(this us useful if you want to show a tool-tip etc for a disabled button)
__hitTest  is an "internal" function as far as i can tell,  and its used  by Stage in __onMouse which again test all children  with if (__children[i].__hitTest (x, y, shapeFlag, stack, false, cast __children[i])) { so by overriding it and adding your if check you effectively prevents stage from detecting hits and dispatching MouseEvents.
(note that i have not tested this, its just how i interpretate the code)

I have done some quick testing, and it looks like its mouseEnabled  that's not working properly.
I would suggest moving the following line out of the if-else (maybe put it above the first if) so that interactiveOnly && !MouseEnabled is checked in all  hitTest situations.
if (!hitObject.visible || __isMask || (interactiveOnly && !mouseEnabled)) return false;

https://github.com/openfl/openfl/blob/develop/src/openfl/display/SimpleButton.hx#L307
any thoughts @jgranick

Thanks, it ineresting... I did as u say, and it works fine too for me.
But i have to use "mouseEnabled = false" to disable a button instead "enabled = false". Aafter this it stops to change states and dispatch events.
So, "enabled" property still bugged, and do nothing :)
Sry for my english...

enabled = false should prevent it from changing states unless you have implemented this yourself using eventListeners.

Got it, thanks :)

Could you take a look at my fixes here:
https://github.com/openfl/openfl/commit/f4939c044e04b36f3589611d68b218c61638bfc3
...and see if that behaves as you want?
drmelzie on the forums also has a tweak, but I'm not sure if this is needed on top of my change, or if it was a workaround without my changes:
https://community.openfl.org/t/how-to-stop-simplebutton-animation-when-enabled-false/11130/9?u=singmajesty
Let me know what you find!

On the same topic, just merged this pull, which looks like good changes for movieClip.buttonMode = true having button behavior:
https://github.com/openfl/openfl/pull/2083

Ok, i tested it on html5 target.
Prop "enabled = false" stops changing states,"mouseEnabled = false" disables event dispatching :)
Think, its good now. Will you include this fix to the next release?
Thanks!

Yep! This will be in the next release :smile:


✨ ARM test environment

https://stackoverflow.com/questions/73016064/how-to-make-my-self-hosted-github-runner-run-jobs-in-a-docker-container-instead

Have two options for ARM64 - BuildJet + Raspberry Pi


Add interface for OpenEphys legacy format (.continuous files)

Motivation
Add support for OpenEphys legacy format (.continuous files)
How to test the behavior?
Show here how to reproduce the new behavior (can be a bug fix or a new feature)

Checklist

[ ] Have you thoroughly read our Developer Guide?
[ ] Have you ensured the PR description clearly describes the problem and solutions?
[ ] Have you checked to ensure that there aren't other open or previously closed Pull Requests for the same change?
[ ] If this PR fixes an issue, is the first line of the PR description fix #XXX where XXX is the issue number?
[ ] Did you update the CHANGLOG.md file on your branch to describe your changes?

Is there anything of note in the metadata?

Looks great so far! Can you incorporate data tests using the test data on gin?
https://gin.g-node.org/NeuralEnsemble/ephy_testing_data/src/master/openephys

Is there anything of note in the metadata?

I checked the header and annotations from the reader, but didn't find anything of note there (only channel names, ids, file origin..)
I added a metadata test for extracting session_start_time.

@weiglszonja This is really coming together!
Just need resolution on if we can just keep all_annotations=True all the time and remove block_index from the keywords (None all the time)
Also could you share an example stub NWB file to see what it looks like?


Partial unique indices that overlap with an existing foreign key silently overwrite the existing foreign key connection

Describe the bug
When I have a table that has a foreign key reference, and then I create a unique partial index on the same field, the
To Reproduce
I have a table called "works" and a table called "readthroughs". Each work can have many readthroughs. I want to ensure there is at most one in progress readthrough per work at a given time.
Create tables and insert the initial values:
CREATE TABLE IF NOT EXISTS public.works (
    work_id INTEGER,
    PRIMARY KEY (work_id)
);

CREATE TABLE IF NOT EXISTS public.readthroughs (
    readthrough_id INTEGER NOT NULL,
    work_id INTEGER NOT NULL,
    status TEXT NOT NULL,
    PRIMARY KEY (readthrough_id),
    FOREIGN KEY (work_id) REFERENCES public.works (work_id) ON DELETE CASCADE ON UPDATE CASCADE
);

INSERT INTO public.works (work_id) VALUES (1);

INSERT INTO public.readthroughs (readthrough_id, work_id, status)
VALUES (1, 1, 'in_progress');

COMMENT ON TABLE public.readthroughs IS E'@graphql({"totalCount": {"enabled": true}})';

When I look at the GraphiQL docs, I see:

I can run queries like this successfully:
{
  worksCollection(filter: {work_id: {eq: 1}}) {
    edges {
      node {
        work_id
        readthroughsCollection {
          totalCount
        }
      }
    }
  }
}

Now I add a unique partial index:
CREATE UNIQUE INDEX idx_unique_active_readthrough ON public.readthroughs (work_id)
WHERE status IN ('in_progress');

The GraphiQL docs now look like this:

And I can no longer use readthroughsCollection in my GraphQL queries.
This feels like it might be related to #541 and #502, i.e. pg_graphql generating readthroughCollection based on the foreign key but then overwriting it because of the index.
Expected behavior
Creating a unique partial index shouldn't screw with existing Collections

Done!


Getting weird bugs with :PaqClean

I'm trying to figure out how to replicate, but every once in a while, I'll run :PaqClean, and it'll delete a ton of plugins that are still declared in my init.lua. Sometimes it'll even delete paq.nvim.
When this happens… :PaqInstall won't install everything either… I have to keep closing vim and re-running the install command until everything is installed.
I'll keep working on replicating it reliably.
https://github.com/evantravers/dotfiles/tree/nightfly

Yep. There was a bug in v0.6.2. I pushed a patch a couple of hours before this issue. Hopefully when you downloaded paq again, it was the new version.
I'll keep this open for a couple of days to be completely sure that everything is working correctly.
:PaqInstall should be working fine though. If plugins weren't installed properly, the plugins probably weren't deleted properly and there are residual directories that cause git clone to fail.

I tried burning the folders to try and force Paq to install everything… but I'm still getting false numbers [1/3] to start with, then the next time I restart I'm getting [3/12] and I get the next batch… I assume I'm doing something wrong, but it's weird.

I think part of the problem may be that I have killed nvim before it's done cloning it's current batch… there's a folder and repo, but it hasn't finished pulling/rebasing.

Ok, the screenshot made it easy to see one of the problems. That's likely fixed now.
The message in the log is probably unrelated though 🤔

I'm sure I'm doing something dumb… potentially my git config or $XDG_DATA_HOME? Unsure.
https://asciinema.org/a/mhiJAkIaNMsST7Wzp5xw0bes8
☝ There's a recording of the incremental saving occurring… am I just following a bad practice with my nvim.lua?

Ahh, ok, the problem isn't that bad.
What's happening is that Neovim will raise an error when it gets to line 18 of your dotfiles, where you're defining your colorscheme. Neovim can't find it (since it isn't installed yet). When you enter Neovim again, it'll get to line 22, where there's a require call, etc.
I hadn't noticed because I source all my plugins at the top of my config, but you can still use your plugins as you have them now. It just needs a little bootstrapping.
Lazy solution:
Create a temporary file with a list of the plugins, install all of them, and then use your dotfiles as usual.
cd ~/.config/nvim/
cat init.lua | grep 'paq' > temp.lua
nvim -u temp.lua

The -u flag tells Neovim to use a different initialization file, once in Neovim you should be able to run :PaqInstall without issues.

Thanks @savq. I believe that was it… I knew I was doing something odd. I just moved everything to the top of the file for now, and everything is golden.
I may try to some lua magic where I register a plugin and it's config and at the end require all the plugins and setup all the config… but that can wait.
https://github.com/evantravers/dotfiles/commit/0ea49e06fc87872c518bd96334a2d4ff63367d4b

No problem, I'm glad I could help. and sorry for the other inconveniences.


Find and Replace Pattern

Aim
I want to solve  "Find and Replace Pattern" in C++. Its a Leetcode Medium problem.
Problem Link: https://leetcode.com/problems/find-and-replace-pattern/
Details
Given a list of strings words and a string pattern, return a list of words[i] that match pattern. You may return the answer in any order.
Programming language

[ ] C
[ ] C++
[ ] Java
[ ] Python

Please assign me this

Can u assign this to me

@Adarsh357 mention the issue

Thank u
On Mon, 14 Jun 2021, 4:42 pm Amit Kumar Mishra, @.***>
wrote:

Assigned #719
https://github.com/Ayush7614/Daily-Coding-DS-ALGO-Practice/issues/719
to @Adarsh357 https://github.com/Adarsh357.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/Ayush7614/Daily-Coding-DS-ALGO-Practice/issues/719#event-4885009321,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASTXC7NMHV2PMM54SK4LC5DTSXP3BANCNFSM46S7XA7Q
.

@Adarsh357 mention the language

C++

I can code it in c++. pls assign it to me.

I have coded it in C++.
On Wed, 16 Jun 2021, 5:03 pm Kashish05, @.***> wrote:

I can code it in c++. pls assign it to me.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Ayush7614/Daily-Coding-DS-ALGO-Practice/issues/719#issuecomment-862303460,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASTXC7NTQZA42CSHHG4AUUDTTCDXDANCNFSM46S7XA7Q
.

@Amit366 please review the pull request #893 , so that I can make pr's for my other assigned issues as well.


[Hexagon] Select qaic executable based on Ubuntu version

Allow users to override the selection via QAIC_PATH_OVERRIDE environment variable, for example on non-Ubuntu systems that can still run Ubuntu binaries.

cc: @mehrdadh @supersat

Thanks @kparzysz-quic !  There might be one last issue, but that's probably all:
Now when get_hexagon_sdk_property can't obtain a valid path for QAIC_EXE, some (all?) callers need to check for that condition.
It looks like that's already happening in some places, for example: https://github.com/apache/tvm/blob/02b2469724103685116e5dfc95c1bfbf6bbdd071/src/runtime/hexagon/android/target/fastrpc/CMakeLists.txt#L29-L39
But not in everywhere that (I think) rely on it being valid:

https://github.com/apache/tvm/blob/02b2469724103685116e5dfc95c1bfbf6bbdd071/cmake/modules/Hexagon.cmake#L214-L228
https://github.com/apache/tvm/blob/02b2469724103685116e5dfc95c1bfbf6bbdd071/apps/hexagon_launcher/cmake/android/CMakeLists.txt#L33-L37
https://github.com/apache/tvm/blob/02b2469724103685116e5dfc95c1bfbf6bbdd071/apps/hexagon_launcher/cmake/hexagon/CMakeLists.txt#L33-L37

Now when get_hexagon_sdk_property can't obtain a valid path for QAIC_EXE, some (all?) callers need to check for that condition.

All these checks do is display a warning.  In case of a missing qaic, the warning is already shown in the property lookup itself.

Now when get_hexagon_sdk_property can't obtain a valid path for QAIC_EXE, some (all?) callers need to check for that condition.

All these checks do is display a warning. In case of a missing qaic, the warning is already shown in the property lookup itself.

Right.  An earlier version of this PR would cause cmake to fail if the qaic executable couldn't be found.
The current version of this PR would only issue a warning during cmake execution, leaving the hard failure until the make invocation.
I've been assuming that when possible, we want to trap errors during cmake execution rather than waiting until make, ninja, etc. attempt to build those targets.
I'm not aware of TVM having a guideline about this, so if the other reviewers / committers are okay with it, that's fine.


Fixed terraform plans fail to create service account for Defender

Added Service Account in main.tf

Tested deployment successfully

@microsoft-github-policy-service agree


bug(COMPONENT): Material input floating label outline bug

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
This happens when you click on input (on focus).

    <form class="flex flex-col w-full h-full justify-center items-center self-center">
      <mat-form-field appearance="outline" class="w-1/2">
        <mat-label>Email</mat-label>
        <input matInput placeholder="Email" type="email">
        <mat-icon matSuffix></mat-icon>
      </mat-form-field>
      <mat-form-field appearance="outline" class="w-1/2">
        <mat-label>Password</mat-label>
        <input matInput placeholder="Password" type="password">
        <mat-icon matSuffix></mat-icon>
      </mat-form-field>
      <button mat-raised-button color="primary" class="w-1/2 p-4 m-4">Login</button>
    </form>

Reproduction
Steps to reproduce:

Use the angular documentation and add outlined input with a label.
Focus on the input.
Outline border looks weird.

Expected Behavior
Outline border should appear as in the example in the docs
Actual Behavior
Outline border on click looks not pretty.
Environment

Angular:15.0
CDK/Material: 15.0
Browser(s): Chrome (possibly other browsers too)
Operating System (e.g. Windows, macOS, Ubuntu): Mac

Not sure if it will help or not:
https://stackblitz.com/edit/angular-mca8sg?file=src%2Fapp%2Finput-clearable-example.html
This magic happens when tailwind is added.
.mdc-notched-outline__notch border-right gets 2px width. Guess it needs to be explicitly set to none.

.mdc-notched-outline__notch { border-right: none; }

Thanks for this - fixed the same issue I was having.

Also just ran into this. Not sure if it was due to the most recent package update to ngMaterial or something else since I've had tailwind installed before first seeing this.

It will be ok if you remove the tailwind base. I think this is a tailwind issue, it shouldn't add border style to all the elements.

#9993

I had to disable preflight styles #9993

Hi,
I face this also with all latest packages (taillwind, angular, material).
I used the temp fix provided, but what would the potential impact of it?
.mdc-notched-outline__notch { border-right: none; }
Is there an ETA for fix in this library or is it considered as an issue in Tailwind?
Thanks,

Just wanted to bring this up again as it is April 2023 and it is a really annoying bug if you use outline inputs and do not find this open issue here. Should probably be addressed at tailwind directly.

This appears to be due to tailwind adding styles on top of the input styles


Emote search doesn't respond when going to the last page

Pwease fix UwU

It's fixed now, likely with https://github.com/BattleRush/ETH-DINFK-Bot/commit/80132fab3ad2d76dc73109845188846370385139


fixed the URL under Additional Resources

The URL http://www.nptel.iitm.ac.in/courses/106108057/26 under Additional Resource section gives a 404. I've added the updated one i.e. http://www.nptel.ac.in/courses/106108057/26

:+1:


[Event Request] Table 39 "Purchase Line" - OnValidateFieldQuantityOnAfterPlanPriceCalcByField

We are migrating our code from NAV 2018 to BC16.4. In the table 39 Purchase Line, in theField 15 "Quantity", in the trigger Validate, we need to modify a part of the code. To do so, we need to add an event publisher, OnValidateFieldQuantityOnAfterPlanPriceCalcByField, here :

With this integration event :

Do you think it could be possible ?
Thank you for your work.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


create_node not working

I tried to add a new node to my tree and couldn't get it to work. After looking around in your documentation, the issues and some stackoverflow questions I ended up with the following code:
var tree = $("#tree").jstree(true);

$(".add").click(function() {
  tree.create_node($("#root"), "new", "first");
});

It doesn't throw errors but it doesn't add a node to my tree either.

Read the docs:
http://www.jstree.com/docs/interaction/
The text in yellow:

Please keep in mind that by default all modifications to the tree are prevented (create, rename, move, delete). To enable them set core.check_callback to true

So when creating the tree set this config option to true, or read more about the option:
http://www.jstree.com/api/#/?q=check_call&f=$.jstree.defaults.core.check_callback (there is an example here too)
Best regards,
Ivan

Oh thanks I missed that. Works now.


refactor(stat): Move to clap

I am planning to land this Thursday 5st if no objection!

@rivy  Fixed!
We don't show rusfmt warnings in the "Files changed" anymore?

We don't show rusfmt warnings in the "Files changed" anymore?

😕 That's where they showed up for me... it's a GitHub UI thing, not specifically a decision on our part. From my perspective, if/when we generate a GHA compatible warning with file and line number, it is showing up next to those lines when I look into the "Files changed" section. IMO, It's a helpful convenience since we can't really visibly surface warnings easily elsewhere at the moment.

Bizarre, maybe I just missed it :)


struct problems on python2.7

when running on python2.7 I get errors with struct.pack:
File "/home/hybrid5/.local/lib/python2.7/site-packages/pyvisa-py/protocols/rpc.py", line 282, in sendfrag
header = struct.pack(">I", x)
TypeError: Struct() argument 1 must be string, not unicode
locally I fixed the two occurences of struct.pack to use a byte-string literal and that seems to work fine.

does it work on Python 3 as well? If not, please use the same solution as here:
https://github.com/hgrecco/pyvisa/blob/master/pyvisa/util.py#L28

I don't have python3 on the machine where the device is connected so I cannot verify it directly. But struct.pack(b">I", 5) == struct.pack(">I", 5) seems to work fine in python 3.4 on my local machine.
Of course the solution in utils.py would also be fine. Do you want me to prepare a pull request for the two occurences in protocols/rpc.py and the four in protocols/usbmtc.py ?

I have the idea that there was a bug in certain versions of python (maybe in 3.2) that required us to do the solution coded in utils.py. We are putting common compatibility code in PyVISA compat package  to make it easier to maintain and test. Therefore, please:

The first against PyVISA, moving the struct functions (but removing the underscore) to an new module compat\struct.py and then use them directly from there in utils.py.

Then a second PR against PyVISA-py using this module in rpc.py and usbtmc.py

Thanks for looking into this!


feat(cicero-core/parsermanager.js): add infer variables and code to generate model, logic and data to parsermanager.js - issue 479

Issue #479
As discussed in this issue, I've added a series of functions to parserManager.js to take a templatizedGrammar and create a valid Accord Template and/or .cto package from it. It starts by inferring the variables (including lists, concepts/objects and clauses) from the grammar. Then, you can call createModelsAndLogicFromInferred() to generate a .cto and .ergo file. Finally, you can call getDefaultMetaData() and getDefaultRequest to generate a package.json and request.json, respectively. Finally, a new .fromGrammar method in templateLoader or templateSaver can be used to create or save .ctos and/or Accord templates. If you want a sample to be included, I've taken a stab at one approach to generating a sample from the generated default data in inferenceTest.js, a method called draft based on the TemplateStudio Utils.draft function.
Changes to  ParserManager.js
- ParserManager.js - changes to enable auto-generation of model.cto, logic.ergo, request.json, package.json and sample.md. This pull request adds the following methods to ParserManager:

inferVariablesFromGrammar(namespace, name, type, templatizedGrammar) is the most important edition. You provide the namespace, the templatizedGrammar, the type ("contract" or "clause") and the name of the relevant contract or clause.

parseVariablesFromGrammar(parentName, type, tree) - is a recursive method to traverse the ast parse tree from nearley and build a json object of the various variables and objects called. It deconstructs trees with multiple layers into two levels trees for clauses, contractse and concepts. For example if we had a branch contract "contract" --> clause "clause" --> concept "person" {name: "Bob", age: 12, sex: "M"} this would yield three, two-level trees. Contract would have a reference to a clause property. Then there'd be a clause object with a reference to a person concept. Finally the person concept would have properties name, age and sex.

convertToCTOFormat(object) - given the two-level tree objects output from the new inferVariablesFromGrammar() method, generate the corresponding CTO definitions. THe onyl primitives it will generate are Strings and Booleans. It assumes that any primitive that can't be definitively identified as a boolean (if / else parses) is a String.

createModelsAndLogicFromInferred() - once inferVariablesFromGrammar() has been called, you can call this method and it will generate a CTO file and ERGO file for the grammar. These are returned in a json object.

packageDefaultData() - this will generate a json with sample data for all of the variables parsed from the templatized grammar. You need to call inferVariablesFromGrammar() and createModelsAndLogicFromInferred() first.

getDefaultMetadata() - Generates default package.json based on the parsed contract/clause type, name and namespace.

getDefaultRequest() - Generates a default, empty request.

getVariables() - get the parsed variables produced by inferVariablesFromGrammar() as this is stored in the parserManager after parsing. Throws an error if we haven't run the parser first.

getDefaultModel() - get the model produced by createModelsAndLogicFromInferred(). This is stored as a property of the parserManager after creating the models and logic.

getDefaultLogic() - get the logic file produced the createModelsAndLogicFromInferred(). This is stored as a property of the parserManager after creating the models and logic.

_- templateLoader.js: added a .fromGrammar method to create a template from the outputs of the parserManager.js methods described above. _
_- templateSave.js: added a .grammarToCTO method to save a .cto from the outputs of the parserManager.js methods described above. This may make the templateLoader change above superfluous. You could save a .cto and then load .fromArchive to achieve the same results. _
Commits

Commits in this pull request accomplish above. Made a few small interim corrections so needed multiple commits.

Flags

I mostly wanted to make sure this approach was interesting and helpful before doing a final polish. There are some areas that need some minor cleanup. For example, there are a few places I needed to stringify and/or parse json objects back and forth. That said, I've run the original package tests and they still pass. I've also written testInference.js to generate a CTO for a relatively complicated JSON and it works.

Some of the outputs and inputs are stored as properties of the parserManager instance (for example, packageDefaultData, which creates the data needed to create the sample.md, requires you've already inferVariablesFromGrammar() and createModelsAndLogicFromInferred() first and it looks for the outputs from these functions in the parserManager. Open to changing this.

Related Issues

Issue #479

I think this will be considerably easier to implement on top of the new TemplateMark work that @jeromesimeon is doing, as you will have a DOM tree for the template itself to work from. I suggest we close this and if you still have a need for this you re-implement on top of TemplateMark.


Remove refs to Ubuntu 21.04 (Hirsute Hippo) as it's past EOL.

b/217937132 | Remove deprecated Ubuntu 21.04 Hirsute
Reached EOL Jan 20 2022

https://lists.ubuntu.com/archives/ubuntu-security-announce/2021-December/006305.html
screen/8dx8eU3duMLskiL

All tests passed except --- FAIL: TestThirdPartyApps/debian-10/tomcat, which is unrelated to this PR.
OK to merge.

Oops, I just realized this one is not ready to merge until the internal CL is submitted.


Support unprefixed hyphens

Fixes Microsoft/vscode#19866 (after dep update)

Tested by making the same change to the extensions/css/server/node_modules/vscode-css-languageservice/lib/data/browsers.js in a VS Code workspace.

Support data sourced from https://developer.mozilla.org/en-US/docs/Web/CSS/hyphens#Browser_compatibility

browser.js is generated from https://github.com/Microsoft/vscode-css-languageservice/blob/master/build/css-schema.xml.
So the new attribute should be added there, and npm run update-data will then update browser.js

@aeschli updated the browsers supported and regenerated, I don't need to change the version attr or anything do I?

@Tyriar Awesome, thanks a lot. I will bump the version and update the dependency in vscode in the coming days.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/26116

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/36118

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/39903

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/39906

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/43460

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/59599


Funding fraud refactor

refs: #494
Members of the signing group might decide to call notifyFraudFundingTimeout in a race to avoid late submissions for provideFraudBTCFundingProof to succeed in order to contain funds lost due to fraud.

Fraud during funding ends on provideFundingECDSAFraudProof with the signers
always losing their full bind as long as the funding timeout has not elapsed.

just dropping a quick summary of changes here:
removes state fraud_awaiting_btc_funding_proof and therefore transitions:

notifyFraudFundingTimeout
provideFraudBTCFundingProof

changes:

provideFundingECDSAFraudProof slashes member stakes, seizes signer bonds and distributes them to the funder (distributeSignerBondsToFunder) - does this implicitly close the keep or will it stay open?
notifyFundingTimeout closes the keep (implicitly releasing the signer bond)

does this implicitly close the keep

It does! Keep closing is now part of seizeSignerBonds:
https://github.com/keep-network/keep-ecdsa/blob/050cc064dd679ce0494521df3785581aaed090d5/solidity/contracts/BondedECDSAKeep.sol#L254


error: RPC failed; HTTP 502 curl 22 The requested URL returned error: 502 Bad Gateway

Gogs version (or commit ref): <IP_ADDRESS>3
Git version: 2.11.1
Operating system: Ubuntu 16.04 64bits
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gogs.io:

[ ] Yes (provide example URL)
[x] No
[ ] Not relevant

Log gist (usually found in log/gogs.log):

2017/03/18 00:43:07 [TRACE] Template: repo/home
2017/03/18 00:43:15 [TRACE] Session ID:<PHONE_NUMBER>44030b
2017/03/18 00:43:15 [TRACE] CSRF Token: XqrlvbmA3VRS46nV_Uufk3YAt_A6MTQ4OTgxMjE5NTE4NTY5ODg3Mg==
2017/03/18 00:43:15 [TRACE] Session ID: cba1c7a688bd14dc
2017/03/18 00:43:15 [TRACE] CSRF Token: PdAbkOr0oYgJst6rQpmkfuU1rbI6MTQ4OTgxMjE5NTQ4NzI2MTIyNA==

Description
Getting:
Mar 18 00:38:03 quark gogs[17459]: [Macaron] 2017-03-18 00:38:03: Completed POST /david/collantes.me.git/git-receive-pack 401 Unauthorized in 4.46717ms

On git client (Tower.app, macOS).
Full log:
Pushing to<EMAIL_ADDRESS>Counting objects: 31, done.
Delta compression using up to 8 threads.

Writing objects:   3% (1/31)
Writing objects:   6% (2/31)
Writing objects:   9% (3/31)
Writing objects:  12% (4/31)
Writing objects:  16% (5/31)
Writing objects:  19% (6/31)
Writing objects:  22% (7/31)
Writing objects:  25% (8/31)
Writing objects:  29% (9/31)
Writing objects:  32% (10/31)
Writing objects:  35% (11/31)
Writing objects:  38% (12/31)
Writing objects:  41% (13/31)
Writing objects:  48% (15/31)
Writing objects:  51% (16/31)
Writing objects:  54% (17/31)
Writing objects:  58% (18/31)
Writing objects:  61% (19/31)
Writing objects:  64% (20/31)
Writing objects:  67% (21/31)
Writing objects:  70% (22/31)
Writing objects:  74% (23/31)
Writing objects:  77% (24/31)
Writing objects:  80% (25/31)
Writing objects:  83% (26/31)
Writing objects:  87% (27/31)
Writing objects:  90% (28/31)
Writing objects:  93% (29/31)
Writing objects:  96% (30/31)
Writing objects: 100% (31/31)
Writing objects: 100% (31/31), 359.70 KiB | 0 bytes/s, done.
Total 31 (delta 3), reused 0 (delta 0)
POST git-receive-pack (368506 bytes)
error: RPC failed; HTTP 502 curl 22 The requested URL returned error: 502 Bad Gateway
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

When trying to push a commit. I can commit one small file, no problems. If I try to add several files, or directories, the error occurs. From server's /var/log/syslog:
Mar 18 00:50:04 quark gogs[17459]: [Macaron] 2017-03-18 00:50:04: Started GET /david/collantes.me.git/info/refs?service=git-receive-pack for XXX.XXX.XXX.XXX
Mar 18 00:50:04 quark gogs[17459]: [Macaron] 2017-03-18 00:50:04: Completed GET /david/collantes.me.git/info/refs?service=git-receive-pack 200 OK in 18.748727ms
Mar 18 00:50:04 quark gogs[17459]: [Macaron] 2017-03-18 00:50:04: Started POST /david/collantes.me.git/git-receive-pack for XXX.XXX.XXX.XXX
Mar 18 00:50:04 quark gogs[17459]: [Macaron] 2017-03-18 00:50:04: Completed POST /david/collantes.me.git/git-receive-pack 401 Unauthorized in 3.706604ms

I was able to create another repository, and commit a rather large set of files and directories, no issues. The problems is showing with this repository.

More info:
git push --verbose
Pushing to https://gits.quark.business/david/collantes.us.git
Counting objects: 534, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (525/525), done.
Writing objects: 100% (534/534), 6.56 MiB | 0 bytes/s, done.
Total 534 (delta 4), reused 0 (delta 0)
POST git-receive-pack (6876323 bytes)
error: RPC failed; HTTP 502 curl 22 The requested URL returned error: 502 Bad Gateway
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

Another tidbit. I installed Gitea (the bastard fork 😂) and it works fine, so it seems the issue is related to Gogs.

Please post logs from files under log/hooks and log/serv.log.

I was able to create another repository, and commit a rather large set of files and directories, no issues. The problems is showing with this repository.
Another tidbit. I installed Gitea (the bastard fork 😂) and it works fine

Combine two, I don't see any logic here.

@Unknwon there are no log/hooks and the log/gogs.log reads:
2017/03/18 14:59:26 [TRACE] Log Mode: File (Trace)
2017/03/18 14:59:26 [ INFO] Gogs <IP_ADDRESS>3
2017/03/18 14:59:26 [ INFO] Cache Service Enabled
2017/03/18 14:59:26 [ INFO] Session Service Enabled
2017/03/18 14:59:26 [ INFO] Mail Service Enabled
2017/03/18 14:59:26 [ INFO] Register Mail Service Enabled
2017/03/18 14:59:26 [ INFO] Notify Mail Service Enabled
2017/03/18 14:59:26 [ INFO] Git Version: 2.11.1
2017/03/18 14:59:26 [ INFO] Git config user.name set to Gogs
2017/03/18 14:59:26 [ INFO] Git config user.email set to<EMAIL_ADDRESS>2017/03/18 14:59:26 [ INFO] SQLite3 Supported
2017/03/18 14:59:26 [ INFO] Run Mode: Production
2017/03/18 14:59:26 [TRACE] Doing: CheckRepoStats
2017/03/18 14:59:26 [ INFO] First-time run install finished!
2017/03/18 14:59:27 [TRACE] Session ID: 03e55b5502dc22ee
2017/03/18 14:59:27 [TRACE] CSRF Token: kFF1VCCz6eBWxDsd7ldIJ57puXc6MTQ4OTg2MzU2NzAwMTMzNDU2MA==
2017/03/18 14:59:27 [TRACE] Session ID: 03e55b5502dc22ee
2017/03/18 14:59:27 [TRACE] CSRF Token: kFF1VCCz6eBWxDsd7ldIJ57puXc6MTQ4OTg2MzU2NzAwMTMzNDU2MA==
2017/03/18 14:59:27 [TRACE] Template: user/dashboard/dashboard
2017/03/18 14:59:35 [TRACE] Session ID: 03e55b5502dc22ee
2017/03/18 14:59:35 [TRACE] CSRF Token: kFF1VCCz6eBWxDsd7ldIJ57puXc6MTQ4OTg2MzU2NzAwMTMzNDU2MA==
2017/03/18 14:59:35 [TRACE] Template: user/dashboard/dashboard
2017/03/18 14:59:36 [TRACE] Session ID: 03e55b5502dc22ee
2017/03/18 14:59:36 [TRACE] CSRF Token: kFF1VCCz6eBWxDsd7ldIJ57puXc6MTQ4OTg2MzU2NzAwMTMzNDU2MA==
2017/03/18 14:59:36 [TRACE] Template: user/dashboard/dashboard
2017/03/18 14:59:41 [TRACE] Session ID: 03e55b5502dc22ee
2017/03/18 14:59:41 [TRACE] CSRF Token: kFF1VCCz6eBWxDsd7ldIJ57puXc6MTQ4OTg2MzU2NzAwMTMzNDU2MA==
2017/03/18 14:59:41 [TRACE] Template: admin/dashboard
2017/03/18 15:01:31 [TRACE] Log Mode: File (Trace)
2017/03/18 15:01:31 [ INFO] Gogs <IP_ADDRESS>3
2017/03/18 15:01:36 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:36 [TRACE] CSRF Token: T7kONwJf0QhEWTDI1NWNnfoOORU6MTQ4OTg2MzY5NjUwODAyNjA2Mg==
2017/03/18 15:01:36 [TRACE] Template: home
2017/03/18 15:01:38 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:38 [TRACE] CSRF Token: T7kONwJf0QhEWTDI1NWNnfoOORU6MTQ4OTg2MzY5NjUwODAyNjA2Mg==
2017/03/18 15:01:38 [TRACE] Template: user/auth/signin
2017/03/18 15:01:44 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:44 [TRACE] CSRF Token: T7kONwJf0QhEWTDI1NWNnfoOORU6MTQ4OTg2MzY5NjUwODAyNjA2Mg==
2017/03/18 15:01:44 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:44 [TRACE] CSRF Token: AoiY2AbDW3uYFMg2JmZHYO8_Fzs6MTQ4OTg2MzcwNDkxNzgzNzcxNw==
2017/03/18 15:01:44 [TRACE] Template: user/dashboard/dashboard
2017/03/18 15:01:49 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:49 [TRACE] CSRF Token: AoiY2AbDW3uYFMg2JmZHYO8_Fzs6MTQ4OTg2MzcwNDkxNzgzNzcxNw==
2017/03/18 15:01:49 [TRACE] Template: user/dashboard/dashboard
2017/03/18 15:01:50 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:50 [TRACE] CSRF Token: AoiY2AbDW3uYFMg2JmZHYO8_Fzs6MTQ4OTg2MzcwNDkxNzgzNzcxNw==
2017/03/18 15:01:50 [TRACE] Template: user/dashboard/issues
2017/03/18 15:01:51 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:51 [TRACE] CSRF Token: AoiY2AbDW3uYFMg2JmZHYO8_Fzs6MTQ4OTg2MzcwNDkxNzgzNzcxNw==
2017/03/18 15:01:51 [TRACE] Template: user/dashboard/issues
2017/03/18 15:01:52 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:52 [TRACE] CSRF Token: AoiY2AbDW3uYFMg2JmZHYO8_Fzs6MTQ4OTg2MzcwNDkxNzgzNzcxNw==
2017/03/18 15:01:52 [TRACE] Template: explore/repos
2017/03/18 15:01:55 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:55 [TRACE] CSRF Token: AoiY2AbDW3uYFMg2JmZHYO8_Fzs6MTQ4OTg2MzcwNDkxNzgzNzcxNw==
2017/03/18 15:01:55 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:55 [TRACE] CSRF Token: 559yq4OOOAu8VtJuu2N3b3mexeY6MTQ4OTg2MzcxNTY3NTAwOTc0OA==
2017/03/18 15:01:55 [TRACE] Template: home
2017/03/18 15:01:58 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:01:58 [TRACE] CSRF Token: 559yq4OOOAu8VtJuu2N3b3mexeY6MTQ4OTg2MzcxNTY3NTAwOTc0OA==
2017/03/18 15:01:58 [TRACE] Template: user/auth/signup
2017/03/18 15:02:29 [TRACE] Session ID: 28fb123fbabc1e09
2017/03/18 15:02:29 [TRACE] CSRF Token: 559yq4OOOAu8VtJuu2N3b3mexeY6MTQ4OTg2MzcxNTY3NTAwOTc0OA==
2017/03/18 15:02:29 [TRACE] Account created: david
2017/03/18 15:02:29 [TRACE] NewMessageFrom (htmlBody):
<!DOCTYPE html>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>david, please activate your account</title>

Hi david, thanks for registering at Gogs!

Please click the following link to verify your e-mail address within 3 hours:

https://git
.quark.business/user/activate?code=201703181502000180e14c8b4903bdd04a463ae28da54ef86e869de1e26461766964

Not working?  I thought that perhaps that would help. I am using Apache2 to proxy to Gogs (same setup for Gitea), following Gogs documentation.

If you send me your SSH key, I can grant you access to my test server, if that helps. I really would like to use Gogs.

If you're using <IP_ADDRESS>3 and you don't have log/hooks, I suspect your Gogs binary location has been changed, and all the hooks are using old Gogs version.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqTb7KvMLymGy+8TEUnbABaH/405kV32fRERby80auIwqgavLJQsVmJXojjYkb6CcgOA9fvRo98jhSbvs3CYDm3/5wBkK7GcrM3Wp3yD2RiNbQfGzaYBuQMoEobweckIazn+6Fh8H8KPErzD5b7hQp+2oTISLjok9b8GGpo+QjvWFs2qS72JFTf1mDnGmYse+zJSQeJgkPGT7RM1ryqECGUllgS3M7cm0ilshCLKMJtmHCqHmOzHdlVhVqH7HrRcY68ipn+MrCC3iOp6w9P4Hp2Sn/ZQ6PxkpwuBHA2dkJlgoH35dGe+2rvfaMq3qXAVfyiDZu8LRyipRAdS54pSv1<EMAIL_ADDRESS>

@Unknwon I deleted everything, and started from scratch.
Key added, server rom.quark.business, and root.

Thanks, I think there is not much I can do on your server, more like a internal auth logic bug.
Is it the only repo returns 401 at the end?

@Unknwon it is the only repo. But I can add as many as I want, the result will be exactly the same.

it is the only repo. But I can add as many as I want, the result will be exactly the same.

Any one repo returns 401?

@Unknwon I am on Freenode, if you want direct exchange, under Quark.

@Unknwon any repo to which I submit a commit that has more than one or two files.

I am on Freenode, if you want direct exchange, under Quark.

I don't know how to use Freenode...

any repo to which I submit a commit that has more than one or two files.

I just pushed two file (one of them around 46MB) via HTTPS and no error... https://try.gogs.io/unknwon/hello

@Unknwon give this one a try, https://git.quark.business. Try using more than one or two files (I don't think it is the size, but the number).

I pushed 5 files: https://git.quark.business/unknwon/issue-4305

@Unknwon could you push something bigger? Push something like the gogs repo, for example. Do not use mirror, but regular.

@Unknwon when I try to push 184 files, all different sizes, but relatively small, I get the error.

No error... https://git.quark.business/unknwon/gogs

Have you tried https://github.com/gitlabhq/gitlabhq/issues/3882#issuecomment-17603883?

This is so weird! This is what I get (on shell, not using Tower.app):
madhatter:Test david$ git push
Counting objects: 184, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (182/182), done.
Writing objects: 100% (184/184), 600.87 KiB | 0 bytes/s, done.
Total 184 (delta 113), reused 0 (delta 0)
error: RPC failed; HTTP 502 curl 22 The requested URL returned error: 502 Bad Gateway
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
madhatter:Test david$

This is my .gitconfig:
[core]
        excludesfile = /Users/david/.gitignore_global
[user]
        name = David Collantes
        email =<EMAIL_ADDRESS>        signingkey = B9B67D02
[commit]
        gpgsign = true
[gpg]
        program = /usr/local/Cellar/gnupg21/2.1.18_1/bin/gpg2
[http]
        postBuffer = 524288000

@Unknwon what git version do you use?

Locally:
➜  ~ git version
git version 2.11.1

@Unknwon same as me (both, local, and on server). This is driving me nuts. I will walk away for a bit, eat something, and come back to test a couple of things. My main puzzle is that the issue is present in Gogs, but not the other. 😠 Keep post back my findings.

@Fastidious can you try push via SSH, just to make sure if it's a problem with HTTPS specifically.

@Unknwon pushing via SSH works perfectly.

Mysterious bug.

@Unknwon indeed. It is happening to me in two VPS, both running Ubuntu 16.04, same git, same gogs version. I guess that, if I want to use gogs I could only use SSH, but it really bothers me.

It could be the thing you push is somehow different, but I can't reproduce thus can't debug..

@Unknwon I thought so too, so I used different things to push. If I pushed only one file, or two, it worked fine. If I pushed 10, it would work, with certain things. If I pushed many (100+) will never work.
Mysterious...

The thing is... still no error with 144 files https://try.gogs.io/unknwon/hello/commit/a8bc43411caefaa0ab00b6ebef9a6cc1ae0617c1 :sob::sob:

I use Caddy, without limit to post client size.

@Unknwon installed Caddy, no problems. I am assuming it was an Apache, a mod_proxy or a mod_proxy_http problem. Weird it did not presented itself with other applications, but gogs. Shrugs.

Notabug.org appears to have had a similar issue. I believe that setting SetEnv proxy-sendcl fixed the issue. I'll update this post if it turns out it didn't.

I still have the same issue with the "<IP_ADDRESS>5" version of gogs.
Used with Ubuntu 16.04 and apache.
It works well in SSH.

@Pofilo have you checked post-body size of your proxy (NGINX or Apache)?

I had to fix the issue by moving from apache to nginx for notabug.org. There's a problem with the way mararoon deals with 401's on a POST request. From what I understand Apache (and the HTTP spec) expects a backend to consume the body of the request even if there is a 401 or other response. It seems that gogs doesn't do this and apache will then return a backend error.

Why would a 401 error turns into 502 error? Doesn't sound right to me... @hpvb

It isn't right. As far as I understand it the sequence of events is this:
Client > mod_proxy - HTTP POST + postdata
Mod_proxy > macaroon - HTTP POST + postdata
Macaroon > mod_proxy - HTTP 401 (without consuming the TCP packets for postdata)
Mod_proxy > client - HTTP 502 ( because of backend timeout)
What macaroon should do is return a 401 only after it has finished reading the entire request. At least, that's how I understand the problem.

@hpvb I see... thanks for the details!
Just to clarify: Macaron is just a router, Gogs is the "one" who deals with request and response data.
I suggest file a new issue and reference to your comment here. Thanks!

On one machine git push works as expected on another machine i am getting exactly the same error:

Total 2087 (delta 160), reused 0 (delta 0)error: RPC failed; result=22, HTTP code = 502
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

I am still getting the exactly same error.. I don't get it working with apache reverse proxy.
Is here somebody who can give me

@Corben78 workaround fixed it for me. Seems to help reset Apache reverse proxy.

i Had the same issue , seems to solved for my setup.
i host gogs in my raspberry pi 2B in combination with dataplicity im able to push clone manage my repos from anywhere .
when i create a new repo gogs generate automatically some instructions to  follow for push your code into.
in section :
git remote add origin     http://:80/user/myrepo.git
for some reason ":80" shoudlnt be there.. i removed and im able to push normal.
PS. yeah my gogs server listen on 80 Port , Dataplicity dont support Port routing except default web and ssh so maybe that was my problem.
anyway if anyone has same problem , maybe will help.

I had this error with Gitlab behind an Nginx proxy with pushing large files.
$ git push origin master
warning: redirecting to http://xxxx.xxxx.xxx/xxxx/xxxx.git/
Uploading LFS objects: 100% (2/2), 408 MB | 0 B/s, done
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 6 threads
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 386.08 MiB | 8.74 MiB/s, done.
Total 8 (delta 0), reused 0 (delta 0)
error: RPC failed; HTTP 502 curl 22 The requested URL returned error: 502
fatal: the remote end hung up unexpectedly
fatal: the remote end hung up unexpectedly
Everything up-to-date

This was my solution for nginx based on @fgm and the keepalive clue:
(SSL terminated at a higher layer, this is for the internal LB in front of docker containers)
Narrowed down the issue to proxy_http_version, keepalive and removing the connection header.
http {
...
    upstream gitlab {
        keepalive 100;
        server <IP_ADDRESS>:8080;
    }

server {
        listen 80;
        server_name gitlab.entouch.jp;

        location / {
            add_header Strict-Transport-Security "max-age=15768000;";
            keepalive_timeout 120s;

            proxy_read_timeout 3600s;
            proxy_http_version 1.1;

            # Remove Connection header, client might send "close" to close a keepalive connection
            proxy_set_header Connection "";
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Host $host:$server_port;
            proxy_set_header X-Forwarded-Server $host;

            proxy_pass http://gitlab/;
        }
    }
...
}

Something else that can help to narrow down the cause:
GIT_CURL_VERBOSE=1 GIT_TRACE=1 git push origin master


Introduce AMF Pre-Processor, 10-bit support and configurable encoder quality options

Adds Pre-Processor that is disabled by default. Can be enabled and configured in Show advanced options > amfControls.
Adjusted default encoder settings for H.264 and H.265.
Sets Quality encoder quality preset by default. May introduce additional latency and can be changed in Show advanced options > amfControls.
Allows enabling 10-bit encoding through Reduce color banding option. Currently, doesn't produce correct colors.

I can't test because I have a Nvidia gpu, maybe someone else can.

Already done works fine with my RX6700xt

I'm doing my own testing too as I have RX 6600M, but any other testing is welcomed.


Allow Deployments from Specific Branches

It would be great to be able to specify a specific branch for a deployment other than the default branch. This would be ideal for situations where you have a production branch and a staging branch.

Thank you @jmarbutt! This will hopefully be worked on soon.

This is working (and has been working for a few months) :P


#343 #344 updated password tab order and redirected back to profile home

npm install required for this to work as an update to a package is required

Can we have a quick call about this one first thing tomorrow?  Would like to get it merged, but have a couple of questions still...

Took a while to get my dependencies all in order...
@olliefreeman may need to check with @gammonpeter


Display credentialSubject.name as subject name

If credentialSubject.name is included in the Open Badge data, continue to display it. Currently the label used in the card is "Issued to". Please change this to: "Subject Name".  so that it is the same label as in the LCW. (see issue #463

@kayaelle I'm pretty sure in a previous iteration we changed the label to "Issued to:" to represent a label that a user might expect whereas "Subject Name" is for someone that might understand the OBv3 spec.
In any event the labels should be in sync between LCW and VerifierPlus.

Looks like they are Subject Name in both. I think you're right about "issued to:". I'll make a new ticket to change them back after this release. Thanks!

Closing but putting in follow-up column for new issue to change label.


Cadl, investigate DPG from authoring in swagger

https://github.com/Azure/azure-rest-api-specs/blob/main/specification/cognitiveservices/data-plane/Language/preview/2022-05-15-preview/analyzetext-authoring.json
Let us see how authoring in swagger generate DPG client (compare to what we had via Cadl).
One known issue is the "importx" in Cadl as "import" is reserved keyword in TS. This can be ignored.
There might be difference in LRO. https://github.com/Azure/autorest.java/pull/1652 (especially the signature of DELETE)

try put the output to a repo, it might be needed in review.

A summary of differences between cadl output and swagger output
Focus:

protocol methods
method signature
sync client

Comparison:

Interface
Operation
Cadl
Swagger
Difference

Projects

createOrUpdate
public SyncPoller<BinaryData, BinaryData> beginCreateOrUpdate(
public Response createProjectWithResponse( String   projectName, BinaryData body, RequestOptions requestOptions)

String projectName,   BinaryData optionalProperties, RequestOptions requestOptions)

get
public Response getWithResponse(String projectName,   RequestOptions requestOptions)
public Response getWithResponse(String projectName,   RequestOptions requestOptions)

delete
public SyncPoller<BinaryData, BinaryData> beginDelete(String   projectName, RequestOptions requestOptions)
public SyncPoller<BinaryData, BinaryData> beginDeleteProject(String   projectName, RequestOptions requestOptions)

list
public PagedIterable list(RequestOptions   requestOptions)
public PagedIterable listProjects(RequestOptions   requestOptions)

export
public SyncPoller<BinaryData, BinaryData> beginExport(
public SyncPoller<BinaryData, BinaryData> beginExport(

String projectName,   String projectFileVersion, RequestOptions requestOptions)
String projectName,   String stringIndexType, RequestOptions requestOptions)

import
public SyncPoller<BinaryData, BinaryData> beginImportx(String   projectName, RequestOptions requestOptions)
public SyncPoller<BinaryData, BinaryData> beginImportMethod(
1. Cadl has no request body

String projectName,   BinaryData body, RequestOptions requestOptions)

train
public SyncPoller<BinaryData, BinaryData> beginTrain(
public SyncPoller<BinaryData, BinaryData> beginTrain(

String projectName,   BinaryData body, RequestOptions requestOptions)
String projectName,   BinaryData body, RequestOptions requestOptions)

Deployment
get
public Response getDeploymentWithResponse(
public Response getDeploymentWithResponse(

String projectName,   String deploymentName, RequestOptions requestOptions)
String projectName,   String deploymentName, RequestOptions requestOptions)

deployProject
public SyncPoller<BinaryData, BinaryData> beginDeployProject(
public SyncPoller<BinaryData, BinaryData> beginDeployProject(
1. Cadl has no request body

String projectName,   String deploymentName, RequestOptions requestOptions)
String projectName,   String deploymentName, BinaryData body, RequestOptions requestOptions)

list
public PagedIterable list(String projectName,   RequestOptions requestOptions)
public PagedIterable listDeployments(String   projectName, RequestOptions requestOptions)

swap
public SyncPoller<BinaryData, BinaryData> beginSwapDeployments(
public SyncPoller<BinaryData, BinaryData> beginSwapDeployments(

String projectName,   BinaryData body, RequestOptions requestOptions)
String projectName,   BinaryData body, RequestOptions requestOptions)

Jobs
getDeploymentStatus
public Response getDeploymentStatusWithResponse(
public Response getDeploymentStatusWithResponse(

String projectName,   String deploymentName, String jobId, RequestOptions requestOptions)
String projectName,   String deploymentName, String jobId, RequestOptions requestOptions)

getSwapDeploymentsStatus
public Response getSwapDeploymentsStatusWithResponse(
public Response getSwapDeploymentsStatusWithResponse(

String projectName,   String deploymentName, String jobId, RequestOptions requestOptions)
String projectName,   String jobId, RequestOptions requestOptions)

Global
getSupportedLanguages
public PagedIterable   getSupportedLanguages(RequestOptions requestOptions)
public PagedIterable   getSupportedLanguages(RequestOptions requestOptions)

listTrainingConfigVersions
public PagedIterable   listTrainingConfigVersions(RequestOptions requestOptions)
public PagedIterable listTrainingConfigVersions(String   projectKind, RequestOptions requestOptions)
Cadl miss projectKind

API view for swagger output: https://apiview.dev/Assemblies/Review/001f377cde784491a33a9e0ec55610ce


INTULocationAccuracy

why not corresponding to system LocationAccuracy?

Please take some time to read through the README as well as the comments and documentation in the code for INTULocationAccuracy. You'll see that these constants represent both horizontal accuracy and recency. The Core Location types do not do this. Additionally, INTULocationAccuracy is designed to be more friendly to use instead of having to think in terms of meters.

What would be the best way for changing the predefined constants in my projects? for example making the INTULocationAccuracyHouse be 10 metres in the last 15 seconds?

@salvoc This is not supported; there's no way to do this using INTULocationManager, without effectively forking the code to make changes. Which is an option if you absolutely must have a very particular configuration, but I think this is extremely unlikely.
Feel free to share more details if you think there is a very compelling reason to support this. But don't forget that this library is designed to solve 90-95% of location services use cases well with an extremely simple API...there will always be the remaining 5-10% of advanced use cases that are explicitly not within the scope of this project and should be tackled with other approaches.

Thanks for your response @smileyborg, I believe that adding the opportunity of fine tuning that feature would be a great enhancement, still maintaining of course a default scale for simple use cases.

Is that ok for you if I fork the project, add that functionality and create a new public Pod for that?

@salvoc By all means feel free to fork over his project and make your own changes! If you think you can do so in a way that would be beneficial to everyone you can open a pull request here. But if you know they will be intended to solve a different set of use cases feel free to publish a new pod.


Code Refactor: Separated Common Functions into Directus Helper Utils

🔧 Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[x] Codebase improvement
[ ] Other (if none of the other choices apply)

🚨 Checklist

[x] I've read the guidelines for contributing
[x] I've added necessary documentation (if appropriate)
[x] I've ensured that my code additions do not fail linting or unit tests (if applicable)

Description
This pull request refactors the codebase by separating a few common functions into individual utility functions called "Directus Helper" functions. This enhancement aims to improve code organization and maintainability, making it easier to reuse these utility functions across different components and modules.

I'm not against being DRY ofc but, in this specific case, it's super overkill and will not make the code more understandable, i.e:
const assetId = toID(asset);

Let's not introduce dependencies between components for a very small set of utilities. Thanks for understanding.


ADD a 'Smart mode' when recording

Records using more functions:

menu_select
combobox_select
set_text
...

Now you can enable/disable the recording with these functions in the tray menu


ESP32 Rev3 esp_efuse_enable_rom_secure_download_mode not compiled in (IDFGH-3752)

Environment

Module or chip used: ESP32-WROVER-E
IDF version (run git describe --tags to find it): v4.3-dev-472-cf056a7d0 (latest from master)
Build System:    cmake
Operating System:     Windows

Problem Description
I am using the new Rev3 ESP32. Secure boot and flash encryption enabled. But there seemst to be a bug in the code, the function esp_err_t esp_efuse_enable_rom_secure_download_mode(void) is not compiled in.
The headers are also disabled. The #ifdef SOC_SUPPORTS_SECURE_DL_MODE is false.
After forcing the header to enable, still the object is not compiled, but there is no #ifdef, I dont know how to force it.
sdkconfig security configuration:
CONFIG_SECURE_SIGNED_ON_BOOT=y CONFIG_SECURE_SIGNED_ON_UPDATE=y CONFIG_SECURE_SIGNED_APPS=y CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME=y CONFIG_SECURE_BOOT=y CONFIG_SECURE_BOOT_V2_ENABLED=y CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES=y CONFIG_SECURE_BOOT_SIGNING_KEY="main/xxx.pem" CONFIG_SECURE_FLASH_ENC_ENABLED=y CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE=y
Min revision is set to "Rev 3".

Only works for esp32s2

I see. So the problem seems to be in the Kconfig.projbuild:
    choice SECURE_FLASH_ENCRYPTION_MODE
        bool "Enable usage mode"
        depends on SECURE_FLASH_ENC_ENABLED
        default SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
        help
            By default Development mode is enabled which allows UART bootloader to perform flash encryption operations

            Select Release mode only for production or manufacturing. Once enabled you can not reflash using UART
            bootloader

            Refer to the Secure Boot section of the ESP-IDF Programmer's Guide for this version and
            https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html for details.

        config SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
            bool "Development(NOT SECURE)"
            select SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC

        config SECURE_FLASH_ENCRYPTION_MODE_RELEASE
            bool "Release"
           # select SECURE_ENABLE_SECURE_ROM_DL_MODE

    endchoice

After commenting out the select SECURE_ENABLE_SECURE_ROM_DL_MODE the code compiled again!
Thanks

Hi @sicanins! It was fixed in eff6a1e. Please update your IDF version.

@sicanins Thanks for reporting, feel free to reopen if the issue still happens. Thanks.


Support sensor component

Is your feature request related to a problem? Please describe.
Numerical sensors like temperature, humidity, motion or light sensors are currently not supported.
Describe the solution you'd like
Implement the homee platform for the Home Assistant sensor component.
Describe alternatives you've considered
Additional context
Possible related homee node profiles:
see https://github.com/stfnhmplr/homebridge-homee/blob/master/lib/node_types.js
Possible related attribute types:
see https://github.com/stfnhmplr/homebridge-homee/blob/master/lib/attribute_types.js

Additional device properties such as battery level could be implemented using the sensor component

Will get this done this weekend :)


[FEAT]: Homepage UI/UX

Not enough visual hierarchy, add some bg or something to make the navbar and content apart
Cards should be bigger

instead of writing all the things, I made a prototype sort of thing using dev tools:

This already looks much better, I will try and use this. Should I stick to bootstrap cards for rendering books or should I use something else like lists or tables for them? I would love to hear your opinion

I am not that experienced with bootstrap so I don't know 🤷🏻♂

No problem, I will see what works 👍


[Suggestion] Require that rules declare whether they enforce formatting or not

We use tsfmt to format our code, hence any tslint rules that enforce a specific formatting of code are redundant... and indeed might even conflict with tsfmt.
Suggestion would be to have rule authors declare whether a rule affects formatting or not, and then have the option of running tslint in a mode which does not execute any such formatting-directed rules (regardless of the rules listed in tslint.json)
A natural conclusion of this is that any rule that enforces formatting (and hence is declared as such) should not also enforce/require non-formatting conditions - but I think this natural split already exists amongst the current ruleset.
Another reason for wanting authors to declare a rule one way or t'other is that automatic documentation generation (#830) will be possible (e.g. annotate a rule as affecting formatting)
Thoughts?

I feel that having an explicit option to run tslint in a way that excludes non-formatting rules is probably unneeded complexity, since users can just set up a tslint.json with the rules they wish.
From a rule metadata perspective though, it's a more intriguing idea to me. It seems reasonable to mark rules by their type: whether they find stylistic errors or find possible runtime errors. This is useful info to know about a rule for documentation generation like mentioned above or for other possible reasons.
I think a field like this would be fine once we have a better metadata system for rules and their options (https://github.com/palantir/tslint/issues/674). Ideas/proposals for #674 / #629 appreciated!

I'm thinking there are really three types of rules:

Rules that improve readability (style rules)
Rules that improve maintainability
Rules that watch for functionality bugs

For example (I just chose a few rules):
comment-format: readability
no-string-literal: functionality
trailing-comma: maintainability
The distinction between maintainability and readability is somewhat blurry, but essentially, readability is about the way the code looks, whereas maintainability is about the way the code can be edited. trailing-comma (and object-literal-sort-keys as another example) don't make the code look nicer, but they make the code easier to edit or improve git diffs.
Does this seem reasonable to you @myitcv? Think there should be other or different divisions?

ESLint has these categories:

Possible Errors
Best Practices
Variables
Node / CommonJS
Stylistic Issues
ES6

Not a big fan of the ESLint categories, they seem kind of overlapping. I think we could have better categories. Is Possible Errors vs. Best Practices a distinction we'd want to make? They both seem like subcategories of my proposed functionality category.

I tried to sort the rules into the three categories I suggested here: http://palantir.github.io/tslint/rules/
but not entirely happy with its usefulness / distinction between the three.

Rules now do mention in their metadata a type: "formatting", type: "style", or similar. Anything more seems out of scope given #4534.