Cannot specify servers using non-standard ports

Thanks for this module!
I'm using the client.Whois(query, server) call, but I've come across servers that aren't running on the default port e.g. rwhois.shawcable.net:4321.
There doesn't seem to be a way to specify an explicit server with a non-default port right now, correct?
Would you be open to a pull request to allow the server string to have an optional trailing port? (maybe a bit hacky?)
Or would you prefer a new Whois function with explicit (query, server string, port int) arguments?
Thanks,
Gavin

Hello @gavincarr
PR is welcome.
It seems that port in server string is more compatible.


Upload 3.0.1 (and new versions) to CDN and link it inside the documentation

We need to add this to the deploy process, also we always need to update the docs with the newest CDN. Is it possible to make a "latest" CDN link @derekstavis?

I have pushed version 3.0.1 to Pagar.me's CDN at the time of 3.0.1 release. Since minor versions are automatically updated when uploading to CDN, we don't need to update the README link this release.


Restore Purchase is not working

Hello,
I love your applications and i have pro version but i cant restore purchase progress
I bought it a few days ago and I reset the phone today. I wanted to use the app again today, but I can not use the pro version
I do not see any error screen. How can I fix this?
Thanks

@emresaracoglu, sorry for the delayed response. Does anything happen? Do you get the iTunes "do you want to purchase..." pop up?

I touch the Restore Purchase button but nothing is happening. It only says "Enabling" for a few seconds and back to application page. So Restore Purchase does not actively work.
I bought it again last night, no problem :) I hope it will improve in the next version, if you are thinking of update 👍

Restoring purchase still doesn't work.


Extension causes high cpu load

Issue Type: Performance
Extension Name: html-css-class-completion
Extension Version: 1.18.0
OS Version: Darwin x64 18.2.0
VSCode version: 1.32.3

:warning: Make sure to attach this file from your home-directory: /Users/agenciar8-dev/Zignd.html-css-class-completion-unresponsive.cpuprofile.txt :warning:
Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

Zignd.html-css-class-completion-unresponsive.cpuprofile.txt
And the requested file ^

Thanks for attaching the file. I'll be closing the issue and mentioning it on #155. Just so we can centralize the discussion there.


Question/Bug about esp_gap_ble_set_channels() in BLE 4.2 (IDFGH-12455)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.1
Espressif SoC revision.
ESP32-WROOM-32E-N8 (revision v3.0 and V3.1)
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
ESP-WROOM-32
Power Supply used.
USB
What is the expected behavior?
I was expecting that after the correct implementation I'd be bale to update the BLE Channel Map for data communication
What is the actual behavior?
Even after receiving a success back from the API the Channel Map is not updated
Steps to reproduce.
I normally upload the code to the ESP Module and connect the ESP to Tablet running the Android App and then pass the command to update the Channel Map(only 28,29,30,31 to be active)
This contains Two Sniffer Data packets
a) LL_CHANNEL_MAP_IND when I pass the command to update the channel
b) LL_UNKNOWN_RSP, response that is passed afterwards.
BLE_Channel_Selection_Report.txt
Debug Logs.
No response
More Information.
No response

So, a bit more reading gave me that there should be an LL_CHANNEL_MAP_REQ from the central and then the peripheral will perform this
I have an ESP Running as a client and whenever the Tablet send a BLE Command I was trying to update the channel Map and only use 28,29,30,31 as my data communication channels and the error received was
Expert Info (Error/Protocol): Incorrect control procedure packet sequencing or direction

So, I got to know that a Central should initiate the channel, but how?
Please some help.

@xiewenxiang Please can you guide me with the Implementation

I understood that,
It should be up to the device requesting a BLE connection to request a channel map update task.

or ### according to the Flow Chart

I am asking for help as to how do I emulate it or how does the android app(on the phone) send LL_CHANNEL_MAP_IND PDU?
Please let me know what Command the Android App needs to send and how.

Hello, any update/questions?

@meakashrao
Thank you for reporting the issue. I will check it.

Hello, I tried to initiate the channel map from the peripheral, I have an android app which acts as the master. How do I make sure that Android App/ESP32 Master initiates a BLE Channel Map update and The ESP Peripheral acts on it.
The API  esp_err_t result = esp_gap_ble_set_channels(channels)
wont be helfull from the ESP32 acting as the Master end. Please suggest something on this

@meakashrao
hi
Can you provide me with the captured packet files shown in your pictures?

The channel update is initiated by the master side, and the slave cannot initiate it. Based on your description, the ESP32 acts as the slave, and the mobile phone side is the master. You need to call the mobile phone's API to set the channels instead of the slave side initiating the channel update.

The mobile application should provide an API for channel updates, but the specific name of the API is unknown to me.
In the IDF, the API is named esp_gap_ble_set_channels. You can refer to the description of this API in the BLUETOOTH CORE SPECIFICATION Version 5.4 | Vol 4, Part E, page 2382 for more details.

Ok, thank you for helping me with this API description.
So, assuming I find the API for mobile,
a) The mobile will trigger the API which does similar to what has been given above by you (The ESP that I use is BLE 4.2, I will try to find the corresponding API)
b) Then the esp will do esp_gap_ble_set_channels
and it will work?
Can you help me if I can test the same using two ESP's one acting as a Master and the other acting as a slave? How do I do that?

The API esp_gap_ble_set_channels is only valid when called as a master device.

So, even if I find the correct API from the Mobile App which acts as a master, my slave ESP wont update it, or will update it without me doing anything on the ESP side?

Two ESP32 devices, one acting as a master and the other as a slave, is ok.
You can refer to the following examples in esp-idf/examples/bluetooth/bluedroid/ble/gatt_server_service_table and esp-idf/examples/bluetooth/bluedroid/ble/gatt_client.
In esp-idf/examples/bluetooth/bluedroid/ble/gatt_client, the device will initiate the connection as a master, while in esp-idf/examples/bluetooth/bluedroid/ble/gatt_server_service_table, it will act as a slave.
If you want to initiate channel updates, you can do so in esp-idf/examples/bluetooth/bluedroid/ble/gatt_server_service_table after a successful connection is established.
For example, you can call esp_gap_ble_set_channels in ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT.
The parameter "channels" specifies the channels you want to use, with the following description:
/**

@brief            BLE set channels

@param[in]        channels :   The n th such field (in the range 0 to 36) contains the value for the link layer channel index n.

                           0 means channel n is bad.

                           1 means channel n is unknown.

                           The most significant bits are reserved and shall be set to 0.

                           At least one channel shall be marked as unknown.

@return           - ESP_OK : success

              - ESP_ERR_INVALID_STATE: if bluetooth stack is not yet enabled

              - other  : failed

*/
esp_err_t esp_gap_ble_set_channels(esp_gap_ble_channels channels);

Thank you for this, I just want one clarification, I am using BLE 4.2 Module, the above API you suggested is for BLE 5.4, so is this possible for BLE 4.2 or not?

Your understanding is correct. Upon receiving the LL_CHANNEL_MAP_IND from the master, the slave automatically updates without requiring any further action from you.

It is also ok in BLE 4.2.

This issue can be closed for now. If you encounter any new problems while using it, you can raise an new issue, and we will respond to you as soon as possible.

OK. Thank you for your guidance.

Hey, I am sorry to reopen this.
I tried a lot but I am not able to find an Android way to send command that was mentioned above or any HCI command to be honest? Is there some other way?

@zhp0406 sorry for re-opening this.


+1 rolls when second roll

Need to add a +1 to player rolls when their last action was the same location

added to farm and drinkingchallenge just need to continue to add it going forward


gulp build not creating/outputing files

Scenario 1: semantic.json is in my projects root directory. My working directory is in semantic fold. gulp version command works fine, it outputs version number 2.2.10. However, gulp build runs properly, but nothing is created.
[22:57:56] Starting 'build'...
Building Semantic
[22:57:56] Starting 'build-javascript'...
Building Javascript
[22:57:56] Starting 'build-css'...
Building CSS
[22:57:56] Starting 'build-assets'...
Building assets
[22:57:56] Starting 'package compressed js'...
[22:57:56] Starting 'package uncompressed js'...
[22:57:56] Finished 'build-javascript' after 47 ms
[22:57:56] Starting 'package uncompressed css'...
[22:57:56] Starting 'package compressed css'...
[22:57:56] Finished 'build-assets' after 32 ms
[22:57:56] Finished 'package uncompressed js' after 13 ms
[22:57:56] Finished 'package uncompressed css' after 9.51 ms
[22:57:56] Finished 'package compressed js' after 22 ms
[22:57:56] Finished 'package compressed css' after 5.44 ms
[22:57:56] Finished 'build-css' after 41 ms
[22:57:56] Finished 'build' after 59 ms
scenario 2: I move semantic.json in semantic folder. This time gulp build works fine, it creates files. However, gulp version returns undefined version number.
I'm confused, what's problem. Thank you in advance.
My semantic.json file
{
"base": "/vendor/semantic/",
"paths": {
"source": {
"config": "src/theme.config",
"definitions": "src/definitions/",
"site": "src/site/",
"themes": "src/themes/"
},
"output": {
"packaged": "dist/",
"uncompressed": "dist/components/",
"compressed": "dist/components/",
"themes": "dist/themes/"
},
"clean": "dist/"
},
"permission": false,
"autoInstall": false,
"rtl": false,
"version": "2.2.10"
}

I am seeing this, as well. What's even more problematic is that with semantic.json in the root directory, the components section of the config is observed. When moved to inside the semantic folder, the components section is ignored and all components are built.
{
  "base": "semantic/",
  "paths": {
    "source": {
      "config": "src/theme.config",
      "definitions": "src/definitions/",
      "site": "src/site/",
      "themes": "src/themes/"
    },
    "output": {
      "packaged": "dist/",
      "uncompressed": "dist/components/",
      "compressed": "dist/components/",
      "themes": "dist/themes/"
    },
    "clean": "dist/"
  },
  "permission": false,
  "autoInstall": false,
  "rtl": false,
  "components": [
    "reset",
    "site",
    "container",
    "header",
    "list",
    "menu",
    "sidebar",
    "state",
    "visibility"
  ],
  "version": "2.2.13"
}


data source

can you tell me where the data you provided through data link is originated from?  is physionet? if yes, which dataset?

