Confuse about "Library update restrictions"

PLEASE READ THIS
I acknowledge that:

I have updated:

To the latest version of the app (stable is v<IP_ADDRESS>)
All extensions

If this is an issue with an anime extension, that I should be opening an issue in https://github.com/jmir1/aniyomi-extensions
I have searched the existing issues and this is new ticket NOT a duplicate or related to another open issue
I will fill out the title and the information in this template

Note that the issue will be automatically closed if you do not fill out the title or requested information.

Device information

Aniyomi version: <IP_ADDRESS> (1/6/22 10:47)
Android version: Android 11
Device: Redmi Note 8

Steps to reproduce

First step
Second step

Issue/Request
Default:
Ticked "completely read/seen series"
Ticked "Only update ongoing series"
I found out that a lot of anime mark as "Ongoing . gogoanime", but when I press on refresh button, just only fewer anime will update. Others anime I need to manually go internally refresh only can see the new episode.
After unchecked both item in "Library update restriction", I can see a lot of anime update the new episode.
I very confuse about Setting -> Library -> Library update restrictions.
When tick the box, mean the item will be restrict? Like item "completely read/seen series" won't be update?
How about "Only update ongoing series"? After ticked this one "Ongoing series" restrict to update?
Is it because I have large amount anime in library and cause this problem? After I finish the anime I didn't delete it from the library, just hide it.
Or gogoanime.gg cause this problem?
Other details
Additional details and attachments.
If you're experiencing crashes, share the crash logs from More → Settings → Advanced → Dump crash logs.

Ticked on company read/seen - if there are any ch/ep left then it won't update.
Ticked on Ongoing - if the series is tagged as complete it won't update.
If you have ticked both, then the series that is Ongoing and that you have completely read/seen will be updated else it will skip; meaning it won't update.

Ticked on company read/seen - if there are any ch/ep left then it won't update.
Ticked on Ongoing - if the series is tagged as complete it won't update.
If you have ticked both, then the series that is Ongoing and that you have completely read/seen will be updated, else it will skip; meaning it won't update.

By default, if I added a "Ongoing" series. Let's say the latest episode is 5, i just stopped at episode 2, have not watch the latest episode, the app also won't update anything?
If I added a "Ongoing" series, but didn't start watch. After 3 months its changed status to "Completed". I still cannot get any update on this series?

By default, if I added a "Ongoing" series. Let's say the latest episode is 5, i just stopped at episode 2, have not watch the latest episode, the app also won't update anything?

Yes, however it will update the next time if you read/watch all 5 episodes.

If I added a "Ongoing" series, but didn't start watch. After 3 months its changed status to "Completed". I still cannot get any update on this series?

Yes, so you need to manually update this one.

By default, if I added a "Ongoing" series. Let's say the latest episode is 5, i just stopped at episode 2, have not watch the latest episode, the app also won't update anything?

Yes, however it will update the next time if you read/watch all 5 episodes.

If I added a "Ongoing" series, but didn't start watch. After 3 months its changed status to "Completed". I still cannot get any update on this series?

Yes, so you need to manually update this one.

Why need to have such mechanism?
Is it for data saver purpose or something?
Or the tachiyomi default setting like this, developer don't want to change anything?
I think the developer should change the label like:

Update
[x] Ongoing
[ ] Completed
Exclude update
[ ] Reader not reach to latest episode

For better understanding?
Or, if developer don't want to change anything, just tell the developer change the default value to

[ ] Completely read/seen series
[x] Only update ongoing series

To suitable more people's preferences?

It is, to a site not blocked due to unnecessary traffic. And the setting can be changed you you don't pref. current setting. you should better explore the app first, and discuss it at discord.
And close the issue.

The text has been updated to better reflect its functionality in the preview
https://github.com/aniyomiorg/aniyomi-preview
Steps to shift to this build:-

Create a backup from "Backup and Restore"
Download the preview apk and install it
Restore the backup you created before in the same tab "Backup and Restore"


Bold Content Disappears when the file is exported to PDF

Bold Content Disappears when the file is exported to PDF.

Alrighty I will look into that. @sumitsharma480

Can't reproduce this


Fixed typo in docs where wrong header is referenced

Q
A

Documentation
yes

Bugfix
kind of

BC Break
no

New Feature
no

RFC
no

QA
no

Description
This fixes a typo in the docs, where the Access-Control-Allowed-Max-Age and Access-Control-Exposed-Headers headers are referenced, where it should be Access-Control-Max-Age and Access-Control-Expose-Headers.
It's just a typo in the docs, the code is using the proper values.

I think it should be pointed to 1.0.x branch

@samsonasik true. I'll create a new PR then, as my branch was created from 1.1.x and has more changes 😅

@samsonasik I have just created https://github.com/mezzio/mezzio-cors/pull/16


Close  #115: Allow user to store non-openPMD information

Close #115: This allows user to store additional data, outside of the basePath.

thx for the PR! :)

Thanks for the comments! I updated the PR.


Dead links present on the architecture-overview page

Reproducing the issue
Go to the page https://github.com/zulip/zulip/blob/master/docs/overview/architecture-overview.md
various links listed below don't work, they are specified in the order of their presence on the page.
1)the directory structure guide
2)the security model section
3) the guide to the pointer and unread counts
4) real-time push and event queue system
5)translation
6)templates
7)directory structure
8)the queuing guide.
9)the static asset pipeline.
10) caching guide
11) the queuing guide
12) our thumbnailing docs
After fix :
the links should point to there specified topics on the read the docs page for the same context. Example, link to reference 4 is https://zulip.readthedocs.io/en/latest/subsystems/events-system.html

@zulipbot claim

Thanks for reporting @AsociTon!  This issue is actually https://github.com/zulip/zulip/issues/11087.


Node builder scope traversal improvements

This PR adjusts scope lookups in the node builder to handle entering and existing scopes for signature, mapped type, and conditional type nodes - this way types which contain references to things defined in those scopes (usually type parameters) can be appropriately reused.

@typescript-bot test it


Set default buffering for defaultLogSink to LineBuffering

Since the default buffering for stderr is NoBuffering, a system call occurs for every character, causing a significant loss in speed (see code below). As long as logging-facade is using hPutStrLn I believe it's safe to set the buffer mode to LineBuffering (for the default logSink). This would obtain a significant speed increase when performing I/O, without losing any log messages (since \n would be appended on every call to hPutStrLn (see writeBlocks function).
-- | The same as 'hPutStr', but adds a newline character.
hPutStrLn :: Handle -> String -> IO ()
hPutStrLn handle str = hPutStr' handle str True
  -- An optimisation: we treat hPutStrLn specially, to avoid the
  -- overhead of a single putChar '\n', which is quite high now that we
  -- have to encode eagerly.

hPutStr' :: Handle -> String -> Bool -> IO ()
hPutStr' handle str add_nl =
  do
    (buffer_mode, nl) <-
         wantWritableHandle "hPutStr" handle $ \h_ -> do
                       bmode <- getSpareBuffer h_
                       return (bmode, haOutputNL h_)

    case buffer_mode of
       (NoBuffering, _) -> do
            hPutChars handle str        -- v. slow, but we don't care
            when add_nl $ hPutChar handle '\n'
       (LineBuffering, buf) -> do
            writeBlocks handle True  add_nl nl buf str
       (BlockBuffering _, buf) -> do
            writeBlocks handle False add_nl nl buf str

hPutChars :: Handle -> [Char] -> IO ()
hPutChars _      [] = return ()
hPutChars handle (c:cs) = hPutChar handle c >> hPutChars handle cs

