Carthage update doesn't fetch/build Curry or Runes

New Cartfile, empty directory with the contents:
github "thoughtbot/Argo"

carthage update --no-use-binaries --use-ssh --platform ios prints out:
*** Checking out Argo at "v3.0.2"
*** xcodebuild output can be found in /var/folders/dx/dywzvjnj6nl_x1nfzrb618f40000gn/T/carthage-xcodebuild.tUqHNV.log
*** Building scheme "Argo-iOS" in Argo.xcworkspace

Not sure why Curry or Runes aren't being fetched (they seem to be in the Cartfile.resolved for release v3.0.2)...
My temporary workaround has been to add Runes & Curry into my Cartfile

Neither of those libraries are hard dependencies. The Runes dependency is (currently) hidden from the user by importing the operator definitions directly, and Curry isn't a dependency at all (although it's recommended). If you want these libraries in your code, it's expected that you would add them as dependencies yourself.


Null characters generated before commas

Bug Report
Steps to Reproduce:
Run this profile
{
  "schemaVersion": "0.7",
  "fields": [
    {
      "name": "string",
      "type": "string",
      "nullable": false
    }
  ],
  "rules": [
    {
      "constraints": [
        {
          "field": "string",
          "is": "equalTo",
          "value": ",,,,"
        }
      ]
    }
  ]
}

Expected Result:
string
",,,,"
Actual Result:
string
"^@,^@,^@,^@,"
or something similar depending on which editor you use to view the output.

try it using json output too

this needs more detail about expected output for this case and for other special chars (how do we escape them for csvs and json outputs)


Release/0.4.0

This is necessary for snowplow/snowplow#2437.
Travis should be all green after build finished.

Thanks for the super-fast turnaround time on this @chuwy - looks great.


Update Flux to the newest 0.27.3 version

