Add autocomplete support for Module and struct.dataclass.

Yes adding a comment in the code (not the PR) is ideal so that future
readers immediately can understand
On Thu, Aug 5, 2021 at 12:38 PM andsteing @.***> wrote:

@.**** approved this pull request.
It's really great that this works, but I don't understand from your
comments why it's working. If you could extend a bit in the code or the
PR that would be interesting...
In flax/linen/module.py
https://github.com/google/flax/pull/1478#discussion_r683323149:

@@ -51,6 +52,20 @@
_CallableT = TypeVar('_CallableT', bound=Callable)

+_T = TypeVar("_T")
+
+def dataclass_transform(
You already import this?
In flax/struct.py
https://github.com/google/flax/pull/1478#discussion_r683335115:

@@ -39,7 +39,24 @@
import jax

-def dataclass(clz: type):
+
+# This decorator is interpreted by static analysis tools as a hint
+# that a decorator or metaclass causes dataclass-like behavior.
+_T = TypeVar("_T")
+def dataclass_transform(
Should we really add dunders to this?
I don't know that from other libraries, maybe you found some guidance on
when to use them?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/flax/pull/1478#pullrequestreview-723182560,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAJFUUBGMWMBQZWXZ5PEUTT3JSZ5ANCNFSM5BTQZJKA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

This is going to be a huge quality-of-life improvement for Flax!

Codecov Report

Merging #1478 (657e778) into main (1a24c4d) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1478      +/-   ##
==========================================
+ Coverage   82.38%   82.42%   +0.03%
==========================================
  Files          65       65
  Lines        5359     5370      +11
==========================================
+ Hits         4415     4426      +11
  Misses        944      944

Impacted Files
Coverage Δ

flax/linen/module.py
94.26% <100.00%> (+0.05%)
:arrow_up:

flax/struct.py
96.66% <100.00%> (+0.44%)
:arrow_up:

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 1a24c4d...657e778. Read the comment docs.


User manual chapter: "Getting started with Cynthion and Facedancer"

Work in progress is on documentation branch:
https://github.com/greatscottgadgets/cynthion/tree/documentation

Merged in #33


Index was outside the bounds of the array

This might have been caused by a game crashing my PC, given that no one else has raised it in the past week or so.
The data on playtime and resources used is no longer being provided, just this error every time I close a game.
Any advice on how to fix this would be appreciated.
GameActivity_2023-05-12.zip

Could someone add some error handling to catch this, and give a clearer picture of what has happened when it's triggered?

I got a solution I can live with using some trial and error. Please disregard the error handling comment. I'm sure it's fine.


Repo template files

the files to create the inital repo for the discord connector
Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc.

Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email<EMAIL_ADDRESS>to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to<EMAIL_ADDRESS>and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

Unit tests

Code coverage information

Integration tests

Details about the test cases and coverage

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no
Ran FindSecurityBugs plugin and verified report? yes/no
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Lets rename ballerina/new.bal to ballerina/client.bal and add the copyright header.

@HussainLatiff shall we add .gitattributes file and .gitignore file ? In the connector-template we hv these files.

Lets remove following files:

build-config/resources/Dependencies.toml
build-config/resources/first.bal

Lets move build-config/resources/icon.png file to ballerina directory.

@HussainLatiff I think you have missed adding the github workflow files and the PR template file. Can you add those as well ?

@HussainLatiff shall we update the Build from the source section on README.md by referring to Ballerina Zendesk connector [1]
[1] - https://github.com/ballerina-platform/module-ballerinax-zendesk/?tab=readme-ov-file#build-from-the-source


Make the texts translatable

Make it possible to translate the game texts to different languages. Well, you could branch the game and change all the texts inside the branch, but that's not very handy.
One possibility: each language were each in different JSON file. The main "adventure" JSON would include some sort of string keys, and the game engine would look up the correct strings according which language was chosen (by the user or perhaps the administrator).
Can be partially implemented with #26. In addition, you need a language selection mechanism.

The separate texts.json in 0.2. goes a long way towards translability.

9e5cd95 also helps.


Plugin not working?

I've installed the 2.03 version, downloaded as a zip from the builds directory of this repo. This is a fresh WordPress installation, running under Apache 2.4 (PHP 5.6.5) on Windows 10 (64 bit).
If I enter our Adobe API details under Settings/Adobe API the result is the message, "Failed. The server's response wasn't recognized." flashing up in a red bar at the top of the screen. If I check in Firefox Developer, I see a POST to /wp-admin/admin-ajax.php?action=save_settings, and the response is:

Deprecated:  Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0

Warning:  Cannot modify header information - headers already sent in Unknown on line 0

Warning:  Cannot modify header information - headers already sent in C:\Users\Toby\Documents\projects\DPS 2015\wp-test\wp-content\plugins\digital-publishing-tools-for-wordpress\classes\cms-modules\wordpress\dpsfa-cms-wordpress-ajax.php on line 547

{"code":300,"message":"SSL certificate problem: self signed certificate in certificate chain","options":null,"raw":null,"settings":{"company":"Sunday","key":"aaa-bbb-ccc-ddd","secret":"xxxx-xxxx-xxxx-xxxx","device_token":"GREATBIGDVEICETOKENSTRING","refresh_token":"","access_token":"","authentication_endpoint":"https:\/\/ims-na1.adobelogin.com\/","authorization_endpoint":"https:\/\/authorization.publish.adobe.io\/","ingestion_endpoint":"https:\/\/ings.publish.adobe.io\/","producer_endpoint":"https:\/\/pecs.publish.adobe.io\/","product_endpoint":"https:\/\/ps.publish.adobe.io\/","portal_url":"https:\/\/publish.adobe.com\/","request_id":"aaa-bbb-ccc-ddd-eee","tooltips":"1","auto_preview_toc":"1","preset_template":"","htmlresources":"","login":"","password":"","appMode":"app","apiVersion":"2","publications":[],"permissions":[],"devices":[],"templates":[{"name":"article.php","path":"C:\\Users\\Toby\\Documents\\projects\\DPS 2015\\wp-test\\wp-content\\plugins\\digital-publishing-tools-for-wordpress\/publish-templates\/article.php","modified":"September 29 2015 14:27:51"}],"defaultTemplate":"","defaultPublication":"","collectionDefaults":[],"importRules":[],"version":"2.0.3"}}

(I've obscured some of the sensitive data)
Our API details do get saved, and appear if I refresh the page, I don't think it's working though. Nothing appears under 'Authorized publications' and if I click the 'Refresh list' link an error appears in Firefox's console:
Error: Settings.getSettings is not a function
$scope.refresh@http://dps2015/wp-content/plugins/digital-publishing-tools-for-wordpress/app/scripts/controllers.js?ver=4.3.1:58:3
ib.prototype.functionCall/<@http://dps2015/wp-content/plugins/digital-publishing-tools-for-wordpress/app/bower_components/angular/angular.min.js?ver=4.3.1:199:301
Ec[c]</<.compile/</</f@http://dps2015/wp-content/plugins/digital-publishing-tools-for-wordpress/app/bower_components/angular/angular.min.js?ver=4.3.1:216:74
Pe/this.$get</n.prototype.$eval@http://dps2015/wp-content/plugins/digital-publishing-tools-for-wordpress/app/bower_components/angular/angular.min.js?ver=4.3.1:126:11
Pe/this.$get</n.prototype.$apply@http://dps2015/wp-content/plugins/digital-publishing-tools-for-wordpress/app/bower_components/angular/angular.min.js?ver=4.3.1:126:236
Ec[c]</<.compile/</<@http://dps2015/wp-content/plugins/digital-publishing-tools-for-wordpress/app/bower_components/angular/angular.min.js?ver=4.3.1:216:124
m.event.dispat[…]

Should this work ok, have I done something wrong? Let me know if I can provide any more details.
Toby

If it helps at all, if I connect using the PHP SDK (https://helpx.adobe.com/digital-publishing-solution/help/content-producer-service-sdk.html) using the same credentials, I can get a list of all publications to which the user associated with the API key has access, so that all seems to be ok.

It also seems to work ok on Ubuntu server 14.04 LTS

@toby1kenobi the plugin uses ajax to communicate with WordPress. We've released a new version of the plugin that should help resolve some of the ajax issues with PHP warnings. You can try updating the plugin and see if this resolves you issue. I did notice you're getting an "SSL certificate problem." Ajax will not work if you have a certificate issue, so you will want to resolve that before trying it again.


corelens: add support for multiple kmods in skip_unless_have_kmods

skip_unless_have_kmods can now take a list of modules as strings. Skip if any of the modules in the list are not present.

@richl9 the changes  look great, but they'll need to be rebased on a more recent version of the main branch. You'll notice drgn_tools/v2 is gone now.


Merge Codebase fixes

Merge once we're ready to move on to heavier development, hopefully with an easier build system set up

Will merge as soon as we get the shadow jar build set up, otherwise this project is not buildable.


Usability: Decouple API from thread model

The current architecture forces a specific thread model that does not suite all situations. I would like to see threads moved out of the library, allowing the application to decide on the thread model to utilize.
An alternative could be to support two model, one with threads and one without. But, I think offering the async thread model as a separate library that builds on top of this one would be best. I know there is already SyncClient, but its composed of the async client, meaning the thread pool is still created and used.

For some ops, e.g., set, get, it is quite doable to have a implementation without creating new thread as the SyncClient, for some ops, e.g., lock, we will need to maintain a lease and keepalive it periodly in the background to implements the correct semantic.
I have proposed another appoarch in #12, where a seperate thread pool will be associated to a client, and the thread pool will be destroyed once the client got destructed. How do you think about such solution ?
BTW may I know the background about why you need to avoiding creating thread?

My use case is a distributed system. Depending on the platform, there may be limited threads while most are needed for other purposes. Beyond that, forcing a particular threading model reduces usability across all use cases. The API could be refactored to expect functions to be called within threads created by the application.
True downsides the the present approach include assumptions around signal handling, size of thread pool, and number of dependencies. Are the threads created using the parents signal mask or with all blocked? How might that affect an application? Size of thread pool relative to the CPU and competing priorities?
Do one thing really well and provide an interface for others to do an additional thing on top. In other words, there’s no reason the thread model need be tied to the implementation of the client.

Re #12, a compromise would be to allow the consumer of the API to provide an implementation of a thread pool interface, thereby allowing the application to control thread creation. I still feel removal of threading from the library entirely is the better approach.

Agree with the points above.
I will try to revise the implementation the SyncClient, and makes the Client a wrapper around the SyncClient. Some operations, e.g., lock, watch, keepalive, will be hard to use under the sync client, as it requires the user to maintain more contexts and the library will rely on those contexts. But with Client (the async interface), those ops will be more friendly.
I have try to split a build target etcd-cpp-apiv3-core to contains the sync part to avoid requires the boost asio and initializing the internal thread pool inside cpprestsdk, even it doesn't require that.
Thanks for the insights, your driven cases has convinced me.

BTW supporting the users to "provide a thread pool interface" won't happen soon, IMO, as we requires cpprestsdk to work, it will initialize its own boost thread pool, and I haven't find a good alternative for the future/promise feature in the cpprestsdk.

What I'm saying is that cpprestsdk should be removed from the library and left to the consumer to decide whether to use it. That said, there are sufficient differences in approach that I will need to move forward with a separate implementation.

What I'm saying is that cpprestsdk should be removed from the library and left to the consumer to decide whether to use it. That said, there are sufficient differences in approach that I will need to move forward with a separate implementation.

Yes. In my previous comment, where the cpprestsdk will be removed from the etcd-cpp-apiv3-core, where I think only grpc and protobuf will be included.
And an extra wrapper etcd-cpp-apiv3 will includes the async client and depends on cpprestsdk.
Here etcd-cpp-apiv3-core and etcd-cpp-apiv3 are referred to CMake build targets.

What I'm saying is that cpprestsdk should be removed from the library and left to the consumer to decide whether to use it. That said, there are sufficient differences in approach that I will need to move forward with a separate implementation.

Yes. In my previous comment, where the cpprestsdk will be removed from the etcd-cpp-apiv3-core, where I think only grpc and protobuf will be included.
And an extra wrapper etcd-cpp-apiv3 will includes the async client and depends on cpprestsdk.
Here etcd-cpp-apiv3-core and etcd-cpp-apiv3 are referred to CMake build targets.

The decouple of API and thread model is implemented and documented in https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/pull/130


Cannot trace mathematical operators

The tracer does not pick up mathematical operators, like + and *, because they are not reported by sys.settrace or sys.setprofile. Closely related to #10.

Once #13 is implemented, this issue can be fixed by rewriting UnaryOp and BinOp AST nodes as calls to the corresponding functions in the operator module. Likewise for attribute getters and setters and indexing.


Add Mypy and Coverage.py

🚀 Feature Request
💡 Got a brilliant idea?
Currently, our test coverage is not being tracked. Also, we want to abide by Mypy typing
🤔 Is your feature request related to a problem?
We don't have adequate coverage reporting.
🎉 Describe the solution you'd like
Add mypy and coverage.py to our tox file.

Merged. Thanks @the-praxs


AddAspNetIdentity doesn not exist in AddIdentityServer

hi. i am using .net core 3.1 and IdentityServer 4.1.1 .
in startup configuration I can not use AddAspNetIdentity<ApplicationUser> .
what should I do for that?
because when I want to sign in with _signInManager.SignInAsync(user, true); i got an error 'sub claim is missing'

blocker #9

I found the answer about that issue.
https://github.com/IdentityServer/IdentityServer4/issues/1758#issuecomment-426842106


Request: Attempt real MDC-1200

The stock QS firmware contains the wonderful "fake" MDC-1200 EOT PTT ID. It does not sound like an actual 1200/1800 MDC Unit ID, and does not contain any actual information. Examples:
https://github.com/OneOfEleven/uv-k5-firmware-custom/assets/31994327/57138379-377a-4208-9a31-2ec81ffcf8c0
https://github.com/OneOfEleven/uv-k5-firmware-custom/assets/31994327/7f4317df-2c5c-4bb7-83c0-c5b58145548b
Encoding a proper MDC-1200 Unit ID should be doable, if someone with more skills than myself were to take this on. It should also be easy to add an option for this to be at BOT (beginning of TX) instead of EOT. Here is my shotty attempt at re-writing the current function:
// Define MDC-1200 Unit ID and function bits
#define MDC1200_UNIT_ID   0x0423    // Example Unit ID
#define MDC1200_FUNCTION  0x8A      // Example function

void BK4819_PlayRogerMDC(void)
{
    unsigned int i;

    BK4819_SetAF(BK4819_AF_MUTE);

    // Setting up the modulation and other settings remains the same
    BK4819_WriteRegister(BK4819_REG_58, 0x37C3);
    BK4819_WriteRegister(BK4819_REG_72, 0x3065);
    BK4819_WriteRegister(BK4819_REG_70, 0x00E0);
    BK4819_WriteRegister(BK4819_REG_5D, 0x0D00);
    BK4819_WriteRegister(BK4819_REG_59, 0x8068);
    BK4819_WriteRegister(BK4819_REG_59, 0x0068);
    BK4819_WriteRegister(BK4819_REG_5A, 0x5555);
    BK4819_WriteRegister(BK4819_REG_5B, 0x55AA);
    BK4819_WriteRegister(BK4819_REG_5C, 0xAA30);

    // Format MDC-1200 data
    uint16_t mdcData[4];
    mdcData[0] = 0x5555;  // Preamble (assuming 0x5555 for now)
    mdcData[1] = MDC1200_UNIT_ID;  // 16-bit Unit ID
    mdcData[2] = (MDC1200_UNIT_ID >> 8) | (MDC1200_FUNCTION << 8);  // Split Unit ID and function
    mdcData[3] = MDC1200_FUNCTION;  // 8-bit function code

    // Send MDC-1200 data
    for (i = 0; i < 4; i++)
        BK4819_WriteRegister(BK4819_REG_5F, mdcData[i]);

    SYSTEM_DelayMs(20);

    // 4 sync bytes, 6 byte preamble, Enable FSK TX
    BK4819_WriteRegister(BK4819_REG_59, 0x0868);

    SYSTEM_DelayMs(180);

    // Stop FSK TX, reset Tone-2, disable FSK
    BK4819_WriteRegister(BK4819_REG_59, 0x0068);
    BK4819_WriteRegister(BK4819_REG_70, 0x0000);
    BK4819_WriteRegister(BK4819_REG_58, 0x0000);
}

With my code, it sounds ever so slightly different to the ear, but it's still not correct. The pitch is too low, so maybe I'm missing something, or that's just the limitations of the baseband chip.
I also found this reference to a true MDC function in the BK4819 baseband chip, but I could not find any more information on implementing it. The reference document is full of usage data for FSK, but the MDC documentation is lacking.
Here's as much info as I could find on the actual MDC protocol. I own several MDC capable Motorola radios, so I can help test this if someone decides to pursue it.
Wikipedia: MDC-1200
BATLABS: MDC-1200 Signalling
SIGID: MDC-1200
DBPedia: MDC-1200
RadioReference: MDC-1200

Nothing like that is used here in the UK, at least not anymore, all comms are now digital, either DMR, TETRA or mobile phone network.

I agree, however amateur/private uses for analog ID methods (DTMF, ANI, MDC, Fleetsync, etc) do still exist, and since this seems to be halfway implemented already I thought it might be worth a shot if someone found the time to dig into it. Great work on the project BTW, and please don't take this "issue" as another "hey can you cater your project to me", because you have been getting plenty of those already. I just wanted to share what I was able to find on the topic in case it helps down the road.

It's a lot more than just adding a couple of ID values, it has to be encoded into a packet with CRC etc. I've got the code to do it. I've run out flash space for that amount of extra code, I need to optimize the firmware code to try and recover some space.

Looking forward to mdc-200

@Mason10198 Your MOTO_REAL_MDC sample comes from MDC 2400.
I explored a bit how its done at Quansheng's. What they call 'FFSK' in reference document (which should be MSK, all right?) is in fact AFSK with 1200/1800 mark/space tones. Which matches MDC protocol.

Flipping a bit (put 0x60 to REG 70) resolves the problem. It sounds closer to MDC1200 now.
Anyway, the payload is confusing. In my opinion it translates to nothing. Maybe it's me, as I didn't have any sucess to find a snippet for de-interleaving the 'mdcData'.
In my mods, I updated mdcData to play a PTTID EOT fixed to unit ID 0001. But it is not what you are looking for.

The sample I provided was from an XTS3000.
If the EOT ID actually works and is decodable, that's perfect. The unit ID could be hard coded in the firmware build, changed at compile. I doubt there is space for a customizable unit ID menu entry.

Your sample decodes as PTTID BOT, ID#740 using WinMDCD. The payload I use in my mod was "stolen" from a great topic on Batlabs, and I have to admit I failed to forge a good packet myself :)
I only adjusted preamble and sync bytes to better conform to the spec. Good thing to know is there is indeed 5 sync bytes available, whereas reference document from Beken only lists 4.
I don't know if it decodes well. I use WinMDCD locally listening to global downmix on my laptop. I miss a way to hook HT's speaker output to my sound card.

I can test the decoding on my XTS and XPR radios, I also have the discriminator of an XPR wired directly into my sound card

As this is AFSK I don't see why a discriminator output would be needed; anyway I'm not an expert here :)
You could try my latest ROMpatched firmware, if you want to :
https://github.com/Lar-Sen/Quansheng_UV-K5_Kitchen/blob/main/v2.01.31_mods/k5_v2.01.31_MODDED.bin
It has "my" PDC payload.

  Flipping a bit (put 0x60 to REG 70) resolves the problem. It sounds closer to MDC1200 now.

oh right !
I'll be back to ask you about the fix you've done, I'll add it in

Discriminator isn't needed, it's just what I happened to have hooked up, it was an unnecessary specification in my comment on my part, lol.
I will test your payload this evening or sometime soon and report back.

This is currently how the K5's MDC1200 sounds, this is a direct recording in the SDR's RX ..
mdc1200_k5.zip

I did modify it a few days ago to include the initial 27ms of each of the FSK tones.

The c code to create a custom packet with your chosen ID I do have (and the decode c code), I'll add it as a compile option - assuming it's correct.

Interesting to ear pure signal of it, not filtered. It appears clearer than listening to it with another handheld.
Anyway WinMDCD still says wtf :)
Trying to understand bit interleaving which Motorola makes use of, I wrote this in a basic-like form (pls don't laugh xD ) :
pos=1 for i=1 to 16 { 	for j=0 to 6 	{ 		k = (j*16) + i 		bit_dest(pos) = bit_source(k) 		pos=pos+1 	} }
This is the only thing I found picky. Rest of the frame structure is well documented.
Can't wait to study your implementation :)

If you like playing radio you should get yourself a cheap SDR RX only dongle such as one of the nooelecs. heres one ..
https://www.amazon.co.uk/Nooelec-NESDR-SMArt-SDR-R820T2-Based/dp/B01HA642SW/ref=sr_1_3
I use the blue mini 2 one for recording audio. Use the free SDRSharp (SDR#) with them.

I got one, it's just because I'm lazy :)  A good old RTL-SDR which I use with HDSDR software. I prefer HDSDR to SDR# because it's lighter, as I run it on another (old) laptop.
The NooElec looks it a an upgraded tuner over RTL-SDR v3. Good to now at that price.
BTW I was examining the updates you made to the PlayRogerMDC() function. Register init looks clearer and I noticed you disabled the undocumented 0b101 which was set to FSK RX mode. Dunno if this were one more quirk from QS or really useful; I did the same anyway.
Do you think packet could take longer to xmit, as you watch interrupts for TX end in a limited loop? Or is this preliminary work for something better there?

The loop that monitors the packet transmitting just adds a few more ms to the time limit so as not to interferer with it. The loop is to ensure the TX doesn't get stuck on for any reason (corrupt BK register while TX'ing or such like).
A stuck TX will upset a LOT of people, that's why I removed the ability to press the PTT permanently by always having a TX timeout setting. It happened a few days ago locally when someone accidently caused their transceiver to stay TX'ing (they had disabled the TX timeout) for an hour or more.

Edit: Oh ok. You add 00000000FFFFFFFF to the MDC payload, making it longer. Scratching my head now :)

That was how I added the 27ms low tone then 27ms high tone that I see on some MDC1200 packets. I don't have the MDC1200 details to look at, but I do have C code to encode and decode the data (not mine, so hoping it's error free).