{-# LANGUAGE OverloadedStrings #-}
module Main where

import Control.Monad
import Criterion.Main
import Data.ByteString         (ByteString, hPut)
import Data.ByteString.Builder
import Data.ByteString.Char8   (pack)
import System.IO

main :: IO ()
main = do
  hSetBinaryMode stderr True
  defaultMain [
     bench "hPutStrLn, NoBuffering" $ nfIO $ do hSetBuffering stderr NoBuffering
                                                replicateM_ 1000 $ hPutStrLn stderr wordds

   , bench "hPutStrLn, LineBuffering" $ nfIO $ do hSetBuffering stderr LineBuffering
                                                  replicateM_ 1000 $ hPutStrLn stderr wordds

   , bench "hPutStrLn, BlockBuffering" $ nfIO $ do hSetBuffering stderr (BlockBuffering Nothing)
                                                   replicateM_ 1000 $ hPutStrLn stderr wordds

   , bench "hPutBuilder, NoBuffering" $ nfIO (do hSetBuffering stderr NoBuffering
                                                 replicateM_ 1000 $ hPutBuilder stderr $ stringUtf8 wordds)

   , bench "hPutBuilder, LineBuffering" $ nfIO (do hSetBuffering stderr LineBuffering
                                                   replicateM_ 1000 $ hPutBuilder stderr $ stringUtf8 wordds)

   , bench "hPutBuilder, BlockBuffering" $ nfIO (do hSetBuffering stderr (BlockBuffering Nothing)
                                                    replicateM_ 1000 $ hPutBuilder stderr $ stringUtf8 wordds)

   , bench "hPut, NoBuffering" $ nfIO (do
                                                                     hSetBuffering stderr NoBuffering
                                                                     replicateM_ 1000 $ hPut stderr $ pack wordds)
   , bench "hPut, LineBuffering" $ nfIO (do
                                                                     hSetBuffering stderr LineBuffering
                                                                     replicateM_ 1000 $ hPut stderr $ pack wordds)
   , bench "hPut, BlockBuffering" $ nfIO (do
                                                                     hSetBuffering stderr (BlockBuffering Nothing)
                                                                     replicateM_ 1000 $ hPut stderr $ pack wordds)

   ]
  where
    wordds :: String
    wordds = replicate 100 'a'

sorry, didn't mean to close this

@dmjio Hey David, sorry for the late response.
You are absolutely right, writing to stderr is terribly slow.  If you have a lot of logging going on this is never what you want.
I think it's still problematic to address this in logging-facade.  stderr may be used by other code within the same process, not only by logging-facade, and that other code may rely on BufferMode being NoBuffering.  So changing the BufferMode may break that other code.  Moreover, from a users perspective, it's not easy to reason about when and who changed the BufferMode (it's within a global variable initialization using the unsafePerformIO-hack after all).
(Consider the situation where you use some library foo, where foo in turn depends on logging-facade, now halfway through your program the BufferMode of stderr "suddenly" changes, without you having a clear understanding what resulted in that change.)
How I see it:

The default log sink is meant as a fallback, so that log messages don't just disappear into nowhere when the user did not configure anything specifically.  This is especially useful during development and debugging, but it may not necessarily be the best choice for production use (even though in many situation it may work just fine, e.g. if you only write one log message every second, it will barely be a problem).
In production you may want to consider logging to syslog, using logsink or @peti's logging-facade-syslog
If you want to log to stderr and if you NoBuffering is too slow for your use case, you have to change it yourself.

Closing, sorry for that!

@sol, no problem :) and thanks for the response. I'll check out @peti's logging-facade-syslog project.


18.bot-authentication error

Github issues for C# /JS / Java/ Python should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Sample information

Sample type: [samples]
Sample language: [nodejs]
Sample name: 18.bot-authentication

Describe the bug

It takes a long time to get the login status after the SSO login is successful

After successful login, you can't get the login success status immediately. You need to ask a question to prompt that you haven't logged in. Ask another question to get the login success status directly.

Expected behavior
After successful login, obtain the status of successful login immediately and prompt the login success information
Screenshots

Additional context
transcripts.zip

Thank you @xinyi1989
I am investigating.


⚠ main-s has degraded performance

In 9edcea2, main-s ($MAIN_API_STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 7859 ms

Resolved: main-s performance has improved in e790de6.


Add California counties

This PR adds a game for California county names (idea put out there by @lippytak https://github.com/codeforamerica/project-ideas/issues/75 )
One issue that I'd love review of prior to merge — there appears to be a slight offset with the base tiles:

I'm not sure why this would be — the same file aligns with the base tiles on CartoDB fine — and consider it fairly minor, but wanted to flag.
Other minor notes:

I modeled the metadata file after the Colorado counties file, since it seemed to be the closest analogue
The data has been compressed to lower precision than the original using Mapshaper to keep the file size low and performance okay

Fixed the screenshot above — this is one that actually shows the issue:

It appears LA County also has this problem:

Not sure what's up with it! I lean towards considering it a separate issue from this PR.

Oh, I forgot there's one other minor issue that I wanted to raise just an an FYI — San Francisco is such a small county that it's excluded from the game:

(fixed screenshot above)

Heya @mwichary, anything I need to do to get this merged? I know CI is failing, but that appears unrelated to this PR.

Sorry, was busy… but we can't get it live if the vectors don't align with
the map. Perhaps a manual intervention is necessary (there are a few in the
code right now).
On Friday, July 10, 2015, Dave Guarino<EMAIL_ADDRESS>wrote:

Heya @mwichary https://github.com/mwichary, anything I need to do to
get this merged? I know CI is failing, but that appears unrelated to this
PR.
—
Reply to this email directly or view it on GitHub
https://github.com/codeforamerica/click_that_hood/pull/276#issuecomment-120455017
.

No worries! So, quite oddly, for some reason I'm no longer seeing the misalignment (neither in this PR nor in the LA County example noted above.)
Not quite sure what it could have been (a tile cache?) but this should be good to go now.
To review, you can either pull down the branch and view it locally, or view a branch deploy I've done here: http://click-that-hood-cacounties.herokuapp.com/california-counties

This is live now at http://click-that-hood.com/california-counties.
I’m sorry for the delay! Crazy week. Also, this map is really fun to play!!!

Awesome, thanks! And no worries, I totally understand busy weeks!


Bug report: login fails with error 400 on 5.4.0

Description
When logging in as normal with 5.4.0 using this:
I get:
Error: network_error: Network request failed. Please check network trace to determine root cause. | Fetch client threw: Error: HTTP status code 400 | Attempted to reach: https://login.microsoftonline.com/REDACTED/oauth2/v2.0/token
REDACTED has my normal tenant id in it.
Reverting to 5.3.0 works fine.
Steps to reproduce
m365 login --authType password --userName $(O365_USERNAME) --password '$(O365_PASSWORD)'
with CLIMICROSOFT365_AADAPPID and CLIMICROSOFT365_TENANT set
Expected results
Normal login.
Actual results
Error: network_error: Network request failed. Please check network trace to determine root cause. | Fetch client threw: Error: HTTP status code 400 | Attempted to reach: https://login.microsoftonline.com/REDACTED/oauth2/v2.0/token
Diagnostics
Logging out from Microsoft 365...
Signing in to Microsoft 365...
No token found for resource https://graph.microsoft.com
[Wed, 22 Jun 2022 15:50:20 GMT]<EMAIL_ADDRESS>: Info - getTokenCache called
Retrieving new access token using credentials...
[Wed, 22 Jun 2022 15:50:20 GMT]<EMAIL_ADDRESS>: Info - acquireTokenByUsernamePassword called
[Wed, 22 Jun 2022 15:50:20 GMT]<EMAIL_ADDRESS>: Verbose - initializeRequestScopes called
[Wed, 22 Jun 2022 15:50:20 GMT] : [b281d126-ebb6-4939-9615-8f1da061608a]<EMAIL_ADDRESS>: Verbose - buildOauthClientConfiguration called
[Wed, 22 Jun 2022 15:50:20 GMT] : [b281d126-ebb6-4939-9615-8f1da061608a]<EMAIL_ADDRESS>: Verbose - building oauth client configuration with the authority: https://login.microsoftonline.com/c55bd10c-6b74-4cf0-8a3f-48a5016d1997
[Wed, 22 Jun 2022 15:50:20 GMT] : [b281d126-ebb6-4939-9615-8f1da061608a]<EMAIL_ADDRESS>: Verbose - createAuthority called
[Wed, 22 Jun 2022 15:50:21 GMT] : [b281d126-ebb6-4939-9615-8f1da061608a]<EMAIL_ADDRESS>: Verbose - Username password client created
[Wed, 22 Jun 2022 15:50:21 GMT] : [b281d126-ebb6-4939-9615-8f1da061608a]<EMAIL_ADDRESS>: Info - in acquireToken call
Error:
ClientAuthError: network_error: Network request failed. Please check network trace to determine root cause. | Fetch client threw: Error: HTTP status code 400 | Attempted to reach: https://login.microsoftonline.com/REDACTED/oauth2/v2.0/token
at ClientAuthError.AuthError [as constructor] (/usr/lib/node_modules/@pnp/cli-microsoft365/node_modules/@azure/msal-common/dist/index.cjs.js:493:24)
at new ClientAuthError (/usr/lib/node_modules/@pnp/cli-microsoft365/node_modules/@azure/msal-common/dist/index.cjs.js:787:28)
at Function.ClientAuthError.createNetworkError (/usr/lib/node_modules/@pnp/cli-microsoft365/node_modules/@azure/msal-common/dist/index.cjs.js:830:16)
at NetworkManager. (/usr/lib/node_modules/@pnp/cli-microsoft365/node_modules/@azure/msal-common/dist/index.cjs.js:3374:51)
at step (/usr/lib/node_modules/@pnp/cli-microsoft365/node_modules/@azure/msal-common/dist/index.cjs.js:79:23)
at Object.throw (/usr/lib/node_modules/@pnp/cli-microsoft365/node_modules/@azure/msal-common/dist/index.cjs.js:60:53)
at rejected (/usr/lib/node_modules/@pnp/cli-microsoft365/node_modules/@azure/msal-common/dist/index.cjs.js:51:65)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
errorCode: 'network_error',
errorMessage: 'Network request failed. Please check network trace to determine root cause. | Fetch client threw: Error: HTTP status code 400 | Attempted to reach: https://login.microsoftonline.com/REDACTED/oauth2/v2.0/token',
CLI for Microsoft 365 version
5.4.0
nodejs version
17.3.1
Operating system (environment)
Linux
Shell
bash
cli doctor
No response
Additional Info
No response

We got this error also.
In our case the issue was a password with a special char.
It seams that the new version does not support "#" char.

@crispinboylan-int thank you for letting us know of the issue and we'll get on it asap.
@Dangerous-Mind was the # at the beginning of your password or in the middle? Have you wrapped the password in double quotes?

The # was at the beginning of the password.
I started getting the error in dev ops. The password was a variable so I cant tell if it uses the double quotes.
I then tried on PowerShell with single quotes, double quotes, no quotes and go the same messages.
On Azure, enterprise applications,  I checked the logs and it had several failed connections with invalid password.
I then changed the password to another one still with the # and got the same error. Then removed the # and it started working.

no # in our password but there is a $ and a !

We have another service with a ! on the password and it was not affected.

Thank you for the additional information. What I meant with double quotes is if you wrapped the password in the command line, like:
m365 login --password $password

vs.
m365 login --password "$password"

for us we were already putting the password in quotes to avoid the dollar being interpreted as the start of a variable.

Got it. Let's see if we can reproduce it which would help us to understand what's wrong. I appreciate your help and patience.

I also reproduced it in my Azure devOps CI/CD pipeline.
I just tried it in my local environment.
It reproduces with npm install -g @pnp/cli-microsoft365.
It does not reproduce with npm install -g<EMAIL_ADDRESS>Do you need any information to help?

```shell
m365 login --password $password

vs.
m365 login --password "$password"

Hi,
Something like m365 login --password "$(pass)" ....
The password is a variable inside a Dev Ops library.
I tried the same command on powershell with single quotes, double quotes and without quotes always receiving the same reply. 400.
Like @SharePointX said it only happens on the new version of cli.
Probably something to do with msal since also they have a new version.
There is also a bug with the error messages reported in msal that are misleading.
https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/4878

I think we have enough information to investigate what's the culprit. Thank you @Dangerous-Mind for the pointer on MSAL, we'll check it out too.
@SharePointX what's the password pattern that you're working with? Also # at the beginning?

@waldekmastykarz
It starts with '3', contains two '@' in the middle, and ends with 'n'.
My password is 28 characters long and is a mixture of numbers, uppercase and lowercase letters.
I could not find any other characteristics.
It is a creepy string generated by a password generator.
I had no problems with that password last month.

I can confirm that @ in the password causes the login command to fail. I'll check next if there's anything that we could do about it.

This line seems to be the culprit:
https://github.com/pnp/cli-microsoft365/blob/4e973d950c2f806fae20545cf61efc566d186295/src/Auth.ts#L397
By removing the encoding, all seems to work as intended. I'll submit a PR and merge it asap.

This line seems to be the culprit:

I stand corrected: with the latest version of MSAL, changing this line doesn't seem to fix the error. Investigating further.

We've merged an issue for this fix and will include it in the next release end of August. You can try the fix early by installing the beta version using npm i -g @pnp/cli-microsoft365@next. Once again, thank you for reporting the issue and all your help in getting to the bottom of it.

Even when I use
@pnp/cli-microsoft365@next
the following password is gving me issues
m365 login --authType password --userName<EMAIL_ADDRESS>--password ",K:mV!mrIRV!2q@6"
Am I missing something?

@Phyxsius7
Could you check if you already consented to the PnP management shell app for this user: the easiest route to check that is to sign in using the normal flow: m365 login.
Also: I assume you have disabled MFA and your account is not using hybrid federation.


cuts everything twice?

6.22
first try with this version
cuts all my items twice, once clockwise, the second time counter clockwise. I didn't put in any extra anything...
very weird...
Camera and USB aim general are more stable though...

There's no grounds to cut counter clockwise or any different than you actually cut. The SVG has two overlapping lines. Mark my words.

closed as a one-of user error


Npm task is caching custom commands incorrectly

Required Information
Type: Bug
Task Name: Npm@1
Environment
Server - Azure Pipelines
Account Name: Xceptor
Team Project Name: Xceptor
Build Definition: Xceptor-Scans-Sonar-Cloud
Build Id: 36697
Agent - Hosted
Agent Pool: Default
Agent OS: Windows
Agent Version: 2.160.0
Issue Description
When completing a Pull Request where some npm tasks are being moved around, it seems like the incorrect npm command is being loaded from somewhere.
Expected task
- task: Npm@1
  displayName: npm (Xceptor.Client.Gateway) install
  inputs:
    command: custom
    workingDir: 'src/Xceptor.Client.Gateway'
    customCommand: 'ci'

Task that I think is being run
- task: Npm@1
  displayName: npm (Web) Build and Test Typescript
  inputs:
    command: custom
    workingDir: 'src/Web'
    customCommand: 'run build:ci-ts'

Task logs
install-log.zip

I was wondering if there was any update on this? It's currently blocking a PR from being completed.
Is this something that could be specific to a merge that's happening at Pull Request time that is causing this mis-load from some sort of merged cache?
If so we could put this into master without any issues, but I'm currently holding off on it, as I don't want to impact all of our pull request definitions.

The attached log says "Starting: npm (Xceptor.Client.Gateway) install" at the top so it seems like the pipeline is running the correct npm task. Has there been recent changes to the yaml file or multiple files in different locations with the same name, etc? This is a hard issue to investigate with the current details. Any more details may help. Thanks!

The pipeline task details seem correct, but the actual command that is being run is incorrect.
Line 59 specifies:
1 verbose cli   'build:ci-ts'

When the yaml task specifies that the command that should be run is:
customCommand: 'ci'

The yaml files have changed as part of this PR, which is why it is currently blocked.
 Now it's complaining about a package not being found that's not even present on this branch.
It seems to be running a ci command against a topic branch that was build 6 hours ago.
2019-12-06T14:57:18.3037049Z ##[section]Starting: npm (Xceptor.Client.Gateway) install
2019-12-06T14:57:18.3121531Z ==============================================================================
2019-12-06T14:57:18.3121599Z Task         : npm
2019-12-06T14:57:18.3121665Z Description  : Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.
2019-12-06T14:57:18.3121715Z Version      : 1.158.0
2019-12-06T14:57:18.3121769Z Author       : Microsoft Corporation
2019-12-06T14:57:18.3121814Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/package/npm
2019-12-06T14:57:18.3121874Z ==============================================================================
2019-12-06T14:57:18.6772434Z SYSTEMVSSCONNECTION exists true
2019-12-06T14:57:18.7898254Z SYSTEMVSSCONNECTION exists true
2019-12-06T14:57:18.9094360Z [command]C:\Windows\system32\cmd.exe /D /S /C ""C:\Program Files\nodejs\npm.cmd" --version"
2019-12-06T14:57:43.2009229Z 3.10.10
2019-12-06T14:57:45.7861687Z [command]C:\Windows\system32\cmd.exe /D /S /C ""C:\Program Files\nodejs\npm.cmd" config list"
2019-12-06T14:57:47.0057913Z ; cli configs
2019-12-06T14:57:47.0058289Z user-agent = "npm/3.10.10 node/v6.11.5 win32 x64"
2019-12-06T14:57:47.0058361Z
2019-12-06T14:57:47.0059640Z ; environment configs
2019-12-06T14:57:47.0060096Z userconfig = "D:\\_work\\5\\npm\\38959.npmrc"
2019-12-06T14:57:47.0060528Z
2019-12-06T14:57:47.0060699Z ; builtin config undefined
2019-12-06T14:57:47.0060881Z prefix = "C:\\Users\\SVC-XC-DEV-BUILD\\AppData\\Roaming\\npm"
2019-12-06T14:57:47.0061120Z
2019-12-06T14:57:47.0061972Z ; node bin location = C:\Program Files\nodejs\node.exe
2019-12-06T14:57:47.0062039Z ; cwd = D:\_work\5\s\src\Xceptor.Client.Gateway
2019-12-06T14:57:47.0062369Z ; HOME = C:\Users\SVC-XC-DEV-BUILD
2019-12-06T14:57:47.0062486Z ; "npm config ls -l" to show all defaults.
2019-12-06T14:57:47.0062516Z
2019-12-06T14:57:47.0109951Z [command]C:\Windows\system32\cmd.exe /D /S /C ""C:\Program Files\nodejs\npm.cmd" ci"
2019-12-06T14:57:48.8430752Z
2019-12-06T14:57:48.8431819Z Usage: npm <command>
2019-12-06T14:57:48.8432248Z
2019-12-06T14:57:48.8432706Z where <command> is one of:
2019-12-06T14:57:48.8433026Z     access, adduser, bin, bugs, c, cache, completion, config,
2019-12-06T14:57:48.8433501Z     ddp, dedupe, deprecate, dist-tag, docs, edit, explore, get,
2019-12-06T14:57:48.8433885Z     help, help-search, i, init, install, install-test, it, link,
2019-12-06T14:57:48.8434106Z     list, ln, login, logout, ls, outdated, owner, pack, ping,
2019-12-06T14:57:48.8434207Z     prefix, prune, publish, rb, rebuild, repo, restart, root,
2019-12-06T14:57:48.8434298Z     run, run-script, s, se, search, set, shrinkwrap, star,
2019-12-06T14:57:48.8434451Z     stars, start, stop, t, tag, team, test, tst, un, uninstall,
2019-12-06T14:57:48.8434553Z     unpublish, unstar, up, update, v, version, view, whoami
2019-12-06T14:57:48.8434583Z
2019-12-06T14:57:48.8434622Z npm <cmd> -h     quick help on <cmd>
2019-12-06T14:57:48.8435867Z npm -l           display full usage info
2019-12-06T14:57:48.8435948Z npm help <term>  search for help on <term>
2019-12-06T14:57:48.8436064Z npm help npm     involved overview
2019-12-06T14:57:48.8436105Z
2019-12-06T14:57:48.8436179Z Specify configs in the ini-formatted file:
2019-12-06T14:57:48.8436246Z     D:\_work\5\npm\38959.npmrc
2019-12-06T14:57:48.8436320Z or on the command line via: npm <command> --key value
2019-12-06T14:57:48.8436403Z Config info can be viewed via: npm help config
2019-12-06T14:57:48.8436710Z
2019-12-06T14:57:48.8436896Z<EMAIL_ADDRESS>C:\Program Files\nodejs\node_modules\npm
2019-12-06T14:57:48.8777688Z Found npm debug log, make sure the path matches with the one in npm's output: C:\Users\SVC-XC-DEV-BUILD\AppData\Roaming\npm-cache\_logs\2019-12-06T09_35_02_706Z-debug.log
2019-12-06T14:57:48.8777808Z 0 info it worked if it ends with ok
2019-12-06T14:57:48.8777853Z 1 verbose cli [
2019-12-06T14:57:48.8777914Z 1 verbose cli   'D:\\_work\\_tool\\node\\12.13.1\\x64\\node.exe',
2019-12-06T14:57:48.8779117Z 1 verbose cli   'D:\\_work\\_tool\\node\\12.13.1\\x64\\node_modules\\npm\\bin\\npm-cli.js',
2019-12-06T14:57:48.8779179Z 1 verbose cli   'ci'
2019-12-06T14:57:48.8779222Z 1 verbose cli ]
2019-12-06T14:57:48.8779272Z 2 info using<EMAIL_ADDRESS>2019-12-06T14:57:48.8779313Z 3 info using<EMAIL_ADDRESS>2019-12-06T14:57:48.8779365Z 4 verbose npm-session bd9ad01f3f08047e
2019-12-06T14:57:48.8779408Z 5 info prepare initializing installer
2019-12-06T14:57:48.8779462Z 6 verbose prepare starting workers
2019-12-06T14:57:48.8779509Z 7 verbose prepare installation prefix: D:\_work\2\s\src\Web
2019-12-06T14:57:48.8779556Z 8 verbose prepare using package-lock.json
2019-12-06T14:57:48.8779611Z 9 verbose checkLock verifying package-lock data
2019-12-06T14:57:48.8779656Z 10 verbose teardown shutting down workers.
2019-12-06T14:57:48.8779707Z 11 info teardown Done in 0.029s
2019-12-06T14:57:48.8779772Z 12 verbose stack Error: cipm can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
2019-12-06T14:57:48.8779850Z 12 verbose stack
2019-12-06T14:57:48.8779892Z 12 verbose stack
2019-12-06T14:57:48.8779949Z 12 verbose stack Missing<EMAIL_ADDRESS>2019-12-06T14:57:48.8779996Z 12 verbose stack Missing<EMAIL_ADDRESS>2019-12-06T14:57:48.8780048Z 12 verbose stack
2019-12-06T14:57:48.8780101Z 12 verbose stack     at D:\_work\_tool\node\12.13.1\x64\node_modules\npm\node_modules\libcipm\index.js:172:15
2019-12-06T14:57:48.8780160Z 13 verbose cwd D:\_work\2\s\src\Web
2019-12-06T14:57:48.8780203Z 14 verbose Windows_NT 10.0.14393
2019-12-06T14:57:48.8780272Z 15 verbose argv "D:\\_work\\_tool\\node\\12.13.1\\x64\\node.exe" "D:\\_work\\_tool\\node\\12.13.1\\x64\\node_modules\\npm\\bin\\npm-cli.js" "ci"
2019-12-06T14:57:48.8780326Z 16 verbose node v12.13.1
2019-12-06T14:57:48.8780377Z 17 verbose npm  v6.12.1
2019-12-06T14:57:48.8780448Z 18 error cipm can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
2019-12-06T14:57:48.8780513Z 18 error
2019-12-06T14:57:48.8780550Z 18 error
2019-12-06T14:57:48.8780601Z 18 error Missing<EMAIL_ADDRESS>2019-12-06T14:57:48.8780643Z 18 error Missing<EMAIL_ADDRESS>2019-12-06T14:57:48.8780695Z 19 verbose exit [ 1, true ]
2019-12-06T14:57:48.8780722Z
2019-12-06T14:57:48.8818322Z ##[error]Error: Npm failed with return code: 1
2019-12-06T14:57:48.8825678Z ##[section]Finishing: npm (Xceptor.Client.Gateway) install

Seems like an issue with pipeline caching so switching the tag to Artifacts Core.

Has there been any progress on this? Is anyone looking into it? It's been well over a month since this was initially flagged up, and we would really appreciate a solution to our issue as it's blocking getting something into our build pipeline.

@satbai I don't believe that this is an issue with pipeline caching. Instead it seems like an issue with the resolution of yaml template files. I've just done an update of the branch mentioned above by merging from our master branch, and running a PR build again (Build Id 41352 on the same branch mentioned above).
I'm now seeing a number of tasks that I do not expect to see.
    - template: build.common.sonar-cloud.prep.yml

    - template: Pipeline/Common/msbuild.npm-deps.yml

    - template: build.common.msbuild.xceptor-all.yml

The above files should resolve to the following tasks:
- task: SonarSource.sonarcloud.14d9cde6-c1da-4d55-aa01-2965cd301255.SonarCloudPrepare@1
  displayName: Prepare analysis on SonarCloud
  inputs:
    SonarCloud: 'Xceptor-CI'
    organization: 'wsi-xceptor'
    projectKey: Xceptor
    projectName: Xceptor
    extraProperties: |
      sonar.python.pylint.reportPath=$(build.artifactstagingdirectory)/pylint-report.txt

- task: Npm@1
  displayName: npm (Xceptor.Client.Gateway) install
  inputs:
    command: custom
    workingDir: 'src/Xceptor.Client.Gateway'
    customCommand: 'ci'

- task: Npm@1
  displayName: npm (Xceptor.Client.Recognition) install
  inputs:
    command: custom
    workingDir: 'src/Xceptor.Client.Recognition'
    customCommand: 'ci'

- task: Npm@1
  displayName: npm (Xceptor.Client.Orchestration) install
  inputs:
    command: custom
    workingDir: 'src/Xceptor.Client.Orchestration'
    customCommand: 'ci'

- task: Npm@1
  displayName: npm (Xceptor.Samples.RestClient) install
  inputs:
    command: custom
    workingDir: 'src/OptionalComponents/Samples/Xceptor.Samples.RestClient'
    customCommand: 'ci'

- task: MSBuild@1
  displayName: Build Xceptor All Solution
  inputs:
    solution: 'Xceptor-All.sln'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'
    msbuildArguments: /p:AssemblyOriginatorKeyFile=$(strongNameKey_XceptorCore.secureFilePath) /p:DelaySign=false /p:PublishDirectory=$(build.artifactstagingdirectory)
    clean: true
    maximumCpuCount: true

Instead I'm seeing the following:

It seems like when the .yml configuration is being loaded, the incorrect files are being resolved during the Pull Request merge.


add support for erofs with fscache

Ref: https://github.com/dragonflyoss/image-service/blob/master/docs/nydus-fscache.md
Add boot option --daemon-backend erofs for snapshotter to support
erofs with fscache daemon (nydusd daemon subcommand).
This daemon backend must be used with shared daemon mode, so a general
command usage should like this:
containerd-nydus-grpc \
  --config-path //path/to/nydus-erofs-config.json \
  --daemon-mode shared \
  --daemon-backend erofs \
  --log-level info \
  --root /var/lib/containerd/io.containerd.snapshotter.v1.nydus \
  --cache-dir /var/lib/nydus/cache \
  --address /run/containerd/containerd-nydus-grpc.sock \
  --nydusd-path /usr/bin/nydusd \
  --nydusimg-path /usr/bin/nydus-image \
  --log-to-stdout

Renamed daemon backend name "erofs" to "fscache", let's update doc once the PR is merged. cc @hsiangkao

Codecov Report

Merging #58 (9f81cd3) into main (5a369c0) will decrease coverage by 1.13%.
The diff coverage is 9.33%.

@@            Coverage Diff             @@
##             main      #58      +/-   ##
==========================================
- Coverage   33.12%   31.98%   -1.14%
==========================================
  Files          19       19
  Lines        1416     1485      +69
==========================================
+ Hits          469      475       +6
- Misses        872      935      +63
  Partials       75       75

Impacted Files
Coverage Δ

config/config.go
0.00% <ø> (ø)

config/daemonconfig.go
0.00% <0.00%> (ø)

pkg/filesystem/nydus/config.go
4.28% <0.00%> (-0.48%)
:arrow_down:

pkg/filesystem/nydus/fs.go
10.22% <0.00%> (-0.38%)
:arrow_down:

pkg/nydussdk/client.go
21.48% <0.00%> (-7.73%)
:arrow_down:

cmd/containerd-nydus-grpc/pkg/command/flags.go
78.91% <85.71%> (+0.26%)
:arrow_up:

pkg/filesystem/stargz/fs.go
14.52% <100.00%> (ø)

Continue to review full report at Codecov.

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


Add npm install context menu to package.json file

When cloning a project from GitHub or after editing the package.json file in VS Code, no npm package is getting downloaded. So currently it's required to leave VS Code and execute npm install in a command prompt.
I suggest to add a context menu item to the Explorer when a package.json file is selected to simplify this task. The context menu item is suggested to run npm install from the directory of the package.json file:

An extension can provide this functionality. Please check the marketplace to see if any already offer it. If you are writing an extension, please see our extension authoring docs
Closing as extension-candidate


Fix duplicate ndots:0, and improve validation

Addresses https://github.com/moby/moby/issues/37349
This PR has a couple of changes:
1. Remove redundant and faulty assert messages
The "message" argument in assert.Equal expects a format string; the current string was not that, resulting in an incorrect message being printed;
--- FAIL: TestDNSOptions (1.28s)
        Location:       service_common_test.go:92
	Error:  	Not equal: "ndots:5" (expected)
			        != "ndots:0" (actual)
	Messages:	The option must be ndots:5 instead:%!(EXTRA string=ndots:0)

This patch removes the message altogether, because assert.Equal already prints enough information to catch the error;
--- FAIL: TestDNSOptions (1.28s)
        Location:       service_common_test.go:92
	Error:  	Not equal: "ndots:5" (expected)
			        != "ndots:0" (actual)

2. do not ignore user-provided "ndots:0" option
This is the actual fix: ndots:0 is a valid DNS option; previously, ndots:0 was ignored, leading to the default (ndots:0) also being applied;
Before this change:
docker network create foo
docker run --rm --network foo --dns-opt ndots:0 alpine cat /etc/resolv.conf
nameserver <IP_ADDRESS>
options ndots:0 ndots:0

After this change:
docker network create foo
docker run --rm --network foo --dns-opt ndots:0 alpine cat /etc/resolv.conf
nameserver <IP_ADDRESS>
options ndots:0

3. improve error message for invalid ndots number
Just a minor enhancement; instead of printing the whole option, print the number only, because that's what the error-message is pointing at;
Before this change:
invalid number for ndots option ndots:foobar

After this change:
invalid number for ndots option: foobar

4. ndots: produce error on negative numbers
Prevent (e.g.) ndots:-1 being silently ignored

ping @fcrisciani @selansen PTAL


verify_with_ecdsa of cryptolib has message param as "Any" instead of byte[], like on C#

Summary or solution description
Changed the verify_with_ecdsa first parameter type to be the same as the signature parameter type
How to Reproduce
https://github.com/CityOfZion/neo3-boa/blob/2a87a32d8ec7e9900368cc232a8d65aa6a14f54d/boa3_test/test_sc/interop_test/crypto/VerifyWithECDsa.py#L1C1-L10
Tests
https://github.com/CityOfZion/neo3-boa/blob/2a87a32d8ec7e9900368cc232a8d65aa6a14f54d/boa3_test/tests/compiler_tests/test_interop/test_crypto.py#L428-L430
Platform:

OS: Windows 10 x64
Python version: Python 3.8

Coverage: 91.163%. Remained the same when pulling 461fbebfac1e1b26598a67992b2bd602fd6cb509 on CU-864eeyp24 into 92773c350de001cd197d74ac46177ad928bcd543 on development.


terminate must be called on AndroidDebugBridge on shutdown.

terminate must always be called on AndroidDebugBridge upon application termination for clean shutdown.
Note that terminate does not stop adb host server (only disconnectBridge does).

LGTM :+1:

@saral what is exactly "cleaned" by invoking terminate on AndroidDebugBridge?

In my trials, not calling terminate caused some background threads to remain running, preventing JVM to shutdown.
According to documentation of AndroidDebugBridge, terminate must be called upon application termination. I don't know what exactly is cleaned up, but I guess some internal Threads will be stopped, etc.

You're right. See http://osxr.org/android/source/sdk/ddms/libs/ddmlib/src/com/android/ddmlib/AndroidDebugBridge.java#0202.

@smiklosovic Termination of application is when your application shuts down. I guess, you can reinit the Bridge with init(), if you need to. I don't know if double termination would cause problems. You need to look into documentation or try out.


Mail::alwaysTo() is not overriding mailable

Laravel Version: 9.27.0
PHP Version: 8.1.9

Description:
Mail::alwaysTo() in ServiceProvider is ignored when make use of a custom mailer to send a mailable.
Steps To Reproduce:
env is local.
AppServiceProvider
public function boot()
{
  if (!app()->environment('production')) {
    Mail::alwaysTo('test@example.com');
  }
}

DocumentMail.php
public function build(): DocumentMail
{
    $this->mailer('invoice'); // use another mailer defined in config/mail.php

    $this->from(config('mail.from.invoice.address'));
    if(!count($this->to)) {
        $this->to('custom@example.com');
    }
    $this->subject('your document');
    $this->view([])->withSymfonyMessage(
        fn($msg) => $msg->text('plain mail')
    );

    return $this;
}

Hey there,
Can you first please try one of the support channels below? If you can actually identify this as a bug, feel free to open up a new issue with a link to the original one and we'll gladly help you out.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!


One hub with two Tempest devices

I have a single Weatherflow Tempest hub (Station) which has two Tempest Devices using it. Only one is found by the integration. Is that expected? If not, is it possible to add support for multiple Devices?

Yes that is expected. I have only ever had 1 Tempest to 1 Hub, so I did not have a chance to test out that scenario.
I am pretty sure it could be supported, but for me to work on it, I would need access to your installation and your data. Meaning I would need your Station ID and API Key.
If you are willing to give me that, I will give it a try. Please note, I am on vacation all next week, so I would not be able to start any work on it before after that. And even then, it might take a little while, as I am afraid I not to rewrite some base logic.
If you want to continue, you can email the desired info to me directly, so it is not posted here<EMAIL_ADDRESS>

Thanks. I'll happily share access. I will contact you on your return.
Before that I will endeavour to stabilise the unit that is not currently detected by Weatherflow Forecast - it's been having some power issues during the recent period when there has been minimal sun.


Is there a way to display only the player without equalizer and playlist?

Hi, I would like to display the player without equalizer and playlist.
Thank you!

There's not a supported way to do this today. That said, Webamp exposes it's store so it's possible to hack this:
Try this:
import Webamp from "webamp"; // eslint-disable-line import/no-unresolved
// This import gives us a URL to llama.mp3
import llama from "./llama.mp3";

const webamp = new Webamp({
  initialTracks: [
    {
      metaData: {
        artist: "DJ Mike Llama",
        title: "Llama Whippin' Intro"
      },
      url: llama,
      duration: 5.322286
    }
  ]
});

webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "playlist" });
webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "equalizer" });

// Here we go! Let's show Webamp.
webamp.renderWhenReady(document.getElementById("app"));

You can try it in CodeSandbox.io here: https://codesandbox.io/s/webamp-example-3heug?file=/index.html

I have:
    const Webamp = window.Webamp;
    new Webamp({

Could you let me know how to modify these two lines:
webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "playlist" });
webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "equalizer" });
Thank you!

Sure.
You'll need to assign the output of new Webamp[...] to a variable:
const Webamp = window.Webamp;
const webamp = new Webamp({

Then you can call:
webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "playlist" });
webamp.store.dispatch({ type: "CLOSE_WINDOW", windowId: "equalizer" });

Also, be sure to check out the example I shared. That should help you figure it out.

It worked. Thank you!


Setting http request timeout

Feature Request
Is your feature request related to a problem? Please describe.
I need to increase default timeout for requests to OpenAI api.
Describe the solution you'd like
Make internal constructor with HttpClient parameter public.
Describe alternatives you've considered
Reflection.

Sure I think we can make the constructor public.

Although I'm curious what has been the default time out for you that's been working?

Thank you very much! I upgraded to version 6.4.1 and everything works out of the box without reflection hacks.
I use Timeout = TimeSpan.FromSeconds(300) , their api works seriously unstable in peak times. Also I'm thinking about much shorter timeout and http request retries with Polly.

It's also useful for letting the HttpClientFactory from DI extensions handle the creation of HttpClients.

Literally how the tests work 😅

The constructor is no longer internal . This shouldn't be an issue any longer.

Sure. Talking past tense 👍


Fix the way optget counts options

It gives too few when counting several options in the same argument (like -abc)

New version of getopt counts options quite well. Nevertheless, intensive tests are needed.


Codeunit 82 Sales-Post + Print - OnBeforeSalesPostRun

Hi, would it be possible to get an event OnBeforeSalesPostRun in codeunit 82, procedure Code, like this :

    [IntegrationEvent(false, false)]
    local procedure OnBeforeSalesPostRun(var SalesHeader: Record "Sales Header"; IsHandled : Boolean)
    begin
    end;

?
Thanks

Please always put the full detailed signature of the requested events.
You help us implementing the requests faster when your request contains AL code copied from VSCode instead of screenshots.

updated

Please put the code surrounding the place where you expect a new event call as a text not as a screenshot. It helps us quickly finding the right place if you put enough code to identify the unique place. Just copy&paste the code you have on the screenshot.
Are you sure that IsHandled parameter should be passed by value, without VAR?
We have many event requests to process every day, if you make a mistake in your request it means double work for us and more time for you to get what you really need. Please be more careful.

IsHandled should indeed be a Var, sorry for my mistake and the inconveniance, my comment has been updated

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Game crashes on run start

I tried to start a run with updated RDRP and game crashed without any errors in logs.
  No Game State detected.
456: [INFO] - Cannot continue a game that doesn't have the same modding state (rep_rerunstate3.dat)!
457: [INFO] - Setting PersistentGameData ReadOnly to False
458: [INFO] - Menu Game Init
459: [INFO] - Menu Daily Init
460: [INFO] - Menu Character Init
461: [INFO] - Menu SpecialSeed Init
462: [INFO] - Menu Challenge Init
463: [INFO] - Menu Collection Init
464: [INFO] - Menu Stats Init
465: [INFO] - Menu Mods Init
466: [INFO] - Menu Options Init
467: [INFO] - Menu Controller Init
468: [INFO] - Menu Key Config Init
469: [INFO] - Menu Cutscene Init
470: [INFO] - Menu Bestiary Init
471: [INFO] - Menu Custom Challenge Init
472: [INFO] - Running Lua Script: C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac Rebirth/isaac-discord-scripts/ImGuiHandler.lua
473: [INFO] - Lua mem usage: 54222 KB and 277 bytes
474: [INFO] - Setting PersistentGameData ReadOnly to False
475: [INFO] - Loading PersistentData 1 from SteamCloud!
476: [INFO] - Loading PersistentGameData from Steam Cloud: rep_persistentgamedata1.dat.
477: [INFO] - Reading chunk 1
478: [INFO] - Reading Achievements
479: [INFO] - Done Reading Achievements
480: [INFO] - Reading chunk 2
481: [INFO] - Reading Counters
482: [INFO] - Done Reading Counters
483: [INFO] - Reading chunk 3
484: [INFO] - Reading Level Counters
485: [INFO] - Done Reading Level Counters
486: [INFO] - Reading chunk 4
487: [INFO] - Reading Collectibles
488: [INFO] - Done Reading Collectibles
489: [INFO] - Reading chunk 5
490: [INFO] - Reading Mini Bosses
491: [INFO] - Done Reading Mini Bosses
492: [INFO] - Reading chunk 6
493: [INFO] - Reading Bosses
494: [INFO] - Done Reading Bosses
495: [INFO] - Reading chunk 7
496: [INFO] - Reading Challenge Counters
497: [INFO] - Done Reading Challenge Counters
498: [INFO] - Reading chunk 8
499: [INFO] - Reading Cutscene Counters
500: [INFO] - Done Reading Cutscene Counters
501: [INFO] - Reading chunk 9
502: [INFO] - Reading GameSettings
503: [INFO] - Done Reading GameSettings
504: [INFO] - Reading chunk 10
505: [INFO] - Reading Special Seed Counters
506: [INFO] - Done Reading Special Seed Counters
507: [INFO] - Reading chunk 11
508: [INFO] - Reading Bestiary Counters
509: [INFO] - Done Reading Bestiary Counters
510: [INFO] - Saving PersistentGameData to Steam Cloud: rep_persistentgamedata1.dat.
511: [INFO] - Loading GameState 1 from SteamCloud!
512: [INFO] - GameState Version Loaded: 146
513: [INFO] - [warn] no animation named AB+
514: [INFO] - Saving PersistentGameData to Steam Cloud: rep_persistentgamedata1.dat.
515: [INFO] - Setting PersistentGameData ReadOnly to False
516: [INFO] - RNG Start Seed: FN9Y 9LS3 (617623639) [New, 1]
517: [INFO] - Preload sound 0.
518: [INFO] - Initialized player with Variant 0 and Subtype 0
519: [INFO] - Lua Debug: [StageAPI] New run (or save data file missing), reset save data
520: [INFO] - Lua Debug: [StageAPI] Saved data!  Took 0.000s
746: [INFO] - Adding collectible 105 (The D6) to player 0 (Isaac)
747: [INFO] - Saving PersistentGameData to Steam Cloud: rep_persistentgamedata1.dat.
748: [INFO] - Lua Debug: - Overriden stages have their
749:         StageNumber set
750:
751:         - StageAPI event triggers now use
752:         their own function: TriggerEventGroup()
753:
754:         - Fix Fool's Gold rocks spawning
755:         again in luarooms if
756:         they were reentered
757:
758:         - Fixed a bug with Curse of
759:         the Maze room swapping
760:         detection
761:
762:         - Add a POST_SELECT_BACKDROP_WALL
763:         callback for when custom backdrops
764:         are applied, which stores data
765:         for each backdrop "chunk"
766:
767:         - Add ability to register
768:         and check for string IDs
769:         for custom backdrops
770:
771:         - Custom pits with water ripples
772:         on their spritesheet will display
773:         them if applicable
774:         - Fix boss music not playing
775:         in custom stages in greed mode
776:         - Custom boss versus screen
777:         now renders above the HUD
778:         - Fixes for how custom
779:         stages load their boss
780:         rooms
781:
782: [INFO] - [warn] item pool ran out of repicks
783: [INFO] - music stopped playing
784: [INFO] - [warn] no music for ID 4 ().
785: [INFO] - Lua Debug: [StageAPI] Saved data! Took 0.001s
786: [INFO] - [warn] ChangeRoom() called with current room index
787: [INFO] - Room 1.2(Start Room)
788: [INFO] - SpawnRNG seed:<PHONE_NUMBER>
789: [INFO] - Lua mem usage: 67146 KB and 659 bytes

Hi, did you have Discord enabled? If not, that's a bug that I released a patch for yesterday.

Hi, did you have Discord enabled? If not, that's a bug that I released a patch for yesterday.

I installed last version of the mod

Super sorry for not seeing this.
What character were you playing? Is this on a new run or a continued run? Does it still happen when Discord is running/not running?
There's not enough information to go off of currently unfortunately.

Super sorry for not seeing this.
What character were you playing? Is this on a new run or a continued run? Does it still happen when Discord is running/not running?
There's not enough information to go off of currently unfortunately.

1.Isaac
2.New run
3.Yes

Finally found the issue, fixed in the latest release.


feat: Test different Pipeline variants

Description
Modify the structure of the component test scenarios to allow them to be executed by different build Pipelines.
Also...
In newer build Pipelines, the show-summary Task is no longer included. As such, remove the test that ensures the show-summary Task was included in the build Pipeline.
Issue ticket number and link
Ref: https://issues.redhat.com/browse/EC-715
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

/lgtm

/lgtm

/lgtm

@lcarva with this PR changes, when trying to run selected specs with label-filter build-templates-e2e (the approach we use while running e2e-tests in build-definitions repo) , no specs were running
ginkgo --label-filter="build-templates-e2e" --v ./cmd
Ran 0 of 301 Specs in 0.007 seconds

/hold

/lgtm
/approve

@tisutisu, thanks for catching that! I think the problem is that the BeforeAll block is what populates components. Without actually running the BeforeAll block, the for-loops that create the It scenarios are empty. This is a problem because of ginkgo's tree construction phase. I need to refactor the code to handle this.

/retest

I'm seeing two odd failures:
[FAILED] Timed out after 300.000s.
  timed out when waiting for the PipelineRun to start for the Component build-e2e-muui-tenant/test-symlink-comp-isml
  Expected success, but got an error:
      <*errors.errorString | 0xc000940610>:
      no pipelinerun found for component test-symlink-comp-isml
      {
          s: "no pipelinerun found for component test-symlink-comp-isml",
      }
  In [It] at: /tmp/tmp.azHNVlUfDc/tests/build/build_templates.go:169 @ 09/11/24 16:18:10.949

Looking at the created components I see a bunch of PaC errors:
🐚 < cluster-artifacts/components.json jq '.items[] | .metadata.annotations["build.appstudio.openshift.io/status"]'
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"
"{\"pac\":{\"state\":\"enabled\",\"merge-url\":\"https://gitlab.com/konflux-qe/devfile-sample-hello-world/-/merge_requests/302\",\"configuration-time\":\"Wed, 11 Sep 2024 16:24:55 UTC\"},\"message\":\"done\"}"
"{\"pac\":{\"state\":\"enabled\",\"merge-url\":\"https://github.com/redhat-appstudio-qe/konflux-test-integration-with-env/pull/674\",\"configuration-time\":\"Wed, 11 Sep 2024 16:13:05 UTC\"},\"message\":\"done\"}"

I checked the results of another pull request and I don't see those errors. That's probably not related to my changes, but I'll keep digging.
The other error is:
  [FAILED] Expected success, but got an error:
      <*errors.errorString | 0xc00161f320>:
      unable to retrigger pipelinerun for component build-e2e-styg-tenant:gl-test-custom-branch-ymlval: failed to retrigger PipelineRun gl-test-custom-branch-ymlval-on-push-sqljb in build-e2e-styg-tenant namespace: error when creating file contents: response (&{0xc00180b560 0 0 0 0 0 0    }) and error: POST https://gitlab.com/api/v4/projects/konflux-qe/hacbs-test-project-integration/repository/files/alohu: 400 {message: You can only create or edit files when you are on a branch}
      {
          s: "unable to retrigger pipelinerun for component build-e2e-styg-tenant:gl-test-custom-branch-ymlval: failed to retrigger PipelineRun gl-test-custom-branch-ymlval-on-push-sqljb in build-e2e-styg-tenant namespace: error when creating file contents: response (&{0xc00180b560 0 0 0 0 0 0    }) and error: POST https://gitlab.com/api/v4/projects/konflux-qe/hacbs-test-project-integration/repository/files/alohu: 400 {message: You can only create or edit files when you are on a branch}",
      }
  In [It] at: /tmp/tmp.azHNVlUfDc/tests/build/build.go:637 @ 09/11/24 16:59:49.871

I've see this before. Re-creating a new PR did the job.
I'm re-running the tests to see if these failure are, at least, reproducible.

/retest

New failures now:
• [FAILED] [600.699 seconds]
[integration-service-suite Gitlab Status Reporting of Integration tests] Gitlab with status reporting of Integration tests in the assosiated merge request when Integration PipelineRun is created [It] eventually leads to the integration test PipelineRun's Pass status reported at MR notes [integration-service, gitlab-status-reporting]
/tmp/tmp.6O861xupPW/tests/integration-service/gitlab-integration-reporting.go:237

  [FAILED] Timed out after 600.180s.
  timed out waiting to validate merge request note ('Integration test for snapshot integ-app-xsjb-q64h4 and scenario my-integration-test-vlms has passed') be reported in mergerequest 9125's notes
  Expected
      <bool>: false
  to be true
  In [It] at: /tmp/tmp.6O861xupPW/pkg/clients/gitlab/git.go:195 @ 09/11/24 19:02:41.838
------------------------------
SS•••••••••••

Summarizing 2 Failures:
  [FAIL] [build-service-suite Build templates E2E test] HACBS pipelines [It] triggers PipelineRun for symlink component with source URL https://github.com/redhat-appstudio-qe/devfile-sample-python-basic with component name test-symlink-comp-kgjw [build, build-templates, HACBS, pipeline, build-templates-e2e, source-build-e2e]
  /tmp/tmp.6O861xupPW/tests/build/build_templates.go:169
  [FAIL] [integration-service-suite Gitlab Status Reporting of Integration tests] Gitlab with status reporting of Integration tests in the assosiated merge request when Integration PipelineRun is created [It] eventually leads to the integration test PipelineRun's Pass status reported at MR notes [integration-service, gitlab-status-reporting]
  /tmp/tmp.6O861xupPW/pkg/clients/gitlab/git.go:195

Ran 229 of 315 Specs in 1237.203 seconds
FAIL! -- 227 Passed | 2 Failed | 37 Pending | 49 Skipped

@dheerajodha @kasemAlem are the it service suites unstable?

/retest

/retest

From latest run, I'm seeing one test failure:
  [FAILED] Timed out after 300.000s.
  timed out when waiting for the PipelineRun to start for the Component build-e2e-sdjb-tenant/test-symlink-comp-geci
  Expected success, but got an error:
      <*errors.errorString | 0xc000690db0>:
      no pipelinerun found for component test-symlink-comp-geci
      {
          s: "no pipelinerun found for component test-symlink-comp-geci",
      }
  In [It] at: /tmp/tmp.ud8mNQ7rK7/tests/build/build_templates.go:169 @ 09/12/24 11:06:34.066

It looks like some components have a failed pac status:
< cluster-artifacts/components.json jq '.items[] | .metadata.annotations["build.appstudio.openshift.io/status"]'
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"

Can someone confirm that the expected GitHub application is installed in https://github.com/konflux-qe-bd ?

From latest run, I'm seeing one test failure:
  [FAILED] Timed out after 300.000s.
  timed out when waiting for the PipelineRun to start for the Component build-e2e-sdjb-tenant/test-symlink-comp-geci
  Expected success, but got an error:
      <*errors.errorString | 0xc000690db0>:
      no pipelinerun found for component test-symlink-comp-geci
      {
          s: "no pipelinerun found for component test-symlink-comp-geci",
      }
  In [It] at: /tmp/tmp.ud8mNQ7rK7/tests/build/build_templates.go:169 @ 09/12/24 11:06:34.066

It looks like some components have a failed pac status:
< cluster-artifacts/components.json jq '.items[] | .metadata.annotations["build.appstudio.openshift.io/status"]'
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"
"{\"pac\":{\"state\":\"error\",\"error-id\":70,\"error-message\":\"70: GitHub Application is not installed in user repository\"},\"message\":\"done\"}"

Can someone confirm that the expected GitHub application is installed in https://github.com/konflux-qe-bd ?

@psturc @flacatus Could you help to take a look?

I don't have admin access to this org. I guess it's created by @tisutisu ?

konflux-qe-bd org is used while running the tests in build-definitions CI, for e2e-tests repo CI these tests should use redhat-appstudio-qe org, thats how it used to work before.

konflux-qe-bd org is used while running the tests in build-definitions CI, for e2e-tests repo CI these tests should use redhat-appstudio-qe org, thats how it used to work before.

Then I probably screwed up somewhere because the tests here are running on the konflux-qe-bd org. Let me take a closer look.

I'm still hacking on this. The latest issue I found is that the wrong bundle was being used for docker builds. Each docker-build variant pipeline has its own bundle. I made a change to handle that. Let's see what happens.

Got past the previous failures :relieved:
Now I'm seeing a new one which I believe has this root cause:
admission webhook "webhook.pipeline.tekton.dev" denied the request: mutation failed: cannot decode incoming new object: json: unknown field "EnableTektonOCIBundles"

Trying to figure out where that is coming from. We've seen before in another instance: https://github.com/konflux-ci/e2e-tests/pull/1383

That error is coming from the multi-platform controller. It probably needs to be updated.

For now, updated the PR to not run the newly added multi-arch Pipeline test. https://issues.redhat.com/browse/KFLUXINFRA-836 will be needed for that.

/retest
• [FAILED] [300.537 seconds]
[integration-service-suite Gitlab Status Reporting of Integration tests] Gitlab with status reporting of Integration tests in the assosiated merge request when Integration PipelineRun is created [It] validates the Integration test scenario PipelineRun is reported to merge request CommitStatus, and it pass [integration-service, gitlab-status-reporting]
/tmp/tmp.56cO3JPmvR/tests/integration-service/gitlab-integration-reporting.go:220

  [FAILED] Timed out after 300.001s.
  timed out when waiting for expected commitStatus to be created for sha 404af9d8c83f864e9db2420ab2376ada22bcd81e in konflux-test-integration-status-report repository
  Expected
      <string>: running
  to equal
      <string>: success
  In [It] at: /tmp/tmp.56cO3JPmvR/tests/integration-service/gitlab-integration-reporting.go:237 @ 09/13/24 21:03:55.364
------------------------------
SSS•••••••••••••••••••••••••••••••••••••••••••

Summarizing 1 Failure:
  [FAIL] [integration-service-suite Gitlab Status Reporting of Integration tests] Gitlab with status reporting of Integration tests in the assosiated merge request when Integration PipelineRun is created [It] validates the Integration test scenario PipelineRun is reported to merge request CommitStatus, and it pass [integration-service, gitlab-status-reporting]
  /tmp/tmp.56cO3JPmvR/tests/integration-service/gitlab-integration-reporting.go:237

Ran 249 of 329 Specs in 1296.280 seconds
FAIL! -- 248 Passed | 1 Failed | 38 Pending | 42 Skipped

@tisutisu this is ready for reviewing again :pray:

/lgtm

/unhold
/approve


 Let's get rid of the bloat. I'm unsure as to whether I should write it in cython or C currently, though I'll be drafting out the code in such a way that it could be written either way.
Essentially, if I can properly access the htslib API from cython (direct access to the pileup iterator engine, &c.), then I think I'd do it in cython, but if I can't, I'll just deal with it.
This is being prioritized after the bam rescue merging and the rmdup fork.
To: Daniel Baker
From: Ken Boucher
RE: Some math calculations associated with PCR and variant calling
Date:  June 17, 2015
I. Probability of an error arising from PCR
Assumptions and notation
N = number of cycles of PCR
P = probability of an error for each base in each cycle
E = efficiency of PCR, so that each cycle increases the amount by the fraction B = 1 + E.
We assume that P and E are constant, that is, they don’t vary by base or cycle number.  More practically, one may think of P and E as the “average” probability of an error and the “average” efficiency, in which case the calculations below are approximations.
We assume that in each PCR replication, there is a “template” and a “copy”. The “template” remains unchanged – that is, no additional errors are introduced in the template. The copy may have errors.  P is the probability per base of an error in the copy. (Note – this may or may not be how the probability of error is usually represented! It may be that the quoted error probabilities are averaged over the template and the copy. )
Errors arise independently across cycles.
Errors are retained in further PCR cycles
Calculations
With the above assumptions, each molecule at the end of N cycles of PCR has a number of cycles c associated with it. The original material has cycle c = 0.  The newest material from the last cycle of PCR has cycle at most N. Molecules resulting from c cycles had c “chances” for errors to be introduced. Since the errors are independent, the chance of no error is (1 – P)c, and therefore the probability of an error at each base in a molecule from generation g satisfies
P(error)  = 1 -  (1 – P)c			(1)
Suppose that the original amount number of molecules is M. If we look at a molecule at the end of N cycles, one can trace back through N cycles to the original molecules, and at each cycle either the molecule is the “copy” and subject to mutation or “template” and not subject to mutation. There are 2N such binary paths. The number of paths with k chances for mutation is  N!/k!(n-k)!. The probability of no mutation along each of these paths is (1-P)K, and the number of molecules along each path is M E^k .The expected total number of molecules with no mutations is
M∑_(k=0)^N▒〖N!/k!(N-k)!{E(1-P) }^k=M{1+E(1-P)〗 }^N. Since the total number of molecules after N cycles is M〖(1+E)〗^N, the fraction with a mutation is
Q=1-({1+E(1-P) }^N)/({1 +E}^N )
Plugging in N = 22, P = 2.8 x 10-7, and E = 0.8 (corresponding to 80% efficiency), we get Q = 2.7x10-6. For comparison, if we use the naïve approximation obtained by multiplying the error probability by the number of cycles we get a rough approximation 6.2 x 10-6.
II How many “copies” of an error will exist?
If an error occurs in cycle i, then the error will be copied though N-i cycles, resulting in a mean of (1+E)^(N-i) copies of the error. There are a mean of (1+E)^(i-1) copies at the end of cycle i-1, so the probability that the mean number of copies is (1+E)^(N-i)  is proportional to (1+E)^(i-1),for i=1,…,N.  Thus the probability of a mean of (1+E)^(N-i) copies is (1+E)^(i-1)/∑_(i=1)^N▒〖(1+E)^(i-1) 〗.  The mean number of copies is therefore  (∑_(i=i)^N▒〖(1+E)^(N-i) 〗(1+E)^(i-1))/(∑_(i=1)^N▒〖(1+E)^(i-1) 〗)=  (∑_(i=i)^N▒〖(1+E)^(N-1) 〗)/(∑_(i=1)^N▒〖(1+E)^(i-1) 〗)=  (E∙N〖(1+E)〗^(N-1))/(〖(1+E)〗^N-1)  .  If N is large this is approximately (E∙N)/(1+E) . Note that this is very small compared to the total mean number of descendants, which is (1+E)N.
Implication
Most of the time when there is an error introduced by PCR only one “copy” should be observed.

Current direction:
Vetting (quick solution)
Python vetter drafted (See CyBMFtools/MawCluster/vet.py).
C vetter in progress
A more rigorous/complete long-term solution will come later, if we even write a whole new variant caller.

Vetter complete and a tumor/normal pair "stack" command is available. We are likely to not need another variant caller for this project. Closing.


Make warp dislocator station gui

warp dislocator needs a gui

Ok

Solved with https://github.com/Tiph-Studios/DysonSphereProject/pull/63 boop


Fix typo and closing code block mark indentation

Related issues
N/A
Describe the changes made in this pull request
Fixed the indentation of a closing code mark ```
Instructions to review the pull request
Search for the stray ``` in the initial rendered text. In my fork it has disappeared.
Review checklist

[ ] Please check if all changes are recorded in CHANGELOG.md and adapt if neccesary.
[x] Please run tests locally.

cd $(mktemp -d --tmpdir cff.XXXXXX)
git clone https://github.com/citation-file-format/citation-file-format .
git checkout <branch>
python3 -m venv env
source env/bin/activate
pip install --upgrade pip wheel setuptools
pip install -r requirements.txt
pytest
<do other things>

[ ] <do other things>

Hi @pothitos, thanks for making this PR. Love the attention to detail!


No file progress value with custom upload function

I have a custom function in my controller for uploading after my files are added. However, I am having trouble with file progress and file.progress() is always zero.
Is there a way for me to get progress with this method? A direct url in file init is not feasible for me since I have data to attach to multipart before sending.
Here is what I have in my view
Upload Files

```

Then in my controller,

$scope.fileAdded = function (file) {
console.log('$flow')
console.log(file.file.type)
var fd = new FormData();
fd.append("file", file.file);
fd.append("fileName", file.file.name);
fd.append("fileType", file.file.type);
fd.append("fileSize", file.size);
fd.append("dBN", 'TEST');
fd.append("tN", 'TEST');
UploadService.uploadFiles(uploadToken,emailToken,fd).then((data) => {
console.log(data);
},(error) => {
console.log(error);
})
}
}

Hi,
Were you able to solve this issue?


Add emplace_back_unchecked

I don't expect this to be accepted, however I actually wrote a short paper on this a few years ago. I tend to add this utility and another for modifying the size to my own custom vectors to be able to get every last bit of performance where I can. You can get an easy 100% performance swing with this over emplace_back.
Even better is actually this pattern:
std::vector<char> a_pseudo_string;
a_pseudo_string.reserve(32);

char *danger_ptr = a_pseudo_string.data();
for (size_t i = 0; i < 32; i++) {
  danger_ptr[i] = i+32;
}
// an incredibly awkward use of assign
a_psudo_string.assign(danger_ptr, danger_ptr+32);

Where assign also can get an unchecked variation. Since the internals of svector already has
    template <direction D>
    void set_size(size_t s) {
        if constexpr (D == direction::direct) {
            set_direct_and_size(s);
        } else {
            indirect()->size(s);
        }
    }

The second is already possible*.
Alternatively could be named unchecked_emplace_back.

I think this is what David Stone proposes ("append_from_capacity") in his CppCon talk

I googled a bit, I think an API like here in P1010R1 sounds good to me:

T* uninitialized_data() - Returns a pointer to storage that would back elements [size(), capacity()).
insert_from_capacity(size_type n) Appends n elements from capacity. The application must have initialized the storage backing these elements otherwise the behavior is undefined.  (or name it append_from_capacity)

It's not a new idea, I was about to submit my paper to the standards committee but someone mentioned that a similar idea was rejected years beforehand. I'm not surprised though that it keeps getting brought up, it's a pretty easy performance improvement when you know you can use it.
insert_from_capacity's a strange name since insert's used to place data essentially "anywhere". I tend to call mine append_unchecked or unchecked_append since for whatever reason append is not defined for vector, but is for strings.

Nice nanobench benchmarks @Andersama :smile:  I also don't like insert_from_capacity. Digging more into standardization, the last status of P1010 is that it should be revised, based on the accepted resize_and_overwrite: https://github.com/cplusplus/papers/issues/322
This will be in C++23 for std::string, and It would probably be best to have the same API for vector:
https://en.cppreference.com/w/cpp/string/basic_string/resize_and_overwrite

Taking a look at the cppreference example
food.resize_and_overwrite(
        resize_to,
        [food_size = food.size()](char* p, [std::size_t](https://en.cppreference.com/w/cpp/types/size_t) n) noexcept -> [std::size_t](https://en.cppreference.com/w/cpp/types/size_t) {
            // p[0]..p[n] is the assignable range
            // p[0]..p[min(n, food_size) - 1] is the readable range
            // (contents initially equal to the original string)

            // Debug print:
            [std::cout](https://en.cppreference.com/w/cpp/io/cout) << "In Operation(); n: " << n << '\n';

            // Copy fruits to the buffer p while there is enough space.
            char* first = p + food_size;

            for (char* const end = p + n; const [std::string_view](https://en.cppreference.com/w/cpp/string/basic_string_view) fruit : fruits) {
                char* last = first + fruit.size() + 1;
                if (last > end)
                    break;
                *first++ = ' ';
                std::[ranges::copy](https://en.cppreference.com/w/cpp/algorithm/ranges/copy)(fruit, first);
                first = last;
            }

            const auto final_size { static_cast<[std::size_t](https://en.cppreference.com/w/cpp/types/size_t)>(first - p) };

            // Debug print:
            [std::cout](https://en.cppreference.com/w/cpp/io/cout) << "In Operation(); final_size: " << final_size << '\n';

            [assert](https://en.cppreference.com/w/cpp/error/assert)(final_size <= n);
            return final_size; // Return value is the actual new length
                               // of the string, must be in range 0..n
        });

I have the distinct feeling the signature is confusing. If I were to write the callback signature I'd include the old size in the parameters, or alternatively pass the original vector into the callback. It looks like the current signature is passing the entire range via the pointer and the new capacity essentially forcing the user to create a lambda to capture the size.
I'd consider for example:
food.lazy_append(new_capacity, [](char *ptr, size_t old_size, size_t new_capacity){
// now ptr[0..old_size-1] is still available but we don't have to be capturing it ourselves
// bonus we can use c functions as a callback meaning this'd be backwards compatible with older c++ standards and could be done without a template
});

bonus, the implementation's probably the simplest thing I can think of
void lazy_append(size_t new_capacity, void(*callback)(value_type *, size_t, size_t)) {
   reserve(new_capacity);
   callback(data(), size(), capacity());
}

Now that I'm thinking about it, since I gaffed on the initially commit, this kind of vector implementation should likely use a different variation of unchecked emplace back given which mode the vector's in.

Sorry I haven't touched this in over a year, been busy. I'll make a different pull request for resize_and_overwrite.


Pre-NUKE fixes

Currently, max power works as a cutoff where once the power is over, it is set to the max power. What this repo does instead is scale down both left and right powers so the highest power is below the maximum. This preserves differences in power between left and right while limiting the power.

Originally this was just for scaling the drive powers when above the max, but I also added some other changes that I needed for our autos at NUKE.


-m options was useful

I've tried the new version and I believe it's important to reinstate the -m option so that the model can be switched during runtime.
To balance the cost of the APIs, it is often useful to operate with GPT-3 and then pass the output to GPT-4, for example:
chatgpt -m gpt-3 "Do something" | chatgpt -m gpt-4 "Do something else" | ...

Using global variables or file configurations forces one to break the pipeline and save partial results in temporary files, which is not aligned with the rest of the utilities. This doesn't only apply to this scenario, but also when a user wants to change the model on the fly, or create a command alias.
Before this version, I had some very useful aliases:
alias gpt4="chatgpt -m gpt-4"
alias gpt3="chatgpt -m gpt-3-turbo"

which can no longer be created now.
In summary, I believe that:

every option should have a default value
every option present in the yaml file should have a corresponding argument
the hierarchy should be: default, config, argument
local variables should be used only for API_KEY

I hope these considerations may be of help!
Thank you!

Thanks for your feedback! Do you think this would work for you as well?
default, config, environment, argument.
I rather keep the current environment variables. I can add all the command line flags (ie. -m).
Note that you can do this:
alias gpt4="OPENAI_MODEL=gpt-4 chatgpt"

This will have the same effect as setting the command line flag.


Overwriting of Case Models

The overwriting of case models does not work anymore as to be seen in the tests CaseModelManagerTest and CaseModelSavingTest.

The tests should be adapted / deleted.
We need to talk about versioning in the long run.

[ ] create epic for versioning of case models


I added a new section titled, "A blog post which demonstrates my understanding of accessibility".

I marked as done the first checklist for candidates interested in working on the Accessibility features documentation project
I added a new section titled, ### A blog post which demonstrates my understanding of accessibility.
I added the link to my blog post.

Hey @kofodym Hi Kofodym, quick tip for your PRs: shorter, clear titles make collaboration easier. Maybe try summarizing changes in a few words? Thanks! 😊

Thank you. I understand now.


Add Game Developments Courses / Badges🏅

Added 5 Unity pathway / Courses, with proper Game Development Section.
1. Unity Essentials
2. Junior Programmer
3. Creative Core
4. VR Development
5.  Mobile AR Development

unicorn

Thanks for hunting down these new certificates! I left a couple of notes before I can merge.