Fix for edge cases for id

Fix for titles that use the markdown.
Close #3394

Github slugger is not slicing the ℹ emoji.
On: /doc/start/experiments
Link:
⚠ may expire later:
https://dvc-org-fix-details-obj-yq7a0c.herokuapp.com/doc/start/experiments#ℹ-more-information-about-hyperparameters
Other emojis are sliced but not this one. This can be fixed but now wondering if there could be other emojis as well.

Github slugger is not slicing the ℹ emoji.
Other emojis are sliced but not this one. This can be fixed but now wondering if there could be other emojis as well.

If github-slugger is having issues slicing emojis, maybe we should write some code that takes off any emojis before we give the link to github-slugger?

If github-slugger is having issues slicing emojis, maybe we should write some code that takes off any emojis before we give the link to github-slugger?

Maybe a regex-based replacement would be good in order to catch multiple dashes on the ends of the string, but admittedly it's a little unlikely that titles with the current format would do so.

Since we have problems with the github-slugger and need to come around with fixes after using it as well. Should we consider using our own version and it can be simple like slugger when we proposed a custom one?
cc: @iterative/websites

Since we have problems with the github-slugger and need to come around with fixes after using it as well. Should we consider using our own version

I guess since we're having to work around github-slugger, at least using something else is in order. Probably something similar to the original custom slugger but with the code and position system replaced with an id override.

If github-slugger is having issues slicing emojis, maybe we should write some code that takes off any emojis before we give the link to github-slugger?

Also, I believe https://github.com/Flet/github-slugger/blob/master/regex.js is supposed to filter all the emojis.

Since we have problems with the github-slugger and need to come around with fixes after using it as well. Should we consider using our own version and it can be simple like slugger when we proposed a custom one?

I guess since we're having to work around github-slugger, at least using something else is in order. Probably something similar to the original custom slugger but with the code and position system replaced with an id override.

Agreed that using a custom slugger would be best if github-slugger isn't suiting our use case and using an id override instead of code/position props!


Minwoolee/callingserverv3 fixclients

From Feedbacks and suggestion, Here are the latest updates for Server Calling:

Have multiple Clients for each groups of methods: CallConnectionClient, CallRecordingClient, CallContentclient
New Clients can be fetched from Get[ClientName], from root service client
Updated other download helpers to work with CallRecordingClient
CallConnectionProperties is now separate object that only contains data of the call. All methods are moved into CallConnectionClient
AnswerCall, MakeCall, GetCall now returns CallConnectionProperties instead of CallConnectionClient
Removed reason as input from TerminateCall (this was never used)
GetParticipants now returns participants in IReadOnlyList
Various Request objects are now internal, hidden from contoso (i.e. RejectCallRequest)
Dropped unnecessary suffix, like Dto and Model (i.e.  CallConnectionStateModel ->  CallConnectionState)
Options (such as AddParticipantsOptions) constructor now only takes optional inputs. All other options updated to be similar
CallLocator now updated to be Abstract class. Derived classes (GroupCallLocator & ServerCallLocator) Added.
Moved most of Models into correct namespace
Various small typeo fixes

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Communication.CallingServer


How to handle permissions,if reject,do not go next slide?

AppIntro Version:4.1.0
Device/Android Version:Galaxy S6 6.0.1
Issue details / Repro steps / Use case background: Question
How to handle permissions with askForPermissions() method? if user reject a permission,do NOT go next slide till user agree that permission?
i need absolute solutions about this permission things after this marshmellow rules.

This has already been addressed in #115.
The intro library is merely a way to request permissions and talk to the user about them. It does not do things based on what the user does with the request.

A side note: are you really wanting to lock someone out of your app if they don't accept a single permission? It seems like a turn off for me. Later in your app, you can explain why a permission is necessary, but an intro is just getting the user acquainted with your app...it's the first thing they see, therefore it shouldn't kick them out if they don't want a permission. Inevitably, some people will deny permissions, and the UI should not lock based on their decision.

idk i thought there is a way or method to avoid user pass that slide like policy slides.if user does not check box,user can not skip that slide, does he? i need smiliar thing :D

@erginduran If you really want to lock your users endlessly then simply check for that particular permission in onSlideChanged after the appropriate slide has been triggered and simply move the user back to the slide where explain why that permission is needed (you do have that, right).
Note that many users will simply not bother or complain if they see no reason for your app to have said permission -- while some apps it is easier to explain (needing location on a GPS app) while others not so much (needing phone access in order to uniquely identify device).

i checked that onslidechanged method already deprecated and can't find that onslidechanged(Fragment,Fragment) but i just noticed a trick if i implement ISlidePolcy interface to fragment then i can handle this condition in isPolicyRespected(). I hope i can do :p thank you for this powerfull repo !

Keep in mind just because they allowed the permission today, they can turn if off at any time in the application manager. You need to ensure your application can still function without it.


Healthcheck endpoint

Please can we have a healthcheck endpoint. Provide better container support.

Is /status ok?


add some actionable opinions about linting

project-specific lint preferences file. run with pylint garak.
resolves #11
(point three)

Consider adding an action that validates lint is passing for PRs as part of this branch.


Spells and Character sheets not opening

After the latest update to foundry, the starfinder game system wont open any spells, old or newly created. The character sheets wont open either, newly created or old either.
Foundry Virtual Tabletop: Version 10, 10.283
Game System: sfrpg, 0.19.1
Active Modules: 0
Performance Mode: 2

That is to be expected. The system is not yet prepared for v10. I recommend keeping v9 installed (if not on the side) until an update is released.


[WIP] Updated the openapi generator to use the new graphql description

Updated the openapi generator to leverage the new graphql description where the response is declared separately in the schema.

WIP - depends on https://github.com/ManageIQ/manageiq-api-common/pull/83

@miq-bot assign @bdunne


IPFS download notifications (on Mac Client) - cannot tell if it is normal or security compromised

OS: [macOS Catalina: 10.15.7 ]
Version of IPFS Desktop [0.17.0]
https://github.com/ipfs/ipfs-desktop/releases/tag/v0.17.0