Yes, it is a cleaned version of MIMIC-II dataset in physionet.
https://archive.ics.uci.edu/ml/machine-learning-databases/00340/


MINOR: Make online downgrade failure logs less noisy and update the timeouts scheduled in convertToConsumerGroup

This pr

changes the order of the checks in validateOnlineDowngrade, so that only when the last member using the consumer protocol leave and the group still has classic member(s), online downgrade is disabled is logged if the policy doesn't allow downgrade.
changes the session timeout in convertToConsumerGroup from consumerGroupSessionTimeoutMs to member.classicProtocolSessionTimeout().get().

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Merged to trunk and to 3.8.


should compression be measured?

The following is a trace of an API request. Note the "uncovered" time at the end. If I turn compression off, this uncovered time shrinks by a quite a bit (around 2 ms total)

I'd love to see exactly what's taking this response that much longer. It seems like ~10K of data should compress in faster than 2 ms, but I'm actually not sure how long that takes.

Hi @domino14 thanks for the issue. Currently the mechanisms used by the interceptor don't provide compression. Some exploration work has been done, see this issue.


strange failure of eth_sendTransaction

Describe the bug
The following command:
cast rpc eth_sendTransaction '{"from":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", "to":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8" }'

Fails with a strange error:
Error:
(code: -32602, message: both gasPrice and (maxFeePerGas or maxPriorityFeePerGas) specified, data: None)

Steps to reproduce
run the above command.
Node logs
No response
Platform(s)
Mac (Apple Silicon)
What version/commit are you on?
reth Version: 0.1.0-alpha.18
What database version are you on?
Current database version: 1
Local database version: 1
What type of node are you running?
Archive (default)
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
No response
Code of Conduct

[X] I agree to follow the Code of Conduct

@Evalir this looks like a serde error on TransactionRequest

@mattsse this is an intentional check in reth: https://github.com/paradigmxyz/reth/blob/7cb9eaea9c5cad7637f6d869e3f5a45af849358c/crates/rpc/rpc/src/eth/api/transactions.rs#L741

seems it is related to the default value of gas_price and max_fee_per_gas. I want to fix this issue, could you please assign it to me, thanks :)

in reth the default value is null if not given. but in go-ethereum the default value of gas_price or eip1559 gas is derived from the chain states

@mattsse i think this actually seems to be cast specifying both legacy/eip1559 gas fields if none are set?

this is a reth bug,
fixing rn

btw, even if I specify the gasPrice, reth also can't handle it.

request

{
  "jsonrpc": "2.0",
  "method": "eth_sendTransaction",
  "id": 1,
  "params": [
    {
      "value": "0x0",
      "to": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
      "gas": "0x76c0",
      "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
      "gasPrice": "0x9184e72a000",
      "from": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
    }
  ]
}

response

{
  "error": {
    "code": -32602,
    "message": "both gasPrice and (maxFeePerGas or maxPriorityFeePerGas) specified"
  },
  "id": 1,
  "jsonrpc": "2.0"
}


PurchaseObserver#handlePurchase() not called although purchase ended successfully

I setup PurchaseSystem according to the README, and I see some of the PurchaseObserver methods being called, but I can't get handlePurchase() to be called.
I am testing this with a product that I added to the Play Console, and a test account that I created. I am getting the small Google Play IAP window to show, and I can select the purchase option. Then the window displays "purchased successfully", but the handlePurchase() callback is not called.
Any clues?

OK, I found the problem. My Android launcher that extends AndroidApplication was overriding the Activity#onActivityResult() method, so the PurchaseObserver AndroidEventListener could not be called.
Thanks for this useful library!


Workaround for missing +IDP message when server is in passive mode

There's an issue in the esp-at firmware where no +IDP message is received when in "passive mode" (Manual TCP receive) and a server is listening for connections. I've mentioned this issue here: https://github.com/MaJerle/esp-at-lib/issues/46
The issue report for the esp-at firmware is here: https://github.com/espressif/esp-at/issues/294
We can (probably) fix/workaround this in the library as well by sending a AT+CIPRECVLEN? right after receiving a +LINK_CONN when it's a server connection and in "passive mode". Would you be inclined for this?

As per my understanding, you would issue AT+CIPRECVLEN? command when connection is opened as server?
This can be done. Did you verify if it increases stability? Anyway this is again ugly workaround :)

Yes, when a +LiNK_CONN message is received from a new incoming client connection. Not when you create a new server with AT+CIPSERVER=1,80.
I know; it's ugly. I will check for stability improvement.

I have added manual check just after connection becomes active. This is valid for client or server modes.
https://github.com/MaJerle/esp-at-lib/commit/c8dda69f6db8fe4682cf0400b2523ed30bddfb5e
This is a one-time check and is not regular with some X intervals. Maybe it would be good to implement manual length check at every X seconds.
Let me know.

Ah, that looks good! I've tested a very similar approach where I reused the espi_conn_manual_tcp_try_read_data(conn); method. But I had to 'trick' it into thinking there was data in the buffer. So at line 878 in esp_int.c I had the following code:
#if ESP_CFG_CONN_MANUAL_TCP_RECEIVE
                /* See esp-at issue: https://github.com/espressif/esp-at/issues/294 */
                if(conn->status.f.client == 0){ /* conn is a server connection */
                    conn->tcp_available_bytes = 1; /* let's assume there is some data that we can fetch from the new connection */
                	espi_conn_manual_tcp_try_read_data(conn);
                }
#endif /* ESP_CFG_CONN_MANUAL_TCP_RECEIVE */

Not sure whether it should be limited to server connections.
I like your solution better, because it opens the flexibility to use elsewhere as well. Will give that a try.

Looks like they fixed this issue in the esp-at firmware on Master


1000 products, but no product is found

I'm submitting a ...

[X] bug report
[ ] feature request

What is the current behavior?
When I run the random policy or even step an action manually (eg.: search by shoes, a very common product), no product is found.  I tried with other strings (bags, durable, jumpsuits), but no product works.
Steps to Reproduce
env.reset()
env.step('search[shoes]')
What is the expected behavior?
At least one product should be returned in the search results, but it always returns "(Total results: 0)"
Please tell us about your environment:
Both Google Colab and Linux.

I'm submitting a ...

[x]  bug report
[ ]  feature request

What is the current behavior?
When I run the random policy or even step an action manually (eg.: search by shoes, a very common product), no product is found. I tried with other strings (bags, durable, jumpsuits), but no product works.
Steps to Reproduce
env.reset() env.step('search[shoes]')
What is the expected behavior?
At least one product should be returned in the search results, but it always returns "(Total results: 0)"
Please tell us about your environment:
Both Google Colab and Linux.

Hi,I encounter the same problem as you.I set DEBUG_PROD_SIZE=100000,still no results found.Have you solved it?

did you follow all setup steps in the readme.md? e.g. > ./setup.sh [-d small|all]

did you follow all setup steps in the readme.md? e.g. > ./setup.sh [-d small|all]
Thanks for your reply!I follow the setup steps in the readme.md.The reason why no products are found is that the indexes in search engine directory aren't buillt.After I run the convert_product_file_format.py,products returned correctly.

glad it got resolved!


Replace await with IO

Motivation
Recently there have been some transient failures in our unit tests where the result of await/awaitResultOf will fail with a None.get exception. These should be replaceable using the Cats IO library, as we've switched over.
Scope of change
Corresponding unit tests will have to get updated, and potentially remove deprecated functions from CatsHelpers.scala.

This is definitely something that should no longer exist.  Easy enough fix as it impacts tests only, but we really should NEVER use await anywhere including tests.


Create php.json

Fixes Issue
closes #2077

I have added a new file in JSON for the PHP language. It can be beneficial. It fixes the above-mentioned issue.

Note to reviewers
Please review my code and if there is any issue, Let me know :).

@Alisha-786
Following the PR template is a must. It includes special words like 'fixes' or 'resolves' that connect your issue to the PR, as explained in the official docs.
If you don't link the issue correctly, even after the PR is merged, the issue might stay open, causing huge problems.

You can see here.

I'm doing it for you this time. Please ensure it next time.
Just a heads-up to help you link issue properly next time. Have a great day!

@Alisha-786 are you still working on this PR?

Sorry for the delay. I have made changes can you please check and if there is some problem then tell me.

@Alisha-786
Is it deploying locally?

@Alisha-786
I'm closing this issue due to inactivity. Please feel free to reopen it if you'd like to contribute or have further discussions.


I believe to have done as required. Clearly the browser displays the second image. Only the checking routine seems not to see the second image.

Challenge Waypoint: Make Images Mobile Responsive has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:
<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">

CatPhotoApp

Click here for cat photos.

Things cats love:

cat nip

laser pointers

lasagna

Top 3 things cats hate:

flea treatment

thunder

other cats

  <form action="/submit-cat-photo">
    <input type="radio" name="indoor-outdoor"> Indoor
    <input type="radio" name="indoor-outdoor"> Outdoor
    <input type="checkbox" name="personality"> Loving
    <input type="checkbox" name="personality"> Lazy
    <input type="checkbox" name="personality"> Crazy
    <input type="text" placeholder="cat photo URL" required>
    <button type="submit">Submit</button>
  </form>

The challenge does not ask you to add the img-responsive class to the first image, only the new one you add. Adding img-responsive to the first image causes the test to check the src attribute of the first image and not the second.

@PeterNierop thanks for posting this issue!
@ltegman is correct. Closing as a duplicate of #1078.

Please review the Guidelines for Contributing, thank you!.


Some internal polishing is needed in the QASM3 exporter

This is a https://github.com/Qiskit/qiskit-terra/pull/6565 follow up
This particular issue tracks:

[ ] The GlobalNamespace._data is horrendous and needs to be split. More here.
[ ] Merge GlobalNamespace and Exporter.
[ ] Better Namespace validation and renaming, see here and here.

Hi @1ucian0, Can I work on this?

Hi @Ryand1234! This might not be the best choice for an external contributor, sorry - this issue is mostly a tracker for the core team, because we'll be making fairly heavy changes to the QASM 3 processing in Terra over the next few release cycles, and these changes will be part of it.  The changes needed for this issue are very major to a core deliverable in Terra 0.20 which will have quite a lot of activity, so it'll be a bit easier for us to manage if we keep this internal.
If you're looking for good issues, we have the "good first issue" label for issues that are good for first-time contributors, and the "help wanted" label for those with a bit more experience.  There's also "short project", and these may require a fair amount of physics knowledge to handle.

