Consider cancelling the context set the deadline value to now rather than min

https://github.com/Azure/azure-sdk-for-cpp/pull/2033#discussion_r607295853
cc @antkmsft

We can store system_clock::now() as cancelation but then the context state should have bool m_isCanceled. Currently, all that Cancel() does is it sets the deadline to DateTime::min(). What I don't want to happen is the context getting resurrected once system clock gets adjusted.

If we want this, it is better to get this before the GA. It is not very likely, but users may have an expectation that canceled context's GetDeadline()  == DateTime::min().

It is not very likely, but users may have an expectation that canceled context's GetDeadline()  == DateTime::min().

I would hope not since that means they are relying on some underlying, undocumented behavior, that we should be allowed to break.
Is that documented anywhere?

If we want this, it is better to get this before the GA.

Regardless, I agree  :)

We can store system_clock::now() as cancelation but then the context state should have bool m_isCanceled.

Why do we need the bool in the state?

What I don't want to happen is the context getting resurrected once system clock gets adjusted.

I agree that could be concerning. How would that happen?

Why do we need the bool in the state?
So that context does not considered non-canceled after being canceled, after system clock gets adjusted. See below

What I don't want to happen is the context getting resurrected once system clock gets adjusted.
I agree that could be concerning. How would that happen?

context.Cancel();
context.IsCancelled(); // retrurns true

// move system clock back 1 hour
context.IsCancelled(); // retrurns false

It is not very likely, but users may have an expectation that canceled context's GetDeadline()  == DateTime::min().

I would hope not since that means they are relying on some underlying, undocumented behavior, that we should be allowed to break.
Is that impl detail documented anywhere or exposed to the user?

If we want this, it is better to get this before the GA.

Regardless, I agree :)

Luckily, it is not documented. Only max() is:
    /**
     * @brief Get a deadline associated with this context or the branch of contexts this context
     * belongs to.
     *
     * @return A deadline associated with the context found; `Azure::DateTime::max()` value if a
     * specific value can't be found.
     */
    DateTime GetDeadline() const;

I agree with you, but even if relation between Cancel() and GetDeadline() is not documented, it is still possible users would have expectations build around that. I amso agree it if we are doing this, it is better to do it before the GA.

@JeffreyRichter should GetDeadLine() throw or even abort if the context doesn't have a deadline, rather than returning a potentially incorrect sentinel Azure::DateTime::max()?

There is always a deadline.

