Unable to build on Xcode 14.0.0 beta

Am finding a way to fix this issue, will share if there is any solution!

You've closed the issue - did you identify a fix for this?

Weird, I'm still blocked by this issue with Xcode 14.1...

@leondeng can you clone the Repo and try to run it again?
I'm able to successfully run/integrate Atlantis on Xcode 14.1

@leondeng with the latest Atlantis 1.20.0, we completely remove the NSURLConnection, so these errors (the first screenshot) is gone.

Hi @NghiaTranUIT, the errors are from atlantis-proxyman 1.12.0
Do I still need Atlantis as dependency package after adding pod 'atlantis-proxyman' in the Podfile?

still the same error after adding Atlantis 1.20.0 to Pods/atlantis-proxyman...

@leondeng can you share with me a screenshot?
The issue was about "NSURLConnection", which is completely removed from Atlantis 1.20.0.

Thanks for letting me know 👍  Only WS traffic, which is called from URLSessionWebSocketTask is supported.


[HOLD for payment 2023-06-28] [Secure Logins] Replace login uses with accountIDs throughout App (when accessing Onyx)

Part of "Secure Logins in EChat" project
As part of the "Secure Logins in EChat" project, we want it to be impossible to scrape contact information from NewDot. One of the biggest refactors we will do for this project is: Re-keying the ONYXKEYS.PERSONAL_DETAILS data to have accountIDs as keys (currently the keys are logins - emails or phone numbers). This will take a large effort on the server side as well as the front-end, so we need some help getting everything together on the front-end.
In this issue, we will focus on two parts:
List & categorize all changes needed to remove contact info from Onyx

Find and note everywhere we currently access data from the PERSONAL_DETAILS onyx key.
For each reference, note what kind of change we need to make. Examples:

Change access from [login] to [accountID]
Update helper method OptionsListUtils.getNewChatOptions
Update helper method ReportUtils.getIcons
Change report.managerEmail to report.managerAccountID (this requires backend changes)

Propose solutions to as many of the above as possible, in a clean and concise way

Many solutions will be repeated, so we want to categorize the changes so it's easy to read what all needs to be updated.

List & categorize all changes needed to remove contact information from API calls

Find and note every API command that sends / receives contact information
Suggest API commands where we can update contact information parameters to accountIDs. Examples:

For IOU splits, we send email: currentUserEmail for each split participant, but we could use accountID: currentUserAccountID instead
For 'CreateTask', check if the assignee param sends an email / login. If so, we can update that to be something like assigneeAccountID

Again, note if we need to update any helper methods along the way

Hi I'm Bartek from Callstack - expert contributor group - I would like to work on this issue.

Amazing, thanks! Assigned 💪  Please let us know if you have any questions about what we're looking for here!

Daily update: I've managed to cover around 60-70% of the PERSONAL_DETAILS data usages. I should have everything done tomorrow, and I'll post the final report here then.

Sounds good @burczu , that would be great to have this tomorrow 🙏

@burczu any updates here?

@Beamanator please check below what I've got so far (I had no time to analyze helper methods yet, but I can do it on Monday). Please also let me know if you need me to fix this list in any way.
List & categorize all changes needed to remove contact info from Onyx

/src/components/ArchivedReportFooter.js

Change access from [login/email] to [accountId]

/src/components/ReportActionItem/IOUPreview.js

Update helper method OptionsListUtils.getAvatarsForLogins

/src/Components/ReportWelcomeText.js

Update helper method OptionsListUtils.getPersonalDetailsForLogins

/src/components/withCurrentUserPersonalDetails.js

Change access from [currentUserEmail] to [accountId]

/src/libs/DateUtils.js

In Onyx.connect callback - change access from [currentUserEmail] to [accountId]

/src/libs/Navigation/AppNavigator/AuthScreens.js

In Onyx.connect callback - change access from [currentUserEmail] to [accountId]

/src/libs/PersonalDetailsUtils.js

In Onyx.connect callback - no changes needed

/src/libs/ReportUtils.js