Oh ok :) Thank you for the explanation. I have to listen more, but this traffic type is not so common here. These tones could be related to preamble and synchronization bytes. MDC sync is told to be 07092A446F, which cannot produce uniform tone. Preamble bytes can. Anyway.
I took a look at the reverse engineering work by DualTachyon for the Radtel RT-890, especially the PTTID part. This unit share the same BK4819 core, they implemented a "send my device name" using same ASFK method, more or less.
This is not intended to be interoperable with MDC1200, but I'm sure you can get inspiration to implement digital PTTID with a custom device name.
Interestingly, register init is a bit different. They make use of said "FSK Scrambler" for it, same Tone2 "issue", and mysterious register 5C gets 0x5665 (CRC on, what else?). All that in a different sequence. Maybe we can get clues there.
At least I've learned we have to fill FIFO MSB first :)  Many of raw MDC frames found on the internets show as little-endian sequences of dwords.

I have no idea at all about what's going on with the unknown register.
Anyway, I've added an mdc1200 packet encoder, I have no idea if it works as I don't have an mdc1200 decoder of any kind. It's going to be in the hands of those that do now.

Converning the loop/interrupt method, Radtel apparently choosed the same way, only 1s delay and monitored interrupt is different (SQ detection).
You are lightning fast! :)
You can easily decode MDC packets using a little windows app, WinMDCD. It's old but efficient.
https://www.dropbox.com/s/w332mfh4dw309xv/WinMDCD10.zip?dl=0