Jeffrey Richter (see Architecting Distributed Cloud Appshttps://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Faka.ms%2FRichterCloudApps&data=04|01||dc05b9290f9f445693ec08d8e1b30ed8|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637507506469305857|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=TeBH6rge3q8VyFBwCrBXfSXND4oajfqayGLiZq1gmFo%3D&reserved=0 & Designing HTTP APIshttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9Ng00IlBCtw%26list%3DPL9XzOCngAkqs4m0XdULJu_78nM3Ok3Q65%26index%3D1&data=04|01||dc05b9290f9f445693ec08d8e1b30ed8|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637507506469305857|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=nzunz4x55lMRzHb6qJVXuRkrlAAI03wXjPdexaPavzs%3D&reserved=0)

From: Ahson Khan @.>
Sent: Monday, April 5, 2021 4:14:53 PM
To: Azure/azure-sdk-for-cpp @.>
Cc: Jeffrey Richter @.>; Mention @.>
Subject: Re: [Azure/azure-sdk-for-cpp] Consider cancelling the context set the deadline value to now rather than min (#2038)
@JeffreyRichterhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FJeffreyRichter&data=04|01||8a1b3fa885a546cf1c1408d8f8889f00|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637532612949065681|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=1zx2mUWArLteMi93Lmz0KBXbBGnxVJaTYjYw3yWZUR0%3D&reserved=0 should GetDeadLine() throw or even abort if the context doesn't have a deadline, rather than returning a potentially incorrect sentinel Azure::DateTime::max()?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-sdk-for-cpp%2Fissues%2F2038%23issuecomment-813703043&data=04|01||8a1b3fa885a546cf1c1408d8f8889f00|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637532612949065681|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=Kc6qpexq%2FUjlOzRBUE67ig3e2cCyTFpKaN5Hy5EPEvU%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAARLJPYT5D7PL75H3FA2GUDTHI763ANCNFSM42NPBUOQ&data=04|01||8a1b3fa885a546cf1c1408d8f8889f00|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637532612949075636|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=lCd%2BYV8QKHCtk5yh%2BO71sIUtoGdO9e5DXNhanFxQgmA%3D&reserved=0.

@ahsonkhan Setting this to min() is a good approach because it guarantees cancellation.  Is there an actual scenario where you want to know when the item was cancelled?
Note that most other languages that do cancellation only have a boolean.  There is no tracking of when cancelation was triggered.


No Sound on iOS

I'm on 1.0.0-beta.1 and I'm not getting any audio out of the videos that play. All of the controls work fine, the videos play fine, but no audio. I've tried on both the iOS simulator and physical iOS devices, no audio comes through. I'm positive my volume is cranked up.
Thoughts?

Activated sound when iPhone (iOS) is on vibrate mode
Open AppDelegate.m and add :
#import <AVFoundation/AVFoundation.h>
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: nil]; in your didFinishLaunchingWithOptions method

Thanks @mayankbaiswar-CSE !

Hey guys! I know this is already closed, but I'm still experiencing this issue:
I'm on 1.1.0 and, even though I've imported <AVFoundation/AVFoundation.h> and added [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: nil]; to my AppDelegate.m file, I'm still not getting sound when iPhone (iOS) is on vibrate mode.
Any thoughts? Thanks a lot!

@smaradona I'm having the same issue too with iOS 12

@deathemperor do you have to also add the previous code into AppDelegate.m or your code fix is enough?
And could you please also this fix in context, otherwise i have no idea where exactly this should go.
Thanks!

@ziyafenn I still keep the code on AppDelegate.m so I don't know if it works without it.
What context do you need? I thought I was clear on how to make it work (I mentioned the file and function you need to edit).


Kafkaproducer: buffer-size and flush-interval precedence

Hello,
I wanted to understand how buffer-size and flush-interval work with kafka output. I see that flush-interval will flush the buffer at certain interval, what happens if the buffer is full before the interval?
I set flush interval as 30 sec and buffer size as 100, and sent 700 QPS to my DNS server, all of which were forwarded to kafka, if it should discard after 100 messages, how come it sent all 700 per sec, does it flush after reaching 100 messages and it takes precedence over flush-interval?

Hi,
In your case, the flush interval isn’t triggered because the buffer fills up before the interval timeout. The DNS collector flushes the buffer every time it reaches 100 DNS messages.
The flush interval setting is mainly useful when your traffic is slower.
Best regards,
Denis

Thank you!


⚡ Add a back button to onboarding

💭 Introduction:
We aim to enhance the onboarding process by introducing a user-friendly feature that enables users to navigate backward through the steps using a simple button.
🎯 Requirements:
Basic experience with Vue.js.
✅ Task summary:

[x] Ask to be assigned on the issue by commenting
[ ] The current next button resides in OnboardingBuilder.vue. You will have to implement something similar to how "next" button (NextButton.vue) works.
[ ] Make a component called BackButton in @/apps/dashboard/views/onboarding/components/ directory. When clicked it should emit an event which should get caught in OnboardingBuilder.vue.
[ ] currentStep variable in OnboardingBuilder.vue is how we control which step to show to users. So decrease it by 1 when back button is clicked. To make sure this value doesn't go out of bounds do not show back button in the first step.
[ ] This is how it should look.

Figma CSS specs
width: 67px;
height: 21px;
font-family: 'Poppins';
font-style: normal;
font-weight: 600;
font-size: 16px;
line-height: 130%;
color: #47466A;

🙋🏼♂ Questions:
If you have questions, need any help, or just want to hang out, make sure to join us on our Discord server.

Hi! Can you please explain this issue in brief? I have some confusion.

Sorry @akshatvirmani 😞
Adding the description right away.

Hi @akshatvirmani. I have updated the description. Happy hacking 👍

Thanks!

Hey, is this issue still open? If yes I will like to work on it

Hi @akshatvirmani are you working on this?
@legendary0911 if @akshatvirmani doesn't work on this, will be assigned to you.

Yes, I'll be working on it.

Hi @akshatvirmani thanks for your submission in Hackfest. 🔥 We are reviewing your work. Do these two below:

Join this group on discord for discussions around prizes? 🚀 🏆
Please fill this form your PR to be considered for prizes!

Hi I’d like to work on this issue if it’s still open

I would like to work on this issue
Can you please assign it to me

Hi @knight-95 - this is assigned already. Can you please pick up https://github.com/akto-api-security/akto/issues/154 instead?

I would like to work on this issue


bump version to update link

Description
Updates the link in the description
Issues Resolved
Contribution Check List

[ ] All tests pass.
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[ x ] New functionality has been documented in CHANGELOG.MD

          2 Errors

:no_entry_sign:
Please add a changelog

:no_entry_sign:
Please add labels to this Pull Request

          1 Warning

:warning:
Should this include readme changes

  Generated by :no_entry_sign: Danger


Tutorial on how to use this

Download source, compile it, inject it into csgo using a .dll injector.

would be really cool if u told me what software i need for this

visual studio.......
On Sat, Feb 23, 2019 at 11:06 AM Clementslay<EMAIL_ADDRESS>wrote:

would be really cool if u told me what software i need for this
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/namazso/nSkinz/issues/136#issuecomment-466635205, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Ab_SZlhPiZH-h4exezhzyIHAyiAIVBCRks5vQRKggaJpZM4bNxjB
.

@M1XT3NZ hey  can u help me with the injection process.... and what software i may need for it?

I helped him through discord. 👍🏻

Nice

build with your favorite compiler and inject


Server port

Hello,
I may be just dumb, but consulting the man page, I do not see a way to change the port from 443? My server is HTTP only, on port 80. I get:
ERROR:wafw00f:Something went wrong HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ff02aa35b80>: Failed to establish a new connection: [Errno 111] Connection refused'))
ERROR:wafw00f:Site <IP_ADDRESS> appears to be down

The manpage says "Sends  a  normal HTTP request", but judging from the port and the object, it appears to be HTTPS?

It appears you may specify the target with http://ADDRESS, and it works.


fix for 0.62.0 - fix files key/value inversion

Fixed by https://github.com/kurtosis-tech/eth2-package/pull/46


Fixes the IP addresses shown in the ip-masq diagram at k8s.io/docs/tasks/administer-cluster/ip-masq-agent/

Fixes #13917
The Pod IP addresses shown in the ip-masq diagram were wrong. They have been corrected with this PR.
There are also some minor improvements to the diagram. The draw.io editable diagram is also embedded with the image.
I tried to compress the image for size reduction, but the embedded diagram gets lost and is unreadable after compression.

cc: @sftim

/assign sftim

Nice work @palnabarun
Do you know how to amend a commit? The reason I ask is that if you do, I'd suggest that you change the wording on the commit (527ff3ac2b08e559fba200f6165a0422fef95fb9) to mention that the image is editable in draw.io
If you're not sure how to do that, not to worry - we can give advice or maybe tweak it on your behalf. The visible changes are fine as they are!

@sftim Sure. Let me edit the commit.

Changed the commit message. Let me know if any more changes are required.

OK, nice.
/lgtm

/approve


Added Suite of Portfolio Functions

Buy Stocks at current prices
Sell Stocks at current prices
View Current Portfolio and percent changes

Close #23
Close #46

Looks great.


Question loop() method should automatically make question names pythonic

Example: https://www.expectedparrot.com/content/e19f1ab9-66d3-46c2-8f15-937acd87345c
Eg, this generates error QuestionCreationValidationError: question_name is not a valid variable name:
from edsl import QuestionFreeText, ScenarioList

q = QuestionFreeText(
    question_name = "enjoy_{{ sport }}",
    question_text = "Do you enjoy {{ sport }}?"
)

s = ScenarioList.from_list("sport", ["ice fishing", "ski jumping"])

questions = q.loop(s)

I'm reluctant to do this automatically on behalf of the user - I think it's better to just return an appropriately detailed error message that they can then fix.

I think we should at least just change spaces to underlines and change to lowercase. Otherwise we're really limiting the ability to use the scenario key in the question name.

why not just add another scenario entry with a proper name? I hear what you're saying but it's a real anti-pattern in software to assume what people mean when they explicitly wrote what they wanted to happen.

Closing this as duplicative of other discussion. We should add optional loop parameters for renaming and making unique question names.


Allow passing ssl config options for @keyv/postgres

Please check if the PR fulfills these requirements

[x] Followed the Contributing guidelines.
[x] Tests for the changes have been added (for bug fixes/features) with 100% code coverage.
[x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Closes: https://github.com/jaredwray/keyv/issues/527
Current status:

docker-compose service added for running postgres in ssl-only mode
new test file added for SSL tests (expectation is that they all will fail right now)

Next steps:

set up passing ssl options in KeyvPostgres
feedback please!

@wgwz - looking good so far. Thanks for working on this!

These postgres tests are passing locally, with the changes made in 211edbe. Though when I ran the full test suite I had some tests from etcd that were failing, it had some message related to grpc.
One thing that I tried to add but could not get working is ssl certificate validation (to copy what AWS RDS does for example, see "verify-ca"). https://www.postgresql.org/docs/current/libpq-ssl.html. In other words, I was aiming to have a test case where you have to pass some "ca" option in the SSL options.
But then I thought, it'd rather be me testing that node-postgres is doing it's job, since this implementation really is just passing the SSL options to the Pool constructor. LMK what you think.
I did test locally with a connection to an RDS database that requires verify-ca, and it's working as expected.

@wgwz - Looks like the tests are failing to connect to the ssl instance after spinning it up with docker compose.
    pg_ctl -D /var/lib/postgresql/data -l logfile start

waiting for server to start....2022-10-24 11:41:57.663 UTC [47] FATAL:  private key file "/var/lib/postgresql/server.key" has group or world access
2022-10-24 11:41:57.663 UTC [47] DETAIL:  File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root.
initdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
pg_ctl: could not start server
Examine the log output.
2022-10-24 11:44:20.521 UTC [1] FATAL:  private key file "/var/lib/postgresql/server.key" has group or world access
2022-10-24 11:44:20.521 UTC [1] DETAIL:  File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root.
2022-10-24 11:44:20.521 UTC [1] LOG:  database system is shut down
2022-10-24 11:41:57.663 UTC [47] LOG:  database system is shut down
 stopped waiting

I haven't done much work at setting up postgres with SSL. Do you have a reference doc or guide that I can look at to see if I can help get this running?

@jaredwray i found the postgresql guide to be pretty complete:
https://www.postgresql.org/docs/current/ssl-tcp.html
for this issue though, we just have to adjust the permissions of that key, which explains why these are passing in my local vs not in CI. maybe we can do that through the docker-compose file mounts? we could also write a small custom dockerfile.

@wgwz - this is looking great. Can you answer the questions above and we can get this checked in?

@jaredwray sorry bout that. somehow the replies i added are stuck in a "pending" state, idk how to fix it. here's my reply:

is this the only option for the pool on ssl? Are there other options that need to happen for it to work? The reason I am asking is I want to build documentation on the README for others on how to setup Keyv using postgres and SSL option.

there are other options in node-postgres. which in turn leads to any options for a node tls socket. which in turn leads to any options for createSecureContext (it's a bit of a rabbit hole). but the most commonly used would be these i guess (as in the node-postgres docs):
  ssl: {
    rejectUnauthorized: false,
    ca: fs.readFileSync('/path/to/server-certificates/root.crt').toString(),
    key: fs.readFileSync('/path/to/client-key/postgresql.key').toString(),
    cert: fs.readFileSync('/path/to/client-certificates/postgresql.crt').toString(),
  },

rejectUnauthorized is a development convenience, which should probably not be recommended in production. for the codebase i'm using this in, we only need to specify the ca option. we're connecting to an AWS RDS postgres database with verify-ca enabled. here's more docs on AWS postgres RDS ssl in case it's helpful.
in the case for the tests we have here, we only need the rejectUnauthorized option. because there's a mismatch in the common name of the certificate and localhost or something like that. there's probably a way that it could be fixed, and then we could just change that to true. but it's not too big of an issue i think for the sake of these tests.
i'm thinking that because the underlying node-postgres seems to do the same type of deferral to the node tls primitives, it makes sense to do the same here, and not worry about testing all the dimensions too much.

@wgwz - thank you so much! We will be updating documentation and looking for a release the week of November 6th. Will merge this in between then and get it ready!


Error when running MindwavePacketPayloadParser.py file line 42

Hello, I'm having trouble getting datas from my MindWave Mobile device. Here is the error of the sample program I ran. How can I run and test the device ? Thanks for your help.
Discovered Mindwave Mobile...
Traceback (most recent call last):
File "/home/pi/Desktop/python-mindwave-mobile/deneme.py", line 7, in
dataPoint = mindwaveDataPointReader.readNextDataPoint()
File "/home/pi/Desktop/python-mindwave-mobile/mindwavemobile/MindwaveDataPointReader.py", line 20, in readNextDataPoint
self._putNextDataPointsInQueue()
File "/home/pi/Desktop/python-mindwave-mobile/mindwavemobile/MindwaveDataPointReader.py", line 30, in _putNextDataPointsInQueue
dataPoints = self._readDataPointsFromOnePacket()
File "/home/pi/Desktop/python-mindwave-mobile/mindwavemobile/MindwaveDataPointReader.py", line 40, in _readDataPointsFromOnePacket
dataPoints = self._readDataPointsFromPayload(payloadBytes)
File "/home/pi/Desktop/python-mindwave-mobile/mindwavemobile/MindwaveDataPointReader.py", line 78, in _readDataPointsFromPayload
return payloadParser.parseDataPoints();
File "/home/pi/Desktop/python-mindwave-mobile/mindwavemobile/MindwavePacketPayloadParser.py", line 15, in parseDataPoints
dataPoint = self._parseOneDataPoint()
File "/home/pi/Desktop/python-mindwave-mobile/mindwavemobile/MindwavePacketPayloadParser.py", line 23, in _parseOneDataPoint
dataRowCode = self._extractDataRowCode();
File "/home/pi/Desktop/python-mindwave-mobile/mindwavemobile/MindwavePacketPayloadParser.py", line 28, in _extractDataRowCode
return self._ignoreExtendedCodeBytesAndGetRowCode()
File "/home/pi/Desktop/python-mindwave-mobile/mindwavemobile/MindwavePacketPayloadParser.py", line 35, in _ignoreExtendedCodeBytesAndGetRowCode
byte = self._getNextByte()
File "/home/pi/Desktop/python-mindwave-mobile/mindwavemobile/MindwavePacketPayloadParser.py", line 42, in _getNextByte
nextByte = self._payloadBytes[self._payloadIndex]
IndexError: list index out of range

Unfortunately I do not own a mindwave mobile anymore, if I have access to one I can try to reproduce this.

@batuhangundogdu did you found a solution to this problem? im getting the same issue.

@tayyabahmad no, I couldn't find. Instead, I figured the problem out with using a JavaScript program, which does the same thing as Python.

@batuhangundogdu  Can you share this JavaScript program?

Sure, here it is https://github.com/afiedler/node-thinkgear-sockets

@robintibor @tayyabahmad Sure, here it is :
https://github.com/batuhangundogdu/node-thinkgear-sockets

@robintibor @tayyabahmad @batuhangundogdu I am getting the same error.  Does anyone have any other suggestions?

@robintibor @tayyabahmad @batuhangundogdu I got it to work. It seems that the mindwave mobile adjusted its protocol and a few unaccounted for commands are included in the data stream from the device. At the beginning of each successful connection to the client, the mindwave mobile seems to broadcast two bytes 0xBA, 0xBC. These byte values are not accounted for in the MindwavePacketPayloadParser.py methods. To fix this I changed the code for these two methods in MindwavePacketPayloadParser.py to:
    def _extractLengthOfValueBytes(self, dataRowCode):
        dataRowHasLengthByte = dataRowCode > 0x7f and dataRowCode < 0x85
        if (dataRowHasLengthByte):
            return self._getNextByte()
        else:
            return 1

    def _createDataPoint(self, dataRowCode, dataRowValueBytes):
        if (dataRowCode == 0x02):
            return PoorSignalLevelDataPoint(dataRowValueBytes)
        elif (dataRowCode == 0x04):
            return AttentionDataPoint(dataRowValueBytes)
        elif (dataRowCode == 0x05):
            return MeditationDataPoint(dataRowValueBytes)
        elif (dataRowCode == 0x16):
            return BlinkDataPoint(dataRowValueBytes)
        elif (dataRowCode == 0x80):
            return RawDataPoint(dataRowValueBytes)
        elif (dataRowCode == 0x83):
            return EEGPowersDataPoint(dataRowValueBytes)
        elif (dataRowCode == 0xbc or dataRowCode == 0xba): #handles strange initial command signals
            return None
        else:
            assert False


Show MMSI directory CSV validation errors in the UI

Repro steps

Connect and open MMSI directory
Input a name that is too long (> 16 chars)
Click Save

Observed behavior

Nothing in the UI
In the console log, error "Error: Name must not be more than 16 characters"

Expected behavior

The validation error is shown in the UI so that the user knows why nothing happened.
The validation error indicates the specific line / context so that the user knows which line needs fixing.

YAML has better line number indication, so I'm not sure we'd fix this vs. tell people to use YAML instead.


[DOCS] mention load in texture class

Can you amend the "."? :)

yea I just was lazy until now ... sorry

No worries, I just wasn't sure you had seen the notifications :)

Cherry-picked for 3.0.7.


Add sessionPresent to MqttConnAckVariableHeader

As per:
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718033

AUTOMATED MESSAGE for ADMINS:Please verify and accept the pull request.To accept, say @netkins acceptTo build again, say @netkins buildTo whitelist the author, say @netkins whitelist

@netkins accept

thanks?

@flozano thanks.. Adjusted commit message and cherry-picked into 4.1(a91e648) and master (6ff66fe).

@bobmcwhirter fat fingers buddy ;)


Error Response on receiving some client's JWS Client Assertion signed by other client's private key

test module : FAPIRWID2EnsureClientIdInTokenEndpointWithPrivateKeyAndMTLSHolderOfKey
When the authz server(keycloak) receives some client's(say client2) JWS Client Assertion signed by other client's(say client1) private key, it returns 400 Bad Request / error="unauthorized_client".
CheckTokenEndpointHttpStatus401 and CheckErrorFromTokenEndpointResponseErrorInvalidClient expects 401 Unauthorized / error="invalid_client"
In keycloak, JWTClientAuthenticator processes JWS Client Assertion. At first, it read "sub" as client_id (https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication) and searches the public key registered by this client identified by client_id, along with "kid" in JWS Client Assertion's JOSE Header.
In this case, keycloak looks into client2's public key store to find client1's public key, which leads to "not find".

The corresponding jira ticket is https://issues.redhat.com/browse/KEYCLOAK-15448 .

Merged
https://github.com/keycloak/keycloak/pull/7391


fix IsZero bug in std/math/emulated/field_assert.go

Description
Fix the IsZero() bug in std/math/emulated/field_assert.go
Fixes # (issue)
https://github.com/Consensys/gnark/issues/980
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)

