git index file gets locked on local network server

VSCode Version:  1.39.1
OS Version: MacOS High-Sierra

We have a Ubuntu Server in our network where we work on our projects.
When I work on some files in VS code and try to stage them via vscode git plugin, CLI or a GIT Client (GitKraken) I get the error "index file locked". Then I delete the index file, clean up after that (because after deleting the index file and staging 1 File, all files are marked as deleted, so I unstage everything and everything is good again) Then I can stage files and commit them.
Then I continue with my work, do some code and try to stage/commit again. And then the error appears again.
When I disable the GIT plugin via "git.enabled": false  in the settings.json then the problem never appear.
However I would like to have the git feature in vscode to see my changes and untracked files .. So what could cause the problem?

Can you reproduce this issue by using command line git, without using VS Code as well?

However I would like to have the git feature in vscode to see my changes and untracked files .. So what could cause the problem?

I highly recommend trying VS Code Remote SSH to edit remote files.

It only happens when I have VSCode open and edit files + have the git extension.
It's also happen when I close vscode before staging/comiting any files.
The server is in our local network, we access it via a network drive.

I mean, if you use the command line to run git add, git commit, etc... this does not reproduec?

When I use git add myfile then I get fatal: Unable to write new index fileafter I worked on some files.

Alright. I'm interested in knowing whether you can reproduce this only with the command line and Notepad (I suspect you can) which would mean you simply have a setup issue, by using git through a network share.

I just tested it with the good ol' Sublime TextEditor and no problems with it. It also have a git integration. So it have something to do with the git integration in vscode :/
I also tried it with disabled autosync but that doesn't changed anything.

VS Code simply spawns git, so it must be very reproducible simply running git add and git commit commands. Have you tried that?

Also which version of git do you have installed?

I only experience the problem when I have vscode open and have the git plugin enabled.
It just require to enable it, no staging noch commiting, I just enable it and right after that when I try to stage a file (via terminal or another git GUI) git tells me that he cant stage because the index file is locked.
git version 2.17.2 (Apple Git-113)

Can you update to a fresher git (current is 2.23.0)? You can use Homebrew for that. Let me know how it goes.


Request failed, status 401

Getting this error when trying to run the plugin. Any solutions?

[!failure]- Failure
Error: Request failed, status 401

Please check the following link : https://text-gen.com/common-errors-in-openai-api-code-and-their-possible-causes

I would like to suggest that you check the most recent version of the plugin, which is v0.3.1, as it features improved error messages that are more expressive. This update could enhance the overall performance and user experience of the plugin, and may provide helpful insights in the event of any issues that arise.


Y-sorting or Masks for some walls and entities

Description

Due to how the player's BB is setup when walking southward into something your sprite will always float menacingly above it like so

With bb

Not sure what the correct way to fix this is but with y-sorting in general fixed it shouldn't be too hard.
Additional context

Also this might be impossible but being able to move up against walls on the x-axis would be nice.

With y-sorting fixed by @metalgearsloth this issue can be resolved by setting the drawdepth on the SpriteComponent of these entities to "Mobs".

This of course fucks up other stuff.

Objects/Items need to display above tables, disposal units etc. but can't display above mobs.

Kinda hard to resolve because you need FloorItems > Mobs > Items y-sorting but also need to put the mob up 1 layer when vaulting.
Only way to "fix" moving up to walls is make the BB smaller because it needs to be a circle for grid rotation.


Update README.md

Thank you.
On 1 Oct 2019 11:58 a.m., "Bharat Purohit"<EMAIL_ADDRESS>wrote:

Merged #2 https://github.com/DBT-BIF/Biosensor-Python/pull/2 into
master.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DBT-BIF/Biosensor-Python/pull/2?email_source=notifications&email_token=ACNUA73MYLBVROUUM4MJ2F3QMLUYHA5CNFSM4I4FBL3KYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOT56TIXQ#event-2675782750,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACNUA74KBYE6GHZNEXPCV3LQMLUYHANCNFSM4I4FBL3A
.


Data not loading on Win 7

Hi @tlambert03,
I've had an issue with the plugin, but on only one machine, I wondered if this is something you've come across?
I've been using napari-ndtiffs  (flawlessly) across windows (10) and Ubuntu (16.04 and 18.04), but it didn't work for me on Windows 7. I'm stuck with using remote access (chrome), but that seemed to be working fine, and I tested this on a Windows 10 machine remotely.
When I try to load a directory of 2D tiffs, I get the normal napari error ERROR #1: Error in plugin 'builtins', hook 'napari_get_reader': Could not find a format to read the specified file in single-image mode  etc. What's weird is that the plugin is clearly installed (I get the openCL warning), and this directory works fine across all the other machines. This issue persists with python 3.7/3.8, napari 0.4.0/0.4.1 and with different image directories.
What does work (and I don't understand), is loading a smaller directory of tiffs (999 rather than 2800), but that doesn't seem to use the plugin (no openCL warning).
I wondered if it was an issue with dask etc., but this works fine (where image_paths is a list of the images in the directory):
images = magic_imread(image_paths, use_dask=True, stack=True)
viewer.add_image(images)

Napari info for one of the napari installs that doesn't work:
napari: 0.4.1rc2
Platform: Windows-7-6.1.7601-SP1
Python: 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]
Qt: 5.14.2
PySide2: <IP_ADDRESS>
NumPy: 1.18.5
SciPy: 1.5.4
Dask: 2.30.0
VisPy: 0.6.5
GL version: 4.6.0 NVIDIA 419.67
MAX_TEXTURE_SIZE: 32768
Plugins:
- brainreg: 0.2.3
- brainreg_standard: 0.2.3
- cellfinder: 0.2.0
- napari_plugin_engine: 0.1.8
- ndtiffs: 0.1.1
- svg: 0.1.4

Trying to track down another win7 machine (without remote access) to see if I can reproduce.

oh, strange!  thanks for the report (and sorry for the delay).  I'll also need to track down a Win7 box to see if I can reproduce.  but please do let me know if you learn anything in the meantime.


Fix typos on Readme

Fix small typos on the readme.

Hello US citizen. Your spelling is not universally correct, just like your measurement systems are not.


Extra DB availability script

Adding the ability to provide a custom MySQL DB Availability script. The current one in the chart is so verbose that it causes issue with looking at logs in Kibana. Keeping it much less verbose via a custom script will significantly improve log readability.

Thanks @bernardmaltais! I wonder if we should just always make it a value in values.yaml and set the default to current script? Thoughts @bernardmaltais  and @sylus? Then perhaps we could call the setting dbAvailabilityScript

@zachomedia I tried to make the update "transparent" to existing users. If it was implemented as you proposed would it nor result in a braking update for users as they would need to add the missing entries in the values file? I am  always for adding changes that are not braking unless it is really necessary.

In fact many other parts of the job scripts could benefit from defaults substitution in the values file. Many times I wished I could customize the backup or restore jobs on a per env basis but the way the chart is currently written it is hard coded... so I think much more work could be done here to allow better customization across the jobs scripts for certain sections.

I think this is a great idea! It was, honestly, built initial for a specific use case but I think it can greatly benefit from being expanded and more customizable. Even other stuff like the migrations that are executed would benefit in being customizable. Default values via the values.yaml I think is the best and cleanest approach.

Once it is decided what is best moving forward I could start to submit updates to allow customization for the different sections of the jobs.

I'll let @sylus jump in with his thoughts before we finalize on a direction for this change.

I converted the code to use the internal values.yaml instead. Much cleaner and should be super easy for users to customize.

Yup I completely agree here and think would let some of the charts end users to better override and customize their settings but showing a nice default. +1 from me :)

@sylus Sound good. I knew you would land on the values file so I already made the changes ;-) How would you recommend we modify the rest of the script to support values.yaml customization? Create a separate pull request with all the changes bundled into one update? Or should I just piggy back on this one to add the other ones?

Hummm... this could run pretty deep... I can see that allowing cistomization could have possibly a profound impact... for example:
              echo "Restoring backup: $BACKUPNAME"

              {{- if .Values.drupal.restore.db }}
              echo "Drop database"
              drush sql-drop -y
              echo "Restore database"
              gunzip -c /backup/$BACKUPNAME/db.sql.gz{{ if .Values.drupal.restore.convert }} | sed 's/MyISAM/InnoDB/g'{{ end }} | drush sql-cli
              echo "Database restored"
              {{- end }}

This whole block that does the if could be totally removed since it is only used in this one script... SO instead of doing it this way it could be folded as a script customization... but this would be a breaking change...
SO I guess we need to discuss how we add customization to the different blocks... One size fits all might not work here.

I did a quick test and apparently helm will not render things like {{- if .Values.external.enabled }} received as part of a value... so this will limit what can be done from a script customization perspective... pretty much limiting customization to script blocks that do not include yaml syntax...

@bernardmaltais Apologies for the delay.. I think this is looking good, I have just one question that I put on the MR. Once we decide one way or another I'm happy to merge this and accept future updates :)

@zachomedia Sound good. I have updated the code with the new value name and revved up the chart version.


Why do I always need browser.sleep, although I use await!

I wrote the following example test with Jasmine notation:
it('login', async()=>{
await browser.logger.info("Login test");
await loginIcon.click();
await browser.sleep(1000);
await browser.switchTo().frame(1);
await browser.sleep(1000);
await pageP.mailAdresseAngeben("user-example");
await pageP.passwordEingeben("password-exampel");
await pageP.loginClick();
});
Without browser.sleep, the test fails, when I raise it again, the test is correct.
My understanding of "await":
The testing action is performed using the "AWAIT" function for the action to wait until the web element is available, which is necessary for this action.
So that the tester does not define exact time for testing options such as browser.sleep.
If I'm correct with my guess, then I should not use browser.sleep in my example.

async/await has no any relation to browser or webelements
https://javascript.info/async-await

good to know. I thought await also controls my test actions. Thanks for the answer

