fix: Group is created with duplicate

Explanation of Change

Fixed Issues

$ https://github.com/Expensify/App/issues/49931
PROPOSAL: https://github.com/Expensify/App/issues/49931#issuecomment-2395918533
Tests

Open the Developer Tools and go to the Network tab, then set the network speed to 3G
Click on the FAB > Start Chat
Enter a user's email, then quickly click on it before the fallback avatar changes to the correct user avatar
Send a message
Verify that: The chat with the selected user should remain a 1-on-1 chat. The chat should not change into a group with duplicate users

[x] Verify that no errors appear in the JS console

Offline tests

same as above
QA Steps

same as above

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/57172e2e-2c2f-45d5-aa2a-e8c0fa925b2e

Android: mWeb Chrome

iOS: Native

https://github.com/user-attachments/assets/a0be48ec-d079-42ae-857d-695b695b3d82

iOS: mWeb Safari

https://github.com/user-attachments/assets/82f86993-6f2c-44cf-8ba3-85733ac90a22

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/3a8189e9-362f-4bdf-830e-39d46d9d1270

MacOS: Desktop

https://github.com/user-attachments/assets/aaa349af-8301-4f61-8f63-541737673a3c

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@nkdengineer  I notice that we have a flicker
https://github.com/user-attachments/assets/9367aeb7-2707-4a6a-8d83-3bd61fb7a05f

@DylanDylann I fixed this bug. The problem, in this case, is the GetMissingOnyxMessage data is merged before the optimistic personal detail is cleared in queueOnyxUpdate.

@nkdengineer Hmmm, I am not sure if your fix is valid

@aldo-expensify While reviewing the PR, I see a problem . The RCA is GetMissingOnyxMessage data is merged before we execute the flushOnyxUpdatesQueue function. When GetMissingOnyxMessage data is merged, three avatars display because we haven't removed the optimistic data. Then when flushOnyxUpdatesQueue is executed, the successData is merged and it removes the optimisticData.
So, we have these options here:

Leave this bug away, because the flicker only happens if user is on a low network
Apply @nkdengineer's fix, which executes flushOnyxUpdatesQueue before merging GetMissingOnyxMessage. With this approach, it can cause a replay effect when GetMissingOnyxMessage updates the same data that is updated by flushOnyxUpdatesQueue
We can fix BE to modify the response of GetMissingOnyxMessage API

@aldo-expensify While reviewing the PR, I see a problem . The RCA is GetMissingOnyxMessage data is merged before we execute the flushOnyxUpdatesQueue function. When GetMissingOnyxMessage data is merged, three avatars display because we haven't removed the optimistic data. Then when flushOnyxUpdatesQueue is executed, the successData is merged and it removes the optimisticData.
So, we have these options here:

Leave this bug away, because the flicker only happens if user is on a low network

When you say "this bug", are you referring to this https://github.com/Expensify/App/pull/51712#issuecomment-2446562109, right flickering? Am I understanding correctly that the changes of this PR are turning the original problem into a short/fast flickering?

Apply @nkdengineer's fix, which executes flushOnyxUpdatesQueue before merging GetMissingOnyxMessage. With this approach, it can cause a replay effect when GetMissingOnyxMessage updates the same data that is updated by flushOnyxUpdatesQueue

Do we know of a way of reproducing the "replay effect" that @nkdengineer 's fix would produce? I guess we could try to assess if it would happen and be visible in real use cases vs and compare to the flickering we are trying to fix. If the "replay effect" is worse, then we shouldn't do this for sure. The flickering is barely noticeable.

We can fix BE to modify the response of GetMissingOnyxMessage API

How do you think this can be fixed in the backend? by correcting lastUpdateID and previousUpdateID returned by OpenReport and AddComment?

Hey all 👋  this fixes a deploy blocker so it would be great to get some movement here - are we planning on a backend fix? Or is there a small frontend fix we can get going to fix the blocker? Or can we call the blocker NAB?

Bumping this PR, what's the next step?

The most active thread is this one here: https://github.com/Expensify/App/pull/51712#discussion_r1826249579
Basically, we need to decide if we want to implement a frontend bandaid over a problem caused by Auth using forwardCommand. The use of forwardCommand was to improve the speen of OpenReport, but since it results in this bug, I'm thinking that using forwardCommand is not worth it and I would prefer a slightly slower OpenReport rather than modifying the internals of how the sequential queue works.

@nkdengineer Please mark this PR on hold BE

I'm bringing this conversation to an internal Slack channel to discuss (link).

OK, it sounds like @aldo-expensify is fixing the lastUpdateID bug on the backend with this PR.
@nkdengineer once that is fixed, will there still need to be more work done in this PR, or can this PR simply be closed without merging?
In other words, I'm confused about if the lastUpdateID bug is the cause of the original problem or not.

I think we can re-test the issue and some other issues that we're holding from this PR to make sure we can close the PR or continue working on this.

All right, sounds good. I'll try to keep this updated to let you know when
the BE thing is fixed.
On Fri, Nov 15, 2024 at 9:29 AM nkdengineer @.***>
wrote:

I think we can re-test the issue and some other issues that we're holding
from this PR to make sure we can close the PR or continue working on this.
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/pull/51712#issuecomment-2479374069, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJMAB3H5NBQWZUOBUAKFRD2AYONZAVCNFSM6AAAAABQ3IDBYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZZGM3TIMBWHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Daily Update

The backend PR is still in draft mode
@aldo-expensify is continuing to work on it and being careful not to break things (the code is quite complex)

Next Steps

@aldo-expensify finish writing the PR and submit it for review
Get the PR merged and deployed
Re-evaluate this bug

ETA

Wed Nev 27

Daily Update

Still not a lot of progress being made on the backend PR, but we are discussing it on Slack to try and find a way forward through the complexity

Daily Update

There was a small breakthrough on the backend PR that should give us a good path forward. It still requires some implementation work.

ETA

Wed Nov 27

Daily Update

@aldo-expensify is still diligently making progress on the backend
It is getting closer to a fix, but the code is complex and has to handle many different flows, so it is difficult to modify without causing regressions

ETA

Wednesday Dec 4

Daily Update

The Auth PR has been taken out of draft mode and is in full review

Next Steps

@tgolen @neil-marcellini Review and merge the Auth PR
Wait for it to be deployed
@nkdengineer re-evaluate this bug to see if it is still happening and what, if any, updates need to be made to this PR

ETA

Thursday, Dec 5

Daily Update

The Auth PR has received 2/3 reviews

Next Steps

@tylerkaraszewski review and merge the Auth PR
Wait for it to be deployed
@nkdengineer re-evaluate this bug

ETA

Tomorrow, Dec 5

Daily Update

The Auth PR is still not merged yet
I'm pushing to have it merged today and dismiss the remaining review

Next Steps

@aldo-expensify merge the Auth PR if you're ready
Wait for it to be deployed
@nkdengineer re-evaluate this bug

ETA

Tomorrow, Dec 6

Daily Update

The Auth PR was merged and deployed to production 🎉

Next Steps

@nkdengineer can you please re-evaluate this bug now?

That's really great! Thank you. I think I'll go ahead and close this then, and I think you should get partial payment for the work you've done on this one, even though the PR wasn't merged.


License statement

Currently there is no license statement. Could you please add a LICENSE file that contains the license text.
Thanks.

yes

Thank you.


auto hyphens on verse text reading does not work after translations are loaded

I can't reproduce the issue in my development environment but in github pages, so that, we would need the actual production deployment to reproduce and fix the issue

Turns out it is a browser problem https://caniuse.com/mdn-css_properties_hyphens_language_turkish
when I used my phone Xiomi Mi6 Android 11 , and I have Chrome 120.0.6099.144


Fix fork img location due mobile version

In mobile version imgs aren't rendered in the right place of the text, so the actual location of the img isn't right

Awesome @OtacilioN. I hadn't checked mobile version. Thank you for fixing. 👍 🖖


[$250] Search - Total amount of the grouped expenses does not update after deleting the expense

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v9.0.20-0
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:

Go to staging.new.expensify.com
Submit at least 3 expenses to any user.
Go to Search.
Go to Shared.
Select one of the expenses via checkbox.
Click on the dropdown.
Click Delete.
Delete the selected expense.

Expected Result:
The total amount of the grouped expenses will update accordingly after deleting the expense.
Actual Result:
The total amount of the grouped expenses does not update after deleting the expense.
Workaround:
Unknown
Platforms:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/05daa814-df4a-42a0-a091-0ef1f1f4a5ef

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~012231bbe2d257a312
Upwork Job ID:<PHONE_NUMBER>702250918
Last Price Increase: 2024-08-21

Issue OwnerCurrent Issue Owner: @aimane-chnaif

We think that this bug might be related to #wave-collect - Release 1