Seems like the smoke tests fail because of a flake :(
I will rerun again


Resolve #133

Fixes issue where same ProjectName for Source and Destination causes FixGitCommitLinks to fail (see #133).

This does not resolve git branch resolution, which also appears to be broken based on my current scenario.

Is that still going to work when the project names are different?

@MrHinsh I'll take care of that, I think I see a means for allowing both to work. Initially, I wasn't convinced this would even work if the project names were different but going through it more, I think it would. I'm still curious if there was a specific reason that was done, unless there was an expectation that the same project name wouldn't cause an issue with a repo migration. Not sure if that's the case with migrations that aren't VSO->VSO.
Per the comment in #133 about branch linking, I don't believe that branches were linked because in this Processor, it's only looking for "Fixed in Commit" artifacts per:
if (l is ExternalLink && l.ArtifactLinkType.Name == "Fixed in Commit")
So I'll look into this as well and keep you updated if my next commit manages to resolve that as well.

@MrHinsh Okay, got the branch linking now too. Definitely wouldn't have worked before as the Artifact URI is slightly when tagging different forms of git items. Let me know if you have any objections or concerns - this is fully working on a migration I'm working with but would love to see if anyone else can also confirm with their projects.


Synchro/slice data import

Hi,
Thanks a lot for developing alphatims.
I am currently facing an issue when importing a segmented (metabolomics) synchro/slicePASEF analysis, yielding in the following error:
File /usr/miniconda3/envs/py3.8/lib/python3.8/site-packages/alphatims/bruker.py:2306, in TimsTOF.set_cycle(self)
   2304     low_mz = row.IsolationMz - row.IsolationWidth / 2
   2305     high_mz = row.IsolationMz + row.IsolationWidth / 2
-> 2306     cycle[
   2307         frame,
   2308         scan_begin: scan_end,
   2309     ] = (low_mz, high_mz)
   2310     precursor_frames[frame] = False
   2312 cycle[precursor_frames] = (-1, -1)

IndexError: index 166 is out of bounds for axis 0 with size 4

Let me know if any need further information is needed or a minimal data example via email.
Best regards,
Vivian

Dear Vivian, would it be possible for you to share the data? Otherwise it is very difficult to track down what goes wrong in this particular case.

Dear Sander,
Test file and example jupyter notebook have been sent to you via email minutes ago.
Thanks,
Vivian

Dear Vivia, thanks for sharing the test file via a private message. It turns out this is particular sample actually defines two acquisition modes, i.e. 0 and 9. In effect, the first 166 are defined as MS1 frames and only as of frame 167 does a cycle DIA acquistion start. This confuses alphatims, as it assumes a single cample only can have one acquistion mode. I would be curious to know how you set up this acquisition.

Default metabolomics (with VIPHESI)  methods incoporate MS1 scans at the beginning of the run which is timed with the tims 6 way valve. Valve switches at the beginning of the run to ensure that a "plug" of calibrant is being pushed into the ion source with ensures mz + IM recalibration for every run (see capture with salt cluster example).
You can load default metabolomics pos in timscontrol to get an example method (4D_metabolomics_pos).
Please note that early-run recalibration is standard in metabolomics in many labs, so I might not be the only one interested into a fix of this issue.

This is not a trivial fix I am afraid, best I might be able to do at short notice is a bandaid and even that is not straightforward. Do you use AlphaTims as a gui, cli or python package?

Hi,
Python+Jupyter only.
Note that I was not aware of the issue while making the methods. Since this, I've unfortunately deleted the recalibration segment so I'm able to work with alphatims. Of course, being able to perform a pre-run calilbration is a highly valuable feature that other users (metabolomics and proteomics) are going to request later IMO.
Best regards,
Vivian


include py3.12

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@mrakitin How do we get this to include Py3.12?

https://github.com/conda-forge/hklpy-feedstock/pull/15

https://conda-forge.org/docs/maintainer/knowledge_base/#migrators-and-migrations

I knew there was documentation on migrators somewhere, went to the docs and found it.

@prjemian, what's the blocker here?

@mrakitin -- Time.

On examination, I should not have closed #14.  I'll ask the admins to run the bot again.  Looks like the proposed commits would solve the problem I see now.

The migration process involves making a PR to the conda-forge-pinning-feedstock to address a situation where the regro-cf-autotick-bot has not yet proposed a migration.  That's not the case here, as demonstrated by the commits proposed initially in PR #13.

If the regro bot proposes changes including Py3.12 builds, I'll approve it and cancel this PR.


No longer use cdnjs for codepen

see #873
@chrisprice - this uses gh-pages for codepen and our getting started guide.

Agree it's better than what we've got, at least codepen isn't borked when we're trying to promote releases!


fix for TIKA-2770 contributed by kristencheung

https://issues.apache.org/jira/browse/TIKA-2770
Would like to create the conversion from UTM to GCS for envi files in the parser logic. Geographic coordinate systems are based on a spheroid and utilize angular units (degrees). Projected coordinate systems are based on a plane (the spheroid projected onto a 2D surface) and utilize linear units (feet, meters, etc.).
@lewismc @denimmazuki

Hi @kristencheung I tried this patch out and it is not producing expected results.
For example see below where I attempt to extract metadata from the ang20150420t182050_corr_v1e_img.hdr test file shipped with Tika
I think we need to provider a unit test with this pull request to validate correct behaviour.
curl -T ang20150420t182050_corr_v1e_img.hdr http://localhost:9998/meta --header "Content-Type: application/envi.hdr"
"envi.byte.order","0"
"X-Parsed-By","org.apache.tika.parser.DefaultParser","org.apache.tika.parser.envi.EnviHeaderParser"
"envi.sensor.type","Unknown"
"envi.bands","432"
"envi.header.offset","0"
"language","en"
"envi.interleave","bil"
"envi.wavelength.units","Nanometers"
"envi.lines","14674"
"envi.file.type","ENVI Standard"
"envi.samples","739"
"Content-Encoding","ISO-8859-1"
"envi.data.type","4"
"Content-Type","application/envi.hdr"

Note, the file

@kristencheung please address my final comment.
Also, this patch does not work correctly with the existing test file at https://github.com/apache/tika/blob/master/tika-parsers/src/test/resources/test-documents/envi_test_header.hdr
It is only for UTM mappings. We need some additional logic which checks for the presence of the UTM flag. If this flag is not present then no mapping should be made.

I am +1 for merging this PR into master. I've executed the following tests...
With a .hdr file containing map info encoded as UTM
curl -T ang20150420t182050_corr_v1e_img.hdr http://localhost:9998/meta --header "Content-Type: application/envi.hdr"
"envi.byte.order","0"
"X-Parsed-By","org.apache.tika.parser.DefaultParser","org.apache.tika.parser.envi.EnviHeaderParser"
"envi.map.info","{ UTM , 1.000 , 1.000 , 724522.127 , 4074620.759 , 1.1000000000e+00 , 1.1000000000e+00 , 12 , North , WGS-84 , units=Meters , rotation=75.00000000 }"
"envi.description","{  Georeferenced Image built from input GLT. [Wed Jun 10 04:37:54 2015] [Wed  Jun 10 04:48:52 2015]}description = {  Georeferenced Image built from input GLT. [Wed Jun 10 04:37:54 2015] [Wed  Jun 10 04:48:52 2015]}"
"envi.sensor.type","Unknown"
"envi.bands","432"
"envi.header.offset","0"
"language","en"
"envi.interleave","bil"
"envi.wavelength.units","Nanometers"
"envi.lines","14674"
"envi.file.type","ENVI Standard"
"envi.samples","739"
"envi.lat/lon","36.79077627261556, -108.48370867914815"
"Content-Encoding","ISO-8859-1"
"envi.data.type","4"
"Content-Type","application/envi.hdr"

And then with a .hdr file with non-UTM map info
...
lmcgibbn@LMC-056430 /usr/local/tika/tika-parsers/src/test/resources/test-documents(TIKA-2270) $ curl -T envi_test_header.hdr http://localhost:9998/meta --header "Content-Type: application/envi.hdr"
"envi.byte.order","0"
"X-Parsed-By","org.apache.tika.parser.DefaultParser","org.apache.tika.parser.envi.EnviHeaderParser"
"envi.map.info","{Sinusoidal, 1.5000, 1.5000, -10007091.3643, 5559289.2856, 4.6331271653e+02, 4.6331271653e+02, , units=Meters}"
"envi.sensor.type","Unknown"
"envi.bands","7"
"envi.header.offset","0"
"envi.projection.info","{16, 6371007.2, 0.000000, 0.0, 0.0, Sinusoidal, units=Meters}"
"language","en"
"envi.interleave","bip"
"envi.wavelength.units","Unknown"
"envi.lines","2400"
"envi.file.type","ENVI Standard"
"envi.samples","2400"
"Content-Encoding","ISO-8859-1"
"envi.data.type","2"
"Content-Type","application/envi.hdr"

Excellent work @kristencheung

Thank you @kristencheung and @lewismc !!!


cddl-tests: Add the local transaction submission protocol

CDDL-tests: Add the local transaction submission protocol.

add localTxSubmission to the CDDL spec.
test both directions (encoding and decoding).

bors r+

bors r+


panic in /app/api/api.go:56

Error in Go-Minitwit
panic in /app/api/api.go:56
Failed to connect to database.
View on Bugsnag
Stacktrace
/app/api/api.go:56 - SetupDB
/app/api/api.go:212 - main

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
panic in /app/api/api.go:56


Device portal warnings

@evmill : Thanks for your contribution! The author(s) have been notified to review your proposed change. @hamalawi

@evmill : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Closing this PR. It was duplicated in PR #3324.


Loguru + warning handler suppressing DeprecationWarnings in pytest (hashtag641)

Hi again  !
I'm moving a unittest-based test suite to pytest. We're using loguru together with a warning handler, something like this (only to show minimal reproducible code):
import warnings
from loguru import logger

def warning_handler(message, category, filename, lineno, file=None, line=None):
    new_message = warnings.formatwarning(
        message, category, filename, lineno, line
    )
    logger.warning(new_message)

warnings.showwarning = warning_handler

When I run pytest locally (pytest -rxXsw), and without the warning handler I see this:
===== warnings summary ======
../../../opt/venv/lib/python3.10/site-packages/playhouse/cockroachdb.py:69
  /opt/venv/lib/python3.10/site-packages/playhouse/cockroachdb.py:69: DeprecationWarning: invalid escape sequence '\d'
    match_obj = re.match('^CockroachDB.+?v(\d+)\.(\d+)\.(\d+)', raw)

../../../opt/venv/lib/python3.10/site-packages/playhouse/migrate.py:668
  /opt/venv/lib/python3.10/site-packages/playhouse/migrate.py:668: DeprecationWarning: invalid escape sequence '\('
    column_re = re.compile('(.+?)\((.+)\)')

../../../opt/venv/lib/python3.10/site-packages/playhouse/migrate.py:825
  /opt/venv/lib/python3.10/site-packages/playhouse/migrate.py:825: DeprecationWarning: invalid escape sequence '\]'
    if re.match('%s(?:[\'"`\]]?\s|$)' % column_to_update, column):

../../../opt/venv/lib/python3.10/site-packages/peewee.py:236: 1 warning
tests/test_calculate.py: 1 warning
tests/cronjobs/test_stuff.py: 1 warning
tests/cronjobs/test_more_stuff.py: 2 warnings
  /opt/venv/lib/python3.10/site-packages/peewee.py:236: DeprecationWarning: "db_column" has been deprecated in favor of "column_name" for Field objects.
    warnings.warn(s, DeprecationWarning)

-- Docs:

But as soon as I enable the warning handler (warnings.showwarning = warning_handler), the output looks like this when running pytest:
===== warnings summary ======
tests/test_calculate.py: 1 warning
tests/cronjobs/test_stuff.py: 1 warning
tests/cronjobs/test_more_stuff.py: 2 warnings
  /opt/venv/lib/python3.10/site-packages/peewee.py:236: DeprecationWarning: "db_column" has been deprecated in favor of "column_name" for Field objects.
    warnings.warn(s, DeprecationWarning)

-- Docs:

Do you see what could possibly be going on here, and why the captured warning, re-logged via loguru, was not enough for pytest to show it in the warnings summary?
hashtaghashtaghashtag Side notes
The reason for doing this warning handling is I'm using Datadog and want to log everything to JSON format. Third-party libraries which are raising DeprecationWarnings must therefore be captured, so I can reformat them and set the desired severity level. I also use the InterceptHandler from the README.md, but for some reason the interceptor did not capture DeprecationWarnings from e.g. [redis]( but it worked as soon as I added this warning handler.
For local execution, I'm not using Datadog and I do not format the loguru logs (I'm using the default formatting).

Hey
Sorry, despite the code snippet you shared, I'm unable to reproduce your issue. Do you have the possibility to share a more complete example to reproduce the error, with possibly the list of dependencies and their versions?
However I note the following:

Loguru .warning() is very different from warnings.warn() and the logs emitted won't be captured by warning handlers possibly installed by pytest. You may need to re-call manually warnings.warn() at the same time you log the warning.
For some reason, it seems the warnings.showwarning() is not overloaded inside any test_x() function. I tried to display warnings.showwarning.__code__.co_filename from inside a testing function ran by pytest, and it was the built-in Python showwarning() instead of the replacement. It works fine if function is overloaded thanks to a fixture, though.

sorry for making this topic stale so quickly. Things have been busy at work but I'll revisit this next week.

I will close this for now as I don't have time to investigate this. Sorry for the noise. I will try to revisit this as I have an internal issue about it in my org.


How to disable retries for batch

Redisson 3.21.0
I am trying to execute a batch without retries:
BatchOptions.defaults().executionMode(ExecutionMode.IN_MEMORY).responseTimeout( timeout, TimeUnit.MILLISECONDS)
.retryAttempts(0);
but if I set retry attempts to 0,  the system uses the default number of retries (3)
...currentCommand=null, usage=1], command: null, params: null after 3 retry attempts
I think the code is ignoring the option when set to 0:
if (options.getRetryInterval() > 0) {
this.retryInterval  = options.getRetryInterval();
}
shouldn't 0 be allowed? Thanks!