How has this been tested?
zero and Non-zero tests have been implemented in field_assert_test.go
How has this been benchmarked?
No benchmark has been done
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I did not modify files generated from templates
[ ] golangci-lint does not output errors locally
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

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


Wrong sizing in cacheAsBitmap on Text

Hi I'm trying to have a text label that is occasionally updated. I want to cache it, so I've been trying cacheAsBitmap. However I've found that if the label gets longer, it ends up cutting off the text.
See here:
https://plnkr.co/edit/0AN3fihXkoGOPgkvtmVs?p=preview

Caching a text alone won't give you any performance boost, and you will use
more memory. Cacheasbitmap is only useful to cache multiple sprites into a
single texture.
Le 30 janv. 2016 12:27 PM, "weepy"<EMAIL_ADDRESS>a écrit :

Hi I'm trying to have a text label that is occasionally updated. I want to
cache it, so I've been trying cacheAsBitmap. However I've found that if the
label gets longer, it ends up cutting off the text.
See here:
https://plnkr.co/edit/0AN3fihXkoGOPgkvtmVs?p=preview
—
Reply to this email directly or view it on GitHub
https://github.com/pixijs/pixi.js/issues/2330.

yeah i looked at the text class and realised that it's already drawing on a canvas, so what I'm doing is pointless. I would be interested in knowing why it doesn't work properly though ?

should be fixed in v4 I think 👍


Generate NuGet package for Release configuration

Generates a NuGet package upong building the Release configuration. Maybe this eases things a bit for you.

Thanks again :)


Support / Development real-time communication platform

I propose that this project obtains a real-time communication platform.
If this proposal gets accepted, I suggest that we use IRC or XMPP. With respect to IRC, the freenode and OFTC networks seem to be commonly used for open source projects. Currently, #quamash on freenode is unused.
Use cases would for instance be:

Support for users, also from user-to-user, not only dev-to-user
Discuss the validity of small issues before placing an issue on github.

What are your thoughts? @harvimt @aknuds1

I am on IRC, but it isn't as if I hang out there much. I mostly use it to
find help with specific projects. I wouldn't mind if there were a #quamash
channel. I think I'd prefer Freenode though since almost all my channels
are on this network.
On Fri, Jan 9, 2015 at 9:25 PM, Jonas Wielicki<EMAIL_ADDRESS>wrote:

I propose that this project obtains a real-time communication platform.
If this proposal gets accepted, I suggest that we use IRC or XMPP. With
respect to IRC, the freenode http://freenode.net/ and OFTC
http://www.oftc.net/ networks seem to be commonly used for open source
projects. Currently, #quamash on freenode is unused.
Use cases would for instance be:

Support for users, also from user-to-user, not only dev-to-user
Discuss the validity of small issues before placing an issue on
github.

What are your thoughts? @harvimt https://github.com/harvimt @aknuds1
https://github.com/aknuds1
—
Reply to this email directly or view it on GitHub
https://github.com/harvimt/quamash/issues/21.

In case there exists some interest on that, I started hanging out in #quamash on the Freenode network.

I've setup Gitter on @aknuds1's recommendation, though I've seen other projects use it.
It's here: https://gitter.im/harvimt/quamash?utm_source=share-link&utm_medium=link&utm_campaign=share-link


I added an MIT license

I noticed there was no license to be found so I thought it might be helpful to add the standard MIT License at least.
It will actually show up above the "clone or download" button so there will be no misunderstandings.
Cheers,
Dennis

Thanks @dreamsurfer! I'm going to nit-pick you on this one... can we copy it (minus the year) from one of my other repos? I like having the actual license name at the top, ie: https://github.com/shakeelmohamed/egress-bootstrap/blob/master/LICENSE

There you go. Is it alright now?

Excellent, thanks @dreamsurfer!


boards: sparkfun: Fix sparkfun_pro_micro_rp2040 gpiomap

The SparkFun Pro Micro pins are numbered 1, 0, GND, ... from top left whereas the SparkFun Pro Micro RP2040 and the RP2040 Community Edition boards are numbered 0, 1, GND, ... , so the pro_micro: connector gpio-map should reflect that.
Graphical Datasheet for SparkFun Pro Micro RP2040: https://cdn.sparkfun.com/assets/e/2/7/6/b/ProMicroRP2040_Graphical_Datasheet.pdf
Graphical Datasheet for SparkFun Pro Micro:
https://cdn.sparkfun.com/assets/f/d/8/0/d/ProMicro16MHzv2.pdf

Hi, @ulmanyar
The pro-micro connector is defined here,
https://github.com/zephyrproject-rtos/zephyr/blob/ad7086a2dfe68c858b70d2266113a8f21f6b6551/dts/bindings/gpio/sparkfun-pro-micro-header.yaml#L17-L30
but from this definition the settings before the change are correct.

The more I look at this, the more it seems like a game of telephone where inconsistencies propagate and multiply.
I would argue that the pro-micro connector definition you linked is incorrect, as I think it should reflect the pins of the original Pro Micro. I will add that to this PR.
I also looked at what boards are using this, and it seems it's only the SparkFun Pro Mirco RP2040 that I originally addressed, but also the Adafruit KB2040 so I can add that as well.
As a side note: in the naming of the KB2040 pins, they have labeled D0 and D1 as "CircuitPython Name", whereas Sparkfun Pro Micro label them as "Arduino", and I don't know if they are supposed to be 1:1 or not. I have never worked with CircuitPython, but in practice they do not seem to be 1:1 based on:
https://github.com/adafruit/circuitpython/blob/54e78c89fc9e0d2b31544dfd03c30a159e8540a4/ports/raspberrypi/boards/sparkfun_pro_micro_rp2040/pins.c#L25
https://github.com/adafruit/circuitpython/blob/ad6bc74f28fcfc8cfa656122f62ba27495721dc5/ports/raspberrypi/boards/adafruit_kb2040/pins.c#L17

Any additional feedback on this? This was merged downstream in ZMK but it would be great to be able to use the board from Zephyr directly.

cc @petejohanson

The more I look at this, the more it seems like a game of telephone where inconsistencies propagate and multiply.
I would argue that the pro-micro connector definition you linked is incorrect, as I think it should reflect the pins of the original Pro Micro. I will add that to this PR.
I also looked at what boards are using this, and it seems it's only the SparkFun Pro Mirco RP2040 that I originally addressed, but also the Adafruit KB2040 so I can add that as well.
As a side note: in the naming of the KB2040 pins, they have labeled D0 and D1 as "CircuitPython Name", whereas Sparkfun Pro Micro label them as "Arduino", and I don't know if they are supposed to be 1:1 or not. I have never worked with CircuitPython, but in practice they do not seem to be 1:1 based on: https://github.com/adafruit/circuitpython/blob/54e78c89fc9e0d2b31544dfd03c30a159e8540a4/ports/raspberrypi/boards/sparkfun_pro_micro_rp2040/pins.c#L25 https://github.com/adafruit/circuitpython/blob/ad6bc74f28fcfc8cfa656122f62ba27495721dc5/ports/raspberrypi/boards/adafruit_kb2040/pins.c#L17

I checked some external connector definitions, and this modification seems to work fine. As @fabiobaltieri pointed out, please update the documentation.


tmodloader crashes visual studio 2017 when using debugger

I set up visual studio as per https://github.com/bluemagic123/tModLoader/wiki/Developing-with-Visual-Studio except using 2017 because I can't get a copy of 2015 anymore without an MSDN subscription.
Terraria loads, but when my mod is loaded VS crashes with an access violation.
Not sure if this is something you can fix or something MS would have to fix.  Also not sure what kind of information would help you with figuring it out, so let me know what you need.
tmodloader version is 0.9.1 and Terraria is <IP_ADDRESS>