@sonialiap  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
Search Page - Total amount of the grouped expenses does not update after deleting the expense
What is the root cause of that problem?
When we delete the expense, the deleteMoneyRequestOnSearch function got invoked, but the BE doesn't return or tell the FE to update the Onyx total amount, but when we refresh the page we see the correct amount from the BE
What changes do you think we should make in order to solve the problem?
After deleting the expense we can invoke the Search API to update the total amount
What alternative solutions did you explore? (Optional)
We can sum the total by summing of all transactions instead of using the total property, because when the deleteMoneyRequestOnSearch function got invoked, the BE return an Onyx response and setting the deleted transaction to null

https://github.com/Expensify/App/issues/47385#issuecomment-2289155103
Proposal Updated to include demo.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Grouped expenses total does not update after deleting an expense.
What is the root cause of that problem?
handleDeleteExpenses is not included in SearchActions.search useEffect
What changes do you think we should make in order to solve the problem?
Add handleDeleteExpenses to the useEffect
src/components/Search/index.tsx
    useEffect(() => {
        if (isOffline) {
            return;
        }

        SearchActions.search({queryJSON, offset, policyIDs});
        // eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps
    }, [isOffline, offset, queryJSON, handleDeleteExpenses]);

What alternative solutions did you explore? (Optional)
N/A

@zanyrenney I'm OOO Aug 19-30, adding leave buddy.
Status: waiting for @aimane-chnaif to review and select a proposal

@aimane-chnaif
Proposal Updated

Add alternative solution by updating optimistic data

I feel like we shouldn't be calling the API just after calling it, the API should return what the frontend needs.
Since this is related to a new search feature, I'm reassigning this to you @luacmartins for assessment.

I agree with Flo, we shouldn't trigger an AP call to update data. I think this is a BE issue and we should just update DeleteMoneyRequestOnSearch to be sending the updated report totals to clients.

@zanyrenney I'm back from OOO, unassigning you. Thanks for keeping an eye on this!

@aimane-chnaif after internal engineering review, do you think we can move forward with either proposals (maybe with a little reworking) or do you think we need a new one?

Issue not reproducible during KI retests. (First week)

This is fixed. Closing.

This issue is still repro, build - v9.0.57-4
https://github.com/user-attachments/assets/a6eedba0-211b-4c2e-a8ee-d5b6871c7043

@IuliiaHerets I'm a bit confused by the video posted. Could you include one that follows the steps in the OP?

@luacmartins Right now tester can't repro this issue
https://github.com/user-attachments/assets/326d12bb-5fb8-488d-b2fc-9d673585e50c


[plugin/catalog-backend-module-okta] Group membership is not synced

Expected Behavior
Not only groups and users per se are synced from Okta, but group membership is synced and visible as well.
Current Behavior
Currently I'm testing it with Dev Okta instance. There are two groups and two users. I added users to these groups, and see no errors in backend's logs, but every group is showed as having no members. Overall, entities appear in the catalog.
Steps to Reproduce
Add required parameters to app-config catalog.providers.okta, add code to catalog.ts. Run yarn dev, see entities are synced but groups are memberless.
Possible Solution
TO be honest, I'm lacking TypeScript dev experience. I do see in sources that listUsers is called on every Group, so I came to a conclusion that this is supposed to work.
Your Environment
Backstage 1.5.0

Just to make sure could you send me the relevant part of your catalog.ts? I am curious of the order of the providers

Are you using namingStrategies in your setup in your catalog.ts ?

@kissmikijr I’m on vacation right now and don’t have laptop with me. I recall I copied most of catalog.ts in this repo. I presume the issue might be in the part where the plugin creates new group: in the yaml file members array is passed as-is, instead of something like members: members

@sole0bserver No worries enjoy! :)
I actually tried to repro this on my local setup with a developer okta account and wasn't able to do repro the issue. The members, groups got added correctly with the correct relations.
I was only able to repro this when I used a different namingStrategy config setting for the providers. Basically if you use it you need to use the same naming strategy for the Group provider's user naming strategy as you use for the User provider.
When you get back and will be able to try it out feel free to get back to me!: ) I'd love to help and figure out what's going on!

Hi @sole0bserver , since we couldn't reproduce the issue and this has been stale for sometime I am going to close this. If you are still experiencing problems even when changing the naming strategies please reopen this issue and we'll be happy to help.


Create Project - Uniqueness

Project: Abbreviation needs to enforce uniqueness.
we want to implement a auto-generated code for future projects, but we need to be able to edit for input of existing ones.

(If yes, list here)
Screenshot
(Link above will always be the most up-to-date version.)

@dinesh-aot @saravanpa-aot how easy would this be?

ABBREVIATION Creation Methods:

3 + 3
1 + 1 + 4
First 6
Special

Method 1:	1st 3 LETTERS OF FIRST WORD IN NAME + FIRST 3 LETTERS OF 2nd WORD IN NAME
Method 2:	1st LETTER OF FIRST WORD IN NAME + 1st LETTER OF 2nd WORD IN NAME + 1st FOUR LETTERS OF THIRD WORD IN NAME
Method 3:	1st 6 LETTERS OF FIRST WORD IN NAME
Method 4:	CREATE CUSTOM CODE FOR PROJECT
Private Zenhub Image

once the Abbreviation is made, only superusers can change it!

If I put in an incorrect name and check the abbreviation, then correct the name, and then check the abbreviation again, the abbreviation does not update.
Until I save a new project, I need it to update within the modal.

Fixed!


HDDS-7053. Add client-side writeChunk metrics

What changes were proposed in this pull request?
Add client metrics that describe how data writes are distributed to pipelines. This is helpful to identify if the workload distributed to pipelines are even.
https://issues.apache.org/jira/browse/HDDS-7053
How was this patch tested?
Unit test, manual test.

Thanks a lot @duongnguyen0 for updating the patch. Mostly looks good to me.

@adoroszlai Thank you so much for your detailed review and helpful suggestion.

Acceptance test for MR is still failing though, I'll investigate and make a change for that.

It's failing due to the unique name problem I mentioned.  (That's how I found out about this constraint.)

Thanks @duongnguyen0 for iterating on this patch, LGTM.

Currently, only S3 Gateway has a clean way to publish these metrics. We will need to check how we can extract them from Ozone Client Jar apps.

Currently, only S3 Gateway has a clean way to publish these metrics. We will need to check how we can extract them from Ozone Client Jar apps.

Hadoop-metrics allows  metrics to be sinked via different channel based on client configuration. The default channel is FileSink.  S3G (like other services in Ozone) has configuration to sink its metrics to Prometheus based on BaseHttpServer.
Freon can also do that if we run it with --server  options. I think it's quite sufficient for our testing purpose for now.
For other OFS clients (Spark, Hive, Yarn..), they may already have a good hadoop-metrics configuration to publish metrics to Prometheus, otherwise metrics will be dumped to files and that's not too bad.

This is structured as client metrics, but this could be a lot simpler if the client had a single pipeline instance across all objects. This would then be a pipeline metric, and the code would be structured differently. I guess we will be adding more client metrics, and the plumbing changes to pass the metrics object should be ok. Will take a look one more time before merging.

LGTM


Warn about dmcomm-python board_config

Normally we don't overwrite board_config.py, but wificom won't work with an old dmcomm-python one.

#25


release or mpy??

Hi
Any release or mpy ??
Thanks

I have some cleanup and documentation to do and then I’ll release :)
On Mon, Nov 26, 2018 at 4:09 PM Sabas<EMAIL_ADDRESS>wrote:

Hi
Any release or mpy ??
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/brentru/Adafruit_CircuitPython_TinyLoRa/issues/3, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AATrfCw3QXN2WnJJj99aFIBqPrOti__7ks5uzFh2gaJpZM4Yz1TE
.

fyi - probably around the end of this week, i'll do a full merge into the adafruit/ organization repo, then a code review followed by refactoring and a release. Then a guide.

thanks!


[6.0] Swift collections 1.1.2 cherrypick

Cherry pick of https://github.com/swiftlang/swift/pull/75086
Explanation: Updates the swift-collections version used by the toolchain build to 1.1.2
Scope: Affects building swift-collections in toolchain builds
Original PR: https://github.com/swiftlang/swift/pull/75086
Risk: Minimal - this change has been heavily tested in various toolchain builds and has no code changes to the source, it is only a build configuration change to a configuration that is not yet in use
Testing: Testing done via swift-ci testing, swift-ci toolchain builds, and local toolchain builds
Reviewer: @lorentey

@swift-ci please test


TOML representation of workflow configuration

Right now, all attributes of a module are listed in the same map as the module's listing in the workflow. This is an easy and compact way of representing a workflow, see here:
[workflow]

[[import]]
path = "tests/data/import/textgrid/singleSpeaker/"
format = "textgrid"
audio_extension = "wav"

[[export]]
path = "tests/test_out"
format = "graphml"

Nevertheless, this format is also misleading: It's not directly clear from the representation (which it also does not necessarily need to be, because people should read the docs, but it is still an obstacle) that some of the keys are attributes of the module struct and whether they are available or not depends on what has been chosen as format for import/export or action for graph_op, i. e. the module.
An alternative would be to single the attributes out into a config table, that would be more transparent:
[workflow]