#12776 addresses all the problems tracked by this issue.  There's still obviously polishing that could be done, but I've marked this issue as closed by #12776.


Package request: gltfpack

Project description
gltfpack is an application that can automatically optimise glTF files to reduce their complexity and file size. glTF is a open standard, created by Khronos, for describing 3D scenes.
Metadata

homepage URL: https://github.com/zeux/meshoptimizer
source URL: https://github.com/zeux/meshoptimizer
license: mit
platforms: linux, darwin, windows

Thanks @lillycat332 and @nagy! 🙂


Cannot throw exception

I have a method that throws a custom exception
class SiteRuleService {
    fun extractDomain(uri: URI): String {
        throw InvalidUrlException("Invalid URL or domain <${uri.toASCIIString()}>")
    }
}

class InvalidUrlException(override val message: String = "") : Exception(message)

And a test to exercise this method:
@Test
fun testFindPagechat_InvalidUrlForBadUrl() {
    val inputUri = URI("http://example.com")
    doThrow(InvalidUrlException("Invalid URL or domain"))
            .whenever(siteRuleService).extractDomain(inputUri)

    try {
        siteRuleService.extractDomain(inputUri)
        fail("Expected exception")
    } catch (e: InvalidUrlException) {
        assertEquals("Invalid URL or domain", e.message)
    }
}

But Mockito complains because the method doesnt' declare IUE as a checked exception (since we can't in Kotlin):
org.mockito.exceptions.base.MockitoException:
Checked exception is invalid for this method!
Invalid: net.forumforall.kuorum.pagechat.InvalidUrlException: Invalid URL or domain

Any way around this?

Just ran into the same issue. I noticed that Kotlin doesn't have checked exceptions, but I'm not sure how this would relate to the issue

Kotlin has the @Throws annotation which you can use:
@Throws(InvalidUrlException::class)
fun extractDomain(uri: URI): String {
  throw InvalidUrlException("Invalid URL or domain <${uri.toASCIIString()}>")
}

Thanks, @nhaarman, that gets exactly what I needed, easy fix!

Is it a good idea to add annotations to source code just for testing purposes? I understand writing testable code and writing in a way that makes it testable, but this seems like a stretch and introduces something excluded from the language

This is not just for testing purposes, but for general interoperability with Java. See https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html#checked-exceptions

I understand the interop reason for the annotation, but more generally there may be no reason for it in the application code, but just testing code. I have a particular use case with no Java code, but am running into this issue. I would rather have the ability to maneuver in the testing framework than change source code.

However if Java interop is not required in a project, these annotations become needed solely to get the testing framework working. This adds unnecessary noise to the production code.

Here is a workaround :
doAnswer { throw InvalidUrlException("Invalid URL or domain") }
            .whenever(siteRuleService)
            .extractDomain(inputUri)

Thanks @jibidus for the workaround because, to my knowledge, there is no other solution when you want to do it on a @Transaction method on an Android Room DAO.

This can also be achieved by doing:
whenever(someObject.doesSomething(any()).then {
    throw MyCheckedException("Error")
}


Add more entity related events. Enhance several entity related events.

Achieves the following from the OCD list #221.
Fixes #462

[x] BiomeType needs a getter for its name
[x] Living needs a class javadoc
[x] PotionEffect#apply is questionable and should possibly be moved to Living
[x] EntityBreedEvent is missing javadoc
[x] Missing an EntityUnleashEvent to match our EntityLeashEvent
[x] getFlamable and setFlamable in ExplosionPrimeEvent are misspelled
[x] Add potion related events
[x] EntityInteractEvent and children should implement Cancellable
[x] EntityTameEvent offers no way either to get the tamer
[x] EntityTeleportEvent has no velocity methods (for maintaining or changing the velocity of the player after the teleport)
[x] EntityIgniteEvent getter and setter for fire ticks
[x] EntityEnterPortalEvent and EntityLeavePortalEvent
[x] ExperienceEvent is missing a javadoc

IMO there should be a super interface for PortalEvents.
Because there are several events connected to portals:

PortalCreateEvent
PortalDestroyEvent
PortalEnterEvent
PortalExitEvent
PortalTeleportEvent extends TeleportEvent

public interface PortalEvent extends Event {

    Portal getPortal();

}

public interface Portal {

    PortalType getPortalType();

    // Optional:
    Location getTarget();

}

IMO there should be a super interface for PortalEvents.

That will have to come in as another PR as I don't believe adding a Teleporter API (involving portals, portal types and other things involved with teleportation) is in the scope of this PR (which is intended to just fix the small OCD issues.

@gabizou You are right. It was intended  as a "think about it" (in the future) as well a starting point to check if somebody is interested in something like that. I just don't want to create an issue for every idea i have.


question on istanbul-middleware support

We (nodejs@PayPal) are currently relying upon istanbul-middleware to capture coverage metrics along with selenium automation. Unfortunately it seems that istanbul-middleware isn't being maintained within this org.
My question is: are there any plans to bring that module into this org and support it? if not, would you be opposed if I (or someone else here at PayPal) joins your org to do the same?
For reference: https://github.com/gotwarlost/istanbul-middleware/issues/31
Thanks for your time!

I maybe wrong, but as I understand it the istanbul-middleware's purpose is to allow collection of coverage data on the client side, which is something I like to be able to do easily.
Am I correct that is the purpose of the istanbul-middleware?

@grawk sorry for the frustratingly slow response! definitely suffering from a bit of a ticket overload.
I certainly wouldn't oppose bringing istanbul-middleware into the org; and would love help maintaining it (since it's not a library I use on a regular basis).
I would start by pinging @gotwarlost on Twitter and in an issue, to see if he'd be willing to transfer it over to the org.

Any updates on this one? We use istanbul-middleware to capture express app code coverage of integration tests. This would be very helpful for us.

Same here ^^

I'm not aware of a way to have express instrument code though I think https://github.com/nodecg/express-transform-bare-module-specifiers could be forked and made into a generic express babel 7 middleware, then babel-plugin-istanbul could be configured as a plugin.
I do something similar to this using the fastify web server, I wrote fastify-babel and use that to run the web server for my browser based testing.


Template error when creating with Launch Stack button on getting started

When following the Getting started I get this error after the Launch Stack.
Template validation error: Template format error: Unrecognized resource types: [AWS::Cognito::UserPool, AWS::Cognito::UserPoolClient]

I guess it's the region problem. Your region may not support the Cognito services. Here is the list of supported region: https://lambstatus.github.io/supported-aws-regions


[Design] Create an about page.

Deliverables:
Add the deliverables with their description here.

[x] Design about page in FIGMA or Adobe XD
[x] Be consistent with the color palette used here
[x] Ask for reviewing to the Project Admin

Can I work on this under gssoc'21?

/assign

Yes sure. Make sure you follow the color palette for consistency.Check this out  Homepage

Yeah sure

Hey, I have a doubt. After working on the design do I just provide the link here or add it among the files in the project? @ADRE9

First let us review your designs. If it's acceptable you need to make a pr adding the link to your figma or Adobe XD in the readme file. For reviewing send me the link in the discord server.

Okay

Done please check discord :)

please assign me this

please assign me this

Sorry @subhangi2731 this has already been assigned, to another participant who contacted us on discord a week before.

@ADRE9 Can I work on this issue if no one is working?

Open now or someone's working?

@ADRE9 @kunaljain0212 Please assign me this issue I will send a pr within 2 days

@subhangi2731 the pr has been merged for it I guess. Sorry for not closing this.


is Moquette thread safe?

Hi.
I could not find any documentation for this fact.
Is the Moquette thread safe?

yes


Support sharded database environment

These commits support the use use of a 1:1 redis<->db mapping. It does so by passing the DbConnection through the various interception methods as a parameter, allowing a potential ICache instance to examine the DbConnection instance to maintain said mapping.
See https://github.com/purdue-tlt/EFCache.Sharding for an implementation of a sharded cache.

I am sorry, but this does not fit here. I believe it should be possible to implement this functionality externally - i.e. without changes to main interfaces.
Another reason to not take this change is that it breaks current implementations of the ICache implementations because of the changes to the ICache interface. Note that the default parameters are not supplied automatically by the callee but are compiled into the caller, hence existing implementation will not work without re-compiling.
This change also updates the lowest supported version of the .NET Framework as well as the lowest supported version of EF - changes I don't want to make.
In general (for any bigger contribution to any open source project) I would recommend starting a thread to agree with maintainers on the change and the scope before opening a PR - it might save your time and give you clarity on the kind of changes that could be accepted.
If you need your changes in your own project, feel free to fork this project and use your changes but I am not going to take your pull request, sorry.
I still want to thank you for the interest in this project and your attempt to improve it. I do appreciate it!

Thanks for taking a look. We love your project and we needed these changes for our system. Thought we'd offer them back upstream.
Indeed, I had hoped to do it without changing the interface, but it doesn't appear to be possible due to the nature of how interception seems to work in EF.
If you are aware of a way to do so and you'd otherwise be interested in having a PR, let me know. We can lower the .NET and EF requirements no problem.

I am not quite sure why you can't implement the ICache interface as it is now and just take the connection (or a callback to a connection factory/provider) in the ctor of your ICache implementation. This is how it is implemented in the EFCache.Redis - an implementation of the ICache interface which uses Redis to cache items instead of keeping them as a dictionary in memory which is what InMemoryCache does.

Hi Pawel -
I did some digging on this. I'm actually already using EFCache.Redis as well. My application has a DbConnectionFactory that instantiates a DbConnection based on a given shard name. I have a Dictionary that maintains a mapping between each shard's DbConnection and an instance of RedisCache.
I tried finding a way to get a reference to the current instance of DbConnection at interception/DbCommand time and passing that to the constructor of my implementation of ICache. Alas, I do not believe it is possible to get that reference nor to create a callback as I don't believe there is anything that would call said callback!
I do believe I can accomplish what I need without modifying, ICache. But this would require me to subclass several of the EFCache classes that are declared as internal (i.e. CachingCommand). Would this be something you would consider? The idea is that I would create a subclass of CacheTransactionHandler and a subclass of CachingCommand.  CachingCommand has access to a DbConnection. This would allow me to call methods on my subclass of CacheTransactionHandler and pass the DbConnection through so it can then be used by my ICache implementation to dispatch the request to the right instance of RedisCache
Let me know if you'd be willing to accept a PR that changes the visibility of CachingCommand (and its dependencies) to protected.
Or if you have any other ideas for how I can get access to a DbConnection at interception time, I'd be open to them.
Thanks again for your consideration,
Jason Dufair