Describe the bug
After using IPFS for about an hour, there is a download warning which I pressed YES to.  (I've accepted twice) assuming it was part of the give and take of being part of the IPFS network.  However, I cannot see the download once I look in my Downloads folder.  (I looked in finder and Terminal to look for hidden files).
Worried now that this is a compromise.
Here is a partial screenshot I took the second time.

To Reproduce
Steps to reproduce the behavior:

Download IPFS client (I uploaded an image and pinned it in the files tab).
Minimize application
Wait an hour
IPFS, on bottom menu bar, will start bounding indicating a notification
Click on IPFS on bottom menu bar
Notification to save file in Downloads folder will appear (see above partial screenshot)

NOTE: I am realizing while looking at the screenshot of the download notification that the download file name (at least the first unobstructed portion in view) matches the CID of the file.  Here is the photo within my IPFS client (note the CID name):
.
Expected behavior
I expected this to happen in the background? Or some clear notification that this is very normal and expected behavior.
Screenshots
Screenshots above.
Additional context

combined.log
Error.log (is empty and will not be upload by github)

Duplicate of #

@ChungMasterFlex bit confused, mind providing more details?

were  you using the quick download feature (Download... from the IPFS logo menu)?
did you import HelloWorld.png using IPFS Desktop or was this not something you ever did?

were you using the quick download feature (Download... from the IPFS
logo menu)?

I didn't do anything special meaning I didn't use the "quick download
feature".  This popup actually appeared when the program was in the
background (I had moved on and done something else) and the IPFS app logo
was bouncing in my Mac tray.  When I clicked on the app on my Mac tray (on
the bottom) it then re-focused on app, then the pop-up appeared for the
download.

did you import HelloWorld.png using IPFS Desktop or was this not
something you ever did?

Yes, the HelloWorld.png (was mine!). I took a screenshot of something,
renamed to HelloWorld.png and then dragged it from finder to IPFS console.
About an hour or so later - I pressed "pin" to the right of the file.  Then
maybe 30 mins or 1 hr later the "pop-up" behavior started.
On Fri, Nov 26, 2021 at 9:58 AM Marcin Rataj @.***>
wrote:

@ChungMasterFlex https://github.com/ChungMasterFlex bit confused, mind
providing more details?

were you using the quick download feature (Download... from the IPFS
logo menu)?
did you import HelloWorld.png using IPFS Desktop or was this not
something you ever did?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ipfs/ipfs-desktop/issues/1930#issuecomment-980040782,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABQ3KTR63R5FNLF6RSTXATUN6OB5ANCNFSM5IRQXOJA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Maybe another way I can ask the question -- how, if at all possible, can you get the IPFS application on Mac to trigger a download notification (to prompt user to download something onto Mac/Finder)?

Sure, Electron app can control various elements of macOS interface (ipfs-desktop adds menubar icon, publishes OS-level notifications when you drag-and-drop on them etc).
I fail to see what is the security issue here. My understanding is that you imported a file to Files screen and some time later got download notification from macOS for the same file.

Are you able to reproduce this every time?
If not, it looks like some sort of ux glitch (eg. Electron trying to download image instead of rendering it).

Thank you for your response.
The potential security issue is having unprompted downloads (which I’ve
accepted twice).  However - if this is normal of course not an issue. If
this is completely normal/expected behavior - then I am relieved.
However - it asked to download a file and then the file was subsequently
not in my downloads folder. This happened twice.
Without better understanding the system - it seems risky to me to continue
to experimenting if it continues to happen.

Just to clarify to the scenario in your last comment a I uploaded a file
and it rendered fine in the UI and gave me and identifier for the file and
everything.  The behavior I am writing about happened after maybe 20 mins -
1 hr (during this 20 mins - 1 hr the IPFS client was in the background).

On Thu, Dec 2, 2021 at 11:11 AM Marcin Rataj @.***>
wrote:

Sure, Electron app can control various elements of macOS interface
(ipfs-desktop adds menubar icon, publishes OS-level notifications when you
drag-and-drop on them etc).
I fail to see what is the security issue here. My understanding is that
you imported a file to Files screen and some time later got download
notification from macOS for the same file.

Are you able to reproduce this every time?
If not, it looks like some sort of ux glitch (eg. Electron trying to
download image instead of rendering it).

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ipfs/ipfs-desktop/issues/1930#issuecomment-984773131,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABQ3KSNYJJ67EPSJ6H6WKTUO6LBVANCNFSM5IRQXOJA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@ChungMasterFlex the download popup is triggered by Shift+Command+H. Is it possible that you're using that key combination with some other software?

Interesting … I will have to thing about it. I think I was not pressing
that combo - but it is somewhat reassuring to know that there is a “valid
path” for the download popup.
On Mon, Jan 10, 2022 at 7:18 AM Henrique Dias @.***>
wrote:

@ChungMasterFlex https://github.com/ChungMasterFlex the download popup
is triggered by Shift+Command+H. Is it possible that you're using that key
combination with some other software?
—
Reply to this email directly, view it on GitHub
https://github.com/ipfs/ipfs-desktop/issues/1930#issuecomment-1008820886,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABQ3KUPDKMPXSUY5GQZJKLUVLFDDANCNFSM5IRQXOJA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

@ChungMasterFlex are you able to update to the latest version and see is the issue is still present?


Create an association between an action item and a thought

Feature Request
As a user of RetroQuest
I need the ability to associate an action item to a thought
So that I know the origin of an action item
Acceptance Criteria
Given I have entered a thought and an action item
When I select to associate an action item to a thought
Then I can associate said action item to desired thought

Going to be done by Lee and Patrick during pair day.

I haven't forgotten about this and yes it was a lot more work than initially thought and other work had to be done before in order to accomplish it.

@Druage what still needs to be done on this?

This looks like a duplication of #158.


[BUG] The keyboard does not show up in the sent message

Nutgram version
nutgram/symfony-bundle 1.0.1
PHP version
8.2-cli
Framework
Symfony 6.3
Cache driver
ArrayCache
Describe the bug
The keyboard does not show up in the sent message.  When I send a message to Telegram that contains InlineKeyboardMarkup or ReplyKeyboardMarkup, the message comes with no keyboard, only text.
To Reproduce
These examples from https://nutgram.dev/docs/usage/keyboards do not work:
$bot->sendMessage(
                    text: 'Welcome!',
                    reply_markup: InlineKeyboardMarkup::make()
                        ->addRow(
                            InlineKeyboardButton::make('A', callback_data: 'type:a'),
                            InlineKeyboardButton::make('B', callback_data: 'type:b')
                        )
                );

                $bot->sendMessage(
                    text: 'Welcome!',
                    reply_markup: ReplyKeyboardMarkup::make()->addRow(
                        KeyboardButton::make('Give me food!'),
                        KeyboardButton::make('Give me animal!'),
                    )
                );

The message contains only the text "Welcome!"
Expected behavior
The message should come with "Welcome!" and a built-in keyboard.
Screenshots
No response
Additional context
I noticed in the log that the problem might be that the keyboard object is not serialized properly in json:
[2023-07-02T12:29:08.496686+00:00] nutgram. DEBUG: sendMessage {"ok":true,"result":{"message_id":589,"from":{"id":***,"is_bot":true,"first_name":"***","username":"***"},"chat":{"id":***,"first_name":"***","username":"***","type":"private"},"date":1688300951,"text":"Welcome!"}} {"parameters":{"chat_id":***, "text": "Welcome!", "reply_markup":{"SergiX44\\Nutgram\\\Telegram\\\Types\\Keyboard\\ReplyKeyboardMarkup":{"keyboard":[[{"text": "Give me food!"},{"text": "Give me animal!"}]]}}, "options":[]} []

Translated with www.DeepL.com/Translator (free version)

Which nutgram version do you have? Can you make sure that you are on the latest 4.1.0?

$ composer show nutgram/nutgram
name     : nutgram/nutgram
descrip. : The Telegram bot library that doesn't drive you nuts
keywords : api, bot, framework, laravel, library, nutgram, telegram
versions : * 4.1.0
type     : library
license  : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText
homepage : https://github.com/SergiX44/Nutgram
source   : [git] https://github.com/nutgram/nutgram.git 4bbbe4ed13683c8abb403fd4fea9de4eb4732219
dist     : [zip] https://api.github.com/repos/nutgram/nutgram/zipball/4bbbe4ed13683c8abb403fd4fea9de4eb4732219 4bbbe4ed13683c8abb403fd4fea9de4eb4732219
path     : /data/vendor/nutgram/nutgram
names    : nutgram/nutgram

support
issues : https://github.com/nutgram/nutgram/issues
source : https://github.com/nutgram/nutgram/tree/4.1.0

autoload
psr-4
SergiX44\Nutgram\ => src/

requires
ext-json *
guzzlehttp/guzzle ^7.2
illuminate/macroable ^8.0|^9.0|^10.0
laravel/serializable-closure ^1.2
nutgram/hydrator ^5.0
php ^8.2
psr/log ^1.0|^2.0|^3.0
psr/simple-cache ^1.0|^2.0|^3.0
sergix44/container ^1.0

requires (dev)
ext-reflection *
pestphp/pest ^2.5
pestphp/pest-plugin-mock ^2.0
roave/security-advisories dev-latest
vimeo/psalm ^5.7.7

Can you please provides a code example that reproduces the issue? I'm not able to replicate it

Sorry, false start. I found the reason, it wasn't Nutgram. The proxy wasn't sending the data correctly. Sorry to bother you, Nutgram is a great library.


Bower package is empty

I don't know why, but bower install keen-dashboards results in a license, a README, and nothing else.
Which is a shame, really; you could easily install the necessary CSS and whathaveyou by specifying it as such in the main stanza, which would mean folks like me who use Yeoman could use your layouts far more easily.
Might write a PR.

Thanks for writing this up @aendrew. Admittedly, we haven't spent much time on more involved ways of distributing Keen Dashboards (bower, yeoman, etc.). That would be super cool if you wrote up a PR!

@aendrew just wanted to echo @josephwegner's encouragement toward the PR. We really appreciate your thoughts and any potential contribution!

I don't know anything about bower, but I just came across this SO topic and noticed that there is only a bower.json file in the master branch of this project.

@standaniels Ah! That would make sense why there's nothing when pulling from bower. If the gh-pages branch was merged with master, that would probably resolve this.

Resolved- thanks, everyone!


Error on installation

Current behavior

I couldn't even install using these command:
git clone https://github.com/DivanteLtd/vue-storefront.git vue-storefront
cd vue-storefront
yarn
yarn installer

the only error i get is that, nothing in the log file
node  v13.11.0
imagemagick installeds via homebrew
yarn v1.22.4

Sorry
Is this issue fixed?
I try to install today, howeve somthing still error

Hi @minhkhoat have you tried the fix @gibkigonzo proposed in the #4534?

I have same issue!!!!

@pkarw Hi
I think the branch didn't merge to master, so I can not view the document how to setup theme seperate

Hey, yarn installer should work with current master. I've also published vsf cli v0.2.1 and there is also a way to install theme: full installation - vsf init, or theme installation - vsf init:theme

I've the same issue: https://github.com/DivanteLtd/vue-storefront/issues/5296

Wow! I don't know how but the issue is solved. After a lot of clean installations


Book: Add Config, Dataset and Record building blocks

@nathanielsimard I've done the corrections myself, can you check again and merge?


Add contribution to Proof_Of_ContributionSnapshot5.md

Added contribution for HSM-Agents-Hub.
HSM Agents Hub is a collection of smart agents with the ability to connect different HSMs (YubiHSM, Ledger, etc) to manage the device and sign messages and transactions.  Built with LangChain.js (ollama, llama3), ai.js, Tauri and Next.js.
This is a resubmission of this PR after new app updates with updated weights:

reduced by 35% based on the new Implied value of a Weight
added 7% for development of v0.1.0 version

Implemented Agents
@YubiHSM
Manages the YubiHSM device and signs messages and transactions.
Available Functionality:

Get connected YubiHSM user devices to PC

Description: Retrieves a list of YubiHSM devices connected to the PC.
Required Parameters: None
Example: @YubiHSM My devices

Get keys in YubiHSM user device

Description: Fetches keys stored in a YubiHSM user device.
Required Parameters:

device_serial_id: (string) YubiHSM device serial id
auth_key_id: (number) YubiHSM auth key id
password: (string) YubiHSM auth key password

Example: @YubiHSM Get keys in device "123456", auth key 1, password "your_password"

Sign a user message with a specific key in YubiHSM user device

Description: Signs a given message using a specific key stored in the YubiHSM user device.
Required Parameters:

message: (string) Message for signing
device_serial_id: (string) YubiHSM device serial id
auth_key_id: (number) YubiHSM auth key id
password: (string) YubiHSM auth key password
signing_key_id: (number) Id of the key that signs the message

Example: @YubiHSM Sign message "Hello World" with device "123456", auth key 1, password "your_password" and key id 2

Under development/In plans

Extend the functionality of list_keys and sign_message by adding support for other chains: Cosmos (secpk256k1) and Solana, Aptos, Sui (Ed25519)
Functions generateKeys for YubiHSM. Discussed need for importKeys, exportKeys functions (may be unsafe)
Ledger support
Integration with web3 provider and sending transactions
Interface/server improvements
Fixing known bugs

Challenges Diary

To interact with YubiHSM devices from the JS side, a wrapper was developed over the yubihsmrs library in Tauri. Function calls also work in Node.js if Neon Bindings are used instead of Tauri
To improve function calls, we continue to experiment with different models and prompts. Currently using llama3 and the results are satisfactory. Also OllamaChat in LangChain doesn't support custom tool calling for agents, making it difficult to integrate the above features. See #9917, #39 and other issues in related repo
Since Tauri usually doesn't support NextJS API routes (this is needed for ai.js), we share code and logic between NextJS API routes and a local server used in the Tauri app. To achieve this, the pkg package is used to package up a node server as a binary. This binary is then used as a sidecar in the Tauri app. However, this adds the problem of calling rust functions from the sidecar side. The solution is to spawn a server inside the Tauri app and let sidecar do http requests against that server which in turn calls the Tauri commands

@betterbrand, resubmitted https://github.com/MorpheusAIs/Docs/pull/233

this work feels disconnected from https://github.com/MorpheusAIs/moragents, is this supposed to merge with that work later?

this work feels disconnected from https://github.com/MorpheusAIs/moragents, is this supposed to merge with that work later?

Morpheus agents don't necessarily have to be within one single client and technology stack, that's the philosophy behind Morpheus. It's a separate development based on Tauri and NextJs. Moreover, HSM Agents involve direct connection to devices using Rust backend. However, integration with moragents may be considered in the future, as it's also under development.

makes sense. it feels there are two different philosophies: 1. morpheus agents dont have to be a single client/tech stack, but 2. work must fall under a maintainer. does this mean that the maintainer must approve the different tech stack, which conflicts with the work the maintainer themselves are doing? additionally, how will the maintainer know how many weights the work is worth if the work is on a separate track? cc @LachsBagel [the maintainer] and @DavidAJohnston

makes sense. it feels there are two different philosophies: 1. morpheus agents dont have to be a single client/tech stack, but 2. work must fall under a maintainer. does this mean that the maintainer must approve the different tech stack, which conflicts with the work the maintainer themselves are doing? additionally, how will the maintainer know how many weights the work is worth if the work is on a separate track? cc @LachsBagel [the maintainer] and @DavidAJohnston
One counterargument with having a separate track of work is development is hard to track because it is not formally under a maintainer. an example is
https://github.com/MorpheusAIs/Docs/blob/cc654151098cb87c37dbd133cad87c5c2ded168d/Contributions/Code - Proof_Of_ContributionSnapshot3.md?plain=1#L127
, where a user was awarded weights for a tiny agent outside of the maintainer's track of work and hasnt worked on it for two months (https://github.com/JasonFengGit/MOR-Agent).
I do agree with you on the philosophy of different technology stacks though, and I think this work looks promising - is this where an MRC is required i.e. submit an MRC and get community approval, then implement, especially for a project of this size?

I'm also discussing the development of this project with the maintainer. Maintainers can check different types of contributions from developers, and if they think the requested weights are correct, accept them, otherwise ask to lower them. And yes, big projects are best discussed with the maintainers first.
The weights for the agent you mentioned were for snapshot 3, when the implied value of weight was different. If this contribution was approved, it means it was reviewed and accepted by the maintainer. Moreover this agent is now being used in moragents.
As for MRC, we think that for this contribution, it may be redundant, but as development becomes more complex in the future (more agents and integration), it can be opened too.

Small correction that the agent/contribution I've linked is not being used in moragents. The agent currently being used is built by @cliffordattractor, and the contribution that I linked is a fork of that agent plus some additional small functionality which actually does not work [I've tried running both agents locally].
Otherwise, sounds good and agree on the thoughts around maintainer/contributor development relationships. Very interesting to see the project unfold, thanks for the discussion and for your contributions to Morpheus

@LachsBagel

This is disconnected
See this doc https://github.com/MorpheusAIs/moragents/blob/main/AGENTABILITIES.md#how-to-contribute
Thank you and hopefully we can find another way to merge in contributions based on the above
Appreciate your patience and time


Remove Achievement Enablement Setting

I was originally using another mod to let me still get achievements when using the few QoL mods I planned to when I saw this option in settings.  However, and likely because this is a re-use from another of Larian's games, the setting in this tool that says it enables achievements does not do so.  This is misleading to users and they might think they would otherwise get achievements when it does not change anything about the game.  I checked with the hireling achieve and it did not trigger.
Please clean up the settings menu, and anywhere else, and remove settings, text, or options that do not apply to Baldur's Gate 3 or are not otherwise applicable.

That's a script extender setting (note it's in the "Extender" tab). The settings there write to ScriptExtenderSettings..json, which goes next to the exe in the bin folder. The script extender itself can be installed manually, or through the tools menu.
Note that achievements should automatically be enabled in the script extender, without needing to be enabled in the json file.