Fixed! Thanks for report

@mrniko  Thanks!
I haven't tested the code yet, but wouldn't it be needed to set BatchOptions
private int retryAttempts = -1;
for this to work? Otherwise I think it will always set the retries to 0 instead of using the configured/default value?

@avcad
You're right. Thanks for pointing out.


Added Drawable class instead four draw's classes

sorry, it fails demos

seems it working fine after fixing colors

LGTM

Tnx for merging


[Event request] Set additional filters in CalculateTotals on page 6665 "Return Receipt Statistics"

We have extended the Sales Line Type with a value which is a kind of "rich" comment line. Any value for lines with that sales line type should not be included in the Return Receipt Statistics. To be able to skip these lines I would like to have the ability to set an additional filter on the ReturnRcptLine variable.
Below my suggested code change.
Existing code:
    local procedure CalculateTotals()
    var
        ReturnRcptLine: Record "Return Receipt Line";
    begin
        ReturnRcptLine.SetRange("Document No.", Rec."No.");
        if ReturnRcptLine.Find('-') then
            repeat
                LineQty += ReturnRcptLine.Quantity;
                TotalNetWeight += ReturnRcptLine.Quantity * ReturnRcptLine."Net Weight";
                TotalGrossWeight += ReturnRcptLine.Quantity * ReturnRcptLine."Gross Weight";
                TotalVolume += ReturnRcptLine.Quantity * ReturnRcptLine."Unit Volume";
                if ReturnRcptLine."Units per Parcel" > 0 then
                    TotalParcels += Round(ReturnRcptLine.Quantity / ReturnRcptLine."Units per Parcel", 1, '>');
            until ReturnRcptLine.Next = 0;
    end;