[[import]]
path = "tests/data/import/textgrid/singleSpeaker/"
format = "textgrid"

[import.config]
audio_extension = "wav"

[[export]]
path = "tests/test_out"
format = "graphml"

[export.config]

This structure is more transparent, but also a bit more verbose. Also, I right now don't find a way (I'll keep checking) to omit empty config tables, they seem to be mandatory for now.
Any thoughts @thomaskrause ?

The problem of empty config tables can currently not be solved. There seems to be a pending pull request from October:
https://github.com/serde-rs/serde/pull/2295
Once this is merged, there'd be a solution for all modules who implement Default[^1]. We than would have to enrich the enum values that contain modules with default with #[serde(default)], e. g.:
pub enum WriteAs {
    GraphML(#[serde(default)] GraphMLExporter), // the purpose of serde(default) here is, that an empty `[export.config]` table can be omited
}

[^1]: Reminder: Not all modules do that anymore to force users to configure attributes that cannot be filled by default, such as path variables to external configurations.

A third alternative would be the following:
[workflow]

[[import]]
path = "tests/data/import/textgrid/singleSpeaker/"

[import.config]
format = "textgrid"
audio_extension = "wav"

[[graph_op]]

[graph_op.config]
action = "check"
query_file_path = "some/path/to/some/file"

[[export]]
path = "tests/test_out"

[export.config]
format = "graphml"

I don't like that particularly much, since it would lead to no attributes for graph_op (at least practically, theoretically it's possible to override workflow_directory, but that might be removed in the future anyway) and makes the representation more verbose by default, even for very simple workflows and modules with no attributes. Also, the original problem of having format next to the format-depending attributes will not be solved this way.
Felt like mentioning it anyway.


Adding footer to the pages

Added footer to the pages that is created. Needs media query and a prfil image

Some pages do not have a main tag. Maybe go over with your team and check all pages :)

Hi again. Many pages have been updated since this PR and resulted in conflicts on 8 pages. Is it possible for you to create a new PR with a branch that is up to date with main branch?

I will fix it asap :)
man. 8. apr. 2024 kl. 10:02 skrev Eli Nygård @.***>:

Hi again. Many pages have been updated since this PR and resulted in
conflicts on 8 pages. Is it possible for you to create a new PR with a
branch that is up to date with main branch?
—
Reply to this email directly, view it on GitHub
https://github.com/NoroffFEU/musikkforandrerliv.no/pull/246#issuecomment-2042107595,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWP32FRHD3YTONFVZ7OGNILY4JFIDAVCNFSM6AAAAABFU6E2L2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBSGEYDONJZGU
.
You are receiving this because you were assigned.Message ID:
@.***>

Great :) What is status? Should we close this PR?

This issue can be closed. There has been opened a new issue for this

Wonderful. I will close it.


Release @google-cloud/storage v2.3.4

This pull request was generated using releasetool.

Release is at https://github.com/googleapis/nodejs-storage/releases/tag/v2.3.4

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Remove dock icon.

This kills the electron application as soon as it starts without any
delay, so the dock icon never appears.
Otherwise, running this multiple times would cause a flickering in the
dock icon.
This works by closing electron, which usually also kills the process,
but we hook into the will-close and prevent it from closing using
deasync.

Since there are whitespace changes try:
https://github.com/tinytacoteam/clipboard/pull/3/files?w=true

I think a better approach would be to have this not be a short-lived process, but a long-lived one. It can hide the dock icon and create an internal interval.


use prototype instead of 'this' before super

'this' in subclass constructor before call to super exits is undefined
according to spec. Use prototype object to pass in method instead to
comply with spec.
See https://github.com/babel/babel/issues/1284 for more details

@BerkeleyTrue  --- thank you for this PR... we're actually migrating the project over to TypeScript (so we can transpile down to ES6, ES5 CJS, ES5 AMD and global files and support TypeScript .d.ts file output. Current work is being done in the typescriptify branch until it's stabilized enough to merge into master.


Object property changes only observed the first time

Setting object properties in a <child-element> from a <parent-element> is only picked up by the <child-element> the first time.
Next time the <parent-element> tries to set the property, the <child-element> will not get updated.
https://jsbin.com/zayevirere/edit?html,output
which would be the best practice to update the value of the object and ensure polymer picks it up?

You need to 2-way bind {{my}} into <my-element> to ensure the host <my-app> sees mutations to the shared object that occur in the child element.  The reason the second one fails is that Polymer's dirty checking sees that 'rocks' is the last known value of my.deep.value the host knew about, and so it doesn't re-propagate the change.  By two-way binding, you ensure the host is in sync with mutations that occur below.
Works: https://jsbin.com/cuperok/edit?html,output


Add files via upload

Hey there, trying my best at creating a pull request, with the appropriate path to add the logo.

Hey @TheoCoin the image is uploaded correctly, but you need to name the upload with the following convention assets/CHECKSUM_TOKEN_ADDRESS/logo.png
I think your token would be: assets/0xffD9a6726a4363140BB5A8fDD903520411b89882/logo.png


"Test Phone Numbers and OTPs"  does not work with Twilio

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
Test Phone Numbers and OTPs field does not work while setting OTP with Twilio as SMS provider
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:
Go to In Authentication > Providers > Phone :

Select Twilio, fill it with correct infos
Set "Test Phone Numbers and OTPs" with phone and otp code
The phone number does not receive Twilio OTP anymore
BUT the OTP code does not works in signInWithOTP

Expected behavior
When calling signInWithOTP() with the OTP code set in  "Test Phone Numbers and OTPs" , the OTP code should be accepted.
Screenshots
System information

OS: macOs with a React native App
Browser Arc Version 1.8.0 (41552) - Chromium Engine Version 116.0.5845.187
Version of supabase-js: 2.32.0
Version of Node.js: v18.13.0

Additional context
No additional context

Hey team,
As mentioned in the linked issue this should be patched. Feel free to reach out if there are still issues though.
Thanks!


Issue in setting null value from a csv feeder to a .txt template using .jsonStringify()

Running the simulation in Windows OS.
I am using gatling gradle plugin version 3.7.3 in my build.gradle file:
I have a feeder.csv like below:
rank,firstName,lastName,hobby
1,Jack,Smith,reading
2,Sam,,running

I have a template.txt like below:
{
  "rank": #{rank},
  "firstName": #{firstName.jsonStringify()},
  "lastName": #{lastName.jsonStringify()},
  "hobby": #{hobby.jsonStringify()}
}

I am expecting lastName to be set as null for the second record of the csv, but it is setting the lastName as  empty string "".
Also if I have the literal null in my csv, the lastName is setting to "null".
.body(ElFileBody("template.txt"))
.asJson

Wrong expectation then.
You have an empty String in your csv file so that’s what you have in your payload.
One possible solution is to transform your feeder’s content and turn empty Strings values into null, see https://gatling.io/docs/gatling/reference/current/core/session/feeder/#transform
Also, next time, please use the community group instead of the bugtracker.


MessageUpdated/MessageDeleted not logging

Our server has a channel where we log UserJoined, UserLeft and UserUnbanned - these all work fine.
We have a second channel that is set to log UserUpdated, MessageUpdated, and MessageDeleted. UserUpdated works fine, but MessageUpdated and MessageDeleted do not propagate to these channels.
Is there something else we have to enable for these to go through? https://i.imgur.com/jandEKA.png

There's already an issue for this: https://github.com/Kwoth/NadekoBot/issues/2235
Probably related to the change made earlier that disabled the message cache.

Ah, thanks for the note! I didn't catch it in my search. Close as dupe as necessary.
Is there a way to downgrade?

It's like one line of code, but I don't know if this is the actual problem. Only a guess. I'll check it out later.

I don't know, I just went back to before that commit.
On Apr 17, 2018 5:22 PM, "Shikhir Arora"<EMAIL_ADDRESS>wrote:
Does it work with 2.18? I'll check shortly. If it does, then it's the
message cache disable that did it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Kwoth/NadekoBot/issues/2246#issuecomment-382151220,
or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABKwHtALlTUb-ByStQuKx4hpM0jS3GuIks5tplz5gaJpZM4TZDQX
.

Is there a fix for this in the pipeline, @Kwoth?


Add ruby implementation

[x] Add simple blockchain implementation with ruby
[x] Add README for ruby

I want to make blockchain with ruby.can I join in it?

@NishidaRyu416 welcome! 👍

Thanks for this @blueplanet.
I'm happy to merge, but I'm not a Ruby developer, so can we get some more eyes on this please?

@dvf
Okay.
Welcome review / advice for this code!


break out of extract_association_attributes! early

Pretty simple. It makes each association register itself upon declaration, then it makes it easy to determine whether a hash contains keys that are association names. This gets called twice during init for some reason, so it saves two hashes per node when loading.

Coverage increased (+0.0%) to 98.42% when pulling 85480d74398787877e55ba6c08b8569b308e05e3 on association_attributes into 765ec93f37225049ddd88c959a95f237337e097e on master.

