renaming a received shared folder does not work

as einstein share a folder with richard
as richard accept the folder
as richard try to rename the received shared folder

expected:
user should be able to rename a received folder
actual:
HTTP code 500 is returned
ocis log:
2020-10-16T12:36:53+05:45 ERR home/artur/go/pkg/mod/github.com/cs3org/reva@v1.2.2-0.20200924071957-e6676516e61e/internal/grpc/services/storageprovider/storageprovider.go:444 > error moving file error="ocfs: error moving /var/tmp/ocis/owncloud/932b4540-8d16-481e-8ef4-588e4b6b151c/files/Shares/123 to /var/tmp/ocis/owncloud/932b4540-8d16-481e-8ef4-588e4b6b151c/files/Shares/renamed: rename /var/tmp/ocis/owncloud/932b4540-8d16-481e-8ef4-588e4b6b151c/files/Shares/123 /var/tmp/ocis/owncloud/932b4540-8d16-481e-8ef4-588e4b6b151c/files/Shares/renamed: no such file or directory" pkg=rgrpc service=storage traceid=4ea2a5ea20c3da69080cf5f259c62e62
2

This is not happening anymore, however renaming a shared folder does not rename the original folder. Opening a new ticket for this.

This is not happening anymore, however renaming a shared folder does not rename the original folder. Opening a new ticket for this.

This is not happening anymore, however renaming a shared folder does not rename the original folder. Opening a new ticket for this.

The share receiver should be able to rename the folder that they receive. And the original owner (the sharer) should still have the folder with the original name.
Maybe I misunderstand what you wrote, but the original shared folder should not get renamed.

This is not happening anymore, however renaming a shared folder does not rename the original folder. Opening a new ticket for this.

The share receiver should be able to rename the folder that they receive. And the original owner (the sharer) should still have the folder with the original name.
Maybe I misunderstand what you wrote, but the original shared folder should not get renamed.

This is not happening anymore, however renaming a shared folder does not rename the original folder. Opening a new ticket for this.

@refs The share receiver should be able to rename the folder that they receive. And the original owner (the sharer) should still have the folder with the original name.
Maybe I misunderstand what you wrote, but the original shared folder should not get renamed.

So, are we treating shared folders as copies and not a reference to the original folder?
A good analogy the way I see it is pointer semantics; the current approach treats shared folders as pointers to the original folder, and not something that belongs to the sharee. I think I also don't have oc10 background, and my interpretation might be unfounded 😅.
As I didn't manage to reproduce the original issue report I closed it and made a note to open a new one with my findings.

This is not happening anymore, however renaming a shared folder does not rename the original folder. Opening a new ticket for this.

@refs The share receiver should be able to rename the folder that they receive. And the original owner (the sharer) should still have the folder with the original name.
Maybe I misunderstand what you wrote, but the original shared folder should not get renamed.

So, are we treating shared folders as copies and not a reference to the original folder?
A good analogy the way I see it is pointer semantics; the current approach treats shared folders as pointers to the original folder, and not something that belongs to the sharee. I think I also don't have oc10 background, and my interpretation might be unfounded 😅.
As I didn't manage to reproduce the original issue report I closed it and made a note to open a new one with my findings.

So, are we treating shared folders as copies and not a reference to the original folder?

They are a reference to the original folder. Like a soft-or-hard-link, the sharee (share receiver) can rename that reference to have whatever name they want. It still "points"/"links" to the sharer's files.
If the sharee renames a folder (or file) within the received share, then the sharer sees that change. The sharer and sharee have the same view of all the resources inside the share.
It is just the "top-level" name of the received share that the sharee can rename. IMO the logic of that is that the sharee might receive multiple shares from different people, that happen to have the same (or similar) names. So the sharee can "sort out" their local file system view by renaming received shared folders to names that make more sense to them.

So, are we treating shared folders as copies and not a reference to the original folder?

They are a reference to the original folder. Like a soft-or-hard-link, the sharee (share receiver) can rename that reference to have whatever name they want. It still "points"/"links" to the sharer's files.
If the sharee renames a folder (or file) within the received share, then the sharer sees that change. The sharer and sharee have the same view of all the resources inside the share.
It is just the "top-level" name of the received share that the sharee can rename. IMO the logic of that is that the sharee might receive multiple shares from different people, that happen to have the same (or similar) names. So the sharee can "sort out" their local file system view by renaming received shared folders to names that make more sense to them.

So, are we treating shared folders as copies and not a reference to the original folder?

They are a reference to the original folder. Like a soft-or-hard-link, the sharee (share receiver) can rename that reference to have whatever name they want. It still "points"/"links" to the sharer's files.
If the sharee renames a folder (or file) within the received share, then the sharer sees that change. The sharer and sharee have the same view of all the resources inside the share.
It is just the "top-level" name of the received share that the sharee can rename. IMO the logic of that is that the sharee might receive multiple shares from different people, that happen to have the same (or similar) names. So the sharee can "sort out" their local file system view by renaming received shared folders to names that make more sense to them.

Thanks for clarifying it, it makes sense.

So, are we treating shared folders as copies and not a reference to the original folder?

They are a reference to the original folder. Like a soft-or-hard-link, the sharee (share receiver) can rename that reference to have whatever name they want. It still "points"/"links" to the sharer's files.
If the sharee renames a folder (or file) within the received share, then the sharer sees that change. The sharer and sharee have the same view of all the resources inside the share.
It is just the "top-level" name of the received share that the sharee can rename. IMO the logic of that is that the sharee might receive multiple shares from different people, that happen to have the same (or similar) names. So the sharee can "sort out" their local file system view by renaming received shared folders to names that make more sense to them.

Thanks for clarifying it, it makes sense.

IMO the logic of that is that the sharee might receive multiple shares from different people, that happen to have the same (or similar) names. So the sharee can "sort out" their local file system view by renaming received shared folders to names that make more sense to them.

It actually has even to happen automatically. If the sharee receives shares with the same name from multiple parties oC10 renames them on the the sharee side by adding a number to it e.g. Documents (2)

IMO the logic of that is that the sharee might receive multiple shares from different people, that happen to have the same (or similar) names. So the sharee can "sort out" their local file system view by renaming received shared folders to names that make more sense to them.

It actually has even to happen automatically. If the sharee receives shares with the same name from multiple parties oC10 renames them on the the sharee side by adding a number to it e.g. Documents (2)


analytics: Change cron job to use hour boundaries.

Should have mentioned in the commit message, but this includes a migration that clears all the analytics data.

Automated message from Dropbox CLA bot
@rishig, it looks like you've already signed the Dropbox CLA. Thanks!

updated

Merged, thanks @rishig!


DX Improvement: implement log streaming (--follow, much bigger project)

ETA: 2023Q2
step 2 of  https://github.com/filecoin-project/bacalhau/issues/314
Is this very useful for now ?

this is interesting - and useful! but why wouldn't this just be an overload of --local?

i don't see how streaming logs from a running job has anything to do with --local
anyway, here's one way to implement it:

include node addresses in the job metadata for a running job
CLI can make a websocket connection or libp2p bitswap connection directly to one or more of the servers that are running a job
when the connection is made initially, the backend streams the contents of docker logs -f <containerid> over the websocket/bitswap stream

Yeah I think I put the local comment on the wrong issue. Deleting

this is a big project, we should write a design doc for it - also, it's not particularly high priority

Sharing an update that this feature will also be helpful for our partners LabDAO.
Goal: the request is for a way to pipe the stdout/stderr logs to a logging service or the user as the job is running.
Benefit: to improve user feedback for longer running jobs. The attached image shows an example for a molecular docking tool that fills in a progress bar as the program runs. A little more helpful than the generic job running that bacalhau shows.

First pass of logstreams is complete, and merged. There are a couple more tickets to improve what is there, but currently you can
$ bacalhau docker run -f myimage
# or
$ bacalhau logs <jobid>
$ bacalhau logs -f <jobid>


Fix can't download video

Details

Can't download option from the video popover menu because we are adding encrypted auth token twice to the download url.
Fixed Issues

$ https://github.com/Expensify/App/issues/43117
PROPOSAL: https://github.com/Expensify/App/issues/43117#issuecomment-2150116236
Tests

Same as QA Steps

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

Offline tests

Same as QA Steps
QA Steps

Send a video to any chat
Open the video preview
Press the three-dot button
Press the download option
Verify the video is downloaded

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/457b7710-96c0-4813-b59f-b755385dd68f

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/7a4cb7e9-4977-4c83-8d06-9fbf4105559f

iOS: Native

https://github.com/Expensify/App/assets/50919443/c6e624cb-9a73-4a04-b5e7-3060b92f16da

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/f233b008-57b5-4470-bc66-030632764a38

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/b33e6533-acaf-45c5-82a0-63d933adddaa

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/ead97e2d-5013-4085-a1b9-d3778265c4b9

Reviewer Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/35371050/e1363da8-3a2c-4762-95db-e322fc5e4ae4

Android: mWeb Chrome
https://github.com/Expensify/App/assets/35371050/b448ff3e-b20a-46c0-b675-64623de501e1