MDC codec looks promising, I'll take time to study it. BTW may I suggest you use real opcode and argument to test it?
For example, PTT ID opcode is 01, its argument is 80. A more complete list is:
01 (80) is PTT ID
01 (00) is POST ID
11 (8A) is REMOTE MONITOR
22 (06) is STATUS REQ
2B (0C) is RADIO ENABLE
2B (00) is RADIO DISABLE
35 (89) is CALL ALERT
46 (XX) is STS XX
47 (XX) is MSG XX
63 (85) is RADIO CHECK
..found at https://batboard.batlabs.com/viewtopic.php?t=36459

That winmdcd program just sits there doing nothing on my PC. I'm guessing it's suppose to see the laptops audio interface, but it doesn't look like it is.

WinMDCD is listening to your default audio capture device. It has no builtin option to select a recording device.
You may have to set it to "Stereo Mix" or "Local loopback" in windows audio control panel.

I forgot to say that aircopy uses direct FM mode rather than toned FSK, I forgot about that when you were talking about pocsag.
Anyway, I'm really close to getting MDC working, though I need an FSK demodulator to let me move forward. I've done a software 1200bd one somewhere in my other projects, I'll search it out as I need to see exactly whats being sent from the K5 as compared to the 2 MDC audio samples I've managed to find on the net.

@OneOfEleven Do you happen to have a Raspberry Pi or a Linux box laying around? I just got decoding MDC1200 signals working with fsync-mdc1200-decode (Project link: https://github.com/russinnes/fsync-mdc1200-decode)
It can take microphone input, similar to WinMDCD. Just a head's up, I forgot to unmute my microphone on my laptop when running it so it had the right audio input but wasn't hearing anything.

I haven't no, don't have any nix, just windoze.
I'm just writing a test program (for windows) to decode and show an MDC1200 signal in all it's detail ..

Wow, you have a lot of cool projects up in the air! I'll offer up my help to decode any MDC1200 WAV files in the meantime, if that helps with your testing at all.

ok, heres a WAV file file I've done of the K5 MDC1200 as it currently, I recorded it on the SDR RX so it's nice and clean and unfiltered. Let me know what it makes of it maybe ? ..
MDC1200_K5.zip
I have something still slightly amiss with the MDC1200 code in the K5, WinMDCD won't decode it at all, it gives no details about why (very unhelpful)

Well it seems like I may have spoken out of turn. The fsync-mdc1200-decode utility doesn't offer any analysis of the MDC message, it only provides output if the message is properly decoded.
Doing some Google searching, there really aren't any tools that I can find out there that help to troubleshoot MDC if it's out of spec.
That got me wondering if there's something wrong with the 1200bps rate that the Quanshengs are producing because I can't decode anything FSK1200 at all. Lends to the theory that the timing is slightly off.

The MDC1200 TX is no longer fake. I've yet to add a menu option to set the radio ID but apart from that the MDC1200 roger should be good now.
If all is well I'll move the MDC1200 to the PTT-ID menu so that it can be set to BOT and/or EOT.

@Mason10198, please report what you now find.

You all are legends. I need to play with it more, but at quick glance, the EOT is properly decoded by my XTS3000.
My newer MOTOTRBO radios however (2x XPR4550s and 1x SL300), are muting the MDC on RX for some reason. When done on purpose, this is called DOS (Data Operated Squelch), but I have DOS completely disabled on these radios so this shouldn't be happening. The decoded ID is not shown at all on the display either. Maybe the newer TRBO radios dislike something about this packet?
All of my radios are configured with DOS disabled and MDC ID at BOT. All Moto radios decode, audibly present, and display each others ID just fine, but only the older XTS will properly decode and display the ID from the K5.
Surely would not make a difference, but maybe try it at BOT instead?
I saw some RX decode stuff in your commits, I don't think you implemented it yet, but in case you did, I do not see any decoded IDs on the QS screen.
Your work is astounding. Let me know if I can do anything to assist!

Decoded message via fsync-mdc1200-decode:
{"type":"MDC1200","timestamp":"1698191676","op":"01","arg":"80","unitID":"b183","ex0":"00","ex1":"00","ex2":"00","ex3":"00"}
Recognized it like a charm!

@Mason10198 did you see if Asterisk decoded it?
I've been following this and this is super exciting work!

@Mason10198 did you see if Asterisk decoded it?

I just went to try it on my repeater, and noticed that the new MDC does not work with CTCSS TX enabled - it comes out garbled. TXes fine with CTCSS turned off.

I'll look at the CTCSS + MDC1200 problem.
Am hoping the BK radio chip can send the MDC while it's still sending the CTCSS tone, if not then I'll have to disable the CTCSS while it sends the burst of MDC, will see.
I'll do it later this morning, tiz 6am here, just having a quick nosey on the laptop, and still sleepy.

Interesting to ear pure signal of it, not filtered. It appears clearer than listening to it with another handheld. We can clearly notice a short burst of that continuous 1200Hz at the beginning. Anyway WinMDCD still says wtf :)