Coverage increased (+0.0%) to 98.42% when pulling 85480d74398787877e55ba6c08b8569b308e05e3 on association_attributes into 765ec93f37225049ddd88c959a95f237337e097e on master.

Coverage increased (+0.0%) to 98.42% when pulling 85480d74398787877e55ba6c08b8569b308e05e3 on association_attributes into 765ec93f37225049ddd88c959a95f237337e097e on master.


Progress always on newline, not overwriting same line?

First of all: thanks for all the development on this! I'm getting a small problem with the output being on newlines. Not sure if this is intended behavior, I assumed the text would be updated inline, but instead I get progress updates on new lines:
1
  0%|                                                                          |2
  0%|                                                                          |3
  0%|                                                                          |4
  1%|                                                                          |5
  1%|                                                                          |6
  1%|#                                                                         |7
  1%|#                                                                         |8
  2%|#                                                                         |9
  2%|#                                                                         |10
  2%|#                                                                         |11

Here's my code:
    progress_bar = ProgressBar(max_value=image_count).start()
    for root, _, files in os.walk(directory):
        for file_name in files:
            loop_counter += 1
            progress_bar.update(loop_counter)
            ...
    print("Done processing images!")
    progress_bar.finish()

This is generally caused by a print statement somewhere in your code. By specifying redirect_stdout and/or redirect_stderr this should be fixed. Note that the previous version had a bug in that code so I would recommend updating to the latest version (3.4.0 or higher) before trying.
http://progressbar-2.readthedocs.org/en/latest/usage.html#combining-progressbars-with-print-output
Example:
import time
import progressbar

bar = progressbar.ProgressBar(redirect_stdout=True)
for i in range(100):
    print 'Some text', i
    time.sleep(0.1)
    bar.update(i)

You're right, I left a print in there, thanks so much for the quick fix!

I still having this issue:
/ Checking syntax. Elapsed Time: 0:00:13.                                      2017-09-25 15:48:34,077 INFO     Build OK: Syntax: PASSED!
Printing on the same line.
When:
bar = progressbar.ProgressBar(widgets=widgets,
max_value=progressbar.UnknownLength,
redirect_stdout=True,
redirect_stderr=True
)
I tried both true, each true and both false. And this does not help.

Now fixed:
progressbar.streams.flush()
progressbar.streams.wrap_stdout()
redirect_stdout=True
bar.finish()

This options end string normally.

@trianglesis i have same issue, can you show me the complete code?

It's abandoned package, but progress bar was implemented here:
@namekkozZ https://github.com/trianglesis/BMC_TPL_IDE/blob/master/bmc_tplpre/check_ide/syntax_checker.py


update dependencies, and update configuration of jest

The dependency changes are the result of running npm update, and npm audit fix.
Also there was a deprecation warning about the jest configuration
when I ran the tests.  So the change to setupFilesAfterEnv is based on that.