Hi again - I did even more digging and came up with a solution that works but is hacky. And involves an in memory cache of command definitions and string matching on the keys that are delivered to CacheTransactionHandler. I got stopped because even this solution won't work for InvalidateSets.
The fundamental problem is that ICache is normally instantiated at startup and is a singleton held on to by the TransactionHandler. When a CachingCommand is created, the wrapped DbCommand could be targeted to any DbConnection but there is no way for the the TransactionHandler and its single ICache instance to know with only a key (and in the case of InvalidateSets not even a key) which database is being targeted. The underlying assumption seems to be baked into EFCache that there will be one and only one cache. I tried developing some sort of ICacheFactory but this ended up being a dead end too.
Would you be interested in working with me to remove this constraint? I can just keep my fork (and the fork I have for EFCache.Redis) but I believe the community would be better served if we offer a more comprehensive solution. One possibility could indeed be via my comment above where I have a separate repo but I can inherit from some of EFCache's classes maybe. Another solution is to extend EFCache to handle multiple DbConnections and multiple ICaches
Again, thanks for your consideration.

This is my PR for EFCache.Redis too. Sorry I didn't point to it right off the bat.
https://github.com/silentbobbert/EFCache.Redis/pull/36

My application has a DbConnectionFactory that instantiates a DbConnection based on a given shard name. I have a Dictionary that maintains a mapping between each shard's DbConnection and an instance of RedisCache.

Each method of the CacheTransactionHandler that deals with caching takes DbTransaction. Could you use DbTransaction.DbConnection property to get the cache instance you need to work with? I am wondering if you can just create your own transaction handler derived from the CacheTransactionHandler and overwrite all the methods that use _cache. to first resolve the cache instance you need to work with before invoking a cache related operation. I do acknowledge that the CacheTransactionHandler is not really designed well for subclassing (e.g. in your case you would have to provide a dummy ICache instance in the ctor, and would likely have to implement/copy all the methods that deal with caching) but if this approach works I think this can be fixed.
With regards to other changes - at this point I don't think I would take any major/dramatic/risky changes/refactoring to the core code in general. The reason is that I am afraid of introducing regressions which will break people and which I won't be able to fix in timely manner given my other commitments.
My feeling about your particular case is that the changes you would like to introduce are too specific to your use case (this is the first request to support shards and I don't know if this is because people don't need it or they had different requirements and were able implement it without changes to EFCache). EFCache is a general purpose extension and it tries to address the most common scenarios/needs. The flip side is that more advanced or rare scenarios can be hard (or impossible) to achieve.

Hi Pawel - I did play around with creating my own CacheTransactionHandler and I do think that will be a good approach. In order to avoid duplicating a fair bit of code that I would need to reference in my subclass that is declared internal, I'd need to make a PR that removes internal from a few classes. Would you be ok with that?

This is what I ended up doing:
https://github.com/purdue-tlt/EFCache/pull/1/commits/c20cc2bfc9821623a825bef37175fd046b51103b
In order to support:
https://github.com/purdue-tlt/EFCache.Sharding/tree/feature/sharded-cache-refactor
I had done basically what you did in your prototype, but ended up also needing to change visibility on a few other classes to support the CacheTransactionHandler and CachingCommand subclasses. Let me know if you think this is a reasonable solution and thanks for the time you've put into this.

Ok sorry. I misunderstood. I was under the impression you objected to changing CacheTransactionHandler.GetItem() and friends. The prototype is exactly what I needed. If you are willing to put that into EFCache, I can definitely use it.
Thanks so much for your help!

I did not want to change CacheTransactionHandler indeed but after I played with the code a little bit I remembered that the transaction can be null sometimes and therefore it is not always possible to extract a DbConnection from the DbTransaction. I think this is actually the cleanest way of enabling cache resolution and changes are pretty small. This can be considered a breaking change but in reality (as you have experienced) the CacheTransactionHandler was not extensible at all so I don't think anyone will be broken by this. The existing API surface did not change as well so existing apps should continue to work without any changes. I will add some test cases for the new scenarios and will put it on NuGet in the next few weeks.

FYI, I just published EFCache 1.1.3 which contains changes you are after.

Again, many thanks for your work on this!


The'Driver' property with {mysql driver 5.3 ansi driver}' does not correspond to ann installed odbc driver

mysql has installed in my computer，how can I fix the proplem,many thx

If you're getting this error, it means we can't find a driver of that name in the Windows registry. Do you have the right bitness(es) installed? Note that while most people use 64-bit Power BI, the SDK runs in 32-bit VS and so development would require both a 32-bit and a 64-bit driver to be installed.


Created announcement.

New teacher function to send course participants message with optional documents

Well done, @eienEika !


#83 plot one class only for plot_precision_recall_curve

#83 plot one class only for plot_precision_recall_curve

Hi @lugq1990, first, thanks a lot for both your PRs. Sorry I've been very slow to review, I've been very busy the past three months. Anyway, let me drop a few comments on this PR first as this is pretty important to me.
I've long thought about redoing the API of curves so that users can select individual classes to plot, not the current way of just being able to select each_class.
Here's my idea of how this should look.
First, we need to deprecate curves.
We then add in plot_micro (boolean default true), plot_macro (boolean default true), and classes_to_plot that must take a list-like array of numbers determining which classes to plot. The default value of classes_to_plot must be None, which signifies that all curves are to be plotted.
This will take a bit of work, especially properly deprecating curves. Let me know if you still want to take it on.

@reiinakano Hello, during the weekend I have deprecated the 'curves', instead as you have said using the plot_micro (boolean default true), plot_macro (boolean default true), and classes_to_plot that must take a list-like array of numbers determining which classes to plot. I will make the commit.  Please check it during your free time.  The result is as followed:

@reiinakano I have made a new pull, but because the master branch test is still using the curves parameters to check,  so it is verified fail. I have also changed the test file. Please check it.

Deprecation does not mean removing the argument immediately. You should detect whether a user is explicitly using curves, and emit a deprecation warning. But it should still work the same as before. Like I said, it's a bit tricky.

@reiinakano It is really a little tricky. I have a idea but may not the best. We also add three parameters:plot_macro, plot_micor and classes_to_plot, keep the curves parameter at the same time. If user want to plot the each_class, we give the user a warning tell him that the parameter is deprecated, but we will still plot the precision_recall_curve and plot the micro and macro default. The added parameters plot_micro and plot_macro give the user control whether plot them or not, the classes_to_plot give the user control to plot the classes for the classes needed to be plot. As you have said : keep the plot_micro and plot_macro be True default. Is that OK?

Sorry for the late reply, yes, that sounds good

It's Ok. I will make it as above as soon as possible.

@reiinakano I have made it as we have discussed. If user choose the 'curves' want to plot the each_class, we just give a warning but also plot all classes for user.

Hi @lugq1990, I know it's been months, I'm really sorry but I finally got some free time to sit here and work on scikit-plot. Anyway, I made a few changes myself but I merged it in after that. Thanks a lot for your PR and again, really sorry it took this long to review!


importing pipeline-ui in Next JS app gives ""window not defined " error.

trying to use pipeline-ui in my Next JS application. But,  "import { AlgoButton, AlgoAddress, AlgoSendButton, Pipeline} from 'pipeline-ui' " is resulting in "window not defined error".  It is because it is not able to find "window" from the server side from a Next JS app.

Pipeline UI team, you should use globalThis instead of global.

@brahmapsen This was explained via Discord. PIPELINE-UI is not currently compatible with the Next.JS framework. Closing this issue.

PIPELINE-UI specifically is a client-side library.