iOS: Native
https://github.com/Expensify/App/assets/35371050/4cc2cf6e-295f-4f51-b142-6db21f8c2646

iOS: mWeb Safari
https://github.com/Expensify/App/assets/35371050/9c545f0c-3bdb-406a-b45d-15d860b6f936

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/35371050/7def9022-9e26-4c06-a9d9-f83b90583923

MacOS: Desktop
https://github.com/Expensify/App/assets/35371050/cdcfac93-0b3c-4951-8ca8-250c62055d8f

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/grgia in version: 1.4.86-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/grgia in version: 1.4.86-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/grgia in version: 1.4.86-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/AndrewGable in version: 9.0.0-9 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Update TTS Tasks page.

Wee update to the models listed, just making it a bit more current.

I forgot what's the protocol here. Is this good to merge?


Is there any way to create clickable text?

For example: in Telegram, a bot can send a command marked with a backslash, the user just needs to click on it.
Is there any way to create clickable text

?

@dronmaxman could you say a bit more about what you're trying to do? What are some examples of what clicking on the text should do/how you would use this? Thanks!

Every time I want to contact a bot, I need to write on keyboard. It is possible to make text (for example, a hyperlink), when clicked, it will interact with the bot, send some command to the bot without a keyboard.
For example, I call a bot
@bot help
he answers me
Hello, the commands that are available to me:
@bot help
@bot status
@bot list
now I can just click on "@bot status" to send a command to the bot


Any WaveNet related plans?

Hello, everyone.
Thanks you for your amazing work in this repo. Guys, could you please shed the light if you plan to do som WaveNet implementation/integration with nv-wavenet?

Yes, we are working on wavenet


Account with this username does not exist

Hi
I applied #290, but my script returns "Account with this username does not exist"
$account = $instagram->getAccount($username);
This is weird... Thanks

Same problem here. It's even more confusing, because I'm running the exact same version of the scraper on an other machine, and that works fine. I have no clue. Does anyone have an idea?

Please is there any fix to the above problem? "Account with this username does not exist". Everything works fine on localhost, but triggers the error when uploaded to remote hosting account. I'm comfused.

@Johnnydoncom had the same issue back in 2018. Make sure when you deploy the site all the packages are updated, too. After upgrading the package to the latest version it was all sorted. Just tried again and the getAccount() method still works for me properly on both local and production with a version of "^0.8.22".
If all looks good but still doesn't work, giving a go rebooting your server may give you some luck perhaps.
Good luck!

as @UXandre  mentioned 0.8.22 worked after downgrading the package, but only for single use, afterwards it throws the same error


Add logging to tensorprob

We've so far skipped logging in various places where it would have made sense.
Let's add some nice colorful logging output!

How about using colorlog?

This was fixed by 3204ab8ac10c1e3131c424fbb26a3cc6846f880b


Investigate first class contract features which are no longer being used

Problem
We were previously looking to have first class support for contracts, now that this has changed, we should remove these from the compiler
Happy Case
.
Alternatives Considered
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response

#3580 is one example of this

Grepping for is_contract should give an incling

We also supported the Map type in globals inside of contracts which I believe is not being used either

Are we removing contracts entirely? is_contract is used on a module to flag that the contents of that module are part of a contract defined by the module's name.


bundle chakra in window for CSR

Question for reviewers, this solution isn't very scalable, it would be better if there's a way to register what libraries are going to be in window

Question for reviewers, this solution isn't very scalable, it would be better if there's a way to register what libraries are going to be in window

How about providing an app method register_var_component to allow arbitrary CSR components rather than just the predefined ones?

providing an app method register_var_component