There was a build error on travis:
$ pyenv local 3.6
pyenv: version `3.6' not installed
The command "pyenv local 3.6" failed and exited with 1 during .

https://travis-ci.com/concord-consortium/starter-projects/builds/125752844#L197-L199
Locking to 'trusty' fixed the problem. And that was needed anyhow for s3_website to work.
I also removed the sudo: false which is not needed anymore.


fix: --no-npmignore is no longer an option for jsii-pacmak

This PR attempts to address the issue as described in #30 by removing the --no-npmignore flag from the call to jsii-pacmak.

I was premature, this does not resolve the issue. It seems to be deeper inside of libnpmpack, specifically const destination = path.resolve(opts.packDestination, filename) on line 43 of lib/index.js. opts.packDestination is undefined. Adding a ?? "" fixes my issue locally.


Publish 1.3.2 to NPM.

I'm not sure if there's some process that's holding this back, but 1.3.2 was released 11 hours ago, yet the NPM registry doesn't reflect that release. Thanks!

I forgot to ping @kvirani when releasing, done so now - hopefully we'll get 1.4.0 out sometime in the next two weeks too :-)

I don't wanna be a "+1" guy but... :)

it's already 1.4, but not npm :(

I don't have access to publish on npm, so pinged again.

Sorry folks. Was on vacay. I've published 1.3.2 and 1.40 to npm. heads up re minor issue: The title in the README in the 1.4.0 tag was incorrectly set to 1.3.2, so npmjs.org will have the wrong title in the README.


Simplify calico/node release process

Description
Move the stream version (e.g. v2.5) from calico_node/Makefile into versions.yml. This simplifies the release process slightly since versions.yml becomes (mostly) the single source of truth for versions, and there's only one file to edit when managing calico/node versions (in this repo).

testing: confirmed new version value is reflected in calico/node version; ran containerized fvs.

Todos

[x] Tests
[x] Documentation

Release Note

None required

@bcreane one more comment and then could you squash commits?

grr, semaphore. The build was indefinitely queued (20+ hours) so I deleted the branch on semaphore. After pushing a new commit to the PR on github, the branch isn't updating on semaphore (which is expected in hindsight). Unless @caseydavenport is willing to accept this PR w/o semaphore building it, then I'll likely close this PR and open another one.


Question, Compound documents without relationship in primary resources

Hi, we have an api to return a compound document. I wonder if it is valid according to JSON:API
GET http://api/services?include=client
Response:
{
    "data": [
        {
            "id": 3,
            "type": "services",
            "attributes": {
                "attr1": "value1",
                ...
                "attrn": 0
            }
        },
       {
            "id": 4,
            "type": "services",
            "attributes": {
                "attr1": "value1",
                ...
                "attrn": 0
            }
        }
    ],
    "included": [
        {
            "id": 333,
            "type": "client_services",
            "attributes": {
                ...
            },
            "relationships": {
                "services": {
                    "data": {
                        "id": 3,
                        "type": "services"
                    }
                },
                "clients": {
                    "data": {
                        "id": 12,
                        "type": "clients"
                    }
                }
            }
        },
        {
            "id": 334,
            "type": "client_services",
            "attributes": {
                ...
                }
            },
            "relationships": {
                "services": {
                    "data": {
                        "id": 4,
                        "type": "services"
                    }
                },
                "clients": {
                    "data": {
                        "id": 12,
                        "type": "clients"
                    }
                }
            }
        },
        {
            "id": 12,
            "type": "clients",
            "attributes": {
                "name": "A Client"
            }
        }
    ]
}

According to Json:API document:

Compound documents require “full linkage”, meaning that every included resource MUST be identified by at least one resource identifier object in the same document. These resource identifier objects could either be primary data or represent resource linkage contained within primary or included resources.

While there is no relationship in the primary resources (services objects), the client_services object does have relationships of services and client objects.
Is the response consider to be "full linkage"? Are the above API and response valid?
Thanks!

I'm not 100% sure about the validity, however from a purely practical point of view a number of client libraries and more simplistic parsers will likely struggle with this.
A typical method for parsing might look something like:
for primaryObject in data {
  for relation in primaryObject.relationships {
    parse from included where includedItem.type == relation.type
      && includedItem.id == relation.id
  }
}

In this methodology, your clients objects would never actually get parsed...
I would suggest altering the API's format to have the services object either have a relationship direct with clients or to the client_services object. The first option would be easier for other developers to consumer, but may be harder for you to implement in your API

I think you have the relationships backwards. The items in data should have the relationships, and then if the client requests the includes those items will be added under included (with their own relationships of course where applicable).

This requirement has been reworded in v1.1:

Every included resource object MUST be identified via a chain of relationships originating in a document’s primary data. This means that compound documents require “full linkage” and that no resource object can be included without a direct or indirect relationship to the document’s primary data.

@ben-zhong Do you think that new wording would have answered your question? Or do you see additional need for clarifying it in the specification?


Folder icon request

Hello 👋
Using it with great pleasure and would like mention that it would be nice to add folder icon for dependency incetion related packages
ie.
di, injection, injector ...
Many projects has dependency injection uses similar folder names, i know the di for android for sure, i have seen others too but these are the ones I remember. if you know any please add them too :)
I think it would be nice to add a folde icon with a syringe 💉

up

up

Thanks for upping :) the project is a bit on a hiatus right now but once all is over I'll get back to it I promise!

No worries, take your time :) I will continue my war with stale bot 😅

up

done

Please wait for next version, it will happen soon

Ohh thanks a lot! 🎉


Public transit directions

Please include a way to get public transit directions.
It's the main thing keeping me on Google Maps.

I close this issue since we are already working on this issue.
However I cannot tell you when it will be released.. but I hope as soon as possible.


Support for Bookworm

I'd like to work on adding support for Debian bookworm to rosdistro. Is there a guide or a good starting point for this work?

Hi @rosterloh can you clarify what kind of support you are looking to contribute to?
Debian Bookworm is a supported distribution for the ROS Infrastructure although no current ROS distributions support it. We do not change the target platforms of stable distributions but it is possible that we'll update the Debian target for ROS 2 Rolling Ridley when we move it to Ubuntu 24.04 as well.
If you wanted to help with that effort, the first thing to do would be to start looking at rosdep keys for Debian Bookworm. There are rosdep repo checks that run as part of the GitHub Actions in this repository (ros/rosdistro) but you can run them locally to run them across the entire database rather than just changed files. Adding bookworm to those checks by updating this config file would be a good start!

That's very helpful thank you. To demonstrate what I'm looking to support I've run with the following config
---
package_sources:
  debian:
  - !deb_base_url http://deb.debian.org/debian main
  - !deb_base_url http://deb.debian.org/debian contrib
  - !deb_base_url http://deb.debian.org/debian non-free
  - !deb_base_url http://repos.ros.org/repos/ros_bootstrap main
package_dashboards:
- pattern: !regular_expression .*//deb.debian.org/debian/.*
  url: https://packages.debian.org/{os_code_name}/{binary_name}
supported_versions:
  debian:
  - bookworm
supported_arches:
  debian:
  - arm64

I will start working through the missing deps and submit a PR


[RFC] Clippy lint fixes

This is the result from running rust-clippy over the racer source.
It's probably best to review the commits individually.
Since a lot of "idiomatic rust" lints can be overruled by personal preference, please let me know which of these changes are not desired in the racer codebase.
There are also objective improvements, such as using to_owned which is faster for string conversion, and one instance of using into_iter to avoid string clones.

looks good :+1:

Thanks for taking the time to do this @birkenfeld, is really helpful and much appreciated.
Most of these are where the compiler now elides things that used to have to be made explicit. It really shows how the language has become less noisy!
I noticed sometimes to_string() got changed to to_owned(), and sometimes to '.into()'. Do you know the reason?

Thanks for the merge!
As for the string methods, for literals I prefer into() since it's shorter, but otherwise to_owned() is somewhat more explicit.


[IR][fix] Save value info for initializers

Previously initializers are not included in the graph value_info because they are not easily accessible from the Graph object. Now what we store all the Values for initializers, we can serialize the value information into the graph.
Fix https://github.com/microsoft/onnxscript/issues/1501

Can this be closed, or is this still relevant?

This is still relavent. We need to update our test data first.


Limit JobTypeSaga concurrency by 1 thread.

Hi Chris,
I was playing with JobConsumers and got concurrency version check errors when JobConsumer has low ConcurrentJobLimit (for example 1) and several Job Commands are sent. MT is creating JobSagas for each command (in parallel) and tries to update JobTypeSaga singleton object with information about Active Jobs. In this case only the first update succeeds and all subsequent updates are failing on version check step. It is not critical, but is quite annoying and brings lots of errors in the log.
Setting ConcurrencyLimit to 1 for JobTypeSaga allows to minimize concurrency error issues.

mt_job_consumer_job_type_saga_errors.txt

If you're using an optimistic saga repository, you should set SagaPartitionCount equal to some value (greater than one is fine, it's a partitioner) but it will ensure that same concurrency limit per saga. It should probably default to some value to avoid this issue overall.


add ios default-map support overlay images (merge chocky335's branch)

https://github.com/airbnb/react-native-maps/pull/1140
@chocky335 's fix can't merge into current master.
I fix it and remove some lines that @jschloer reviewed.
Also, I plan to implement Android and iOS's Google Maps API code.

I found a bug with UIImage when I wrote iOS's Google Maps API code.
I close this PR and I will make new PR.


Check return from calloc

Minor change mopping up PR https://github.com/apple/swift-corelibs-foundation/pull/622 to check a calloc return value by popular demand.

@swift-ci please test and merge

Huh?

It's the URLSession test timing out again :(

@swift-ci please test

HI @parkera, can you retry the test please? Apparently this was a timeout.

@swift-ci please test and merge

Thanks


Allow multiple sentinel keys with same key but different label for refresh

We use App Configuration in a micro-service architecture, where all configuration of a single micro-service are labelled with the name of that micro-service. In addition we also have global configurations that apply to all micro-services, which we don't give a label. We would like to be able to do the following, to either trigger refresh for all micro-services, or only for a single micro-service when we change global or micro-service configurations:

Use a key named RefreshSentinel with label \0 to monitor changes to global settings
Use a key named RefreshSentinel with label MicroServiceA to monitor changes to settings for MicroServiceA.
Use a key named RefreshSentinel with label MicroServiceB to monitor changes to settings for MicroServiceB.

Currently this is impossible, due to the implement here, which overwrites previous refresh registrations with the same key in the RefreshRegistrations dictionary: https://github.com/Azure/AppConfiguration-DotnetProvider/blob/fbde2ecd1a0262675a1c677f322a1a0fec26c1da/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/AzureAppConfigurationRefreshOptions.cs#L41
A workaround is to have a sentinel key RefreshSentinel:MicroServiceA, but we would like to stick to labels, since that's how we differentiate between environments.
Could this behaviour be changed to have refresh registrations with key-label combination?

@abhilasharora Aah, I missed that there was already a ticket. Great, thanks!


Clipboard gets reset when undoing a paste

Steps to reproduce:

Copy a section of text
Paste this section somewhere else
Undo the paste (control-z)
Paste somewhere else

Expected behaviour:
the clipboard should be kept through the undo and the original text should be pasted in the new location
Actual Behaviour:
Clipboard gets reset and the second paste does nothing
Tested on MacOS ARM, dev branch commit 81776dd4e81258a4766d487e76941bee539c762c

I can't replicate this. See the video below of the app performing the expected behaviour (on latest develop at time of writing)
https://user-images.githubusercontent.com/6735055/193449539-7bca80c5-d955-4b3d-8f29-ee8b1bc739b3.mov
The clipboard is (at least as far as I know) unaffected by undos and redos so I was a little surprised you hit this issue - could you maybe post a video?

Yea looks like this is no longer an issue. Not sure what was causing it earlier. I'm closing it now


Google Drive folders selection

Here is what the folders selectors looks like:

We save the ids of the the folders "selected", even the ones that are selected because their children is selected. That's to be discussed but the react library I use claim to follow some standard about managing all that, so I decided to follow it.
Deployment:
There are Database changes on connectors side and connectors needs to be deployed before front.
I will see how to do all that in the deployment runbook.
I will setup the prod crendentials on Nango take care of the deployment.

Deployment:
There are Database changes on connectors side and connectors needs to be deployed before front.
I will see how to do all that in the deployment runbook.
I will setup the prod crendentials on Nango take care of the deployment.


Duplicate content being added in plone/volto

Description
Duplicate content can be added to the webpage with having the exact same details.
To Reproduce
Steps to reproduce the behavior:

Go to home page
Click on contents icon on left icon bar
Click on the upload button
Upload content having the exact same details and you will see they are being perfectly added.

Expected behavior
Duplicate content should not be allowed to upload
Video
Screencast from 2024-02-06 13-41-30.webm
Software

OS: Ubuntu (23.10)
Browser: Mozilla Firefox (118.0.1) (64 bit)

This is a feature request, not a bug.
I can delete a mistake, if I think it is one.
I may want to upload the same binary file to multiple locations, for example, to keep images together with text content. I also might have different files with the same filename in different local locations that I want to upload.
Plone doesn't get in the way of doing this, and I would not want this behavior to change.

Understood thank you for your feedback
On Tue, 6 Feb 2024 at 2:09 PM, Steve Piercy @.***>
wrote:

This is a feature request, not a bug.
I can delete a mistake, if I think it is one.
I may want to upload the same binary file to multiple locations, for
example, to keep images together with text content. I also might have
different files with the same filename in different local locations that I
want to upload.
Plone doesn't get in the way of doing this, and I would not want this
behavior to change.
—
Reply to this email directly, view it on GitHub
https://github.com/plone/volto/issues/5737#issuecomment-1929022699, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ATTTYKTA6ZP2QJBW6HIH57DYSHT2PAVCNFSM6AAAAABC3QRKUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRZGAZDENRZHE
.
You are receiving this because you authored the thread.Message ID:
@.***>


Correct ems_type for provider refreshers

This fix will allow provider refreshers to correctly retieve vmdb configuration options.
Fixes #5816

For the updates to the .spec tests, to exercise #ems_type, I followed the existing model as seen here:
https://github.com/ManageIQ/manageiq/blob/master/spec/models/manageiq/providers/amazon/cloud_manager_spec.rb#L4
@blomquisg &| @matthewd, Please review


Update Library Carpentry FAIR Lesson Link

On the Library Carpentry lessons page when I navigate to the Top 10 FAIR Data & Software Things lesson and click on Site it goes to this page: https://librarycarpentry.org/Top-10-FAIR/
The actual lesson is located here: https://librarycarpentry.org/lc-fair-research/
Can we change it so that the link to the site goes directly to the lesson? Also, in the repository I think it would be helpful to have a link directly to the lesson.

Fixed with #105 and issue raised in this repo for reference.


Instant File Initialization & Azure SQL DB

With the release of SQL Server 2022, instant file initialization was enabled for Azure SQL DB as documented on the last row in the 'Performance' table here.

The main doc here for instant file initialization makes no mention of Azure SQL DB and should be updated to reflect that IFI is also now applicable to Azure SQL DB tlog files for autogrowth increments up to 64 MB

@kenjmartinii -- Ken, thank you for your thorough feedback.
@WilliamDAssafMSFT -- William, please look into this issue.

Thanks @kenjmartinii for taking the time to provide this feedback. We're going to bring clarity to this issue with a Doc update soon.  Thanks for drawing attention to this disparity, your suggestions help improve our documentation. Closing, as this doc update is in flight and tracked by an internal initiative.

Thanks again @kenjmartinii, https://learn.microsoft.com/sql/relational-databases/databases/database-instant-file-initialization has been updated to bring more clarity.


Update block public access settings

Update public access settings for integration tests.

Codecov Report
Patch coverage: 100.00% and project coverage change: -0.03 :warning:

Comparison is base (fc30d05) 93.44% compared to head (4ebada4) 93.41%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2910      +/-   ##
===========================================
- Coverage    93.44%   93.41%   -0.03%
===========================================
  Files           63       63
  Lines        13541    13541
===========================================
- Hits         12653    12650       -3
- Misses         888      891       +3

Impacted Files
Coverage Δ

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

... and 2 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Prompt for Nightmares in Dominance phase

Scenario:
I'd like to play Nightmares during the Dominance phase, to blank out my opponents Iron Throne before Dom get's calculated.
Right now, this does not seem to be possible, and Dom is calculated incorrectly as a result. This can easily be rectified after the fact, of course, but it's awkward esp if other Dom-related reactions take effect (e.g. Chamber).
It would be great if players were prompted to play Nightmares during Dom, just like Edric Storm and the Fiery Followers.
Thanks!

Thanks for the report. Couple issues here:

Rules-wise, there's no way to play Nightmares before dominance is calculated. Nightmares is an Action ability, not a reaction, so it must be played during an action window. Per the Rules Reference, the action window in the dominance phase comes after dominance is already calculated and rewarded, at which point Nightmares wouldn't help you win. Similarly, you could play it in the final action window of the challenges phase, but since the duration of Nightmares is until the end of the phase, once the dominance phase starts the Iron Throne will get its ability back.
See the dominance phase timing sequence: https://thronesdb.com/rulesreference#Timing_Sequence_Chart

As a matter of site design, Action abilities do not appear in prompts, but should be triggered directly during an action window prompt. By default the site won't stop for the dominance phase action window. You can turn on prompts for this and other action windows by going to Profile and checking the action windows you want it to stop for by default, as well as modifying it in individual games by clicking the green arrow on top of the prompt area (where it lists the current phase).

I stand corrected. Thanks for the detailed answer.


[nanobench] Bump to 4.3.10

Bump to 4.3.10
Remove dependencies fmt, not needed at all.
Modernization

QA
Why provide a CMakeLists.txt instead of using the project's own.
The project's own CMakeLists.txt is not well performed.
Rewrite it from scratch is better than patch it since it's a header-only library.
It also makes maintaining the port simpler.
And it follows the official's export names.

I had undefined symbols error after I upgraded to this PR. For people having the same issue, in order to fix it you need to define the ANKERL_NANOBENCH_IMPLEMENT macro before including nanobench.h.
Also, I disagree with the changes made in this PR. The nanobench header is split in two parts : the declaration and the implementation. The later is disabled by default, and must be enabled with the ANKERL_NANOBENCH_IMPLEMENT macro if one want to use the library as single header.
I can also be built as a library (with the ANKERL_NANOBENCH_IMPLEMENT enabled), and the nanobench header can then be included without the macro to bring only the declaration part. This is the default behavior, and this is better in my opinion, because you don't need to define the macro every time you want to include the header, and more importantly because it improves the compilation speed.

I had undefined symbols error after I upgraded to this PR. For people having the same issue, in order to fix it you need to define the ANKERL_NANOBENCH_IMPLEMENT macro before including nanobench.h.
Also, I disagree with the changes made in this PR. The nanobench header is split in two parts : the declaration and the implementation. The later is disabled by default, and must be enabled with the ANKERL_NANOBENCH_IMPLEMENT macro if one want to use the library as single header.
I can also be built as a library (with the ANKERL_NANOBENCH_IMPLEMENT enabled), and the nanobench header can then be included without the macro to bring only the declaration part. This is the default behavior, and this is better in my opinion, because you don't need to define the macro every time you want to include the header, and more importantly because it improves the compilation speed.

Hi, @RT222 , thanks for you feedback, I'll submit a PR to revert to the default behavior.

Thanks for this and for the update to the latest version. :)

Thanks for this and for the update to the latest version. :)

How about this?
find_package(nanobench CONFIG REQUIRED)

# will link to nanobench library
target_link_libraries(main PRIVATE nanobench::nanobench)

# this require "#define ANKERL_NANOBENCH_IMPLEMENT" before #include <nanobench.h>
target_link_libraries(main PRIVATE unofficial::nanobench::nanobench_headeronly)

If I got it right, you would still have to build and provide the library file to allow the user to choose? If this is the case, I fail to see the benefit of using the header only version. Why do you need to build this library as header only? Are you only trying to simplify the port?

If I got it right, you would still have to build and provide the library file to allow the user to choose? If this is the case, I fail to see the benefit of using the header only version. Why do you need to build this library as header only? Are you only trying to simplify the port?

No, I will update this port, it will provide two verison. If you link to nanobench::nanobench (the default), it do not need #define ANKERL_NANOBENCH_IMPLEMENT
Otherwise if you link to unofficial::nanobench::nanobench_headeronly, it need to #define ANKERL_NANOBENCH_IMPLEMENT before including.
Two choice.


cache DriverSupport capabilities across targets

motivation: DriverSupport capabilities require shelling, which was called for every target, while it can be cached across them
changes: make DriverSupport a static util

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test


SEARCH-767 (Rework "node errors" in Electron Preload Script)

Description
constructor was removed as part of SEARCH-767 which caused the isEmpty check to fail.
SEARCH-767
Approach
How does this change address the problem?

Problem with the code: Without the constructor, the isEmpty check to fail

Fix: Adds constructor

Learning
N/A
Blog Posts
N/A
Related PRs
N/A
Unit Tests Result
Test Results — Unit-Tests.pdf
Spectron Tests Result
Test Results — Spectron.pdf
Open Questions if any and Todos

[x] Unit-Tests
[x] Documentation
[x] Automation-Tests

@keerthi16 Is the title of this PR appropriate to what you are doing in the code? :)

@VishwasShashidhar Yes, Before path was exposed in the constructor now replaced it with the version number.


can I collect only a twitter user's self-posting tweets, not including the tweets relying to other users

[] Python version is 3.6;
[] Updated Twint with pip3 install --user --upgrade -e git+https://github.com/twintproject/twint.git@origin/master#egg=twint;
[] I have searched the issues and there are no duplicates of this issue/question/request.

Command Ran
import twint
c=twint.Config()
c.Username='wimdu'
c.Custom["tweet"]=['id','username','created_at','date','time','timezone','place','tweet','mentions','urls','replies_count','retweets_count','likes_count']
c.Output='wimdu.csv'
c.Store_csv=True
twint.run.Search(c)
Description of Issue
I have collected all the tweets of a twitter user, but I only want to analyze the tweets of its self-posting, and the tweets replying to other users shouldn't be included. So is it OK? what should I do?
Environment Details

Using Windows, Running this in Anaconda, Jupyter Notebook

@xiaowei-xw The configuration wiki page shows you most of the options.  The Config class has all of the options available, but does not explain how to use them.  You should check out Retweets, Filter_retweets, and Replies options.

You might want to search for tweets sent by your target to itself so that you get its threads, and search for tweets sent by your target and then (once you got them) filter by the condition id == conversation_id

@xiaowei-xw The configuration wiki page shows you most of the options. The Config class has all of the options available, but does not explain how to use them. You should check out Retweets, Filter_retweets, and Replies options.

thanks a lot. but I haven't yet found the finest path.

You might want to search for tweets sent by your target to itself so that you get its threads, and search for tweets sent by your target and then (once you got them) filter by the condition id == conversation_id

thanks a lot. I have downloaded all the tweets (Username='wimdu'), and saved as in csv. but I don't understand the condition id == conversation_id, the column id is as the follows. can you  say more in detail and specific?

You are not seeing all the columns because you specified specific fields that you want to save
Here is your current code
import twint
c=twint.Config()
c.Username='wimdu'
c.Custom["tweet"]=['id','username','created_at','date','time','timezone','place','tweet','mentions','urls','replies_count','retweets_count','likes_count'] #### here is the "problem", just remove this row
c.Output='wimdu.csv'
c.Store_csv=True

twint.run.Search(c)

You are not seeing all the columns because you specified specific fields that you want to save
Here is your current code
import twint
c=twint.Config()
c.Username='wimdu'
c.Custom["tweet"]=['id','username','created_at','date','time','timezone','place','tweet','mentions','urls','replies_count','retweets_count','likes_count'] #### here is the "problem", just remove this row
c.Output='wimdu.csv'
c.Store_csv=True

twint.run.Search(c)

Thank you very much, I have recollected the tweets according to your instructions, and sure enough, I find that there is conversation_id, when id==conversation_id, it was indeed the tweets posted by the user itself, rather than replying to other users.

Great, seems to be solved then :)


Using Environment Variables 404

Expected Behavior
In Cloudflare Workers > {Worker Name} > Settings > Variables, the Environment Variables has a Using Environment Variables link that returns a 404.
Actual Behavior
I assume it should link to https://developers.cloudflare.com/workers/platform/environment-variables/
Section that requires update
Provide a link to the page that needs an update and be specific about which section requires the update.

Additional information
Any other details or screenshots you think are relevant.

@Ekwuno, I believe this is the same feedback we heard internally regarding these links, but correct me if I'm wrong.

Sorry about the confusion. We are tracking 404 pages and fixing them. The link should work as expected now.


could not find token

-t TOKEN, --token TOKEN                         Your Factorio updater token, also from player-                         data.json.
In my player-data.json file there is no token. Is it needed to get updates for a headless server?
I've purchased the game via Steam if this make any difference.
(in fact I have only read the Readme.md, not tested because of fear I could loose my access to the game) :grimacing:

Sorry, in #1 is already the information that for the headless server the token no longer needed.


How to calculate in monthly scale？

I have a monthly data, but I don't konw hw to use this code. Thanks

Please look at the example notebooks in the doc folder. That should help you out.


Not working removeOutsideVisibleBounds

I have markers with labels like:
http://code.metager.de/source/xref/osm/osrm/web/WebContent/base/leaflet/L.LabelMarker.js
http://code.metager.de/source/xref/osm/osrm/web/WebContent/base/leaflet/L.LabelMarkerIcon.js
and
       var via_points = new L.MarkerClusterGroup({
             maxClusterRadius: 30,
             disableClusteringAtZoom: true,
             removeOutsideVisibleBounds: false
       });

      var icon_via_points = new L.LabelMarkerIcon({
            iconUrl: '/needleleftyellow.png',
            iconAnchor: [27, 44]
      });

and add markers like:
          for (var g=1; g<loc_arr.length-1; g++) { //>
            var marker=new L.LabelMarker([loc_arr[g][0], loc_arr[g][1]],{icon: icon_via_points, draggable: true});
            marker.on({
               mousedown: mousedown_via_points,
               drag: drag_via_points,
               dragend: dragend_via_points,
               mouseover: mouseover_via_points,
               mouseout: mouseout_via_points
            });
            via_points.addLayer(marker).addTo(map);
            marker.setLabel(g);
          };

and after zoom map outside markers and zoom map inside markers(markers redraw!!!) then my labels(in markers that not see after zoom) not show.
Working if set like:
        _getExpandedVisibleBounds: function () {
               if (!this.options.removeOutsideVisibleBounds) {
                       return this./*_map.*/getBounds();
               }

but after add new markers - they after zoom map not show or show...
leaflet v0.7.3

I was also having an issue with disabling removeOutsideVisibleBounds and having markers/clusters near the edges of the map disappear. This is especially pronounced when using an alternate map projection with Leaflet because the rectangular bounding box returned by map.getBounds() assumes a rectangle in Mercator projection. The result is markers in the current view that are close to certain edges of the window will be hidden.
I tested a fork with the following commit reverted: ba0c2146cac507a7592a7ddc827e18b662514bda. It works the way I would expect, where the bounding box for all the markers/clusters is used instead of the bounding box for the map's current view when removeOutsideVisibleBounds is false.
Is there a source on why that commit was made? Was there an issue it was fixing that I have inadvertently broke in my fork?

Not sure, if we have no markers then this.getBounds would probably be invalid.


[WIP] Mobile performance improvments

Changes from PR #230.

Some noisy commits here but in essence these changes:

Trigger all network data-fetch as early as possible
Move bunch of map initialization logic out of controller and into Service; this helps by putting it all in one place and avoid using events for coordination (see 3.).
Remove some of the indirection between Angular services/controllers ($scope.$broadcast events, etc).
Only render collapsible filter lists when they're opened. This is hugely expensive to do on initial page load and most of the time majority of those lists are never made visible.
Uses Leaflet MarkerCluster's addLayers() method to add markers asynchronously in-bulk instead of adding them individually.
Adds an animated loading spinner. Spinner uses CSS keyframe animations which are rendered off-thread, this means it shouldn't freeze/glitch when main thread is busy doing stuff.
Expensive MarkerCluster operations are only performed when the map is visible. This is an improvement on mobile devices with narrow (< 768px) screens as the map isn't visible when performing filtering actions.

There's a bunch of syntax and other organization changes here, sorry for the noise, it helped me wrap my head around the code and execution flow.

This PR breaks PeaceGeeksSociety/servicesadvisor-3.0#86: when we change language, the map does not maintain its position. Fixing that seems problematic, so I'll leave it to folks more attached to this project to decide whether it's a blocker…


Cannot deploy to private repository

I cannot deploy my projects to a private repository. When I try, it reports:
Could not transfer metadata banks:banks:0.1.1-SNAPSHOT/maven-metadata.xml from/to private (s3p://my-private-bucket/releases/): Access Denied
Failed to retrieve remote metadata banks:banks:0.1.1-SNAPSHOT/maven-metadata.xml: Could not transfer metadata banks:banks:0.1.1-SNAPSHOT/maven-metadata.xml from/to private (s3p://my-private-bucket/releases/): Access Denied

If I run with DEBUG, I get the following interesting stacktrace snippet:
Caused by: AmazonS3Exception: Status Code: 403, AWS Service: Amazon S3, AWS Request ID: 3540C63CD5572DE0, AWS Error Code: AccessDenied, AWS Error Message: Access Denied, S3 Extended Request ID: PfWFRjrE3ddszMbOgz+xVI5Ey3kSW2/LPzceFrHJLGqp/W8bfUEiUKTWVap/pOOESWA2UPT3dOQ=
       	at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:644)
       	at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:338)
       	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:190)
       	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2985)
       	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2956)
       	at com.amazonaws.services.s3.AmazonS3Client.getBucketLocation(AmazonS3Client.java:548)
       	at com.amazonaws.services.s3.AmazonS3Client.getBucketLocation(AmazonS3Client.java:556)
       	at org.springframework.build.aws.maven.PrivateS3Wagon.connectToRepository(PrivateS3Wagon.java:99)

I have verified that the account in question has the correct s3 permissions on the relevant bucket.

It looks quite likely that this is an IAM permissions problem. Are you able to temporarily give that IAM account admin or full S3 permissions, to check whether the permissions are setup ok? Also, can you post your (redacted) IAM policy here?

The account does have full S3 permissions, both wildcard and enumerated. I suspect that the correct values simply are not being threaded through for some reason. Is there a super-verbose mode by any chance that could help in debugging?

Perhaps something like this? http://stackoverflow.com/questions/24310889/how-to-redirect-aws-sdk-logging-output
Can you share what your :repositories config is?

Sure:
                              :username :env/aws_access_key_id
                              :password :env/aws_secret_access_key}]]```