Other devs have tried with VS 2017, but so far we think it's a VS 2017 bug. It might be something we'll try again once VS 2017 Update 1 happens.
Also, Visual Studio 2015 Community seems to still be downloadable here: https://www.microsoft.com/en-us/download/details.aspx?id=48146

Ooh! Going to give that a crack now. Thanks.

hello there, I'm roughly aware of the source of the bug, but haven't had time to pin it down. Reading and writing certain mod assemblies with Mono.Cecil causes VS to crash when the debugger is attached

OK I got it working with VS2015 thanks to your link. Much easier working when you can inspect variables! I'll leave it up to your discretion whether to leave this open for others' information or close it.

I feel tempted to try out VS 2017 now that it's out of RC, but the only issue is that it botches the 2015 install.. ;/

I installed 2015 after installing 2017 and they both seem to work (although I haven't used 2017 for anything since installing 2015)

I'll be installing 2017 on my work laptop because I have an SSD, will report results.

Woops, forgot we had this. Referenced here with explanation: #153


Composer network start Not Working. Unable to initalize channel

I tried to deploy the fabric, but I couldn't create a channel. with the following error:
✖ Starting business network definition. This may take a minute...
Error: Error trying to start business network. Error: Unable to initalize channel. Attempted to contact 1 Peers. Last error was Error: Error: Failed to connect before the deadline
Command failed

@penghunicsc could you mention which command gave you this error?  Were you able to downloand fabric images and start is locally?

on this command :
composer network start --networkName decentralized-energy-network --networkVersion 0.1.15 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin@hlfv1 --file networkadmin.card
I downloaded fabric images according to the steps you provided.

on this command :
composer network start --networkName decentralized-energy-network --networkVersion 0.1.15 --networkAdmin admin --networkAdminEnrollSecret adminpw --card PeerAdmin@hlfv1 --file networkadmin.card
I downloaded fabric images according to the steps you provided.
sometimes I get an error like this :
✖ Starting business network definition. This may take a minute...
Error: Error trying to start business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: 2 UNKNOWN: chaincode error (status: 500, message: is not a valid endorsement system chaincode)
Command failed

same error with that.
#######################
?.Starting business network definition. This may take a minute...
Error: Error trying to start business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: 2 UNKNOWN: chaincode error (status: 500, message:  is not a valid endorsement system chaincode)
Command failed
#######################

Same here, composer network start fails.

Downgrading composer-cli to 0.19.0 fixed my problem!

Downgrading composer-cli to 0.19.0 fixed my problem!

How to downgrading-cli?

npm install -g<EMAIL_ADDRESS>

Downgrading composer-cli to 0.19.0 fixed my problem!

How to downgrading-cli?

npm install -g<EMAIL_ADDRESS>

Downgrading composer-cli to 0.19.0 fixed my problem!

Hi I am also stuck with the same problem here. Here are screenshots of the error i have.
First I have this

i tried to run it again and it gives me this error

npm install -g<EMAIL_ADDRESS>

Downgrading composer-cli to 0.19.0 fixed my problem!

How to downgrading-cli?

npm install -g<EMAIL_ADDRESS>
thanks.


When selecting a MudSelectItem using a mobile browser, the dropdown does not close

Bug type
Component
Component name
MudSelect
What happened?
I'm using Blazor Server and a MudSelect:
<MudSelect @bind-Value="EmploymentType" T="string" Label="Employment Type" Required=true RequiredError="Required">
	<MudSelectItem Value="@("Full-Time")" />
	<MudSelectItem Value="@("Contract")" />
</MudSelect>

When selecting an option using a mobile browser, the dropdown does not close. It stays open.
I do not have this issue when using a desktop browser.
Expected behavior
I would expect the MudSelect options to close.
Reproduction link
https://dotnetnewjob.com/add-job
Reproduction steps

Navigate to https://dotnetnewjob.com/add-job using a mobile browser.
Select an Employment Type

Relevant log output
No response
Version (bug)
6.0.7
Version (working)
No response
What browsers are you seeing the problem on?
Firefox, Chrome
On what operating system are you experiencing the issue?
Android
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

It doesn't close on web browser too, but after publishing only

A similar thing happens, even on desktop, when MultiSelection=true

If I revert to 6.0.6 and simulate a mobile device in Chrome devtools, on localhost the issue is resolved. However, if I try the same thing (simulate mobile device) on dotnetnewjob.com/add-job, it still has the issue.
6.0.7 has the issue on localhost (simulating mobile device in devtools) and on dotnetnewjob.com/add-job.
#4174  seems related.

It should be fixed with #4112. It it will still occur after new release please reopen issue.


[SPARK-21958][ML] Word2VecModel save: transform data in the cluster

What changes were proposed in this pull request?
Change a data transformation while saving a Word2VecModel to happen with distributed data instead of local driver data.
How was this patch tested?
Unit tests for the ML sub-component still pass.
Running this patch against v2.2.0 in a fully distributed production cluster allows a 4.0G model to save and load correctly, where it would not do so without the patch.

Can one of the admins verify this patch?

ok to test

Test build #81667 has started for PR 19191 at commit 5f4ce99.

Test build #81667 has finished for PR 19191 at commit 5f4ce99.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/81667/
Test PASSed.

Merged build finished. Test PASSed.

Can one of the admins verify this patch?

LGTM

Merged to master. Thanks!


Introduce OptimizerRule::rewrite to rewrite in place, rewrite ExprSimplifier (20% faster planning)

Note: A substantial number of the changes in this PR are removing & in tests. The actual logic change is quite small
Which issue does this PR close?
Part of https://github.com/apache/arrow-datafusion/issues/9637
Rationale for this change
The less copying in the planner, the less time it takes to plan a query. Profiling from thesql_planner benchmark in https://github.com/apache/arrow-datafusion/issues/9637 shows almost 25% of the time is spent in ExprSimplifier, so let's make that faster.
The current API of OptimizerRule s requires a copy of the LogicalPlan to be made. Thus we need a new API that allows for in place rewrites.
What changes are included in this PR?

Add new OptimizerRule::rewrite API for in place rewrites
Update Optimizer to use the new API
Update ExprSimplifier to implement rewrite rather than try_optimize

Open questions:

should we deprecate the old OptimizerRule API (I think so -- maybe we can do this as a follow on PR)

Are these changes tested?
Yes by existing tests
Performance benchmark: 22% faster TPC-H planning, 26% faster TPC-DS planning
Details

++ critcmp main simplify_exprs_no_copy
group                                         main                                   simplify_exprs_no_copy
-----                                         ----                                   ----------------------
logical_aggregate_with_join                   1.00  1189.1±11.74µs        ? ?/sec    1.00  1186.6±10.71µs        ? ?/sec
logical_plan_tpcds_all                        1.00    155.7±0.85ms        ? ?/sec    1.00    155.6±0.98ms        ? ?/sec
logical_plan_tpch_all                         1.00     16.7±0.18ms        ? ?/sec    1.00     16.7±0.15ms        ? ?/sec
logical_select_all_from_1000                  1.06     19.3±0.11ms        ? ?/sec    1.00     18.2±0.56ms        ? ?/sec
logical_select_one_from_700                   1.00   782.8±19.70µs        ? ?/sec    1.00    780.6±8.10µs        ? ?/sec
logical_trivial_join_high_numbered_columns    1.00   732.4±18.61µs        ? ?/sec    1.00    732.4±9.34µs        ? ?/sec
logical_trivial_join_low_numbered_columns     1.00    714.8±6.80µs        ? ?/sec    1.00    716.0±6.69µs        ? ?/sec
physical_plan_tpcds_all                       1.26   1847.2±3.05ms        ? ?/sec    1.00   1470.4±3.99ms        ? ?/sec
physical_plan_tpch_all                        1.22    119.8±0.74ms        ? ?/sec    1.00     98.2±0.66ms        ? ?/sec
physical_plan_tpch_q1                         1.37      7.3±0.07ms        ? ?/sec    1.00      5.4±0.02ms        ? ?/sec
physical_plan_tpch_q10                        1.20      5.5±0.03ms        ? ?/sec    1.00      4.6±0.03ms        ? ?/sec
physical_plan_tpch_q11                        1.20      4.8±0.03ms        ? ?/sec    1.00      4.0±0.02ms        ? ?/sec
physical_plan_tpch_q12                        1.19      3.9±0.03ms        ? ?/sec    1.00      3.3±0.02ms        ? ?/sec
physical_plan_tpch_q13                        1.18      2.6±0.01ms        ? ?/sec    1.00      2.2±0.01ms        ? ?/sec
physical_plan_tpch_q14                        1.18      3.4±0.02ms        ? ?/sec    1.00      2.9±0.01ms        ? ?/sec
physical_plan_tpch_q16                        1.23      4.9±0.03ms        ? ?/sec    1.00      4.0±0.02ms        ? ?/sec
physical_plan_tpch_q17                        1.24      4.6±0.03ms        ? ?/sec    1.00      3.8±0.02ms        ? ?/sec
physical_plan_tpch_q18                        1.22      5.0±0.03ms        ? ?/sec    1.00      4.1±0.02ms        ? ?/sec
physical_plan_tpch_q19                        1.21      9.4±0.15ms        ? ?/sec    1.00      7.8±0.15ms        ? ?/sec
physical_plan_tpch_q2                         1.24     10.5±0.07ms        ? ?/sec    1.00      8.5±0.06ms        ? ?/sec
physical_plan_tpch_q20                        1.26      6.1±0.04ms        ? ?/sec    1.00      4.8±0.03ms        ? ?/sec
physical_plan_tpch_q21                        1.24      8.3±0.05ms        ? ?/sec    1.00      6.7±0.05ms        ? ?/sec
physical_plan_tpch_q22                        1.23      4.4±0.03ms        ? ?/sec    1.00      3.6±0.02ms        ? ?/sec
physical_plan_tpch_q3                         1.18      3.9±0.03ms        ? ?/sec    1.00      3.3±0.02ms        ? ?/sec
physical_plan_tpch_q4                         1.20      2.9±0.02ms        ? ?/sec    1.00      2.4±0.03ms        ? ?/sec
physical_plan_tpch_q5                         1.16      5.6±0.04ms        ? ?/sec    1.00      4.8±0.03ms        ? ?/sec
physical_plan_tpch_q6                         1.15  1996.9±10.25µs        ? ?/sec    1.00  1739.6±86.99µs        ? ?/sec
physical_plan_tpch_q7                         1.22      7.5±0.11ms        ? ?/sec    1.00      6.2±0.07ms        ? ?/sec
physical_plan_tpch_q8                         1.20      9.6±0.05ms        ? ?/sec    1.00      8.0±0.07ms        ? ?/sec
physical_plan_tpch_q9                         1.21      7.2±0.04ms        ? ?/sec    1.00      6.0±0.03ms        ? ?/sec
physical_select_all_from_1000                 1.47    128.4±0.49ms        ? ?/sec    1.00     87.1±0.31ms        ? ?/sec
physical_select_one_from_700                  1.10      4.0±0.03ms        ? ?/sec    1.00      3.7±0.02ms        ? ?/sec

Are there any user-facing changes?
Faster planning 🚀

@jackwener  and @jayzhan211  here the next PR in the "don't copy so much in the optimizer"

Thanks @jackwener  and @jayzhan211  -- I assumed it would take some time to review these PRs but you are so efficient!
I plan to spend a little time planning today to write down the remaining tasks (aka rewriting each OptimizerRule to use the new APIs) and then start cranking on them. CommonSubExprEliminate will be a tricky one but another major win I think


Cargo workspaces not supported

🐛 Bug description
wasm-pack test works with Cargo workspaces, if I specify the path to my to be tested lib, but wasm-pack build throws an error, that target/wasm32-unknown-unknown/release/wasm_module.wasm can not be found.
Part of command output:
  [8/9] wasm-bindgen already installed...
  [9/9] Running WASM-bindgen...
  error: failed to read `target/wasm32-unknown-unknown/release/wasm_module.wasm`
| 	caused by: No such file or directory (os error 2)
Running the wasm-bindgen CLI
Caused by: Process exited with exit code: 1: `wasm-bindgen` did not exit successfully.

stdout:

stderr:

error: failed to read `target/wasm32-unknown-unknown/release/wasm_module.wasm`
	caused by: No such file or directory (os error 2)

🤔 Expected Behavior
Both commands should work.
👟 Steps to reproduce

Create a Cargo workspace, and add a project derived from the project template to it.
Run wasm-pack build <path/to/your/crate> in the workspace root directory.

🌍 Your environment
Include the relevant details of your environment.
wasm-pack version: 0.5.1
rustc version: rustc 1.31.1 (b6c32da9b 2018-12-18)

Duplicate of #252

hi! current master, which will become 0.6.0 soon, has a fix for this. you can install from master by running cargo uninstall wasm-pack && cargo install wasm-pack --git https://github.com/rustwasm/wasm-pack/. will close as this is fixed, and just waiting on release.


kdeconnect: Add module

KDE connect is a tool for integrating Linux desktops, for example receiving notifications, control music players etc etc.
This module is useful for non-KDE desktops where you want smartphone integration.

Very nice! I just added a minor suggestion about the enable option description. Also, please include an entry in the news.nix file and if you want then please change the commit message from kdeconnect: Add module to kdeconnect: add module since that's the capitalization we've mostly used before 🙂

Thanks for the PR! I tested the module and it seems to be working correctly.
I see that kdeconnect also includes kdeconnect-indicator application which can be launched as a separate service. Maybe we could add services.kdeconnect.indicator option that would configure the service, similar to how it's done in the syncthing service? https://github.com/rycee/home-manager/blob/ed0cd78e05d3d0b27f28e892546881b6a6ae7004/modules/services/syncthing.nix#L44

@uvNikita Thanks for your feedback! I've added the indicator to the expression.
Works great here!

Everything seems to be working, rebased into master: https://github.com/rycee/home-manager/commit/53f10f4d46c02113143ccdb0312149a68d3dd6be.
Thanks again for the contribution!


Config file should be created by dt init

dt init should be creating the initial config file at /$HOME/.dt/config.

updated root initConfig to create config.yaml if not found.


make test pass even when github changes their api

The test expected exactly 70 entries in the object returned from
https://api.github.com/repos/ceylon/ceylon-compiler and started failing
once github started returning an object with 71 entries.

Can one of the admins verify this patch?

ok to test, please test this

I'll merge this.

Merged, thanks!


ipv4 and ipv6 support + query timeout

@bossinc addressed comment.
Also based on user feedback, I separated query timeout from dial timeout. The default for the former needs to be a lot higher and we should decouple otherwise Save and Test behaviour will be poor.


sqlite db

Removes mongo
Adds anondb backed by sqlite
Refactors routers/controllers

Stage 1 in unirep/unirep#24
New synchronizer implementation can be moved to another repo.

This PR has a lot of changes. I think it will be easier to check out the repo and look at the files instead of looking at the diffs here.

Includes #35

@vivianjeng This is ready, finally fixed the key management problem. Didn't change much from when you last looked, just made the synchronizer backward compatible with old versions of unirep on the testnet.


JS: Fix cyclic JSON error during TypeScript extraction

Fixes an extractor crash due to a new cyclic property in the AST.
The first commit just blacklists a new property and adds a test for it.
The second replaces the troublesome blacklist with a whitelist. The whitelist should be easier to maintain as we only need to add new names when we add support for new features.
We also send the SyntaxKind and NodeFlag enums in a separate command now. Sending it with each parse request was redundant, and it means we don't have to whitelist all their members.

Evaluation on typescript.slugs and a JS-Differences run show no difference.


Automated cherry pick of #3679: feature: cloud account share_mode support

Cherry pick of #3679 on release/2.13.
#3679: feature: cloud account share_mode support

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.13@d96750c). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.13   #3680   +/-   ##
==============================================
  Coverage                ?   6.94%