I've found that WinMDCD is very sensitive to the audio it hears in that it won't decode at all if it's not at the expected level and/or is somehow filtered, it's extremely fussy :(  .. exactly not what you want from a decoder.

@Mason10198 did you see if Asterisk decoded it?
I've been following this and this is super exciting work!

Wonder what Asterisk is ?
I've had to create a new decoder to get MDC1200 so that I could see every demodulated bit etc, this is Masons original MOTO_REAL_MDC.mp4 being fed into it ..

It tells me the packet is   op 01   arg 80   ID 0740

It would be nice if the MDC1200 could be emitted with DTMF ID

can't have both, tones of one would corrupt the other

Wonder what Asterisk is ?

Asterisk is an open source PBX software. Amateur radio operators use the term "Allstar" to refer to a modified version of Asterisk that is intended to interconnect radios over VOIP.
app_rpt is a module included in this modified Asterisk, that provides Asterisk with the digital functions for interfacing with a physical radio.
app_rpt has a built in MDC-1200 decoder, so that's what me and @mjwgeek are talking about here - we both have repeaters that run Asterisk/app_rpt controllers.

oh I see, very nice !
There is a fusion node about 500 yards from me that I sometimes listen too. Not heard of asrerisk, though allstar yes.
Try the new upload I've done, I've added a menu item. I've yet to add BOT & BOT just for MDC1200 though, but nearly there.

You added a new menu option? I'm not seeing it on the latest commit.
I fixed the MOTOTRBO radios not decoding the ID. You are using 0x80 arg which is supposed to be for a BOT (pre) ID. Change this to a 0x00 for an EOT (post) ID.
Pulled this from old Batlabs thread:
OP (ARG)
01 (80) - PTT ID
01 (00) - POST ID
11 (8A) - REMOTE MONITOR
22 (06) - STATUS REQ
2B (0C) - RADIO ENABLE
2B (00) - RADIO DISABLE
35 (89) - CALL ALERT
46 (XX) - STS XX
47 (XX) - MSG XX
63 (85) - RADIO CHECK

	const uint8_t  op  = 0x01;
	const uint8_t  arg = 0x00;
	const uint16_t id  = 0x0740;

oops, got my bots n eots in a twiz.
Hopefully fixed now - let me know.
Have a look around menu number 47 (exact number varies depending on what you enable .. MDC ID.

Interesting, I compiled the firmware about an hour ago and I don't have that menu option. I probably missed something. I'm away from home now so I'll have to wait until this evening to compile it again.
More observations: with CTCSS and DCS disabled, the TRBO radios will decode it but not allow it to come through the speaker. With CTCSS enabled, it's too garbled to be decoded and as such does come through the speaker. With DCS enabled, it comes through the speaker garbled but IS also properly decoded and displayed.

So what do you see on your moto radios when they hear an MDC burst of data I wonder ?

More observations: with CTCSS and DCS disabled, the TRBO radios will decode it but not allow it to come through the speaker. With CTCSS enabled, it's too garbled to be decoded and as such does come through the speaker. With DCS enabled, it comes through the speaker garbled but IS also properly decoded and displayed.

That shouldn't still be happening, I fixed the CTCSS+MDC problem ??

I bet something happened with my git pull, I was in a rush out the door trying to load the latest.
This is what the display looks like on an XPR4550. It's decoding correctly, I just need to figure out why it's being DOS'ed. Need to set another radio to EOT and see if it does the same thing.

lol, I see moto aren't big on showing useful info on there screens. Least they could do is say BOT 0740 or EOT 0740 ;)

@OneOfEleven I like the new menu option a lot! And I hate to be 'that guy' but after spending a few minutes holding down the arrow key to get to the RADIO ID that I wanted, I got to thinking: "Could we put a Makefile parameter that sets the MDC1200 Radio ID's default value at compile time?"
What do you think?

Once you set it once thats it, no need to change it, but I can get rid of the menu option yes and do compile option, but how will people set the ID if they don't compile etc (most don't) ?

I agree that the menu option for setting ID is fantastic and very easy to use. Do you know how much space it takes up by chance? A factory floor manager wouldn't like it but I know that if there was a slimmed down version with a static ID set, I'd choose that to save the space for other features. Just one man's opinion.

MDC1200 can display the ID through the relay station, but where to display the received MDC1200, that is, decoding, can be displayed in the position where the DTMF ID is displayed

I'm leaving the RX part you to do :) .. I've done the TX

I can provide testing, I don't know how to program.:)

It works then !

10dB ?
What frequency range is that on I wonder ?
bricky is playing with the front end settings, so might be that. I've already been there myself doing the same, but I'll let them carry on for bit longer
I don't understand how setting the RX radio makes the TX radio audio distorted though, what's the waveform like ?

@OneOfEleven Recompiled and seeing the menu option now. Nicely done! How does one enter the ID via keypad in the menu? Keying in "0740" results in "02E4".
Does the op arg change when selecting EOT/BOT in the menu? Looks like might be hard coded to 0x80 in functions.c

Interesting... When using BOT for ID, the TRBO radio mutes the entire transmission, even after the ID has been TXed. It is definitely not happy about something in the packet. Would a high quality sample of a BOT ID from a TRBO radio fed through your analysis program help?

It's 01 80 for BOT and 01 00 for EOT, hopefully.
I haven't tackled dec and hex input yet, I'll have a look in the next few days. For now use the up/dn buttons to find the ID you want, slow but sure.

Sounds like you've set the TX bar to TX time left/out rather than TX audio level.

@OneOfEleven Recompiled and seeing the menu option now. Nicely done! How does one enter the ID via keypad in the menu? Keying in "0740" results in "02E4".

Enter 1856 ;) .. the decimal version of 740 hex .. for now

Sounds like you've set the TX bar to TX time left/out rather than TX audio level.

Ah yes, I can't read! Disregard.
Here's a sample of the BOT from my XPR4550, if it helps. Have to convert to mp4 for Github embed, but should be able to take it back to a wav without much degradation. Can do a Drive link or something if needed.
https://github.com/OneOfEleven/uv-k5-firmware-custom/assets/31994327/d339635b-2cc0-4ad0-bc26-915b67bdd33f

Enter 1856 ;) .. the decimal version of 740 hex .. for now

Sweet! Works for me

That sample is 01 80 740, is that what it should be ?

Didn't want to open an issue for this because it's extremely niche, but using MDC at:
-BOT disables intro Quindar Tone
-EOT disables outro Quindar Tone
-BOT+EOT disables both Quindar Tones
Ideally in my opinion, the process would go:
-BOT: BOT MDC, Quindar, TX Audio, Quindar
-EOT: Quindar, TX Audio, Quindar, EOT MDC
-BOT:EOT: BOT MDC, Quindar, TX Audio, Quindar, EOT MDC
And then I'm not even sure what to think about rogers.

Enter 1856 ;) .. the decimal version of 740 hex .. for now

This! My complaint earlier about adding a Makefile parameter for the default radio ID is a non-issue with this. Can you document in the README that you can enter the decimal value in the menu to get a certain hex value? That would be very helpful for a lot of folks to know.

Well, theres only 65536 different values to enter, are you sure you want each one listed ?

Didn't want to open an issue for this because it's extremely niche, but using MDC at: -BOT disables intro Quindar Tone -EOT disables outro Quindar Tone -BOT+EOT disables both Quindar Tones
Ideally in my opinion, the process would go: -BOT: BOT MDC, Quindar, TX Audio, Quindar -EOT: Quindar, TX Audio, Quindar, EOT MDC -BOT:EOT: BOT MDC, Quindar, TX Audio, Quindar, EOT MDC

That's just insane !
Stick to just one type to use, make life easy.

Haha no, definitely not. Just the statement "With regards to entering MDC ID, entering the decimal value of the desired hex ID yields the correct hex ID" Something like that, I'm not fantastic with words.

Stick to just one type to use, make life easy

Yeah you're probably right :laughing:

Interesting... When using BOT for ID on the QS, the TRBO radio mutes the entire transmission, even after the ID has been RXed. It does decode it and show it on the display, though - but it is definitely not happy about something in the packet. Would a high quality sample of a BOT ID from a TRBO radio fed through your analysis program help?

Don't forget to use NARROW fm for talking to most commercial radios, TX'ing WIDE fm to a radio in NARROW mode won't work, you'll be over deviating. or set the moto to WIDE if you want to use that bandwidth.

10分贝 ？
我想知道这是什么频率范围？
布里基正在使用前端设置，所以可能是这样。我自己已经在那里做同样的事情，但我会让他们继续更长的时间
我不明白设置 RX 收音机如何使 TX 收音机音频失真，波形是什么样的？

That sample is 01 80 740, is that what it should be ?

Yes, that is correct.

Don't forget to use NARROW fm for talking to most commercial radios, TX'ing WIDE fm to a radio in NARROW mode won't work, you'll be over deviating. or set the moto to WIDE if you want to use that bandwidth.

Yes, all of my radios including the QS are wide (25khz). I don't think I've ever programmed a single narrowband memory into one of my radios.

Turning off or changing the channel MDCPTT MDC1200 MODE setting will lose and become OFF

@OneOfEleven taught me this about the radio/repo, that's very likely a per-channel setting. Try saving the channel through the menu after setting MDC1200 mode.

教我关于无线电/存储库的知识，这很可能是每个频道的设置。设置MDC1200模式后，尝试通过菜单保存频道。

That's great You're right

Yes it's a per channel setting, so need to re-save the channel if you want to keep the setting on that channel.
If it's in frequency/VFO mode, then your setting is auto-saved, should be as you left it last time you used the radio.

Yes it's a per channel setting, so need to re-save the channel if you want to keep the setting on that channel.
If it's in frequency/VFO mode, then your setting is auto-saved, should be as you left it last time you used the radio.

Thank you, this operation is too convenient. It's not a problem, I just don't know how to use it.
Looking forward to RX MDC, if you can achieve it, it's great.

Here's a sample of the BOT from my XPR4550, if it helps. Have to convert to mp4 for Github embed, but should be able to take it back to a wav without much degradation. Can do a Drive link or something if needed.

Am looking into what the differences are between your sample and what the K5 TX's. The motorola's may just be fussy and want a specific filtering curve on the transmitted FS, no idea what might be up - yet.

I've reduced the TX deviation slightly, it looked a little high, but without having a moto here I can't test any changes.
I've adjusted the K5 packet format slightly to be as identical as possible to the motorola one you sent. All I can say is that motorola needs to get a better design engineer, the FSK decoder/demodulator they must be using seems way to fussy and critical.
The FSK'ing is the same, the demodulated waveform is the same.
The K5 TX waveform (upper) is virtually flat (I record it in the SDR RX, no de-emphasis or any other filtering distorts it), though the motorola sample (lower waveform) you sent has had some LPF'ing applied, not sure if it's in the TX or how you receive and record it ..

I have one XPR4550 inside, with filtered de-emphasized audio going into PC sound card. I have another XPR4550 outside in my truck. The sample I attached, I recorded in Audacity at 48khz and went outside and PTTd from the truck.
I also have an SDR dongle that I could record it with and get another sample, the same way you do, for consistency. I'd like to know what software/settings you are using for your recording so I can try my best to replicate it.
I can compile the latest and get you a new sample this evening :)

Do you have SDR# (SDRSHARP) installed and working at all ?
That's what I'm using (with a cheap USB dongle), I set the FM RX bandwidth to about 20kHz, look for the record option down the left list of menu items ..

If you do manage to do that, then a recording or any moto radio would be interesting to see.

@OneOfEleven here is your new sample recorded in SDR#. Let me know if I can do anything else to assist!
https://github.com/OneOfEleven/uv-k5-firmware-custom/assets/31994327/9b32079e-a7f5-4fc4-a5a3-21993065ed9e

Looks cleaner.
I guess the moto's still don't detect the K5 with the newest firmware ?

Totally forgot to check! Yes, it is working! MDC from the QS is properly decoded AND audible on the TRBO radios as intended. You've done it!

That's not all I've done ;)
I'll upload it tomorrow, need to clean it up n things.

You have a little UHF antenna on the QS.
I did some tests with the QS antenna on, the aerials don't work too well at VHF, replacing them with a 1/4 wave makes a huge difference.

I put those little guys on my "disposable" radios.  They go on the radios I'm not scared to let fall off my belt loop when I'm climbing up a tower to do some antenna work.

I've noticed that with the latest build, if I have MDC on exit the menu and use it, it's fine,  If I change channels and go back, it's now off on the channel I specifically turned it on for.  Is anyone else experiencing this issue?
By the way this is very exciting stuff!

You need to re-save the channel if you change any of the channel settings (such as mdc1200).

@Mason10198, could you possibly do one more recording at all for me ?
I need one that shows all timing from carrier start to carrier end. If you open the SDR's squelch, then start recording before you press the motorolas PTT and keep recording until you release the PTT that would be wonderful. If you keep a little bit of FM white noise at the start and end then it will show everything for me.
ps, your job sounds interesting, sounds like you do RF'ey stuff :)