When I try to use it:

~/src/banks[s3-wagon]$ lein deploy snapshot
WARNING: please set :license in project.clj.
Created /Users/dball/src/banks/target/banks-0.1.1-SNAPSHOT.jar
Wrote /Users/dball/src/banks/pom.xml
Could not transfer metadata banks:banks:0.1.1-SNAPSHOT/maven-metadata.xml from/to snapshot (s3p://maven.sparkfund.co/snapshots/): Access Denied
Failed to retrieve remote metadata banks:banks:0.1.1-SNAPSHOT/maven-metadata.xml: Could not transfer metadata banks:banks:0.1.1-SNAPSHOT/maven-metadata.xml from/to snapshot (s3p://maven.sparkfund.co/snapshots/): Access Denied

But the env var credentials really are good:

~/src/banks[s3-wagon]$ aws s3 ls s3://maven.sparkfund.co/snapshots/
PRE banks/
2016-08-15 22:39:03          0

FWIW the mechanism by which the credentials are given seems to have no effect: env vars, string literals, stdin, I always get the same 403 forbidden trying to get-bucket-location, though the operation succeeds using the aws cli with the same credentials.
Very much looks like a bug threading the values downstream to the AmazonHttpClient, but... this seems like basic, bog-standard functionality; it'd be hard to believe I'm the first lucky user to have experienced this, so I must be doing something wrong.

PEBCAK: :password and :passphrase are not the same thing. Correcting the keyword fixes this problem.
I do still have a problem using s3-wagon-private with aws-vault, which generates temporary credentials using STS and providing them as env vars. It fails similarly, but somewhat differently:
Caused by: AmazonS3Exception: Status Code: 403, AWS Service: Amazon S3, AWS Request ID: AFA61976C51FBE57, AWS Error Code: InvalidAccessKeyId, AWS Error Message: The AWS Access Key Id you provided does not exist in our records., S3 Extended Request ID: AFDdSSeO24jBPqmpzxhWAxb54/n9AMpeEXM6WvpXAM7Pnx74whTcwf+OGIRfY4v2a6w9V5qd0UQ=
The correct :username and :passphrase are being used. Again, the AWS cli succeeds.

The problem seems to be far downstream in aws-java-sdk, actually. Versions prior to 1.8.0 do not seem to work with AWS STS credentials, while subsequent versions do. I opened an issue with aws-maven: https://github.com/spring-projects/aws-maven/issues/49

I've bumped the aws-java-sdk version to 1.11.28 and released https://clojars.org/s3-wagon-private/versions/1.3.0-SNAPSHOT. Can you try again with this version and let me know how you get on? Thanks!

Alas, it does not work due to a jackon version mismatch, apparently:
       	at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.findDefaultDeserializer(BasicDeserializerFactory.java:1529)
       	at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.findStdDeserializer(BeanDeserializerFactory.java:167)
       	at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:132)
       	at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:403)
       	at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:352)
       	at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264)
       	at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
       	at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
       	at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:461)
       	at com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:3838)
       	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3732)
       	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2679)
       	at com.amazonaws.internal.config.InternalConfig.loadfrom(InternalConfig.java:236)
       	at com.amazonaws.internal.config.InternalConfig.load(InternalConfig.java:249)
       	at com.amazonaws.internal.config.InternalConfig$Factory.<clinit>(InternalConfig.java:304)
       	at com.amazonaws.util.VersionInfoUtils.userAgent(VersionInfoUtils.java:141)
       	at com.amazonaws.util.VersionInfoUtils.initializeUserAgent(VersionInfoUtils.java:136)
       	at com.amazonaws.util.VersionInfoUtils.getUserAgent(VersionInfoUtils.java:97)
       	at com.amazonaws.ClientConfiguration.<clinit>(ClientConfiguration.java:60)
       	at org.springframework.build.aws.maven.S3Utils.getClientConfiguration(S3Utils.java:45)
       	at org.springframework.build.aws.maven.PrivateS3Wagon.connectToRepository(PrivateS3Wagon.java:92)
       	at org.springframework.build.aws.maven.AbstractWagon.connect(AbstractWagon.java:143)
       	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.connectWagon(WagonRepositoryConnector.java:345)
       	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.pollWagon(WagonRepositoryConnector.java:385)
       	at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:571)
       	at org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:60)
       	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)```

Sorry, I didn't hit this in my testing. Will try and get an aws-vault setup so I can do some more testing myself. The problem was that I didn't exclude the aws-java-sdk from the spring aws-maven project (which seems basically abandoned).
I can fix the deps conflict, but it's probably better long term to move to this fork which is maintained https://github.com/Yleisradio/aws-maven

Can you share what your :repositories config looks like when using aws-vault?

Sure:
                              :username :env/aws_access_key_id
                              :passphrase :env/aws_secret_access_key}]])```