well, it would need to happen at the library level (because we don't expect people to register every single component they are going to use), but that's a bit abstracted (we don't really mention radix much, so how would you figure out you have to write @radix-ui/themes

providing an app method register_var_component

well, it would need to happen at the library level (because we don't expect people to register every single component they are going to use), but that's a bit abstracted (we don't really mention radix much, so how would you figure out you have to write @radix-ui/themes

Well the core components could be "automatically" registered, while third party comp would have to be registered manually if they want them for dynamic rendering.

Currently one can do:
bundle_library(rc.button())

and that would bundle reflex chakra

s still up to the developer to call rx.dynamic.bundle_library (...) to have their libs included in the window

yes, otherwise reflex wouldn't bundle the library in window


refactor(FX-3288): Refactor useArtworkFilters and use it on artwork pages

The type of this PR is: Refactor
FX-3288
This PR resolves []
Description
In the current implementation, each artworks page (except partner page) duplicates logic of remembering aggregations on first request and refetching data
Expected format of hook usage:
Instead of
useEffect(() => {
  setAggregationsAction(artworks?.aggregations)
}, [])

useEffect(() => {
  if (relay !== undefined && applyFilters) {
    relay.refetchConnection(
      10,
      (error) => {
        if (error) {
            throw new Error("ArtistSeries/ArtistSeriesArtworks filter error: " + error.message)
        }
      },
      { input: prepareFilterArtworksParamsForInput(filterParams) }
    )
  }
}, [appliedFilters])

in each artworks page component we can (in most cases) use
useArtworkFilters({
  relay,
  aggregations: artworks?.aggregations,
  componentPath: "ArtistSeries/ArtistSeriesArtworks",
  pageSize: 10,
})

Refactored hook also takes such optional parameters as custom refetchVariables, onApply and onRefetch callbacks
PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[ ] I have tested my changes on iOS and Android.
[ ] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 327b76ccc32aed993f2c4078a7b21920e60c30b7


This was the error I got when I ran carthage update SwipeViewController

Dependency "SwipeViewController" has no shared framework schemes

This was the error I got when I ran carthage update SwipeViewController

I'll look into it.

Could you try it now?

I'll go to
在 2018-03-14 18:51:39，"Marek Fořt"<EMAIL_ADDRESS>写道：
Could you try it now?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I'm sorry, but it's the same mistake.
在 2018-03-14 18:51:39，"Marek Fořt"<EMAIL_ADDRESS>写道：
Could you try it now?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Hmm, could you point to the latest commit? I have not made a new release.

It works for me, I'll push it as a new release and that should do it. Tell me if it works and I will close this issue.


Confusing analyzer error when tightening return type with abstract override

The following Dart code results in an analysis error:
class A {
  num getValue() => 1;
}

// error: 'A.getValue' ('() → num') isn't a valid override of
//        'B.getValue' ('() → int').
class B extends A {
  @override
  int getValue();
}

This message is confusing because B is a subtype of A, and the wording implies that A.getValue is overriding B.getValue, which is backwards.
The presence of the error makes sense, since there's no concrete implementation of getValue that satisfies the typing declared in B's override.
However, the wording doesn't convey that well (and at first, my team and I thought that this error was some sort of analyzer bug).

This issue is reproducible on Dart SDK version 2.2.0

Reversed methods in the message is tracked here. https://github.com/dart-lang/sdk/issues/37993

Reversed methods in the message is tracked here. https://github.com/dart-lang/sdk/issues/37993

@greglittlefield-wf wrote:

... which is backwards

Note this comment, addressing this backwardness issue.

@greglittlefield-wf wrote:

... which is backwards

Note this comment, addressing this backwardness issue.


etcd 2.0.3 does not shut down gracefully to Ctrl-C

Create a 3-node etcd cluster, for example I run
docker run --net=host quay.io/coreos/etcd:v2.0.3 -name ubuntu1404-3.vagrant.local -initial-cluster ubuntu1404-2.vagrant.local=http://ubuntu1404-2.vagrant.local:7002,ubuntu1404-3.vagrant.local=http://ubuntu1404-3.vagrant.local:7002,ubuntu1404-4.vagrant.local=http://ubuntu1404-4.vagrant.local:7002 -initial-cluster-token vagrant-cluster -initial-cluster-state new -listen-peer-urls http://<IP_ADDRESS>:7002 -listen-client-urls http://<IP_ADDRESS>:7001 -initial-advertise-peer-urls http://ubuntu1404-3.vagrant.local:7002 -advertise-client-urls http://ubuntu1404-3.vagrant.local:7001 -data-dir=/etcd-data

Status: Image is up to date for quay.io/coreos/etcd:v2.0.3
2015/02/19 19:21:03 netutil: Resolving ubuntu1404-3.vagrant.local:7002 to <IP_ADDRESS>:7002
2015/02/19 19:21:03 netutil: Resolving ubuntu1404-3.vagrant.local:7001 to <IP_ADDRESS>:7001
2015/02/19 19:21:03 etcd: listening for peers on http://<IP_ADDRESS>:7002
2015/02/19 19:21:03 etcd: listening for client requests on http://<IP_ADDRESS>:7001
...
2015/02/19 19:21:10 etcdserver: published {Name:ubuntu1404-3.vagrant.local ClientURLs:[http://<IP_ADDRESS>:7001]} to cluster 48d98e5bd3c7c40d
2015/02/19 19:21:14 sender: the connection with 8df456c2d95ec1db became active
2015/02/19 19:21:15 raft: 43a30f14c40b02b4 received msgApp rejection(lastindex: 4786) from 8df456c2d95ec1db for index 4869
2015/02/19 19:21:15 raft: 43a30f14c40b02b4 decreased progress of 8df456c2d95ec1db to [next = 4787, match = 0, wait = 0]
^C2015/02/19 19:22:59 received interrupt signal, shutting down
2015/02/19 19:22:59 rafthttp: server streaming to 8df456c2d95ec1db at term 8 has been stopped
2015/02/19 19:22:59 rafthttp: server streaming to c57cde6e25c41c1b at term 8 has been stopped
2015/02/19 19:23:00 rafthttp: error processing raft message: raft: stopped
2015/02/19 19:23:00 rafthttp: error processing raft message: raft: stopped
2015/02/19 19:23:00 rafthttp: error processing raft message: raft: stopped
2015/02/19 19:23:00 rafthttp: error processing raft message: raft: stopped

This 'rafthttp' error continues indefinitely, and the process never dies.

In this case, etcd runs as PID 1 within your container. As a result, the kernel marks the process with SIGNAL_UNKILLABLE which prevents it from being killed by a signal. etcd will need to check if it is the init process and just exit if that's the case.

etcd indicates that it receives my signal -- 2015/02/19 19:22:59 received interrupt signal, shutting down.  Are you saying that etcd does in fact not ever exit, but assumes some process will come by and kill it more forcefully later?  That does indeed sound like a serious problem that needs to be fixed...

Normally the kernel does this. In the case of PID 1, however, it explicitly does not (to avoid kernel panics).
It's been fixed in https://github.com/coreos/etcd/pull/2343.


v0.2.0 release

We should include these in the next release:

[x] Add instructions for authenticating to a registry for the controller https://github.com/tektoncd/chains/issues/86
[x] ITE-6 as a formatter  https://github.com/tektoncd/chains/issues/65
[ ] Docs/Readme improvements #102

and it would be nice to have these as well!

[ ] Figure out ITE-5/SSL Signing Spec integration #75
[ ] Sign chains releases with chains #84

we did this!


Tab bar styling

Version
Tell us which versions you are using:

react-native-router-flux v4.0.0-beta.21
react-native v0.45.1

Problem
I recently migrated from v3 and I have a hard time styling my main tab bar.
I have two goals:

Change the color of the top border of the tab bar:
I've tried the tabBarStyle prop, but it doesn't seem to work anymore and I didn't find a specific prop for that in your documentation.

Change the icon color of my active tab:
With v3 I used the 'icon' prop of the nested scenes and computed the icon based on the title and the selected boolean:

const TabIcon = ({ selected, title }) => {
  switch (title) {
    case 'dash':
      return (
        <Ionicons name={selected ? 'ios-speedometer' : 'ios-speedometer-outline'} size={30} color={selected ? Colors.themeColor : Colors.label} />
      )
    case 'mess':
      return (
        <Ionicons name={selected ? 'ios-mail' : 'ios-mail-outline'} size={30} color={selected ? Colors.themeColor : Colors.label} />
      )
    case 'params':
      return (
        <Ionicons name={selected ? 'ios-settings' : 'ios-settings-outline'} size={30} color={selected ? Colors.themeColor : Colors.label} />
      )
  }
}

But now, the selected boolean is always undefined...
I thought that it was the role of activeTintColor now, so I removed the color prop of my icons and set the activeTintColor prop to the desired value, without success...
Do you have any idea?
Thanks!
Scene:
<Tabs key='tabbar' tabs showLabel={false} activeTintColor={Colors.themeColor} inactiveTintColor={Colors.label} tabBarPosition='bottom' activeBackgroundColor='#111' inactiveBackgroundColor='#111'>
  <Scene key='dashtab' initial title='dash' icon={TabIcon}>

For #2, the attribute selected changed to focused

I looked into your first issue, you should be able to use tabBarStyle to do your top border. I looked in the source code and tested it locally. Let me know what further issues you are having. I will update the docs as well.

Docs are updated, thanks to @mcabs3

@aksonov i couldn't find it in the docs. i was at a loss of why selected prop wasn't working until i found this thread :P


fix fix add_array_null_value for inverted index_builder

Proposed changes
in index_builder.cpp we should also handle function add_array_null which happend in alter statement
Issue Number: close #xxx

run buildall

run cloud_p0

run buildall

run p0

run p0

run p0


[DV] Progress towards CI flow setup for DV

At this point, we have the necessary regression tool in place to start running DV simulations in CI when PRs are made. However, there are a few IPs whose sanity tests are still not passing since they are actively under debug. This issue serves as a tracker to get them resolved and added to the CI flow.

[x] AES CSR tests failing - under debug

[x] I2C tests not yet available - PR from @tunghoang290780 under review

[x] UART sanity not passing - change in the way some interrupts behave

[x] Chip level CSR tests not passing - under debug

[ ] USBDEV sanity test not constructed - considering at least all CSR tests in the sanity bucket are passing, only the sanity test needs to be constructed

[x] XBAR main and peri - this is not yet setup to run with dvsim flow (Done in #1504)

[x] Work with LR to deploy the flow

@asb, @imphil,
The regression script for running all DV sanity sims in one shot is now available. Would someone from LR please give the following command a try:
 ./util/dvsim.py hw/top_earlgrey/data/top_earlgrey_sim_cfgs_list.hjson -i sanity --max-parallel 3

The goal of this exercise is to work out any kinks in running this before we deploy it as a CI check. The --max_parallel switch puts a limit on how many sims can be run in parallel - I'd guess the # of licenses is a limiting factor so you can adjust that number accordingly.
We will work on adding a 'lite' results mode where it exits with error if even a single failure is encountered; and also display results in a smaller and more concise table. I will work on documentation for this tool as well (there isn't any at the moment, just the --help switch).

Now that AES sanity is passing, I have added it into the regression list in #1495.

The sanity regression now runs in the "CI (private)" job you see under all pull requests and takes between 5 and 10 min to complete.

Chip level testing is now enabled with dvsim in #1689. They will now get run as a part of private CI as well as nightly.

Work on i2c and usbdev sanity tests are underway, but they are not blocking the DV CI, which has now been effectively setup. Closing this issue.


Full planet import - Could not resize shared memory segment

Hello, I'm trying to setup a nominatim docker container on a AWS EC2 instance, specifically a r6g.4xlarge (16 vCPU, 128GB RAM, 1000GB io1 SSD).

I get the following error after indexing rank 18 (it took 9 hours to get here):

2022-07-21 00:37:01: Done 94796/94796 in 165 @ 571.892 per second - FINISHED boundaries rank 18
2022-07-21 00:37:01: Starting boundaries rank 19 (using batch size 1)
Traceback (most recent call last):
File "/usr/local/bin/nominatim", line 11, in
exit(cli.nominatim(module_dir='/usr/local/lib/nominatim/module',
File "/usr/local/lib/nominatim/lib-python/nominatim/cli.py", line 235, in nominatim
return parser.run(**kwargs)
File "/usr/local/lib/nominatim/lib-python/nominatim/cli.py", line 96, in run
return args.command.run(args)
File "/usr/local/lib/nominatim/lib-python/nominatim/clicmd/setup.py", line 115, in run
indexer.index_full(analyse=not args.index_noanalyse)
File "/usr/local/lib/nominatim/lib-python/nominatim/indexer/indexer.py", line 122, in index_full
self.index_boundaries(0, 30)
File "/usr/local/lib/nominatim/lib-python/nominatim/indexer/indexer.py", line 143, in index_boundaries
self._index(runners.BoundaryRunner(rank, analyzer))
File "/usr/local/lib/nominatim/lib-python/nominatim/indexer/indexer.py", line 195, in _index
total_tuples = cur.scalar(runner.sql_count_objects())
File "/usr/local/lib/nominatim/lib-python/nominatim/db/connection.py", line 43, in scalar
self.execute(sql, args)
File "/usr/local/lib/nominatim/lib-python/nominatim/db/connection.py", line 27, in execute
super().execute(query, args)
File "/usr/lib/python3/dist-packages/psycopg2/extras.py", line 142, in execute
return super(DictCursor, self).execute(query, vars)
psycopg2.errors.DiskFull: could not resize shared memory segment "/PostgreSQL.2005656122" to 50438144 bytes: No space left on device

Storage usage is 50%, so I don't think this is the issue.
Is it possible to resume the indexing process? Do you think I can improve my environment parameters?
Thanks

Googling the error leads me to this stackoverflow: https://stackoverflow.com/questions/56751565/pq-could-not-resize-shared-memory-segment-no-space-left-on-device
So, you need to add --shm-size=1g to the docker command, which is documented in the readme.
On a related note, since we are getting more help requests for importing an entire planet, would you be interested in contributing some documentation on how to do it?
I can include things like:

hardware type
required disk size
required RAM
config params
docker params

Googling the error leads me to this stackoverflow: https://stackoverflow.com/questions/56751565/pq-could-not-resize-shared-memory-segment-no-space-left-on-device
So, you need to add --shm-size=1g to the docker command, which is documented in the readme.
On a related note, since we are getting more help requests for importing an entire planet, would you be interested in contributing some documentation on how to do it?
I can include things like:

hardware type
required disk size
required RAM
config params
docker params

Hi Leonard. As you've said, i was entering shm-size as a nominatim environment parameter instead of entering as a docker container parameter.
Now it's running fine. I've configured my AWS EC2 instance with some overkill specs I think, I've used a r6g.4xlarge instance, which has 128GB of RAM, 16 vCPUs and also chose a io1 1tb with 32000 IOPS volume for the import. It took about two days to finish.


iBridges integration tests

Almost working, just some problems with the key that becomes uppercase for which I need @chStaiger!

The uppercase Metadata keys com from this line:
https://github.com/UtrechtUniversity/iBridges/blob/dfdfe932529cbacf60d23cc71becec2eb2658542/ibridges/irodsconnector/meta.py#L50
It was once good practice to capitalise keys, however times have changed and I think we can drop that ;)

@chStaiger Thanks! I have moved from the python script to using pytest for our integration test. It might be a while for them to be all done. ;)

Let me know if I can be of any help!

@chStaiger I think for this PR, this is enough. Expansion of the integration tests can be done in another PR I think.


[fix][txn] Transaction metadata client cnx is null

Motivation
fix transactionMetadataStoreHandle cnx is null.
https://github.com/apache/pulsar/blob/b13d15c4d6d795f33c6ed23f920fabbb3eeaf745/pulsar-client/src/main/java/org/apache/pulsar/client/impl/TransactionMetaStoreHandler.java#L134-L154
because
https://github.com/apache/pulsar/blob/b13d15c4d6d795f33c6ed23f920fabbb3eeaf745/pulsar-client/src/main/java/org/apache/pulsar/client/impl/TransactionMetaStoreHandler.java#L142
is the async method, set cnx, and change to ready state is not an atomic operation.

set cnx into this handle
reconnect will set the cnx to null https://github.com/apache/pulsar/blob/29308e48b78a01959ee8067dbcac67d0e903e8a4/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConnectionHandler.java#L101
then send connect request and get a response that will change state to ready state.
the client will not reconnect because the state is ready
the cnx also is null. transactionMetadataStoreHandle will not do txn op.

Modifications
fix race condition
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull requestintroducese a new feature? (yes)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create afollow-upp issue for adding the documentation

/pulsarbot run-failure-checks


Review Licensing

There are two overarching options here:

Keep as separate repos (not the current plan) and therefore we have license flexibility or.
Merge the repos (the current desire/plan) and that would mean we are Apache 2.

We basically need to make sure our tech stack is Apache 2 compliant. If it is, this is trivial. Time spent will be in making that determination.

It looks like we are good on this issue based on the output above.


Install and use VScode

Install Vscode on laptop

connect to omega through ssh remote connection

VS was installed with the Remote - SSH extension. The connection to cybele was successful.

to pipe omega thorugh cybele, add the following line in a ssh/config file
(instruction here:
https://superuser.com/questions/1537763/location-of-openssh-configuration-file-on-windows)
Host omega.gat.com
HostName omega.gat.com
User guterlj
ProxyCommand ssh -p 2039 @.*** nc %h %p 2> /dev/null
On Wed, Oct 9, 2024 at 5:41 PM LC-GA @.***> wrote:

VS was installed with the Remote - SSH extension. The connection to cybele
was successful.
—
Reply to this email directly, view it on GitHub
https://github.com/DIII-D/GITRmProject/issues/3#issuecomment-2403477892,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEESMZGIZDH734MELFZMPL3Z2WPFXAVCNFSM6AAAAABPVGUMVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBTGQ3TOOBZGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

also copy ssh key on both cybele and omega to access it without typing
password
On Wed, Oct 9, 2024 at 6:09 PM Jerome Guterl @.***> wrote:

to pipe omega thorugh cybele, add the following line in a ssh/config file
(instruction here:
https://superuser.com/questions/1537763/location-of-openssh-configuration-file-on-windows)
Host omega.gat.com
HostName omega.gat.com
User guterlj
ProxyCommand ssh -p 2039 @.*** nc %h %p 2> /dev/null
On Wed, Oct 9, 2024 at 5:41 PM LC-GA @.***> wrote:

VS was installed with the Remote - SSH extension. The connection to
cybele was successful.
—
Reply to this email directly, view it on GitHub
https://github.com/DIII-D/GITRmProject/issues/3#issuecomment-2403477892,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEESMZGIZDH734MELFZMPL3Z2WPFXAVCNFSM6AAAAABPVGUMVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBTGQ3TOOBZGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


add boostrap_line_paginator_with_emojis util

Closes #261

@jchristgit I have just your response.
paginate is a class method, i won't be able to access the pagination_emojis instance attribute if I do it like that.
So in this case, you'd still have to pass it each time to the paginate method, which itself instantiates a LinePaginator

What about this?
def boostrap_line_paginator_with_emojis(pagination_emojis: PaginationEmojis) -> type[LinePaginator]:
    """Bootsrap a LinePaginator class with custom emojis."""
    class _LinePaginator(LinePaginator):
        @classmethod
        async def paginate(cls, *args, **kwargs) -> discord.Message | None:
            return await cls.paginate(*args, **kwargs, pagination_emojis=pagination_emojis)

Yeah that works, I just want to avoid args and kwargs generally but yeah

Yeah that works, I just want to avoid args and kwargs generally but yeah

Why the hate against args and kwargs?
I think that we should use my solution but I'm biased. @ChrisLovering what do you think?

Because the signature doesn't tell you anything about the function anymore, and the api loses meaning. The only way to find out is to read inside the wrapped method

Hmmmm, not sure about that.
You're exposing a new public interface for your clients, so the maintenance is part of the job. What you're trying to do, wrapping it, adding or removing stuff doesn't matter. I don't know, it just doesn't sit well with me for some reason.

@jchristgit How about we do it like this

from functools import partial

class LinePaginator:

    @classmethod
    def idk_what_to_call_this_but_it_returns_a_new_paginator_with_emojis(cls, emojis):
        paginator = type(cls.__name__, cls.__bases__, dict(cls.__dict__))
        paginator.paginate = partial(paginator.paginate, emojis=emojis)
        return paginator

I think this could work


fix for issue 312: no method error with http party response

Can you fix your commit message so the ticket will auto close
Fixes #312 - no method error with http party response

Thank you.

@NARKOZ Could you please release a new version on rubygems with that fix? It's quite a nasty one, as we cannot really do proper error handling with that issue...Thanks!

@born4new Hi! Gitlab 4.3.0 should be out. Enjoy! ☺


Can't find package<EMAIL_ADDRESS>

npm i zhui
找不到这个版本的 astro-classname

用不了 巨难受

亲亲这不科学啊😯 目前zhui的版本是v0.4.0 ，依赖的astro-classname是v2.1.0，可以提供一下具体的报错么

一天未回复后问题将暂时关闭

@AddOneDn
命令行里的报错
npm ERR! code ETARGET
npm ERR! notarget No matching version found for<EMAIL_ADDRESS>npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of 'zhui'
npm ERR! notarget

npm ERR!  Forcing revalidation.
25 http fetch GET 304 http://registry.npm.taobao.org/react-app-polyfill 143ms (from cache)
26 silly pacote range manifest for<EMAIL_ADDRESS>fetched in 146ms
27 silly resolveWithNewModule<EMAIL_ADDRESS>checking installable status
28 http fetch GET 200 http://registry.npm.taobao.org/astro-classname 127ms
29 silly fetchPackageMetaData error for<EMAIL_ADDRESS>No matching version found for<EMAIL_ADDRESS>30 http fetch GET 304 http://registry.npm.taobao.org/react-transition-group 1198ms (from cache)
31 silly pacote range manifest for<EMAIL_ADDRESS>fetched in 1201ms
32 silly resolveWithNewModule<EMAIL_ADDRESS>checking installable status
33 timing stage:rollbackFailedOptional Completed in 1ms
34 timing stage:runTopLevelLifecycles Completed in 5976ms

找到问题了，是npm淘宝源的问题


ERROR Missing section for previous release in CHANGELOG.md with no increment option

We updated recently to the latest release-it version and keep-it-changelog version.
We have an release job in our CI todo automated Gitlab release with release-it but after the update we got an error.
We are using an internal company release versioning, so we use release it with the --no-increment version
and use the version from our package.json instead. Verything was working with those versions:
"@release-it/keep-a-changelog": "2.3.0",
"release-it": "14.12.1",

With the latest version we got the following Error

ERROR Missing section for previous release ("12.0.0") in CHANGELOG.md.

In our package.json the version is version": "12.0.0 in that example.
So we have an Unreleased section in our changelog and the last versions in our changelog.
But it seems keep a changelog thought there should be a last version 12.0.0 but it is the current version that needs to be released.
We had a look into the code on github and tried to debug this. And its working with increment option. When when setting the --no-increment its not working.
Looking into the code we found some conditions and i guess it seems there is a bug. Also what we noticed in the config object lastVersion is given with isIncrement option but with no increment option last version is not passed into config object.
Maybe you could have a look into it ?
We reverted the update but would be great to be able to update and use latest features.
Cheers

@WirthAware , have you found any fix for that? I  got the same error msg

@WirthAware , it seems that the fix for this error is to  add "strictLatest": false, to the  @release-it/keep-a-changelog plugin object

A bit late to the party, but is the issue resolved with @yusuf963's suggestion, @WirthAware?

Closing due to inactivity.


Frends.SFTP.UploadFiles can't connect to server with keyboard-interactive authentication method

Task needs to implement keyboard-interactive authentication method which is not currently implemented.

This was fixed in PR #77


Story#165 add user management

Closes #246
Closes #247
Closes #248
Closes #249
Basically a clone of devices/buildings in look, feel, functionality.
I had an idea for it to be one self contained page but it wasn't working out and for continuity's sake it was changed to the current form
Had to rebranch since the branch rename didn't stick on local and remote, it was still "tracking" the original branch name so I updated it to keep with the convention

Can you add some screenshots?

Should we allow a user's info to be changed once it's in the DB? I'm wondering if that would add more overhead for authentication stuff. I'm leaning towards not allowing them to change it, but users can still be deleted. For a future task, we should not allow the current user to delete their own entry lol, or maybe only certain roles and delete/maybe update users

If we go strictly off of a user ID we should be ok allowing everything else to change. If someone uses firstLast as a username and then changes their marital status they might want to change their username. That's the main scenario I can think of for wanting to update that. As long as the username still corresponds to the unique userId... it should be ok?

Should we allow a user's info to be changed once it's in the DB? I'm wondering if that would add more overhead for authentication stuff. I'm leaning towards not allowing them to change it, but users can still be deleted. For a future task, we should not allow the current user to delete their own entry lol, or maybe only certain roles and delete/maybe update users

I think there could be the case that a users role could change

[ ] add password field and validation
[ ]  add tests for validation

Can you add validation for the username to not be empty as well?

Should probably force everything. The list will be significantly less informative if there's no first and last since that's what's displayed, or at the very least put the first and last in the details and the username in the card title. Maybe Username and Role in the card title with the first and last in the details?

updated so all fields are required, the really all need to be filled out


Github Action status badge can't find my workflow

Are you experiencing an issue with...
shields.io
🐞 Description
The native workflow badge seems to be working fine

But shield.io's doesn't seem to be
(quality_assurance.yml)

(quality_assurance)

🔗 Link to the badge
https://img.shields.io/github/workflow/status/exoRift/react-fluent-mobile/quality_assurance.yml/master
https://img.shields.io/github/workflow/status/exoRift/react-fluent-mobile/quality_assurance/master
💡 Possible Solution
No response

Thanks but I'm going to close as a duplicate of #8146

I think the correct URL for this would be
https://img.shields.io/github/workflow/status/exoRift/react-fluent-mobile/Quality Assurance/master
?

I think the correct URL for this would be
https://img.shields.io/github/workflow/status/exoRift/react-fluent-mobile/Quality Assurance/master
?

I should've included this in my closing comment, but I did try that yesterday and it didn't work. I almost feel like the old workflow path is a day(s) old cached version or something

I did try that yesterday and it wasn't working then

Interesting.. :thinking:
I've moved the follow up to #8146


Module not found: Error: Can't resolve 'cordova/exec' and 'cordova/channel' on build

When I attempt to use "ng --build" to build my project so that I can then run "cordova build android" and
"cordova emulate android" and test my app, the build fails because BackgroundGeolocation.js can't seem to figure out where cordova/exec and cordova/channel are.
Your Environment

Plugin version: 3.0.0-alpha.47
Platform: Android
OS version: 8.0.0
Device manufacturer and model: Google Pixel XL

Running in Simulator: Yes
Cordova version (cordova -v): 8.1.2<EMAIL_ADDRESS>Cordova platform version (cordova platform ls):
Installed platforms:
android 7.1.2
ios 4.5.5
Available platforms:
browser ~5.0.1
osx ~4.0.1
windows ~6.0.0
Plugin configuration options: N/A - doesn't build
Link to your project: N/A

Context

I wouldn't call it a bug, more likely something I am doing wrong, but there is little to no documentation and/or community topics on how to use 3rd party Cordova plugins with vanilla Angular (almost everything mentions Ionic to some degree, which I am not using).  As a result, I have no idea if it's a bug or not.
Expected Behavior

No error - Cordova object should be wrapped in exec and channel and work as expected.
Actual Behavior

Errors appear stating that the module cannot be found
Possible Fix

Unsure of how to fix
Steps to Reproduce

Create an Angular project, wrapped in Cordova
Install plugin
ng --build
Errors will appear

Context

Cannot build app without getting around this.  I am simply trying to add this plugin to my existing project
Debug logs

allen@tornado:~/scripts/lysi/hld-mileage-tracker$ ng build --prod
Date: 2018-11-16T03:13:17.338Z
Hash: 2b236b3e85e64b1333ef
Time: 21951ms
chunk {0} runtime.ec2944dd8b20ec099bf3.js (runtime) 1.41 kB [entry] [rendered]
chunk {1} main.ce39aa839131f9d29c6a.js (main) 779 kB [initial] [rendered]
chunk {2} polyfills.d1c7bf4a2ae7c3435f95.js (polyfills) 37.5 kB [initial] [rendered]
chunk {3} styles.254a64e6ae38a8bf3664.css (styles) 64.6 kB [initial] [rendered]
ERROR in ./node_modules/cordova-plugin-mauron85-background-geolocation/www/BackgroundGeolocation.js
Module not found: Error: Can't resolve 'cordova/channel' in '/home/allen/projects/mileage-tracker/node_modules/cordova-plugin-mauron85-background-geolocation/www'
ERROR in ./node_modules/cordova-plugin-mauron85-background-geolocation/www/BackgroundGeolocation.js
Module not found: Error: Can't resolve 'cordova/exec' in '/home/allen/projects/mileage-tracker/node_modules/cordova-plugin-mauron85-background-geolocation/www'

I am also having this issue.

I finally figured this one out - the BackgroundaGeolocation.js file needs this:
var exec = cordova.require('cordova/exec'); var channel = cordova.require('cordova/channel');
...instead of the existing code, which is this:
var exec = require('cordova/exec'); var channel = require('cordova/channel');
However, @mauron85 advised me in another issue that I opened that the version installed by the Cordova CLI (which I think comes from NPM or something) has bugs that have been fixed in the master branch of the git repo for it.  He suggested installing via git in order to get those changes, so it's possible this may have been fixed too,

This issue should not be closed as the problem is still present.
This does not only concern vanilla Angular project but Ionic ones also (since it's based on Angular).
Having to edit the plugin sources is NOT a solution.
If your app is built in CI, it won't work.
If your app is developped by multiple developpers, they all will have to do it.
etc..

I

Leaving open, but cannot reproduce this.

Is there any relevant info in cordova docs?

Rephrasing my question. Is this related to Angular/Ionic only or also to plain Cordova?

It is related to Angular/Ionic and your types definition.
When you import the BackgroundGeolocation object :
import BackgroundGeolocation  from 'cordova-plugin-mauron85-background-geolocation';

The typescript compiler tries to compile node_modules/cordova-plugin-mauron85-background-geolocation/www/BackgroundGeolocation.js, which fails because the requires in
var exec = require('cordova/exec');
var channel = require('cordova/channel');

cannot be resolved (they are resolved only inside the cordova environnement).

@TomDemulierChevret thank you for explanation. Can't we just add some kind of ts-ignore for those two lines? How are other plugins (or @types definitions) doing this.
If we don't find better solution then we can go with your proposal.
What I know for sure, I'm NOT definitely going to replace require with cordova.require.

Well I'm not sure, I haven't written any @types definition, only used them.
For cordova plugins, I usually use the @ionic/native wrappers around them which provide an Angular service.
I'm not sure the ts-ignore approach is the right way, the typescript compiler shouldn't event try to compile plugins files since it's the job of cordova to package them with the app.

Just FYI, my sub-optimal workaround only works for Android and iOS emulation.  When browser emulation is used, an error is thrown on the lines where I added cordova.require because "cordova" can't be resolved.  I'm assuming it has something to do with the files being read before the device is ready, before cordova is instantiated or whatever.  @TomDemulierChevret, do you happen to have a more specific example of the testing you did?  I tried adding what you had there to my project and it still had no idea what cordova was with respect to the plugin files.  I tried defining cordova via "declare var cordova" but that simply changed the error from a "not defined" error to an "undefined" error.

@allensutton With the current version, I just use
declare const BackgroundGeolocation: any;

in the file where I want to use the plugin. It will build but you won't benefit from types (and therefore error detection, autocompletion, etc).
If my proposal goes through, you will just have to use this instead :
declare const BackgroundGeolocation: BackgroundGeolocationPlugin;

Now plugin is failing when you try to make a build.
It doesn't care if you put cordova.require or just requirein the BackgroundaGeolocation.js file lines 12-13, it will give you the error:
Error: ./node_modules/cordova-plugin-mauron85-background-geolocation/www/BackgroundGeolocation.js Module not              found:  Error: Can't resolve 'cordova/channel'

Now plugin is failing no matter if you put cordova.require or just require.
It will give you the error Error: ./node_modules/cordova-plugin-mauron85-background-geolocation/www/BackgroundGeolocation.js Module not              found: Error: Can't resolve 'cordova/channel

Guys, just small warning here. I'm not going to merge any workaround targeting ionic only and making it worse for non ionic users (like removing exports).

I truly want to help, but I'm not never used ionic myself. Maybe you can ask ionic team for help. Because this plugin is following cordova plugin spec.

If you check all Cordova core plugins, any of them use exports on the types. Not sure why do you say this is for Ionic, but it's not, I already explained in the PR.
Not sure how you use typescript, but the exports are not needed.

@jcesarmobile I explained the reasoning directly in your PR. https://github.com/mauron85/cordova-plugin-background-geolocation/pull/523

If you check all Cordova core plugins, none of them use exports on the types.

Can you send me one, that's using typescript definitions directly (not via typing/DefinitelyTyped). I'll check it out.

All core plugins ship with the definitions nowadays https://github.com/apache/cordova-plugin-camera/blob/master/types/index.d.ts

Thanks. Btw I found this article about adding cordova plugin to ionic2. https://www.techiediaries.com/mobiledev/ionic2-typescript-cannot-find-name-cordova/
Basically it suggest adding dt~cordova typings. Would it help here too?

No, that's for when the plugin is added to cordova object, your plugin uses BackgroundGeolocation object directly.
Also doing that just allows to use the plugin, for using yours people can just do declare const BackgroundGeolocation: any;.
That will allow to use the plugin, but won't benefit from the types (error detection, autocompletion, etc.) as already noted by @TomDemulierChevret

ok your persistence made me installing ionic. Btw I cannot replicate this in plain cordova typescript project. I've made example of such project https://github.com/mauron85/cordova-typescript

Just installed ionic. And only I can say, it is ionic not supporting imports of cordova plugins.
Not sure why cordova-plugin-camera works. But I guess, it only works with import from ionic-native not as import Camera from 'cordova-plugin-camera'; Somebody can confirm this?
Please open issue there, asking to support cordova plugins without workarounds.

I'm not using ionic but pure angular with cordova and have this issue when trying to import this library.
As I wrote, I'm using triple slash to get camera typings and it works good.
I can instruct you how to build my code so you can see the error.

@HarelM can you prepare basic example app?

Camera plugin (or any core plugin) works if you use the Triple-Slash Directive instead of import. The way the core plugins are built don't allow import, nor in an Ionic project, not in your sample project, it's just how the types are built, they can only be used like this /// <reference types="cordova-plugin-camera" />
You built your types in a different way that don't allow the Triple-Slash Directive, but allow the import, I'm ok with that.
The problem here is not related to Ionic nor Angular, it's related to web bundlers. (In this case webpack, that is used by Angular, not sure if others are also affected)
When using import as in your example, bundlers will look for require keyword in the package you imported, and you have require keyword in the .js files for making cordova exec work, but webpack just sees the require and goes crazy.
I suppose you can exclude the .js files so webpack doesn't analyze them, but not sure how.

The problem here is not related to Ionic nor Angular, it's related to web bundlers.

probably true, I don't know as I never studied what ionic is made of. I said ionic, meaning in some module ionic is using.

The problem here is not related to Ionic nor Angular, it's related to web bundlers.
I'll try to add webpack to my example app.

Also I've doubts that /// <reference types="cordova-plugin-camera" /> will work will plugin provided typings.

In your sample project I installed camera plugin, added /// <reference types="cordova-plugin-camera" /> on top of the .ts and now I can use camera plugin and VS Code have autocomplete for navigator.camera, see the screenshot.

Not sure why you don't think it will work, but it works.

I should probably edit my comment. It works when not importing as module, but rather using "exported" global window.navigator.

No, using the triple slash I can use navigator.camera without creating it as global, it just works and have autocomplete on VS Code.
Without the triple slash you can use it with the global and without benefiting from the autocomplete

Below is the file that shows the issue - without ionic.
To see the error run:
npm install
npm run build -- --prod
geolocation-import-issue.zip
This is as minimal as possible, I think. The code that import this module is in src/app/app.component.ts

@mauron85 my zip contains angular example which uses webpack. Feel free to test with it. Let me know if you need any help.

I've just published version 3.0.0-alpha.50. Following @TomDemulierChevret's advice, I've added export interface BackgroundGeolocationPlugin. It will fix this issue and ionic users can still benefit from provides types. All kudos to @TomDemulierChevret.
Example:
import { Injectable, NgZone } from '@angular/core';
// This is important!
import { BackgroundGeolocationPlugin } from 'cordova-plugin-mauron85-background-geolocation';

// This is important!
declare const BackgroundGeolocation: BackgroundGeolocationPlugin;

@Injectable()
export class LocationTracker {

  public watch: any;
  public lat = 0;
  public lng = 0;

  constructor(public zone: NgZone) {

  }

  startTracking() {
        // Background Tracking

        const config = {
            desiredAccuracy: 0,
            stationaryRadius: 20,
            distanceFilter: 10,
            debug: true,
            interval: 2000
        };

        BackgroundGeolocation.configure(config);
        // Turn ON the background-geolocation system.
        BackgroundGeolocation.start();
  }

  stopTracking() {
        BackgroundGeolocation.stop();
  }
}

Works great! Thanks! I believe this issue can be closed, assuming this info is added to documentation.

I installed the latest version and rebuilt my app - the plugin now works as-is, with no errors at all, and background geolocation works as it did before.  Thanks everyone!


Probot

This is just a suggestion, feel free to not implement it.
Currently we do a lot of manual organization of issues. Could Probot be useful for this?

Hm, looks useful. Especially the stale extension: https://probot.github.io/apps/stale/
It seems it can be customized very well. We can use architecture label for "never consider stale"
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
  - pinned
  - security
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
  This issue has been automatically marked as stale because it has not had
  recent activity. It will be closed if no further activity occurs. Thank you
  for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

I've added Stale. Let's see how it works!
See: https://github.com/littlevgl/lvgl/blob/master/.github/stale.yml

@kisvegabor Sounds good!


nitter: unstable-2022-06-04 -> unstable-2023-03-28

Description of changes
Trivial bump of Nitter.
Also added myself as a maintainer.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 225481 run on x86_64-linux 1

1 package built:

nitter

LGTM, thanks!

Opened https://github.com/NixOS/nixpkgs/pull/226116 to address the removed option.


Update clip geometry during hitTest if needed

The code previously assumed that paint would be called before hitTest, but that
assumption isn't valid because RenderOpacity hit tests its children without
painting them.
Fixes #6089

@Hixie @apwilson

Did you file a bug to track the same issue for RenderFlow?

(LGTM)

Done: https://github.com/flutter/flutter/issues/6100


Supports keyBindingFn

Please pass the keyBindingFn prop to draft Editor. Thank you.

This was implemented on version 1.10.0. Please check out the provided example.


[x86] [WOCCatalog] Text Missing in Text Display Mode Page

UITextViews will scrollable text and CTLineCreateTruncatedLine are missing text.

Taking a look at this

The root cause is that the sample was written wrong.
You should be passing CGColor to CoreText, but the sample was passing UIColor. Thus it was not able to render it.

https://www.youtube.com/watch?v=JYc05gZFly0

I'm working on it :)

Closed as per #2662


Pin issue about contribution procedure

Describe the Issue
Instead of us having to constantly tell people how we handle issues, when a PR should be opened, where the contribution documentation is, etc. can we try pinning a "READ ME FIRST" issue that briefly explains the procedure and links to the contribution documentation?
I know it won't fix the problem completely but it might catch the attention of enough people to cut back on some of the boilerplate responses we have to make.
Anyway, it's just an idea.
Affected Page
https://github.com/freeCodeCamp/freeCodeCamp/issues
Your code

Expected behavior
Fewer boilerplate responses on issues.
Screenshots
No response
System

Device: [e.g. iPhone 6, Laptop]
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]

Additional context
No response

rule 1: people don't read, otherwise we would have more people reading the contributing documentation, which is linked in the README...
But we could try

In my opinion, I cannot see a pinned issue catching any more people than those who were already going to read the contributing docs anyway. We can always try it, though
I suspect, the only way to truly catch more people would be for GitHub to have a feature whereby clicking on an issue redirected you to a page requiring action (e.g. "check box to confirm you have read above guidelines") to be redirected back to the issue.

I agree that most people probably won't notice or read the pinned issue - but I kind of like it as something to reference. Instead of having to write a message in every issue or PR explaining everything - we can just link to the pinned issue.

I'd also like to point out that a pinned issue will function much like a footer on a website, no matter how you get to the current page you are on, general information is always available in the footer. The assumption that the order of events will be main repo > readme > contribution docs > issue tracker, while logical is in no way guaranteed.
As mentioned the pinned issue can serve as a nice reference as well.


add $REV to pre-receive-app call

I have a modified dokku-slack fork that inspects the incoming rev to extract the commit author and post it to slack in the post-deploy phase. This change facilities an easy way to get at the incoming revision. Seems like it would be useful for other applications as well.

You need to also update the docs for this hook.

Oh yea. Good call. Hold please.


Please add limitation on BastionSegment

In FAQ section, we can find some scenarios in which Flow Logs doesn't work.
We confirmed with PG team in IcM that flowlogs has another limitation when we configure flowlogs in BastionSubnet.
There is a scenario in which Flowlogs cannot work properly depending the order in setting NSG and enabling flowlog. Flowlog configuration may not work properly depending on the orders in adding NSG and enabling flowlogs. Please add this limitation to this document.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bd699dac-d6e5-5a39-624f-2d3f77f92fca
Version Independent ID: c922bcd2-0778-a7af-4855-1bff6c9ce380
Content: Introduction to flow logging for NSGs - Azure Network Watcher
Content Source: articles/network-watcher/network-watcher-nsg-flow-logging-overview.md
Service: network-watcher
GitHub Login: @damendo
Microsoft Alias: damendo

Hello @kikawash
Thank you for your feedback! We have assigned this issue to the author to review further and take the next course of action.

As advised by my manager @jyothisuri, closing the issues that are older than a year.
#please-close


Disable auto update on restart

Every time the server is started it auto updates. Is there any way to disable this on start?

No, because the updater is what starts the server. You can of course fork the repo and modify it in any way that works for your use case.
To do so you could start in supervisord.conf. Disable the valheim-updater and set autorestart=true for the valheim-server. However then you have to manually ensure that on first/fresh start the server gets downloaded from Steam before the container tries to start it. The updater is what usually downloads the server if it doesn't exist.

thanks!!


Queue message update time shortened drastically.
BOB now notifies a tutee when they do /start if there is/are queue(s) with a student already.
Tutee can now click on a "Notify Me Open" button to get notified when a queue becomes open. Ability to leave the notification queue needs to be added.
BOB can now send messages to a tutee once they finish receiving help from a helper. This message is unique per server, can be edited directly via a slash command (Admin only). Admins can also set the feature to be enabled or disabled through a slash command.

new commit has a new feature that lists the upcoming hours for queue. /when_next command
Requires: a) A google sheets doc where one of the columns lists the discord ids of helper, titled "Discord ID", and another column titled "Calendar Name" which lists corresponding "calendar names".
b) A google calendar which lists the hours of the helpers/tutors. Each event's name (aka summary) must start with the "calendar name". If you want to add any additional details, a space must be used after the "calendar name"
The above two can be set using the calendar set_calendar and calendar set_sheets commands (the name of the commands needs work).


Problem with restoring database in Container

I have BC18 Container (18.0.23013.23795/us). By default it uses standard CRONUS database.
I copy another database inside container using next powershell script and then restoring it by MSSQL Management Studio:
Copy-FileToBcContainer -localPath "c:\BC18 Stay Backup.bak" -containerName "bc18-Softera-OneSpan"
After that I change "tenant" parameter in Visual Code in launch.json to database name and get error when trying to download
symbols:

Also I can't use web client, it shows next error:

When I trying to create new user in power shell using next script i get error "The tenant 'newdb' is not mounted or does not exist.":
$credentials = New-Object pscredential 'username, (ConvertTo-SecureString -String 'userpassword' -AsPlainText -Force) New-BcContainerBcUser -Credential $credentials -assignPremiumPlan -containerName "containername" -PermissionSetId super -tenant newdb.

After restoring the database in the container, did you mount the database?
Inside the container, you would have to run
Mount-NavDatabase
Just as you would have to do in any multitenant installation.
In PowerShell ISE you can use Enter-BcContainer to get a PowerShell prompt inside the container
Or you can use Invoke-ScriptInBcContainer
In both cases, all standard NAV/BC cmdlets are loaded for you.


Update parameter update doc.

Update "Parameter Update" documentation using KeyPathIterable and
Differentiable.
Add "evolution from previous design" section.

LGTM overall. How about a different name that mentions "optimizers" somewhere?
"Hierarchical parameter iteration and optimizations"?

Don't forget to also add a link on README.

Don't forget to also add a link on README.

Done in https://github.com/tensorflow/swift/pull/136/commits/bd94d004790a53eb633adaa37bd875bdb0bb01c1.
Added some other updates in https://github.com/tensorflow/swift/pull/136/commits/b4907fc794e50b93f68020490225636548f3be80.
Ready for re-review!


Shouldn't a property only emit on "new values"? Proposing onChange()

I get that
var stream = Kefir.sequentially(50, [1, 2, 2, 3]);
stream.log('stream')

// stream: --1--2--2--3--

But why would a property behave the same?
var property = Kefir.sequentially(50, [1, 2, 2, 3]).toProperty()
property.log('property')

// property: --1--2--2--3X

while I would really expect
// property: --1--2-----3X

basically I don't get why property.onValue(cb) would invoke cb when the property's value did not actually "change". Maybe there could be a property.onChange(cb) behaving as described above.
Is there currently a way to get a property behaving this way given property in the example above? Thank you for any insights on this.

There's a skipDuplicates() method on all Kefir observables, so property.skipDuplicates().onValue(cb) would do what you describe.


fix: controller ambiguous task env setting

Missing type description makes ansible confused of Controller task "populate environment variables for controller".
Description

MacOS version 10.15 Beta (19A487m)
ansible version 2.8.4
Python version 2.7.16
Docker version 18.09.1
local deployment

Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[x] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[x] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Codecov Report

Merging #4618 into master will decrease coverage by 5.46%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4618      +/-   ##
==========================================
- Coverage   84.23%   78.76%   -5.47%
==========================================
  Files         183      183
  Lines        8308     8308
  Branches      571      571
==========================================
- Hits         6998     6544     -454
- Misses       1310     1764     +454

Impacted Files
Coverage Δ

...core/database/cosmosdb/RxObservableImplicits.scala
0% <0%> (-100%)
:arrow_down:

...ore/database/cosmosdb/cache/CacheInvalidator.scala
0% <0%> (-100%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0% <0%> (-95.89%)
:arrow_down:

...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala
0% <0%> (-94.74%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0% <0%> (-92.6%)
:arrow_down:

...e/database/cosmosdb/cache/ChangeFeedListener.scala
0% <0%> (-86.67%)
:arrow_down:

...e/database/cosmosdb/cache/KafkaEventProducer.scala
0% <0%> (-76.48%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0% <0%> (-74.08%)
:arrow_down:

...a/org/apache/openwhisk/common/ExecutorCloser.scala
0% <0%> (-66.67%)
:arrow_down:

...abase/cosmosdb/CosmosDBArtifactStoreProvider.scala
4% <0%> (-52%)
:arrow_down:

... and 8 more

Continue to review full report at Codecov.

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

Thanks @BillZong for fixing this!


Calling MPTweakValue inline helper in swift

The inline helper syntax conflicts with the MPTweakValue type constructor syntax ...
As far as I can tell this cannot be called in swift - you have to create a objc file just to call this helper
Would be nice if you gave it a different name or named the typed differently ... or if there is a way to call it from swift please let me know :smile:

+1

hey @samirahmed, @Pasta - you're absolutely right that you cannot define MPTweakValue in Swift. MPTweaks are constructed with a Preprocessor Macro, and we're working to move this to a Swift function so everything is compatible and usable in a Swift project. this should be coming in a future release - for now, Tweaks need to be defined in an objc file just as you've found. sorry to be the bringer of bad news here!

Would also like to use tweaks in a swift project. Don't quite understand the current workaround. Can you elaborate? Thanks!

@arittr Would also like to use tweaks in a swift project. Don't quite understand the current workaround. Can you elaborate? Thanks!

@bradfol we're working on moving our tweaks code to a Swift function - for now, you can only use MPTweak/TweakValue in an Objective-C class. you can have Obj-C and Swift classes side by side in a project, but Tweaks cannot be used in Swift classes right now. i'll close/update this issue when the new release is done. thanks!

@arittr Thanks for clarifying. Hope to see some updates for Swift soon!

+1

+1

Managed to get this to work. The trick is to use the MPTweakStore directly. Here's the gist :
https://gist.github.com/ohad7/8ce12a432773fe3b1bf3
Hope this helps.

@ohad7 this is super cool, thanks so much for sharing! i'm going to test this out today.

Thanks! I got to test it a bit more and make a few changes, please take a look. I'm now relying on Mixpanel to refresh the experiments every time the app goes to background (instead of doing it myself every 30 mintues), and I'm persisting the tweaks to the disk since Mixpanel won't give you the same experiment twice. Will update in case I find bugs etc.

@ohad7 sounds great - I'll take another look today. FWIW variants/experiments will persist in /decide - so in effect Mixpanel will serve the experiment every time the app is opened (or /decide is manually polled). that being said caching is a great idea and something our library does anyway.
you might want to consider a PRQ / forking the lib - I know several people who are interested in something like this. thanks again for being awesome!

What's the status on this? Half a year after and it's still impossible to use Mixpanels Tweaks in a Swift app, unless you include @ohad7's file?!

+1

+1

+1

its been 8 months and mixpanel hasn't answered ... anybody still waiting on a fix should just bridge the gap with the wrapped call to an objc method that just makes this one call

Is it just me or is it totally bonkers that this doesn't work out of the box?

We're planning on pushing a release this week that will resolve this issue. Thanks for your patience.

@samgreen How's the release coming along?

It seems that this has not been fixed in 2.8.3 as I am using that version and I still get an error with Swift.

@samgreen Can we get an update from MixPanel?

@holgersindbaek Absolutely, sorry for the delay on this. It's not such a simple change as was linked in the gist above. We released v2.9.0 on Friday and this has laid the groundwork for future Swift support.
Unfortunately the mechanism by which we read all of the tweaks from the binary (seen here: https://github.com/mixpanel/mixpanel-iphone/blob/bdd0f5a7f33ea0bfc4193f84ae2ed80258215bab/Mixpanel/MPTweakInline.m#L127), is not compatible with the way Swift only projects are compiled. It appears to us that the Swift compiler is not only mangling symbols and names, but rearranging where things are placed in the Mach-O header. The way we accomplish the magic for tweaks relies heavily on this concept.
We are reviewing possible solutions at this time, but we would love any input from our community on this one.
That said, if you use the gist above, the tweaks will function correctly, but you will only be able to see them on the website when you have that specific view / view controller loaded. This is a non-optimal solution, and definitely not one that we wanted to ship to our users.

Hopefully #364 will resolve this issue. Thanks for your patience everyone.

"This is a non-optimal solution, and definitely not one that we wanted to ship to our users."
Any new updates Sam? Thanks.

Hi @vandutran, thanks for checking in. At this point the only problem we face is the lack of the __attribute LLVM keyword in swift. We use this keyword to locate the tweaks by name in the application binary. I am currently investigating using global static variables so we would be able to locate those instead, but we are running in to issues with Swift's name mangling.
We care deeply about this issue and are hard at work restoring this magical feature for Swift. Thanks so much for your continued patience.

So the problem is that you're using some dark magic to extract the list of all tweak names used in MPTweakLabel() calls, and you can't do that for Swift because compiled Swift code looks different than compiled ObjC code, did I get that right?

I've added the call in an ObjC file as a workaround, but the tweaks still don't appear in the A/B builder on the site, am I doing something wrong? Or is it that if the app includes any Swift at all, the tweaks don't work, even if they're in an ObjC file?

I've tried the same thing, @mackuba , and likewise the tweaks aren't appearing in A/B builder.

just wanted to get a 2-week check in for any updates on this issue,  @cph2117 have you heard back?
cc @samgreen
Thanks!

I asked and got feedback.
Tweaks are not compatible with Swift yet.
This is a known issue: https://github.com/mixpanel/mixpanel-iphone/issues/229
I would recommend following that issue on Github so that you automatically get updates.
Sorry I don't have better news at the moment, but we are working on this, I'm just not certain when it will be available.

hmm....

+1

@SRandazzo sorry for the huge delay, I didn't see your question.
We ended up scrapping this and using Optimizely.  So now we have Optimizely for AB testing and Mixpanel for event tracking.

Any progress on this yet?

Hello guys, any news ??

@samgreen Still no timeline for this?

??

I just want to point out that it is definitely possible to use MPTweakValue in a Swift project, you would just have to use a bridging header and write your tweaks in Objective-C. You can read more about this here:
https://mixpanel.com/help/reference/ios#tweaks under the "Swift" section.

@yarneo whilst I believe most people here are aware of that solution (see thread), I think the point of this issue is to request a native swift solution rather than having to use objective C and a bridging header as a clunky and half-baked workaround.

@chrisvxd Thanks for the comment. The reason I am pointing it out, is that some people are not aware it is possible and I wanted to clarify. Rest assured that once we have a solution we will update this thread.

Losing hope :(

Still a deal breaker for us...

found this https://mixpanel.com/help/reference/swift

As @xManson mentioned, we now have a Swift library that supports A/B testing and tweaks. The mechanism is different but you can see how to do here: https://mixpanel.com/help/reference/swift#tweaks

Great news!

Closing this issue. If someone wishes to use Tweaks in Swift, then please use our Swift library!


Bind().ParentUnder(parentTransform)

I would like to request a feature which would let the user specify a parent GameObject instance for the gameObjects instanciated by Zenject.
I propose the function names ParentUnder(parentTransform) or AsChildOf(parentTransform), or UnderTransform(parentTransform).
Use cases behind that feature request:
3D Character with attachment slots.
I am designing a sub-container for a 3d character, and I want it to hold various items in his hands, on his head, and on his back. The 3D character is itself a prefab. The objects to attach to the different slots are also prefabs. I want to have those prefabs instantiated when I am spawning a new instance of the 3D character.
For that task, I am using a sub-container. Its installer has the hands, head and back's transforms specified as settings using Unity's inspector. The prefabs of the objects to attach to those transforms are provided to the installer from an external context (injected from the SceneContext or passed as parameters from a 3D character factory).
Without the request feature, I have to manually re-parent the instantiated gameObjects under one of the transforms. It means that I need to register factories, they might need some parameter to know which transform to use and to know which gameObject to instantiate. That's clearly not simple.
A UI gameObject hierarchy with injectable UI components.
Same as above expect that the 3d character is a UI gameObject hierarchy (you can see it as a layout with attachment slots waiting to be populated by instances from arbitrary prefabs.
A 3D tree with attachment slots for fruits.
The same as above.
Having the requested feature would make it really easy to customize each tree.

I think I found another (easy) way to implement the requested feature, please wait.

Here is how I solved the issue : Instead of specifying the parent in the binding, I am parenting the gameObjects at injection time. I am asking the DiContainer to resolve them and then I reparent them.
public class ChildrenInjecter : MonoBehaviour {

  public string identifier;
  public Transform parent;

  [Inject]
  public void ResolveChildren(DiContainer container) {
    if (parent == null) {
      parent = this.transform;
    }

    List<GameObject> children = container.ResolveAll<GameObject>(identifier, true);

    foreach (GameObject child in children) {
      child.transform.SetParent(parent, false);
    }
  }

}

The only (small) issue with this approach is that you need to make sure that if your gameObject are cached or are singletons, they won't be reparented by 2 different scripts. Defining it in the binding would avoid that issue.

Yeah I agree, there should be a binding for this.  This is also documented in issue #114


[Bug]: Serializer of hkflag is not changing the write position

Version
0.3.1
Reproducible errors
cd C:Download\Dodge+MCO-DXP+v2.1.21\MCO\Meshes\Actors\character;
./hkxc convert -i .\behaviors\DMCO.hkx -o .\behaviors_xml\DMCO.xml -v xml --log-level trace --log-file ./convert_amd64_to_xml.log;
./hkxc convert -i .\behaviors_xml\DMCO.xml -o .\behaviors_rehkx\DMCO.hkx -v amd64 --log-level trace --log-file ./convert_xml_to_amd64.log;
./hkxc diff .\behaviors\DMCO.hkx .\behaviors_rehkx\DMCO.hkx -o DMCO_to_re_diff.txt;

Expected behavior

Actual(xml -> amd64)

2024-11-15T05:36:19.222873Z TRACE serde_hkx\src\bytes\ser\sub_ser\structs.rs:172: serialize field(0x9e8): flags
2024-11-15T05:36:19.222877Z TRACE serde_hkx\src\bytes\ser\sub_ser\structs.rs:172: serialize field(0x9e8): endMode

Expected(amd64 -> xml)

2024-11-15T05:36:13.908633Z TRACE serde_hkx\src\bytes\de\map.rs:80: deserialize 2th field(0x9e8): flags
2024-11-15T05:36:13.908636Z TRACE serde_hkx\src\bytes\de\map.rs:80: deserialize 3th field(0x9ea): endMode

I can't put hkx directly due to copyright issues with the animation.

Dodge+MCO-DXP+v2.1.21

DMCO converted log.zip
Relevant log output
No response

The cause was found.
Serialize_bits was not being written when empty. (Only the method for XML was called.)
Already fixed at the time of writing this.
https://github.com/SARDONYX-sard/serde-hkx/blob/8eb48e074ed8f4342eb69686185527ad7225fc9d/crates/havok_classes/src/generated/hkbBlendingTransitionEffect_.rs#L1238


fix: stop early with bad transformer file and raise error on module load

I don't have it clear if we fail gracefully in case the module doesn't have a python extension.

Good catch. Should be fixed now. Also fixed some cosmetics for the ea metric add command 💅🏻