Where could I use async/await at protracto E2E test?

@ueveys before every command that returns Promise object. Basically that means everything except $, $$ functions


added my name to guestbook.md

Dear Sean
Thank you for making this book and this course available.
Best wishes,
David

Thank you so much for the typo fix!


(Question) Bearer authentication with Angular SSR not working

I've implemented the basic ideas from this issue, but somehow I always get Microsoft.AspNetCore.NodeServices:Error: Unhandled Promise rejection: Converting circular structure to JSON when trying to hit any endpoint with an [Authorize] attribute during SSR.
My app uses JWT authentication with the token stored in a cookie so I can access it on the server. I know the authorization header is getting set correctly on the server during SSR because I can console.log the token and see it in the server output. I tried enabling CORS in case the Node stuff is running on a separate port, but that hasn't made a difference. The exact same request code works perfectly when run on the client.
What am I missing?
Thanks in advance!

I don't know why you're getting that error, but it fairly strongly implies that some of the data you're trying to serialize somewhere contains a cyclic reference.
My best guess is that your backend isn't in fact returning the data you think it is returning, but instead is returning something like a redirection to a login page, which itself is not serializable. You might want to check in more detail that you are really setting the auth context correctly and the backend is really returning the data you think.
I'll close this as it sounds like an application-specific issue rather than an issue in any code in this repo. Hope that's OK!

Thanks Steve. I'm guessing it's because an exception is getting thrown and it's trying to serialize the exception. Unfortunately nothing shows in Visual Studio and the zonejs error output isn't helpful, so I'm not sure how to debug the issue.
Do you know of any documentation or working examples of SSR with authentication that I could look at? There are a few StackOverflow questions and several issues in various repos, but it's hard to know what final solution ended up working.
Thanks!

From: Steve Sanderson<EMAIL_ADDRESS>Sent: Wednesday, October 4, 2017 9:25:26 AM
To: aspnet/JavaScriptServices
Cc: FreedCapybara; Author
Subject: Re: [aspnet/JavaScriptServices] (Question) Bearer authentication with Angular SSR not working (#1308)
I don't know why you're getting that error, but it fairly strongly implies that some of the data you're trying to serialize somewhere contains a cyclic reference.
My best guess is that your backend isn't in fact returning the data you think it is returning, but instead is returning something like a redirection to a login page, which itself is not serializable. You might want to check in more detail that you are really setting the auth context correctly and the backend is really returning the data you think.
I'll close this as it sounds like an application-specific issue rather than an issue in any code in this repo. Hope that's OK!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/aspnet/JavaScriptServices/issues/1308#issuecomment-334153951, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGreS2uuG4cI5eBFl5KW9Nj_G9-AhxmBks5so4dFgaJpZM4PqGF0.

If it helps anything, here's my implementation so far:
Views/Home/Index.cshtml passes cookies to Node
<app asp-prerender-module="ClientApp/dist/main-server"
     asp-prerender-data="new { Cookies = ViewContext.HttpContext.Request.Cookies }">
    Loading...
</app>

boot-server.ts: polyfills cookies for use with ngx-cookie
export default createServerRenderer(params => {
  var cookies = ''; // cookies come in as [{ key, value}] -- turn them into a normal cookie string
  for (let cookie of params.data.cookies) {
    cookies += `${cookie.key}=${cookie.value}; `;
  }
  document.cookie = cookies; // <-- polyfilled to work with ngx-cookie

  // ...
}

HttpService.ts is a wrapper service for Angular's Http to control adding headers, etc.
// GET requests are made like this
var headers = new Headers();
var token = this.cookieService.get('token');
if (token) {
  headers.append('Authorization', `Bearer ${token}`);
}
this.http.get(this.baseUrl + url, { headers: headers }) // (this.http is Angular's standard Http)
  .subscribe( ... );

Using the Node debugger as outlined here, it's clear that the header is being set correctly. Setting a breakpoint and inspecting the errorInfo callback argument in boot-server.ts shows this.
Startup.cs contains the bearer authentication setup
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddIdentity<ApplicationUser, IdentityRole>(options =>
            {
                options.Password.RequireDigit = false;
                options.Password.RequireLowercase = false;
                options.Password.RequireNonAlphanumeric = false;
                options.Password.RequireUppercase = false;
                options.Password.RequiredLength = 6;

                options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(30);
                options.Lockout.MaxFailedAccessAttempts = 100;

                options.User.RequireUniqueEmail = true;
            })
            .AddEntityFrameworkStores<ApplicationDbContext>()
            .AddDefaultTokenProviders();

            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration.GetSection("Environment:TokenSigningKey").Value)),
                    ValidateIssuer = true,
                    ValidIssuer = Configuration.GetSection("Environment:BaseUrl").Value,
                    ValidateAudience = true,
                    ValidAudience = Configuration.GetSection("Environment:BaseUrl").Value,
                    ValidateLifetime = true,
                    ClockSkew = TimeSpan.Zero
                };
                options.RequireHttpsMetadata = false;
            });

            // ...
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider)
        {
            // ...
            app.UseAuthentication();
            // ...
        }

Everything works like a dream until trying to load stuff with SSR.

After some fiddling, it looks like all HTTP requests fail if performed during SSR, even using the base Angular Http with no authorization header to a non-guarded endpoint.

To keep documenting the process, it looks like it might be related to SSL. Trying to find where the http request fails in the stack trace (to find out what is causing the circular json error) I see Error: unable to verify the first certificate.
Haven't been able to fix it yet 😕

@SteveSandersonMS could you tell me what is the Angular equivalent of your fix in #1089? I think it might finally solve my issue 🎉
I tried passing options.agent to the http request like this, but haven't gotten it to work:
    if (isPlatformServer(this.platformId)) {
      let Agent = (require('https') as any).Agent;
      options.agent = new Agent({ rejectUnauthorized: options.useHttpsValidation }) as RequestInit;
    }

    // ...

    this.http.get(this.baseUrl + url, options); // this.http is just the basic Http service

Thanks in advance!


Missing records in Datalake

I am a newbie to Azure and Business Central. Our vendor built bc2adls for us and I joined the team recently. I am unable to figure out one of the issues we have been having, so I was wondering if I could get help here. We noticed that we are missing some records in the Datalake and that is so random. What I do as a temporary fix is to reset table in the Export to Azure Datalake Extension in BC and that adds missing records back to the tables. We see the records go missing again could be at the next run or the next day or after a few days. Yesterday, there were about 14 records missing from one of the tables and when I did the reset, they all appeared back.

Hi @vineethalisyam,
Which table do you try to export? Is that for all tables? And what is the frequency that you are exporting?
And also run the pipelines. Because the export to data lake has to be finished to start your pipelines.

Hi @Bertverbeek4PS,
Thanks for getting back, appreciate it. Both the export and pipelines run every hour. We export around 15 tables. One of the tables we have issues with the most is the valueentry_5802, and yes it happens with more than one table.  I agree that the export must finish before the pipeline starts. However, I am talking about the data from a month ago or from 15 days ago which should already be in the data lake. Because of this, we are using reports with source as O-data and that's making things very slow.
The other day, we were missing records from SalesShipmentLine table. The query was run on the 18th of October but some of the records that were missing are from 16th of October. After I did the reset in BC, they appeared again. The data is not massive either, we have less than 300000 rows in all these tables.

If it is old data that is disappeared then maybe the problem is in the dataflow inside Synapse @vineethalisyam.
Never seen that issue.
Is it possible that I can have the data of the valueentry table to investigate (strange is that value entries you cannot delete)? And maybe a look in the dataflow (is there a modification on it?).

Hello All,
  Good day, hope all is well. I am seeing this same issue with a client. In our case the Customer-18 table seems to be losing records in Azure Data Lake (ADL). We then reset and resend the data and it is synched. The client noticed customers missing in their reports from ADL. We did some digging and found that there were 75 Customers referenced in the Customer Ledger Entry table that did not exist in the Customer table in ADL. We confirmed the customers did exist in BC and then ran the reset process to synch yesterday. Post reset we confirmed the tables were in synch. Today when checking on the tables in ADL I notice 6 customers not in the Customer table that are referenced in Customer Ledger Entry and that do exist in BC.
   We have not made any changes to the pipelines themselves. We are in the process of troubleshooting and research on what may cause this issue. If others are seeing it I would love to work together to see if we can solve this :)

Thanks
Tom Link

Thanks @tglink72 for your comment. So it is a general issue.
Is it possible to safe the delta files in the folder?
Then we can exclude it it is done in exporting the data from BC of in the dataflow in synapse.

Hello,
           Thanks so much for the reply! I will change the Synapse process to not delete the deltas for our mid-day processing, which occurs at noon easter time US. I will then download the files so we can review.