If you use globalThis instead of global in your code then you have better compatibility.
PS: Next.JS framework is for client side (it's for building a UI).


Tab Component should accept a print property

If the Tab component has a print property set, then a Print button should appear at the top of the Tab content that allows the user to print the contents of the Tab.

This does not seem to be possible without modifying the  component itself.
So not worth the effort.


Research how much power solar panel modules can deliver and how much they cost

We need to supply the Raspberry Pi's with power. We might be able to do that using solar panels but we need to understand how much power we could produce with them.

A general rule of thumb is that solar panel modules provide 1,000 watts (1 Kw) of sunlight for every square meter of panel.  Depending on how much space on our design we have for solar panels, this is something we can consider. We also need to figure out how much energy is required for Raspberry Pi to run our images and if that would even be possible with the amount of memory and software we have. I will do some more research on this and add it into a second comment.

Thanks @celiapesiri . It might help to also see what solar cell manufacturers claim their solar cells can deliver. The typical efficiency of solar cells is probably no more than 20% which would reduce the number you found to around 200 W/m^2.

1000 Watts per square meter is the total amount of energy coming from the sun but most solar panels are at around 20% efficiency. The value of a solar panel is usually measured by dollars per Watt it produces. If size isn't a problem, then we can go with a lower efficiency solar panel that is cheaper (lower dollars per Watt value).

I made a mistake in the last post. Watts is energy rate and Watt hours (Wh) is energy. Secondly, the raspberry pi will require 0.5 amps at a time. If we assume the battery won't be able to charge for 16 hours max, we need an 8 Ah battery. The battery will also need to output 2.5 Watts so it needs to be able to store 40 Wh but we need a buffer so 50 Wh is better. Below are the exact formulas.
Assuming 16 hours between a full charge:
Q (charge stored by battery, amp hours) = I (current, amps) * T (time, hours) = 0.5 amps * 16 hours
E (energy stored by battery, watt hours) = P (power, watts) * T (time, hours) = 2.5 Watts * 16 hours


Issue#411 Problem #1208 | Get Equal Substrings Within Budget | Java

Pull Request Template
What have you Changed(must)
Added new Java solution for 1208 | Get Equal Substrings Within Budget | Java whose runtime beats 100% of all submissions
Issue no.(must) - #411
Pr will be close and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[x] This issue was assigned to me if not it will be marked as spam.
[x] My file is in the proper folder
[x] I am following clean code and Documentation.
[x] I have added the title and what program will do first in the file
[x] I have named the file as (Problem #). (Problem Title(in Camel Case)).(extension)
ex. 2. AddToNumbers.py

README - How to Contribute

Made a rectified PR#623


Update Azure Maps SDK code owners

Update Azure Maps SDK code owners

/check-enforcer evaluate

Thank you very much!


[CI] Clarify RAT exclude patterns.

RAT exclude patterns are not matched across path separators.  Patterns
of the form xyz/* will match files and directories named xyz anywhere
in the tree because the regexp /* contracts to "".  Adjust the
existing rat exclude patterns that appear to contain matches with path
separators to be explicit about the pattern they actually match.

Given that the original rat is relatively simpler and perhaps ignores only a bit more. I incline to keep the original pattern, so when users check manually with rat we won't get as long messages

@tqchen are you commenting on the first or second patch here?

Thanks @mshawcroft


Reference-style links aren't transformed into anchor tags

Given a Markdown file like the following:

---
title: Reference-style link demo

---

This includes some [links][] and other [things that should turn into anchor tags][a].

[links]: http://example.com
[a]: http://example.com

metalsmith-excerpts just grabs the first portion of text up to the first two newline characters and passes that into marked.  This is why marked doesn't turn the reference-style links into actual anchor tags -- the references for them aren't passed in with the first paragraph.
Ideally, the way to fix this would be to excerpt from the HTML after converting the entire document.  That way, documents that put all of the references at the bottom of the document would still work.  After that, you would need to find the first tag (be it <p>, <pre>, <blockquote>, etc.) in the HTML.  Using cheerio, you can accomplish that with:
var cheerio = require('cheerio');
var $ = cheerio.load(file.contents.toString());
var firstTag = $('*').first().clone();
$('*').replaceWith(firstTag);
file.excerpt = $.html();

I think you have to use clone() and replaceWith() to get the outerHTML of the tag you're selecting.  I might be wrong about this.

Fixed with #7


[QUERY] Calling a custom function from within another custom function

I'm looking for help on the SDK. Not sure this is the right place as the other issues posted here look pretty technical. But I was encouraged to post here by a member of the Slack support team so here it is...
I am trying to call a custom function from within another custom function (as in the code example below) but I get "TypeError: InnerFunction is not a function".
I guess the InnerFunction definition is out of scope but I don't know enough about the SDK (and probably Typescript) to fix the issue
I can't find any reference to this in the documentation or examples.
Can someone help? Or explain how I otherwise might get help?
Thanks very much
Mark
import { DefineFunction, Schema, SlackFunction } from "deno-slack-sdk/mod.ts";
import { InnerFunction } from "./inner_function.ts";

export const OuterFunction = DefineFunction({
  // definition here
});

export default SlackFunction (
  OuterFunction,
  ({inputs}) => {
    const a = InnerFunction ({
      test_input: inputs.test
    })
    return a
  }
);

It looks like you have two Slack Custom capital-F Functions: InnerFunction and OuterFunction.
Is InnerFunction used as a step in a Workflow elsewhere? If not, it shouldn't be necessary to wrap it in DefineFunction - that effectively turns a bit of logic/code into a Slack Custom Function, and enables it to be used a step within a Workflow. If that's not required, you can use a plain old lower-case-F JavaScript/TypeScript function within your OuterFunction source file.
If it is used as a step in Workflow somewhere, then indeed there is no easy way to invoke one Slack Custom Function from another Slack Custom Function at this time.
There is a bit of a workaround, but this would only enable a one-way invocation of a function and you wouldn't be able to get a return value from the invoked funciton (which it seems like you are trying to achieve given your example's use of the a variable). It is also quite involved and kind of slow:

Create an additional, simplistic Workflow that only wraps InnerFunction.
Within OuterFunction's logic, dynamically create a Scheduled Trigger for some very-near future (i.e. now + 1 second) that will invoke the Workflow you created in step 1.

Another idea: could you sequence a Workflow with both InnerFunction and OuterFunction so that InnerFunction's output can get used as an input to InnerFunction?

Thanks very much Fil (hope that's your preferred name) this is a really useful steer.
Can I ask you for a little more help?
My situation is that I have an app that interacts with a CRM using the OAuth features of the SDK. I've built a Slack function that queries the CRM and this works fine when called directly from a workflow.
But the app has a modal that needs to interact with the CRM in a similar way. For example the modal Slack function creates an external Select Menu block that calls an addBlockSuggestionHandler to get a filtered list of names from the CRM. Hence my question about calling a Function from within a Function.
So, from what you say, it looks like I need to build an ordinary function to query the CRM then call this from my Slack functions. Does that make sense? If so then I'm wondering what issues there are...
For example, does the SDK do anything special in the background (for say the OAuth) that requires the use of a Slack function? Or, put another way, can I just take the implementation part of my CRM Slack function and put it in an ordinary function?
I'm learning Typescript (and if I'm honest JavaScript too) is there any sample code you could point me at that might help with this?
Thanks again
Mark

Happy to help work through your use case! And yes, Fil is my preferred name 😄
Could you provide a bit more information on what the end-user experience/goal of the workflow is? While I understand your description of what you've achieved (pulling data from a CRM, dynamically populating menu options with this data), it is unclear to me why you want to call a function within a function in this case? If you could elaborate at a higher level what the experience you want to create from an end-user perspective is like, then I think I could better understand the requirements and provide better suggestions on how to structure the solution.
A Slack Custom Function is able to create a modal-based experience for end-users, and using the various interactivity handlers, like the blockSuggestionHandler you already seem to be using, you can create quite a rich experience. These interactivity handlers are "scoped" to a single Slack Custom Function, and with them you can pause the completion of the function "step" within a workflow until the user completes some modal-based flow - at which point you can then 'complete' the function's execution. This would then mark the step in the workflow as complete, and the workflow would move on to its next step. I think we can use this general pattern in your case to achieve what you are trying to do.

Fil, it's kind of you to offer help
The context is about enabling our users to select and invite one of our ~250 partners to bid for a contract with us.
This is currently done in our CRM but we'd like to do it from a Slack thread we use to manage the contract.
In this case the user must:

Select the partner
Confirm the partner's suitability
Check/update some information about the contract
Initiate the sending of an email to the partner

I've been experimenting with a single modal function to handle all of this. (But perhaps I've got this wrong.)
Step 1 requires the selection of one of the 250 partners, so a standard pre-populated menu select won't work as this is limited to 100 items.
I tried to use the Options Request URL approach but one of your colleagues on the help desk told me that this wasn't available in the new platform and that I needed to use an external select block and a suggestion handler.
The external select block passes the characters typed by the user to the handler and I was trying to find a way to use these in a query to our CRM. Hence the function within a function.
There'll be a similar issue in step 2 because after the user selects a partner there is a need to query the CRM again to get details about that partner from the CRM. I was thinking of doing this from the main modal function hence the function within a function again.
Grateful for your thoughts

@markfoden could you do the CRM query within the block suggestion handler directly?
Another option if you want to go the static route via a Static Select Menu is to group the available partners into Option Groups. Static Select Menus support up to 100 Option Groups, and each Option Group can hold 100 options. That expands the maximum possible number of options you can use a static select menu - though it forces you to group them into (possibly arbitrary groups).

I have a sample application that I've been using internally to test more advanced interactivity handlers / more complex modal-based UIs. It involves using all the different kinds of interactivity handlers (block actions, view submission and closed, and block suggestions). It builds a multi-modal experience using the views.push and views.update APIs - if you haven't already seen this, check out our Modals article and particularly the Understanding the lifecycle of a modal flowchart to see how the two APIs I mentioned can factor into building such an experience.
The sample I mentioned is also entirely scoped to a single Custom Function, effectively making the entire multi-modal experience as part of a single 'step' in a Workflow. When I have a moment today I'll post it to my personal GitHub and link it here - I think it could be a useful blueprint for your use case.

@filmaj Thanks, this is useful. I'll look at the detail tomorrow but on your first comment...

@markfoden could you do the CRM query within the block suggestion handler directly?

This is what I was thinking of doing. I wanted to use the characters typed by the user in the external select block, and sent to the suggestion handler, to query the CRM. Hence the need to call my CRM query Slack function within the block suggestion handler. Which I think you said can't be done right now.
So I'd need to write an ordinary function to do this. It looks like the OAuth is handled by the Slack function so I'd need either to get help on doing this or use an API key approach (which I'd prefer not to do). I can't help thinking I've misunderstood something along the way. Thanks for your patience...

Hence the need to call my CRM query Slack function within the block suggestion handler. Which I think you said can't be done right now.

Oh, I must have mispoke. This can certainly be done today. You could use a regular fetch call to make an HTTP request to any public API you wish. You would have to add the domain of that public API to your app manifest's outgoingDomains property, but that should be the only requirement (within your app's manifest.ts).

@filmaj Ah, thanks. And how could I get the OAuth token?
In my Slack function that calls my CRM API this is done with:
const tokenResponse = await client.apps.auth.external.get({
    external_token_id: inputs.accessTokenId,
});

But how to do it in an ordinary function?

@markfoden assuming you are within the context of one of the Interactivity Handlers like a Block Suggestion handler, you have access to all of the same arguments that your 'main' Slack Custom Function does, including its client and inputs. So your code could look something like:
export default SlackFunction(
  MyMainFunctionDefinition,
  async ({ inputs, client }) => {
    // main function logic here...
  }
).addBlockSuggestionHandler('external-options-select-id', async ({ inputs, client }) => {
  const tokenResponse = await client.apps.auth.external.get({
    external_token_id: inputs.accessTokenId,
  });
  // make the call to your CRM API
  return {
    options: CRMresponse.whatever
  };
});

@filmaj Ah! I see. Great stuff. I have got the external select menu working with OAuth now.
Would be useful to see your example too. I'm sure it will help me figure the rest out.
Thanks very much indeed

@markfoden just did a code dump so it's a bit rough but here goes: https://github.com/filmaj/interactive-approval
If you have trouble with it or specific issues, post here or on the repo's issue list. I'll be away from my day job for the next week or so but if you at-mention me (it'll notify my phone) I'll do my best to respond.

Nice! I will close this issue down, but if there's anything unresolved here, feel free to re-open or file a new issue.


Add Publishing Schedule

In order to help the students to know when the units will be published I added:

A section after the last recent one (so that students know there's more to come)
A section in Unit 0 introduction

Waiting to see the compiling result before asking for review 👀

Fixed #131

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Update: Allow going to the latest stable release if you are on a newer dev version

title

Done. :^)


Fix NumberInput when displayValue is NaN

Thanks for the PR, @radubrehar :) I think I'll probably end up swapping this out with Number.prototype.toLocaleString in the long term.

Yay! The toLocaleString is definitely the best option in the long term, after Safari 9 is no longer mainstream.


Support for automatic tasks

Fixes #17147

@alex00 IMO startAutomatically in the DTO is not necessary. We shouldn't leak that into the API. It is only something users can do in tasks.json.
And could use separate the rename from the rest. Would be easier for me to review? The rename you can simply push. You must like the names now :-)

Opened a new PR without the renames in it. Should be easier, sorry about that! #63695

Thanks !


paas instances: scale down production instances following G11's close

Both number of instances and memory

Also dropped the # of router instances


Fix ebpf_set_current_thread_affinity

KeSetSystemAffinityThreadEx returning 0 means no-affinity was set, not failure.
Signed-off-by: Alan Jowett<EMAIL_ADDRESS>

@Alan-Jowett - since you have fixed the show-maps race by allocating maps in epoch-managed heap, is the IOCTL thread affinity logic required? Keep the functions in platform module, but remove the calls in core module.

Lets do that in a different PR. This one is purely to fix the ci/cd failure.


test(e2e): Add tablet project

This replaces the iPhone 12-based project in the Playwright configuration with an iPad (gen 6)-based project.
This allows a tablet screen size to be tested.
@tablet, @mobile-and-tablet, @tablet-and-desktop test tags were added as part of this.
The functionality of the tags can be checked by running a test like:
  test.only('@tablet', async ({ page }) => {
    await expect(true).toBeFalsy()
  })

and checking which projects it runs for.

@adamledwards Do you mean the project or the tags? Could add it to the project name, but then mobile is also portrait so should probably add it there too if we do.

I was thinking to the grepInvert
so we will test like this
  test.only('@tablet-portrait', async ({ page }) => {
    await expect(true).toBeFalsy()
  })

Hmm, the tags were meant to align with the breakpoints. So @tablet aligns with govuk-media-query($from: tablet). I doubt we would but if we added more projects then it wouldn't necessarily be in portrait (just falling between the tablet and desktop breakpoints).

Yeah, I get you that make sense 👍


Send email to admins when backup code is used

When a backup code is used, an admin should be notified.
AC's

[ ] When a user uses a backup code, an email is sent to the administrators
[ ] When a user logs in with backup codes X times in a row, the user is locked out
[ ] When a user logs in with a real MFA method, the lockout count is resetted
[ ] The behaviour is configurable/can be disabled

The behaviour is configurable/can be disabled

❤ this would be the first thing I would disable.


Issue/754

/assign @wongma7

/assign @jsafrane

Thanks for your PR!
We are in the process of archiving this repo and are no longer accepting new PRs. Please see https://github.com/kubernetes/org/issues/1563 for more details. Thanks again!


Restrict IDocumentStorageServicePolicies.maximumCacheDurationMs to 5 days or undefined

Description
Please see this discussion in this PR in main for context:  https://github.com/microsoft/FluidFramework/pull/12118#discussion_r983009175
And this internal document for the full plan.
This approach clearly documents the common required value that Runtime relies on across drivers (there's no good choke point in code to enforce this across drivers) and by hiding TestOverride case from the public interface, makes it very clear: Apart from involving Test Overrides, it's always going to be 5 days.
This policy will go away altogether eventually, a better solution is for the loader to own and persist this policy and inform both Driver and Runtime of it.
How GC will use the value from this policy
This will be done in main after porting this change (minus the type changes):

If it's undefined when creating a document, then disallow Sweep for the lifetime of that doc
Otherwise, in GC this value is typed as number and is persisted to the snapshot. If on load the current policy > the persisted policy, close the container.  This should "never" happen because a given driver will probably not be needing to change this policy once implemented. See all the warnings in comments in this PR
HOWEVER we do set a different value via a TestOverride setting. So the above logic will block opening a file in production code that was created under the TestOverride.

Reviewer Guidance
I think I will also revive @tyler-cai-microsoft's #11619 after this to get rid of the undefined case.  Or I could fold into this PR, open to input.

No, undefined is an important case - a driver may choose not to implement the code backing this policy, and in that case GC will not be allowed on that file.

Does this introduce a breaking change?
Yes, but I'm not expecting anyone to really notice this.

Discussed with @vladsud and @agarwal-navin.  I think we agreed with this approach, here's the plan:

Use a larger value, since this has to be acceptable as a global max for all time.  Probably 7 days.  This means GC Sweep Timeout will be 38 days.
Think about how existing documents with 2 days hardcoded in GC will deal with a larger value.
Think about how to migrate to a better long-term plan.  Plan would be like, Loader persists a value here to Container's attributes blob and rejects snapshots older than this (or Driver contract is updated to take in max accaptable cache age).  Migration would be something like if the attributes blob is missing this data assume it's 5.

@vladsud @agarwal-navin - Ready for final review.


Support publish docker images for multiple base branches

Signed-off-by: Gong Su<EMAIL_ADDRESS>

Jenkins Linux s390x Build #373 [push] Support publish docker i... started at 11:17

Jenkins Linux amd64 Build #134 [push] Support publish docker i... started at 10:17

Jenkins Linux s390x Build #373 [push] Support publish docker i... started at 11:17

Jenkins Linux amd64 Build #134 [push] Support publish docker i... started at 10:17

Jenkins Linux amd64 Build #134 [push] Support publish docker i... passed after 30 min

Jenkins Linux s390x Build #373 [push] Support publish docker i... passed after 35 min


Bug: Icon image has a default alt text of "Icon"

The <Icon /> component has a default value of "Icon" for alt text. It should be empty alt text as it provides no value in terms of accessibility and typically you don't have alt text that says this is an image or icon.
const Icon: React.FC<IconProps> = ({ onClick, className, IconImage, alt, size = 16 }) => {
  return (
    <div className={`${className ? className : ""} inline-flex`}>
      <Image
        onClick={onClick}
        className="items-center justify-center "
-        alt={alt ? alt : "Icon"}
+        alt={alt ?? ""}
        width={size}
        height={size}
        src={IconImage}
        style={{
          maxWidth: "100%",
          height: "auto",
        }}
      />
    </div>
  );
};

This is the file and line to change https://github.com/open-sauced/app/blob/4983cd8ebdb4f177f82b8135121a4db29a15d4c6/components/atoms/Icon/icon.tsx#L18
I came across this while writing end to end tests which actually caused my test to fail when searching for button text via, e.g. await expect(page.getByRole("button", { name: "Connect with GitHub", exact: true })).toBeVisible();

@Jenna59, would you like to work on this as a first contribution to OpenSauced?

You need to assign yourself to the issue @Re1gner

.take

@nickytonline thanks for guidance, now the issue is assigned to me


Release to jcenter

It seems like this plugin is not available in jcenter, it would be really neat if it were :)
https://jcenter.bintray.com/net/ossindex/ossindex-gradle-plugin/ responds with 404

Or is it even in maven central, can't seem to find it there either, is there a published release of this plugin? :)

I just saw this in the readme: TODO (the plugin is yet to be released)
I apologize :)

I'll reopen this issue for visibility :-)
I'll do a few more tests and release the first version within this week, since we're (aside from generating a report) on the same features as the maven plugin

@RichoDemus I uploaded a version to the gradle plugin repository, instructions can be found in the readme.
I've accidentally uploaded a "SNAPSHOT" version which Gradle doesn't support without specifying the version. (the deletion of the snapshot version is pending)
I've tested using the 0.1.0 version in multiple Projects and ist working :)

I gave it a quick go and it seems to work really well (found a vulnerability too! 👍 )
Thanks a lot for your time :)

Gradle has removed the snapshot Version, so it will work as expected now :-)


[Feature Request] Eclipse插件版本

Checklist

[X] I searched exising issues and no one else requests similar feature.
[X] I think that 25%+ users are positive towards this feature.

Describe the feature
https://zhuanlan.zhihu.com/p/606921099
https://blog.csdn.net/zhuce0001/article/details/53231670
Additional context
No response

https://blog.csdn.net/Rosa_zz/article/details/100328679

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days


It does not work well when import file with vars

Errors prevented startup:
While minifying app stylesheet:
app/client/views/homeLayout/styles/components/arrow-sepparated.css:5:3: postcss-simple-vars: arrow-sepparated.css:5:3: Undefined variable $mobile
Css Syntax Error.
So, i have a file arrow-sepparated.css with a variable $mobile
The variable $mobile have been declared in the vars.css.

Hi, ok, and which PostCSS plugin do you use to handle variables? postcss-simple-vars ? I understand that you also use imports? You need to import vars.css to arrow-separated.css by for example postcss-import
Could you create a reproduction repo similar to this one: https://github.com/juliancwirko/meteor-postcss-test ? (in this repo there are used variables and imports, but I don't remember if I test importing vars).

main.css: @import vars; @import styles;
vars.css: $mobile: 980px
styles.css: width: $mobile;
I think the problem is with paths. I think it should be relative to main.css. I will check.

Yeah, this is a third party plugin. I don't know how broadly it will respect Meteor build laws ;) I'll try to test it too. Bassicaly for now I usually use Stylus and PostCSS in one project, so I can use all cool stuff from Stylus like vars and imports and for other ('light') stuff I can still use PostCSS. But of course it will be cool if we can use only PostCSS.

Definitely off-topic, but what an advantages you get using stylus with PostCss. Doesn't postcss capable to do anything that stylus do?

Yest it can do the same. But I am not sure if all the imports etc. will work as good as with preprocessors in Meteor environment.

I've done a quick test and it seems to work for me.
Here is a test.import.css file which imports vars.import.css file and it works as it should. You can clone all test repo and run for your tests.

Yes, this works. Thanks.

Ok, thanks, closing.


Crash with Random Things

Reporting this to both mods, because I have no idea which caused it. The odd bit is the world I was trying to join has absolutely nothing from either mod anywhere near me yet.
http://hastebin.com/pexinozexe.vhdl
https://github.com/lumien231/Random-Things/issues/40

I have no idea why, but removing the Wallpaper mod fixed it. http://minecraft.curseforge.com/projects/wallpaper


Testing Load Balancing

Change Type
Correction
Proposed Changes
https://docs.cloudmydc.com/load-balancers/nginx/testing-load-balancing

***No changes made yet. Needs to remove Jelastic Domain Name.

***No changes made yet. Unable to replicate diagram. Unable to change application server and horizontal scaling into node. Needs to remove Jelastic Domain name.

***No changes made yet. Needs to remove Jelastic Domain Name.

***No changes made yet. Needs to remove Jelastic Domain Name.

@dedithc


dub: Fix sdfmt build with LDC

Working around the 'dual context' requirement, which seems to be a compiler bug - the lambdas don't require any context, and when making them non-templates via explicit param types, it works.
Also make sure the produced binary is named sdfmt, not sdc_sdfmt.

Absolutely no idea why this apparently causes 3 tests to fail.

Ping @deadalnix. This is the first step to making sdfmt/autoformat work on Windows (currently requires GNU make, which isn't provisioned).

Thanks for that. how come the dual context is a problem here, but not a problem when using DMD? Are you sure you aren't using an outdated version of LDC?
Also, you can build sdfmt on windows using dmd -i, it's fairly easy, but yeah, I get the point. People want dub.
Figuring out why the test suite is failing is important here. I have a hard time understanding why that would be. maybe rebase and update the PR to trigger ti again?

dual context basically got implemented overnight without direction in dmd and then never implemented in ldc and gdc because it changes the ABI rather a lot

The test suite doesn't report any regressions but I don't know why that ends up as an overall fail

how come the dual context is a problem here, but not a problem when using DMD?

DMD is the only compiler that supported it - and it's deprecated now. But the actual issue is that the lambdas don't need a dual-context anyway, as they don't access any symbols from the outer scope... oh well. Other usages of wrappedGuard() below also use non-template lambdas.

People want dub.

Heh well, it takes care of caching the executable at least, and triggers a new build when e.g. the compiler changes. Something the Makefile fails badly at for example.

Figuring out why the test suite is failing is important here. I have a hard time understanding why that would be.

Yep, me too, and the CI log doesn't seem to provide much info. There's src/format/parser.d: sdfmt did not format as expected. - does CI check that sdfmt's own source is appropriately formatted? That might be the reason for one failure at least, as that file has been changed...

It does.

@kinke the test runner is still pretty rough

Yep, me too, and the CI log doesn't seem to provide much info. There's src/format/parser.d: sdfmt did not format as expected.

Fantastic, just run sdfmt -i src/format/parser.d and be done with it :)

just run sdfmt -i src/format/parser.d and be done with it :)

That seems to change the whole file (tab -> spaces conversion). ;)

It'd be good for LDC to figure out the multiple context situation, because, while this is not strictly necessary in this case, I think it is in other parts of SDC.

That seems to change the whole file (tab -> spaces conversion). ;)

You probably have a .sdfmt file somewhere it's picking up on, because it shouldn't. sdfmt has some tests, but it also uses parts the SDC codebase as giant test cases.


That does seem to be a problem, will be fixed eventually.

closing issue since hyper is dead.


Feature Request: Option to change location of profiles.json

Summary of the new feature/enhancement
Going though local appdata is hard and it'd be nice if you could change where it fetches the config file. a usecase could be people who have dotfiles repos to place their config in the user dir or config folder instead of making a symlink

Proposed technical implementation details (optional)
Maybe put the path of it in a json file and have it configurable via a gui?

I'm symlinking from ~\dotfiles\profiles.json to C:\...\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState\profiles.json" right now. But I am curious about that 8wekyb3d8bbwe` identifier in the path.
What is it for and will it change?

I think 8wekyb3d8bbwe identifier is a fixed string (perhaps related to it's Store ID or something similar), and won't change.

I guess 8wekyb3d8bbwe is the store publisher id of Microsoft.

We're probably not going to do this. A symbolic link will work. The identity, 8wek..., is based on the name used to sign the app bundle. This one means "Microsoft." It won't change.

The problem with a symbolic link is that the terminal doesn't react to the settings changing.

@franjozen are you sure?
I am 90% sure my terminal reacts to changes immediately when editing the profile and I have a symlink set up to my dotfiles.

@fredrikaverpil Yes, I've created the symlink like this:
new-item -itemtype symboliclink -path .\ -name profiles.json -value ..........\dotfiles\WindowsTerminal\profiles.json
Nothing happens when I save, I have to restart Terminal to see the changes.

@franjozen oh, it seems I have the very same behavior here as on your end.

Sorry for bumping this closed post. Posting if somebody hasn't figured yet.
You need to create a junction/SymbolicLink to the LocalState folder that link to a folder that contains the WT settings.json instead of linking the settings.json directly, if you want the settings to update right away when you edit the settings.json.
Something like this:
New-Item -Force -Type Junction -Path "$ENV:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState" -Value "<to><myfolder><withtheWTsettings.json><insideit>"


Update kubelet.service

Issue #, if available:
Description of changes:
If kubelet wins the systemd startup race against iptables, then the
ExecStartPre=/sbin/iptables -P FORWARD ACCEPT -w 5 may be clobbered by existing rules.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

The add more context both https://github.com/awslabs/amazon-eks-ami/blob/master/files/iptables-restore.service#L5 and https://github.com/awslabs/amazon-eks-ami/blob/master/files/kubelet.service#L4 happens at after docker.service. The problem we ran into is that we perform an iptable save as part of our custom AMI. This means that on node startup there is a race between kubelet and iprestore. If kubelet runs first then FORWARD ACCEPT gets clobbered by iprestore. This proposed change will ensure iprestore happens before kubelet to ensure FORWARD ACCEPT will always be applied regardless of what is saved in iptables.

We've been impacted by this as well. In fact, if you follow the official instructions for blocking access to IMDS from pods (https://docs.aws.amazon.com/eks/latest/userguide/restrict-ec2-credential-access.html), you end up in this exact situation, where iptables-restore can clobber the kubelet's FORWARD ACCEPT. Now that we understand the issue, we've worked around it, but it would be nice to see this merged.


[Doc Improvement][Update metadata for bots conversation events][3112391]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/subscribe-to-conversation-events.md
93
13
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/subscribe-to-conversation-events.md
93
13
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


WIP: use ZooKeeper 3.5.5

Description

Using version 3.5.5 of Apache ZooKeeper.
In this version there are differences in how the code is distributed. To build, one need to run the autoreconf -if command. But Ubuntu doesn't have autoconf installed by default (I have to find out if Mac OS X has it included). So this PR has the files generated by autoreconf -if included in the repo. Is there a better way?
Motivation and Context

The ZooKeeper C client has been upgraded and the supported version is now 3.5.5. This library should use that version. The 3.5.5 version includes hundreds of bug fixes and improvements.
Also, as a next step, the node-zookeeper library should implement the new features of ZooKeeper (will be added in a separate issue).

Fixes issue #199
How Has This Been Tested?

Travis CI build OK
npm test
npm run integration test
TODO: need lots more manual testing.

Types of changes

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

Checklist:

[x] I have read the code of conduct.
[x] I have read the contributing guide.
[x] I have updated the documentation accordingly (if applicable).

Also, to investigate: would it be okay according to the Apache ZooKeeper license to include the entire C Client code in this repo?


[Fix #2029] Style/RedundantReturn auto-corrects implicit hashes

This fixes #2029

Looks good, but needs to be rebased.

rebased

:+1:


Procedural geometry creation

The engine has some basic functionality to create a Mesh via the Geometry class. There are some subclasses of Geometry to create specific shape types (box, sphere, etc). However, we could augment geometries to be far more powerful.
Let's say we start out with some kind of API to define a 2D path. This could be use to define polygons (and holes in polygons). Then you could apply 'modifiers' (as they are known in 3DS Max) to manipulate the polygons somehow. Examples could be:

Extrude
Bevel
Subdivide
UV Unwrap
...and so on.

Using this system, in just a lines of JS, I could define a very simple path (let's say a five-pointed star), extrude it, bevel it, apply a nice material and procedurally generate a very nice looking geometric shape. I could also build a powerful 3D text system which starts out creating a path using outlines defined in a TTF font. I could also load an SVG say (of a logo perhaps) and trivially turn it into a 3D shape.
What would be good is to design a general-purpose framework for adding these modular modifiers/ops over time.

Cool idea! I'm working on something similar, developing roads for the terrain.


The cp heartbeat reporting node's resource information includes information about its CPU (number of cores, model), memory size, disk size, and Gpu (model, quantity, memory size). Since a k8s cluster has one or more nodes, so it's reported a list: each cluster node's resource information.

The cp heartbeat reporting node's resource information includes information about its CPU (number of cores, model), memory size, disk size, and Gpu (model, quantity, memory size). Since a k8s cluster has one or more nodes, so it's reported a list: each cluster node's resource information.


[FEA] Provide a better way to set JIT cache

Is your feature request related to a problem? Please describe.
libcudf supports writing to a separate place via the LIBCUDF_KERNEL_CACHE_PATH environment variable, but the plugin would need to find a way to get this set properly from configs before the library is loaded.
Describe the solution you'd like
a spark conf that allows the user to set this.
Describe alternatives you've considered
We could just document how to set this when launching your application.

Add documentation recommendation for different clouds.

After JIT for binary ops is removed by CUDF I don't think this really matters any more.
https://github.com/NVIDIA/spark-rapids/issues/3174 was even filed to remove the docs for setting JIT because it will not be required.


[Feature Request] Add support for Crypt volume with integrity.

The following code works fine if we are using luks2 without integrity.
https://github.com/anatol/devmapper.go/blob/ba4de5fc0fd18f958cf8e982caf2811246351ca3/crypt.go#L129-L135
But it is giving gibberish for disk with integrity support.
I'm using the following snippet for reading from a disk image file.

func myJourney(vol *luks.Volume) {
	tb, e1 := asTable(vol)
	dvol, e2 := devmapper.OpenUserspaceVolume(os.O_RDONLY, 0, tb)
	buf := make([]byte, vol.StorageSectorSize*1234)
	_, e3 := dvol.ReadAt(buf, 0)
// ... works perfectly for crypt devices without integrity.

}

var flagsKernelNames = map[string]string{
	luks.FlagAllowDiscards:       devmapper.CryptFlagAllowDiscards,
	luks.FlagSameCPUCrypt:        devmapper.CryptFlagSameCPUCrypt,
	luks.FlagSubmitFromCryptCPUs: devmapper.CryptFlagSubmitFromCryptCPUs,
	luks.FlagNoReadWorkqueue:     devmapper.CryptFlagNoReadWorkqueue,
	luks.FlagNoWriteWorkqueue:    devmapper.CryptFlagNoWriteWorkqueue,
}

func asTable(v *luks.Volume) (*devmapper.CryptTable, error) {
	kernelFlags := make([]string, 0, len(v.Flags))
	for _, f := range v.Flags {
		flag, ok := flagsKernelNames[f]
		if !ok {
			return nil, fmt.Errorf("unknown LUKS flag: %v", f)
		}
		kernelFlags = append(kernelFlags, flag)
	}

	if v.StorageSize%v.StorageSectorSize != 0 {
		return nil, fmt.Errorf("storage size must be multiple of sector size")
	}
	if v.StorageOffset%v.StorageSectorSize != 0 {
		return nil, fmt.Errorf("offset must be multiple of sector size")
	}

	volKey := fieldByName(*v, "key").Interface().([]byte) // This is actually AES key + integrity key

	return &devmapper.CryptTable{
		Start:         0,
		Length:        v.StorageSize,
		BackendDevice: v.BackingDevice,
		BackendOffset: v.StorageOffset,
		Encryption:    v.StorageEncryption,
		Key:           volKey[:64], // This hack wont work, even if I'm extracting the AES key
		IVTweak:       v.StorageIvTweak,
		Flags:         kernelFlags,
		SectorSize:    v.StorageSectorSize,
	}, nil
}

// not important, just hack to extract non-exported field values.
func fieldByName(obj any, name string) reflect.Value {
	origObj := reflect.ValueOf(obj)
	refObj := reflect.New(origObj.Type()).Elem()
	refObj.Set(origObj)
	refField := refObj.FieldByName(name)
	return reflect.
		NewAt(refField.Type(), unsafe.Pointer(refField.UnsafeAddr())).
		Elem()
}

I tried finding the on-disk sector formats of luks2 with integrity support, but could not find it in a clear documentation. Checked this slide but this does not talk about any low level details.
Sample script to generate an encrypted disk (no filesystem)

prepare_enc_disk() {
  fallocate -l "$1" /dev/shm/exp1/test_disk.img
  cryptsetup luksFormat -q --type luks2 /dev/shm/exp1/test_disk.img --cipher aes-xts-plain64 --key-file /dev/shm/key.txt \
    --integrity hmac-sha256 --integrity-no-wipe --sector-size 4096

  cryptsetup open /dev/shm/exp1/test_disk.img tf1-crypt --key-file /dev/shm/key.txt
  dmsetup ls --target crypt

  write_simple_data
  cryptsetup remove tf1-crypt
}

write_simple_data() {
  sudo dd if=/dev/zero of=/dev/mapper/tf1-crypt bs=4MB count=10
  echo "Hello world of LUKS..." | sudo tee /dev/mapper/tf1-crypt
}

main() {
  prepare_enc_disk 16.5M
}

I tried finding the on-disk sector formats of luks2 with integrity support, but could not find it in a clear documentation.

Yep, like with many other luks/dmcrypt implementation details, there is no good documentation. I had to go to the source-code and read it to understand how it works.
For integrity disk format I would start looking at how integrity:: dm table param is handled starting from here https://github.com/torvalds/linux/blob/6d796c50f84ca79f1722bb131799e5a5710c4700/drivers/md/dm-crypt.c#L3103

Update on the progress, I was able to read the integrity superblock, but that structure was not much helpful.
After trying some random offsets, I figured out that the first sector of encrypted data is placed at regular offset + 2*sector size (i.e.  c.offset + 2*c.sectorSize. Using only the first 64 bytes of the volume key decrypted the data.

This approach did not successfully decrypted the sectors. Although the sector size is 4096, the xts output mismatched with original disk at offset c.offset + 2*c.sectorSize + 497, i.e. 497th (0 index) byte of unencrypted disk is decrypted incorrectly.
The integrity superblock (present at c.offset) says
sb = {superblock *} 0x556779d854b0
 magic = {uint8_t [8]} "integrt"
 version = {uint8_t} 1 '\x01'
 log2_interleave_sectors = {int8_t} 15 '\x0f'
 integrity_tag_size = {uint16_t} 32
 journal_sections = {uint32_t} 1
 provided_data_sectors = {uint64_t} 496
 flags = {uint32_t} 0
 log2_sectors_per_block = {uint8_t} 3 '\x03'
 log2_blocks_per_bitmap_bit = {uint8_t} 12 '\f'
 pad = {uint8_t [2]} ""
 recalc_sector = {uint64_t} 0

Looking into it seems the first 496 bytes of encrypted disk was present at offset c.offset + 2*c.sectorSize, this must be the provided_data_sectors.
I did a bruteforce scan and found that the original data sectors were present at v.StorageOffset + 66*v.StorageSectorSize (aka c.offset + 66*c.sectorSize).
I'm looking into dm-crypt and dm-integrity source code. There must be some calculation from which we can derive this sector count, 66. (My entire disk size was 16.5MiB)
Once that is discovered I believe no more unnecessary elements will be in the way of our luks data segment. (Initially I was worried that integrity hashes are interleaved with actual data sectors).

I tried few samples and found
sb = {superblock *} 0x556779d854b0
 magic = {uint8_t [8]} "integrt"
 version = {uint8_t} 1 '\x01'
 log2_interleave_sectors = {int8_t} 15 '\x0f'
 integrity_tag_size = {uint16_t} 32
 journal_sections = {uint32_t} 1
 provided_data_sectors = {uint64_t} 496
 flags = {uint32_t} 0
 log2_sectors_per_block = {uint8_t} 3 '\x03'
 log2_blocks_per_bitmap_bit = {uint8_t} 12 '\f'
 pad = {uint8_t [2]} ""
 recalc_sector = {uint64_t} 0

==> data starts at 66*4096

sb = {superblock *} 0x5607ccd9d4b0
 magic = {uint8_t [8]} "integrt"
 version = {uint8_t} 1 '\x01'
 log2_interleave_sectors = {int8_t} 15 '\x0f'
 integrity_tag_size = {uint16_t} 32
 journal_sections = {uint32_t} 121
 provided_data_sectors = {uint64_t} 3999792
 flags = {uint32_t} 0
 log2_sectors_per_block = {uint8_t} 3 '\x03'
 log2_blocks_per_bitmap_bit = {uint8_t} 12 '\f'
 pad = {uint8_t [2]} ""
 recalc_sector = {uint64_t} 0

==> data starts at 4026*4096

sb = {superblock *} 0x55c8dc8a94b0
 magic = {uint8_t [8]} "integrt"
 version = {uint8_t} 1 '\x01'
 log2_interleave_sectors = {int8_t} 15 '\x0f'
 integrity_tag_size = {uint16_t} 32
 journal_sections = {uint32_t} 90
 provided_data_sectors = {uint64_t} 2991912
 flags = {uint32_t} 0
 log2_sectors_per_block = {uint8_t} 3 '\x03'
 log2_blocks_per_bitmap_bit = {uint8_t} 12 '\f'
 pad = {uint8_t [2]} ""
 recalc_sector = {uint64_t} 0

==> data starts at 3003*4096

From observations I can say it is (journal_sections+1)*(integrity_tag_size+1)*sector_size[i.e. 4096]
Looking for the corresponding source code, but cant find that.
It could be this one: https://github1s.com/torvalds/linux/blob/master/drivers/md/dm-crypt.c#L1358-L1360


i251: always set vcap_services property

If  the tracking payload doesn't include any service information (bound_vcap_services is not set) the server will store an empty binding.

Isn't bound_vcap_services an object, not an array? Shouldn't it default to an empty object rather than an empty array?

Yes, sorry, my mistake. bound_vcap_services should be initialized to {}. With the delivery of this change we will assume that tracking records without this property (or where it is set to null) have not included any service binding information. If bound_vcap_services is set to {}, no services were bound.


Add initial JSON RPC

add JsonRpcController for handling RPC requests
add JsonRpcHttpServer to handle RPC requests over HTTP
remove spray json in favour of json4s

wip:
needs tests

@AlanVerbner @ntallar @adamsmo I've addresses your concerns

@AlanVerbner I've added util methods for extracting/encoding unformatted data and quantity. I don't think they need to extend JsonEncoder and Decoder


added Istanbul University

added Istanbul University
https://www.istanbul.edu.tr/tr
https://ogr.iu.edu.tr/

@yahyaoztemir I am sorry, the domain ogr.iu.edu.tr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Add supervisor configuration

It wasn't initially clear to me that I had to run a background process to get the full Pulse experience with the server cards. I got spoiled and used to having everything work on Laravel with a simple composer install command.
Would you accept a PR to the documentation to add more information about how to configure Supervisor?
It would reuse a lot of information from the Queues documentation and include the plug for Laravel Forge.
It would be especially useful to add the config itself. This is the one I've been using:
[program:pulse-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/ubuntu/app.com/artisan pulse:check
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/home/ubuntu/app.com/pulse-worker.log
stopwaitsecs=3600

I mostly re-used the queue config. Let me know if it can be improved for Pulse's usage.
Even if it doesn't get included in the docs, new users will at least be able to find this thread to get more information.

Yeah I think this can be a useful addition. I guess this will have to go here: https://laravel.com/docs/11.x/pulse#capturing-entries. Feel free to attempt a PR to the docs, thanks!


man-auth-rt: Address review comments

I think this was merged with Vishal's PR. Should we close, or are there still things in this PR that should be merged?

I think this was merged with Vishal's PR. Should we close, or are there still things in this PR that should be merged?

That's correct.


PING-PONG

a) Pinging. This means that you must implement and use the PING message

first try to make every replica PING-PONG the bootstrap node on startup of the netwrok

based

Every one implements a version of the init ping pong sequence. we will merge and continue with the more complicated operations later on.