Sure! Here ya go.
https://github.com/OneOfEleven/uv-k5-firmware-custom/assets/31994327/74e75b0c-f2cf-4940-98ee-6d53c5677b71
I actually don't do any RF'ey stuff for work at all. I'm just really into my hobbies.

ah, I thought you meant you were working on herials as a job. Hobby is better though, it's all by choice then :)

You need to re-save the channel if you change any of the channel settings (such as mdc1200).

Yes I saw :)

@OneOfEleven I forgot to mention, I noticed my SDR recordings all have a weird high pitched hum that I haven't been able to source or resolve yet. Hopefully that doesn't interfere with what you're doing

I've not noticed that, but no it's not a problem at all (your recording decode 100%, can't be any cleaner.
I wanted to see the exact timing that moto use after the PTT is pressed, your recording shows the MDC packet is started approx 120ms after the TX carrier is enabled.
Thank you for your help !

No problem! FYI, some timings are adjustable in the programming software including preamble/sync bits. Here's what that looks like:

I never knew that !

@Mason10198, can you let me know if the MDC works in RX OK at all ?  ie using the latest firmware, does the K5 show the packet details when you transmit from your moto radios ?

Appears to work perfectly 😁

I can add a little text to show the message meaning for known op/arg combinations, but the unit ID there is a limited amount of eeprom space for storing ID/name matching (256 bytes).
Do radios that receive MDC1200 do anything else but display the ID when they receive the packets ?  ie beep or swear or make the tea etc ?

I know exactly what would happen if I did that, I'd start getting issues asking me what does "ID: XXXX" mean and such like. So I'll leave it as is, it's then entirely in the users hands to go and learn about MDC1200 themselves rather than hassle me with noob questions and such like.

What about "MDC1200 ID: 0740"? Just take out the opcode and arg, since that is obscure and useless, confusing information to the user (unless the user is a developer)?
Regardless, you have done marvelous work and I commend you for it. Kick back, have a drink, you've earned it 😁

@OneOfEleven I just realized we never mentioned this before... When the ID is set to BOT, there should be some sort of "sidetone" to audibly alert the user that the transmitter is "busy" and it is not ok to start talking yet. On an older XTS Moto radio, this is simply a 500ms duration 900hz tone.

I did wonder about that. I don't think the radio chip can do two different tone systems at the same, ie, FSK and different side tones to the speaker. I think the only option is to let the user hear the MDC FSK as it's sent (I've already added that option, just don't enable it..

The entire MDC packet only lasts for 175ms anyway at BOT.

I wasn't sure if the chips had the capability either, maybe a short beep after the MDC is sent could work? Moto would call this short vs. long PTT sidetone

I'll have a look tomorrow then, a short side tone beep before and after (double beep) the packet can be done I think - if I can work out how to send it to ONLY the speaker rather then through the radio link.

It's actually 300ms from when the PTT is pressed to the end of the BOT MDC packet. I first TX a blank period to allow the receiver to wake up (some radios, such as the K5 go to sleep to save battery).
So if it's possible, I can sound a beep at the start during the blank part and then a short beep after the MDC BOT packet.

I've done that for you, works now.


Portability - Create more space between images

In the Portability lab's "Why did that work" reveal, the two separate images could use a little separation or ideally a description of what each screenshot is. Without separating the images, it creates the impression that it is a single screenshot (instead of two) which causes confusion.

👍
picked this one up in one of the many recent commits.


docker-compose up command is not running with version 3

System : Ubuntu17.04
Steps: Run the "docker-compose up" command in the PySonar repository.
Result:
$ sudo docker-compose up

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

Workaround ::
Changed the version from 3 to 2 in the docker-compose.yml file present in the PySonar directory, and now it is able to run successfully.
Purpose ::
Reporting here so that we can solve this issue in future if it comes up.

Your docker-compose version is too old and does not support version 3 files. Here's the process to update to the newest (1.16.1) version: https://github.com/docker/compose/releases

@axelhodler  Thanks! Worked. :+1:

@axelhodler Thanks!! as I'm trying to install on Linux, so the link https://docs.docker.com/compose/install/#install-compose also worked for me


NIFI-13651 moved framework extension modules to new framework extensions module

Summary
NIFI-13651
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

[ ] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Key points:

nothing in 'nifi-extensions' has access/reference to NiFiProperties class anymore.
moved remaining extensions that are really extensions to core nifi framework and not meant as generally user extensible points to nifi-framework-extensions.  These currently do reference NiFiProperties in most cases.  This should be refactored out in a later JIRA
Removed defunct reference to NiFiProperties in an hdfs events test.

nifi-property-utils and nifi-properties should fine their way out of the root lib directory.  They should at most be in the nifi framework nar and the framework extensions should likely have the framework nar as their parent to be bound at that level.  But more work is needed to understand the relationship of the bootstrap folder and the properties to the framework.

@joewitt @exceptionfactory Thoughts on moving nifi-framework-kubernetes-bundle under nifi-framework-extensions ? It is currently nested under nifi-framework-bundle/nifi-framework.

rgr.  will grab nifi-py4j-bundle and nifi-framework-kubernetes-bundle to move there as well

breaking apart the 'nifi-py4j-bundle' as a few modules go together in a framework sense. And a few modules go together as examples/tests/impls as an extension.  The nifi-py4j-bridge component actually combines core framework elements and ties to extension concepts such as 'records' and such.  Until we promote 'records' as part of the official/formal API this seems like the right place for these few.  Will have that in the next commit but the next commit will squash and rebase to latest main as well

ok i think i addressed each of the suggestions.  Full clean build and all the trimmings works as expected.


Cow: Watch jps-extensions.co.uk

Cow requests the watch of the watch_keyword jps-extensions\.co\.uk. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

jps-extensions\.co\.uk has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Nisse Engström in Charcoal HQ


Cannot use autolayout and safe area with FloatingPanelIntrinsicLayoutAnchor properly

Description
I want to show simple panel which height will depend on content height and want to use autolayout and save safe area insets.
Expected behavior
The panel is showing with height based on content layouted by constrained, panel's moves by gestures do not shift the content, and all insets ara used.
Actual behavior
When I setup constraint to safe area the panel behavior becomes strange - content inside shifting and floating by itself.
Or I cant save safe area properly.
Steps to reproduce
Code example that reproduces the issue
This is the func from my service which embed a view controller to floating panel.
    func makeFloatingPanel(
        _ contentViewController: UIViewController,
        configuration: FloatingPanelConfiguration = .default) -> UIViewController
    {
        let floatingPanelController = FloatingPanelController()

        floatingPanelController.isRemovalInteractionEnabled = configuration.dismissOnBackgroundTap
        floatingPanelController.backdropView.dismissalTapGestureRecognizer.isEnabled = configuration.dismissOnBackgroundTap

        let bottomPadding = UIApplication.shared.keyWindow?.safeAreaInsets.bottom ?? 0
        floatingPanelController.surfaceView.contentPadding = .init(
            top: configuration.additionalContentPadding.top,
            left: configuration.additionalContentPadding.left,
            bottom: bottomPadding + configuration.additionalContentPadding.bottom,
            right: configuration.additionalContentPadding.right
        )

        floatingPanelController.set(contentViewController: contentViewController)
        floatingPanelController.layout = CustomFloatingPanelLayout()

        let appearance = SurfaceAppearance()
        appearance.cornerRadius = configuration.cornerRadius
        floatingPanelController.surfaceView.appearance = appearance

        return floatingPanelController
    }

The CustomFloatingPanelLayout
final class CustomFloatingPanelLayout: FloatingPanelLayout {

    // MARK: - FloatingPanelLayout
    let position: FloatingPanelPosition
    let initialState: FloatingPanelState

    var anchors: [FloatingPanelState: FloatingPanelLayoutAnchoring] {
        [.full: FloatingPanelIntrinsicLayoutAnchor(absoluteOffset: 0)]
    }

    // MARK: - Init
    init(position: FloatingPanelPosition = .bottom, initialState: FloatingPanelState = .full) {
        self.position = position
        self.initialState = initialState
    }

}

How do you display panel(s)?

Present modally

How many panels do you displays?

1

Environment
Library version
2.3.1
Installation method

CocoaPods

iOS version(s)
14.5.1
Xcode version
12.5

Have the same problem. I see from readme that this FloatingPanelIntrinsicLayoutAnchor is deprecated. Is there an alternative way of providing the same behaviour?

Have you tried with FloatingPanelAdaptiveLayoutAnchor?

Tell me, please, how can this problem be solved?

@DolganovAnton13 try looking at the samples that use FloatingPanelAdaptiveLayoutAnchor

Description
Bug in samples when using FloatingPanelAdaptiveLayoutAnchor
Expected behavior
If you set
fpc.surfaceView.contentPadding = .init(top: 20, left: 0, bottom: 0, right: 0)

then I expect that the size of the sheet will be calculated according to the principle of content + paddings
Actual behavior
In fact, the size remains the same and does not take into account safearea
Steps to reproduce

Open samples and go to TableViewControllerForAdaptiveLayout.

Change anchors to

 var anchors: [FloatingPanelState : FloatingPanelLayoutAnchoring] {
        return [
                .full: FloatingPanelAdaptiveLayoutAnchor(
                    absoluteOffset: 0.0,
                    contentLayout: targetGuide,
                    referenceGuide: .safeArea,
                    contentBoundingGuide: .safeArea
                )
        ]
 }

Change numberOfRowsInSection to

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
     5
}

4. Paint the table background red to visually see the size

 tableView.backgroundColor = .red

As a result, we will get the following

if we add a padding at the top, then we get the following
fpc.surfaceView.contentPadding = .init(top: 20, left: 0, bottom: 0, right: 0)

How do you display panel(s)?
Present modally
How many panels do you displays?

1

Environment
Library version

2.8.6

Installation method

Swift Package Manager

iOS version(s)

17.5.1

Xcode version

15.4


Update PO PendingQty calculation

Hello,
In order to calculate PO PendingQty it is a must to take into account the PO item status (completed flag/cancel flag).
Line 27 -> sql based on a POitem table that does not exist in cortext reporting layer. Should it be created ?
Best regards,
Arnaud

Hey @ARNAUDNEPLE can we get the CLA check run again please? Thanks!

Thanks for the contribution, @ARNAUDNEPLE . And awesome job at your session for the Google Data Cloud & AI summit


github workflows use ubuntu 20.04 and not latest

Switch from using ubuntu-latest to ubuntu-20.04 in order to remove the warning and unexpected behavior.

This change is

Codecov Report

Merging #1072 (cfe09c8) into master (19433cc) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1072      +/-   ##
==========================================
- Coverage   47.01%   46.97%   -0.04%
==========================================
  Files         165      164       -1
  Lines       12976    12974       -2
==========================================
- Hits         6101     6095       -6
- Misses       6095     6097       +2
- Partials      780      782       +2

Impacted Files
Coverage Δ

graveler/committed/sstable/batch.go
93.75% <0.00%> (-6.25%)
:arrow_down:

catalog/mvcc/cataloger_create_repository.go
59.25% <0.00%> (-3.71%)
:arrow_down:

catalog/mvcc/cataloger_commit.go
77.14% <0.00%> (-2.86%)
:arrow_down:

api/errors.go

catalog/mvcc/cataloger_create_entry.go
100.00% <0.00%> (+5.26%)
:arrow_up:

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 19433cc...cfe09c8. Read the comment docs.


⚠ Syncthing-KA-BI has degraded performance

In bd5097f, Syncthing-KA-BI ($URL_SYNCTHING_MERZ_NIMBUS_BI) experienced degraded performance:

HTTP code: 200
Response time: 17700 ms

Resolved: Syncthing-KA-BI performance has improved in 21662f2 after 2 minutes.


Error when i npm start ,What happen?

did you install dependency  npm install ?

npm install -g ember-cli@latest && npm install -g bower
npm install
bower install --allow-root
use above commands to install dependency

i think you do not install npm

Closing b/c related to an account that as blocked due to involvement in SPAM PR's.


[add] gws/memo/message : add gws_memo_templates

Coverage increased (+0.009%) to 55.885% when pulling 1b7d9e5a19f52aa3f3f1d737bb73092b7a8fa31d on itowtips:gws-memo-template into 97459f24343a85e14048c29fe809a9454d0e1b7e on shirasagi:master.


[KNI] snyk: update ignore list

The linter is now complaining about an old dep,
for the time being (and likely for the mid term)
we will ignore the warning. cobra is an indirect dep anyway.

/cherry-pick release-4.18

/lgtm

@ffromani: once the present PR merges, I will cherry-pick it on top of release-4.18 in a new PR and assign it to you.

actually bad idea, this will mess up the tags


Sharp is reloading page

Hello.
I'm extracting, resizing and saving image with Sharp. Everything works fine.
The problem is I'm sending a request from client with axios and page is reloading by itself when request responded.
When I remove "toFile" function, it doesn't reloads page.
I couldn't understand what's going on, any ideas?
await axios.post('/api', { crop: cropArea, image: image }).then(resp => {       console.log(resp.data)  })
 await sharp(buffer)     .extract(crop)     .toFormat('png')     .resize(650, 650)     .toFile(image.png)     .then(() => {       res.send('OK')     }).catch(err => {       res.send('ERR')  })

Are you sure this relates to sharp? The phrase "page is reloading" sounds like your client side code running in a web browser.
If you still require help please provide complete, standalone code without any other dependencies that allows someone else to reproduce.

Closing due to inactivity but please feel free to reopen with more details if further help is required.


Feature: Copy all in debug console as plain text

In debug console, can we add a "Copy All (Unformatted)" or "Copy All (Plain text)" function to the right button menu?
When I copy/paste the log into text editor (like Notepad++), there are characters that editor can't display. It would be a lot easier to analyze the log if we can just copy the log as plain text.
@isidorn

Thanks @zhaihm for openning a seperate feature request, pushing this to the backlog for now. Let's see if more users ask for this feature

Please add some way to copy the debug console text!!!

@Arlen22 copy the debug console text is already possible.

@isidorn I suggest that "Copy" and "Copy All" always copy plain text.
There is no need to have two sets of actions.

@zhaihm what are the exect characters that can not be displayed in notepad++
Can you provide an example character that the debug console displays and notepad++ can not display?
@rebornix do we already have some utilities to strip strings of non plain text characters?

@weinand I just tried to copy from the debug console but wasn't able to. The Copy command only copies from the active source file, not the debug console. And since it is not possible to manually select all text by scrolling up and down etc. there is no easy way to copy all text currently. It should really behave more like the terminal renderers.

@isidorn we don't strip characters in the editor, the moment the content is being loaded into the editor, it's being decoded and then encoded in UTF16 (JavaScript string) so it's possible that some of the characters are decoded inproperly (but you can turn on render control characters to force them to be displayed) but copy and paste simply works on the text model which is the JavaScript string.

I am just getting started in VS Code and in the Debug Output window, I can't seem to copy anything.  I've highlighted what I want, done CTRL-C/right-click -> Copy .. but neither work.  I can't paste anything to notepad or notepad++.  This is both before and after the debug session is completed.  I hate resorting to screenshots.

@chillmanstr8 with "Debug Output window" you mean the Debug Console?

We already strip the ansi characters before writing the content to the clipboard.
Can somebody please provide an example where the content of the debug console can not be copied?
Since in VS Code we do not treat any "special characters" in a special way I do not see a reason why Debug Console should do this.
@letmaik you can context menu -> copy all
@chillmanstr8 this works for me. Are you sure you have selected something? And not just hovered over it

The problem I see is that copying large chunks of text (such as JSON) from the debug  console often abbreviates the content with ...:
              {
                  "id": "study-activities-DZV5UZj_st:kWRXhFXdBMz",
                  "_internalId": "study-activities-DZV5UZj_st/9vM6YnryRGK",
                  "revision": "_cueo1zu-_w",
                  "__typename": "StudyActivity",
                  "objectId": "1.0_16021989345131929211696",
                  "subType": "TERM",
                  "requirementLevel": "MANDATORY",
                  "recommendationLevel": null,
      …Id": "planned-activities-DZV5UZj_st/IzlM1FiVPYO",
                          "revision": "_cueo6C6-CM",
                          "__typename": "PlannedActivity",
                          "paType": "StudyEvent",
                          "name": "Colon symptoms",
                          "objectId": "1.0_1602335389670-1118984514",
                          "effectiveState": "UNCHECKED",
                          "studyActivity": {
                            "id": "study-activities-DZV5UZj_st:-qJOqCCTY2HY",
                            "name": "Colon symptoms"
                          },
                          "children": []
                        },

It is infuriating.

No action planned on the above discussion. Thus closing.
If there are clear steps feel free to open a new issue


Only one Gson&Date instances

No more than one Gson() constructor anywhere, no more than one Date() constructor anywhere.

This is going to be fun as we need to add quantifiers, at least one like moreThan(Int) or greaterThan(Int) to match multiple calls to the same constructor.

Message: Gson should only be initialized once at most
Description: Creating multiple instances of Gson may hurt performance and it's a common mistake to instantiate it for simple serialization/deserialization. Use a single instance, be it with a classic singleton pattern or other mechanism your dependency injector framework provides.


Trunk 6.1 Macro builds appear to incorrectly compile all package dependencies also for the host when cross-compiling?

Is it reproducible with SwiftPM command-line tools: swift build, swift test, swift package etc?

[X] Confirmed reproduction steps with SwiftPM CLI. The description text must include reproduction steps with either of command-line SwiftPM commands, swift build, swift test, swift package etc.

Description
I just tried cross-compiling swift-foundation for Android AArch64 using a recent trunk 6.1 Oct. 8 snapshot bundle generated by my daily Android CI. While the command below built fine, I noticed it was building a lot of files, and was surprised to find it was building FoundationICU twice, once for the linux x86_64 host and then again for the Android AArch64 target! This appears to be a SwiftPM bug, as I see no reason to build these swift-foundation dependencies like swift-collections and swift-foundation-icu for the host too:
> ls .build/x86_64-unknown-linux-gnu/debug/
_FoundationCShims-tool.build                    ModuleCache                                        SwiftParserDiagnostics-tool.build
FoundationEssentialsTests-tool.build            Modules-tool                                       SwiftParser-tool.build
FoundationEssentials-tool.build                 OrderedCollections-tool.build                      SwiftSyntax509-tool.build
_FoundationICU-tool.build                       plugin-tools-description.json                      SwiftSyntax510-tool.build
FoundationInternationalizationTests-tool.build  _RopeModule-tool.build                             SwiftSyntax600-tool.build                                       FoundationInternationalization-tool.build       SwiftBasicFormat-tool.build                        SwiftSyntaxBuilder-tool.build                                   FoundationMacrosTests-tool.build                SwiftCompilerPluginMessageHandling-tool.build      _SwiftSyntaxCShims-tool.build                                   FoundationMacros-tool                           SwiftCompilerPlugin-tool.build                     SwiftSyntaxMacroExpansion-tool.build
FoundationMacros-tool.build                     SwiftDiagnostics-tool.build                        SwiftSyntaxMacros-tool.build
FoundationMacros-tool.product                   swift_foundationPackageDiscoveredTests-tool.build  SwiftSyntax-tool.build
index                                           swift_foundationPackageTests-tool.build            TestSupport-tool.build                                          InternalCollectionsUtilities-tool.build         SwiftOperators-tool.build

I saw this for the first time months ago, ~so it should be reproducible with Swift 6.0.1 also~.
Expected behavior
Only build the Foundation macros for the linux x86_64 host.
Actual behavior
All package dependencies appear to be compiled twice, whether they're used by the macros or not.
Steps to reproduce

Download my Android SDK bundle from the link above.
~/swift-DEVELOPMENT-SNAPSHOT-2024-10-08-a-ubi9/usr/bin/swift sdk install swift-DEVELOPMENT-SNAPSHOT-2024-10-08-a-android-24-0.1.artifactbundle.tar.gz
cd swift-foundation
~/swift-DEVELOPMENT-SNAPSHOT-2024-10-08-a-ubi9/usr/bin/swift build --swift-sdk aarch64-unknown-linux-android24

Swift Package Manager version/commit hash
Definitely the Oct. 8 6.1 snapshot, ~probably the 6.0 release also~
Swift & OS version (output of swift --version ; uname -a)
Swift 6.1 cross-compiling from Fedora 40 x86_64 to Android AArch64

I just tried to reproduce using the official 6.0.1 toolchain for linux with the 6.0.1 Musl SDK bundle and my 6.0.1 Android SDK bundle, but could not. It appears this is a regression in trunk 6.1.
Pinging @MaxDesiatov and @xedin, who worked on getting macros working when cross-compiling during the summer.

I'm able to reproduce this bug with the latest Sep. 25 trunk snapshot of the official Musl SDK bundle too:
> cd swift-foundation
> git checkout swift-DEVELOPMENT-SNAPSHOT-2024-09-25-a
> ~/swift-DEVELOPMENT-SNAPSHOT-2024-09-25-a-ubi9/usr/bin/swift build --swift-sdk aarch64-swift-linux-musl
> du -sk .build/x86_64-unknown-linux-gnu/debug/*
44      .build/x86_64-unknown-linux-gnu/debug/_FoundationCShims-tool.build
40      .build/x86_64-unknown-linux-gnu/debug/FoundationEssentialsTests-tool.build
40092   .build/x86_64-unknown-linux-gnu/debug/FoundationEssentials-tool.build
86816   .build/x86_64-unknown-linux-gnu/debug/_FoundationICU-tool.build
32      .build/x86_64-unknown-linux-gnu/debug/FoundationInternationalizationTests-tool.build
21088   .build/x86_64-unknown-linux-gnu/debug/FoundationInternationalization-tool.build
12      .build/x86_64-unknown-linux-gnu/debug/FoundationMacrosTests-tool.build
56192   .build/x86_64-unknown-linux-gnu/debug/FoundationMacros-tool
1704    .build/x86_64-unknown-linux-gnu/debug/FoundationMacros-tool.build
36      .build/x86_64-unknown-linux-gnu/debug/FoundationMacros-tool.product
62556   .build/x86_64-unknown-linux-gnu/debug/index
784     .build/x86_64-unknown-linux-gnu/debug/InternalCollectionsUtilities-tool.build
40272   .build/x86_64-unknown-linux-gnu/debug/ModuleCache
55048   .build/x86_64-unknown-linux-gnu/debug/Modules-tool
4172    .build/x86_64-unknown-linux-gnu/debug/OrderedCollections-tool.build
2164    .build/x86_64-unknown-linux-gnu/debug/plugin-tools-description.json
7580    .build/x86_64-unknown-linux-gnu/debug/_RopeModule-tool.build
1124    .build/x86_64-unknown-linux-gnu/debug/SwiftBasicFormat-tool.build
4136    .build/x86_64-unknown-linux-gnu/debug/SwiftCompilerPluginMessageHandling-tool.build
552     .build/x86_64-unknown-linux-gnu/debug/SwiftCompilerPlugin-tool.build
1120    .build/x86_64-unknown-linux-gnu/debug/SwiftDiagnostics-tool.build
8       .build/x86_64-unknown-linux-gnu/debug/swift_foundationPackageDiscoveredTests-tool.build
8       .build/x86_64-unknown-linux-gnu/debug/swift_foundationPackageTests-tool.build
1540    .build/x86_64-unknown-linux-gnu/debug/SwiftOperators-tool.build
5044    .build/x86_64-unknown-linux-gnu/debug/SwiftParserDiagnostics-tool.build
11608   .build/x86_64-unknown-linux-gnu/debug/SwiftParser-tool.build
52      .build/x86_64-unknown-linux-gnu/debug/SwiftSyntax509-tool.build
52      .build/x86_64-unknown-linux-gnu/debug/SwiftSyntax510-tool.build
52      .build/x86_64-unknown-linux-gnu/debug/SwiftSyntax600-tool.build
4844    .build/x86_64-unknown-linux-gnu/debug/SwiftSyntaxBuilder-tool.build
12      .build/x86_64-unknown-linux-gnu/debug/_SwiftSyntaxCShims-tool.build
2772    .build/x86_64-unknown-linux-gnu/debug/SwiftSyntaxMacroExpansion-tool.build
1180    .build/x86_64-unknown-linux-gnu/debug/SwiftSyntaxMacros-tool.build
71544   .build/x86_64-unknown-linux-gnu/debug/SwiftSyntax-tool.build
664     .build/x86_64-unknown-linux-gnu/debug/TestSupport-tool.build

I just ran into this in another context. SwiftPM elevates all executables to be products, even those used by build plugins. I'll need to double check if this applies to macros (which are actually executables in the end).
I guess I get why this was done since people wanted to make sure they can run executables even if they aren't declared products? But it definitely causes build pain for executables you don't want to run.

A lot of that code has been "adjusted" recently. At any rate, again, not sure about macros, but I'm definitely seeing it on main with plugin tools.


Adding support for custom headers sent to http request

Hi, first of all, thanks for sharing the package.
https://github.com/gamell/fetch-base64/blob/a3751249de21489485850fed3adb6506b70bffad/lib/fetch-remote.js#L20
Would it be possible to add custom header parameters to the request? For example i think im having some issues with cache so adding any of the no-cache headers would be useful.
Ill try to make a PR if i continue having issues with recurrent calls to same url which has changed several times in few minutes.

Available in v2.1.1


[OSF-7793] Upgrade to Django 1.11

Purpose
The Django version we're using is no longer supported.
Changes

Upgrade cos-forks/django-typed-models
Upgrade djangorestframework
Make is_anonymous and is_authenticated into properties
Managers for TypedModels explicitly subclass TypedModelManager
Add localhost to ALLOWED_HOSTS when in debug mode
Remove invalid kwargs passed to model constructors

Side effects
Requirements will need to be update in local dev environments:
docker-compose up requirements

Adds a new django migration, though the migration does not modify the database.
python manage.py migrate
# OR
docker-compose run --rm api python manage.py migrate

Ticket
https://openscience.atlassian.net/browse/OSF-7793

Good suggestion re: the custom JSON encoder. I've created a ticket for that. Will also fix/add those comments you suggested.

Closing. Consider this "merged". feature/django111 is ready to go to staging.


Proposal: NavigationView: Add theme resources to enable easy flyout padding customization

Proposal: NavigationView: Add theme resources to enable easy flyout padding customization
Summary
In the review of the hierarchical NavigationView PR it was suggested to create theme resources to enable easy customization of the overflow menu padding in Top PaneDisplayMode and the children flyout padding in closed compact mode. This proposal aims to introduce two theme resources to customize these two paddings:

TopNavigationViewOverflowMenuPadding
NavigationViewItemChildrenMenuFlyoutPadding

Why two resources instead of one? Logically, the content of both flyouts differ. One flyout lists the children for a menu item, whereas the overflow menu lists distinct top-level items (including their children if any). As such it could make sense to give customers the ability to choose a different padding for these two different flyout types.
I'm proposing using "MenuFlyout" instead of just "Menu" for the children flyout padding theme resource as children can also be displayed inline (in Left mode) and I'm not sure if NavigationViewItemChildrenMenuPadding would make it clear that this resource only affects the padding when the children are displayed inside a flyout and not inline. As such, I picked "MenuFlyout" to make it crystal clear when the padding will be applied.
I don't believe adding "Flyout" to the TopNavigationViewOverflowMenuPadding name is required as the documentation also only speaks of the "overflow menu" and not the "overflow menu flyout".
Rationale
According to @YuliKl a "small but non-zero percentage of customers" likely want to customize these flyout paddings. Adding theme resources will enable these customers to do just that.
CC @StephenLPeters @ojhad @YuliKl

@anawishnoff I think you or @YuliKl would like to take a look at this.

Thanks for posting this! Sorry for the delay here - this definitely seems like an overall win and a relatively easy way to make sure customers can customize their UI as they wish. Also a nice non-intrusive solution being resources.
I'm ok with the naming scheme. I think I lean towards TopNavigationViewOverflowMenuFlyoutPadding as it keeps things consistent, but it is pretty long. But as long as the overflow menu is never NOT a flyout, your naming scheme should be fine.

@anawishnoff Yes, naming it TopNavigationViewOverflowMenuFlyoutPadding would make it consistent with NavigationViewItemChildrenMenuFlyoutPadding. As I wrote above, I picked TopNavigationViewOverflowMenuPadding to match the current UWP NavigationView documentation. That said, I'm fine using TopNavigationViewOverflowMenuFlyoutPadding instead if you feel a bit better about that and I don't think we have to worry about the Overflow menu not represented via a flyout for the forseeabe future.
Should I pick TopNavigationViewOverflowMenuFlyoutPadding then?

Thanks, the more I think about it, it seems like we should stay consistent with the docs. As you mentioned, it's highly unlikely there'll be an overflowmenu that isn't a flyout. I'm giving you the go-ahead from me on your original naming scheme and proposal😊.


Inconsistent formatting

In the patch #17 there are too many change points. This looks like an automatic formatting that is following different rules.... How can we make sure that the style of the project is formatted automatically in  a consistent way, so that different contributors don't step on each other's toes?
Thanks @milangupta1

I didn't realize that .. apologies. A good question.
All I did was fork, make the change and submit the PR. I made sure I used VSCode from your tree, so, it should have picked up and obeyed your checked in .formatter.exs .. that is what I assume is how it should work.
Perhaps need to specify a more prescriptive .formatter.exs ? Here is the one I use on my other repos .. although, I think your formatter spec was catching the files ..
[
import_deps: [:ecto, :ecto_sql, :phoenix],
subdirectories: ["priv//migrations"],
plugins: [Phoenix.LiveView.HTMLFormatter],
inputs: [".{heex,ex,exs}", "{config,lib,test}/**/.{heex,ex,exs}", "priv//seeds.exs"]
]