Yeah, I looked at that aws-maven fork as well. One thing that gave me pause was that it seems to have its own leiningen repo protocol registry stuff going on:
https://github.com/Yleisradio/aws-maven/blob/master/src/main/resources/leiningen/wagons.clj
which may or may not collide with this plugin's? I confess I'm only guessing as to how this stuff works under the hood, but if two projects are contending for the same entry in a global registry, it's not going to work out well.

Yeah I noticed that too which was interesting ...
It shouldn't conflict as we're registering for s3p, but worth keeping an eye out for.

Here's my findings:
To use STS tokens, you need another environment variable: AWS_SESSION_TOKEN the access key id and secret access key alone aren't enough to authenticate. That's why older versions of the AWS deps don't work. More details
Can you explain how you are triggering aws-vault to generate the STS tokens? I'm guessing it's something like aws-vault exec default -- lein deps. Is that correct?
I'm thinking that the way that credentials are provided needs to be rethought a little bit to support modern AWS usage, however I'm not really sure how aws-vault should integrate with this, as it's a separate tool that needs to be invoked so that a child process can access the environment variables. One option would be to exfiltrate the AWS env vars to the parent process, but I'm not really sure.

I've spent a chunk of time on this, and wasn't able to get the dependencies to play nice. @dball I think the easiest way forward if you're still interested in this is for you to provide a PR which works for you, and I'm happy to merge it. Does that work?