I saw that JSON file appear, but it did not do anything for me.  I had to go through a load of Googling about the script extender to find this massive post detailing it for DOS2: https://steamcommunity.com/sharedfiles/filedetails/?id=2031669903 to learn there is something else to install.
Perhaps we can save anyone that never played previous Larian games the trouble and include some brief notes, like in a tooltip, to either look at that long post, or a tl;dr: that it does not work unless you install from the tools menu?  I think it is a good opportunity for some improved UX.  Even just a note in the readme about it?


Feature/5 implement the link page

Ok, I quite like it, but there will be more work in the near future, different color for section names etc.

Good good, I'm happy with this, merging right away


add flagger crds

Set up CRDs for Flux's Flagger.  It seems they should be under different folders, as the api version is different. Let me know if this is not correct though.
mkdir canaries.flagger.app alertproviders.flagger.app metrictemplates.flagger.app
./openapi2jsonschema.py https://raw.githubusercontent.com/fluxcd/flagger/main/artifacts/flagger/crd.yaml
mv canary_v1beta1.json canaries.flagger.app/
mv alertprovider_v1beta1.json alertproviders.flagger.app/
mv metrictemplate_v1beta1.json metrictemplates.flagger.app/

Looked a bit more at the readme, and grouped the crd files under flagger.app, which works when testing with kubeconform --verbose -schema-location 'https://raw.githubusercontent.com/defenestration/CRDs-catalog/flagger-crds/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json' $some_canary now.

Well, I see flagger is covered in #156, so if you merge that one, you could close this one.

@defenestration thank you for the PR!
to avoid merging conflicts, I will close your PR and merge #156


How can can define MODE_PRIVATE,MODE_WORLD_READABLE,MODE_WORLD_WRITABLE in shared_preferences

In shared_preferences, I didn't found a way to define MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITABLE.

Hi @shahnawazahmed88
SharedPreferences uses MOODE_PRIVATE  and by now you don't have the option to change this.
The other options are now deprecated and it is not recommended to use then. See https://developer.android.com/reference/android/content/Context.html#MODE_WORLD_READABLE.

Hi @shahnawazahmed88
SharedPreferences uses MOODE_PRIVATE  and by now you don't have the option to change this.
The other options are now deprecated and it is not recommended to use then. See https://developer.android.com/reference/android/content/Context.html#MODE_WORLD_READABLE.


fact check probe

look at TREC KBP questions + answers, or any QA dataset
look also for datasets making false presuppositions e.g. when did France first land on the moon - perhaps starting here, https://www.promptingguide.ai/risks/factuality

added in misleading, 493821431c57ca1973cdb06f14af72b6c412c72b


work stealing queue