==============================================
  Files                   ?     500
  Lines                   ?   84016
  Branches                ?       0
==============================================
  Hits                    ?    5836
  Misses                  ?   77683
  Partials                ?     497

Flag
Coverage Δ

#aFlag
6.94% <0%> (?)

Impacted Files
Coverage Δ

pkg/cloudcommon/policy/resources.go
0% <ø> (ø)

pkg/keystone/models/roles.go
4.07% <ø> (ø)

pkg/cloudcommon/db/rbac.go
0% <0%> (ø)

pkg/cloudcommon/db/db_joint_dispatcher.go
0% <0%> (ø)

pkg/cloudcommon/db/fetch.go
0% <0%> (ø)

pkg/compute/models/cloudproviders.go
1.02% <0%> (ø)

pkg/compute/models/managedresource.go
0% <0%> (ø)

pkg/compute/models/capabilities.go
0% <0%> (ø)

pkg/cloudcommon/db/db_dispatcher.go
0% <0%> (ø)

pkg/compute/models/cloudaccounts.go
0.87% <0%> (ø)

Continue to review full report at Codecov.

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

/lgtm
/approve


Generate man page from --help and --version

Description
This PR re-formats the --help and --version outputs to be usable with help2man. This allows us to automatically generate the manpage using help2man -N neofetch -o neofetch.1.
We could also possibly automate the man page generation, I'm looking into this. A git hook might work(?)
One option is to implement this in the makefile but seeing as this is a GNU tool (not portable) I don't want to add a dependency for it. I'd rather we automatically do it every push to the repo somehow.
TODO

[ ] Automate this.
[x] Remove old manpage.

Even if we have to manually call help2man bla bla it's easier than adding to the man page manually.

I'd suggest making a git commit hook that checks if the relevant sections are different between neofetch and neofetch.1 and adds it to the commit (or makes an extra commit with the man-page update)

Are git hooks local only or will they be added to every cloned version of Neofetch?

What does your git config --edit look like? Apart from the remotes sections, mine looks like this:
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
	ignorecase = true
	precomposeunicode = true

Just this:
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true

I've made a simple git hook which works fine. I haven't added any checks to see if the output of --help has changed since this hook doesn't add that much of a delay.
The hook will only affect the commit if the manpage differs so it's fine if it runs on every git commit anyway.
#!/usr/bin/env bash
#
# Neofetch Pre-Commit hook
if type -p help2man >/dev/null 2>&1; then
    help2man -N "neofetch" -o "neofetch.1"
    git add "neofetch.1"
fi

You could make a CONTRIBUTING.md file with instructions for setting up a development environment too

I think it's even easier if we just run help2man manually ourselves whenever we remember to. No need to over complicate things.

I've added a new flag called --gen-man that generates the manpage.
I'm merging this now. We could still automate this in the future.

You could probably get Travis to do the automation, actually

I though about that too but how would we then save it to the repo?

You could make Travis make its own commit and push it, not sure how you'd configure it though
This may be of use: https://gist.github.com/domenic/ec8b0fc8ab45f39403dd


Move Report api from Service to Handler

Describe the bug
Currently the reports apis are exposed from service endpoint, which should be from handler.
To Reproduce
Steps to reproduce the behavior:
Go to service swagger endpoint, the reports apis are present there
Expected behavior
This should be exposed from hadler api.

issue is fixed, wiki updated


v5.4.0: Suddenly not able to use GPU Conversion

I can use GPU Conversion when using the model MDX Net MAIN but it doesn't work on Demucs v3.
MDX:

Demucs v3 error:

I was able to extract with GPU Conversion in the previous version but here it doesn't work. Even when I disable GPU Conversion it still shows a similiar error.
How can I solve this?

This is because you have "Split Mode" off and the chunk size is likely set to full. The chunk size menu was moved to the "Demucs Advanced Settings" menu.If you wish to have Split Mode off, you'll need to set the Chunk size to "Auto" or I recommend setting "Segment" to a number between 8-60.

I can use GPU Conversion when using the model MDX Net MAIN but it doesn't work on Demucs v3.
MDX:

Demucs v3 error:

I was able to extract with GPU Conversion in the previous version but here it doesn't work. Even when I disable GPU Conversion it still shows a similiar error.
How can I solve this?

This is because you have "Split Mode" off and the chunk size is likely set to full. The chunk size option was moved to the "Demucs Advanced Settings" menu. If you wish to have Split Mode off, you'll need to set the Chunk size to "Auto" or I recommend setting "Segment" to a number between 8-60.