Add configurable http path identifier

I'm adding a new http identifier that constructs destinations based on a variable number of "/" separated segments at the beginning of the request's http path.  As part of this change I'm refactoring the default http identifier slightly, moving it into the io.buoyant.linkerd.protocol.http package.
From the updated config.md file:
HTTP requests are routed based on a configurable number of "/" separated segments from the start of their HTTP path.
For instance, here's a router configured with an http path identifier:
routers:
- protocol: http
  dstPrefix: /custom/prefix
  identifier:
    kind: path
    segments: 2
  servers:
    port: 5000

A request to :5000/true/love/waits.php will be identified as /custom/prefix/true/love.

⭐ 🐫

:star: 🐐 just a TIOLI on how to handle the case when there are fewer segments than requested

lgtm, modulo module name change

Ok, have fixed merge conflicts with master and switched to io.l5d.path.

:star: ⛲


Look at Hypercorn

Look at Hypercorn, try with xiao asgi and, if appropriate, change from Uvicorn to Hypercorn.

Reviewed Hypercorn, drop in replacement for Uvicorn. Supports HTTP/2.
Changed Uvicorn to Hypercorn in commit: 9e0de14fd4577695b1c9c8494fe51b6a8d031eb9


Revise Flybase ontology release mechanism

FBCV used to have this system that releases were placed in parallel into the "releases" sub-directory. The question is whether we want to continue to do that, or wether we go with the "normal" way of keeping the latest version on the top level, and creating proper github releases (to which the version iris would point). I am not bothered either way. Both of them require modifications to the existing mechanisms.