nvidia's stdexec now has a work stealing queue:
https://github.com/NVIDIA/stdexec/commit/3a0439c9628a65edf3ed58e86d3a6b078a2d324b#diff-89920d7a167760061fc1c06555f9a0ac4955fb47d79769ca668c654d91ac6097

original paper https://www.usenix.org/system/files/osdi23-wang-jiawei.pdf


SOC2 CI-100 - MI upgrade process

Process of upgrading MIs to new version.

@filiphaftek this is great.
Is it possible to lick to uptime and performance check to appropriate sections/pages in the handbook?


Add an icon to notification banner/alert by argument

Is your feature request related to a problem? Please describe.
I´m switching from Yo to Mac-ibm-motifications and sorely miss the ability to include icons in notifications.
Describe the solution you'd like
The --icon argument from https://github.com/sheagcraig/yo
Additional context
as you can see in the screenshot, I used the icon function of Yo to indicate to the end user which app was installed with Munki.

.

Hi @mallej, thanks for suggesting new features. We'll take care of it asap.

How do you use this icon option when running as a Notification banner/alert?

Hi @kylejericson, this FR has not been implemented yet

In the meantime if you wanted a custom icon could you edit the xcode project with a custom icons? If so what image sizes would you need?

Do you mean how to change the left icon for the banner/alert? That icon is inherited from the main app icon and so only rebranding the app you can customize it. To do so read more here: https://github.com/IBM/mac-ibm-notifications/wiki/Rebranding-the-application

Thanks so much didn't see this.


Profile - Home address - No error message when entering spaces in the form and able to save

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

Action Performed:

Open staging
Go to the profile => personal detail
Change zip code and other required field with spaces
Click save
click view personal detail again

Expected Result:
Should throw error message
Actual Result :
Still can save when it blank, and data will reset with previous data, if you change other field correct
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.2.68-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/217959096-fb2a64ac-22ca-4d53-90e0-631cfe3b2d10.mp4
Expensify/Expensify Issue URL:
Issue reported by: @MalNguyen
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1675933128513739
View all open jobs on GitHub

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@Beamanator - can I get your thoughts on whether this is a dupe or not? Here, it seems a single fix will do both: https://github.com/Expensify/App/issues/14958#issuecomment-1424971869

@twisterdotcom honestly I don't see the problem with entering spaces - technically the zip code can definitely have spaces (for UK zip codes), obviously street line 1 and 2 can, and probably city and state/province can too right? We already trim the values so no leading or trailing spaces will remain.
Also I don't love the idea of multiple bug reports about "one character we should not allow" (similar to this bug report) - we should either try to completely lock down the entire form with every single character we allow / disallow or :donothing: (imo)