Suggested code:
    local procedure CalculateTotals()
    var
        ReturnRcptLine: Record "Return Receipt Line";
    begin
        ReturnRcptLine.SetRange("Document No.", Rec."No.");
        OnBeforeReturnRcptLineFind(Rec, ReturnRcptLine);
        if ReturnRcptLine.Find('-') then
            repeat
                LineQty += ReturnRcptLine.Quantity;
                TotalNetWeight += ReturnRcptLine.Quantity * ReturnRcptLine."Net Weight";
                TotalGrossWeight += ReturnRcptLine.Quantity * ReturnRcptLine."Gross Weight";
                TotalVolume += ReturnRcptLine.Quantity * ReturnRcptLine."Unit Volume";
                if ReturnRcptLine."Units per Parcel" > 0 then
                    TotalParcels += Round(ReturnRcptLine.Quantity / ReturnRcptLine."Units per Parcel", 1, '>');
            until ReturnRcptLine.Next = 0;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeReturnRcptLineFind(ReturnReceiptHeader: Record "Return Receipt Header"; var ReturnReceiptLine: Record "Return Receipt Line")
    begin
    end;

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. 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.
Build ID: 52728.


subtle capture bug involving type parameter bounds

if this test is added to strong_mode_test:
  test_genericMethod_nestedCaptureBounds() async {
    await resolveTestUnit(r'''
class C<T> {
  /*=T*/ f/*<S extends T>*/(/*=S*/ x) {
    new C<S>().f/*<int>*/(3);
    new C<S>().f; // tear-off
    return null;
  }
}
''');
    MethodInvocation f = findIdentifier('f/*<int>*/(3);').parent;
    expect(f.staticInvokeType.toString(), '(int) → S');
    FunctionType ft = f.staticInvokeType;
    expect('${ft.typeArguments}/${ft.typeParameters}', '[S, int]/[T, S extends T]');

    expectIdentifierType('f;', '<S₀ extends S>(S₀) → S');
  }

it fails, as we end up thinking the function type is <S₀ extends S₀>(S₀) → S
There are some bugs in FunctionTypeImpl.toString() (searching for free vars does not visit bounds, and it does not do a simultaneous substitution) however fixing those does not seem sufficient. I think the bug is in TypeParameterMember.from.

I'm closing this as stale; if there is a real-world bug (outside the proposed unit test), we can follow that.


JS completion commit on enter fix

Issue: Commit on enter isn't working correctly for JS completions in VS
Fix: revert the change to always return true for isNewIdentifierLocation for JavaScript files.
With recent Roslyn completion list changes and the new VS default statement completion settings to "Only use Tab or Enter to commit" this change is no longer required. There is no longer a completion on space issue for JavaScript in VS and the previous fix is stopping completion on enter from working correctly.

// cc: @mhegazy, @vladima , @billti , @anubmat


Extension API support:  Run a query and get results

It is the main scenario of most extensions. It needs to run query to get some information.

We really need this. Also having extensions that can subscribe to entered queries would be great.

We now have a QueryEventListener interface that allows getting events related to query execution.  A pending PR for visualization shows how an extension can access query data.  Please let me know if the API is missing something fundamental.