I think we need to follow the standard route on this.  AFAIK, it's the only way to get version IRIs to resolved if releasing as GitHub tags.

Another thought: I think I would prefer if we have a "current" release on Github, to which the normal, non-versioned PURLs point, rather than simply pointing to the master branch. This gives us more control; on the other hand, it also makes more work for us.. Do you have an opinion @dosumis ?

Ok, on second thought, adding current releases probably is an unncessary complexity for the maintainance of the flybase ontologies for the following reasons:

The largest flybase ontology, fbbt, is only 36MB in size - it will never scratch the GitHUb filesize limit
Most ontologies do not do current tagged releases
Versioned tagged release, the OBO standard, of course, have to be done and work (we double checked it now; they resolve correctly for Clares past releases).


Unable to open the application (version 1.40 of VSC) on Mac OS 10.15.1

Seems like this issue regarding Catalina is still a problem:
"Visual Studio Code can't be opened because Apple cannot check it for malicious software.
This software needs to be updated. Contact the developer for more information."

duplicate of https://github.com/microsoft/vscode/issues/74782

Still having the issue while installing by home-brew command prompt..


Ensure a fresh branch snapshot is seen by TraverseSyncToParent#execute

Have you found any issues with the former solution? What's the reasoning?

Basically, the repository snapshot and branch snapshot passed to TraverseSyncToParent was stale, and hence traverse was making decisions based on outdated repository state (skipping sync to parent for the next branch even though it was now needed etc.) :/