Absolutely, that's more than fair. Thanks for investigating!

@dball have you tried with the new alpha releases? Do they solve your problem?

Ah, no, was not aware. I wrote an aws cli maven to sidestep the problem, but will try out the alphas at my earliest convenience.


Added b prefix for string used in BaseHTTPRequestHandler wfile.write

In Python 3 the BaseHTTPRequestHandler need bytes streams to write to the output, with simple strings the following exception occurs:
----------------------------------------
Exception happened during processing of request from ('<IP_ADDRESS>', 43494)
Traceback (most recent call last):
  File "/usr/lib/python3.4/socketserver.py", line 305, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python3.4/socketserver.py", line 331, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python3.4/socketserver.py", line 344, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python3.4/socketserver.py", line 665, in __init__
    self.handle()
  File "/usr/lib/python3.4/http/server.py", line 398, in handle
    self.handle_one_request()
  File "/usr/lib/python3.4/http/server.py", line 386, in handle_one_request
    method()
  File "/usr/local/lib/python3.4/dist-packages/oauth2client/tools.py", line 101, in do_GET
    self.wfile.write("<html><head><title>Authentication Status</title></head>")
  File "/usr/lib/python3.4/socket.py", line 391, in write
    return self._sock.send(b)
TypeError: 'str' does not support the buffer interface
----------------------------------------

Using b"" prefix for these strings is safe because the response is plain ASCII and it will also be compatible with Python 2.6 and 2.7

Pleased to meet you and thank you for your change proposal! Two things:
(1) Have you signed the CLA (http://google.github.io/oauth2client/contributing.html#contributor-license-agreements)?
(2) Please add a test that fails without this change and passes with this change.

(1) yes, I did
(2) I just realized that there is no unit test for the tools module. Should I add one for it with just a test for the ClientRedirectHandler class?

@cskertesz yeah, making a new file would be awesome. thanks!

I have added also a test for the ClientRedirectHandler class, which runs a redirect server, send a query with an access code and check if there is a valid response and if the stored access code matches the queried one.
Ran it with tox on python 2.7 and 3.4 (right now only have these), the test passes both with my change from previous commit, and fails on python 3.4 without it

Thank you for the contribution!


Edit mode: deleting / selecting messages in bulk

Edit mode: deleting / selecting messages in bulk

@jessesquires are you planning to implement this feature?
I am currently trying to implement it, do you have any ideas on what would be the most efficient way to do so?
Thank you so much for the library!

Any update on this feature?  Is there any easy way to add swipe to delete to the current library?

Any update on Edit Mode for multiple selection and deletion yet?

This will be an awesome feature to have. I know we would like to keep the library minimal but bulk selection (including media items) should be a part of it.

Here is my attempt to implement it.

Is there an update of this issue?

@ignacio-chiazzo I've moved away from JSQMessagesViewController to in-house built component and have no plans to put more effort into it.

@skeeet What a pity, could you share a solution to this, or share your fork of this repo to the public?

@ignacio-chiazzo pull request above (#1593) contains all info you need.

Hello everyone!
I'm sorry to inform the community that I'm officially deprecating this project. 😢 Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
Thus, I'm closing all issues and pull requests and making the necessary updates to formally deprecate the library. I'm sorry if this is unexpected or disappointing. Please know that this was an extremely difficult decision to make. I'd like to thank everyone here for contributing and making this project so great. It was a fun 4 years. 😊
Thanks for understanding,
— jsq


How to enable CUDA to enhance performance

How do I enable CUDA GPU acceleration to help improve performance with from this repository?

You will have  a hard time to use cpu in the first place. You usually use gpu by default everywhere.


[FIX] Allow non-sequential atlas numbering

Pull Request Test Coverage Report for Build 156

20 of 21 (95.24%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 98.257%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

abagen/allen.py
4
5
80.0%

Totals

Change from base Build 150:
0.05%

Covered Lines:
620

Relevant Lines:
631

💛  - Coveralls


File creation dates are available, but not used

Within the catalog, date/time stamps are accessible within the individual file entries. These date time stamps are not being used, and so all restored files have the current date/time associated with them.
I think this would be a nice feature because part of the reason why we're likely restoring files is to get a taste of nostalgia. It's cool to know, "oh yeah, I created this file on Christmas Eve while on break from school!"

I added support for timestamps, see above for associated commit.
Of course there must be a matching dirfib entry in the catalog for the file. If there's no match, or if you process just file markers by ignoring the catalog, then they also won't be applied.
Closing this issue.


GPC-177: Add initial autoapprove checks

Is there a reason one is called autopass and the others are called autoapproved?