In Onyx.connect callback - change access from [currentUserEmail to [accountId]

/src/libs/ReportUtils.js

Update helper method getPersonalDetailsForLogin by changing its name to getPersonalDetailsForAccountId and its input parameter login by accountId

/src/libs/SidebarUtils.js

In Onyx.connect callback - no changes needed

/src/libs/SidebarUtils.js

In the getOptionData method  - update helper method call OptionsListUtils.getPersonalDetailsForLogin (the name of the method will change)

/src/libs/SidebarUtils.js

In the getOptionData method - change access from [report.lastActorEmail] to [report.accountId (backend changes may be required)

/src/libs/actions/App.js

In the Onyx.connect callback - change access from [currentUserEmail] to [accountId]

/src/libs/actions/PersonalDetails.js

In the Onyx.connect callback - no changes needed

/src/libs/actions/PersonalDetails.js

In the getDisplayName method - change its input parameter login by accountId

/src/libs/actions/PersonalDetails.js

In the getDisplayName method - change access from [login] to [accountId]

/src/libs/actions/User.js

In the Onyx.connect callback - change access from [currentEmail] to [accountId]

/src/pages/DetailsPage.js

Change access from [login] to [accountId]

/src/pages/NewChatPage.js

Update helper method OptionsListUtils.getNewChatOptions (called few times in few places in this file)

/src/pages/ReportDetailsPage.js

Update helper method OptionsListUtils.getPersonalDetailsForLogis

/src/pages/ReportDetailsPage.js

Update helper method OptionsListUtils.getIcons

/src/pages/ReportParticipantsPage.js

Change access from login to accountId

/src/pages/SearchPage.js

Update helper method OptionsListUtils.getSearchOptions

/src/components/MoneyRequestHeader.js

Change report.managetEmail to report.managerAccountId (backend change may be needed)

/src/components/AvatarWithDisplayName.js

Change helper method ReportUtils.getIcons

/src/components/AvatarWithDispayName.js

Change helper method OptionsListUtils.getPersonalDetailsForLogins

/src/pages/home/HeaderView.js

Change helper method OptionsListUtils.getPersonalDetailsForLogins

/src/pages/home/HeaderView.js

Change helper method ReportUtils.getIcons

/src/components/TaskHeader.js

Change helper method ReportUtils.getAvatar

/src/pages/home/report/ReportActionCompose.js

Change helper method OptionsListUtils.getNewChatOptions

/src/pages/home/report/ReportActionCompose.js

Change report.participants to contain accountId's instead of logins (backend changes needed)

/src/pages/home/report/ReportActionCompose.js

Change helper method ReportUtils.canShowReportRecipientLocalTime

/scr/pages/home/report/ReportActionItemCreated.js

Change helper method ReportUtils.getIcons

/src/pages/home/sidebar/SidebarLinks.js

In personalDetailsSelector function - change access from [login] to [accountId]

/src/pages/iou/MoneyRequestModal.js

Change helper method OptionsListUtils.getParticipantsOptions

/src/pages/iou/steps/MoneyRequestParticipantsPage/MoneyRequestParticipantsSelector.js

Change helper method OptionsListUtils.getNewChatOptions

/src/pages/iou/steps/MoneyRequestParticipantsPage/MoneyRequestParticipantsSelector.js

Change helper method OptionsListUtils.isPersonalDetailsReady

/src/pages/iou/steps/MoneyRequestParticipantsPage/MoneyRequestParticipantsSplitSelector.js

Change helper method OptionsListUtils.getNewChatOptons (used few times)

/src/pages/iou/steps/MoneyRequestParticipantsPage/MoneyRequestParticipantsSplitSelector.js

Change helper method OptionsListUtils.isPersonalDetailsReady

/src/pages/tasks/NewTaskPage.js

Change task.assignee to be an accountId not login (backend changes may be needed)

/src/pages/tasks/NewTaskPage.js

Change helper method TaskUtils.getShareDestination

/src/pages/tasks/TaskAssigneeSelectorModal.js

Change helper method OptionsListUtils.getNewChatOptions (used few times)

/src/pages/tasks/TaskShareDestinationSelectorModal.js

Change helper method OptionsListUtils.getShareDestinationOptions (used few times)

/src/pages/workspace/WorkspaceInviteMessagePage.js

In getAvatarTooltips function - change access from login to accountId (the Personal Details keys are picked by the values taken from invitedMembersDraft list that contains logins - it should contains accountId's)

/src/pages/workspace/WorkspaceInvitePage.js

Change helper method OptionsListUtils.getMemberInviteOptions (used few times)

/src/pages/workspace/WorkspaceInvitePage.js

Change helper method OptionsListUtils.isPersonalDetailsReady

/src/pages/workspace/WorkspaceMembersPage.js

Change access from email to accountId

List & categorize all changes needed to remove contact information from API calls

/src/libs/actions/App.js

For OpenProfile command, we send the timezone value in the object assigned to the [currentUserEmail] key - the key should be changed to [accountId] (applies to optimisticData and failureData)

/src/libs/actions/PersonalDetails.js

For UpdatePronouns command, we send the pronouns value in the object assigned to the [currentUserEmail] key - the key should be changed to [accountId]

/src/libs/actions/PersonalDetails.js

For UpdateDisplayName command, we send the object assigned to the [currentUserEmail] key - the key should be changed to [accountId]

/src/libs/actions/PersonalDetails.js

For UpdateDisplayName command, we use the getDisplayName method and passing the currentUserEmail value as a parameter - we should pass the accountId instead

/src/libs/actions/PersonalDetails.js

For UpdateAutomaticTimezone command, we send the timezone value in the object assigned to the [currentUserEmail key - the key should be changed to [accountId]

/src/libs/actions/PersonalDetails.js

For UpdateSelectedTimezone command, we send the timezone value in the object assigned to the [currentUserEmail] key - the key should be changed to [accountId]

/src/libs/actions/PersonalDetails.js

For UpdateUserAvatar command, we send and object assigned to the [currentUserEmail] key - the key should be changed to [accountId] (applies to optimisticData, successData and failureData)

/src/libs/actions/PersonalDetails.js

For UpdateUserAvatar command, while creating failureData, we are accessing the personal details object using [currentUserEmail] - it could be replaced by [accountId]

/src/libs/actions/PersonalDetails.js

For DeleteUserAvatar command, we send an avatar value in the object assigned to the [currentUserEmail] key - the key should be changed to [accountID] (applies to optimisticData and failureData)

/src/libs/actions/PersonalDetails.js

For DeleteUserAvatar command, while creating failureData, we are accessing personal details object using [currentUserEmail] - it could be replaced by [accountId]

/src/libs/actions/PersonalDetails.js

In the clearAvatarErrors method, we are creating an object using [currentUserEmail] as a key - the key should be changed to [accountId]

/src/libs/actions/Report.js

In the addActions method, we create an object to be written in Onyx using [currentUserEmail] key - the should be changed to [accountId]

/src/libs/actions/User.js

For SetContactMethodAsDefault command, we are using logins as old and new contact methods, that are then used as keys - I think this functionality might be redesigned if we don’t want to use logins as keys in the PERSONAL_DETAILS data. Maybe passing accoundId as an additional parameter, and the use it as a key, would be enough here.

Hey @Beamanator! It does make sense! I'll continue working on it today.

Daily update: I've made some progress yesterday, but I need more time, so I'll continue working on it. Hopefully I'll be able to post some updates to my report soon (today/tomorrow).

@burczu thanks so much for the amazing updates to List & categorize all changes needed to remove contact info from Onyx! I'm going to update our doc with those details you've provided so far 👍 👍

Hey @Beamanator! I've just updated my last comment by changing the List & categorize all changes needed to remove contact information from API calls part.
It now contains what we had before, so the details about what we need to change in the Onyx data, as well as the information about the API calls parameters that may contain logins/emails.
Now, I'll try to address this part form your comment:

Where is that contact info updated in NewDot? (it definitely could also be updated on the server & sent from the server, but we don't document that in NewDot anywhere 😅 )

But, because tomorrow we had internal workshop at Callstack, I'll probably be able to finish it on Monday...

Hi @Beamanator, thanks for the update. I had to switch to another issue that is important for @puneetlath for a while, but will get back to this one probably today.

Ok @burczu we are ready to start updating components. If you use NewDot with the staging server, you should see the new personalDetailsList object in Onyx, which uses accountIDs instead of email addresses as keys.
Now, we need to migrate every component that is currently using ONYXKEYS.PERSONAL_DETAILS to use the new ONYXKEYS.PERSONAL_DETAILS_LIST.
I think we would ideally break this up into many small PRs so that it is easy to review/test/catch regressions. I would imagine that we could have multiple devs work on this simultaneously. What do you think?

FYI we're also planning to migrate ONYXKEYS.COLLECTION_POLICY_MEMBERS_LIST key to ONYXKEYS.COLLECTION_POLICY_MEMBERS, which will now also be keyed by accountID. This is necessary so that we can access the members' personal details from the new ONYXKEYS.PERSONAL_DETAILS_LIST data which will be keyed by accountID.
Here's my investigation of the changes needed for this migration so far:

WorkspaceMembersPage

Used to map emails / accountIDs to personal details

AvatarWithIndicator, InitialSettingsPage, WorkspaceListPage, WorkspaceInitialPage, PolicyUtils

Basically only use this key for checking if there’s errors associated with any member

Policy.js

removeMember - API command DeleteMembersFromWorkspace
addMembersToWorkspace - API command AddMembersToWorkspace
createWorkspace - API command CreateWorkspace
Other places just clear errors associated with adding / removing members

WorkspaceInvitePage

Will need to update CONST with an array of expensify email address accountIDs (see CONST.EXPENSIFY_EMAILS)

@Beamanator I'm sorry - I was so focused today on PR's that I had no time to validate your findings yet... I'll do it as the first thing in the Monday's morning!

@Beamanator I've just check your comment and what you've found seem to be complete, I didn't find anything else. But we will see while working on refactor - some additional things to change may come out then.

@Beamanator @puneetlath I have a question regarding the getAvatar change. Currently it uses the login to generate a hash that's used to choose the default image that will be allocated to the account. If we change this function to use accountID, those hashes will change. Do we move forward with this change, taking into consideration that the default avatars of all accounts might change?

Thanks @burczu 👍
@BeeMargarida - about the getAvatar change, I think it's totally fine if the default avatars of all accounts change - since users haven't specifically set their avatar, they shouldn't expect the default to stay the same always :D

I'm jumping in to help review PRs and maybe implement some stuff as well.

FYI we should do the personal details migration soon, because we're currently optimistically updating personalDetails but showing personalDetailsList since we just migrated withCurrentUserPersonalDetails 😁

I created this issue Replace logins with accountIDs in policy members list based on Alex's comment. I'll start working on the implementation!

Thanks @neil-marcellini ! 💪

Hey @puneetlath @Beamanator! Looks like our changes are reverted already: https://github.com/Expensify/App/pull/20220... Maybe we should re-think our approach to this migration because doing it by pushing some small PR's to main cases breaking changes. Shouldn't it be better to create some branch where we push our changes, test everything there and push it altogether to main eventually?

Ya I think it would probably be safest to create our own branch for these changes, I'll look into that now 👍

Just realized: we are going to need to update our openReport API command to generate a random accountID and set that in the personalDetailsList object in Onyx when starting a chat with someone that you don't already have info for in Onyx. Then we'll need to pass that accountID to the server and have the server clear it out as part of its response (along with the real personalDetails data).

So here's some investigation into what we will need to update if / when we migrate withCurrentUserPersonalDetails:

src/components/withCurrentUserPersonalDetails.js (duh)
~Any file that uses withCurrentUserPersonalDetails:~

✅  MoneyRequestConfirmationList

Used in getIOUConfirmationOptionsFromPayeePersonalDetail which just gets data from the details

✅  withLocalize

Used in DateUtils.datetimeToCalendarTime which just gets data from the details

✅  MentionUserRenderer

This component just gets data from the details

✅  ReportActionItemReactions

We pass the accountID to Report.hasAccountIDReacted
Passed to ReactionTooltipContent

We only use the accountID here

✅  ShareCodePage

Just accessing data from the details

✅  AdditionalDetailsStep

data passed to PersonalDetails.extractFirstAndLastNameFromAvailableDetails where we just get data from the details
also just access phone number details

✅  ReportActionCompose

we only access the user's login here

✅  ReportActionsList

we only access the user's login here

✅  PopoverReactionList

we only access the user's accountID here

✅  SidebarLinks

we only access the pendingfields.avatar, avatar, and login

✅  MoneyRequestModal

we only access localCurrencyCode and login

✅  InitialSettingsPage

we only access the pendingfields.avatar, avatar, displayName

✅  DisplayNamePage
✅  ProfilePage
✅  PronounsPage
✅  TimezoneInitialPage
✅  TimezoneSelectPage
✅  WorkspaceMembersPage

Files that update PERSONAL_DETAILS of the current user

(investigation in progress)

New branch is: https://github.com/Expensify/App/tree/personalDetailsList-migration
@burczu @BeeMargarida @neil-marcellini @puneetlath let's use this branch for all of our changes and once we think we're ready to test we'll get QA to test that branch 👍

Also FYI I'm working on the first PR to re-do our previous migration efforts here: https://github.com/Expensify/App/pull/20323

Sorry if this overlaps any PRs you are currently working on @burczu @BeeMargarida

Posted quick update of the plan in Slack here: https://expensify.slack.com/archives/C03UK30EA1Z/p1686092812112539?thread_ts=1685544427.020139&cid=C03UK30EA1Z

Just realized: we are going to need to update our openReport API command to generate a random accountID and set that in the personalDetailsList object in Onyx when starting a chat with someone that you don't already have info for in Onyx. Then we'll need to pass that accountID to the server and have the server clear it out as part of its response (along with the real personalDetails data).

@puneetlath @Beamanator Left a question regarding this in the Slack thread, wanted to know exactly how this is going to work, since this is necessary to complete the migration of OptionListUtils. There's logic there dependent on the login to fallback where the user info is not in personalDetails, that becomes not possible with the changes to accountID

Quick note: We'll need the "Optimistic accountIDs" for creating chats & probably money requests & tasks.
In each of these flows, we'll probably create an optimistic accountID on the front end (for Onyx), then in the backend when we create a new account, we'll send pusher updates w/ the new account ID & delete the old accountID onyx data

Also openReport seems to be sending emails but we'll want to also send accountIDs

@allroundexperts nice catch, but let's actually leave that one as-is for now. We'll update it to use the new profile page once we've updated the back-end so that the profile page allows you to start a DM even if you don't know the user's email.

Oh should have removed the blocker first before linking. Ignore ^

Bug: IOU Transaction chat reports missing either payer/requester
https://github.com/Expensify/App/assets/85645967/33988565-474e-482b-9dee-1ceab66b7421

^ Idk how this can be a deploy blocker since the solution isn't merged yet 🤷

@Beamanator just a reminder for us for next week, we'll need to figure out which C+ helped with this and make sure we get them paid out.

Ok, I believe the last thing we need to do here is pay out all the C+ that helped out with this project. I will post in C+ to figure out who that is.

@puneetlath
I was C+ for https://github.com/Expensify/App/pull/20036
Help with some testing on this.

Payment for four C+ for internal PR review:

@allroundexperts for 1 PR - $1000 (via NewDot)
@Santhosh-Sellavel for 1.5 PRs - $1500 (via NewDot)
@fedirjh for 1 PR - $1000 (via Upwork)
@0xmiroslav for 7 PRs (6 full, two half) - $7000 (via Upwork)

I considered a half PR anything for which the full reviewer checklist wasn't done. Let me know if I missed anything or made any mistakes.
@fedirjh @0xmiroslav I've sent you Upwork contract offers.
https://www.upwork.com/nx/wm/pre-hire/c/8577561/offer/25866200
https://www.upwork.com/nx/wm/pre-hire/c/8577561/offer/25866194
@allroundexperts @Santhosh-Sellavel please request via NewDot.

Sounds good. @allroundexperts @Santhosh-Sellavel let me know when you've requested payments.

Reviewed details for @allroundexperts. These details are accurate based on summary from Business Reviewer and are now approved for payment in NewDot.

Requested on ND

@JmillsExpensify assigning you for @Santhosh-Sellavel's payment as well.

Reviewed details for @Santhosh-Sellavel. These details are accurate based on summary from Business Reviewer and are now approved for payment in NewDot.

All payments made. Closing this out. Thanks again everyone for your help on this one!


Should Undo/Redo Selection be in the menus?

The Edit menu is pretty long already, but it seems like it would make sense to add these to the menu.

It's 2017 and we still don't have submenus and no one has complained about this bug.
Although I do miss talking to @njx and @pthiess and @larz0, I think this issues is closed.


Short solution needed: "Convert byte to string" (golang)

Please help us write most modern and shortest code solution for this issue:
Convert byte to string (technology: golang)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

Convert byte to string


can not use with react

when i use import { tns } from 'tiny-slider';
error tns is undefined in consol
when i use import { tns } from 'tiny-slider/src/tiny-slider'; or require ('tiny-slider/src/tiny-slider');
error
Unexpected token import
can You specify in documentation as right with react.js.
tiny-slider is the best slider but i can not use it with react. with plain html and js it the best. help me please use it without any wrapper.
Tiny-slider version:
2.9.3

This is the same issue as #262. I explained in my comment how I was able to get the import to work. Let me know if that solves your issue.

thank You. but i do not use the Jest.

My apologies, I read the issue too quickly. But the cause might still be the same. Have a look at this issue or this

thank You. i will to try it later. now the little helped me require('tiny-slider/src/tiny-slider').tns({. the slider working but bad. i changed slider to other suppler. i have the time to experiment. but in mobile app with php this slider the best. suspend this issue.

Because Node.js doesn't support for ECMAScript modules.
So, you should make sure the tiny-slider imported only the client-side.
For React: You can only import require('tiny-slider/src/tiny-slider') in useEffect or same.
With me using  useCallback for the best solution.(use import() instead of required())
const sliderElementRef = useCallback<(node: Element | null) => void>(
    async node => {
      if (node instanceof HTMLElement) {
        const {tns} = await import('tiny-slider/src/tiny-slider');

        const slider = tns({
          container: node,
          // other options
        });
      }
    },
    [],
  );

return


[5.2] Add failed() on InteractsWithQueue

Allow to failed a job when using InteractsWithQueue instead of just
deleting the job.
Signed-off-by: crynobone<EMAIL_ADDRESS>

Would you mind sending a PR to the docs for this? :heart:


Advancements rewards exp toggle

This feature can be used by RP servers who use experience as currency etc.

Closing this PR since you can modify the rewards an advancement gives by creating a datapack.


Show empty directories in solution pad

Showing empty directories in the solution pad is necessary especially when creating new projects that have an empty (and right now invisible) "wwwroot" directory.

Thanks. I have merged with this with one minor change so that the folders use the correct icon in the Solution window and do not use red text.


No IPv4 fallback and no error reporting on failed connection

If you self-host a sentry instance and have a broken IPv6 setup on the server (i.e., you have an AAAA record set up for the domain, but it points at the wrong IP), but a working IPv4 setup, sentry-python will attempt to deliver the issue via IPv6 (if the network supports it), fail, and not retry with IPv4.
If this isn't intended behavior, I would recommend implementing an IPv4 fallback. At a minimum, it would be nice if the system would report an error if the connection failed - even with debug enabled, the log does not indicate that the connection failed, and is more or less indistinguishable from a log where the reporting worked.
In my eyes, an IPv4 fallback would be desirable either way, because some places have broken IPv6 networks (they provide v6 IPs, but do not let them access the internet). This is another scenario where the robustness of reporting would be improved with a v4 fallback.
Steps to reproduce:

Set up Sentry with working A record, but AAAA record pointing at an incorrect IP
Run the following code:

import sentry_sdk

sentry_sdk.init(YOUR_DSN, debug=True)

# Produce an exception:
1/0

Just for clarity, what does "an incorrect IP" mean here? One where connecting times out?
Do you get the same issue installing and importing requests in your environment and issuing a request against that server?

I had it set up to point at an IPv6 address that accepts connections on :80 and :443 (try it yourself: 2a01:4f8:d1:3aa1::666). That is the IP of a firewall that proxies requests using HAProxy on IPv4, but not on IPv6.
I currently don't have time to try it out with requests, I'll try in a few hours if it is still relevant.

Update: Interestingly, just using requests works. I am not sure if that is due to an integrated fallback mechanism, or what is going on. If you want to play around with it, you can try making requests to the domain https://maass.xyz, which currently has the same DNS records that the sentry instance used to have.
If necessary, I can restore sentry to the failing DNS setup for a day and provide you with an account and project so you can play with it (you can find my contact details on the domain linked above if you don't want to post your eMail address publicly).

I'm able to fetch from that URL with both requests and raw urllib3. A test account would be great! My email is markus ÄT sentry.io

You should have received an invite, and I also just updated the DNS to once again use the settings that created these issues for me. I also created a project for you in my sentry to play with. If you cannot reproduce with external machines, let me know - the issues occured when machines behind the same firewall attempted to communicate with sentry, so the situation may be more complex than a simple IPv6-to-4 fallback (although removing the AAAA record has fixed the issues, so it has to be something related to that).

WFM 🤷♂ https://sentry.maass.xyz/sentry/sdk-testing/issues/7341/
idk what's going on tbh. Might try different machines in the same network.

btw urllib3 already has an ipv6 fallback for this, from what I can tell by looking through their issues.

I'll test it again this evening and will post the most detailed logs I can get my hands on.

and I am pretty sure I have no working IPv6

Wait, you have no working IPv6? In that case, it would be expected to work, as it only uses v4 then.

 [sentry] DEBUG: Setting up integrations (with default = True)
 [sentry] DEBUG: Setting up previously not enabled integration modules
 [sentry] DEBUG: Setting up previously not enabled integration threading
 [sentry] DEBUG: Setting up previously not enabled integration dedupe
 [sentry] DEBUG: Setting up previously not enabled integration stdlib
 [sentry] DEBUG: Setting up previously not enabled integration logging
 [sentry] DEBUG: Setting up previously not enabled integration argv
 [sentry] DEBUG: Setting up previously not enabled integration atexit
 [sentry] DEBUG: Setting up previously not enabled integration excepthook
 [sentry] DEBUG: Enabling integration modules
 [sentry] DEBUG: Enabling integration threading
 [sentry] DEBUG: Enabling integration dedupe
 [sentry] DEBUG: Enabling integration stdlib
 [sentry] DEBUG: Enabling integration logging
 [sentry] DEBUG: Enabling integration argv
 [sentry] DEBUG: Enabling integration atexit
 [sentry] DEBUG: Enabling integration excepthook
Traceback (most recent call last):
  File "/archiv/sentrytest.py", line 5, in <module>
 [sentry] DEBUG: Sending error event [73a9fa939f164d1f91525a7c49e15670] to sentry.maass.xyz project:10
    1/0
ZeroDivisionError: division by zero
 [sentry] DEBUG: atexit: got shutdown signal
 [sentry] DEBUG: atexit: shutting down client
 [sentry] DEBUG: Flushing HTTP transport
 [sentry] DEBUG: background worker got flush request
 [sentry] DEBUG: 0 event(s) pending on flush
Sentry is attempting to send 0 pending error messages
Waiting up to 2.0 seconds
Press Ctrl-C to quit
 [sentry] DEBUG: background worker flushed
 [sentry] DEBUG: Killing HTTP transport
 [sentry] DEBUG: background worker got kill request

This is the log I get from the code in the original issue. As you can see in sentry, no issue was created. The VM the code was running on has an IPv4 and IPv6 connection to the outside world, and both work (i.e., ping6 heise.de gets responses).
$ pip freeze
certifi==2018.11.29
pkg-resources==0.0.0
sentry-sdk==0.7.6
urllib3==1.24.1

If you know a way to make urllib3 output useful logs, let me know.

I just sent an event on a remote server with working ipv6 and ipv4 (same urllib3 version). I really think this is an issue on your end: Adblocker or similar. Please check curl -6 http://sentry.maass.xyz/ and similar things, but I don't think this issue is unique to the sentry sdk or python.

$ curl -6 -v http://sentry.maass.xyz/
*   Trying 2a01:4f8:d1:3aa1::666...
* connect to 2a01:4f8:d1:3aa1::666 port 80 failed: Keine Route zum Zielrechner
* Failed to connect to sentry.maass.xyz port 80: Keine Route zum Zielrechner
* Closing connection 0
curl: (7) Failed to connect to sentry.maass.xyz port 80: Keine Route zum Zielrechner

Hm, then it seems to be related to how our firewall handles internal connections, if it works from outside (don't have an IPv6-speaking device ready outside of that NAT). I guess this makes it less of a sentry problem than a configuration problem on our end.
However, I still think that the sentry logs in debug mode should reflect that the message could not be sent, and ideally contain the error that occured. I'd be happy to be a guinea pig to test any code that adds this functionality on my broken setup.

@malexmave I just got reminded by the weekly report that your Sentry instance sends: Is this still an issue for you?

Since I removed the v6 record again after this test, currently everything runs fine, but since I did not update anything, I would assume it would still break again if I re-added the AAAA record. As I said, I'd be happy to test any patches that make the fallback to IPv4 more robust / improve the logging of errors in this setup.

@malexmave cool. fwiw I don't have a way to repro this... I tried this on uberspace.de which supposedly has ipv6 support all the way, but didn't find issues.

Do you mind if I just close this? It seems not very actionable to me in its current state. A missing error during debug mode would be a bug but then I don't know how to reproduce the part where urllib3 swallows all errors.

The setup is a bit more complicated than simple v6 support. The situation is the following: Sentry is running in a VM in a NATted network behind a firewall. The firewall uses HAProxy to terminate TLS connections and forward the contents to the correct VM. If connections come from outside the VM NAT network, they work fine on v4 and v6. If they come from a different VM inside the NATted network, they are lost at the firewall due to a misconfiguration (as I learned when I talked to the server admin).
So, the issue here is less the fact that in this specific setup, the messages don't get through, and more the fact that no log message indicates that the connection failed.

If you want to play with this specific setup, I could probably get you a VM with SSH access. If you think that this is too specific to warrant your time, or if you suspect that the error lies in urllib and not sentry, I'd also be fine with closing this issue without a fix.

I'm trying to gauge how many people are affected by this issue. Let's keep this open for now.
One last question: Could you try installing different versions of urllib3? You mentioned earlier that requests works fine. Does this also mean that it behaves/errors as expected when neither IPv6 nor IPv4 work in your specific (mis)configuration? I believe there might be discrepancies between the version used by requests vs the one used by the SDK. For example one might use a urllib3 provided by your Linux distro (distros are often happy to violently patch things) while the other installs from PyPI.

I have a similar issue with the latest version of sentry_sdk with self-managed sentry service.
sentry-sdk==0.9.0
urllib3==1.25.3

This is the code which initializes my sentry. It works good with sentry.io.
but doesn't work with my managed sentry.[ABC].io domain.
Wondering what could be the issue. duplicate issue #399

def before_send(event, hint):
	log.debug("Before Sending the Event, {} and Hint : {}".format(repr(event), repr(hint)))
	return event

def init_sentry():
	sentry_logging = LoggingIntegration(level=logging.INFO, event_level=logging.ERROR)

	sentry_client = sentry_sdk.init(dsn=SENTRY_DSN, integrations=[sentry_logging], environment=ENVIRONMENT,
									before_send=before_send)
	log.info("Sentry Initialized")
	return sentry_client

sentry_client = init_sentry()

@sreedharbukya this issue is about something very specific in the HTTP library we're using, so I wouldn't call this the same issue just because the symptoms are


To fix PermissionError: [Errno 13] Permission denied: '/root/google_vm_config.lock’ in remove_non_existent_dirs function.

I encountered an error in bitsandbytes/cuda_setup/main.py, at line 197, in the function remove_non_existent_dirs.
The current implementation is as follows:
def remove_non_existent_dirs(candidate_paths: Set[Path]) -> Set[Path]:
    existent_directories: Set[Path] = set()
    for path in candidate_paths:
        try:
            if path.exists():
                existent_directories.add(path)
        except OSError as exc:
            if exc.errno != errno.ENAMETOOLONG:
                raise exc
        except PermissionError as pex:
            pass

I believe the error is due to a permission issue caused by this code.
To resolve this, I think the line except PermissionError as pex should be placed before except OSError as exc.
This is because PermissionError is a subclass of OSError, and as it stands, PermissionError will never be caught because OSError is checked first.
If my observation is correct, I would appreciate it if this could be fixed.

#620 and #675 may be similar issues.


Remove usage of top-level MeshService targetRef

Description
It's deprecated

Duplicate of https://github.com/kumahq/kuma-website/issues/1962


network matching

Uploaded filtered GRNdb datasets (all interactions + high confidence interactions only), uploaded zip file for RegNetwork data, wrote graph functions for GRNdb datasets, deleted an erroneous duplicate set_nodes() function in graph.py.

Great! Could you post a screenshot of the figure3 to see what it looks like now?

Hmm.. I thought nodes with higher connectivity will be larger based on the PageRank. Why is, for example, GATA4, larger than KDM2A?

Yeah I was wondering that too. I did some research about the pagerank algorithm and I'm wondering if it just has to do with the "quality" of the connections. The only thing I changed about the pagerank() function was not dividing by zero, like we talked about.  Basically, where some columns have normalized values adding up to 1, others have just zeroes before going through the next steps in pagerank().

@aarmey Could you please review/merge this branch? The pagerank function is not updated in this, but we can update that after we merge Mia's new branch.


Add "server" command for built-in local web server

Would be nice if this thing could spin up a little local web server to view the generated site. Shouldn't be too hard to implement?

[x] get a little web server going with warp
[x] allow host, port, path to be configured from cli options
[x] write doco about using the server

Noticed mdbook's serve uses warp, which seems as good a reason as any to use that here too


Support for multiple issue keys (e.g. issues moved between projects)

Hi,
thanks for great jira-gerrit-plugin!
We actively using it in our organisation and for us loosing Gerrit review links when moving Jira issue between projects #25 was one of the biggest shortcomings of the official version.
Hopefully this change should be able to address it.
Cheers,
Pavel

Thanks for the PR!  Looks good


Issue dealing with concurrent requests

Root cause of https://github.com/whatwg/html/issues/3726 seems to be that wattsi doesn't handle concurrent requests properly.
When pr-preview serializes the requests to the wattsi server, everything works fine.
If those requested are parallelized, the wattsi server returns partially empty zip files for one of the two requests.
This problem only surfaced recently.

Note that as pr-preview itself may handle multiple requests in parallel and that other services also rely on wattsi-server, it is very possible to have concurrent requests to wattsi server despite pr-preview now serializing requests within each pull request. That's an effective band aid, not a complete solution.


docs: replace ./node_modules/.bin/ with npx

At the risk of nitpicking, I prefer npx introduced in npm 5.2 (released in July 2017) over ./node_modules/.bin/ here.

Related #895 #855


Change "Minimum DAO Bounty" off default to 0.0000001

The contracts don't let us change Minimum DAO Bounty to 0 so currently we have it set to 1 when the user turns this feature off. But that is still 1 GEN downstaked on every proposal. In the old dOrg DAO we had this value set to 5e-8.
This would be improved if we set the DAO downstake to 0.0000001 (1e-8) when the "auto-incentivize curation" option is turned off.
I'm not sure if decimals are supported or how exactly this should be done.

Great catch @orishim! I'll post a PR for this, you can see a DAO with the param change you've suggested here (deployed using the updated DAOcreator): https://alchemy-staging-rinkeby.herokuapp.com/dao/0x40cf615b236c19356d256274226333eb007f3be9/scheme/0xeb4d6a1c2443f6b45087ff0e244d3314818da4bcfb2f2170dc4d65e564822f3d/info/


fix cstyle error for src/istgt_iscsi_xcopy.h

Repo: openebs/istgt
Branch: replication
File: src/istgt_iscsi_xcopy.h
Steps to compile in: README.md
PR subject should be like: fmt(cstyle): cstyle fixes in
./src/istgt_iscsi_xcopy.h: 1: improper first line of block comment
./src/istgt_iscsi_xcopy.h: 17: indent by spaces instead of tabs
./src/istgt_iscsi_xcopy.h: 17: missing blank before close comment
./src/istgt_iscsi_xcopy.h: 19: #define followed by space instead of tab
./src/istgt_iscsi_xcopy.h: 29: line > 80 characters
./src/istgt_iscsi_xcopy.h: 33: line > 80 characters
./src/istgt_iscsi_xcopy.h: 34: line > 80 characters
./src/istgt_iscsi_xcopy.h: 48: line > 80 characters
./src/istgt_iscsi_xcopy.h: 62: line > 80 characters
./src/istgt_iscsi_xcopy.h: 63: line > 80 characters
./src/istgt_iscsi_xcopy.h: 64: line > 80 characters
./src/istgt_iscsi_xcopy.h: 65: line > 80 characters
./src/istgt_iscsi_xcopy.h: 70: last line in file is blank

Resources:
-> Countributers guide: https://github.com/openebs/openebs/blob/master/CONTRIBUTING.md
Complexity: Easy

Assign to me

sure @bharathpgp go ahead

wstarted Working on it

As there is not activity related to this issue , making it UpForGrabs for other contributors

Already done and merged see PR

Cool. thanks please make sure to add the reference issue no with PR

Sure 👍


Cleanup obsolete tests from displaying in help

Previous tests cannot be run with the current doctest runner, so makes sense just to remove the list to prevent confusion.
Some tests still have to be ported as described in #40659.
Let it go. 🙂

Thanks!


Add miri support

Discussed briefly on IRC with @shepmaster: It would be great if the playground could run programs in miri. That's a MIR interpreter. One reason why one might want to do this is that miri will stop program execution when there is UB -- the checks are not complete yet, but more are coming. It will never be able to detect all kinds of UB (e.g. relying on how #[repr(Rust)] lays out data is hard to detect), but the idea is it should detect e.g. violation of the pointer aliasing rules.
Since I don't know how the playground works, I'll just give instructions for how to run miri manually. All of this has to happen with a nightly compiler.
Setup:

git clone https://github.com/solson/miri && cd miri
cargo install xargo
xargo/build.sh
Now xargo is no longer needed and could be uninstalled; the purpose was just to obtain the files that now live in ~/.xargo/HOST.
cargo install --all-features --force

Now, when you are in a crate, instead of cargo run you would do MIRI_SYSROOT=~/.xargo/HOST cargo miri -- -Zmiri-start-fn. That's it.

One reason why one might want to do this is that miri will stop program execution when there is UB

For an arbitrary user coming to the playground, are there any other reasons they would want to run Miri? In the same vein, what's a 1-2 sentence of "marketing copy" that will accompany Miri in the menu:

This is all centered around "why should the playground expose Miri in the first place". Our bar has to be a bit higher than "it's cool" or "I like it" just because it's a forward-facing part of the Rust web presence, so I'm doing my due diligence.
(Is it OK to capitalize it as "Miri"?)

Did you plan to put it in the tools menu?

Yes.

a way to run the program

But why would anyone ever want to run their code using Miri? You just stated that the only reason to use Miri is to check for UB. The fact that it runs the code to do so is irrelevant, much like the fact that Clippy uses cargo check to do its thing; these are just implementation details.

I don't know how you are distributing tools over these menus.

It's (always) in the process of being nailed down, of course, but right now anything in the Run menu is "built-in" to the compiler and tools are "add-ons".

some kind of process

Nah, I don't think it needs to be all that. The wrong answer would have been "so I can get bug reports from users", IMO.

improve the error message to make it easier to interpret

In that realm, the output is really a wall of text, very hard to read. I think if you want people to easily drop in and start using Miri, you might need to pay some mind to that:
   Compiling playground v0.0.1 (file:///playground)
error[E0080]: constant evaluation error: pointer computed at offset 1, outside bounds of allocation 416 which has size 0
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ptr.rs:1383:9
     |
1383 |         intrinsics::offset(self, count) as *mut T
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pointer computed at offset 1, outside bounds of allocation 416 which has size 0
     |
note: inside call to `std::ptr::<impl *mut T><u8>::offset`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/slice/mod.rs:2079:15
     |
2079 |         &mut *slice.as_mut_ptr().offset(self as isize)
     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside call to `<usize as std::slice::SliceIndex<[T]>><u8>::get_unchecked_mut`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/slice/mod.rs:405:9
     |
405  |         index.get_unchecked_mut(self)
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside call to `core::slice::<impl [T]><u8>::get_unchecked_mut::<usize>`
    --> src/main.rs:3:15
     |
3    |     unsafe { *a.get_unchecked_mut(1) = 1; }
     |               ^^^^^^^^^^^^^^^^^^^^^^
note: inside call to `main`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/rt.rs:74:34
     |
74   |     lang_start_internal(&move || main().report(), argc, argv)
     |                                  ^^^^^^
note: inside call to `closure`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/rt.rs:59:75
     |
59   |             ::sys_common::backtrace::__rust_begin_short_backtrace(move || main())
     |                                                                           ^^^^^^
note: inside call to `closure`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/sys_common/backtrace.rs:136:5
     |
136  |     f()
     |     ^^^
note: inside call to `std::sys_common::backtrace::__rust_begin_short_backtrace::<[closure@DefId(1/1:1839 ~ std[82ff]::rt[0]::lang_start_internal[0]::{{closure}}[0]::{{closure}}[0]) 0:&dyn std::ops::Fn() -> i32 + std::panic::RefUnwindSafe + std::marker::Sync], i32>`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/rt.rs:59:13
     |
59   |             ::sys_common::backtrace::__rust_begin_short_backtrace(move || main())
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside call to `closure`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:310:40
     |
310  |             ptr::write(&mut (*data).r, f());
     |                                        ^^^
note: inside call to `std::panicking::try::do_call::<[closure@DefId(1/1:1838 ~ std[82ff]::rt[0]::lang_start_internal[0]::{{closure}}[0]) 0:&&dyn std::ops::Fn() -> i32 + std::panic::RefUnwindSafe + std::marker::Sync], i32>`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:306:5
     |
306  | /     fn do_call<F: FnOnce() -> R, R>(data: *mut u8) {
307  | |         unsafe {
308  | |             let data = data as *mut Data<F, R>;
309  | |             let f = ptr::read(&mut (*data).f);
310  | |             ptr::write(&mut (*data).r, f());
311  | |         }
312  | |     }
     | |_____^
note: inside call to `std::panicking::try::<i32, [closure@DefId(1/1:1838 ~ std[82ff]::rt[0]::lang_start_internal[0]::{{closure}}[0]) 0:&&dyn std::ops::Fn() -> i32 + std::panic::RefUnwindSafe + std::marker::Sync]>`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panic.rs:392:9
     |
392  |         panicking::try(f)
     |         ^^^^^^^^^^^^^^^^^
note: inside call to `std::panic::catch_unwind::<[closure@DefId(1/1:1838 ~ std[82ff]::rt[0]::lang_start_internal[0]::{{closure}}[0]) 0:&&dyn std::ops::Fn() -> i32 + std::panic::RefUnwindSafe + std::marker::Sync], i32>`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/rt.rs:58:25
     |
58   |           let exit_code = panic::catch_unwind(|| {
     |  _________________________^
59   | |             ::sys_common::backtrace::__rust_begin_short_backtrace(move || main())
60   | |         });
     | |__________^
note: inside call to `std::rt::lang_start_internal`
    --> /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/rt.rs:74:5
     |
74   |     lang_start_internal(&move || main().report(), argc, argv)
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error

How strongly do we have to clarify that it cannot detect everything,

I don't think it has to be strong, but it should be present.

but also that not every error is UB

Does Miri detect non-UB errors? If so, what are some examples?

Run the program in the miri interpreter to detect many safety violations like out-of-bounds memory access.

Based on our discussion, I'd tweak this a bit to:

Run the program in the Miri interpreter to detect certain types of undefined behavior like out-of-bounds memory access.

But why would anyone ever want to run their code using Miri? You just stated that the only reason to use Miri is to check for UB. The fact that it runs the code to do so is irrelevant, much like the fact that Clippy uses cargo check to do its thing; these are just implementation details.

Clippy is static tool. It looks at all code and does its magic.
Miri works dynamically. It runs a program and tells you if it sees anything fishy in that execution. So if e.g. main is empty, it doesn't matter which other code there is.
To me, that's a fundamental difference. But you are probably the better judge for how users would see this. ;)

The wrong answer would have been "so I can get bug reports from users", IMO.

Fair enough. Getting more users is always nice, of course, but I think we can actually deliver some value -- as you have seen, out-of-bounds pointer stuff is already handled, as are unaligned accesses. I have some plans for next week to significantly extend the range of things that are checked during execution.

In that realm, the output is really a wall of text, very hard to read. I think if you want people to easily drop in and start using Miri, you might need to pay some mind to that:

Any advise? This is the stack trace. Maybe everything but the top frame shouldn't be rendered as a span, but just show e.g. function name, file name, line number?

Does Miri detect non-UB errors? If so, what are some examples?

Miri cannot interpret anything. So it can error because of an unsupported operation.
Try (Box::into_raw(Box::new(0)) as usize) * 2.

Run the program in the Miri interpreter to detect certain types of undefined behavior like out-of-bounds memory access.

Sounds good! I'll keep you posted when there are more important items to be added to the list. (Violation of data layout invariants is what I want to reliably detect next week.)
@oli-obk anything you think should be mentioned already?

that's a fundamental difference

I agree from the implementer side, but from a user side, it doesn't matter much...

if e.g. main is empty

Except for this. This means that it's important to convey this to the user — only certain classes of UB will be detected, and only if they actually happen during evaluation of the program. I'd try and cram that in as

Run the program in the Miri interpreter to detect if undefined behavior like out-of-bounds memory access occurs during execution.

Miri cannot interpret anything

I'd normally take this to mean "there is nothing that Miri can interpret", which would mean it's pretty useless 😈 Am I correct in assuming you mean "there are certain types of things that Miri cannot interpret?"

(Box::into_raw(Box::new(0)) as usize) * 2

I think this is kind of what I was asking. The thing that's exciting (and scary...?) is that this is pure safe Rust. Is this undefined behavior? I feel like it's not. This seems like we should expand the description to cover whatever this is.

Any advise? This is the stack trace. Maybe everything but the top frame shouldn't be rendered as a span, but just show e.g. function name, file name, line number?

Perhaps. The main thing is that it's very hard for a user to take action on the fact that the call passed through some stdlib things. Likewise, if there's UB in a crate, the average end user isn't going to be able to do much about it. The magical ideal would be to show "just the code that matters", but that's likely up there with the halting problem 😇.

Except for this. This means that it's important to convey this to the user — only certain classes of UB will be detected, and only if they actually happen during evaluation of the program. I'd try and cram that in as

Right, that's why I thunk the right verb is to use "execute" or something. I am not sure how many are familiar with "UB sanitizers", but they work the same way: Compiler your program with some extra flags, run it, and then the sanitizers will tell you if this execution does something fishy.
It's important we manage to communicate that miri tests an execution for UB, not a program.

I'd normally take this to mean "there is nothing that Miri can interpret", which would mean it's pretty useless smiling_imp

oops typo corrected.^^ I meant "miri cannot interpret everything".

I think this is kind of what I was asking. The thing that's exciting (and scary...?) is that this is pure safe Rust. Is this undefined behavior? I feel like it's not. This seems like we should expand the description to cover whatever this is.

Yes it's scary that ptr -> int casts are safe. ;) And no this is not UB. From all we know. The rules around ptr <-> int casts are fuzzy at best and typically unknown. We are relying on de-facto LLVM behavior, because there are things you can do in safe Rust that are UB in C, and LLVM does not document those areas very well.

The magical ideal would be to show "just the code that matters", but that's likely up there with the halting problem innocent.

True, but we could likely do better. ;)  E.g. we could try to not show spans in libstd/libcore? Or any any other crate than the current one? Not sure.

For reference based on our IRC discussion:
779ceb665413        45 hours ago        /bin/sh -c cargo install --all-features --pa…   75.2MB
3bd1c74e4bef        45 hours ago        /bin/sh -c ~/miri/xargo/build.sh                67.1MB
d1be3de5ac24        45 hours ago        /bin/sh -c git clone https://github.com/sols…   4.05MB
0762699e3d7a        45 hours ago        /bin/sh -c rustup component add rust-src        28MB
9ba20a36ba10        45 hours ago        /bin/sh -c cargo install xargo                  7.54MB

E.g. we could try to not show spans in libstd/libcore? Or any other crate than the current one? Not sure.

Heh, not installing rust-src gives what seems like reasonable output:
error[E0080]: constant evaluation error: pointer computed at offset 1, outside bounds of allocation 416 which has size 0
     |
note: inside call to `std::ptr::<impl *mut T><u8>::offset`
note: inside call to `<usize as std::slice::SliceIndex<[T]>><u8>::get_unchecked_mut`
note: inside call to `core::slice::<impl [T]><u8>::get_unchecked_mut::<usize>`
    --> src/main.rs:6:10
     |
6    |         *a.get_unchecked_mut(1) = 1;
     |          ^^^^^^^^^^^^^^^^^^^^^^
note: inside call to `main`
note: inside call to `closure`
note: inside call to `closure`
note: inside call to `std::sys_common::backtrace::__rust_begin_short_backtrace::<[closure@DefId(1/1:1839 ~ std[82ff]::rt[0]::lang_start_internal[0]::{{closure}}[0]::{{closure}}[0]) 0:&dyn std::ops::Fn() -> i32 + std::panic::RefUnwindSafe + std::marker::Sync], i32>`
note: inside call to `closure`
note: inside call to `std::panicking::try::do_call::<[closure@DefId(1/1:1838 ~ std[82ff]::rt[0]::lang_start_internal[0]::{{closure}}[0]) 0:&&dyn std::ops::Fn() -> i32 + std::panic::RefUnwindSafe + std::marker::Sync], i32>`
note: inside call to `std::panicking::try::<i32, [closure@DefId(1/1:1838 ~ std[82ff]::rt[0]::lang_start_internal[0]::{{closure}}[0]) 0:&&dyn std::ops::Fn() -> i32 + std::panic::RefUnwindSafe + std::marker::Sync]>`
note: inside call to `std::panic::catch_unwind::<[closure@DefId(1/1:1838 ~ std[82ff]::rt[0]::lang_start_internal[0]::{{closure}}[0]) 0:&&dyn std::ops::Fn() -> i32 + std::panic::RefUnwindSafe + std::marker::Sync], i32>`
note: inside call to `std::rt::lang_start_internal`

I wonder if "current crate" + "bottommost stack frame" would be useful.

How about

Detect certain cases of undefined behavior (like out-of-bounds
memory access) that occur when executing this program in the
Miri interpreter.

The purpose of the xargo step is to get a libstd that includes MIR for all functions. Usually, we only store MIR for generic functions; the others are already sent to LLVM and have their machine code generated so we don't usually need the MIR any more. Except, of course, miri needs it. So, rust-src should not be needed at the end to get miri to work, it'll just mean we cannot show spans in libstd/libcore. Which maybe we do not even want to?

I wonder if "current crate" + "bottommost stack frame" would be useful.

Something along these lines, yes.

Well, I'm glad I looked into that. Much smaller now

Ah, I forgot about the rust-src component, sorry for that. So we are slightly above 100MiB.
I am wondering why cargo-miri is so big, it hardly does anything... it's just a wrapper to call rustc or miri, respectively.

Detect certain cases of undefined behavior (like out-of-bounds
memory access) that occur when executing this program in the
Miri interpreter.

:+1:
We could add a sentence like "This is akin to executing the program with a UB sanitizer." or so? Or is that jargon that not enough people know?


Non invasive filtering

Filter modules to be instrumented

@tonerdo IMHO could be great avoid attribute instrumentation for filter out/in class to test. You/We could think a command switch/json file format to pass.
However...great work compliments.

@tonerdo i close this and go on on other thread.


Compilation problems when using GenericContainer

@dimafeng
The moment I touch GenericContainer class I get the following errors:
[error] Class org.testcontainers.shaded.javax.annotation.CheckForNull not found - continuing with a stub.
[error] Class org.testcontainers.shaded.javax.annotation.CheckForNull not found - continuing with a stub.
[error] Class org.testcontainers.shaded.javax.annotation.CheckForNull not found - continuing with a stub.

[error] Class org.testcontainers.shaded.javax.annotation.CheckForNull not found - continuing with a stub.
[error] Class org.testcontainers.shaded.javax.annotation.CheckForNull not found - continuing with a stub.
[error] Class org.testcontainers.shaded.javax.annotation.CheckForNull not found - continuing with a stub.

Scala Version: 2.11.8
Sbt version: 0.13.8
Have tried changing scala and sbt versions without much success. This error really does not tell me much of what I need (e.g. where is this class needed at all ?). Is this some conflict with other libraries. For example is lombock's NonNull getting mixed up with findbug's NonNull. If that is the case I have excluded the latter dependency but still get errors. A bit of help will be greatly appreciated

Hi @zaharidichev
I'll take a look tonight or tomorrow.

Thanks a lot. It really is causing me quite a lot of headache :(

@zaharidichev could you please show the list of your dependencies and their versions?

@dimafeng Thanks for looking into that. Following is a list of the dependencies.
ch.qos.logback.logback.classic.1.1.1
ch.qos.logback.logback.core.1.1.1
com.beust.jcommander.1.12
com.dimafeng.testcontainers.scala.0.11.0
com.fasterxml.jackson.core.jackson.annotations.2.3.2
com.fasterxml.jackson.core.jackson.annotations.2.7.8
com.fasterxml.jackson.core.jackson.core.2.3.2
com.fasterxml.jackson.core.jackson.core.2.7.8
com.fasterxml.jackson.core.jackson.databind.2.3.2
com.fasterxml.jackson.core.jackson.databind.2.7.8
com.fasterxml.jackson.datatype.jackson.datatype.jdk<IP_ADDRESS>
com.fasterxml.jackson.datatype.jackson.datatype.jsr3<IP_ADDRESS>
com.github.fakemongo.fongo.2.0.11
com.github.jnr.jffi.1.2.15
com.github.jnr.jffi.1.2.15.native
com.github.jnr.jnr.constants.0.9.8
com.github.jnr.jnr.ffi.2.1.4
com.github.jnr.jnr.posix.3.0.41
com.github.jnr.jnr.x86asm.1.0.2
com.github.nscala.time.nscala.time.1.0.0
com.google.guava.guava.18.0
com.googlecode.disruptor.disruptor.2.10.4
com.kohlschutter.junixsocket.junixsocket.common.2.0.4
com.kohlschutter.junixsocket.junixsocket.native.common.2.0.4
com.twitter.scrooge.core.3.17.0
com.typesafe.akka.akka.actor.2.3.4
com.typesafe.akka.akka.testkit.2.3.4
com.typesafe.config.1.2.1
com.typesafe.config.1.3.0
com.typesafe.play.play.datacommons.2.3.10
com.typesafe.play.play.datacommons.2.5.10
com.typesafe.play.play.functional.2.3.10
com.typesafe.play.play.functional.2.5.10
com.typesafe.play.play.iteratees.2.3.10
com.typesafe.play.play.iteratees.2.5.10
com.typesafe.play.play.json.2.3.10
com.typesafe.play.play.json.2.5.10
com.vividsolutions.jts.1.13
commons.cli.commons.cli.1.1
commons.codec.commons.codec.1.10
commons.io.commons.io.2.5
commons.lang.commons.lang.2.5
commons.lang.commons.lang.2.6
de.grundid.opendatalab.geojson.jackson.1.2
joda.time.joda.time.2.3
joda.time.joda.time.2.9.6
junit.junit.4.12
org.apache.commons.commons.compress.1.12
org.apache.commons.commons.lang<IP_ADDRESS>
org.apache.thrift.libthrift.0.8.0
org.aspectj.aspectjrt.1.8.6
org.beanshell.bsh.2.0b4
org.bouncycastle.bcprov.jdk15on.1.54
org.hamcrest.hamcrest.core.1.3
org.jetbrains.annotations.13.0
org.joda.joda.convert.1.6
org.joda.joda.convert.1.8.1
org.mockito.mockito.all.1.9.5
org.mongodb.casbah.commons.3.1.1
org.mongodb.casbah.core.3.1.1
org.mongodb.casbah.query.3.1.1
org.mongodb.mongo.java.driver.3.2.2
org.mozilla.rhino.<IP_ADDRESS>
org.ow2.asm.asm.5.0.3
org.ow2.asm.asm.analysis.5.0.3
org.ow2.asm.asm.commons.5.0.3
org.ow2.asm.asm.tree.5.0.3
org.ow2.asm.asm.util.5.0.3
org.rnorth.duct.tape.duct.tape.1.0.6
org.rnorth.tcp.unix.socket.proxy.1.0.1
org.rnorth.visible.assertions.visible.assertions.2.0.0
org.scala.lang.modules.scala.parser.combinators.1.0.4
org.scala.lang.modules.scala.xml.1.0.5
org.scala.lang.scala.library.8
org.scala.lang.scala.reflect.1
org.scala.lang.scala.reflect.7
org.scala.lang.scala.reflect.8
org.scala.sbt.test.interface.1.0
org.scala.stm.scala.stm.0.7
org.scalacheck.scalacheck.1.11.3
org.scalactic.scalactic.3.0.1
org.scalatest.scalatest.3.0.1
org.scijava.native.lib.loader.2.0.2
org.scoverage.scalac.scoverage.plugin.1.1.0
org.scoverage.scalac.scoverage.runtime.1.1.0
org.slf4j.jcl.over.slf4j.1.7.21
org.slf4j.slf4j.api.1.7.13
org.slf4j.slf4j.api.1.7.25
org.slf4j.slf4j.ext.1.7.25
org.testcontainers.testcontainers.1.4.3
org.testng.testng.6.1.1
org.yaml.snakeyaml.1.6
org.zeroturnaround.zt.exec.1.8

@zaharidichev
I checked codebase of org.testcontainers.testcontainers.1.4.3 and didn't find any usages of the org.testcontainers.shaded.javax.annotation.CheckForNull as well as there are no usages in testcontainers-scala.
Could you please try to switch to a DEBUG level of compilation logging? The answer may be there, we need to find out where that class is accessed from.

I did try setting:
scalacOptions ++= Seq("-unchecked", "-feature", "-explaintypes", "-print-types")
However that did not display any additional information. Quite strange

I'll try to create an SBT project to reproduce the issue.

Right...
So @dimafeng running the compiler in verbose mode yields the following:
[info] [loaded package loader jackson in 0ms]
[info] [loaded package loader annotation in 0ms]
[info] [loaded package loader javax in 0ms]
[error] Class org.testcontainers.shaded.javax.annotation.CheckForNull not found - continuing with a stub.
[error] Class org.testcontainers.shaded.javax.annotation.CheckForNull not found - continuing with a stub.
[error] Class org.testcontainers.shaded.javax.annotation.CheckForNull not found - continuing with a stub.
[info] [loaded class file /Users/zahari/.ivy2/cache/org.testcontainers/testcontainers/jars/testcontainers-1.4.3.jar(com/github/dockerjava/api/command/InspectContainerResponse.class) in 2ms]
[info] [loaded package loader traits in 0ms]

This is happening right before the class loader picks up InspectContainerResponse. Looking a bit further into that class, it looks like (an excerpt):
import org.testcontainers.shaded.com.fasterxml.jackson.annotation.JsonIgnore;
import org.testcontainers.shaded.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.testcontainers.shaded.com.fasterxml.jackson.annotation.JsonProperty;
import org.testcontainers.shaded.javax.annotation.CheckForNull; <----- this guy here !

@JsonIgnoreProperties(
    ignoreUnknown = true
)
public class InspectContainerResponse {
    @JsonProperty("Args")
    private String[] args;
    @JsonProperty("Config")

There is no such class org.testcontainers.shaded.javax.annotation.CheckForNull in the test containers jar on my classpath. For reference, I am currently running that with:

testcontainers-scala_<IP_ADDRESS>.jar
testcontainers-1.4.3.jar

Seems like they missed something while shading the javax.

@zaharidichev sorry for the late response. This is interesting.
@rnorth @bsideup do you guys know where org.testcontainers.shaded.javax.annotation.CheckForNull should come from?

@dimafeng I think I know where it comes from... Not related to testcontainers-scala, we need to fix that in testcontainers-core.
@zaharidichev thanks for reporting!

@bsideup Is there any estimation of when would that get fixed so I can pull in a snapshot at least. Alternatively I can give yo a hand and prepare a PR for it.

@ljkr @zaharidichev should be fixed in testcontainers-scala 0.14.0, please try - https://github.com/testcontainers/testcontainers-java/pull/563 was released in testcontainers-java 1.6.0


Support of intersection-of in addition to subset/superset

It should be possible to compare two result-sets but only the rows where there is matching key.

Beta available at https://ci.appveyor.com/project/Seddryck/nbi/builds/25481951/artifacts
Version: 1.21.0-beta.237


[Feature suggestion] Fork this for Raycast

Feature suggestion
I'd love to have this feature but I don't use Alfred. Can a Raycast user get some love?
Have you referenced the "Features I would like help with" portion of the README?

[ ] I have

Who would you like to work on this feature?

[ ] I would like to work on this feature
[ ] I would like the repo owner (@ericwbailey) to work on this feature

I'd love to help, but I'm borderline burnt out and just do not have the time and energy to create and maintain a Raycast version of this.
If it's helpful for you, I can definitely drop a gist of the JSON I made to make this all work for your own efforts.


Bluestacks

Checklist

[x] The package I am requesting does not already exist on https://chocolatey.org/packages;
[x] There is no open issue for this package;
[x] The issue title starts with 'RFP - ';
[x] The download URL is public and not locked behind a paywall / login;

Package Details
Software project URL : https://www.bluestacks.com/
Direct download URL for the software / installer :  https://cdn3.bluestacks.com/downloads/windows/bgp/4.300.0.5129/f52990c3c794891856c1e3397fad91a2/BlueStacksMicroInstaller_4.300.0.5129_native.exe?filename=BlueStacksInstaller_4.300.0.5129_native_098cdb0275a33cab78a4a72e0456c4ed.exe
Software summary / short description: Android emulator
Automatic download and install bluestacks

Closing this due to no update.


{pool}ComponentIds.cs not right created

Hello,
I'm currently trying to work with the Version 0.35.0 in Unity3D and i came across an issue.
My CodeGenerator.ComponentIndicesGenerator generates incorrect Values for my {Pool}ComponentIds.cs Classes. But my ComponentIds.cs contains everything for adding Components.
Does anyone also has this issue?
My Workaround right now is to replace in the generated Pools.cs, the Pool specific Constants with the Basic ComponentIds ones.

Here my files:
CoreComponentIds.cs
public static class CoreComponentIds {

    public const int TotalComponents = 0;

    public static readonly string[] componentNames = {
    };

    public static readonly System.Type[] componentTypes = {
    };
}

ComponentIds.cs
public static class ComponentIds {

    public const int Point = 0;
    public const int Tile = 1;

    public const int TotalComponents = 2;

    public static readonly string[] componentNames = {
        "Point",
        "Tile"
    };

    public static readonly System.Type[] componentTypes = {
        typeof(PointComponent),
        typeof(TileComponent)
    };
}

From reading the code it looks like the is no attribute in the components
see https://github.com/sschmid/Entitas-Shmup/blob/develop/Assets/Sources/Features/Position/PositionComponent.cs#L4

PoolAttributes will tell the code generator in which pools the component should be available. If there is no PoolAttribute it'll end up in the default ComponentIds

Of course, Makes sense.
Thanks!


[BACKLOG-18075] Fix for input box focus

@ddiroma

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'plugins/file-open-save/core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/file-open-save/core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/file-open-save/core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/file-open-save/core/src/main/javascript/app/shared/directives/focus.directive.js

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'plugins/file-open-save/core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/file-open-save/core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/file-open-save/core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/file-open-save/core/src/main/javascript/app/shared/directives/focus.directive.js


Missing link for "AutoCE: An Accurate and Efficient Model Advisor for Learned Cardinality Estimation"

The link is https://dbgroup.cs.tsinghua.edu.cn/ligl/papers/AutoCE_camera_ready_ICDE2023.pdf

Thank you for your addition. I’ve added it～


Alias []= to with

Hi Joel and contributors, thanks for this. Fun watching the evolution since the Railsconf talk.
Feature request
module ViewComponent
  class Base < ActionView::Base
    alias :[]=
  end
end

Motivation
I'm finding myself using a lot of nesting like so:
<%= render(PageComponent.new) do |page_component| %>
  <% page_component.with(:header, "Pets") %>
  <% page_component.with(:body) do  %>
    <%= render(CardComponent.new) do |card_component| %>
      <% card_component.with(:header, "New pet") %>
      <% card_component.with(:body) do %>
        <%= render 'form' %>
      <% end %>
    <% end %>
  <% end %>
<% end %>

When I was first writing these, I had some weird instinct to use page_component[:header] = "Pets" only to be hit with UndefinedMethod.
<%= render(PageComponent.new) do |page_component| %>
  <% page_component[:header] = "Pets" %>
  <% page_component.with(:body) do  %>
    <%= render(CardComponent.new) do |card_component| %>
      <% card_component[:header] = "New pet" %>
      <% card_component.with(:body) do %>
        <%= render 'form' %>
      <% end %>
    <% end %>
  <% end %>
<% end %>

So in true Ruby fashion I aliased with to []=.
Can make a PR if this looks good. I understand if we want to keep the API more focused, though.

@joshmn I'd love to hear more about what you were thinking here ❤

@joelhawksley I just made an oopsie edit :)
I didn't think it through (early morning codeday here without coffee = less than stellar thinking) but my idea was to cut down on the terseness of with when passing value.
Obviously, passing a block to [] looks unnatural so I quickly erased that idea from my brain. :)

@joshmn thanks for the follow up!
We're definitely thinking about the we use as part of introducing Slots, the successor to content areas. Perhaps you could give them a shot and let us know what you think?

Will do! :) Thanks Joel :)
On Mon, Jul 20, 2020 at 12:36 PM Joel Hawksley<EMAIL_ADDRESS>wrote:

@joshmn https://github.com/joshmn thanks for the follow up!
We're definitely thinking about the we use as part of introducing Slots
https://github.com/github/view_component#slots-experimental, the
successor to content areas. Perhaps you could give them a shot and let us
know what you think?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/github/view_component/issues/413#issuecomment-661226829,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPFECMRJKTVQ2ZJMAA5W3R4R6AJANCNFSM4PCKUJYA
.

Hi Joel and contributors, thanks for this. Fun watching the evolution since the Railsconf talk.
Feature request
module ViewComponent
  class Base < ActionView::Base
    alias :[]= :with
  end
end

Motivation
I'm finding myself using a lot of nesting like so:
<%= render(PageComponent.new) do |page_component| %>
  <% page_component.with(:header, "Pets") %>
  <% page_component.with(:body) do  %>
    <%= render(CardComponent.new) do |card_component| %>
      <% card_component.with(:header, "New pet") %>
      <% card_component.with(:body) do %>
        <%= render 'form' %>
      <% end %>
    <% end %>
  <% end %>
<% end %>

When I was first writing these, I had some weird instinct to use page_component[:header] = "Pets" only to be hit with UndefinedMethod.
<%= render(PageComponent.new) do |page_component| %>
  <% page_component[:header] = "Pets" %>
  <% page_component.with(:body) do  %>
    <%= render(CardComponent.new) do |card_component| %>
      <% card_component[:header] = "New pet" %>
      <% card_component.with(:body) do %>
        <%= render 'form' %>
      <% end %>
    <% end %>
  <% end %>
<% end %>

So in true Ruby fashion I aliased with to []=.
Can make a PR if this looks good. I understand if we want to keep the API more focused, though.


feat: Attach headers for SDK and App information to requests

Description
Add headers with app, device, and sdk information.
Links
SDKCF-1237
Checklist

[x] I have read the contributing guidelines.
[x] I wrote/updated tests for new/changed code
[x] I ran ./gradlew check without errors

Codecov Report

Merging #10 into master will increase coverage by 2.63%.
The diff coverage is 92.59%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
+ Coverage   80.41%   83.05%   +2.63%
==========================================
  Files           6        7       +1
  Lines          97      118      +21
  Branches        9       10       +1
==========================================
+ Hits           78       98      +20
  Misses         18       18
- Partials        1        2       +1

Impacted Files
Coverage Δ

...ch/mobile/remoteconfig/RemoteConfigInitProvider.kt
0% <0%> (ø)
:arrow_up:

.../rakuten/tech/mobile/remoteconfig/ConfigFetcher.kt
100% <100%> (ø)
:arrow_up:

.../tech/mobile/remoteconfig/SdkHeadersInterceptor.kt
95% <95%> (ø)

Continue to review full report at Codecov.

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

Codecov Report

Merging #10 into master will increase coverage by 2.63%.
The diff coverage is 92.59%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
+ Coverage   80.41%   83.05%   +2.63%
==========================================
  Files           6        7       +1
  Lines          97      118      +21
  Branches        9       10       +1
==========================================
+ Hits           78       98      +20
  Misses         18       18
- Partials        1        2       +1

Impacted Files
Coverage Δ

...ch/mobile/remoteconfig/RemoteConfigInitProvider.kt
0% <0%> (ø)
:arrow_up:

.../rakuten/tech/mobile/remoteconfig/ConfigFetcher.kt
100% <100%> (ø)
:arrow_up:

.../tech/mobile/remoteconfig/SdkHeadersInterceptor.kt
95% <95%> (ø)

Continue to review full report at Codecov.

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


Xcode 12: Cannot convert value of type 'CMTime' to type 'NSValue' in coercion

I am using v 4.3.1
Upon updating Xcode to 12, I cannot build my app!
This error occurs in ThumbSelectorView.swift Line 141
Cannot convert value of type 'CMTime' to type 'NSValue' in coercion

I'm getting the same problem...when I fixed this I got a lot of other build errors for YPImagePicker:
e.g.
/Pods/YPImagePicker/Source/Pages/Photo/PostiOS10PhotoCapture.swift:53:36: Value of type 'AVCapturePhotoOutput' has no member 'supportedFlashModes'

/Pods/YPImagePicker/Source/Pages/Photo/PostiOS10PhotoCapture.swift:53:66: Cannot infer contextual base in reference to member 'auto'

@grantespo
Modify [time as NSValue] to [NSValue(time: time)]
generator?.generateCGImagesAsynchronously(forTimes: [NSValue(time: time)],
@timothyerwin
Occurs only in the simulator.
#if arch(i386) || arch(x86_64)
settings.flashMode = .off
#else
if let deviceInput = deviceInput {
        if deviceInput.device.isFlashAvailable {
        switch currentFlashMode {
        case .auto:
            if photoOutput.supportedFlashModes.contains(.auto) {
                settings.flashMode = .auto
            }
        case .off:
            if photoOutput.supportedFlashModes.contains(.off) {
                settings.flashMode = .off
            }
        case .on:
            if photoOutput.supportedFlashModes.contains(.on) {
                settings.flashMode = .on
            }
        }
    }
}
#endif
its work for me.

@colbylim thanks that worked,
but to fixup timothy's issue, I just removed the flash code altogether since i am only using the image picker.

if use cocoapods, you can add this line to your podfile:
pod 'PryntTrimmerView', :git => 'https://github.com/HHK1/PryntTrimmerView.git'

please see the pull request: https://github.com/Yummypets/YPImagePicker/pull/565

nope, change pod code is not good solution


docs(react): use correct template

Changes
In the react "getting started" section the minimal template is used instead of the react template.
Testing
only docs, no tests needed.
Docs
Use the correct app-template-react template.

I got it wrong ;)

I got it wrong ;)


WIP: +1 on comment commands

TODO:

[ ] add a test case which will work
[ ] modify tests to make them work :confounded:
[x] implement get_comment method in ogr

N/A

Fixes #1081

N/A

recheck

recheck

recheck


Cannot read property 'position' of undefined

Hi,
I am trying with this library and got this error.
It come from CameraEventListener
listeners.push(this.props.view.watch('stationary', () => this.handleUpdate()));

that trigger
handleUpdate() {
    this.props.onCameraChange({
      camera: {
        position: this.props.view.camera.position,
        heading: this.props.view.camera.heading,
        tilt: this.props.view.camera.tilt,
        scale: this.props.view.scale,
      },
      stationary: this.props.view.stationary,
      interacting: this.props.view.interacting,
    });
  }

And this.props.view.camera is undefined
Here is my component
return (
      <SceneView id="sceneview">
        <Scene />
      </SceneView>
    )

Above error is gone when adding goTo to SceneView. But I got another issue
react-sceneview.js:18752 Uncaught (in promise) TypeError: Cannot read property 'interacting' of null
    at SceneView._callee2$ (react-sceneview.js:18752)
    at tryCatch (runtime.js:45)
    at Generator.invoke [as _invoke] (runtime.js:264)
    at Generator.prototype.<computed> [as next] (runtime.js:98)
    at src_asyncGeneratorStep (react-sceneview.js:18586)
    at _next (react-sceneview.js:18608)

The first issue has been fixed in v0.2.4
Not sure about the second issue. I'm going to close this. Please let us know if the issue still persists.


inference using fp16 for c++ api

Description
Load weights according dtype, it's ok for inference fp16 weights.

@lanking520 could you help find someone to review this? thanks!

@leleamol Could you please take a look?

@chengzhengxin can you please upload the unit tests for this change?

@mxnet-label-bot add[pr-awaiting-response]

@mxnet-label-bot remove[pr-awaiting-review]

@chengzhengxin can you please address the review comments?

@leleamol Can you also have a look at this PR ?

@chengzhengxin Could you address the comments to move forward with this PR? Thanks

@chengzhengxin any updates? Could you please also add the unittest for the change? Thanks!

@chengzhengxin Can you also rebase the PR with the latest master ?

@chengzhengxin gentle ping for rebase and update

sorry, more things have happened recently, It's too late to deal with it. But this bug has been fixed in #15245


[P0] [BUG] Control Plane app cameras dasboard not working with Xingtera 5G camera

Control Plane app cameras dasboard not working with Xingtera 5G camera

The RTSP is using an IP from the 5G network:

I created a RTSP container which works with the MEC-Accelerator, but it's not working now in the "cameras dashboard", neither:

Works in MEC-Accelerator:

It does NOT work in the dashboard even refreshing, F5 in browser, etc.

Fixed with the latest RTSPConverter image, working on a player for the flv stream

Still NOT working, at least in the k3s in the VM.
See related BUG that I created today:
https://github.com/Azure/mec-app-solution-accelerator/issues/120

Fixed! Closed!


EPIC task internal iter 2

p1

[x] #388
[x] #392
[x] #414
[x] #415
[x] ~document TF_LOG_PROVIDER~ moved to #457

p2

[x] #390
[x] #389
[x] #379

https://github.com/iterative/terraform-provider-iterative/issues/303 is already part of https://github.com/iterative/terraform-provider-iterative/issues/362

closing in favour of remaining #389


Make all C functions as extern "C"

All the C functions should be marked as extern "C".
This is related to issue:#1

Looks good.  See this page for more details: https://help.github.com/en/articles/closing-issues-using-keywords


[0.37.0/armel] LLVM Error during sphinx build

https://buildd.debian.org/status/fetch.php?pkg=numba&arch=armel&ver=0.37.0-1&stamp=1521784623&raw=0
cp -a docs CHANGE_LOG examples .pybuild/cpython3_3.6_numba/build
http_proxy='<IP_ADDRESS>:9' /usr/share/sphinx/scripts/python3/sphinx-build -N -bhtml .pybuild/cpython3_3.6_numba/build/docs/source/ debian/numba-doc/usr/share/doc/numba-doc/html/
Running Sphinx v1.6.7
making output directory...
LLVM ERROR: Program used external function '__sync_fetch_and_add_4' which could not be resolved!
debian/rules:25: recipe for target 'override_dh_installdocs' failed

Thanks for the report, ARM support tracking is here: https://github.com/numba/numba/pull/1968

Following on from #3051, seems like there's still some issues https://buildd.debian.org/status/logs.php?pkg=numba&ver=0.42.0-1 but a few of these are possibly related to changes in e.g. NaT handling in NumPy 1.16. Any chance you could please do a build of Numba 0.43.1 against NumPy 1.16.<latest> and see how that fairs? Thanks.

Well, I think we have a dependency problem before testing 0.43.1:
~ ❯❯❯ apt list python3-colorama -a
Listing... Done
python3-colorama/unstable,unstable,unstable,unstable,unstable,now 0.3.7-1 all [installed,automatic]

0.43.1 requires colorama >= 0.3.9 so we have to wait for a while.

IIRC it's not a hard dependency, if the colorama version is too low it'll just not use it? Are you finding a behaviour where there's a hard dependency?
https://github.com/numba/numba/blob/5aaf81c4605331b657778dc1d0db29ef95564b47/numba/errors.py#L93-L113

numba is now building docs successfully on ARM (armel) with

numba 0.48.0
sphinx 2.4.3
llvmlite 0.32.0
llvm 8.0.1

see https://buildd.debian.org/status/logs.php?pkg=numba&arch=armel
I guess this bug can be closed now.

@RizzerOnGitHub Great, thanks for checking up on this.

This error is showing up again now on debian experimental with python3-numba 0.52.0-4, llvm-9 1:9.0.1-20, pytest-3, in the tests for fenics-basix 0.3.0-2. You can see the result of the crash in basix build logs, https://buildd.debian.org/status/fetch.php?pkg=fenics-basix&arch=armel&ver=0.3.0-2&stamp=1632700773&raw=0
Running manually with python3 -m pytest -vs test_numba.py reveals the culprit,
LLVM ERROR: Symbol not found: __sync_fetch_and_add_4


Feature: Edit existing embed

Currently if I send an embed with embed builder, there is no way to edit that embed later on without deleting it. DynoBot has the ability to edit existing embeds, so it much be possible.
Perhaps a message ID could be supplied.

Agree, I may add this in a later update!


Moving AWS IoT to community supported

Per agreeement with Maarten de Vries, documentation for this connector will be moved to the marketplace and removed from docs.


Update src/jquery.poshytip.js

I've had a particularly complex use case where the refresh animation cause some repetitive animation, so I've added an option to change or remove the refreshAniDuration

Thanks and sorry it took so long to reply (I've been very busy lately)! I will now merge it.

Thanks for merge. But what is about min version (compressed one)?
Or, could you tell, please, what compiler do you use to make it?

Just updated the min version and the docs too! Thanks!

I don't use a compiler for now, maybe I should..

Actually, I meant I don't use an automated build system for the source - otherwise I use YUI compressor. Here's an online version http://www.refresh-sf.com/yui/


Bump to CLIc version 0.13.0

With 0.12.1 doesn't build
./target/classes/net/clesperanto/macosx-arm64/libjnijclic.dylib
./target/classes/net/clesperanto/macosx-arm64/libjnikernelj.dylib

on macos

I do not see any issue on my M2 with the version 0.12.1. All is building well, including these files, with the exception of the tests (see #68) which fails.
Nothing against moving to the 0.13.0 but nothing in the core code has been modified.

@tpietzsch how is it failing on your machine?

huh. I just tried again and it works. sorry, then ignore this PR please...

I think I still don't understand something. I thought that the build would checkout


GA: The user can see exactly what Cody used a context when providing a response to a chat prompt

done via https://github.com/sourcegraph/jetbrains/pull/822, https://github.com/sourcegraph/jetbrains/pull/559, https://github.com/sourcegraph/jetbrains/pull/552


Fix delete command multiple keyword search

I realised the reason the AND-search is not working may be because the getFilteredFloatingTaskList() of the model component is doing an OR-filter. I'll check and get back to you.

yes, my FindCommand calls updateFilteredFloatingTaskList(keywords) to update the internallist.

Fixed! well done

Sorry it's not working well yet..

@CS2103JUN2017-T2/developers
I'll need some time to read up on lambda expressions and on the Predicate interface.

Fixed by #62. Closing issue.


Mutually exclusive/dependent ParamGroups with no name are not validating exclusivity/dependence

How to reproduce:
class GroupedFlags(Command):
    with ParamGroup(mutually_exclusive=True):
        a = Flag('-a')
        b = Flag('-b')

    def main(self):
        print(' '.join(c for c in 'ab' if getattr(self, c)))

->
$ test.py -ab
a b

Workaround:
class GroupedFlags(Command):
    with ParamGroup(mutually_exclusive=True) as group:
        a = Flag('-a')
        b = Flag('-b')

    def main(self):
        print(' '.join(c for c in 'ab' if getattr(self, c)))

->
$ test.py -ab
argument conflict - the following arguments cannot be combined: --a / -a, --b / -b (they are mutually exclusive - only one is allowed)

Fixed.


wrapWords not working

Even with wrapWords = false, autoSizeText still breaks up a single word - see screenshot.
Steps to Reproduce
Set wrapWords = false, maxFontSize = 200, minFontSize = 20, data="BECAUSE I'M LOVIN' IT!"
Screenshots
If applicable, add screenshots to help explain your problem.

Version

Flutter version: [e.g. 1.7.2]
auto_size_text version: [2.0.0+2]

Thanks, I'll check that...

Thank you for reporting this bug! It is fixed in version 2.0.1.

yup, you fixed it!  thanks so much.  good work.


AKS Script

Type of PR

[ ] Documentation changes
[ ] Code changes
[ ] Test changes
[ ] CI-CD changes
[ ] GitHub Template changes
[X] Automation Script changes

Purpose of PR
Automate the cluster creation process
For testers: Usage:
cd IaC/scripts
./create-cluster-env.bash --help # will print help
./create-cluster-env.bash -s azure-subsription-name -n basename123

./create-cluster-env.bash --help output:
    ./create-cluster-env.bash --ngsa-prefix basename123 [Optional Args/Flags]
    ./create-cluster-env.bash -s azure-subs -n basename123 [Optional Args/Flags]

Required args:
    -n | --ngsa-prefix BASE_NAME    This will be the NGSA prefix for all resources
                                    Do not include punctuation - only use a-z and 0-9
                                    must be at least 5 characters long
                                    must start with a-z (only lowercase)
Optional args:
    -s | --subscription AZ_SUB      Azure Subscription Name or ID
    -e | --env ENVIRONMENT          Environemnt Type. Default: dev (See README.md for other values)
    -d | --domain DOMAIN_NAME       Registered Domain Name. Default: nip.io (Requires --email)
    -m | --email EMAIL_DOMAIN       Required Email if a '--domain' is given
    -l | --location LOCATION        Location where the resources will be created. Default: westus2
    -k | --k8s-ver K8S_VERSION      Kubernetes version used. Default: 1.18.8
                                    Use 'az aks get-versions -l westus2 -o table' to get supported versions
    -c | --node-count NODE_COUNT    Cluster Node Count. Default: 3
    -r | --dns-rg DNS_RG            DNS Resource group name. Default: dns-rg
    -i | --cosmos-key COSMOS_KEY
    -u | --cosmos-url COSMOS_URL    In case users want to use their own CosmosDBBoth Key and URL are empty by default.
Optional Flag:
    -x | --set-k8s-context          Sets the kubernetes context for current user in /home/kushal/.kube/config
    -o | --smoke-it                 Set it to true or false to enable smokers deployment. Default: false
    -h | --help                     Show the usage

Validation

[X] Ran test and verified manually
[ ] Update documentation or issue referenced above

Issues Closed or Referenced

Closes #126
References #105

Did a git reset and tested again. It seems ngsa Helm deployment fails, because "zone" and "region" is nil in helm-config.example.  But if I set them manually, it works. Any thoughts?


how to identify different types of lanes？double yellow, solid white, dotted white, etc

I'm trying to make the model  be able to identify different types of lanes (double yellow, solid white, dotted white, etc.). Do you have any suggestions for this? thanks.

Output tensor has 5 dimensions, 0:background,1-4:4 different lanes. Use the line generator script(they used matlab) from the original scnn repo(Lua implementation), you can get 4 instances.
But the result sometimes is not very promising. See my result/ thinking from #89 for details, basically sometimes there are mixing lane points for a single lane. I search all lane points altogether and did clustering.

Hi @cardwing it would be very kind of you if you can share some insight on my question in #89 as well:) thanks in advance!

@zguo008  thank you for your reply.    I encountered similar problems, the most left lane and  left lane are sometimes not clear, will be mixed together.

Hi  @cardwing  I think it is hard to  identify different types of lanes and identify different position of lanes，That's going to be multi-label network。Do you have any suggestions for this? thanks.

@SuperPengXue, maybe you can refer to VPGNet.


Wavy text for enemy dialogue

The problem

In the battle system, I tried to make a wavy text by using...
{effect 1}
...but I can only make the text shaky...

The solution

...so you can add a wavy text option and set the wavy text effect to 1 which will look like {effect 1}
Thanks for reading...

sin and cos function can help you to make the text effect

Yeah, it can help me but I don't know how to do sine and cosine function in GML language. Also, if I knew sines and cosines, it would require a lot of code changes in my opinion. Let's leave the job to TML. They know how their engine works.


[EXPERIMENTAL] using PerformanceObserver to trigger video elem & lib load

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #189
Test URLs:

Before: https://main--bevespi--hlxsites.hlx.page/
After: https://exp-load-video-after-lcp--bevespi--hlxsites.hlx.page/how-to-use-bevespi-inhaler

@dicagno shall we close this since we are mitigating it in a different way?