Fix files with empty extensions being detected as audio files

See #65.

Great catch. I only recently found that a single entry set is really a string. Python n00b :).


[Cherry-pick] fix pick error

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.0.6-prepare@51efcbf). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             2.0.6-prepare   #10755   +/-   ##
================================================
  Coverage                 ?   20.92%
  Complexity               ?     1606
================================================
  Files                    ?      540
  Lines                    ?    22863
  Branches                 ?     2722
================================================
  Hits                     ?     4783
  Misses                   ?    17588
  Partials                 ?      492

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 51efcbf...0601eca. Read the comment docs.


chore: [#3518] Remove public access modifier from botframework-config and connector

Addresses # 3518
#minor
Description
This PR removes the public access modifier from all constructors, methods and properties for the botframework-config and botframework-connector folders.

Note: These changes do not include the Typescript Constructor Shorthands (link).

Specific Changes

Removes all public access modifiers from where it's declared under the botframework-config and botframework-connector folders.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

10 of 10 (100.0%)  changed or added relevant lines in 4 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage remained the same at 84.485%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

libraries/botframework-connector/src/auth/appCredentials.ts
1
92.86%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19909

Relevant Lines:
22316

💛  - Coveralls

/promoted 4220


[BUG] Yace not showing correct information on RDS when there is failover happens

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
There is a multi-az RDS cluster with two instances.

One Writer
One Reader.

When checking the freeable memory in cloudwatch and yace data in prometheus graph, both  aws cloudwatch and yace data in prometheus showing the same Graph. Now when you look into the Graph, you can see the writer is having less freeable memory and the Reader is having more freeable memory.
Prometheus data(Blue line is Reader and Yellow line is Writer)

Cloudwatch data(Blue line is Reader and Yellow line is Writer)

But when there is a failover happens within RDS cluster, ie, when the Reader becomes the writer and the writer becomes the Reader, in Cloudwatch that switch in freeable memory(So that the new writer will be having less freeable memory and the new reader will be having more freeable memory) can be visible but in Yace data in prometheus is not showing that switch.
Refer the below image. The freeable memory switch in Cloudwatch between the Writer and Reader is rounded with a black circle.
Cloudwatch data after failover(Blue line is Reader and Yellow line is Writer)

The same change is not there in Yace data. But sometimes restarting Yace container would showing the same data as in cloudwatch.
Expected Behavior
Yace should be showing the same data as in Cloudwatch without restarting the container.
Steps To Reproduce
No response
Anything else?
No response

Interesting Bug. We should fix this for sure. I think the instance is found once and a "recheck" of the rds instance id does not happen again.

Just an update to this,
I have noticed that, the Prometheus will show this switch after like 30 or 40 minutes the actual switch happened in AWS. This is without restarting the container.
Thanks,
Uvais Ibrahim


Try correcting the name to the name of an existing method, or defining a method named 'hashValues'. and Try correcting the name to the name of an existing method, or defining a method named 'hashList'.

../../../../.pub-cache/hosted/pub.dev/timelines-0.1.0/lib/src/connector_theme.dart:86:12: Error: The method 'hashValues' isn't defined for the class 'ConnectorThemeData'.

'ConnectorThemeData' is from 'package:timelines/src/connector_theme.dart' ('../../../../.pub-cache/hosted/pub.dev/timelines-0.1.0/lib/src/connector_theme.dart').
Try correcting the name to the name of an existing method, or defining a method named 'hashValues'.
return hashValues(
^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dev/timelines-0.1.0/lib/src/indicator_theme.dart:80:23: Error: The method 'hashValues' isn't defined for the class 'IndicatorThemeData'.
'IndicatorThemeData' is from 'package:timelines/src/indicator_theme.dart' ('../../../../.pub-cache/hosted/pub.dev/timelines-0.1.0/lib/src/indicator_theme.dart').
Try correcting the name to the name of an existing method, or defining a method named 'hashValues'.
int get hashCode => hashValues(color, size, position);
^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dev/timelines-0.1.0/lib/src/timeline_theme.dart:346:12: Error: The method 'hashList' isn't defined for the class 'TimelineThemeData'.
'TimelineThemeData' is from 'package:timelines/src/timeline_theme.dart' ('../../../../.pub-cache/hosted/pub.dev/timelines-0.1.0/lib/src/timeline_theme.dart').
Try correcting the name to the name of an existing method, or defining a method named 'hashList'.
return hashList(values);

i was just about to post it, Please fix this


re uv

(sorry not a /code/ "issue")
https://github.com/astral-sh/uv
as usual, expect someone to take care of python tooling. prefix should work with other tools to figure out integrations.
any initial "response" to this development?

FYI there's a similiar thread on uv side where people have discussed this: https://github.com/astral-sh/uv/issues/1572


Display issues with Manjaro KDE Plasma Raspberry Pi 4

Installed FreeRDP server via this command: pacman -S --noconfirm freerdp
Using Manjaro KDE Plasma ARM aarch64
Kernel 5.10.60-2-MANJARO-ARM
When using the Microsoft RDP Client for Android, I can get connected successfully, but the display is not right. I have attached an image.

Couldn't find anything online for a similar issue, so help would be appreciated :)

could you please add what you are using? FreeRDP is a colletion of various RDP related tools (clients, servers, ...)

could you please add what you are using? FreeRDP is a colletion of various RDP related tools (clients, servers, ...)

Updated, but I'm using FreeRDP server

@cheapaschimps and which one? how do you configure it? please be a bit more verbose, otherwise we can not help.

@cheapaschimps and which one? how do you configure it? please be a bit more verbose, otherwise we can not help.

I don't understand which one. I installed via terminal:
pacman -S --noconfirm freerdp
And to launch the server:
freerdp-shadow-cli
That's all I did to configure it on the host.

ok, so you use shadow server. do you connect with the correct resolution?


Adding New Desk Doesn't Work

Sample
DeskReservation
Author(s)
@aprildunnam
What happened?
When you go to add a new desk and fill out the required fields the new desk doesn't get added to the sharepoint list.
You can however successfully edit existing desks without issue.
Steps to reproduce

In the Manage Desks screen click the + icon
Fill out the required fields
Click update

You then navigate back to the ManageDesks screen but the new record is not written to the SharePoint list.
Expected behavior
Would expect the new desk information to be added to the sharepoint list upon clicking the update button.

Thanks for letting me know - I'll look into it.

Having exactly the same problem.

Same here - based on a fresh and unaltered installation I can only see, edit and delete desks if I pre-configured them in the SharePoint list directly. But even with this manual entry, a booking of this desk isn't possible as reported in #22.
Would it be possible to receive the previous .msapp file to check if the issue was introduced with the new release or by Microsoft somehow?
Thanks a lot!

This is a simple issue - I just need to find time to re-package the app.  The app I packaged was an old version without the condition on the "Update" button to check if this is a new or existing desk and update the Patch() statement accordingly.


[bug] Sticky top-bar related Glitch with 4 records (when showing 5 records per page)

The git does not show the behaviour really well, I can show you tomorrow

Could we plan to include this issue fix for next release @Amelie-V @leiyre ???

@dvsrepo Any release affected by this bug or just in master ?


chore(go): bump to version 1.22

Closing in favor of https://github.com/UpCloudLtd/upcloud-go-api/pull/312


Prototype of moving qualifyColumns up higher in analyzer rule order

I'm still working through one failing, existing query that can't get an alias identified correctly, and I still have more polishing and unit tests to work through, but wanted to put a draft of what I've got so far out to start getting some feedback.
The main idea I'm working from is that if we can identify the aliases in the query up front and tag them with a specific type, it'll be easier to identify and work with them later.

Closing in favor of: https://github.com/dolthub/go-mysql-server/pull/1385


Issue about image format?

Hi, thanks for your sharing. It's a wonderful job.
The training dataset is DIV2K in your paper and the images are PNG format. However, the image format of testing dataset are BMP and JPG.
I found that BMP images could be reconstructed well while the reconstruction of JPG images were poor when the training dataset was original DIV2K.
Then I want to know how do you realize  reconstruction quality of JPG images.  Do you make JPG
training dataset with DIV2K?
Best

got it. Thanks for your reply.


fix(rln-js): use rln contract address from chat2 rln tutorial

@staheri14 please confirm which contract should be used.

Confirmed we want to use the old contract https://github.com/status-im/infra-nim-waku/blob/master/ansible/group_vars/wakuv2-test.yml#L52


Specify library dependencies in library.properties

Specifying the library dependencies in the depends field of library.properties causes the Arduino Library Manager (Arduino IDE 1.8.10 and newer) to offer to install any missing dependencies during installation of this library.
arduino-cli lib install will automatically install the dependencies (arduino-cli 0.7.0 and newer).
Reference:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#libraryproperties-file-format

Rimligt, mergar imon om inte jonny eller hagge har gjort det.

Thanks! Wasn't aware they added that.
/jb