This is because you have "Split Mode" off and the chunk size is likely set to full. The chunk size option was moved to the "Demucs Advanced Settings" menu. If you wish to have Split Mode off, you'll need to set the Chunk size to "Auto" or I recommend setting "Segment" to a number between 8-60.

This worked, thank you!


WIP:  falco rule naming convention proposal

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design
/kind documentation

/kind failing-test

/kind feature

If contributing rules or changes to rules, please make sure to also uncomment one of the following line:

/kind rule-update

/kind rule-create

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area examples

/area rules

/area integrations

/area tests

/area proposals

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
N/A
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

N/A

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

23a85b9 Update ToC for proposals/20191217-rules-naming-convention.md

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: leodido
If they are not already assigned, you can assign the PR to them by writing /assign @leodido in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

cae04bf Update ToC for proposals/20191217-rules-naming-convention.md

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

6c1b7e8 Update ToC for proposals/20191217-rules-naming-convention.md

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Create tic-tac-toe.css

Description

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.

tic-tac-toe css

merge it


Fix css injection-eval filename escaping.

Found/fixed during hack night.
CSS files being evaluated are injected as a style tag with an id derived from the file name; the derivation was not properly escaping any characters besides ., such as  .

:+1: Thanks for the contribution!


Community seeds

Adding the ability to have more granular control over what gets generated where and adding the ability to share configs, opening the possibility for community created seeds for streamers to play.

Every location can now have either progression items, junk items, or specific items be specified

Upon generation it should pick up in situations where either an item is unattainable or items are locked behind each other, creating an infinite loop

All progression items can be specified as early items
Base 64 encoded strings can be generated and shared that house all of the config data

This is just a draft PR with the above for review before continuing on.

I can't really give a thorough review right but I didn't see anything too out of the ordinary so feel free to continue

@Vivelin After pulling my hair out for hours, I think I've got this pretty stable. There were a mountain of corner cases that were arising when I was trying to run stats or unit tests that revolving around how it shuffled items around. Obviously still certain combinations people put in may be unbeatable, but it should catch those situations upon generation and warn people.
I'm going to do some more testing tomorrow, but otherwise this should be good to go.

I'll give it a review in a minute. It might be best to release this soon-ish (mark it as pre-release for now?) so there's a little more time to test. I've had some other small changes I wanted to make but we've already got more than enough to warrant a new release, I think.

Fixed all of the above and added the logic config to the spoiler log


Clean up of some translations

Also added button to send presentations
Signed-off-by: Vicente J. Jiménez Miras<EMAIL_ADDRESS>

LGMT


Server source code

where is the source code for this server:
https://toolav.herokuapp.com/id/?video_id=7038589018707070213

yes we need it

this is one of the functions of server heroku

yes we need it

full source 250$

Dont need it anymore :)
http://api2.musical.ly/aweme/v1/aweme/detail/?aweme_id=7038589018707070213

Dont need it anymore :)
http://api2.musical.ly/aweme/v1/aweme/detail/?aweme_id=7038589018707070213

does it work for user feed


[Feature request] Keep selection alive

This feature request was made several years ago.
ListBox Drag drop using gong-wpf - keep selection alive

@CodingOctocat You can use ‘SelectDroppedItems’ property for this.


fix: date picker required fix (#19547)

Description
Visual support for required state for date picker did not exist earlier this PR fixes it. It shows a danger border when required condition is not fulfilled.
Fixes # (#19547)
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manual
Cypres

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:
https://github.com/appsmithorg/TestSmith/issues/2165

[x] Test plan has been approved by relevant developers
[x] Test plan has been peer reviewed by QA
[x] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[x] Added Test Plan Approved label after reveiwing all Cypress test

/ok-to-test sha=08cec5512060f01e67d32f5ae09dbc2ebb013389

Visual cue is seen as expected in the datepicker widget. Verified.


Use GitHub Container Registry for pulling images.

To test, execute the following, no errors should be encountered.

make -B docker-compose.yml
docker-compose pull

Yeah, there's a bum image pushed, which wouldn't be fixed in this PR

Is there a Drupal image fix PR imminent?  For the sake of the folks reviewing this I'd be hesitant to break things unless there is a fix coming shortly, or unless this PR was a blocker for a fix.  If so, then I'd be OK merging.

yeah- i just pushed a new image, it should start

hm, Drupal container dies for a different reason now:
drupal_1      | +++ echo 'SELECT COUNT(DISTINCT table_name)
drupal_1      | FROM information_schema.columns
drupal_1      | WHERE table_schema = '\''drupal_default'\'';'
drupal_1      | +++ execute_sql_file_local /tmp/moo -- -N
drupal_1      | ++ local count=
drupal_1      | ++ return
drupal_1      | + local is_installed=0
drupal_1      | + '[' 0 -lt 1 ']'
drupal_1      | Drupal is not installed, no pre-existing state found.
drupal_1      | + echo 'Drupal is not installed, no pre-existing state found.'
drupal_1      | + exit 1
drupal_1      | [cont-init.d] 99-custom-setup.sh: exited 1.

This happens on docker-compose up -d no matter what, it seems a bootstrap isn't possible either.

That should be fixed with https://github.com/jhu-sheridan-libraries/idc-isle-buildkit/pull/2/commits/9cc11e90e612e2fd987a1ddb4036d86e9ed79f7f

Probably https://github.com/jhu-sheridan-libraries/idc-isle-buildkit/pull/2 should be merged first, then this PR can be reviewed without error (🤞)

Actually:
https://github.com/jhu-sheridan-libraries/idc-isle-dc/pull/6 should be merged (it's a requirement of https://github.com/jhu-sheridan-libraries/idc-isle-buildkit/pull/2)
Then https://github.com/jhu-sheridan-libraries/idc-isle-buildkit/pull/2 should be able to be merged
Then this PR (https://github.com/jhu-sheridan-libraries/idc-isle-dc/pull/5) should work.

Sorry, these repositories are too intermingled for anyone's sanity.

https://github.com/jhu-sheridan-libraries/idc-isle-buildkit/pull/2 should be merged.  It will push a new (working) image.
Then merge https://github.com/jhu-sheridan-libraries/idc-isle-dc/pull/6
Then merge this PR, as it depends on https://github.com/jhu-sheridan-libraries/idc-isle-dc/pull/6

I think this should be the correct order.


The problem after updating from rc0002 to release version

Hi guys!
I use SqlPersistance to store saga data to the MSSQL DB.
After I made an update from rc0002 to release version. I made next actions:

Remove old saga tables
Update all packages.
Clean/rebuild twice =)
EndpointInstance does not launch. It just hangs in endpointStart.Wait(). Without any exceptions/logs.

My config:
var endpointConfiguration = new EndpointConfiguration("worker");
endpointConfiguration.EnableInstallers();
endpointConfiguration.UsePersistence<InMemoryPersistence>();

var persistence = endpointConfiguration.UsePersistence<SqlPersistence, StorageType.Sagas>();
persistence.TablePrefix(string.Empty);
persistence.SqlVariant(SqlVariant.MsSqlServer);
persistence.ConnectionBuilder(() => new SqlConnection("ConnectionString"));
persistence.DisableInstaller(); // <- first run without this line. Then add it.
...
var endpointStart = Endpoint.Start(endpointConfiguration);
endpointStart.Wait();  //<- it hangs at this line
return endpointStart.Result

I use NServiceBus.SqlPersistence.MsBuild to generate a Saga tables. And they actually created if I do not use persistence.DisableInstaller() in configuration.
After rolling back to the rc0002 it works fine. What am I doing wrong?
Thank you.

@gromy
both wait and result are known to cause deadlocks.
are you hosting in a windows service? if so can u try this approach https://docs.particular.net/nservicebus/hosting/windows-service  there is a downloadable sample here https://docs.particular.net/samples/hosting/windows-service/
i note u use UsePersistence<InMemoryPersistence>();. it is unusual to mix durable and non durable storages for different StorageTypes
generally DisableInstaller should be wrapped in some logic that identifies a production environment https://docs.particular.net/nservicebus/sql-persistence/installer-workflow#contrasting-workflows https://docs.particular.net/nservicebus/operations/installers

@SimonCropp
Thank you for fast response.
I use Topshelf to host it. I will try to change wait/result to ConfigureAwait(false).GetAwaiter().GetResult() and tell you know if it helps me.
Actually I need to store SagaData in MSSQL Db and other staff in RabbitMQ like Subscriptions for example. I thought it is ok to use it in this way...
Actually we will use DisableInstaller every time and will update Db manually to manage it completely.

Actually I need to store SagaData in MSSQL Db and other staff in RabbitMQ like Subscriptions for example. I thought it is ok to use it in this way...

Yep that is fine. and now i understand why u have InMemoryPersistence in this snippet

@SimonCropp
About persistence: cool.
About hosting: I checked .ConfigureAwait(false).GetAwaiter().GetResult(). The behavior completely the same.
And actually it doesnot metter which hosting I will use GetResult() or wait/result should return constructed EndpointInstance. In service it will be run or in console app. the problem is that it is hangs while this construction =(
And yeah - rc0002 works fine.
Can you give me more information about about "known to cause deadlocks", please.

http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html
You should be using await to get the endpoint instance.

Can u upload a small repro to GitHub including top shelf and I will debug it

@SimonCropp
I made some research and have found that the problem related with conjunction SQLPersistance and Autofac named child life time scope.
If I remove InstancePerMatchingLifetimeScope(scopeName) and scopeName form BeginLifetimeScope (use just child lifetime scope without name) it works fine.
I made an example as simple as possible:
var builder = new ContainerBuilder();
var container = builder.Build();
var scopeName = "newLife";
var newScope = container.BeginLifetimeScope(scopeName, child =>
{
	child.Register(scope =>
	{
		var endpointConfiguration = new EndpointConfiguration("worker");
		endpointConfiguration.EnableInstallers();
		endpointConfiguration.SendFailedMessagesTo("worker.error");
		endpointConfiguration.UsePersistence<InMemoryPersistence>();

		var persistence = endpointConfiguration.UsePersistence<SqlPersistence, StorageType.Sagas>();
		persistence.SqlVariant(SqlVariant.MsSqlServer);
		persistence.ConnectionBuilder(() => new SqlConnection(@"connectionString"));

		endpointConfiguration.UseTransport<RabbitMQTransport>().ConnectionString("connectionString");

		endpointConfiguration.UseContainer<AutofacBuilder>(
			customizations: customizations =>
			{
				customizations.ExistingLifetimeScope(scope.Resolve<ILifetimeScope>());
			});

		var endpoint = Endpoint.Start(endpointConfiguration).ConfigureAwait(false).GetAwaiter().GetResult();
		return endpoint;
	}).As<IEndpointInstance>()
	 .InstancePerMatchingLifetimeScope(scopeName)
	 .OnRelease(instance => instance.Stop().Wait());
});
newScope.Resolve<IEndpointInstance>();
return true;

I just wanna easy release all objects created by EndpointInstance just disposing child lifetime scope.

@gromy but IEndpointInstance (and all its child parts) should be scoped once per appdomain. ie singleton scope

@SimonCropp
Can you give me more information about why I should use it once per appdomain please?
Enable hosting multiple nsb-runtimes in the same appdomain
"This is now possible as part of v5"
Is this something different? I use version 6. And it works fine with in memory persistence and with Sql persistence too. But when I wanna use both types of endpoints (for integration tests for example), the endpoint with only in memory persistence fails to run (but it is already another issue =) ).

yes multiple different endpoints in the same appdomain are supported. but you are spinning up multiple instances of the same endpoint EndpointConfiguration("worker");
with multiple instances of the same endpoint you are effectively creating a competing consumer scenario but with none of the benefits since they are sharing the same hardware.

@SimonCropp actually you right.
But if we want to change the configuration of endpoint in run time, we just can use one endpoint, create another one with the different configuration and then stop the first. And some time they can work simultaneously. Just one scenario why we need to use it.
Any way, now I have a problem that if I try to launch two different endpoint in one application and want to setup one of it only for sending messages with in memory persistence and another with Saga persistence I got a problem with launch first one. It throw an exception ConnectionBuilder must be defined. With next call stack:
   at NServiceBus.SqlPersistenceConfig.GetConnectionBuilder(ReadOnlySettings settings) in C:\projects\nservicebus-sqlpersistence\SqlPersistence\Config\SqlPersistenceConfig_Connection.cs:line 25
   at Installer.<Install>d__3.MoveNext() in C:\projects\nservicebus-sqlpersistence\SqlPersistence\Installer.cs:line 24
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NServiceBus.InitializableEndpoint.<RunInstallers>d__13.MoveNext() in C:\Build\src\NServiceBus.Core\InitializableEndpoint.cs:line 164
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NServiceBus.InitializableEndpoint.<Initialize>d__1.MoveNext() in C:\Build\src\NServiceBus.Core\InitializableEndpoint.cs:line 58
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NServiceBus.Endpoint.<Start>d__1.MoveNext() in C:\Build\src\NServiceBus.Core\Endpoint.cs:line 27

It is another topic, should I create different issue for it?
And just remind that the actual question was related with using InstancePerMatchingLifetimeScope(scopeName). Pure NServiceBus allows us to use it. rc2 version of SQLPersistence worked fine with named scopes too. But release version does not work fine. It seems like bug, it is not? =)
Another interesting information: when I use rc2 version and remove persistence.DisableInstaller(); the same situation is exist: the tables are created, but the Endpoint does not start.(hangs in Endpoint.Start())