Thanks
Tom Link
From: Bert Verbeek @.>
Sent: Friday, October 27, 2023 6:53 AM
To: Bertverbeek4PS/bc2adls @.>
Cc: Tom Link @.>; Mention @.>
Subject: Re: [Bertverbeek4PS/bc2adls] Missing records in Datalake (Issue #53)
Thanks @tglink72https://github.com/tglink72 for your comment. So it is a general issue.
Is it possible to safe the delta files in the folder?
Then we can exclude it it is done in exporting the data from BC of in the dataflow in synapse.

Reply to this email directly, view it on GitHubhttps://github.com/Bertverbeek4PS/bc2adls/issues/53#issuecomment-1782784873, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZOTVUI4NF4REHUJCX6UEOLYBOOCNAVCNFSM6AAAAAA6MZSLSOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSG44DIOBXGM.
You are receiving this because you were mentioned.Message ID: @.***>

@tglink72
Do you have multiple companies flowing in the same folder in Azure Data Lake?
Because it is not filtering on company column.
So that could be the issue. If yes I will look into the dataflow.
Maybe the same issue as:
https://github.com/Bertverbeek4PS/bc2adls/issues/56
But then on the Data Lake side.

Bert,
           Thanks for the email. We do not have multiple companies flowing into the Azure Data Lake, just a single prod company. I did capture the deltas for a run last week as you requested and I would be happy to provide them or review them with you.

Thanks
Tom Link
From: Bert Verbeek @.>
Sent: Monday, October 30, 2023 1:47 AM
To: Bertverbeek4PS/bc2adls @.>
Cc: Tom Link @.>; Mention @.>
Subject: Re: [Bertverbeek4PS/bc2adls] Missing records in Datalake (Issue #53)
@tglink72https://github.com/tglink72
Do you have multiple companies flowing in the same folder in Azure Data Lake?
Because it is not filtering on company column.
So that could be the issue. If yes I will look into the dataflow.
Maybe the same issue as:
#56https://github.com/Bertverbeek4PS/bc2adls/issues/56
But then on the Data Lake side.

Reply to this email directly, view it on GitHubhttps://github.com/Bertverbeek4PS/bc2adls/issues/53#issuecomment-1784575388, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZOTVUPIAL2U4VGX4QN4OHDYB5ENNAVCNFSM6AAAAAA6MZSLSOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBUGU3TKMZYHA.
You are receiving this because you were mentioned.Message ID: @.***>

Hi @tglink72
It is maybe possible that I can have some delta file's that doesn't contain any customer data?
Together with the manufest files.
Then I can debug it maybe better.

Bert,
           Thanks again for the email. Unfortunately, the deltas will have customer data in them and we are not seeing this issue in other master record tables (Item,Vendor...) Could we do a screenshare early tomorrow morning US central time? Or is there a secure way I can get you the data?

Thanks
Tom Link
From: Bert Verbeek @.>
Sent: Monday, October 30, 2023 8:00 AM
To: Bertverbeek4PS/bc2adls @.>
Cc: Tom Link @.>; Mention @.>
Subject: Re: [Bertverbeek4PS/bc2adls] Missing records in Datalake (Issue #53)
Hi @tglink72https://github.com/tglink72
It is maybe possible that I can have some delta file's that doesn't contain any customer data?
Together with the manufest files.
Then I can debug it maybe better.

Reply to this email directly, view it on GitHubhttps://github.com/Bertverbeek4PS/bc2adls/issues/53#issuecomment-1785143098, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZOTVUOGSTFGMHDASBPK7ATYB6QDXAVCNFSM6AAAAAA6MZSLSOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBVGE2DGMBZHA.
You are receiving this because you were mentioned.Message ID: @.***>

Well you can always mail me at<EMAIL_ADDRESS>and maybe remove the customer specific details.
This week I'm attending directions so a meeting is doable next week.

Hello Bert,
           Good day, hope all is well. I have captured the issue in a delta process. I have the delta files from prior to the Synapse pipeline run. Prior to the run the customers were in synch with the Customer Ledger entry. After the run the 3 customers below were no longer in ADL. The customer records were in the Delta file for this pipeline process. I am confirming with the customer that I can provide the deltas. If approved and if there is a way I can securely provide them I will. If you would like to do a screenshare at a time that works for you I can send an invite.

C0245979
C0400739
C0247201
Thanks
           Tom Link

From: Bert Verbeek @.>
Sent: Monday, October 30, 2023 9:32 AM
To: Bertverbeek4PS/bc2adls @.>
Cc: Tom Link @.>; Mention @.>
Subject: Re: [Bertverbeek4PS/bc2adls] Missing records in Datalake (Issue #53)
@tglink72https://github.com/tglink72 I have tested with multiple companies and same GUID and that will run fine. To there is another issue in the pipelines.

Reply to this email directly, view it on GitHubhttps://github.com/Bertverbeek4PS/bc2adls/issues/53#issuecomment-1785344974, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZOTVUJYORPOZK3SNVWB5VTYB624VAVCNFSM6AAAAAA6MZSLSOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBVGM2DIOJXGQ.
You are receiving this because you were mentioned.Message ID: @.***>

Thanks @tglink72 thst would be great to have and analyse!
Sure a screenshare and trandlsfer isn't a problem for me.

Bert,
           Thanks for the reply. What times work best for you to review? I am US Central time and can make early morning work, if that works for you.

Thanks
TL
From: Bert Verbeek @.>
Sent: Tuesday, October 31, 2023 5:32 PM
To: Bertverbeek4PS/bc2adls @.>
Cc: Tom Link @.>; Mention @.>
Subject: Re: [Bertverbeek4PS/bc2adls] Missing records in Datalake (Issue #53)
Thanks @tglink72https://github.com/tglink72 thst would be great to have and analyse!
Sure a screenshare and trandlsfer isn't a problem for me.

Reply to this email directly, view it on GitHubhttps://github.com/Bertverbeek4PS/bc2adls/issues/53#issuecomment-1788124904, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZOTVUOLIZ4HXGLNF5KX3UDYCF36XAVCNFSM6AAAAAA6MZSLSOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBYGEZDIOJQGQ.
You are receiving this because you were mentioned.Message ID: @.***>

@tglink72 could you email me on<EMAIL_ADDRESS>so I can share the dates in a private email?
It will be next week because this week I attend Directions Emea.

@tglink72 issue with merge of customers, vendors and contact is fixed in:
https://github.com/Bertverbeek4PS/bc2adls/pull/59


Je hulp gevraagd !?

Thank you for this wonderful project.
As a CNC miller, the electrical part is a nice bump to take.
I follow the two schemes for the left and right digit groups.
I still follow the PCB board.
But do you also have a schedule where the 2 points are connected?
That is a mystery to me. That is certainly my ignorance!
thanks again for this great project.
dank je wel, François H

They are connected in between the segments, just follow the LEDs from right to left.


Check multiple Python versions?

The comment at the head of the GitHub actions for the Python package says that we will check against multiple Python versions. But then it looks like we actually only check against 3.7.  Should we add 3.8, 3.9, and 3.10?

Working on this in #122 We can see how that works out.


Should be able to sample points

Multiple users have asked for the ability to sample points from a series. They'd like to do something  like
select min(value) from temperatures sample by time(1d) where time > now() - 30d

The idea being that instead of doing the group by and having the resulting ticks have their timestamp set, instead the raw ticks that are sampled should be returned. So that query would actually just return all columns for each of the min datapoints for each day.
This wouldn't make sense for every aggregate function, but for things like first, last, min, max it would work. And we could add something later like random or other sampling methods I'm not thinking of.
Thoughts and feedback on this are welcome. There are probably scenarios in which you want to do sampling that maybe this won't make sense. So let us know!

+1, sigh

+1

Nevermind: AVG(value) and GROUP BY time does what I need. Cheers :)

+1, including the proposed syntax (keep it the same as GROUP BY, just with a different keyword) and the RANDOM aggregate function. Are there any plans for this?

+1

+1
I don't get why sample can't be an function.
SELECT SAMPLE(temp,10s) FROM mydata # samples spaced 10 seconds apart
SELECT SAMPLE(temp,10) FROM mydata # 10 uniformly sampled points
SELECT SAMPLE(temp,10,'random') FROM mydata # 10 random sampled points


 I deposited 117,250 Euros on January 5th, which was later turned into 310,911 Euros including my payout bonus, there was an impressive improvement in a few weeks, later I had a car accident and needed money to pay my insurance fee, And I was sent from Pillar to post, I tried reaching out to them to collect the money I invested to pay off my debts, they cut the live chats and got harassed from 1 to the other until they told me I would forever be poor, then I realized that I was being scammed. I just wanted my money back! I was advised by a friend to seek help from a recovery firm to assist me in recovering my invested funds, God was so kind I came across some great positive reviews about Daniel Meuli Web Recovery on how they helped scammed victims like me to recover their lost cryptocurrency assets, I took no delay and got in touch with  Daniel Meuli web Recovery, the Expert immediately looked into my case and after providing all the required information they need, and it took them less then a day to recover all my funds. And now I really feel obligated to recommend W.H.A.T.'.S.A.p.p +.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>  and their team, their recovery strategies, and for working relentlessly to help me recover my funds. Feel free to reach out to  Daniel Meuli web recovery and they will guide you on how to recover your invested funds, I advise everyone to be careful with these heartless cryptocurrency scammers.

 Losing money to fake investments can be frustrating, trust me i have been there. There are a lot of fake binary options, forex trading, real estate and cryptocurrency investment platforms, and i was one of the people that invested blindly. Anyway,i lost a lot of money to binary options scam but I was able to recover my funds from a very sketchy company, last year a friend and i invested all our life savings but got duped in the process. Earlier this year, we were able to use the services of Saclux Comptech Specialst ( you can google them) and we have recovered all our money. My nightmare is over, Its a whole new day here. Do be careful when dealing with investments, and you can also recover your money if you are victim of fraud, Am droping their contacting info to make it easy for those who can not goggle.
Website: https://sacluxcomptechspecialst.com
Email<EMAIL_ADDRESS>

I've been working in sales for over a decade, building a successful business empire along the way. Wanting to expand my horizons, I decided to dive into the world of cryptocurrency, with a particular focus on Bitcoin. Using the wealth of knowledge available on the internet, I began my journey into this exciting and volatile market. Initially, my investment of $500,000 quickly grew, yielding a profit of over $700,000 in less than a year. Encouraged by this success, I deposited my earnings into a Bitcoin wallet. However, disaster struck when I lost my phone. After replacing it, I realized I could no longer access my wallet, triggering a frantic search for a solution. That's when a trusted trading colleague recommended CYBER TECH WIZARD. They promised to help me regain access to my account within 72 hours. With hope and skepticism, I reached out to them. From the very first interaction, the team at CYBER TECH WIZARD displayed remarkable professionalism. They patiently listened to my predicament and reassured me that they had the expertise to resolve it. Their clear and concise communication about the steps they would take helped put my mind at ease. They kept me informed throughout the process, providing regular updates on their progress. Their transparency and dedication were truly commendable. True to their word, within 72 hours, I received confirmation that my wallet access had been restored. Seeing my balance intact was an enormous relief. But CYBER TECH WIZARD  didn't just stop at recovering my account. They went the extra mile to help me secure it against future mishaps. They guided me through implementing enhanced security measures, such as two-factor authentication and better backup protocols. Their proactive approach ensured that I was better protected moving forward. In summary, my experience with CYBER TECH WIZARD was outstanding. Their professionalism, expertise, and commitment to client satisfaction were evident at every step. They not only restored my access to my Bitcoin wallet but also helped safeguard my account against future issues. I highly recommend their services to anyone facing similar challenges in the cryptocurrency space. Thanks to their swift and effective intervention, I can now continue my trading journey with confidence, knowing my assets are secure
EXPERTISE INFORMATIONS
SEND EMAIL: cybertechwizard(@)cyberservices(.)com
WHATSAPP INFO:+185-9743-5022

I was Once a victim of a vile Bitcoin scam, I found myself ensnared in a web of deceit, robbed of a staggering $637,000 by cunning fraudsters masquerading as legitimate investment platforms. The magnitude of my loss plunged me into a dark abyss, where thoughts of despair and even self-harm lurked ominously on the periphery of my consciousness.But in the midst of my darkest hour, a glimmer of hope emerged—a lifeline extended by a trusted friend who introduced me to a formidable force in the realm of cybercrime investigation: Lee Ultimate Hacker. With nothing to lose and everything to gain, I cast my fate into their capable hands, desperate for a chance to reclaim what was rightfully mine.From the outset, Lee Ultimate Hacker exuded an aura of authority and unwavering determination. They wasted no time in deploying their arsenal of cutting-edge technology and forensic expertise to pursue justice on my behalf. Despite the daunting magnitude of my loss, they approached the challenge with a steely resolve that left no room for doubt or hesitation.In a stunning display of prowess and efficiency, Lee Ultimate Hacker swiftly traced the elusive digital footprints left by the perpetrators of the heinous scam. Within a mere matter of days, they orchestrated a masterful recovery operation that culminated in the restoration of every last cent of my stolen Bitcoin. The sheer magnitude of their achievement left me speechless, overwhelmed with gratitude and awe.What sets Lee Ultimate Hacker apart from their peers is not merely their unparalleled success rate, but also their unwavering commitment to ethical principles and client welfare. Unlike the vultures that prey upon the vulnerable, Lee Ultimate Hacker operates with integrity and transparency, charging a modest fee of 10% of the recovered funds—a small price to pay for the invaluable service they provide.To those who have fallen victim to the treacherous machinations of fraudulent investment schemes, I offer a beacon of hope: do not despair. Reach out to Lee Ultimate Hacker .AT
LEEULTIMATEHACKER@ AOL. COM
Support @ leeultimatehacker . com.
telegram:LEEULTIMATE
wh@tsapp +1  (715) 314  -  9248
https://leeultimatehacker.com
and let them unleash their formidable arsenal of skills and expertise on your behalf. Their dedication, professionalism, and unyielding commitment to justice make them a force to be reckoned with in the fight against cybercrime.In conclusion, I stand as a living testament to the transformative power of resilience and the unwavering tenacity of the human spirit. Thank you, Lee Ultimate Hacker, for restoring my faith and empowering me to reclaim what was rightfully mine. With you by my side, I stand ready to face the future with renewed vigor and unwavering resolve.

WWW.danielmeulirecoverywizard.online represents a significant advancement in cryptocurrency recovery, offering a beacon of possibility for those trapped by fraudulent schemes. In a landscape where technology evolves incessantly, their innovative methods for tracing Bitcoin addresses and identifying associated platforms or exchanges stand out as a beacon of progress. Having personally suffered losses exceeding $50,000 due to Binary Options Trading, I turned to Daniel Meuli Web Recovery for assistance, and their professional and ethical approach yielded remarkable results. Their ability to navigate the complexities of blockchain technology and uncover crucial information regarding illicit transactions speaks volumes about their expertise and proficiency. What distinguishes Daniel Meuli Web Recovery is not just their technical prowess, but also their unwavering commitment to professionalism and ethical conduct. Amidst a sea of dubious actors, their dedication to integrity and transparency instills confidence in their services. Daniel Meuli Web Recovery's emphasis on delivering "professional and ethical service" underscores their commitment to conducting business with integrity. Trust is paramount in matters of financial recovery, and their adherence to ethical standards reinforces their reputation as a reliable ally in the fight against financial exploitation. the successful retrieval of funds from a scam binary options company underscores the efficacy of their efforts. Their ability to recover what was thought to be lost forever demonstrates their effectiveness in combating fraudulent activities. This outcome solidifies their standing as a trusted partner in the pursuit of justice for victims of financial exploitation. The invitation to seek assistance from Daniel Meuli Web Recovery further highlights their dedication to helping those in need. By extending a helping hand to individuals who have been defrauded, they demonstrate a sense of responsibility and empathy that is often lacking in the digital realm..my experience with Daniel Meuli Web Recovery exemplifies their pivotal role in aiding individuals grappling with the aftermath of financial exploitation. Their innovative approach, coupled with a steadfast commitment to professionalism and ethics, positions them as a leading authority in the field of financial recovery. Daniel Meuli Web Recovery offers a reliable solution for anyone navigating the complexities of cryptocurrency fraud, promising to restore what was unjustly taken.
CONTACT.
WHATSAPP    +393512013528     OR TELEGRAM  (AT) DANIELMEULI

Words cannot express the depth of my gratitude towards Hackathon Tech Solution for their invaluable assistance in reclaiming what was rightfully mine. After months of anguish and despair following my devastating losses to investment scams, Hackathon Tech Solution emerged as a beacon of hope, guiding me towards redemption and financial freedom.It was a chance encounter with an old friend at McDonald's that led me to Hackathon Tech Solution. Desperate for solace and support, I confided in her about my harrowing ordeal, recounting how I had fallen victim to the deceitful clutches of profitblock, losing my entire pension in the process. Little did I know, her recommendation would prove to be the turning point in my journey towards recovery.From the moment I reached out to Hackathon Tech Solution, I was met with compassion, professionalism, and unwavering dedication. Their team wasted no time in springing into action, requesting proof of my transactions and diving deep into the intricate web of deceit spun by the scammers. Through a series of briefings and consultations, they meticulously mapped out a strategy for reclaiming what was rightfully mine.What followed was nothing short of miraculous. In under 13 hours, Hackathon Tech Solution succeeded in recovering everything I had lost to the clutches of profitblock. The sense of relief and elation that washed over me was indescribable, as I watched in awe as my hard-earned funds were restored to me. Within another 2 hours, the recovered funds were safely deposited into my personal wallet, marking the triumphant conclusion of a journey fraught with uncertainty.But Hackathon Tech Solution impact extends far beyond mere financial restitution. They provided me with more than just a means to reclaim my lost assets; they offered me a lifeline, a chance to rebuild and reclaim my financial future. Their professionalism, expertise, and unwavering support were a constant source of reassurance and guidance throughout the recovery process.To anyone who finds themselves ensnared in the treacherous web of investment scams, I wholeheartedly recommend Hackathon Tech Solution. Their proven track record, combined with their compassionate approach and unwavering dedication, make them the ideal partner in the fight against financial fraud. Trust in their abilities, for they are true wizards in the realm of recovery, capable of turning despair into triumph and restoring hope to those in need.Consult HACKATHON TECH SOLUTION via below contact details.
Their website is https://hackathontechsolutions.com
Email them<EMAIL_ADDRESS>Whatsapp:+31 6 47999256
Telegram:@hackathontechsolution

Exploring the terrain of online investments often resembles traversing a minefield, where unseen dangers loom at every turn. My painful lesson unfolded when I entrusted a substantial sum of $132,000 to a deceitful investment entity, only to find myself ensnared in a tangled web of deception and manipulation. Upon seeking to retrieve my funds, the once-cooperative demeanor of the company swiftly transformed into one of cold indifference. Despite my persistent efforts to establish contact via various channels—phone calls, emails, and the like—my appeals were met with resounding silence and evasion. Instead of the anticipated returns, I was met with stonewalling tactics and obfuscation. Faced with mounting desperation, I refused to capitulate to despair and sought counsel from a confidant. Their recommendation led me to the doorstep of Fayed Hacker, a glimmer of hope amid the darkness of financial malfeasance. With nothing to lose and everything to gain, I engaged their services in a final bid to reclaim what was rightfully mine.
Fayed Hacker exuded a level of professionalism and empathy sorely lacking in my prior dealings. They attentively listened to my narrative, offering solace and guidance at every juncture. In stark contrast to the faceless entity that absconded with my funds, Fayed Hacker treated me as a cherished client, deserving of their unwavering attention and commitment. What truly distinguishes Fayed Hacker is their steadfast dedication to achieving tangible results. Armed with an intricate understanding of financial fraud and a wealth of experience in fund restitution, they embarked on an unwavering crusade for justice on my behalf. Leveraging their expertise and industry connections, they deftly navigated the convoluted maze of deceit and subterfuge. Throughout the recovery endeavor, Fayed Hacker conducted themselves with transparency, integrity, and consummate professionalism. They kept me apprised of developments at every stage, furnishing regular updates on the progression of my case and patiently addressing any qualms or inquiries. Their unyielding commitment to my cause instilled within me a profound sense of trust and confidence in their efficacy. Ultimately, thanks to the tireless efforts of Fayed Hacker, the lion's share of my lost funds was successfully reclaimed. What once appeared an insurmountable obstacle had been vanquished through perseverance, determination, and the invaluable aid of a team unwaveringly dedicated to the pursuit of justice. I remain forever indebted to Fayed Hacker for restoring faith and dignity in the face of adversity, and I fervently endorse their services to any in dire need of fund recovery assistance. Contact Details as follow,
WHATSAPP:  + 1 (707) (727) (3490)
EMAIL: writeus (@) fayedhacker (.) tech  OR  fayedexperthack (@) solution4u (.) com
WEBSITE: https://fayedhacker.tech

BEST WAY TO RETRIEVE STOLEN BITCOIN AND CRYPTO -->REVENANT CYBER HACKER
Beyond just retrieving monetary assets, Revenant cyber hacker can restore lost Bitcoin. They have given the Bitcoin community hope, confidence, and peace of mind again. REVENANT CYBER HACKER reliable and safe services have made them a lighthouse for people who have encountered the shadowy side of cryptocurrencies. Their commitment to helping people and companies recover what was lost is admirable, and they have played a crucial part in the resurgence of Bitcoin. They carefully analyze the situation, including wallet details and any available information, and utilize their expertise to retrieve inaccessible or lost funds. Their comprehensive process combines technical expertise, cryptography, and the latest recovery methods to maximize the chances of successful restoration. While the REVENANT CYBER HACKER has an impressive success rate in recovering lost Bitcoin, it is important to note that each case is unique. The outcome depends on various factors, such as the nature of the issue and the available information. REVENANT CYBER HACKER team of experts works diligently to explore all possible avenues for recovery just like my case. I will advice an immediate contact with Revenant cyber hacker by using the following platform below
Email: revenantcyberhacker (AT) Gmail (dot) com
Website: revenantcyberhacker (DOT) net
Telegram: @revenantcyberhacker
WhatsApp:+1…2…0…8…4…2…5…8…5…8…4
(OR) +<IP_ADDRESS>…8…2…0…0…7.3.9

I am posting this review here because I want to be of help to everyone out there who, in one way or another, has been scammed by online platforms. After going through a lot to recover my Bitcoin, although many people told me it was impossible, I finally found a solution. If you've lost your Bitcoin as a result of investing online, using trading platforms, your account being hacked, or other Bitcoin-related scams, or if you've lost money to scammers online in any way, then you’re not alone. I lost over $94,456 to profittrading.com. Being a scam victim myself, I tried several means to recover my funds all to no avail until I came across Wizard Web Recovery online. They saved my life; all I lost to these fake investors was recouped in just a few days. A total of $94,456 in BTC was recovered. Kindly send a message to Wizard Web Recovery. My experience with online scams left me in a state of despair and frustration. I had been lured into investing with profittrading.com by promises of high returns and secure investments. Unfortunately, I soon realized that I had been deceived. When I attempted to withdraw my funds, I was met with endless excuses and eventually complete silence. Losing $94,456, a significant portion of my savings, was devastating. I felt hopeless and overwhelmed, unsure of where to turn for help. Determined to recover my hard-earned money, I embarked on a quest for a solution. I spent countless hours researching ways to reclaim my lost funds, reading through forums, and contacting various so-called recovery experts. Despite my best efforts, all my attempts were unsuccessful. The situation seemed bleak, and I was beginning to lose hope. It was during one of my exhaustive online searches that I stumbled upon Wizard Web Recovery. The positive testimonials and success stories I read piqued my interest. Skeptical yet hopeful, I decided to reach out to them. From the very first interaction, I was impressed by their professionalism and empathy. They responded promptly and requested detailed information about my case. Their clear communication and transparent approach gave me a glimmer of hope. They meticulously analyzed the details of my loss, identified the transactions, and began tracing the stolen funds. Throughout the process, they kept me informed with regular updates, explaining each step they were taking. This level of communication and transparency was incredibly reassuring, as it made me feel involved and hopeful. In just 24 hours, Wizard Web Recovery achieved what I had thought was impossible. They successfully recovered a total of $94,456 I had lost. The relief and gratitude I felt were beyond words. The funds were safely returned to my wallet, and I was finally able to breathe a sigh of relief. Their expertise and dedication were evident in their swift and effective action. Beyond recovering my funds, Wizard Web Recovery also provided invaluable advice on how to protect my investments in the future. They educated me on best practices for online security and how to recognize potential scams. This guidance has been crucial in restoring my confidence and ensuring that I am better prepared moving forward.
Wizard Web Recovery operates with the highest standards of integrity and professionalism. Their commitment to ethical practices and regulatory compliance sets them apart as a trustworthy and reliable recovery service. They truly went above and beyond to help me, and I am immensely grateful for their assistance. My experience with Wizard Web Recovery has been nothing short of miraculous. They turned a seemingly hopeless situation into a success story, restoring not only my lost funds but also my faith in the possibility of recovery. If you have been scammed and lost your Bitcoin or money online, I highly recommend reaching out to Wizard Web Recovery. They can truly make a difference in getting back your stolen funds.
( Email_ wizardwebrecovery@ programmer(.) net)
( URL_ https://wizardwebrecovery.net/ )
( WhatsApp_ +1<PHONE_NUMBER> )

Investment opportunities, particularly in the digital age, can be perilous. This was a lesson I learned the hard way when I fell victim to an investment scam that promised exorbitant returns. Initially, everything appeared legitimate, and the allure of high returns was irresistibly enticing. However, it wasn't long before the scheme's true nature was revealed. I ended up losing over $240,000, a staggering blow to my financial stability. The scam followed a predictable yet devastating pattern: every time I attempted to withdraw my money, I was instructed to pay various fees. These fees kept escalating, creating a never-ending cycle of payments without any returns. It was a harrowing experience, filled with frustration and despair. Despite my efforts to resolve the issue, it became increasingly evident that I was dealing with professional fraudsters. Desperate for a solution, I turned to Google and discovered Trust Geeks Hack Expert listed among cryptocurrency recovery services. With a mix of hope and skepticism, I reached out to them via Web-site. www://trustgeekshackexpert.com/ $ Email: trustgeekshackexpert(At)fastservice(.)com, explaining my predicament. The response was swift and professional. An expert from Trust Geeks Hack Expert promptly attended to my case, demonstrating a level of empathy and expertise that was both reassuring and encouraging. I provided the team with all the receipts and conversations I had with the scammer, detailing every fraudulent transaction and the incessant demands for additional fees. The meticulousness with which the Trust Geeks Hack Expert team approached my case was impressive. They thoroughly reviewed all the information I provided, assuring me that they would do their utmost to recover my lost funds. I was informed that the recovery process would take a few days, during which the team would trace the funds and identify the scammers' accounts. This waiting period, although filled with anxious anticipation, also brought a renewed sense of hope. True to their word, a week later, I received the incredible news: my money had been recovered. The relief and gratitude I felt were immeasurable. Trust Geeks Hack Expert not only retrieved my funds but also restored my faith in the possibility of justice and resolution in such dire situations. Their expertise and dedication were evident throughout the entire process, and the outcome was nothing short of miraculous. Trust Geeks Hack Expert's success in my case underscores the critical role of legitimate recovery services in combating internet fraud. However, it also highlights the importance of proactive measures and awareness programs to prevent such scams from ensnaring others. Education and awareness are essential tools in this battle. Potential investors need to be informed about the risks and warning signs associated with seemingly lucrative opportunities, particularly in the realm of cryptocurrency and high-yield investment. my experience with Trust Geeks Hack Expert was transformative. They not only recovered my lost funds but also provided invaluable support during a tumultuous period. Their professionalism, expertise, and dedication to helping victims of fraud are commendable. While I hope no one else endures what I did, knowing that services like Trust Geeks Hack Expert exist offers a beacon of light for those who find themselves in similar predicaments. Their work is a testament to the power of skilled intervention in reclaiming what was wrongfully taken

I am from the United States, and I am here to provide feedback on how I encountered one of the best hackers to date during a truly incredible time of misery. I lost a significant sum of money to a fictitious investor after giving this investment firm a $234,000 investment, expecting to receive the large return they guaranteed. When the time came for me to withdraw my money, the business stopped returning my calls and even ignored my emails. I was distressed that everyone around me could tell how depressed I was until a buddy came over and inquired about what was keeping me up at night.  I reached out to Email... Daniel muli weberecovery (@) email (.) com, I knew I was dealing with professionals. They listened attentively as I explained my predicament, never making me feel judged for falling victim to the scam. Their empathy and understanding were immediately comforting during a time when I felt incredibly vulnerable and helpless. After hearing my story,  Daniel Meuli Web Recovery requested the corporate email address of the fraudulent investment firm. They assured me that they would assist me in getting my money back. I was cautiously optimistic, given the extent of the scam and the amount of money involved, but their confidence and detailed explanation of their process gave me hope. What stood out to me was their thorough approach and the emphasis on cooperation. They needed information to proceed, and I provided everything they requested. Their professionalism and clear communication made it easy to trust them. They explained each step they would take and what I could expect, which was a significant relief. In less than 48 hours,  Daniel Meuli Web Recovery delivered on its promise. They could recover my funds without the company's consent, which was nothing short of miraculous. The speed and efficiency with which they operated were beyond impressive. I was kept informed throughout the entire process, which helped alleviate my anxiety. When they returned all of my money, I was overjoyed and immensely grateful. The nightmare that had consumed my life for weeks was finally over. I gave them a manageable percentage as a token of my gratitude, which felt like a small price to pay for the peace of mind and financial recovery they provided. Telegram.. (@) Danielmeuli not only recovered my lost investment but also restored my faith in the possibility of justice in the digital age. Their expertise, dedication, and genuine concern for my well-being transformed a dire situation into a victory. In an era where online scams are becoming increasingly sophisticated, finding a trustworthy and effective ally like  Daniel Meuli Web Recovery is invaluable. If you ever find yourself in a similar situation, I cannot recommend them highly enough. They are the epitome of professionalism and technical prowess, combining their skills with a heartfelt commitment to helping their clients. In order to help you recover your lost investment in Bitcoin or any other online scam, I agreed to create this post inviting everyone to get in touch with  Daniel Meuli Web Recovery.


Refactored QueryBuilder.

Refactored QueryBuilder to contain independent building blocks, directly correlated to the Tibber API types, instead of the building blocks containing the whole "path" for a specific query nested deep in the query.

Codecov Report

Merging #5 (a86de0d) into master (085987d) will decrease coverage by 0.34%.
The diff coverage is 95.65%.

@@            Coverage Diff             @@
##           master       #5      +/-   ##
==========================================
- Coverage   81.43%   81.09%   -0.35%
==========================================
  Files          24       24
  Lines         668      550     -118
==========================================
- Hits          544      446      -98
+ Misses        124      104      -20

Impacted Files
Coverage Δ

tibber/__init__.py
100.00% <ø> (ø)

tibber/types/price_info.py
64.28% <0.00%> (ø)

tibber/types/price_rating_type.py
65.21% <ø> (ø)

tibber/types/viewer.py
100.00% <ø> (ø)

tibber/client.py
87.80% <100.00%> (ø)

tibber/networking/query_builder.py
91.39% <100.00%> (-3.29%)
:arrow_down:

tibber/types/__init__.py
100.00% <100.00%> (ø)

tibber/types/home.py
89.15% <100.00%> (+6.22%)
:arrow_up:

... and 7 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e0635a7...a86de0d. Read the comment docs.


SLSA 3 compliant release process

Update the release process:

[x] Ensure the build is self-contained
[x] Add/update Makefile targets that build/push images as per guidance
[x] Update GHA release workflow

Putting this on-hold until https://github.com/rancherlabs/eio/issues/2883 is resolved.


Improve test coverage of the Notifications protocol

Code coverage is now over 90% for Notifications related code.
Fixes https://github.com/paritytech/substrate/issues/12926

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2207978

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2208411

Code coverage is now over 90% for Notifications related code.

How did you measure that?

@ggwpez
CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='/tmp/gcov/cargo-test-%p-%m.profraw' cargo test
grcov /tmp/gcov --binary-path ./target/debug/deps/ -s . -t html --branch --ignore-not-existing --ignore '../*' --ignore "/*" -o target/coverage/html

bot merge


FlagResolutionDetails reason field should accept any string

The specification for resolution details states that the reason field should be an optional string. There are some pre-defined reason values (reflected in the Reason enum), but a provider should be free to provide an arbitrary reason.
I believe the FlagResolutionDetails.reason field should be updated to store an Optional[str] instead of the current Optional[Reason].
Happy to work on the PR if this seems acceptable.
See the related issue on the SDK spec.

This relates to this issue recently opened in the spec.
https://github.com/open-feature/spec/issues/236

Sounds reasonable, but I would prefer to change it to Optional[Union[str, Reason]] if possible. Then you indicate the user about an existing set of reasons, but still you can choose to add your own.

My thinking was more about discoverability, because if it is set to str, then you wouldn't know about the predefined reasons and worst write your own.
If this will be adjusted, then we should also change the typing for FlagEvaluationDetails.

My thinking was more about discoverability, because if it is set to str, then you wouldn't know about the predefined reasons and worst write your own.

That's basically what we do in the JS SDK. You can see an example here.


DFP-ads are not centered

i use position: AdMob.AD_POSITION.BOTTOM_CENTER to display the ads in the center at bottom. While ads via AdMob follow my order, ads via DFP stay at left. Is there any trick to center them or did i found a bug? If so, can you please fix this issue? I looks broken that all ads are left-aligned at the moment.

What is the size of your dfp banner and your device screen?

Nothing special: the dfp banner is standard 320x50 and the device 1080x1920 (viewport 360x640).

as you are using standard banner not smart banner, try setting the ad size in options:
AdMob.createBanner({
adId: 'your_ad_unit_id',
adSize: 'BANNER'
});

dupplicated with #72, please discuss in that thread.


Firefox

I followed the instructions on the GitHub, however i have a binary not found error. I have Firefox installed in the default location.
here is the error massage
  File "C:\Users\User\Downloads\twitchtube - Copy (2)\main.py", line 80, in <module>
    make_video(**parameters)
  File "C:\Users\User\Downloads\twitchtube - Copy (2)\twitchtube\video.py", line 191, in make_video
    upload = Upload(profile_path, executable_path, sleep, headless, debug)
  File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\opplast\upload.py", line 34, in __init__
    self.driver = webdriver.Firefox(
  File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\selenium\webdriver\firefox\webdriver.py", line 170, in __init__
    RemoteWebDriver.__init__(
  File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line

Fixed in #99. You can specify Firefox path in config if it isn't detected automatically by geckodriver.


Deprecate currency information in locale

The locale app gives the name of the currency that is most commonly used in that locale. I suggest removing that information because I don't think it is useful. If you need to show a price in a local currency, you need to know what the local currency is, but also what the conversion is between your currency and the local currency. If you don't have both, none of them is useful. To get the conversion rate, you need to connect to some online service, and if you can do that, it should be simple to also get the local currency for at given locale.
My argument that it is not useful seems to be confirmed by the fact that no apps in this repository uses the currency information.
The reason I care about this, is because in #3268 I propose that you move to use the CLDR dataset for locales, but CLDR does not provide information about which currency each locale uses. Therefore to get that information, you need to import a different dataset and I could not find any industry standard datasets like CLDR, so it is a somewhat questionable source. If this information isn't useful anyways, I think it is best to remove it.
If you agree, I would propose that we redesign the module such that if you query the currency information, it will always return GBP and will log a warning that currency information is no longer supported.

Yes, I think that's a good plan. I never really liked having currency in there anyway. The docs on locale in EspruinoDocs and the default implementation in Espruino would need changing too.


Documentation for editing Azure Active Directory User Profile custom attribute in custom SharePoint page or PowerApp?

Thanks for providing this script. The README states, "Alternative options to edit the user profile can be implemented including a PowerApp or a custom SharePoint page to directly update the Pronoun attribute in Azure Active Directory." Where may I find documentation for implementing either of those options?

@KeithGillette I haven't had a chance to build this out yet. If you do end up building something it will be good to share it here.

Thanks, @merill. I'll certainly share any solution I may come up with. If you can provide pointers to any general API documentation for authenticating users and working with custom attributes in AAD from PowerApps or SharePoint or in general, that would be helpful in getting started.

FYI Microsoft 365 may soon be getting an OOTB feature to show gender profile so you might want to hold off on building a custom solution just yet.


bug: mwaa requirements file

Issue #, if available:
https://linear.app/chipper-cash/issue/DATAP-122/bug-mwaa-requirements-file
Description of changes:

Update docker-compose bind mount to point to ../dags/requirements.txt
Remove the now unused requirements.txt

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Wrong base branch.  Sorry.


WIP: Source generated actor clients

Description
Adds a .NET source generator that can be used to generate strongly-typed clients for interacting with actors, per proposal in #1158.
Changes include:

Adds a separate Dapr.Actors.Generators NuGet package that contains the source generator
Adds a unit test project, Dapr.Actors.Generators.Test for the source generator
Adds a separate E2E test project Dapr.E2E.Test.Actors.Generators
Adds a new example for using the source generator

Strongly-typed clients are generated by:

Referencing the Dapr.Actors.Generators NuGet package.
<Project>
  <ItemGroup>
     <PackageReference Include="Dapr.Actors.Generators" Version="x.x.x" />
  </ItemGroup>
</Project>

Add the Dapr.Actors.Generators.GenerateActorClientAttribute to the actor interface.
using Dapr.Actors.Generators;

namespace Sample;

internal sealed record SampleState(string Value);

[GenerateActorClient]
internal interface ISampleActor
{
    [ActorMethod(Name = "GetState")]
    Task<SampleState> GetStateAsync(CancellationToken cancellationToken = default);

    [ActorMethod(Name = "SetState")]
    Task SetStateAsync(SampleState state, CancellationToken cancellationToken = default);
}

The Dapr.Actors.Generators.ActorMethodAttribute can be used to map interface methods definitions to specific actor methods should the names differ (e.g. the interface uses "Async" suffix common in .NET but the actor methods do not).

A strongly-typed client will be generated that can be used to invoke actor methods.
using Dapr.Actors;
using Dapr.Actors.Client;
using Sample;

var proxy = ActorProxy.Create(ActorId.CreateRandom(), "SampleActor");

using var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(30));

var client = new SampleActorClient(proxy);

var state = await client.GetStateAsync(cancellationTokenSource.Token);

await client.SetStateAsync(new SampleState("Hello, World!"), cancellationTokenSource.Token);

Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #1158
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[ ] Extended the documentation

@philliphoff - Is this still a WIP or is it ready for review?

@halspang It's ready for review, assuming the parent proposal is accepted without significant changes.  (Happy to have feedback, but I know the maintainers have been busy with other things.)

The remaining integration test failures seems to be a preexisting flaky actor timer test.  (It's also failing for PRs that make no code changes.)


can't use enviroment variable

I noted i can't use the enviroment variable in my template [commit: 4b6c048]. I made some testing with this template:
[export TEST=succes]
{% if environ.TEST is defined %}TEST={{ environ.TEST }}{% endif %}
I pin-poin the issue at this line:
env.globals['environ'] = os.environ.get
I'm not an expert with jinja2, but i think you need to pass a dictionary (I noticed an iterable is fine) and not a fuction.
I fixed by changing the line with:
env.globals['environ'] = dict(os.environ)
or (becouse os.environ is iterable)
env.globals['environ'] = os.environ
I think the functionality need to be documented in the README.

The intended usage is:
{{ environ('FOO') }}
{{ environ('FOO', 'somedefault') }}

So the behavior I have now is correct. This is the same as doing os.environ.get('foo', bar')

And yeah, I didn't realize this wasn't documented. Should definitely add that.

(sorry if i bother you.. but just for the records)
This is down to choice in the program behavior, but with your approach you can't use the "is define" statement. A possible work-around is to  do the followings:
{% if environ('FOO', False) %}

@wifasoi I'd do this:
{% if environ('FOO') is none %}
it doesn't exist
{% else %}
{{ environ('FOO') %}
{% elseif %}

So instead of is defined you can just as easily use is none.


ci(release.yml): replaced hardcoded php and node versions  with github variables

:tada: This PR is included in version 3.0.13 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Android studio does not pick up generated source

Running my build from the command line works.  Running the build from within Android Studio works.  The editor shows the generated DaggerXxxx classes as missing.  The build/generated/source/apt directory is not in the generated .iml file.  When I add an item to sourceSets.main.java.srcDir it does get picked up.

Did you apply plugin: "idea" to your project?
IntelliJ IDEA (and derivatives such as Android Studio) won't be configured if that's not the case.

Great thanks that fixed it!  I incorrectly assumed that Android Studio replaced IDEAs build system so that plugin would not apply.


GET vep/:species/region/:region/:allele/ endpoint dbNSFP option fails silently when improper field passed

Hi! First off thanks for the tool, it's really cool.
Context
For a project I'm working on the science peeps want to query multiple fields pulled from the dbNSFP README linked from the endpoint docs. The issue is when multiple were entered we were getting no results. My main suspicion based on the testing below is that one of them is formatted incorrectly/deprecated, but the issue is that with hundreds of fields, it's hard to drill down and find out which one as the returned JSON result does not indicate any failures.
The issue
Something I noticed is that when using the dbNSFP option when querying the vep_region_get endpoint: (https://rest.ensembl.org/documentation/info/vep_region_get) is that no information is added to the returned result with no indications that it failed as long as a single field passed to the endpoint is non-existent/improper.
Here's an example of a successful query I sent where dbNSFP data was successfully returned:
Query: https://rest.ensembl.org/vep/human/region/9:35075022/T/?content-type=application/json&dbNSFP=MutationTaster_pred
Result: dbNSFP_successful_request.txt
Then when a dud field is appended, no extra dbNSFP data is included at all:
Query: https://rest.ensembl.org/vep/human/region/9:35075022/T/?content-type=application/json&dbNSFP=MutationTaster_pred,fakefield
Result: dbNSFP_failed_request.txt
There's a few issues I have with this behavior:

dbNSFP information is all or nothing. If a single field is bad, it will cause none to be included in the final response
It fails silently. The returned JSON will have no indication that the dbNSFP portion of the query failed. This makes it impossible to distinguish a query where the dbNSFP fields were improper from a query where the specified variant just didn't have any associated dbNSFP information for the queried fields.

Desired Outcome
I think ideally the endpoint would make a note somehow that the dbNSFP query failed, and if it's available note which fields were not found.
Workarounds
By reading through the dbNSFP plugin details linked from the endpoint docs I found that "ALL" can be used as an endpoint option to query everything. This worked for our situation since we already wanted to query so many fields, and could then just filter out the unneeded ones.

Hi @tenzinhl,
We have now fixed this for release 110. When asking for invalid fields, the dbNSFP plugin will return those invalid fields with the value invalid_field. This way, you get data for the valid fields and you know which ones are invalid.
Thanks for opening this issue and sorry for the delay in answering/fixing.
Best,
Nuno
PS: @sgiorgetti Could you please close this ticket? Thanks!


i want to use Elasticsearch for a search functionality in my application,can i have any references of how to use elasticsearch in Yii2 framework

https://github.com/yiisoft/yii2-elasticsearch/blob/master/docs/guide/README.md


Move demo-* builds to only system packages

The demo-* builds install gRPC and Protobuf because some libraries do not compile with the versions packaged with the underlying distro.
We should disable the libraries that do not work.  It is probably more important to show how customers can use the system packages for our dependencies than to show how to compile the latest and greatest version.
We can add another builds that builds everything from source if we think it is important to show how that can be done.

We think this is worth doing. Consider as part of binary packages project.

We need to investigate whether this is maintainable over the long run.


Lack of menu contrast in Classic theme

In the Classic theme on Windows, the menus are gray on gray with very little contrast.
The Dark theme has nice high-contrast menu colors, but my eyes do better with light themes.
Would it be possible to have a more normal high-contrast menu in the Classic theme, similar to standard Windows apps?

Unfortunately we are just about to start the 1.2 UI refactor where we will likely be redoing the entire theme system anyway. The good news is the new system will potentially allow for more flexible user defined themes but the downside is that weMre unlikely to be making any UI changes in the current theme. I’ll keep these two open so we can keep an eye on them while we are working on the new UI, but unlikely to see any changes soon unfortunately.

Closing this as it will be handled by #207


Fedex "Home Delivery" is Tues-Sat

use a different business days calculator
option for absolute "pickup_date" instead of relative "turn_around_time"

Change looks good. I restarted your build. If it fails again, can you skip the offending USPS integration test and get the build green. Then I can merge.

Test can be skipped separately.

Released in 1.6.2


Demo: automate version selector

The version selector on the demo application is configured from the version.json asset file.
Currently this file is maintained manually, which can lead to an empty selector if a new version is released without the version.json being updated (see #1483).
The goal of this ticket is to find a way to automate the version selector so that it stays up to date with each new release without manual intervention.

Efforts abandoned for now, manual documentation can be found here https://github.com/swisspost/design-system/wiki/How-to-do-a-major-release. Will revisit when major release workflow is more clear.


Custom error support in Ethereum ABI

Add support for specifying custom error definitions between FFI and ABI as described in https://github.com/hyperledger/firefly-evmconnect/pull/42

Codecov Report

Merging #31 (83ca0fd) into main (21e2d61) will decrease coverage by 0.70%.
The diff coverage is 53.65%.

@@            Coverage Diff             @@
##             main      #31      +/-   ##
==========================================
- Coverage   99.50%   98.80%   -0.71%
==========================================
  Files          34       34
  Lines        2634     2674      +40
==========================================
+ Hits         2621     2642      +21
- Misses          8       25      +17
- Partials        5        7       +2

Impacted Files
Coverage Δ

pkg/abi/abi.go
97.73% <0.00%> (-2.27%)
:arrow_down:

pkg/ffi2abi/ffi.go
95.35% <61.76%> (-4.65%)
:arrow_down:

cmd/config.go
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Melissa screenshots

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/msteams-docs, working directory: W:\xaks-s, target branch: Melissa-Screenshots, target branch commit: 07d0825da52bb4dd1434eba390794e7d3efce1aa, source branch: 65f98abd6271485de5cdedfcdce6ebee/Melissa-screenshots, source branch commit: .

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


higher-level function needed in adwin.py

Currently, the notebooks still have to manually chain functions together to do necessary conversions.
There should be a super function that collects these together for convenience.

Are you already using to_adwin or is this the function that you're looking for?

No, I think at the moment we use adwin.add and adwin.output.

@vukics If you give me a list of anything else that  you need in this function, then I can update to_adwin with what's missing.

You tell me what I need :)
to_adwin should convert a timeline to ADwin output, that’s what I need :)

Lol, well fair enough.
I do consider you the high-wizard of ADwin though, so once PR-ed, you can let me know how it fares in the real world.


Added SAIL to software support

Added SAIL library to software support.
Pull Request Checklist

[x] CLA Signed: Have you signed the Contributor License Agreement (individual or corporate, as appropriate)? Only contributions from signed contributors can be accepted.
[x] Authors: If this is your first contribution, have you added your name to the AUTHORS file?
 You can use ./ci.sh lint for automatic code formatting.

Please review the full contributing guidelines for more details.

Thanks!


Filesystems - Invalid options in Performance tier drop down menu when creating new Filestore instance

When creating new filestore instance, options for STANDARD and PREMIUM exists in the drop down menu, which should be removed as they are no longer valid params.
Terraform log output
`
Error: Invalid value for variable
on main.tf line 20, in module "htk-fe-filestore":
20:   filestore_tier       = "STANDARD"
├────────────────
│ var.filestore_tier is "STANDARD"
The preferred name for STANDARD tier is now BASIC_HDD
https://cloud.google.com/filestore/docs/reference/rest/v1beta1/Tier.
This was checked by the validation rule at
modules/filestore/variables.tf:74,3-13.
Error: Invalid value for variable
on main.tf line 20, in module "htk-fe-filestore":
20:   filestore_tier       = "STANDARD"
├────────────────
│ var.filestore_tier is "STANDARD"
Allowed values for filestore_tier are
'BASIC_HDD','BASIC_SSD','HIGH_SCALE_SSD','ENTERPRISE'.
https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/filestore_instance#tier
https://cloud.google.com/filestore/docs/reference/rest/v1beta1/Tier.
This was checked by the validation rule at
modules/filestore/variables.tf:82,3-13.
`

Hi Injae,
Just to confirm, are you using the front end, or deploying using a specific blueprint?
Thanks!

This is for the front end when deploying a new filesystem

Thanks, I will investigate.

mattstreet-nag already had a PR for this. He is submitting a fix soon.

PR #749 has been merged into develop, which removes the invalid filestore options.
We will keep this issue open until the change makes it into a release on the main branch, which should be in a couple of weeks. Thank you for reporting this!

Since the code in question was not part of a release yet and its fixed on develop, I'm closing this issue as completed.


Add support for nvim-cmp

nvim-cmp has recently switched to using a floating window instead of vim's native completion popup. Some new highlighting groups have been added for this:
CmpItemAbbr
The abbr field.

CmpItemAbbrDeprecated
The deprecated item's abbr field.

CmpItemAbbrMatch
The matched characters highlight.

CmpItemAbbrMatchFuzzy
The fuzzy matched characters highlight.

CmpItemKind
The kind field.

CmpItemMenu
The menu field.

Related #103


Auto-register on resolve

To be completely honest I haven't used this library yet. I was just reading the documentation and then I saw this line of code:
container.autoregister(MyService.self, initializer: MyService.init)

And then I  thought, well in that particular case why would you need to register the service at all? I come from a PHP background and in the Laravel framework the container has this feature that you can ask it to resolve a concrete class that you haven't even registered in it, because it can just auto-resolve all the bindings on the fly.
Wouldn't that be possible here too?

the registration has to happen somewhere. This is limitation of Swinject rather than SwinjectAutoregistration.
And I don't think you can do this in Swift anyway - how would Swinject know which init to use?


Remove ParticleContainer.logWs

VarInfo.logw seems a more appropriate place to store log weight than ParticleContainer.logWs , since VarInfo.logw is sampler independent.

Closed by #318


fix: delegate directive

The description of the delegation type was wrong.
This PR also adds description to type and fields.

/AzurePipelines run


chore: Emit an error for the 'return' expression

Related issue(s)
Resolves #1190
Description
Emit the Early 'return' is unsupported message for the 'return' expression
Dependency additions / changes
N/A
Test additions / changes
Added return_validation
Checklist

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt with default settings.
[x] I have linked this PR to the issue(s) that it resolves.
[x] I have reviewed the changes on GitHub, line by line.
[x] I have ensured all changes are covered in the description.

Documentation needs

[ ] This PR requires documentation updates when merged.

Additional context
N/A

My guess is that return should be under atom instead.

@jfecher A 'return' statement fails with an additional error when not followed by a semicolon, but I guess it's not an issue to allow that.

@pczarn you should be able to remove the semicolon error by adding an appropriate case for Return in Statement::add_semicolon which controls whether a semicolon is required or optional.

@jfecher Fixed according to your advice.

Closing as #1330 was merged


"Last message sent out" in Object-Tree

In The Object-Tree I can see "Last received request" - which is the last massage I send to the Bot.
I wish I could also have an object which is the last message sent out by the bot.
I want to react on massage from the bot - which were sent from any source (Iobroker, API).
The use case I have: My phone sents out an API Massage to the Telegram-Bot when my Smartphone Batterie is completly full - at this moment I want to disable the power plug.

Noby can help. I´ll gess there will be more use cases ?

I think, that is what you need.


Data sources, added protocol select option

CLI, DS added listing available protocol for every data source in ds info command
CLI, DS added protocol selection/switching in res open command
DS added support for OPeNDAP protocol in OpenDataPortal (HTTP) datasource

Current coverage is 73.97% (diff: 16.04%)

Merging #99 into master will decrease coverage by 0.21%

@@             master        #99   diff @@
==========================================
  Files            33         33
  Lines          5480       5507    +27
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           4066       4074     +8
- Misses         1414       1433    +19
  Partials          0          0

Powered by Codecov. Last update 205ef89...5db3be4

This branch has conflicts that must be resolved


Implemented support for non-HTTP bindings

Implemented support for the following binding protocols: "msmq.formatname", "net.msmq", "net.pipe", "net.tcp".
Implemented support for setting the "EnabledProtocols" property.
Test-* functions updated to return $true if the tested object is valid, is in the desired state, and does not require modification.
The module was redesigned and refactored.
Unit tests updated.

Hi @SNikalaichyk, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Add-windowsfeature should not be needed for unit test, and is not included in the current unit test suite.  Please merge with the latest code.

Hi @TravisEz13,
Your requirements have been implemented.

MSFT_xWebsite.psm1 line 866-869
        catch
        {
            throw $_.Exception.Message
        }

You should throw the exception, not the message.

MSFT_xWebsite.psm1 - General
Could we please move any verbose messages into the LocalizedData and call them like:
Write-Verbose -Message ( @( "$($MyInvocation.MyCommand): "
        $($LocalizedData.Key) -f $Parameter
        ) -join '')

When we eventually get around to PRs that do translation of the strings we can reference the right things.
MSFT_xWebsite.psm1 - Line - 51/140
Could we change this to use the Helper Module located in the root of the DSCResource Folder so we consistently throw the same message?
MSFT_xWebsite.psm1 - Line 94
Why are we adding Id as a return in Get-TargetResource? It doesn't look like we've added it as a parameter else where. Could we remove it?
MSFT_xWebsite.psm1 - Line 344
Why is this changed to elseif from else? Ensure can only be 'Absent' or 'Present'  so we have no need for a third option, could we please revert this?
MSFT_xWebsite.psm1 - Line 530
Out of curisoty why are we filtering this to http/https can we have duplicate bindings with other protocols?
MSFT_xWebsite.psm1 - Line 946/947
Could you change this to [ValidateNotNullOrEmpty()] that covers both of these checks.
MSFT_xWebsite.psm1 - Line 689
In the Format-IPAddressString you throw an exception if it can't format but then catch and rethrow the exception. Let's just move this catch into the Format-IPAddress and handle it there (or just remove the try/catch in format-ipaddress and bubble it up here).

Implemented.

MSFT_xWebsite.psm1 - Line 946/947
Could you change this to [ValidateNotNullOrEmpty()] that covers both of these checks.

I allow null and empty strings to be passed to the Format-IPAddressString and Test-PortNumber helper functions, not disallow.

MSFT_xWebsite.psm1 - Line 530
Out of curisoty why are we filtering this to http/https can we have duplicate bindings with other protocols?

Yes, it is possible to add identical non-standard bindings (such as "net.tcp") to different sites.

Please include a summary of changes in an unreleased version change per the contribution guidelines

Can you please re-run AppVeyor CI? For some reason it timed out during the last commit.

I triggered a rerun in AppVeyor.  It hasn't started yet.

LGTM. Thanks @SNikalaichyk


Add latest update date from stewardship doc

Use the data from the stewardship doc to add a 'Last updated on ' line to the end or beginning of the AGOL description.
Read the stewardship doc in and add its info to the metatable_dict.

I think it is a good idea to make this work symbiotically with the forklift pallet since it is common for people to forget to update the stewardship doc...

Could you please explain what you mean by working symbiotically with forklift? I don't know enough about forklift to understand how/where it would set a last updated date somewhere outside of the stewardship doc.

sure, the agol forklift pallet runs when the data actually changes which is a good hook to update the update date of the agol item's metadata. When someone forgets to edit the stewardship doc after an update, the forklift pallet would catch that and keep the date sync'd up with reality.
On the other hand when someone remembers to update the doc this tool will update the metadata. I think the symbiosis would be along the lines of, if forklift updated the date and the stewardship doc had an older date, when your tool runs or vice versa don't change the date to be older than what is currently there?

I'm going to leave this as a v2.0 enhancement. The data team is considering tracking the last updated date manually in the database's metadata description field.

Last updated date will be included in the metadata's description field, which gets pulled in via the metadata checks.


Expose bridge information and if doorsense is installed

This should allow us to prevent home assistant from adding entities that do not have a bridge (connect) which will not work and fix https://github.com/home-assistant/home-assistant/issues/29980

looks great, thanks!


Failed to enable unit: Unit file ratbagd.service does not exist.

Guys, just quick easy probably question and im removing it.
[root@localhost gpiro]# systemctl enable ratbagd
Failed to enable unit: Unit file ratbagd.service does not exist.
It is a last command, hehe, to complete installation in order to launch piper.
Im running RHEL 9.1, perhaps someone can quickly offer help?
Addition:
Also,
[root@localhost ~]# ratbagd
ratbagd error: Failed to start ratbagd: Permission denied
Why so?
Thanks

Did you build from source? How did you do it, and what were meson and ninja's outputs?

Hi @staticssleever668 ,
All installation went completally fine, every single command.

Solved by re-installing.

Solved by re-installing.


Fixed a null argument exception that occurs if the parameterDescription.Type is null

It's possible for a route parameter to have a null type.
Simple, but Contrived Example
[HttpDelete"api/{officeId}/{userId}")]
public ActionResult DeleteUser(string userId)
{
...
}
In this case officeId is in the route but not used by the endpoint.  ApiExplorer gets the type from the endpoint parameters, so in this case when you call .Type, you get null for officeId.

Thanks! I will port this fix it to Swashbuckle.Examples.

Released https://www.nuget.org/packages/Swashbuckle.AspNetCore.Examples/2.6.1

Thanks! I will port this fix it to Swashbuckle.Examples.

Hmm, not sure it's needed there, it doesn't seem to throw an exception. I'll leave it for now.


Micro wake word integration in S3 Box firmware

Configuration selector to change the wake word engine location

Ability to switch wake word engine location in the middle of the pipeline run, the device waits the end of the pipeline and switches engine seamlessly.
Default wake word for micro wake word as a substitution for customization

Compiled firmware is available here to install via https://web.esphome.io/


navigate: Fetch messages if not avaialble in navigate_to_end.

When we go to a topic narrow message using search or using a link and message is somewhat at a beginning of a topic with large number of messages, using "End" keyboard shortcut or the "Scroll to bottom" arrow in UI results in scrolling till the last message that is available and then remaining messages of the topic are load and shown below. Instead it should go to the actual end of that particular topic.
So, we check that if the newest message of that topic is not available, we fetch the messages from server and scroll down till the end of the topic using "narrow.activate".

Fixes: #22986.

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

This is ready for review.
A couple of questions -

Do we want to do the same when pressing End when in a stream narrow? The current behavior is same as that was for the topic.
The issue mentions about likely similar bug with Home key. I just wanted to confirm the desired behavior before starting work on it. For the End case we need to fetch the messages from server for some special cases where we go to the starting messages using search or anything else but not by simple scrolling. But for Home key, we would need to fetch the messages from server, most probably, in all cases.

@timabbott let me know if you need anything from me on this issue; I think you have more context than I do to review and answer questions.

@alya what do you think about dropping this from the release goals set, or at least prioritizing it below the other release goals we're focusing on? The reason we had it there is that the "Go to bottom" button is new, but the bug has been present forever for the equivalent End keyboard shortcut. I think it'd be nice to fix but it's not a new issue and is looking to be a nontrivial fix.

Closing as fixed in #30346