chore: update image version from v1.10.0-rc.1 to v1.10.0-rc.2

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Merge after v1.10.0-rc.2 is released: https://buildkite.com/risingwavelabs/main-cron/builds/2900

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

close this as we will have v1.10.0-rc.3 soon and the first two release candidates have a critical bug in the storage.


small improvements, increased code coverage

Current coverage is 98.96% (diff: 96.15%)

Merging #28 into master will increase coverage by 1.70%

@@             master        #28   diff @@
==========================================
  Files            13         14     +1
  Lines           657        678    +21
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            639        671    +32
+ Misses           18          7    -11
  Partials          0          0

Diff Coverage
File Path

••••••••   80%
new Sources/General.swift

•••••••••  93%
Sources/BinaryTree.swift

•••••••••• 100%
Sources/Graph_Hashing.swift

•••••••••• 100%
Sources/BinaryMaxHeap.swift

•••••••••• 100%
Sources/SinglyLinkedList.swift

•••••••••• 100%
Sources/Graph_Matrix.swift

•••••••••• 100%
Sources/DoublyLinkedList.swift

•••••••••• 100%
Sources/List.swift

•••••••••• 100%
Sources/BinomialHeap.swift

Powered by Codecov. Last update 6c30d77...b0ac78e


Feature/204 subsegment dots

Closes #204

Coverage decreased (-0.1%) to 88.345% when pulling bd4b87ec834025a1a4f9f7ee159ff6caae1b3523 on feature/204-subsegment-dots into 20229725d4baf0d21a22505722b5f9f719c41c6a on master.

Coverage decreased (-0.1%) to 88.361% when pulling 3a5fe6946126d8e25034f79a9644fff7bd9d96f7 on feature/204-subsegment-dots into 20229725d4baf0d21a22505722b5f9f719c41c6a on master.


Update: joncampbell123.DOSBox-X version 0.84.0

Closes https://github.com/microsoft/winget-pkgs/pull/62790
Closes https://github.com/microsoft/winget-pkgs/pull/62789
Closes https://github.com/microsoft/winget-pkgs/pull/62788
Closes https://github.com/microsoft/winget-pkgs/pull/62098
Closes https://github.com/microsoft/winget-pkgs/pull/61987
Closes https://github.com/microsoft/winget-pkgs/pull/60619

@wingetbot run


Add a configuration file for Fossa

Primarily to exclude the bundled files in the lib/ folder from being included in the analysis.

Note: as of the Fossa scan on this Pull Request (specifically 29718352f2ee7f18729bbc68946d6df0a7967c19) it does not appear that the Fossa integration for GitHub respects the configuration file. It may be that it only becomes active when it's on the main branch.
If that's not the case this Pull Request may be reverted or the Fossa integration may be converted into one based on the fossa-cli.


Create the auth "vertical"

Intro
This PR introduces an auth "vertical". It's not a real vertical but it provides the same support as other ggshield.verticals packages to the ggshield.cmd packages.
What has been done
I initially considered moving part of cmd.login and cmd.logout there but it would require more refactoring to make the code less tied to the CLI parsing and output. It is not worth the move without these refactoring IMHO and I do not want to spend time on it for now.
Instead I just moved OAuthClient and its related code there, and moved an helper date formatting function to core.textutils.
While I was at it, I simplified said helper date and made it output a more correctly formatted string.
Ref
Part of #521.

Codecov Report

Merging #714 (2be5838) into main (efac953) will decrease coverage by 0.04%.
Report is 2 commits behind head on main.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #714      +/-   ##
==========================================
- Coverage   92.20%   92.17%   -0.04%
==========================================
  Files         135      136       +1
  Lines        5839     5840       +1
==========================================
- Hits         5384     5383       -1
- Misses        455      457       +2

Flag
Coverage Δ