@Lapov i would still like to get to the root cause of you issue. but am having trouble reproducing it. would you be able to share a stand alone repro that causes the hang

@SimonCropp ok, check it, please =)
https://github.com/Lapov/SqlPersistenceTest

@Lapov what is the actual thing you want to achieve here with this code? Do you want multiple endpoints in the same host? Most of the times, especially when hosting outside of a web app, you don't actually need to put the whole endpoint instance in a container.
I've run the code you provided and it hangs. I made it pass by creating yet-another-lifetime-scope and passing it to NSB but I don't think this is the way to go. I am pretty sure the fact it hangs is related to the fact that the lifetime scope is being access when resolving the instance.

Ok, thank you guys.


Update s3, sdk-core, sqs to 2.17.48

Updates

software.amazon.awssdk:s3
software.amazon.awssdk:sdk-core
software.amazon.awssdk:sqs

from 2.17.38 to 2.17.48.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, semver-patch

Superseded by #311.


Per-tag page styling

Moved the attributes to the body tag, with data- prefix.
Now all metadata properties are added, but I'm not sure if the some like the contenttype, dates, or perms are useful. Should I filter them out?

I'd also be interested in something like this for https://silverbullet.md/Page Decorations

I'm not sure what you're asking for here?

Ok on a reread, I think that, instead of injecting the html for the prefix, you want to just attach a class to the links, and let people do whatever with it with space styles instead. Is that correct?

Honestly, this is a pretty powerful feature. Allow any property instead of just a class, rebrand it as an autotagger, and now add page tags and whatever other metadata to page through a query.
Then attach the meta properties as attributes to the html and style as you please through space-styles
*[myProperty="value"] {
  color: #F00;
}

Could even do the same with the prefixes.
*[pagePrefix="tree"]::before {
  content: "🎄 ";
}

Check what I have so far if this is what you wanted.
an example snippet for page decorations based on itag:
/* add a prefix /*
body[data-itags~="test"] #sb-current-page .cm-line::before
a[data-itags~="test"]::before,
.sb-option[data-itags~="test"] .sb-name::before {
  content: "✨ ";
}

/* color it purple */
body[data-itags~="test"] #sb-current-page .cm-line,
a[data-itags~="test"],
.sb-option[data-itags~="test"] .sb-name {
  color: purple;
}

Just to go over what I have in mind:

Autotagger -
Apply any arbitrary tag in settings instead of just limited to prefix.
Example:

autotag:
- where "tags= 'testTag'"
tags: "additionalTag"
iLikeKeys: "And also values"
hidden: true

Add a hidden property to pageMeta so that it can be hidden on a page-to-page basis or through autotagger instead of relying on prefix.

Attach pagemeta to wherever page names and page links appear, so that it can be styled with space-styles as shown here. More flexible by allowing to style colors, background, font, prefix etc. at the cost of a somewhat ugly and harder to understand css snippet.
Or I could keep the prefix option, generate the css, and append it when building space-styles.

Just to go over what I have in mind:

Autotagger -
Apply any arbitrary tag in settings instead of just limited to prefix.
Example:

autotag:
- where "tags= 'testTag'"
tags: "additionalTag"
iLikeKeys: "And also values"
hidden: true

So I was thinking along similar lines when I wrapped up the initial version of pageDecorations. My thinking was: what if we would add a generic mechanism to add attributes dynamically to any object (selected based on a where clause like pageDecorations and other things work now). This would be a way to dynamically add pageDecorations onto pages, but could be used in other ways too. You could create dynamic attributes on tasks, you could use these attributes in queries etc.
For instance, you could then implement page decorations like this:
decorators:
- where: 'tags = "person"'
  attributes:
     pageDecoration.prefix: "🥸 "

Or an even more out-there solution would be to allow Expressions as values so they can be dynamically computed:
decorators:
- where: 'tags = "person"'
  attributes:
     pageDecoration.prefx: '"🥸 "' # Just a literal string
     fullName: "firstName + ' ' + lastName" # Compute based on other attributes, you could even call functions here

This would give all #person tagged objects a pageDecoration and fullName automatically. This would need to be implemented at the DataStore level.
In the end I didn't go for it because I feared that:

It would be too expensive, e.g. the way queries work is basically through a table scan where every item is evaluated against the where clause. This would add more complexity to that: as in, it would also have to create an "enriched" version of the item with all these dynamic attributes added and then run the filter against that. This seemed potentially expensive.
It adds complexity. Before you could just see: these are the attributes of this page, it's obvious because some are built in (like lastModified), others I defined in the front matter. That's it. No surprises. Adding dynamic attributes based on selectors could make this a whole lot more complicated (especially if people accidentally do things like applying them to all objects, e.g. when they'd just say where true 🤯 )

But I'm open to be challenged on this. And as I'm writing this, I'm tempted to try it. I think this can be done, and it would be a very powerful mechanism that can be leveraged for various use cases, not just page decorations. But it's also one of those "with great power comes great responsibility" type of things.

Add a hidden property to pageMeta so that it can be hidden on a page-to-page basis or through autotagger instead of relying on prefix.

I'm not sure I follow this one.

Attach pagemeta to wherever page names and page links appear, so that it can be styled with space-styles as shown here. More flexible by allowing to style colors, background, font, prefix etc. at the cost of a somewhat ugly and harder to understand css snippet.
Or I could keep the prefix option, generate the css, and append it when building space-styles. That way a simple prefix option is available in settings, with more advanced styling through space-styles.

I think the prefix use case is going to be the most common thing, so I'd prefer to keep that easy to do, as it is. I also still like my suggestion to add an explicit pageClass attribute to pageDecoration that would then be attached to the body to make targeting CSS styles easier. I'm ok with also attaching other page attributes to the body as data attributes, but for me that's less essential because you can achieve the same thing with where targeted decorations.

FYI: I'm working on (1) as I proposed after all. Performance impact doesn't seem bad, hang tight :)

FYI: I'm working on (1) as I proposed after all. Performance impact doesn't seem bad, hang tight :)

I did this too, lol
check the last commit, I just attached the autotagger to the page indexer

Have a look at: #995

FYI: I'm working on (1) as I proposed after all. Performance impact doesn't seem bad, hang tight :)

I did this too, lol
check the last commit, I just attached the autotagger to the page indexer

Right, the issue there would be that you have to reindex your entire space every time you change these "auto tag" rules. My implementation does this on the fly. It's slightly more costly at read/query time though.

I think that should be it.
New example:
objectDecorators:
- where: 'tags = "pink"'
  attributes:
    pageDecoration.cssClass: "['make-it-pink']"

Make page names pink
.make-it-pink.sb-decorated-object {
  &,
  .sb-name,
  .cm-completionLabel {
    color: hotpink;
  }
}

Add pink accent border to editor
body.make-it-pink {
  #sb-editor .cm-content {
    border-left: solid 0.5em hotpink;
  }
}

At this point we kinda need a dedicated page for snippets on the site.

This one might be useful enough to add as a default
- where: 'tag = "attachment"'
  attributes:
    pageDecoration.prefix: "'🔗 '"

Excellent, the only thing I changed here to rename the decoration to cssClassES (because it expects a list), and added some examples (nice Christmas decoration ones).


IM_ASSERT