Also technically the comment here (https://github.com/Expensify/App/issues/14958#issuecomment-1424971869) won't completely resolve this one, if we chose to not allow spaces in the form - that proposal only relates to zip codes i believe

@twisterdotcom Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

@twisterdotcom Whoops! This issue is 2 days overdue. Let's get this updated quick!

Alright @MelvinBot. Discussing in Slack here: https://expensify.slack.com/archives/C02NK2DQWUX/p1676383828887849?thread_ts=1676285113.004489&cid=C02NK2DQWUX

Gonna close this in favour of https://github.com/Expensify/App/issues/14958


Error when setup

Nice work, but I meet some problem when python setup.py.
Follow your instruction, this system still cannot work on my PC (ubuntu 20, nvcc V10.1.243, gcc/g++ 9.4, clang 10.0.0. CMake 3.16.3)
Any idea how to fix that?
python setup.py install

running install
/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/easy_install.py:160: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running bdist_egg
running egg_info
writing pydifem.egg-info/PKG-INFO
writing dependency_links to pydifem.egg-info/dependency_links.txt
writing top-level names to pydifem.egg-info/top_level.txt
reading manifest file 'pydifem.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'pydifem.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
CMake Warning (dev) at CMakeLists.txt:2 (project):
Policy CMP0048 is not set: project() command manages VERSION variables.
Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
command to set the policy and suppress this warning.
The following variable(s) would be set to empty:
CMAKE_PROJECT_VERSION
CMAKE_PROJECT_VERSION_MAJOR
CMAKE_PROJECT_VERSION_MINOR
CMAKE_PROJECT_VERSION_PATCH

This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Warning at CMakeLists.txt:17 (find_package):
By not providing "FindCGAL.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "CGAL", but
CMake did not find one.
Could not find a package configuration file provided by "CGAL" with any of
the following names:
CGALConfig.cmake
cgal-config.cmake

Add the installation prefix of "CGAL" to CMAKE_PREFIX_PATH or set
"CGAL_DIR" to a directory containing one of the above files.  If "CGAL"
provides a separate development package or SDK, be sure it has been
installed.
-- Found rapidjson header files in /media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anabur_test/diff_fem/extern/rapidjson/include
Flags :
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
-- Boost 1.66.0 found.
-- Found Boost components:
filesystem;python3;numpy3
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
-- pybind11 v2.10.0 dev1
CMake Warning (dev) at CMakeLists.txt:66 (target_link_libraries):
Policy CMP0023 is not set: Plain and keyword target_link_libraries
signatures cannot be mixed.  Run "cmake --help-policy CMP0023" for policy
details.  Use the cmake_policy command to set the policy and suppress this
warning.
The keyword signature for target_link_libraries has already been used with
the target "pydifem".  All uses of target_link_libraries with a target
should be either all-keyword or all-plain.
The uses of the keyword signature are here:

extern/pybind11/tools/pybind11Tools.cmake:160 (target_link_libraries)
extern/pybind11/tools/pybind11Tools.cmake:192 (target_link_libraries)

This warning is for project developers.  Use -Wno-dev to suppress it.
-- Configuring done
CMake Warning at extern/pybind11/tools/pybind11Tools.cmake:158 (add_library):
Cannot generate a safe runtime search path for target pydifem because files
in some directories may conflict with libraries in implicit directories:
runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/9 may be hidden by files in:
  /media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib

Some of these libraries may not be found correctly.
Call Stack (most recent call first):
CMakeLists.txt:63 (pybind11_add_module)
-- Generating done
-- Build files have been written to: /media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anabur_test/diff_fem/build/temp.linux-x86_64-3.8
[1/2] Building CXX object CMakeFiles/pydifem.dir/python/pydifem.cc.o
FAILED: CMakeFiles/pydifem.dir/python/pydifem.cc.o
/usr/bin/c++  -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DNDEBUG -DSOFTCON_DIR="/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anabur_test/diff_fem" -DVERSION_INFO=0.0.1 -Dpydifem_EXPORTS -I../../extern/tinyObjLoader -I/usr/include/eigen3 -I../../extern/rapidjson/include -I../../sim -I../../sim/fem -isystem ../../extern/pybind11/include -isystem "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/include/python3.8" -O3 -DNDEBUG -fPIC -fvisibility=hidden   -fPIC -std=gnu++11 -Wdeprecated-declarations -flto -fno-fat-lto-objects -fopenmp -std=gnu++14 -MD -MT CMakeFiles/pydifem.dir/python/pydifem.cc.o -MF CMakeFiles/pydifem.dir/python/pydifem.cc.o.d -o CMakeFiles/pydifem.dir/python/pydifem.cc.o -c ../../python/pydifem.cc
In file included from ../../python/pydifem.cc:8:
../../python/../sim/diff/cppad_utils.h:26:10: fatal error: cppad/cppad.hpp: No such file or directory
26 | #include <cppad/cppad.hpp>
|          ^~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "setup.py", line 104, in
setup(
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/init.py", line 155, in setup
return distutils.core.setup(**attrs)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 148, in setup
return run_commands(dist)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
dist.run_commands()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
self.run_command(cmd)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/install.py", line 74, in run
self.do_egg_install()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/install.py", line 116, in do_egg_install
self.run_command('bdist_egg')
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 165, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 151, in call_command
self.run_command(cmdname)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/command/install_lib.py", line 107, in build
self.run_command('build_ext')
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/home/ly/.local/lib/python3.8/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/home/ly/.local/lib/python3.8/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
_build_ext.build_ext.build_extensions(self)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "setup.py", line 97, in build_extension
subprocess.check_call(
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.']' returned non-zero exit status 1.

Thanks for your questions! I have updated the build instruction. Can you first run sudo apt-get install ninja-build cppad and use the latest cmakelist file. Sorry about that.

Thank you for your reply, and I re-install whole project. And follow your suggestions install ninjia-build at first. But still not work, while also report another CMake error:
CMake Error at CMakeLists.txt:18 (include): include called with wrong number of arguments.  include() only takes one
file.
So I change the include in line 18 of CMake file to include_directories. Then it report cmake error as bellow.
python setup.py install
running install
/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/easy_install.py:160: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running bdist_egg
running egg_info
writing pydifem.egg-info/PKG-INFO
writing dependency_links to pydifem.egg-info/dependency_links.txt
writing top-level names to pydifem.egg-info/top_level.txt
reading manifest file 'pydifem.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'pydifem.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
CMake Warning (dev) at CMakeLists.txt:2 (project):
Policy CMP0048 is not set: project() command manages VERSION variables.
Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
command to set the policy and suppress this warning.
The following variable(s) would be set to empty:
CMAKE_PROJECT_VERSION
CMAKE_PROJECT_VERSION_MAJOR
CMAKE_PROJECT_VERSION_MINOR
CMAKE_PROJECT_VERSION_PATCH

This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Warning at CMakeLists.txt:17 (find_package):
By not providing "FindCGAL.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "CGAL", but
CMake did not find one.
Could not find a package configuration file provided by "CGAL" with any of
the following names:
CGALConfig.cmake
cgal-config.cmake

Add the installation prefix of "CGAL" to CMAKE_PREFIX_PATH or set
"CGAL_DIR" to a directory containing one of the above files.  If "CGAL"
provides a separate development package or SDK, be sure it has been
installed.
-- Found rapidjson header files in /media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/diff_fem/extern/rapidjson/include
Flags :
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
-- Boost 1.66.0 found.
-- Found Boost components:
filesystem;python3;numpy3
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
-- pybind11 v2.10.0 dev1
CMake Warning (dev) at CMakeLists.txt:66 (target_link_libraries):
Policy CMP0023 is not set: Plain and keyword target_link_libraries
signatures cannot be mixed.  Run "cmake --help-policy CMP0023" for policy
details.  Use the cmake_policy command to set the policy and suppress this
warning.
The keyword signature for target_link_libraries has already been used with
the target "pydifem".  All uses of target_link_libraries with a target
should be either all-keyword or all-plain.
The uses of the keyword signature are here:

extern/pybind11/tools/pybind11Tools.cmake:160 (target_link_libraries)
extern/pybind11/tools/pybind11Tools.cmake:192 (target_link_libraries)

This warning is for project developers.  Use -Wno-dev to suppress it.
-- Configuring done
CMake Warning at extern/pybind11/tools/pybind11Tools.cmake:158 (add_library):
Cannot generate a safe runtime search path for target pydifem because files
in some directories may conflict with libraries in implicit directories:
runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/9 may be hidden by files in:
  /media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib

Some of these libraries may not be found correctly.
Call Stack (most recent call first):
CMakeLists.txt:63 (pybind11_add_module)
-- Generating done
-- Build files have been written to: /media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/diff_fem/build/temp.linux-x86_64-3.8
[2/3] Building CXX object CMakeFiles/pydifem.dir/python/pydifem.cc.o
FAILED: CMakeFiles/pydifem.dir/python/pydifem.cc.o
/usr/bin/c++  -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DNDEBUG -DSOFTCON_DIR="/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/diff_fem" -DVERSION_INFO=0.0.1 -Dpydifem_EXPORTS -I../../extern/tinyObjLoader -I/usr/include/eigen3 -I../../extern/rapidjson/include -I../../sim -I../../sim/fem -isystem ../../extern/pybind11/include -isystem "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/include/python3.8" -O3 -DNDEBUG -fPIC -fvisibility=hidden   -fPIC -std=gnu++11 -Wdeprecated-declarations -flto -fno-fat-lto-objects -fopenmp -std=gnu++14 -MD -MT CMakeFiles/pydifem.dir/python/pydifem.cc.o -MF CMakeFiles/pydifem.dir/python/pydifem.cc.o.d -o CMakeFiles/pydifem.dir/python/pydifem.cc.o -c ../../python/pydifem.cc
In file included from ../../python/../sim/fem/World.h:10,
from ../../python/../sim/Environment.h:4,
from ../../python/pydifem.cc:9:
../../python/../sim/fem/../utils/collisionBrutal.h:3:10: fatal error: CGAL/Surface_mesh.h: No such file or directory
3 | #include <CGAL/Surface_mesh.h>
|          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "setup.py", line 104, in
setup(
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/init.py", line 155, in setup
return distutils.core.setup(**attrs)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 148, in setup
return run_commands(dist)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
dist.run_commands()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
self.run_command(cmd)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/install.py", line 74, in run
self.do_egg_install()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/install.py", line 116, in do_egg_install
self.run_command('bdist_egg')
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 165, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 151, in call_command
self.run_command(cmdname)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/command/install_lib.py", line 107, in build
self.run_command('build_ext')
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/home/ly/.local/lib/python3.8/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/home/ly/.local/lib/python3.8/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
_build_ext.build_ext.build_extensions(self)
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "setup.py", line 97, in build_extension
subprocess.check_call(
File "/media/ly/1dc08886-9b59-45c8-809c-468f28b98ce1/anaconda3$/envs/difem/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.']' returned non-zero exit status 1.

Could you try sudo apt-get install libcgal-dev

Thanks so much. Nice work again, it works for me now


chore: benchmark test

just a test
cd tests/benchmark && APP_ID= API_KEY= yarn bench

For the moment I just tried to put something in place however I encountered a first "issue", the v5 client does not kill itself in a timely manner.

you can compare by running both test manually
cd tests/search/js/v5
APP_ID= API_KEY= node ./index.js

cd tests/search/js/v4
APP_ID= API_KEY= node ./index.js

You will see v4 terminating quickly and v5 being idle for 1-2sec. That usually highlight a setTimeout/interval hanging in the event loop or connection not closed somewhere.

Thought I found an issue but just missed an await 👍🏻

Here is the result, v5 seems consistently slower but not dramatically slower (oscillate from 6% to 25% percent).

I often get v5 being faster on bigger sample size, I'll try with large batches instead of simple saveObject to see if it changes.
(We can however still observe that it varies a lot as most of the operations depends on external factors)

Closing as it's not a prio and hard to interpret as-is


Rate Limit Headers

Maybe we should return some Headers, which describe the Rate-Limit:

X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-Reset

Idea from Clearbit

Added in 5cfcc0f4f4af019d48a345fe3a76cf97d203a16f


Add features param to IterableDataset.map

Description
As suggested by @lhoestq in #3888, we should be adding the param features to IterableDataset.map so that the features can be preserved (not turned into None as that's the default behavior) whenever the user passes those as param, so as to be consistent with Dataset.map, as it provides the features param so that those are not inferred by default, but specified by the user, and later validated by ArrowWriter.
This is internally handled already by the functions relying on IterableDataset.map such as rename_column, rename_columns, and remove_columns as described in #5287.
Usage Example
from datasets import load_dataset, Features

ds = load_dataset("rotten_tomatoes", split="validation", streaming=True)
print(ds.info.features)
ds = ds.map(
    lambda x: {"target": x["label"]},
    features=Features(
        {"target": ds.info.features["label"], "label": ds.info.features["label"], "text": ds.info.features["text"]}
    ),
)
print(ds.info.features)

What's missing?

[ ] Make sure that it's properly unit tested
[ ] Read IterableDataset documentation to see if it needs updates
[ ] Feedback from @lhoestq and/or @mariosasko

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


Add acronyms to glossary and fix typo in documentation.

Reviewer checklist
@yzhang90 Thanks for pointing out the ceil(not) typo.

[ ] Test coverage: stack test --coverage
[ ] Public API documentation: stack haddock
[ ] Style conformance: stylish-haskell

LGTM


Solaris/Illumos: Add several more filio ioctls

MIO needs these

:pushpin: Commit 636348a has been approved by alexcrichton

@bors: r+

:hourglass: Testing commit 636348a with merge e9238eb...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing e9238ebc9b401d067f1b539cf9d13519afa041a8 to master...


Format Hour as AM/PM

When I change the hourFormat to this:
hourFormat="HH:mm A"
It results in the time going from 11:00AM, 12:00PM, 13:00PM, 14:00PM and so on.
Is there a way to fully integrate AM/PM format?

Correct format is "hh:mm A"

Thank you!


Add a doctest example for EntityMapper

Objective
Fixes: https://github.com/bevyengine/bevy/issues/11549
Add a doctest example of what a custom implementation of an EntityMapper would look like.
(need to wait until https://github.com/bevyengine/bevy/pull/11428 is merged)

Merging the previous PR, which should make the diff much cleaner momentarily.


After upgrading to 2.4.0 Multipart doesnt work with multple parameters

Im getting an exception "Multiple complex types found. Specify one parameter as the body using BodyAttribute"
i think its related to these changes https://github.com/paulcbetts/refit/commit/363c78d51b239fcd3dafb5d003b6b1b9bf53009d
where this check is made
// The body parameter is found using the following logic / order of precedence:
// 1) [Body] attribute
// 2) POST/PUT/PATCH: Reference type other than string
// 3) If there are two reference types other than string, without the body attribute, throw
i think this is only right if the request is not multipart
do you agree?

I think this will be fixed by #189.

great
thanks!!


Not found error handler

Is it possible to customize the not found error handler? Or an error handler in generell?

Okay got it working with Application#pre()
app.pre((next: HandlerFunc) => (context: Context) => {
  try {
    return next(context);
  } catch (error) {
    // ... custom error logic
  }
});

But if possible it would be cool to set custom error handlers per group with Group#errorHandler() or something like this, including 404 errors

@DreamTexX Sorry for being late, ideally we can customize the error logic through the following code, but obviously we can't now, I am pretty sure this is a Bug🤣
app.group("/user", next => c => {
  try {
    return next(c);
  } catch {
    // ... custom error logic
  }
});


Add support for Swift 5.2 and Xcode 11.4

New Pull Request Checklist

[x] I have read and understood the CONTRIBUTING guide

[x] I have read the Documentation

[x] I have searched for a similar pull request in the project and found none

[x] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)

[x] I have added the required tests to prove the fix/feature I am adding

[x] I have updated the documentation (if necessary)

[x] I have run the tests and they pass

[x] I have run the lint and it passes (pod lib lint)

This merge request fixes / refers to the following issues: -
Pull Request Description
This makes a few adjustments that are necessary for Swift 5.2 and Xcode 11.4 - especially for SPM

Symlink workaround now produces a warning -> move headers into subfolder, change to fully qualified imports and remove symlinks
Cleanup Header import order - errors first, then 3rd party, then ours
Change module import statement to normal header import in CocoaLumberjackSwift Framework header (discouraged as mentioned in Xcode 11.4 release notes)
Update Package.swift for Swift 5.2
Fix gitignore to not ignore our Lumberjack.xcodeproj

          2 Warnings

:warning:
The library files were changed, but the tests remained unmodified. Consider updating or adding to the tests to match the library changes.

:warning:
The Carthage project was modified but CocoaPods podspec wasn’t. Did you forget to update the podspec?

  Generated by :no_entry_sign: Danger

Looks good to me too. Thanks @ffried.
My only question: will this work for all our installation options, especially CocoaPods without use_frameworks! - I remember some issues with using imports like #import <CocoaLumberjack/Header.h> vs `#import "Header.h"

@bpoplauschi I'm not too sure, since I'm not using CocoaPods. On the other hand, I've not changed any imports (except in CLIColor.m). They were already <CocoaLumberjack/Header.h>. I've just reordered them. My first approach was to use double quoted imports in the implementation files, but since SPM recommends creating a dedicated folder inside the include folder and we already had the angle brackets imports (almost) everywhere, I've opted for this.
Travis seems to be happy, SPM builds worked, local (Xcode) builds worked - so I'm pretty sure this will be fine.

I agree @ffried. If any issues pop-up we will fix them, but indeed with all the checks we have we should be good.

@bpoplauschi Speaking of it, just saw that Travis actually failed (pod lib lint) but never reported that back to the PR. Podspec was missing the required patterns to find the moved header files. Fixed that now.
Any idea why Travis no longer reports back?

Nice fix.

Any idea why Travis no longer reports back?

I'm not sure what is a root cause, but it may be worth trying this. Organization owners(I'm not an owner) can re-enable settings.
Any idea?

I re-synchronized GitHub PR and Travis-CI.
Now everything works fine🙂

Thanks @sushichop - I was about to look into that

Let's wait for CI test result about #1131 over coffee🙂


Auto centering map on my position when changing location

I have this issue: while moving (e.g. driving bus or car) and scrolling the map, when my app get location change, map is automatically centering on my new current position.
Disabling "my location" control do nothing. Map still does auto center.
It's quite annoying :/
Is there any way to disable that behavior?

This plugin does not follow your location automatically. It comes from the native Map SDKs.
You need to set proper settings by yourself.
var map = plugin.google.maps.Map.getMap({
  'controls': {
    'myLocationButton': true / false
  }
});

And also check out here.
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/266#issuecomment-63118586

Thanks, but as I said, setting myLocationbutton to false doesn't change anything. Map is still centering on current position while I moving.

As I said, this plugin does not do anything. It comes from the native SDK. So this is not related with this plugin.
And only possible way is
map.setMyLocation(false);
map.getUiSettings().setMyLocationButtonEnabled(false);

Please check this https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/266#issuecomment-63118586

Ok, I'll try that! Thank you very much! :)


Start working on label descriptions

Will add an explanation of how I use the most common labels.
Refs https://github.com/bundler/bundler/labels, https://github.com/rubygems/rubygems/labels

I've been very happy with our system at CocoaPods: https://guides.cocoapods.org/contributing/tickets-handling.html

I'm trying to merge the Bundler and RubyGems issue styles, but they're both a bit messy. Coacoa pods issues are extremely well done though, and I would like to move to a system like that. Just have to figure out how to map the current Bundler and RubyGems issues to it. This braindump incoming...

0 - Backlog and 1 - Working / Ready are both status indicators, as is Triage and More-Information-Needed, although the last one should probably be more like User-Feedback-Required (like CoacoaPods' waiting input). So is confirmed but I never use that (will delete). Instead of marking issues as confirmed, I like to give them a type (ie. bug report or feature request)

Confirmed basically means it's been triaged and is awaiting work, but there's no real detail in how to fix

Going to use triage for what could be confirmed, triage here meaning "we're still figuring this one out"

thinking about changing "more information needed" to "user feedback needed" since that's how its used in practice.

Types:
bug report, feature, documentation, small
Status:
triage, user feedback needed, working / ready, backlog
Area (?):
resolver, platforms, windows, ...
Special case:
GSoC (Google Summer of Code)

I really like the t1 (ie. type 1) syntax that CocoaPods uses, so I'll definitely be adopting that

@LynnCo I'd rather no label mean untriaged, rather than having to specifically apply one

@segiddins I'm also not a fan of area labels, their implementation in Bundler is definitely spotty.
I have to think about the triage thing. I've been using no label to mean "nobody tried to categorize this" and adding the triage label often reassures users that someone is working on resolving their issue. That is, a user sees someone adding the "triage" label and that is a reasonable stand in for a comment saying "we are working on this". That said, not explicitly labeling things as triage saving quite a lot of clicks. (...) I'm going to keep thinking about this one.

I'm considering using milestones for "area" instead of labels. Ex: Better Platform Support (milestone) instead of Platforms (label). Milestone's haven't gotten a lot of use in Bundler recently, so we'll see if this ends up being useful.

So RE triage,
In repos where the issues are both for development work and support issues, adding the triage label assures users posting about support issues that we are looking into it. I definitely want to keep it, for that reason.

I am not strongly opinionated about the existence or use of a triage label, but I think it's fine to use it as part of our overall labelling overhaul, especially if it makes life easier for the person doing the majority of the labelling work, who in this case is @LynnCo. 👍
In my ideal future world, the bot will high-five new PRs, roll up newly posted issues into a digest delivered into Slack for team members to triage and process on a daily-ish schedule, delete +1 comments, and generally help us keep things organized and tidy. An automatic triage label seems like an okay intermediate step in the grand plan, although likely not the final resting state.

So (luckily) the new issue labels are by and large self explanatory, or at least enough so that added a description of them into ISSUES.md would mainly involve me writing for the sake of writing.
Which is so say that I'm closing this PR


Running "cloud-init" before "b2d env"

related to rancher/os#442

Please use this commit msg:
Running "cloud-init" before "b2d env"
1. Users can configure `autoformat` through cloud-config
2. Udevsettle is executed in cloud-init, and some platforms such as hyper-v need to scan devices earlier.


Regression of keyboard handling

VSCode Version: 1.24.1
OS Version: Linux

Steps to Reproduce:

Open VSCode and a tsfile
On a german keyboard pressing ctrl+shift+7 (on the keyboard) was the keybinding for ctrl+/. Since the bugfix release this does not work anymore.

Restarting vscode did help. Don't know what was wrong. Nevermind.


Pop up 2 confirming dialogs when deleting a blob in File Explorer

OS: Win10 & Mac
Build Version: 20190926.1
Regression: Previous Build
Repro Steps:

Enable feature "Azure Storage: Enable View in File Explorer..." in User Setting.
Drill down from one storage account --> Blob Containers node --> one blob --> Click "Open in File Explorer".
Right click one blob file in File Explorer --> Select "Delete Permanently".

Expect:
Pop up one dialog to ask whether want to delete the file or not.
Actual:
Pop up 2 confirming dialog.

More Info:

This issue does not reproduce for file share.
This issue does not reproduce for a blob folder.
The blob file has been deleted and disappears from the view actually after selecting "Cancel" on the second dialog.

@v-dantch I'm only seeing one prompt with the current build. Can you still repro?

Hi @wwlorey ,verified this issue with 20191203.1, this issue does not reproduce for now. So we will close it for now.


Integration tests for webhook in galley scaling scenarios

Add integration tests to validate the following scenarios:

Galley instance being scaled up/down doesn't change the webhook configuration
If Galley is uninstalled (specifically, if the deployment is removed) then the webhook configuration is deleted

[X] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: sushicw
To complete the pull request process, please assign ozevren
You can assign the PR to them by writing /assign @ozevren in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

galley/OWNERS
pkg/OWNERS
tests/integration/galley/OWNERS

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

@sushicw: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-lint-master
289fcb9edf87f377d7d12cbe00e271daf43b5eab
link
/test istio-lint-master

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

@ozevren PTAL and make sure I'm going about this the right way.

@sushicw: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-security-k8s-presubmit-tests-master
61c275f1e3b18cc8e88d7151202b0c6dc74d1af1
link
/test integ-security-k8s-presubmit-tests-master

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

@sushicw: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-security-k8s-presubmit-tests-master
61c275f1e3b18cc8e88d7151202b0c6dc74d1af1
link
/test integ-security-k8s-presubmit-tests-master

istio-racetest-master
61c275f1e3b18cc8e88d7151202b0c6dc74d1af1
link
/test istio-racetest-master

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

@sushicw: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-security-k8s-presubmit-tests-master
61c275f1e3b18cc8e88d7151202b0c6dc74d1af1
link
/test integ-security-k8s-presubmit-tests-master

istio-racetest-master
61c275f1e3b18cc8e88d7151202b0c6dc74d1af1
link
/test istio-racetest-master

integ-new-install-k8s-presubmit-tests-master
61c275f1e3b18cc8e88d7151202b0c6dc74d1af1
link
/test integ-new-install-k8s-presubmit-tests-master

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

Please make sure integ-new-install-k8s-presubmit-tests-master passes still with this change. You can see it fails because galley is deleted

@sushicw: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-security-k8s-presubmit-tests-master
61c275f1e3b18cc8e88d7151202b0c6dc74d1af1
link
/test integ-security-k8s-presubmit-tests-master

istio-racetest-master
7e26c9f1ccd1d4fe59d1053218e7893984da85d8
link
/test istio-racetest-master

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ozevren, sushicw
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

galley/OWNERS [ozevren]
pkg/OWNERS [ozevren]
tests/integration/galley/OWNERS [ozevren]

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

/hold

New changes are detected. LGTM label has been removed.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ozevren, sushicw
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

galley/OWNERS [ozevren]
pkg/OWNERS [ozevren]
tests/integration/galley/OWNERS [ozevren]

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


[msal-browser] Add negative offset value prevention for popup windows

This PR prevents PopUp window position offsets from being negative by using Math.max() in order to make the top and left offsets 0 if they are negative immediately before they are added to the calculated position.
Fixes #1928

Coverage remained the same at 81.692% when pulling 170887431cab785635b6b71852a882bf16de78d9 on popup-position-fix into d77aafdfca80f87d930a7c0b9338ce38f18c9dc4 on dev.


[enhancement] Get image resolution

When placing images to PDF, it would be very useful to also know image resolution, in other words its physical size.
PDFImage methods .size and .scale return image size in pixels, and we don't have a way of finding the intended/physical image size in mm/Inch/pt, which would be useful if we want to place the image to page at its original, intended/physical size.
Here is an hypothetical example:
  let imgBytes = ...
  let pdfDoc = await PDFDocument.create();
  let page = pdfDoc.addPage();
  const jpgImage = await pdfDoc.embedJpg(imgBytes);

  // **HYPOTHETICAL METHOD!**
  const resolution = jpgImage.resolution();

  // then we could calculate image scale factor to match the original image size:
  const jpgDims = jpgImage.scale( 72 / resolution);

  // or we could calculate image dimensions in units other than pixels
  const widthInInches = jpgDims.width / resolution

For JPG images, this could probably be done in src/core/embedders/JpegEmbedder.ts by looking in the image header, namely Units and Xdensity & Ydensity, but new property resolution would have to be added to the class.
For PNG, UPNG library used can be tapped into, reading pHYs data chunk which (if present) contains the physical measures of PNG file.
@Hopding if you are interested, I could PR and try to tackle this.

Actually, JPG images are much tougher to parse, because there are (at least) two standards/containers: JFIF and EXIF, and
EXIF is very convoluted. Since I believe that adding another dependency just for this is not an option, I will try to write simplified parser for EXIF, to get image resolution/density.
PNG and JFIF jpegs are rather straightforward and I have a working code prepared.

@bockoblur This feature makes sense to me. I'd be happy to accept a PR implementing this!
A couple of things I want to note (that you may have already thought of):

Parsing is error prone. So if "extra" parsing has to be done on an image (e.g. parsing the EXIF metadata) to obtain it's resolution, that parsing should be done lazily. I'd imagine it happens only when resolution() is first called for that image and the values are then stored in a Cache.
Since the resolution is technically an optional property of an image, the resolution() method should return undefined if that property is not present (as opposed to throwing an error). So the method signature should be resolution(): number | undefined - not resolution(): number.

@Hopding

For PNG images, parsing is already done by UPNG when image data reaches the constructor, so there is no overhead.

For JPG images, 'parsing' is all about traversing through ArrayBuffer which is already loaded when we reach the parser, so I don't think that there will be much overhead either.

As for the signature, I was thinking that if parsing fails for whatever reason (most likely due to information not being present in the image), resolution should fall back to default of 72dpi, which is a standard value.
All images without information about resolution/density are always treated like 72dpi (in the browser, Adobe products etc.), so why not here?
Thoughts?

Proof of concept for JPG Exif parsing can be found in this CodeSandBox (Look at the timings logged on the console - the whole parsing takes about 1ms for each of the test images).
And since parsing does not depend on image size (the whole Exif table is always in the first few kb of the file), I think that we can safely assume that  there will be no noticable overhead.
Speaking of this, are you ok with using a dependency for this feature? In the above example I used ts-exif-parser, so if you don't mind using it it would save me a lot of time...


Strange exception behaviour

Hi all,
We have accumulated quite a lot of BAM files over the years and we would like (need) to archive the old(er) ones. We have tested CRAMtools 2.1 and we are very happy with the results. Since we are talking about thousands of BAM files, we cannot go without automation. But...
The problem is as followed:

when I run CRAMtools in a job file, it terminates immediatly (throwing an exception).
when I copy the command from the job file and execute it on the head node or on the node it previously failed on, I have no issues what so ever.

My job file looks like this:
#PBS -N DNAXXXXXX
#PBS -j oe
#PBS -o /data/results/CRAM_archive/2013/october//DNAXXXXXX.log
#PBS -r y
#PBS -q bs_secondary
#PBS -m ea
#PBS -M<EMAIL_ADDRESS>#PBS -l nodes=1:ppn=12
cp /data/results/BGI/DNAXXXXXX/DNAXXXXXX.bam /scratch/
cp /data/results/BGI/DNAXXXXXX/DNAXXXXXX.bam.bai /scratch/
java -jar /share/apps/cramtools-2.1.jar cram -I /data/results/BGI/DNAXXXXXX/DNAXXXXXX.bam -O /scratch/DNAXXXXXX.cram -R /data/references/GrCh37/GrCh37_reference.fa --preserve-read-names --capture-all-tags -L *8
java -cp /share/apps/cramtools-2.1.jar net.sf.cram.ValidateCramFile -I /scratch/DNAXXXXXX.cram -R /data/references/GrCh37/GrCh37_reference.fa
mv /scratch/DNAXXXXXX.cram /data/results/CRAM_archive/2013/october//
rm -f /scratch/DNAXXXXXX.bam
rm -f /scratch/DNAXXXXXX.bam.bai
The exception I get when submitting the job file to torque:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at net.sf.cram.CramTools.invoke(CramTools.java:93)
at net.sf.cram.CramTools.main(CramTools.java:123)
Caused by: java.lang.RuntimeException: Uknown read or base category: 6
at net.sf.cram.lossy.QualityScorePreservation.parseSinglePolicy(QualityScorePreservation.java:155)
at net.sf.cram.lossy.QualityScorePreservation.parsePolicies(QualityScorePreservation.java:79)
at net.sf.cram.lossy.QualityScorePreservation.(QualityScorePreservation.java:39)
at net.sf.cram.Bam2Cram.main(Bam2Cram.java:273)
... 6 more
I have tried to include the full path to java to make sure the same version is used in all cases, but the problem remains. The issue only seem to occur when applied to Illumina (mapped with BWA) BAM files. When I apply the same job file on our SOLiD data (mapped with Lifescope) I have no issues.
Does anyone have an idea what could cause this problem and how I can fix it?
Many thanks,
Rick

Hi Rick,
The first thing which comes to my mind is that the lossy model command
line options are chewed by shell somehow. Perhaps you could try and put
single quotes around the model, like this: -L '*8'.
Let me know if this does not help.
Vadim
On 23/01/2015 11:36, hreuver wrote:

Hi all,
We have accumulated quite a lot of BAM files over the years and we
would like (need) to archive the old(er) ones. We have tested
CRAMtools 2.1 and we are very happy with the results. Since we are
talking about thousands of BAM files, we cannot go without automation.
But...
The problem is as followed:

when I run CRAMtools in a job file, it terminates immediatly
(throwing an exception).
when I copy the command from the job file and execute it on the
head node or on the node it previously failed on, I have no issues
what so ever.

My job file looks like this:
#PBS -N DNAXXXXXX
#PBS -j oe
#PBS -o /data/results/CRAM_archive/2013/october//DNAXXXXXX.log
#PBS -r y
#PBS -q bs_secondary
#PBS -m ea
#PBS -M<EMAIL_ADDRESS><EMAIL_ADDRESS>#PBS -l nodes=1:ppn=12
cp /data/results/BGI/DNAXXXXXX/DNAXXXXXX.bam /scratch/
cp /data/results/BGI/DNAXXXXXX/DNAXXXXXX.bam.bai /scratch/
java -jar /share/apps/cramtools-2.1.jar cram -I
/data/results/BGI/DNAXXXXXX/DNAXXXXXX.bam -O /scratch/DNAXXXXXX.cram
-R /data/references/GrCh37/GrCh37_reference.fa --preserve-read-names
--capture-all-tags -L *8
java -cp /share/apps/cramtools-2.1.jar net.sf.cram.ValidateCramFile -I
/scratch/DNAXXXXXX.cram -R /data/references/GrCh37/GrCh37_reference.fa
mv /scratch/DNAXXXXXX.cram /data/results/CRAM_archive/2013/october//
rm -f /scratch/DNAXXXXXX.bam
rm -f /scratch/DNAXXXXXX.bam.bai
The exception I get when submitting the job file to torque:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at net.sf.cram.CramTools.invoke(CramTools.java:93)
at net.sf.cram.CramTools.main(CramTools.java:123)
Caused by: java.lang.RuntimeException: Uknown read or base category: 6
at
net.sf.cram.lossy.QualityScorePreservation.parseSinglePolicy(QualityScorePreservation.java:155)
at
net.sf.cram.lossy.QualityScorePreservation.parsePolicies(QualityScorePreservation.java:79)
at
net.sf.cram.lossy.QualityScorePreservation.(QualityScorePreservation.java:39)
at net.sf.cram.Bam2Cram.main(Bam2Cram.java:273)
... 6 more
I have tried to include the full path to java to make sure the same
version is used in all cases, but the problem remains. The issue only
seem to occur when applied to Illumina (mapped with BWA) BAM files.
When I apply the same job file on our SOLiD data (mapped with
Lifescope) I have no issues.
Does anyone have an idea what could cause this problem and how I can
fix it?
Many thanks,
Rick
—
Reply to this email directly or view it on GitHub
https://github.com/enasequence/cramtools/issues/16.

Hi Vadim,
That was one of the first things that came to my mind as well, but since we were able to run job files generated by the same script on the same server, but on BAM files from a different mapper, I didn't expect this to solve the problem. I will give it a try next week, since our production server is queued up for the weekend.
I did copy the data of one sample to one of our other servers to give it a go, but for some reason I was unable to reproduce the problem. It's an exact copy of the job file and the data, so I really don't understand why it does work on that machine. I will have a closer look at it next week and report back the results.
Have a good weekend,
Rick

Could it be that linux environment is different, for example shell?
Another idea is that the file name expansion depends on nullglob env
variable, and for example if no file name match *8 in the working
directory then it will preserve *8 but otherwise replace it with the
files matching the pattern.
I think using * in command line options was a bad idea, there should be
another way.
Vadim
On 23/01/2015 15:48, hreuver wrote:

Hi Vadim,
That was one of the first things that came to my mind as well, but
since we were able to run job files generated by the same script on
the same server, but on BAM files from a different mapper, I didn't
expect this to solve the problem. I will give it a try next week,
since our production server is queued up for the weekend.
I did copy the data of one sample to one of our other servers to give
it a go, but for some reason I was unable to reproduce the problem.
It's an exact copy of the job file and the data, so I really don't
understand why it does work on that machine. I will have a closer look
at it next week and report back the results.
Have a good weekend,
Rick
—
Reply to this email directly or view it on GitHub
https://github.com/enasequence/cramtools/issues/16#issuecomment-71212823.

Hi Vadim,
There don't seem to be any differences in the Linux environments between the cluster we do and don't have this issue. I did do some additional tests, one where I run the job file with -L *8 and one where I run with -L '*8' and the first one fails, the second one runs without issues.
It still doesn't explain why it did work before with other data though. Maybe I overlooked something in the environment or something, but it seems system depended.
But my problem is solved and I can continu using CRAM. Many thanks for your help!


typeof vs. ! for guards

PR open https://github.com/haensl/js-performance/pull/40

Done in v1.8.0


Use flutter_lints for sample code

Since the delta is minimal and sample code is special, adopt flutter_lints.
Part of https://github.com/flutter/flutter/issues/104498
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

The addition to examples/api/pubspec.yaml gets wiped when updating packages, what to do?

The addition to examples/api/pubspec.yaml gets wiped when updating packages, what to do?

Likely because of this: https://github.com/guidezpl/flutter/commit/fffe900b6e7cc4022ac30b26d4bd4d7ddf73253e#r74497341

Looks like the only difference is that flutter_lints is enforcing the curly_braces_in_flow_control_structures lint. I thought you are adding to the set of lints enforced in the repository as part of https://github.com/flutter/flutter/issues/104498, so that difference would go away soon.
I actually prefer the stricter set of lints we have enabled in the repository over flutter_lints because I think it produces even more readable sample code (e.g. you have to type everything). I believe, every lint that's part of flutter_lints is also already enforced in the repository (with the exception of the curly lint mentioned, but that's hopefully about to change). So, code that's clean under the repository lints should also be clean under flutter_lints (but not necessarily the other way around).
So, overall, I think switching the samples to flutter_lints would be a step back.

Makes sense, I'll repurpose this to just fix the curly_braces_in_flow_control_structures.


Remove deprecated configuration methods

These were deprecated in Hyrax 1.0, so we can remove them for 2.0

Should we defer this until closer to 2.0 release time, or are we OK to merge it now?

@atz I think this can go now, the master is already declaring it is 2.0.0.alpha


Fix a broken link

@cnunciato should this merge? or are we holding it?

Ah, thanks -- I totally forgot I did this. 😂 It was fixed yesterday with https://github.com/pulumi/pulumi-hugo/pull/584.


"/etc not found, autoexpand will not be enabled" error

Thanks for the great tool.
I use a very standard raspbian build on Pi 4.  The script is in  /usr/local/bin/  and img I am trying to shrink is in /home/pi
When I run "sudo pishrink.sh myimage.img" , it gives an error " /etc not found, autoexpand will not be enabled ...".   What is the problem?
pishrink.sh v0.1.2
pishrink.sh: Gathering data ...
pishrink.sh: /etc not found, autoexpand will not be enabled ...
pishrink.sh: Checking filesystem ...
volumio_data: 19400/5371520 files (0.1% non-contiguous), 371809/7181392 blocks
resize2fs 1.44.5 (15-Dec-2018)
pishrink.sh: Shrinking filesystem ...
resize2fs 1.44.5 (15-Dec-2018)
Resizing the filesystem on /dev/loop0 to 398880 (4k) blocks.
thanks

/etc not found, autoexpand will not be enabled ...". What is the problem?

The message complaints about a missing /etc directory which is standard on Linux. What's the output of following command on your system?
ls -la /etc | wc -l

Hi , thanks for reply. This folder does exist and here's the output. I have tried with various distribution including volumio and raspbian and still same problem.
volumio@volumio:~$ ls -la /etc | wc -l
193

That's what I expected :cry:  Could you please run this modified code and post the output?

Thanks very much for the help. The output of the scripted seemed same , I have also paste the log output below.  I am not sure what is the problem since I tried multiple builds are it's still the same.
** output of the script **
(I stopped it after seeing the /etc not found)
img
pishrink.sh v0.1.2
pishrink.sh: Gathering data ...
hello
pishrink.sh: /etc not found, autoexpand will not be enabled ...
pishrink.sh: Checking filesystem ...
volumio_data: 19400/5371520 files (0.1% non-contiguous), 371809/7181392 blocks
resize2fs 1.44.5 (15-Dec-2018)
pishrink.sh: Shrinking filesystem ...
resize2fs 1.44.5 (15-Dec-2018)
Resizing the filesystem on /dev/loop1 to 398880 (4k) blocks.
Begin pass 2 (max = 61652)
Here the pishrink.log:
/dev/mmcblk0p2 on / type ext4 (rw,noatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=823904k,nr_inodes=103729,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=39,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=191200k,mode=700,uid=1000,gid=1000)
//<IP_ADDRESS>/shared on /mnt/shared type cifs (rw,relatime,vers=3.1.1,cache=strict,username=andrew,uid=0,noforceuid,gid=0,noforcegid,addr=<IP_ADDRESS>,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=4194304,wsize=4194304,bsize=1048576,echo_interval=60,actimeo=1,user=andrew)
/dev/loop1 on /tmp/tmp.XHiA7gshDI type ext4 (rw,relatime,stripe=1024)

It will still work even if it does not find /etc. It looks like your using volumeio which appears to have a data partition at the end of the disk. So we can shrink that partition but it won't auto expand. You can manually expand it and everything should be peachy