unittests
92.17% <100.00%> (-0.04%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

ggshield/cmd/auth/login.py
96.38% <100.00%> (ø)

ggshield/core/text_utils.py
100.00% <100.00%> (ø)

ggshield/verticals/auth/__init__.py
100.00% <100.00%> (ø)

ggshield/verticals/auth/oauth.py
86.17% <100.00%> (ø)

... and 2 files with indirect coverage changes


Pin Python dependencies to a specific version

We currently have a python_requirements.txt file, which lists Python packages we need. But except in some cases, we don't specify a specific version to use. There are multiple approaches to add a lock or freeze file to ensure that developers use the exact same version of the dependencies as we use.
Find a suitable approach, implement it, and update the documentation accordingly (including mechanisms/processes how and when to update the frozen dependencies).

@timothytrippel is addressed by now with the hermetic build support from bazel?

This has already been completed.


Feature/fix initialization of coupler fields

[ ] closes #xxx
[ ] tests passed
[ ] new tests added
[ ] science test figures
[X] ran uncrustify prior to final commit
[X] ReleaseNotes entry

This PR has several components:

initializes upwelling longwave (l2x_Fall_lwup), temperature (l2x_Sl_t) and albedo (l2x_Sl_avsdr, l2x_Sl_anidr, l2x_Sl_avsdf, and l2x_Sl_anidf) to SHR_CONST_SPVAL (since these fields need to be set to actual values during initialization) and sets the remaining l2x_data_struct fields to 0.

sets the temperature field in the l2x_data_struct (l2x_Sl_t) during initialization using avg_temp from the soil_con_struct, which is equivalent to using the temperature of the top soil layer, since this is the value we use to initialize soil temperatures from a cold start

sets the upwelling longwave field in the l2x_data_struct (l2x_Fall_lwup) using l2x_Sl_t and emissivity from the param struct

Note: we may want to combine vic_initialize_albedo, vic_initialize_temperature and vic_initialize_lwup into one function.


Unable to use injectManifest() for a given build setup

CC: @gauntface
Library Affected:
sw-build
Apologies as we may have touched on some of these options in code reviews, but it's hard to realize the pain points until you try something out in a real project.
I've got the following rough configuration:
src/
  sw.js
  sw.prod.js
  index.html
  static/
    js/
    css/
build/
  index.html
  static/
    js/
    css/

The development web server uses src/ as root, and the production web server uses build/ as root. src/sw.js is an empty, no-op service worker, and src/sw.prod.js uses the swlib.precache([]) placeholder, along with some runtime caching rules.
I'm trying to come up with a configuration for swBuild.injectManifest() that will allow me to add the precaching info into src/sw.prod.js, with the result copied over to build/sw.js. The manifest generation takes place after the static files from src/ have been versioned and copied over to build/.
Here's something that I've tried which doesn't work:
swBuild.injectManifest({
  rootDirectory: 'build/',
  swFile: '../src/sw.prod.js',
  dest: '.',
  staticFileGlobs: [
    'index.html',
    'static/{js,css}/**/!(*map*)'
  ]
})

Setting rootDirectory: 'build/' seems like the right option, since that's the web root, and since the glob patterns that I've passed in assume that as the root directory. (Maybe I could set a different rootDirectory and then use modifyUrlPrefix to correct the manifest URLs, but modifyUrlPrefix isn't documented as being supported for the injectManifest() method.)
Setting swFile: '../src/sw.prod.js' is necessary because the swFile path is joined with rootDirectory in order to find the source service worker file.
I've tried setting dest: '.' or dest: 'ignored' and neither give me the output path that I want. dest is joined with swFile to compute the destination for the service worker file, and swFile includes src/ as part of it's path (which I don't want as part of the output path), and it also has a filename of sw.prod.js, while I'd like the name to be sw.js.
I think the approach that would help is if the swFile and dest was considered as being relative to the current directory that the build script is running from, not relative to rootDirectory. It would also help if dest was required to be a path + filename, since otherwise you wouldn't be able to rename the output file.

I am running into the exact same issue with sw-build-webpack plugin
I have a structure like
lib/
    webpack.config.js
src/
    index.html
    sw.js
public/
    bundle.js
    sw-lin-0.18.0.min.js

Everything that webpack build, goes into public.
In order to point to source Sw i user something like this

new SwBuildWebpackPlugin({
	staticFileGlobs: ['*.{html,js,css}'],
	dest: '../public',
	clientsClaim: true,
	swFile: '../src/sw.js'
})

now this line tries to create ../public which is fine and ends up creating
../public/../src/sw.js and overrides my source sw.js
I guess at line we should join a key named swFileName || 'sw.js' instead.

Thanks for raising this. rootDirectory has always been a pain point from users.
Would it be worth dropping it completing and expecting developers to add it where appropriate as part of the glob patterns? The dest, could also be altered to be the service worker file path and just not join with swFile (i.e. swFile just becomes the input file, dest becomes the output file).
@jeffposnick @prateekbh to sum up:

Remove rootDirectory and expect developer to add full path to globs
Make swFile just the input
Make dest the full output path

Removing rootDirectory would make things less magic.
The concern that I have with removing it is that I'd expect that most developers will end up needing to use modifyUrlPrefix, since all of the globbed files would need the public/ or build/ or whatever prefix removed from their path to create a proper, production-ready URL.
I guess I come down in favor of removing rootDirectory and then augmenting the modifyUrlPrefix documentation in the process. As mentioned, injectManifest() doesn't currently list it in the JSDocs as being supported.

Removing rootDirectory would definitely make it more friendlier for build systems to append globPatterns accordingly.
and yes, dest should be a full output path as its pretty intuitive that ways

Actually if I broke apart swFile and dest from rootDirectory, would that make everything a bit easier to reason with?
Then we could rename rootDirectory to something like globDirectory or something along those lines to it's clear rootDirectory is ONLY for globbing. Would that work?

I'm on board with https://github.com/GoogleChrome/sw-helpers/issues/453#issuecomment-296770897


add undocumented published setting to front matter

A new "published" setting that is the opposite of "draft" is added and left intentionally undocumented.
This setting comes from jekyll and eases the transition to hugo greatly. We leave it undocumented so that folks don't rely on it, but also don't shoot themselves in the foot during a jekyll migration. The foot-shooting occurs if they have only a few documents that were drafts ("published: false") in
the jekyll version of their site and don't notice that those drafts were published in the migration to hugo.
I realize this will be a more controversial pull request. However, when combined with spf13/hugo#1314, and spf13/cast#17 (and maybe spf13/hugo#1313 if patched), the jekyll to hugo migration becomes very easy. With those changes, migrating simple websites (like https://www.somethingsimilar.com and many other jekyll installs) requires no editing of the original data at all.
My jekyll to hugo migration became a copy and paste of my markdown files into the right directory plus adjusting some templates to use the right variables. It's nice.

SGTM - objections, @spf13 ?

I think we should do all we can to make migration easier provided it doesn’t compromise Hugo’s ease of use.
I like this idea a lot, but think we need to better handle the case where both published and draft are set.

Pushed up an error check for that case. Was that what you were thinking about?

Probably error and make sure that draft always takes precedence.

Well, my latest change throws an error, but I assumed the code would treat the struct being updated as garbage on error. It is side-effect-y, so I guess I could do the footwork for not setting to Draft

What I believe @spf13 means, and it does make sense, is: If both draft and published are set, use the value in draft, but also LOG an ERROR.

Yes. Thanks for clarifying.
Best,
Steve
--
Steve Francia
http://stevefrancia.com
http://spf13.com
http://twitter.com/spf13
On Mon, Aug 3, 2015 at 11:37 AM -0700, "Bjørn Erik Pedersen"<EMAIL_ADDRESS>wrote:
What I believe @spf13 means, and it does make sense, is: If both draft and published are set, use the value in draft, but also LOG an ERROR.
—
Reply to this email directly or view it on GitHub.

Why log and not return an error?

I've updated the code to log and only set draft if both published and draft are present. It still returns an error. If I misunderstood, please let me know.

Ping? I'm still looking for some feedback.
I get a nice
ERROR: 2015/08/30 both draft and published parameters were found in page's frontmatter

when running this code now.

Sorry, missed this one. This looks good. Merged in 11593b (I squashed your commits into one).

Happy for the squash! Thanks.
On Sun, Aug 30, 2015 at 11:43 AM Bjørn Erik Pedersen <
<EMAIL_ADDRESS>wrote:

Closed #1315 https://github.com/spf13/hugo/pull/1315.
—
Reply to this email directly or view it on GitHub
https://github.com/spf13/hugo/pull/1315#event-396102830.


Raise Marathon version to 0.15.2

please retarget this PR at branch version-2.x

Marathon 0.15.3 is already published to version-2.x, so I will close this PR.


Add non-docker installation documentation

For those of us not using Docker, being able to install this in a non-Docker environment would be nice (VM, systemd-nspawn, etc).

Can you give me an idea of the environment you'd install on? This being a Laravel app we can leverage their docs + install the speedtest CLI

There's Homestead.
Technically, you can also install PHP+Nginx+MySQL etc. standalone, Docker is just a way to have a packaged environment in place very quickly, but you can always unpack a container and install all apps/services on the host machine. I would not recommend it though...
In case you can't use Docker, Homestead looks like the proper way to go.

@alexdelprete homestead is for local development only so I wouldn't recommend that and Composer is just a dependency manager for PHP (like NPM for node or PIP for Python).
I'll keep this on the radar @robled but Docker is going to be the recommended approach as I'll never be able to account for every bare metal install scenario. Closing for now, but its been added to the features list.

Composer is just a dependency manager for PHP (like NPM for node or PIP for Python).

Yes, and if you want to configure a full stack on the host with some configuration-management for each app/service, you need something like that.
I was also thinking about ansible, maybe there's some "recipe"...

@alexdelprete homestead is for local development only so I wouldn't recommend that and Composer is just a dependency manager for PHP (like NPM for node or PIP for Python).
I'll keep this on the radar @robled but Docker is going to be the recommended approach as I'll never be able to account for every bare metal install scenario. Closing for now, but its been added to the features list.

Indeed, it would be difficult to account for every last Linux distro to install this on.  To clarify what I'm suggesting, have a look at this README.md for gitlist.  They provide a Docker installation method, but also list the generic dependencie requirements and steps needed to install the application (e.g. PHP 8.1, Apache, etc..).
With this info, non-Docker users could write their own Ansible playbook to install the dependencies and configure the application, or even create distro packages themselves.

@alexjustesen Have you considered creating an installation based on lxc? I think that would make a nice addition to the docker container.
I can contribute in building such an installation based on Turnkey Linux (https://www.turnkeylinux.org). However I would need some input reg. which components/configurations/services etc. to pull from the docker container.

@siegero I haven't and really because I have no way to test it or knowledge of how to build it.


Updating FreeBSD/pkgs leaves me stuck in single user mode

I updated FreeBSD and pkgs (using FreeBSD-update and pkg update/upgrade), on my installed to disk system, and after doing so the system will only let me login through single user mode.  I know there is a new NomadBSD installer available.  Is there a way to recover from this using the new installer? Preferably without losing my user data.  I haven't been able to find any data on whether installing a new version installs in place or wipes the drive.

Sorry for the long response time. Being a mailman is insane these days.  No, no error messages before single user mode.  I can't tell if updating just messed up a configuration or something.  I've checked the configs but don't see anything out of the ordinary from what I can tell.

No problem. Usually, if the system goes into single-user mode without you telling it to do so, there is something wrong (e.g. corrupted filesystem that can't  be repaired in background). If you get a login: prompt and you can switch between consoles via Alt+Fn (n = 1, 2, ..., 9) you are in multi-user mode. In this case there probably just dependency/inconsistency problem with some packages related to Xorg that prevents the GUI from starting. This is easy to fix:
Login as root. Then:
# pkg unlock -ay
# pkg upgrade -af
# reboot

I did that.  Rebooted and attempted multiuser mode.  It dropped me to the shell and gave me this error:

[/etc/rc.subr: 2: Syntax error: redirection unexpected (expecting word)]

Haven't dealt with the rc.subr file before but I'm going through it to try to figure out what's wrong with it.
Line 2 is as follows:

[<<<<<<< current version]

That looks like you chose to merge your /etc/rc.subr with the new one when running freebsd-update, but you didn't complete it. You left the <<<<<<<<<< marker which introduces the content of the new version. The easiest way to fix that is to boot NomadBSD from a USB pen drive, mount the root partition of your NomadBSD installation, and copy /etc/rc.subr to your HDD installation:
Boot NomadBSD from a pen drive, then:
# mount  /dev/gpt/nbsdrootfs /mnt
# cp /etc/rc.subr /mnt/etc
# umount /mnt
# reboot

That seemed to work.  I ended up having to do it in the opposite direction (boot into single user laptop and copy it from pen drive to the running system then reboot.).  It seems as though upgrading removed xorg for some reason as it boots me to the command line.  Just going to reinstall that and open box and I should be back to normal.
Thank you for all the help.


Windows file path in systemId is fail

https://github.com/eclipse-ee4j/jaxb-ri/blob/bc65602aeade58b344d6ddbefa534b06fdacffe6/jaxb-ri/xjc/src/main/java/com/sun/tools/xjc/reader/internalizer/DOMForest.java#L150
systemId = file:/C:/Users/slavon/IdeaProjects/tacsonopypar/src/main/schema/final_5_2/www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd
systemId.substring(5) is "/C:/..."

file:///C:/... is valid on nix systems. Feel free to reopen with a sample which actually fails for some reason. Thanks.


4 Gang Wall Switch - _TZ3000_vp6clf9d / TS0044

https://fr.aliexpress.com/item/1005001639819248.html?spm=a2g0s.90423<IP_ADDRESS>aff6c37eWqTpV
"ids": {
    "modelId": "TS0044",
    "manufacturerName": "_TZ3000_vp6clf9d"
  },
  "endpoints": {
    "endpointDescriptors": [
      {
        "endpointId": 1,
        "applicationProfileId": 260,
        "applicationDeviceId": 0,
        "applicationDeviceVersion": 0,
        "_reserved1": 1,
        "inputClusters": [
          0,
          10,
          1,
          6
        ],
        "outputClusters": [
          25
        ]
      },
      {
        "endpointId": 2,
        "applicationProfileId": 260,
        "applicationDeviceId": 0,
        "applicationDeviceVersion": 0,
        "_reserved1": 1,
        "inputClusters": [
          1,
          6
        ],
        "outputClusters": []
      },
      {
        "endpointId": 3,
        "applicationProfileId": 260,
        "applicationDeviceId": 0,
        "applicationDeviceVersion": 0,
        "_reserved1": 1,
        "inputClusters": [
          1,
          6
        ],
        "outputClusters": []
      },
      {
        "endpointId": 4,
        "applicationProfileId": 260,
        "applicationDeviceId": 0,
        "applicationDeviceVersion": 0,
        "_reserved1": 1,
        "inputClusters": [
          1,
          6
        ],
        "outputClusters": []
      }
    ],
    "endpoints": {
      "1": {
        "clusters": {
          "basic": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "zclVersion",
                "value": 3
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "name": "appVersion",
                "value": 66
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 2,
                "name": "stackVersion",
                "value": 0
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 3,
                "name": "hwVersion",
                "value": 1
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 4,
                "name": "manufacturerName",
                "value": "_TZ3000_vp6clf9d"
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 5,
                "name": "modelId",
                "value": "TS0044"
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 6,
                "name": "dateCode",
                "value": ""
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 7,
                "name": "powerSource",
                "value": "battery"
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 65502
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65534,
                "name": "attributeReportingStatus",
                "value": "PENDING"
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65504
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65505
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65506
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65507
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "time": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 7
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "powerConfiguration": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 32,
                "name": "batteryVoltage",
                "value": 30
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 33,
                "name": "batteryPercentageRemaining",
                "value": 200
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "onOff": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "onOff",
                "value": false
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        },
        "bindings": {
          "ota": {
            "attributes": [],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        }
      },
      "2": {
        "clusters": {
          "powerConfiguration": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 32,
                "name": "batteryVoltage",
                "value": 30
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 33,
                "name": "batteryPercentageRemaining",
                "value": 200
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "onOff": {
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        },
        "bindings": {}
      },
      "3": {
        "clusters": {
          "powerConfiguration": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 32,
                "name": "batteryVoltage"
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 33,
                "name": "batteryPercentageRemaining"
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65533,
                "name": "clusterRevision"
              }
            ],
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "onOff": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "onOff",
                "value": false
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND"
          }
        },
        "bindings": {}
      },
      "4": {
        "clusters": {
          "powerConfiguration": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 32,
                "name": "batteryVoltage",
                "value": 30
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 33,
                "name": "batteryPercentageRemaining",
                "value": 200
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "onOff": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "onOff",
                "value": false
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        },
        "bindings": {}
      }
    }
  }

This includes 1 gang, 2 gang, 3 gang and 4 gang versions of the wall placed remotes.

Hi, any progress yet to include this in the library? It looks like a very cool switch.

Now supported.
Battery support currently not in place.