Hi there!
When IM_ASSERT throws an error it arrives to go as some really strange-looking segmentation fault panic that is completely undebuggable.
I've discovered a way to make it a bit cleaner.
there is an imconfig.h file that allows to define our own implementation of IM_ASSERT and we can do something like this:
//---- Define assertion handler. Defaults to calling assert().
// If your macro uses multiple statements, make sure is enclosed in a 'do { .. } while (0)' block so it can be used as a single statement.
#define IM_ASSERT(_EXPR)  MyAssert(_EXPR, __FILE__, __LINE__)
//#define IM_ASSERT(_EXPR)  ((void)(_EXPR))     // Disable asserts
//
#include <stdio.h>
#include <stdlib.h>
static void MyAssert(bool cond/*const char *expr*/, const char *file, int line) {
        if (cond) {
                return;
        }
    FILE *log_file = fopen("error.log", "a");
    if (log_file) {
        //fprintf(log_file, "Error in expression: %s\n", expr);
        fprintf(log_file, "File: %s, Line: %d\n", file, line);
        fclose(log_file);
    }

    //fprintf(stdout, "Error in expression: %s\n", expr);
    fprintf(stdout, "File: %s, Line: %d\n", file, line);

    // Instead of throwing an exception, we're using exit(1) to terminate the program.
    exit(1);
}

(this is a prototype that needs to be improved)
But it returns some human readable output - file and line number when the exception happens.
@AllenDang any thoughts :smile:
Also I need some C++ help in order to make this function better :grinning:

I think we can remove this log file. It was in case stdout was broken somehow, but it works so we don't need to create this file

Also, I can do like this:
#ifdef CIMGUI_GO_DEBUG
#define IM_ASSERT(_EXPR)  MyAssert(_EXPR, __FILE__, __LINE__)
#include <stdio.h>
#include <stdlib.h>
static void MyAssert(bool cond, const char *file, int line) {
        if (cond) {
                return;
        }

    fprintf(stdout, "File: %s, Line: %d\n", file, line);

    // Instead of throwing an exception, we're using exit(1) to terminate the program.
    exit(1);
}
#endif

and then in GO:
package cimgui
//go:build debug
//+build debug

//#cgo CPPFLAGS: -DCIMGUI_GO_DEBUG
import "C"

and when building with debug tag my function will be enabled

Cool

well, I think I know whats the problem. In go we're using pre-built imgui binaries and preprocessor directives are not considered while generating go binary


Loss of Syntax Highlighting with Nim String Interpolation

Description
I write the bugs I notice myself to work on fixing them or by contributors.
For this bug, I noticed an issue related to syntax highlighting for string interpolation.
Here's a code snippet that works fine:
echo(fmt "{person.name} is {person.age} years old")

The syntax highlighting is correct in this case.
However, if I remove the space between fmt and the string, the string loses its syntax highlighting:
echo(fmt"{person.name} is {person.age} years old")

Steps to Reproduce

Write the following code in the Zed editor with the Nim extension installed:echo(fmt "{person.name} is {person.age} years old")

Observe the syntax highlighting.
Modify the code by removing the space between fmt and the string:echo(fmt"{person.name} is {person.age} years old")

Observe the loss of syntax highlighting.

Expected Behavior
The string should maintain its syntax highlighting regardless of the presence of a space between fmt and the string.
Actual Behavior
The string loses its syntax highlighting when the space between fmt and the string is removed.

So, nim_format_string tree-sitter grammar exists. I have tried adding it to the extension, and it works on it's own (I can make a pull request as is if necessary). However for some reason it doesn't appear injected in fmt"..." strings. Changing injection language to "nim" works ok, so the queries in injections.scm are in fact correct, but Zed doesn't allow using neighbouring grammars from within one extension. Maybe some config file has to be modified in a way to allow this?

Thank you very much for your support and trying to find a solution, and yes
the Grammer is correct , it worked in nvim as I use it, but does not work
in zed , will try to find if other languages have same issues or any update
from zed to solve it.
If you find a way, you can for sure submit a pull request even if not
complete.
Appreciate your help.
On Sat, Nov 2, 2024, 11:51 AM Igor Maljuk @.***> wrote:

So, nim_format_string tree-sitter grammar exists
https://github.com/aMOPel/tree-sitter-nim-format-string.git. I have
tried adding it to the extension, and it works on it's own (I can make a
pull request as is if necessary). However for some reason it doesn't appear
injected in fmt"..." strings. Changing injection language to "nim" works
ok, so the queries in injections.scm are in fact correct, but Zed doesn't
allow using neighbouring grammars from within one extension. Maybe some
config file has to be modified in a way to allow this?
—
Reply to this email directly, view it on GitHub
https://github.com/foxoman/zed-nim/issues/3#issuecomment-2452910951, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABI3ZBIE3EWKBGV7VGH5MBDZ6SAAXAVCNFSM6AAAAABLCWE35OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJSHEYTAOJVGE
.
You are receiving this because you were assigned.Message ID:
@.***>

I found what the problem is with tree-sitter-nim-format-string grammar. Zed, apparently, doesn't allow grammar names with underscores in it. Replacing "nim_format_string" with "nimstrfmt" in all of it's code and in injections.scm fixed the issue, but it's clearly not a good way to go, and I'm not sure what to do about it.


feat: set blocks range limit on eth_getLogs calls

Solves #62.

[x] Error when request logs for X > 10k blocks.
[x] Sucess when request logs for X <= 10k blocks.
[x] Fetches latest block when toBlock or fromBlock are "latest".
[x] Uses latest block when toBlock is undefined.
[x] Uses latest block when fromBlock is undefined.
[x] If no altruists are available, an error is returned with a message indicating to use an explicit block number instead of latest.

Waiting for pocket relayer mock to include tests, @rem1niscence is working on it.


Have Box serialization add the 'type' field appropriately

This creates a sort of intermediate representation with a type field added when serializing a Box<dyn Model> and then serializes that.
I'm not sure I'm happy with this, but it's the best workaround I could manage for now. I'll keep thinking about it. I'm hoping there's a better design for the whole (de)serialization story here.
The previously broken test now works!

Codecov Report

Merging #1 (b622399) into main (ca8c418) will increase coverage by 0.61%.
The diff coverage is 42.30%.

@@            Coverage Diff             @@
##             main       #1      +/-   ##
==========================================
+ Coverage   78.26%   78.87%   +0.61%
==========================================
  Files          17       17
  Lines        1679     1704      +25
==========================================
+ Hits         1314     1344      +30
+ Misses        365      360       -5

Impacted Files
Coverage Δ

src/models/exclusive_gateway.rs
63.63% <0.00%> (-2.41%)
:arrow_down:

src/models/gate.rs
61.53% <0.00%> (-1.39%)
:arrow_down:

src/models/load_balancer.rs
66.66% <0.00%> (-2.19%)
:arrow_down:

src/models/parallel_gateway.rs
63.75% <0.00%> (-1.64%)
:arrow_down:

src/models/stochastic_gate.rs
62.16% <0.00%> (-1.73%)
:arrow_down:

src/simulator/test_simulations.rs
100.00% <ø> (ø)

src/models/model.rs
58.97% <50.00%> (+16.86%)
:arrow_up:

src/models/generator.rs
69.87% <100.00%> (+1.97%)
:arrow_up:

src/models/processor.rs
69.12% <100.00%> (+1.10%)
:arrow_up:

src/models/storage.rs
60.52% <100.00%> (+2.41%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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

This is great.  Thanks @uint!


Add Bastion Nodepool object

First pass PR for adding nodepool object: Bastion

DO NOT MERGE

[x] Clean up

[X] Confirm with @coffeepac that nodepool task and changes are ok.

[x] Add working config example of private network with Bastion used. (BYO VPC only atm)

fixes: https://github.com/samsung-cnct/k2/issues/659

@alejandroEsc those two options sound great.  if you want to implement the bastion type now and file and issue for bastion-elb that works for me to keep scope down on this PR

@coffeepac agreed, will do bastion now and leave elb type in another ticket.

@coffeepac ready for you to look at.

Well, it would be if it was on both networks...

@coffeepac Definitely let's chat about this asap. My thoughts are these, based on your good questions:

We want to have and elb and non-elb case, but now that i think about it we probably should just do the elb case exclusively its probably a lot easier to work with anyway. I havent tried to see what happens when you proxy using an elb but my guess is that it should work.

Regardless if we go with elb case or not, the operator may not be the only person that has access to the bastions, and in that case I suggest that each bastion node having a pointer to the private nodes is good practice. If you feel its overly complicated then we can remove it.

Im not seeing where we are building the ssh config for all private nodes.  The bastion config template/ansible taks looks like its only going to loop over the bastion nodes. So each of the bastion nodes will have an ssh config to get to the other bastion nodes.
Am i silly misreading that?

Good question, that is done via aws_bastion_ssh_config with the templage bastion_ssh_config via the task Generate bastion ssh inventory

okay, I was misreading the code.  Will add a readability comment in a minute.


Implement a scheduler to remove the role after 12hrs

    //TODO: Implement a scheduler to remove the role after 12hrs

undefined

Related to #8


Add a LinkedMap/VectorMap in 2.13.x

As detailed here https://contributors.scala-lang.org/t/clarification-on-dependencies-in-sp-scalajson-vectormap/1305/8, I have come across the situation where I need to add an immutable Map like data structure that maintains key ordering while still having effectively constant lookup time on all operations.
Currently the only known way to do this is to have a composite datastrcuture that maintains an immutable HashMap/Vector underneath. The HashMap is used for queries on key while the Vector is used for queries on index.
This issue is to discuss whether it makes sense to add this collection to the collection-strawman, and if so how this should be done in light of https://github.com/mdedetrich/linked-map (i.e. should we keep the naming of the collections consistent between this library and the newly added collection to the strawman).
Furthermore there are some design impliciations, i.e. https://github.com/mdedetrich/linked-map adds a LinkedMap trait (which is trait that signifies that an immutable Map maintains key ordering). It would make sense to make ListMap in the collections strawman extend this trait, while providing the new VectorMap (which also extends LinkedMap). Unfortunately this isn't really possible in the current standard library collections since we can't change already existing classes.
If we decide to do this, we should also decide on matters like naming

Duplicate of https://github.com/scala/collection-strawman/issues/277?

Indeed, I suggest we close this issue and continue the discussion in #277.