chore: updated .gitignore to ignore the certificates related files during development and testing

What type of PR is this?
/kind design
What this PR does / why we need it:
During development and testing with either apiserver or clustersynchro-manager modules, temporary certificates will be generated and should never be committed, this Pull Request introduces to ignore a set of extensions of certificates related files in .gitignore.
Which issue(s) this PR fixes
None.
Special notes for your reviewer
Does this PR introduce a user-facing change?
None

good fix, avoid developers uploading certificates of test


Nada/feq 2580/live chat link

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

8 of 10 (80.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 85.313%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/Modals/OrderDetailsComplainModal/OrderDetailsComplainModal.tsx
4
6
66.67%

Totals

Change from base Build<PHONE_NUMBER>2:
-0.01%

Covered Lines:
5745

Relevant Lines:
6258

💛  - Coveralls


MemberExtension::updateValidator() hook doesn’t work when editing via Groups

Affected Version
4.4, possibly earlier versions
Description
We provide a hook to customise Member_Validator in extensions: https://github.com/silverstripe/silverstripe-framework/blob/4.4.3/src/Security/Member.php#L764.
When editing a group, there’s a GridField of members which you can use to edit members within that group. In this view, the above extension hook is never called because it’s set as a validator like so:
https://github.com/silverstripe/silverstripe-framework/blob/4.4.3/src/Security/Group.php#L167-L168

Simplest solution seems to be to move the logic for adding a validator into the setItemEditFormCallback() closure:
->setItemEditFormCallback(function ($form) use ($group) {
    $record = $form->getRecord();
    $form->setValidator($record->getValidator());
    // ... etc

Closed by #9255


Fix duration repetition and tests

A few fixes here:

1st commit: some installations don't support timestamps with more that 32 bits (so the max timestamp allowed is Tue, 19 Jan 2038 03:14:07 UTC), So, let's limit the "future" year in those systems while testing
2nd commit: on the systems with timestamps limited to 32bits, we sometimes have double timestamps instead of int timestamps, so we have to compare timestamps with ==/!= instead of ===/!== (because with the strict operators comparing double with int always fails)
3rd commit: the date function returns a string, so we need to use ==/!= instead of ===/!==when comparing its result with integers
4th commit: if the current timezone is not UTC we have wrong results from AbstractRepetition::getActiveRange() because of time changes caused by summer time/standard time differences. So, let's calculate the date/time differences in UTC "coordinates"

thanks!


Utils to typescript

Description of change
This is a draft PR for converting utils package to Typescript. Posting it early to make it visible that someone is already working on this package.
List of subsections in the package and their status:

[x] src/browser/*
[x] src/color/*
[x] src/data/*
[x] src/logging/*
[x] src/media/*
[x] src/network/*
[x] src/*
[x] src/index.js

Pre-Merge Checklist

[x] Lint process passed (npm run lint)
[ ] Tests passed (npm run test)

Codecov Report

Merging #6262 into dev will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev    #6262      +/-   ##
==========================================
+ Coverage   76.73%   76.74%   +0.01%
==========================================
  Files         202      200       -2
  Lines       10238    10210      -28
==========================================
- Hits         7856     7836      -20
+ Misses       2382     2374       -8

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 80032dd...3dfa408. Read the comment docs.

OK, I'm watching it!

I'm stuck on two errors that happen when I convert index.js to index.ts:
packages/utils/src/index.ts:60:41 - error TS2307: Cannot find module 'eventemitter3'.

60 export { default as EventEmitter } from 'eventemitter3';
                                           ~~~~~~~~~~~~~~~

packages/utils/src/index.ts:85:10 - error TS2305: Module '"url"' has no exported member 'default'.

85 export { default as url } from 'url';
            ~~~~~~~

All the other commits were pushed, if you change the file extension to .ts you'll reproduce the errors (didn't want to commit broken code). My thoughts on the two issues:
Event emitter
I've twiddled a bit with it but have no idea - it's in node_modules, it's in package.json but for some reason TS just won't see it. Maybe it's some property of lerna that I do not understand. Adding @types/eventemitter3 didn't help either.
Url
Replacing it with:
import * as url from 'url';
export { url };

Works, but since TS won't build because of eventemitter I don't know if it truly works as intended.

Setting moduleResolution to node fixes this issue (got this suggestion here) but then, naturally, other things fail. And when I change some things that they don't fail... it fails even more.
I think I don't know what to do here 🤔. Changing that one flag will result in a cascade of problems. Maybe there's a smart way to make it work without changing the flag, but I am out of ideas.

I don't know if Bound is a good name here. How do we name interfaces with top, left, bottom, right? https://docs.oracle.com/javase/7/docs/api/java/awt/Insets.html - Insets!

@ivanpopelyshev Considering that interface is only used internally by that function I'd say it's fine to leave it there - but I'll rename it to Inset, it's a way better nam!

Alright, I undrafted before fully confirming everything works. Story time:

The problem I had with the module resolution was fixed by enabling esModuleInterop in tsconfig. I also got another suggestion in slack, to change the code to:
import EventEmitter = require('eventemitter3');
export { EventEmitter};

But it failed complaining of:
[!] Error: Export 'EventEmitter' is not defined (Note that you need plugins to import files that are not JavaScript)
packages\utils\src\index.ts (52:9)
50:
51: import EventEmitter = require('eventemitter3');
52: export { EventEmitter }

Okay, so that made the rollup pass and I pushed the changes and toggled draft status and then I realized tsc -p tsconfig.docs.json fails:
C:\Projects\Personal\JS\pixi.js>tsc -p tsconfig.docs.json
packages/utils/src/index.ts:51:26 - error TS2307: Cannot find module 'eventemitter3'.

51 import EventEmitter from 'eventemitter3';
                            ~~~~~~~~~~~~~~~

When I added esModuleInterop to tsconfig.docs.json it changed nothing. When I changed target to es5 it started failing a lot with MiniSignals so it's likely not the way to go.

At the moment I am again not sure what to do. Would be awesome if there was a simple fix but I am getting the impression that maybe eventemitter3 can't be used the way its definition file is structured. But that's a pessimistic I-should-have-been-in-the-bed-for-an-hour thinking :). Plz help.

I think we need our own definitions for eventemitter3, maybe just clone it completely.
@cursedcoder, we summon you!

🥂
Thanks to everyone in the slack who helped me deal with the weirdness of module importing when CommonJS is used.
I won't repeat the details of the issue, since it's all in a comment in utils/index.ts. If this is merged the way it is I suppose it'll be a good idea to create an issue to ponder how to best solve it long term. @cursedcoder suggested custom typings if nothing better can be found and I'd be tempted to agree, though this has proven my understanding of modules and importing and requires is severely lacking.

I am now ready for the code reviews :).

Do we really have to declare classes in global.d.ts ? If interface works there, it should be better.

Do we really have to declare classes in global.d.ts ? I usually use interfaces when I show parts of class.

I think it's the best place at the moment. Once core is converted to TS that code will be redundant, but until then we need the definitions somewhere and it's better to have them in a globally accessible place rather than having copies spread around.
And from the way I understand the #6186 global.d.ts is (possibly) only used temporary.

I mean, you can use interface instead of class there :)

@ivanpopelyshev Well.... You see... Hm... I mean my logic was "Those are originally classes so I should declare them as classes" but I guess it doesn't really matter. I am not sure if changing that to interface provides any benefit, but since I don't have any argument against it I am forced to concur and make the change :).

@bigtimebuddy Done!


User/password authentication with SQLite : req.user not stored

Hello
It seems to be an already known problem but i can't find how to solve it.
I used generator-angular-fullstack that install all for passport with MongoDB. I don't want to use that on my Raspberry Pi so switched back all to SQLite. Here is the definition of my local strategy :
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var sqlite3 = require('sqlite3');
var bcrypt = require('bcrypt');

exports.setup = function (config) {
  var db = new sqlite3.Database(config.sqlite.path);
  console.log('* passport.js - setup');
  passport.use(new LocalStrategy(
    function(username, password, done) {
      db.get('SELECT * FROM users WHERE username = ?', username, function(err, row) {
        if (!row) {
          return done(null, false, { message: 'Wrong credentials.' });
        }
        if (bcrypt.compareSync(password, row.password)) {
          return done(null, row);
        } else {
          return done(null, false, { message: 'Wrong credentials..' });
        }
      });
    }
  ));

  passport.serializeUser(function(user, done) {
    console.log('passport.serializeUser')
    console.log(user)
    return done(null, user.id);
  });

  passport.deserializeUser(function(id, done) {
    console.log('passport.deserializeUser')
    console.log(id)
    db.get('SELECT '+config.sqlite.columns+' FROM users WHERE id = ?', id, function(err, row) {
      if (!row) return done(null, false);
      return done(null, row);
    });
  });
};

It works perfect and allow me to log in. My issue is that req.user is empty and the function isAuthenticated does not work :
/**
 * Attaches the user object to the request if authenticated
 * Otherwise returns 403
 */
function isAuthenticated() {
  console.log('* auth.service.js - isAuthenticated')
  return compose()
    // Validate jwt
    .use(function(req, res, next) {
      // allow access_token to be passed through query parameter as well
      if(req.query && req.query.hasOwnProperty('access_token')) {
        req.headers.authorization = 'Bearer ' + req.query.access_token;
      }
      validateJwt(req, res, next);
    })
    // Attach user to request
    .use(function(req, res, next) {
      console.log('** auth.service.js - isAuthenticated')
      console.log(req.user)
      console.log(req.params)
      // db.get('SELECT '+config.sqlite.columns+' FROM users WHERE username = ?', req.user.username, function(err, row) {
      //   if (err) return next(err);
      //   if (!row) return res.json(401);
      //   req.user = row;
      //   next;
      // });

      req.user = {username: 'admin', role: 'admin'};
      next();
    });
}

I forced the req.user value to make the system work (and it works).
Additional information : the session cookie is set
Any help is welcome !
Thank you

Problem solved by using Express sessions and Sequelize.
I guess that the second is not fully related to my issue but helped me to use a model that was missing before !


D3 challenges "Identifier 'dataset' has already been declared"

Challenges 4, 5, etc., not logged in.
User Agent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"
Steps to reproduce:

Pass challenge 4, Work with Data in D3.
My passing code was:

<body>
  <script>
    const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];

    // Add your code below this line

    d3.select('body').selectAll('h2')
      .data(dataset)
      .enter()
      .append('h2')
      .text('New Title');

    // Add your code above this line
  </script>
</body>

Do not go on to next challenge.
Resubmit and get this error:

// running test
"Identifier 'dataset' has already been declared"
"Identifier 'dataset' has already been declared"
"Identifier 'dataset' has already been declared"
"Identifier 'dataset' has already been declared"
// finished test

You can also get this error by:

Completing and passing challenge 4.
Moving on to challenge 5.
Submitting challenge 5, even with correct code.
Get the error, and your code will not show on phone.
Refresh page, it will pass.

cc/ @freeCodeCamp/moderators
Plz help me out if I did not make this issue right. ;)

I've never done any of this before, I'm trying to get an idea of the basic
stuff
On 22 Mar 2017 02:21, "Isaac Abrahamson"<EMAIL_ADDRESS>wrote:

cc/ @freeCodeCamp/moderators
https://github.com/orgs/freeCodeCamp/teams/moderators
Plz help me out if I did not make this issue right. ;)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/14042#issuecomment-288260236,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZWm5R8zov-Yy7BeRB4xQfb4HMaNmsZsks5roGmngaJpZM4Mkkrp
.

@IsaacAbrahamson this might be a duplicate of https://github.com/freeCodeCamp/freeCodeCamp/issues/13936, which links to a deeper issue of https://github.com/freeCodeCamp/freeCodeCamp/issues/12762.

@erictleung, looks like you're right! Thanks for helping out.


[Bugfix/LLC/Casper] Fix invalid Ed25519 recipients error

📝 Description
Fixes invalid Ed25519 recipient error when transfering CSPR tokens. Includes minor refactoring related to function name changes and removing redundant logic. Please have a look at the screenshot to better understand this bugfix.
Error with Ed25519 address:
To reproduce please try sending some CSPR to the following ed25519 pubkey 01bf489970ee9ad639854b9a78ed19d08b5f8d8f2185099b44c0fc5f6f467b14b4

This fix should enable users to be able to send funds to all ed25519 casper pubkey/addresses.

❓ Context

JIRA or GitHub link: https://ledgerhq.atlassian.net/browse/LIVE-11049

✅ Checklist
Pull Requests must pass the CI and be code reviewed. Set as Draft if the PR is not ready.

[x] npx changeset was attached.
[ ] Covered by automatic tests.
[ ] Impact of the changes:

🧐 Checklist for the PR Reviewers

[ ] The code aligns with the requirements described in the linked JIRA or GitHub issue.
[ ] The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
[ ] There are no undocumented trade-offs, technical debt, or maintainability issues.
[ ] The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
[ ] Any new dependencies have been justified and documented.
[ ] Performance considerations have been taken into account. (changes have been profiled or benchmarked if necessary)

Small request if possible: adding a new test case to the integration tests.

Small request if possible: adding a new test case to the integration tests.

Done @haammar-ledger! here :)


Does Dapr support "broadcast" as described in the docs?

The Dapr API reference docs refer to the ability to publish messages to a list of recipients (as opposed to all subscribers of a topic).  However, I seem to get a 404 Not Found error when following the curl example shown.  The described URL syntax also doesn't match the curl example, but neither form works as described.
Does this "broadcast" support actually exist (yet)?

It used to exist, we then pulled it out with the intent of making it great again.
Currently this is not implemented and should be removed from docs.

Good to know, and I'll keep it on the radar then.

Dapr doesn't support broadcast, we have updated the docs.


Change the project name (MongoDb Atlas already exists)

The name will change before v1.0.0 launch. Any suggestions are welcome.


Hit Loading and additional cleanup

switches to using the best working hit loading method. Removes all other hit loading methods to avoid confusion.
changes verbosity levels to something more useful. 0: no printout, 1: timing printout, 2: object multiplicity printout
removes "doAnalysis" from makefile and bin.
validaition results are here: https://www.classe.cornell.edu/~mgr85/SegmentLinking_keep/PR32/efficiencies/

timing results are here:


expr: implement vnode function

The function can only be generated in frontend instead of in user input. We can use this function in two-phase topN.

How to pass total number of vnodes of this fragements?
It seems more elegant to pass it within an expression context, which doesn't exist now.

By the way, there is a ROW(...) function that accepts variable number of arguments, so this is not a problem now? Please take a look at it. cc. @st1page


MINOR: react to a null task with a rebalance

I found a system test failure in which task.isClosed() threw an NPE.
This change simply catches that condition and initiates a rebalance to try and recover.
An alternative approach would be to track down the root cause if we really don't expect the task to be missing.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

/cc @mjsax @bbejeck

The failing test was just a MirrorMaker regex test.

Taking another look at it this morning, it seems like we're attempting to process some ConsumerRecords for partitions that we don't have assigned. Is it possible? Like, if we do a rebalance but the consumer already had some records buffered?
If so, maybe the right thing to do is actually to just drop the records.

After further consideration, this NPE is probably revealing a deeper problem that we should find and fix. (similar to https://issues.apache.org/jira/browse/KAFKA-5226 )
It's actually possible that https://issues.apache.org/jira/browse/KAFKA-6534 is a solution. I will investigate further.


CMake error

CMake 3.19.1
Call:
cmake -G "Visual Studio 15" -A x64 -D CMAKE_INSTALL_PREFIX:PATH=D:\Coin3D\install -D COIN_BUILD_DOCUMENTATION:BOOL=ON -D DOXYGEN_DOT_EXECUTABLE:FILEPATH=D:\dev\Tools\graphviz-2.38\bin\dot.exe -D DOXYGEN_EXECUTABLE:FILEPATH=D:\dev\Tools\doxygen-1.8.20\doxygen.exe -D BOOST_ROOT:PATH=D:\Coin3D\deps\boost\install -D Boost_INCLUDE_DIR:PATH=D:\Coin3D\deps\boost\src -D COIN_BUILD_TESTS:BOOL=OFF -D COIN_THREADSAFE:BOOL=ON D:\Coin3D\src

Result:
-- Configuring done
CMake Error: install(EXPORT "Coin" ...) includes target "Coin" more than once in the export set.
-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.

Fix:
Remove last install instruction
https://github.com/coin3d/coin/blob/1baee633a8cf8ea16b8b9751d6ef88f657f7a609/src/CMakeLists.txt#L428

Thanks for making us aware of the issue. The vcpkg maintainer notified us already about build issues in simage here and we think it's a regression in the current CMake version. See also our question in the CMake forum regarding this issue. It should be fixed in CMake 3.19.2

I am a bit astonished that the bug is known and is waiting for a new CMake version instead of putting a quick fix into the script.

Unfortunately your quick fix makes the project build succeed but breaks the provided CMake package config files. Downstream projects using those (by means of find_package(Coin CONFIG) or find_package(Coin NO_MODULE)) may not be able to link properly to Coin anymore. So I would suggest using a CMake version 3.18.x or older and wait for the proper fix in upcoming 3.19.2

I just committed the proper fix for this issue according to @rickertm 's fix for dtecta.

Thanks a lot! This fix works for me too.


'== None' comparisons

The code uses foo == None in many places. Though this is probably fine, there are a few issues with using this pattern, explained in https://jaredgrubb.blogspot.com/2009/04/python-is-none-vs-none.html.

We have replaced all the instances of foo == None with foo is None. Thank you for pointing this out.


⚠ Bofrost.de has degraded performance

In 142c00b, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 935 ms

Resolved: Bofrost.de performance has improved in d311a99 after 6 minutes.


Conflicting or unclear guidance regarding Online Landing Zone connectivity in the reference deployment

Describe the bug
The guidance about Online Landing Zones and their connectivity in the reference deployment is conflicting (or just unclear). The Contoso reference deployment mentions the following about an Online Landing Zone:

Landing Zone Management Group for online applications that will be internet-facing, which doesn't require hybrid connectivity. This is where you will create your Subscriptions that will host your online workloads

Online Landing Zones include all Virtual Networks that have internet-facing applications via an Azure Application Gateway (v2).

Adventure Works mentions something similiar:

Landing Zone Management Group for online applications that will be internet-facing, where a virtual network is optional and hybrid connectivity is not required.

The VNet deployment policy is however applied to the Contoso psuedo-root scope, which enables hybrid (and inter-workload) connectivity for all archetypes by default.
Cloud Adoption Framework does not really mention any preference or recommendation regarding this. Should Online Landing Zones be peered by default or not? Or is the VNet deployment policy just assigned to the wrong scope by mistake?
Screenshots

Thanks for surfacing this. In general, I believe there's an issue with the assumed assignment scope of what's outlined in the documentation for Contoso vs what's is actually done when deploying the reference implementation itself (we don't enforce virtual network connectivity on the online management group). @victorar - can you chime in on the general statement/recommendation for virtual networks in online management group?

Thank you, that seem to be the case. I went through the Contoso reference templates and the VNet deployment definition was only created, not assigned. In the AzOps reference, it seems to be assigned to the Landing Zone management group, but the IPAM only contains a network for one of the subscriptions within corp. If @victorar has further clarification it would be very appreciated.

Hi @larsakerlund, thanks for reaching out and bringing this up,
The description in the docs, which you've included above, is accurate.  Online Landing Zones are designed for internet-facing applications, where no hybrid connectivity is required, and a VNet might not even be required (for example, an application built entirely with PaaS services). Please note that some online workloads might need a VNet, for example, if customer use Azure PaaS services but access them via Private Link, if application is built with IaaS, or for example if app is exposed to the internet via Azure App GW.
Thanks again for reaching out, and please let us know if further clarification is required.

Hi @larsakerlund, thanks for reaching out and bringing this up,
The description in the docs, which you've included above, is accurate.  Online Landing Zones are designed for internet-facing applications, where no hybrid connectivity is required, and a VNet might not even be required (for example, an application built entirely with PaaS services). Please note that some online workloads might need a VNet, for example, if customer use Azure PaaS services but access them via Private Link, if application is built with IaaS, or for example if app is exposed to the internet via Azure App GW.
Thanks again for reaching out, and please let us know if further clarification is required.


Add name capability support to /mobile API

Should be able to provide test case name when running mobile emulation.

Fixed.


Update request: komikku 1.23.0 → 1.26.0

Package name: komikku
Latest released version: 1.26.0

Current version on the unstable channel: 1.23.0
Current version on the stable/release channel: 1.21.1

[x] Checked the nixpkgs pull requests

Notify maintainers
@chuangzhu @infinitivewitch

Note for maintainers: Please tag this issue in your PR.

>= 1.25.1 depends on gtk 4.12 and libadwaita 1.4, which is currently blocked by #247766. It does seem possible to be updated to 1.25.0 though

Oh it uses libadwaita breakpoints since 1.25.0, so we are only able to update it to 1.24.2 for now

#270683


Fix possible IndexOutOfBoundErrors in ChessBoard Class

This is kind of handled by the isPosOnBoard method, we can use that to validate the piece before getting a piece with it.


Cannot upgrade pass v0.5.24 with Wyze Lock error

Describe The Bug:
I run 3x Wyze Locks and the plugin works fine on v0.5.24
Running an update above v0.5.24+, the plugin just loops
To Reproduce:
running Wyze plugin above v0.5.24 with Wyze lock
Also tried setting it on "Exclude", error still persists
Expected behavior:
Plugin should run fine
Logs:
[Wyze] Request config: {"method":"POST","url":"app/v2/home_page/get_object_list","data":{"access_token":"xxxx","app_name":"com.hualai.WyzeCam","app_ver":"wyze_developer_api","app_version":"wyze_developer_api","phone_id":"wyze_developer_api","phone_system_type":"1","sc":"wyze_developer_api","sv":"wyze_developer_api","ts":1689615832169},"baseURL":"https://api.wyzecam.com"}
[7/17/2023, 1:43:52 PM] [Wyze] API response: [object Object]
/homebridge/node_modules/homebridge-wyze-smart-home/src/accessories/WyzeAccessory.js:388
this.homeKitAccessory.context.device_params.onoff_line = lockProperties[prop]
^
TypeError: Cannot set properties of undefined (setting 'onoff_line')
at WyzeLock.lockGetProperty (/homebridge/node_modules/homebridge-wyze-smart-home/src/accessories/WyzeAccessory.js:388:66)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
[Wyze] Child bridge process ended
[Wyze] Process Ended. Code: 1, Signal: null
Plugin Config:
{
"name": "Wyze",
"username": "xxxxx",
"password": "xxxxx",
"mfaCode": "xxxxx",
"keyId": "xxxxx",
"apiKey": "xxxxx",
"refreshInterval": 60000,
"entryExitDelay": 30,
"showAdvancedOptions": true,
"logging": "debug",
"excludeMacAddress": false,
"excludedeviceType": true,
"filterDeviceTypeList": [
"Light",
"MeshLight",
"LightStrip",
"ContactSensor",
"MotionSensor",
"Lock",
"TemperatureHumidity",
"LeakSensor",
"Camera",
"Common",
"S1Gateway"
],
"_bridge": {
"username": "0E:E7:C7:CA:3B:43",
"port": 56933
},
"platform": "WyzeSmartHome"
}
Screenshots:

Environment:

Plugin Version:  v0.5.25+
Homebridge Version: v1.6.1
Node.js Version: v18.16.1
NPM Version:
Operating System: docker - Ubuntu Jammy Jellyfish (22.04.2 LTS)

Do you have any other logs to share?

Do you have any other logs to share?

This just loops on any version above x0.5.24
[7/18/2023, 1:33:45 PM] [Wyze] Restarting Process...
[7/18/2023, 1:33:45 PM] [Wyze] Launched child bridge with PID 55434
[7/18/2023, 1:33:45 PM] Registering platform 'homebridge-wyze-smart-home.WyzeSmartHome'
[7/18/2023, 1:33:45 PM] [Wyze] Loaded homebridge-wyze-smart-home v0.5.34 child bridge successfully
[7/18/2023, 1:33:45 PM] Loaded 25 cached accessories from cachedAccessories.0EE7C7CA3B43.
[7/18/2023, 1:33:45 PM] [Wyze] [WyzePlug] Fetching status of "TBD 05"
[7/18/2023, 1:33:45 PM] [Wyze] [WyzePlug] Retrieving previous service for "TBD 05"
[7/18/2023, 1:33:45 PM] [Wyze] [WyzePlug] Fetching status of "TBD 04"
[7/18/2023, 1:33:45 PM] [Wyze] [WyzePlug] Retrieving previous service for "TBD 04"
[7/18/2023, 1:33:45 PM] [Wyze] Refreshing devices...
[7/18/2023, 1:33:45 PM] Homebridge v1.6.1 (HAP v0.11.1) (Wyze) is running on port 56933.
[7/18/2023, 1:33:45 PM] [Wyze] Request config: {"method":"POST","url":"app/v2/home_page/get_object_list","data":{"access_token":"xxxx","app_name":"com.hualai.WyzeCam","app_ver":"wyze_developer_api","app_version":"wyze_developer_api","phone_id":"wyze_developer_api","phone_system_type":"1","sc":"wyze_developer_api","sv":"wyze_developer_api","ts":1689701625769},"baseURL":"https://api.wyzecam.com"}
[7/18/2023, 1:33:46 PM] [Wyze] API response: [object Object]
/homebridge/node_modules/homebridge-wyze-smart-home/src/accessories/WyzeAccessory.js:364
this.homeKitAccessory.context.device_params.onoff_line = lockProperties[prop]
^
TypeError: Cannot set properties of undefined (setting 'onoff_line')
at WyzeLock.lockGetProperty (/homebridge/node_modules/homebridge-wyze-smart-home/src/accessories/WyzeAccessory.js:364:66)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
[7/18/2023, 1:33:46 PM] [Wyze] Child bridge process ended
[7/18/2023, 1:33:46 PM] [Wyze] Process Ended. Code: 1, Signal: null

Which Lock do you have?

The Wyze Lock + Gateway.
https://www.wyze.com/products/wyze-lock
I guess the "1st gen"

Also, you might try clearing your Cache - A lot has changed since that version. When you exclude the lock you still get this error?

Uninstalling, reinstalling and reconfiguring the plugin works. Error seems to be tied to the existing bridge.
Just wish I didn't have to readd and reconfigure 21 Wyze plugs back into homekit and all their automations :(


Feature/restore cursor position

Thanks! does it behave well if newlines are inserted by the formatter? (i guess that might be tough with only treesitter)

I'm not sure but I'll open an issue if I find any troubles.


Add api to generate messages and import, without hook

The trick here is to also generate dependencies properly.
In the end we need to have two ways to use this package :

explicit rosimport.import_messages() that work similarly to libimport.import_module and does the same thing as the import python keyword.
explicit activation of importer hooks, and then they work without user noticing. (already implemented)

The aim is to advise pure python users to use the import hooks, but advise the ROS users (who don't know or want to get into python details) to use the import_messages API.
Note however that ROS users are expected to use catkin to generate messages anyway...
The only actual usecase here seems to be for hybrid packages ( like pyros-msgs and pyros-schemas ) that need to be used from both : the explicit import_messages should be preferred.


New Release?

It is difficult to track releases.
Was there a new release recently?
The documentation does not match the sample. Which one is right?

Oof, sorry this fell through the cracks. Closing since #14


Provide full configuration for DRIVE vessel segmentation dataset

Hi, first of all, thanks for your work!
However, when trying to reproduce the result from DRIVE dataset which is about vessel segmentation, I could not achieve the results as you did in Table 2 of your paper. Could you kindly provide me more detailedly about how to produce the DSC of around 66 (my best results are only around 60).

Hi @ngctnnnn ,
Thanks for your interest.

How do you run the experiments? I just tested the model and re-computed the metrics and confirmed that the reported DSC is right. The segmentation results and trained model have been available on the readme page.
We didn't have specific configurations for DRIVE dataset. All the trained datasets are merged together for training and you can find the training data on the readme page as well.

please correct me if i'm wrong, when I use this code on test 20 images for 20 batches (1 image per batch), my output dice score is 3.5 instead of less than 1. Does this problem occur to you also or just me. Thanks
sam_model = sam_model.to("cuda:3")
        mask_segmentation, iou_predictions = sam_model.mask_decoder(
            image_embeddings=image_embedding.to("cuda:3"), # (B, 256, 64, 64)
            image_pe=sam_model.prompt_encoder.get_dense_pe(), # (1, 256, 64, 64)
            sparse_prompt_embeddings=sparse_embeddings, # (B, 2, 256)
            dense_prompt_embeddings=dense_embeddings, # (B, 256, 64, 64)
            multimask_output=False,
        )
        medsam_seg_prob = torch.sigmoid(mask_segmentation)
        # convert soft mask to hard mask
        medsam_seg_prob = medsam_seg_prob.cpu().numpy().squeeze()
        medsam_seg = (medsam_seg_prob > 0.5).astype(np.uint8)
        all_masks_segmentation.append(medsam_seg)
        all_gt2d.append(gt2D)

    all_masks_segmentation = np.stack(all_masks_segmentation, axis = 0)
    all_gt2d = np.stack(all_gt2d, axis =0)
    dice_score = compute_dice_coefficient(all_gt2d>0, all_masks_segmentation>0)

Hi @ngctnnnn ,
The testing images and code are also available on the read me page. I didn't have this issue.


Add pubspec.lock to .gitignore

Just a small change: packages should not commit pubspec.lock: https://dart.dev/guides/libraries/private-files#pubspeclock

Thanks Nils!


chore: Add object key to Typed Controller in logger

Fixes #
Description

Adds object key to the typed controller in logger

How was this change tested?
make apply
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

8 of 8 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.07%) to 75.645%

Files with Coverage Reduction
New Missed Lines
%

pkg/operator/controller/typed.go
1
84.51%

Totals

Change from base Build<PHONE_NUMBER>:
0.07%

Covered Lines:
5308

Relevant Lines:
7017

💛  - Coveralls


Watch folder support

Is your feature request related to a problem? Please describe.
In previous releases of Beaker browser, it was possible to create a site from a local folder on my computer and for the browser to watch the folder for changes. It would be really nice if this feature was reintroduced so that when I build and export my local site (I am using Next.js) that the site updates automatically.
Describe the solution you'd like
Reintroduction of the watch folder for changes functionality.
Describe alternatives you've considered
I've considered recreating the site each time but that seems like a lot of manual effort and will cause the URL to change.
Additional context
Perhaps I am misunderstanding how the protocol is supposed to function and I should instead rely on a new Beaker API.

@azcn2503 I think this is a reasonable request. I'm currently leaning toward building a CLI toolset that could handle this.

I'd still love to see this to be able to use Beaker as a replacement for a dev server in development workflows. If so, this would make it my primary development browser - since it saves having to run a local dev server.
Standalone tooling sounds like a great first step, but having this exposed through a UI directly in the browser with no console necessary would allow me to develop with JUST vscode and an editor, without maintaining a running CLI process as one has to for a dev server currently. Managing UI state around sync being off / on / out of sync sounds hard but doable to me... perhaps it can be considered as two separate features - CLI then an optional UI for it in the browser?

@guybedford yeah noted, I'm giving that serious consideration

Assigning to a milestone so I don't lose track of this but it probably won't ship with prerelease.3.

BTW I'm going to go ahead and get the folder-watching tool done in Beaker (no CLI). Stay tuned.

Okay this is mostly done. The only thing left to do is an auto-sync mode.

We're in business!

Thanks Paul, I have just pulled and built the latest source. This is indeed working! Great implementation.

@azcn2503 Appreciate it! I'm sure we'll have some rough edges to smooth over but this should be a good start


Master

This pull request is many hundreds of commits.  I can't tell what, if anything, is being changed here.  Please re-submit as a change on top of the most recent merged commits if you would like to propose a change.


broken link in tutorial

In the tutorial, the link on "circuit" in this sentence is broken:
To build the above variational quantum algorithm using Cirq, one begins by building the appropriate circuit.
From Craig:
It's because we are using relative links, but once it's in read the docs it's relative to that instead of GitHub.
Tell Dave we should not update the links, but instead update our tooling to translate the links. That goes for both read the docs and the package generation.

I think this is already fixed. The source says one begins by building the appropriate [circuit](circuits.md). This will link to the appropriate .md file. @dabacon

There are probably many many relative links, throughout the docs, with this issue.

#856 just "fixes" if you look at gitub.  We still need to update the tool for readthedocs links to work.


Add cmake helper function to simplify code generation

Add a cmake function that will take one or more flatbuffer definition files and an output directory. The function will then generate the C files in that directory.
This prevents code duplication in cmake files.
Pull request will follow.

OK, please be careful with dependencies for Ninja because CMake is somewhat broken in that respect.


Updating README to match gcloud-node.

TO do this, moving Semantic Versioning section to CONTRIBUTING document and removing the majority of the Python Versions section. The remaining parts were moved up to the Quick Start section.
Fixes #591.

See the rendered updates:
https://github.com/dhermes/gcloud-python/blob/update-readme/CONTRIBUTING.rst
https://github.com/dhermes/gcloud-python/blob/update-readme/README.rst

I should also point out that one of the links added is dead (https://googlecloudplatform.github.io/gcloud-python/stable/resource-manager-api.html) since Resource Manager hasn't made it into a release yet.

LGTM

As with the other docs PRs, I'll let @jgeewax weigh in (and will merge after 24H if not hearing anything).


Twiggy error not being displayed in log file

Run the following (incorrect) parameter file with MacroecoDesktop. The terminal is catching the error, but it is not being displayed in the log file
[SAD ANBO Row > 2]
analysis = sad
metadata = ANBO.txt

cols = spp_col:spp;count_col.counts
subset = row>=2
splits = row:2; column:2
log_y = True

Added a partial fix 1874def. A simple verification function checks the parameter file and logs where the parameter string might be mis-formatted.  twiggy is still throwing an internal error though, so it looks like the analysis stalls.

Closed, with quite a bit of work, in a7f518172375312c3f62cdeede76dc5ce9d2481a. I ended up removing the twiggy dependency all together (takes away one more possible problem in installation, see #92), and using the built in logging module instead. In doing so, this problem was fixed.


Add Packit CI.

This PR fixes https://github.com/simd-everywhere/simde/issues/1036.
Why Packit CI?
In my investigation, Packit CI is the best to test SIMDe in Fedora rawhide cases.
Pros:

Test with Fedora project's native CPU environments, x86_64, i686, aarch64, ppc64le and s390x.
No limits or very long time limits for running time. I checked at least possible to run a job for 1 hour 57 minutes.
The internally used infra (Fedora COPR) is also used in Fedora project. We can expect a level of stability and longevity.

Cons:

In my impression, very early stage of the product. However, I see even popular open source projects such as Podman using it. It can be polished. The CI sometimes doesn't have features that other CI have. But we can open the issue tickets and report the issues on their issues page https://github.com/packit/packit/issues.
The CI accesses the infra via RPM spec file. I tried to minimize the content of the RPM spec file for an easier onboarding experience.

README document
I created the README document .packit/README.md.
CI results for this PR
Here is the CI result for this PR running 2 tests ("ok gcc without flags" and "ok gcc with -O2 flag" tests). You can click the "builder-live.log.gz" link to see the results of the tests. I executed it on my forked repository.
Why I commented out the i386 (i686) case.
Here is the CI logs page that I ran for all the CPU cases with all the tests (total 6 tests) with the following customized values.
.packit.yml
    targets:
      - fedora-rawhide-x86_64
      - fedora-rawhide-i386
      - fedora-rawhide-aarch64
      - fedora-rawhide-ppc64le
      - fedora-rawhide-s390x

.packit/ci.sh
SKIP_GCC=
SKIP_GCC_O2=
SKIP_GCC_RPM=
SKIP_CLANG=
SKIP_CLANG_O2=
SKIP_CLANG_RPM=

Then the results are below. The i386 case takes much longer time than other CPU cases. It's almost double.

x86_64: 61 minutes + alpha
i386 (machine CPU: i686): more than 117 minutes (1 hour 57 minutes).
aarch64: 39 minutes (fastest)
ppc64le: 42 minutes
s390x: 50 minutes

Why I only run the 2 tests (GCC default case and GCC + O2 flag case)
According to CI results with 6 tests (all the tests) in the CI script again, below are the result of the tests.
The "gcc without flags", "gcc with -O2 flag" and "gcc with RPM build flags" tests are ok in the CPU cases except the i686 (i386) case. And considering the current other CI's running time, I assumed that we should keep the total running time less than 20 minutes. So, maybe the number of the maximum running tests is 2.
So, I picked up the "ok gcc without flags" and "ok gcc with -O2 flag". In the 2 picked tests, we can run the CI without using enabling the IGNORE_EXIT_STATUS=true option. In this option, the CI is always successful even if the tests fail. It's beneficial when we don't use the option.
x86_64
== Results ==
Exit status: 1
ok gcc without flags
ok gcc with -O2 flag
ok gcc with RPM build flags
ok clang without flags
not ok clang with -O2 flag
not ok clang with RPM build flags

i386 (machine cpu: i686)
== Results ==
Exit status: 1
not ok gcc without flags
ok gcc with -O2 flag
not ok gcc with RPM build flags
not ok clang without flags
not ok clang with -O2 flag
not ok clang with RPM build flags

aarch64
== Results ==
Exit status: 1
ok gcc without flags
ok gcc with -O2 flag
ok gcc with RPM build flags
ok clang without flags
not ok clang with -O2 flag
not ok clang with RPM build flags

ppc64le
== Results ==
Exit status: 1
ok gcc without flags
ok gcc with -O2 flag
ok gcc with RPM build flags
ok clang without flags
not ok clang with -O2 flag
not ok clang with RPM build flags

s390x
== Results ==
Exit status: 1
ok gcc without flags
ok gcc with -O2 flag
ok gcc with RPM build flags
not ok clang without flags
not ok clang with -O2 flag
not ok clang with RPM build flags

The customized values to run the 2 tests above are below.
SKIP_GCC=
SKIP_GCC_O2=
SKIP_GCC_RPM=true
SKIP_CLANG=true
SKIP_CLANG_O2=true
SKIP_CLANG_RPM=true

What do you think?
What do you think? Feedback welcome!

@junaruga Thank you for this!
Does Packit offer the ability to use ccache to speed up builds? On some CI services there are caching features that persist between builds; when they are available I try to install & use ccache to save energy.

Does Packit offer the ability to use ccache to speed up builds? On some CI services there are caching features that persist between builds; when they are available I try to install & use ccache to save energy.

That's a good point! Right now I am not sure about the ccache or any other cache features in the CI.

For the ccache, if we add the following line in the simde.spec file, we can use ccache command in the CI cases. Can see use the cache in the situation to save the running time?
BuildRequires: ccache

I saw the ccache document. But I don't understand it.

For the ccache, if we add the following line in the simde.spec file, we can use ccache command in the CI cases. Can see use the cache in the situation to save the running time?
BuildRequires: ccache

I saw the ccache document. But I don't understand it.

cache should be visible in the meson config output.
Then you'll need to instruct packit to preserve the cache directory between builds

The default is $HOME/.ccache if such a directory exists, otherwise $XDG_CACHE_HOME/ccache if XDG_CACHE_HOME is set, otherwise $HOME/.config/ccache

Then you'll need to instruct packit to preserve the cache directory between builds

OK. I opened the issue ticket https://github.com/packit/packit/issues/1993 to ask the new feature in Packit CI now.


Playground attached to an object does not handle object variables

In the playground attached to an object we do not take into account object attributes. Variables are treated now as normal playground bindings.


Package 'bounceR' requires R >= 3.4.3

Hi! Thanks for the package.
Is that requiriment really necessary?
> devtools::install_github("STATWORX/bounceR")

ERROR: this R is version 3.4.1, package 'bounceR' requires R >= 3.4.3
nstallation failed: Command failed (1)

@jbkunst yes it is, at least for now. We are currently testing the dependencies.
If it is alright with you, I'd close the issue for now. In our next iteration, we might chance this, for now, though we can't.
Best,
Lukas


gcc 9.3 claims operator++ is ambiguous

I added the following test case to tests.cpp, which is just a trivial combination of the contents of the PreIncrementable and PostIncrementable tests:
TEST_CASE("PreAndPostIncrementable")
{
    using StrongInt = fluent::NamedType<int, struct StrongIntTag, fluent::PreIncrementable, fluent::PostIncrementable>;
    {
        StrongInt a{1};
        StrongInt b = ++a;
        CHECK( a.get() == 2 );
        CHECK( b.get() == 2 );
    }
    {
        StrongInt a{1};
        StrongInt b = a++;
        CHECK( a.get() == 2 );
        CHECK( b.get() == 1 );
    }
}

gcc 9.3 fails to compile it, saying "error: request for member ‘operator++’ is ambiguous".
I thought I would try fixing it myself but so far I haven't been able to figure out why it doesn't work, let alone how to fix it. This problem also affects any type that uses Arithmetic, which is how I originally discovered it.

Ran into the same problem. I think this is a bug in gcc. I just opened a question stackoverflow regarding this: https://stackoverflow.com/questions/69540048/gcc-ambiguous-inherited-increment
I don't think that the hot-fix (using the operators) will work in general for NamedType, since it would have to know if it is pre- and postincrementable. But adding the following lines to struct Arithmetic fixes it for arithmetic types at least:
    using PostIncrementable<T>::operator++;
    using PreIncrementable<T>::operator++;
    using PostDecrementable<T>::operator--;
    using PreDecrementable<T>::operator--;

I will add a pull request for this.


How to rename already downloaded videos searially?

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.11.03. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.11.03

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[x] Question
[ ] Other

Hello, I've downloaded many playlists already. But I did not know that I can use template names with serial number with youtube-dl
My question is, can I rename all the playlists that I have downloaded already with a template name?
I know it sounds weird, but I need it badly

No.

Wait, can I get a .txt file listing all the videos in a playlist sequentially?

Redirect stdout to file.

How? I didn't find anything like that


[ENG-90] Add new-home route

Purpose
Add new-home route for the new logged out homepage redesign.
Summary of Changes

Add new-home route

Side Effects
There shouldn't be any direct side-effects.  Page cannot be found unless directly searching for it or typing it into the address bar.
Feature Flags
N/A
QA Notes
N/A
Ticket
https://openscience.atlassian.net/browse/ENG-90
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

Pull Request Test Coverage Report for Build 2744

5 of 6 (83.33%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.007%) to 70.825%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

app/new-home/route.ts
5
6
83.33%

Files with Coverage Reduction
New Missed Lines
%

app/router.ts
1
86.17%

Totals

Change from base Build 2667:
0.007%

Covered Lines:
5751

Relevant Lines:
7319

💛  - Coveralls


Access is denied

When running componentize-py 0.4.0 on Windows for the demo I get the following error:
AssertionError: Access is denied. (os error 5)

Any ideas on where this error is coming from? It's extremely vague and I'm not sure how to determine which part of the code is generating this error

Thanks for reporting this, @komodo472.  I'll admit I don't test on Windows frequently, so stuff like this sometimes slips through.  I should update CI to test each PR on Windows and Mac -- not just Linux.
Anyway, I'll investigate this as soon as I have a chance (hopefully today or tomorrow).

@komodo472 This is fixed in componentize-py 0.4.2.  You can upgrade using pip install --upgrade componentize-py.  Please also pull the latest from the component-sandbox-demo repo, since I had to make some changes to make it compatible with 0.4.2.

It works! Thank you!


Break fork from ros-visualization/rviz if not being reintegrated

Hi,
I wanted to request a fork break (like we did with geometry2 https://github.com/ros2/geometry2/issues/237) so that we can use the GitHub search functionality to find function signatures and quickly track down implementations. With Forks in GitHub, this functionality is disabled and only searches the parent repository. Given that there are some changes, it would be nice if that functionality was restored.
If you email the GitHub folks, they'll sever a fork for you into its same repo, same name, and allows this feature to come back. I did this with slam toolbox and geometry2 without a hitch.
https://support.github.com/contact

I've now requested GitHub to break the fork.

All right, this has now been done.


Additional information in the filenames

It would be nice to have some additional data.
Now it is: video_title [video_id].mp4.
It could've been:

channel_title - video_title [video_id][1080p].mp4
channel_title - audio_title [video_id][192 kbps].mp3

Anyways, the project development is to be frozen soon.
The feature is not critical.
I'm leaving it be for now.


GS: performance drops a lot when the simulator window is rendered at the same time as a plot

Fixed by removing Qt3D and replacing with Q


Add Turkish language translation

Changes proposed in this pull request:

I have added the Turkish translate

Note: pull requests without proper descriptions may simply be closed without further discussion. We appreciate your contributions, but need to know what you are offering in clearly described format. Provide tests for all code that you add/modify. If you add/modify any components update the storybook. Thanks! (you can delete this text)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Access to Channel Data

Hi all,
I need to access to Microsoft Teams informations, like UPN, Email, Personal Image, Tenant Id (context information) and Teams, Chat (Microsoft Teams application information that usually collect from Microsoft Graph).
Can Composer access to channel informations?
Composer can fill property with channel informations?
Thanks a lot

@andreatosato, We don't support this in Composer yet. You need to have another call to get the TeamsChannelInfo according to this doc https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/get-teams-context?tabs=dotnet#nodejs-example
But in AdaptiveSDK., we don't have this built-in functionality yet.
@vishwacsena, do you have plan to support this?

@luhan2017
how do I use this feature in the composer?
I have scenarios in which the composer speeds up development a lot but unfortunately we need to contextualize the user information in which the bot is installed.
I had already used the functionality described for TeamsChannelInfo in other Bots. I understand that at the moment code and composer are 2 separate worlds. So it is not possible to combine the two features.

@vishwacsena please assess if this can come in for R8, initial investigation suggests the cost is reasonable.

@cwhitten Is this feature confirmed in R8?
Thanks a lot

@andreatosato adaptive dialogs (and hence composer) does not support TeamsActivityHandler
You can get channel data directly available on the incoming activity via turn.activity.
Tracked on SDK side via this ticket - https://github.com/microsoft/botbuilder-dotnet/issues/3566


Update Batteries branch for testing https://github.com/leanprover-community/batteries/pull/1036

!bench


Alternative sketch IO formats

Some form of serialisation of databases, and/or JSON representation, would be useful for web interfaces

https://uscilab.github.io/cereal/
https://github.com/nlohmann/json

Would make sense to have database parent class, then hdf5, json and serial which inherit from it.


Setup guide for pnpm workspace users

I'm having trouble getting this to work with a pnpm workspace. If any users out there get a good flow going would be nice to document it. Also probably some missing features as well to improve support. One thing I've done that seems to be working ish, is to open a package within the monorepo as a new VSCode workspace/window.

Same issue as #81, which also hasn’t gotten a response.

Thanks @hidde-jan


Switch to osu! API v2

this one is going to take a lot of time. osu! API v2 requires OAuth, which in case of osu! means perishable authentication tokens -- if I recall correctly, they expire after 86,400 seconds (24 hours).
kind of torn here, since if I want to keep the client effortless to use, I need to write and host a small server which does two things:

handle OAuth authentication flow and refresh the tokens on users' behalf -- sure, it could run on localhost instead (as I did in https://github.com/TicClick/coral, since it only needs to pick up a token from a redirect URL), but very few people will keep their PCs up and running for more than 24 hours. that means that an API token once issued will expire
handle token requests from clients, which means I need to add my own authentication layer, similarly to what other applications do to avoid requiring users to log in every time:

stable: keeps a password hash locally
lazer: does something similar I believe (password hash/non-expiring token tied to a device)
IRC: uses a constant plaintext password for authentication
some smart web apps: do just what I described (secure a token, refresh it server-side)

https://github.com/TicClick/relay

[ ] report the session identifier back to steel after generation
[ ] allow fetching osu! API tokens from steel based on session identifier
[ ] add rate limiting
[ ] add token refreshing routine


Move temporary dir deletion to inner function, delete temp dir in skipped benchmarks

Opened again from branch created in this repository instead of forked branch.
Probably connected with issue: https://github.com/redis/redis-benchmarks-specification/issues/244.
So far when some check resulted with skipping benchmark, it would keep an empty temporary directory in home directory. Deletion of temporary dir should happen in such situation before continuing to the next benchmark.
This PR moves temporary directory deletion to inner function in process_self_contained_coordinator_stream and invokes it before skipping any benchmark

I think that that wasn't fault of my PR, there was an "Connection Refused" exception when trying to connect to Redis. I re-run test and it worked.

@filipecosta90 , could you please check and merge if you are agree?


the default value of editor.autoClosingDelete should be "always"

The new setting editor.autoClosingDelete has been introduced for several months now. It can be set to auto, always or never.
For years, the default behavior was always, but since this feature was added, the default for new users became auto. After months of testing, I've come to the conclusion that always is a better candidate for default, because auto is not smart enough, for several reasons:

When a pair is created by auto-insert, then I move the cursor away, then come back and delete, the program no longer remember it was auto-inserted, so auto-delete won't happen.
After auto-insert, if I keep the cursor in place, but switch to a different tab and switch back, the program no longer remember it was auto-inserted, so auto-delete won't happen.
Not to mention the case when I close a file and revisit it later.
When you highlight a piece of text foo, then press a key to "auto surround" it, making it "foo" or (foo) or [foo],  the pair is not considered auto inserted, and auto delete won't happen even if you delete immediately.
When you see a string like "bar", and you double click it to highlight, then try to backspace×2  to delete it, it won't work.
In snippets, say you have a snippet called "arrow", which is somethin like (|) => {|}, the pairs are not considered auto inserted, so when you tab through them and delete, auto delete won't happen.
Generally, whenever you have a cursor in between brackets like {|} then press backspace, human brains expect a consistent outcome every time. Since human brains don't remember whether the pair of brackets was auto-inserted, the current behavior always feel inconsistent and not intuitive.

1-6 happens a lot, especially 1 and 2 happens so often, that in 90% cases auto delete won't happen, so the new default settings is mostly equal to "never", which is wasting a nice feature for new users. In the rest 10% cases when auto delete does happen, it's even worse, due to the inconsistency in 7.

I think the idea of autoClosingDelete is to make the autoClose feature less annoying (backspacing an opening bracket should not leave a (auto closed) closing bracket behind), not necessarily to enable the feature of balanced bracket pair deletion.

backspacing an opening bracket leaves a closing bracket behind

The current behavior of default setting for new users autoClosingDelte: auto does exactly that, in all of the cases I mentioned. If you think that's annoying, you should set it to always, which I think should be the default for new users, which is the whole point of this issue.

balanced bracket pair deletion

I was never referring to this features, I actually never knew it was a thing, before you showed me.


Set notes mode to locked by default

While I’m sure the ability to draw features in the  notes mode (4th button) is useful, the current implementation breaks panning around to view notes with one finger. Can this mode be set to “locked” by default, which will restore the previous functionality, but still allow users to select what feature they want to draw. Thanks.

Done in 5.1 after #719.


JetBrains: Strange chat scrollbar behavior

Discussed in https://github.com/sourcegraph/sourcegraph/discussions/54900

Plugin version: same behavior for v3.0.3 and v3.0.4
IDE: IntelliJ IDEA Ultimate v2023.1.4
OS: macOS v13.4 (22F66), Intel chip
Server: an Enterprise instance. Sourcegraph search works fine, so the connection is set up correctly.
Theme: reproducible with both Gruvbox and the built-in light theme.
UI: reproducible with both the legacy and the new UI

Bug report:

Often when using a recipe or asking something more freeform, the response seems to extend far below the actual space needed to show the response, meaning the scrollbar is able to scroll down much further than is necessary. This sometimes means I need to scroll up a bunch to find the response, and sometimes it means that the response is inaccessible, like not possible to see ever.
Additionally, for some queries the size of the response pane keeps increasing even when it seems likely that the response will have already been generated.
I included a screen recording with a generic example below.

https://github.com/sourcegraph/sourcegraph/assets/43481597/ec6ea389-62cb-4dff-90fd-cc530385d19b

The issue does no longer exists https://github.com/sourcegraph/cody/discussions/242#discussioncomment-6533163


Numbers with words composed of two number words are multiplied

I would expect fifty two to be 52, but instead, that input is parsed as multiplying fifty by two:
> fifty two
100
> @debug fifty two
1 fifty (= 50) * two (= 2) (base 10, auto, simplifiable)

With a hyphen, the value is still not correct, but the operation is instead subtraction:
> fifty-two
48
> @debug fifty-two
48/50 fifty (= 50) (base 10, auto, simplifiable)

Thanks for the bug report!


.Net: API support for multiple chat roles for Chat completion APIs

[!IMPORTANT]
Labeled Urgent because it will require a breaking change.

This issue should just provide API-level support. Another issue will be created (and linked) for the actual template support. This API support should be exposed to the template engine so that it can call those APIs and return an array of chat messages.
name: Feature request
about: Suggest an idea for this project
We currently have a lack of SK Functions based on Chat prompts (e.g. instead of a single text prompt, a function is based on a mix of chat messages, where each message needs to be rendered, before calling the LLM.
Needed by Devis and memory service.

To add SK (Semantic Kernel) functions based on chat prompts, you'll need to integrate these functions into your existing codebase and provide a clear structure for their implementation. Below, I'll provide a high-level code structure and a diagram illustrating the process.
Issue Explanation:
The task is to add SK functions based on chat prompts to enhance the capabilities of your application.
Solution:
Define SK Functions:
Define the SK functions that you want to add to your application. These functions should correspond to specific chat prompts and serve relevant purposes.
Integration:
Integrate the SK functions into your application's codebase. Depending on the complexity of your application, you can create separate modules or classes for SK functions.
python
class SemanticFunctions:
def init(self):
# Initialize any necessary resources or configurations
def sk_function_1(self, chat_prompt):
    # Implement SK function 1 logic based on the chat prompt
    # ...

def sk_function_2(self, chat_prompt):
    # Implement SK function 2 logic based on the chat prompt
    # ...

Use SK Functions:
Within your application's chat-related modules or components, use the SK functions to process chat prompts and generate responses.
python
Inside your chat processing module or function
sk = SemanticFunctions()
chat_prompt = "Tell me about recent technology trends."
response = sk.sk_function_1(chat_prompt)
Testing and Validation:
Test the SK functions with various chat prompts to ensure they produce accurate and meaningful responses. Implement unit tests and integration tests as needed.
Documentation:
Document the SK functions, including their purpose, input parameters (chat prompts), and expected output. Make this documentation available to developers who will be using these functions.
Error Handling:
Implement error handling and validation within the SK functions to handle unexpected inputs or issues that may arise during processing.

The "SemanticFunctions" class encapsulates the SK functions, which are utilized by the "Chat Processing Module."
The chat prompts are processed using the SK functions to generate meaningful responses.
Testing and validation ensure the correctness of the SK functions.
Documentation provides clear information about the purpose and usage of SK functions.

You should be able to author a semantic function that has multiple messages with arbitrary roles (system, assistant, and user)

This is how Guidance does it

There needs to be a second issue with "high" priority for the actual template language.

We believe the only "net new" work is allowing the template engine to return an array of messages if the connection is "chat". If the connection is "text" then the template engine does not need to break it up into multiple messages.

The feature requires a few SK components to be changed, so it has been split into three smaller ones to tackle each component separately:

https://github.com/microsoft/semantic-kernel/issues/3250
https://github.com/microsoft/semantic-kernel/issues/3256
https://github.com/microsoft/semantic-kernel/issues/3254

Marking as complete


TabItems is the Content property now

This was updated to not be needed: https://github.com/microsoft/microsoft-ui-xaml/pull/1845

#sign-off


Ensure members are initialized in compatibility renderer SceneShaderData

Fixes issue #84418
Boolean variables that were uninitialized in the struct SceneShaderData could cause an error message if never set to a value.
This fixes the problem by initializing all boolean variables of SceneShaderData to false in the constructor. This avoids the errors caused by using undefined values.

Superseded by #84752, which takes the approach recommended by @clayjohn, and applies the same treatment to all other ShaderData classes.


Disable Upload button on certain conditions

Disable upload button in the upload documents form if:

There is no document to upload
A document is currently being uploaded

This also means we can remove a notification about no document existing.

This looks like it should work, but cannot test. Login is not working.  Solid servers probably having issues again, will check in morning.   Need to run prettier formatting to pass test.

This looks like it should work, but cannot test. Login is not working. Solid servers probably having issues again, will check in morning. Need to run prettier formatting to pass test.

@xscottxbrownx  Yeah solidcommunity.net seems to have some pretty major performance issues. It may be easier to test on opencommons.net, or run the dev server on localhost.


Various improvements

Switch edition to 2018 (rustc >= 1.31)
Split main.rs into couple of other modules & refactor to smaller functions

Especially separate mount & unmount functions, because the previous flow with the comment Carry on with mounting - unmounting is completely handled above was weird

Use log & env_logger for logging
Use clap for arguments parsing

There's not (shouldn't be) even a slight change in the behavior.

Binary file size was increased from 2_477_568 to 4_434_640 bytes with all these new crates. Don't know if it's an issue. Can be optimized if necessary (like custom info!, ... macros instead of log, ...).

Pushed some optimizations for profile.release:
[profile.release]
lto = true
opt-level = 'z'
codegen-units = 1
panic = 'abort'
The size is down to 2_368_616, which is even smaller then it was.

Also, I don't know which compiler version is used across balenaOS, but I'd recommend 1.33, because jemalloc was removed and system allocator is used (even smaller binary).

@zrzka Shall we close this? It looks like an old piece of work.


Limits for defs in a module

Motivation
This introduces a limit for all definitions in a module: structs, fields and functions.
We have some quadratic algorithm in the loader (fields of a type defined in the module) and possibly more.
This reduces the chances of possible attacks and it is a reasonable limitation to add (in fact a great one in my opinion with open publishing).
Also there is some cleanup where we added some config values that were not Option as the others. Making everything Option.
Finally there is a fix in the limits check in the verifier to run verify_type_nodes for scripts
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Added unit tests

fixed issues reported by @sblackshear (thanks!) and added tests about different configurations

moved errors to the verifier group as suggested by @vgao1996 (good one).
Not clear how much of a breaking change that is, given I moved also one that was there already (though added few days ago), but it seems the right placing in the 1000-2000 group.
Let me know if you have thoughts or opinions. @wrwg take a look please

forgot to ask, this is for everybody, just in case.
Do we (or anybody) deeply care to have all the VerifierConfig new values as None instead of a random/reasonable value?
I suppose it does not really matter much given those can be changed any time, and are likely to be explicitly defined by each app, but figured I'd give people a chance to comment before I go in

@dariorussi I think in general, we actually have to keep a None variant so that the VM offers a way to maintain full backward compatibility

@dariorussi I think in general, we actually have to keep a None variant that totally disables the check so that the VM offers a way to maintain full backward compatibility (Not saying that this requirement totally cannot be relaxed -- it's just the assumption we've been working under so far...)

@vgao1996 I agree and not questioning that. My question was more whether None should be the default, which it would seem more proper, rather than having a default with values that may be questionable (which is what we have with this PR)...
thoughts?

Oh I see. I think both would work as the minimal requirement is to just provide at least a way for the client to keep the old behavior, but having None as the default will probably be less surprising to the them.


[sil][debug-info] Refactor SILInstruction SILLocation verification out of SILVerifier onto a helper/use to verify in SILBuilder

This will ensure that we catch these issues earlier when they are introduced rather than after a pass that introduced the problem finished running (and we run the verifier).

@swift-ci test

Build failed
Swift Test OS X Platform
Git Sha - 7d609412a9adcfc5d0c24e99f953c4bdeaa0eab2

Build failed
Swift Test Linux Platform
Git Sha - 7d609412a9adcfc5d0c24e99f953c4bdeaa0eab2

@swift-ci test

Build failed
Swift Test OS X Platform
Git Sha - 38e6c6fa356d186fd41dd1222ca7300a636969b5

Build failed
Swift Test Linux Platform
Git Sha - 38e6c6fa356d186fd41dd1222ca7300a636969b5

@swift-ci test

@swift-ci test windows platform


[SNMP] Componentize SNMP traps server

What does this PR do?
This PR converts the SNMP traps server into a set of FX components.
The user-facing behavior should not change.
Motivation
We are trying to port all our services to the new component architecture.
This is part of NDMII-287.
Describe how to test/QA your changes
See internal instructions for QAing snmp traps. Existing QA should be fine, as the behavior of the traps listener is not expected to change.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

@ogaca-dd I also modified this to depend on demultiplexer.Component instead of sender.Sender. This adds a moderate amount of boilerplate, though, especially in the tests, since the mock demultiplexer also relies on config, and defaultforwarder.
Do you think it would be worth providing the default Sender as a component? Senders aren't singletons in that each check can have its own, but there's always only one "default" one; fx also supports name annotations, so we could specifically provide a sender.Sender named "default" to avoid conflicts.

@ogaca-dd I also modified this to depend on demultiplexer.Component instead of sender.Sender. This adds a moderate amount of boilerplate, though, especially in the tests, since the mock demultiplexer also relies on config, and defaultforwarder.

Do you think it would be worth providing the default Sender as a component? Senders aren't singletons in that each check can have its own, but there's always only one "default" one; fx also supports name annotations, so we could specifically provide a sender.Sender named "default" to avoid conflicts.

I don't think Sender should be a component as it is very easy to get one from demultiplexer.Component.


Problems with quotes setting build.updatebuildnumber

Troubleshooting
Checkout how to troubleshoot failures and collect debug logs: https://docs.microsoft.com/en-us/vsts/build-release/actions/troubleshooting
Environment

Server - VSTS
Account     https://horibatestautomation.visualstudio.com
Project       StarsEnterpriseMobile-Production
Build Definition  StarsEnterpriseMobile-M2-Production-Android-Build-Test
Build Number    Build 1.0.4-545
Agent - Hosted
Hosted mac Preview
Hosted  VS2017

Issue Description
I am trying to set the buildnumber (build.buildnumber) from a task. I have successfully managed to do this with Powershell using the ##vso[build.updatebuildnumber]  logging construct. I have had to use a bash shell script however because I need to run on a hosted mac preview agent.  I have looked at the documentation which suggests:-
newversion="1.0.4-234"
echo "##vso[build.updatebuildnumber]$newversion"
This actually does update the build number but the task is reported to fail with the following message:-
2018-05-15T14:54:56.8235110Z ##[error]TF209010: The build number format $newbuildnumber" contains invalid character(s), is too long, or ends with '.'. The maximum length of a build number is 255 characters. Characters which are not allowed include '"', '/', ':', '<', '>', '', '|', '?', '@', and ''.
2018-05-15T14:54:56.8302680Z ##[debug]Microsoft.TeamFoundation.Build.WebApi.BuildNumberFormatException: TF209010: The build number format $newbuildnumber" contains invalid character(s), is too long, or ends with '.'. The maximum length of a build number is 255 characters. Characters which are not allowed include '"', '/', ':', '<', '>', '', '|', '?', '@', and ''.
I have found that on a VS2017 host I can use:-
echo '##vso[build.updatebuildnumber]'$newversion
and this succeeds and gives no error. However on a macOS host it complains about the '. I believe the problem is the evaluation of the string.
If I used
echo ##vso[build.updatebuildnumber]$newversion
the command "succeeds" (gives no error) but I then have a build number of $newversion.   I have looked around but can't find any help on the error. I've also tried  reporting the problem on VSTS but haven't had much help there.
logs_546.zip
[Include task name(s), screenshots and any other relevant details]
Error logs
[Insert error from the logs here]

have you tried this on mac?
echo "##vso[build.updatebuildnumber]$newversion"

on linux languages double quotes will apply variables but single quotes are literal.  I think this is an O.S. specific scripting detail

Hi Brian
Re: echo "##vso[build.updatebuildnumber]$newversion"
yes,  I have tried this on a VSTS Hosted macOS preview, Linux preview and VS2017  system. The task completes I get the error reported with a problem in the build number, although the build number has been sucessfully set.  The error is:-
2018-05-18T07:29:27.5897138Z 1.0.4-606-a4303aeb4cf3182afd4e8bae19ad9a617c95a3de
2018-05-18T07:29:27.5973481Z ##[debug]Update build number for build: 606 to: 1.0.4-606-a4303aeb4cf3182afd4e8bae19ad9a617c95a3de at backend.
2018-05-18T07:29:27.6543716Z ##[debug]Processed: ##vso[build.updatebuildnumber]1.0.4-606-a4303aeb4cf3182afd4e8bae19ad9a617c95a3de
2018-05-18T07:29:27.6565445Z ##[debug]task result: Succeeded
2018-05-18T07:29:27.6597333Z ##[debug]Processed: ##vso[task.complete result=Succeeded;]Code works.
2018-05-18T07:29:27.6686917Z ##[section]Async Command Start: Update Build Number
2018-05-18T07:29:27.7439110Z ##[section]Async Command End: Update Build Number
2018-05-18T07:29:27.8792571Z ##[error]TF209010: The build number format $newbuildnumber" contains invalid character(s), is too long, or ends with '.'. The maximum length of a build number is 255 characters. Characters which are not allowed include '"', '/', ':', '<', '>', '', '|', '?', '@', and ''.
2018-05-18T07:29:27.8859939Z ##[debug]Microsoft.TeamFoundation.Build.WebApi.BuildNumberFormatException: TF209010: The build number format $newbuildnumber" contains invalid character(s), is too long, or ends with '.'. The maximum length of a build number is 255 characters. Characters which are not allowed include '"', '/', ':', '<', '>', '', '|', '?', '@', and ''.
If I use
echo  '##vso[build.updatebuildnumber]'$newbuildnumber
This works on a VS2017, macOS and linux hosts, with no error reported at all. I am slightly surprised, because I'm sure this on a macOS host without success, but at least it seems to working now and I so I am not sure if something has changed or whether I slipped up on my test.
Whilst this is a work around, it is a bit strange, particularly the documentation for bash shell scripts https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/_shared/set-variables-in-scripts?view=vsts&tabs=shellhttps://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/_shared/set-variables-in-scripts?view=vsts&tabs=shell  indicates that the original form of the command (ie double quotes around the whole command) should be used.
If you use  literals instead of double quotes for a version name there is of course no problem - the problem seems to come with the double quotes.
best regards
Robert

From: Bryan MacFarlane<EMAIL_ADDRESS>Sent: 18 May 2018 01:28
To: Microsoft/vsts-tasks
Cc: Robert Jack; Author
Subject: Re: [Microsoft/vsts-tasks] Problems with quotes setting build.updatebuildnumber (#7208)
have you tried this on mac?
echo "##vso[build.updatebuildnumber]$newversion"
on linux languages double quotes will apply variables but single quotes are literal. I think this is an O.S. specific scripting detail
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/vsts-tasks/issues/7208#issuecomment-390055818, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXTgpYCqPwMgSq6xckEpCAGcCMc86psuks5tzhW_gaJpZM4T_uVv.
Click herehttps://www.mailcontrol.com/sr/xJOKmp2w+V7GX2PQPOmvUtvW5gv9VGgLU70Af8NtyeIxNzN1XSBIa!frODy3pGaFKd5IQyUuuM8DMGoTToeXlw== to report this email as spam.

try $(newversion) instead. that will macro replace the value in the task input, before the script is generated. I think the problem is the script contents are echoed before the script is run.
let me know if the workaround fixes the issue. if so it's a bug on the task (should not echo raw script contents when contains ##vso instruction.

Did you try @ericsciple suggestiong of $(newversion) ?

Hi Bryan
If I use
echo '##vso[build.updatebuildnumber]'$(newbuildnumber)
2018-05-22T07:55:32.3882740Z ##[error]Unable to process command '##vso[build.updatebuildnumber]' successfully. Please reference documentation (http://go.microsoft.com/fwlink/?LinkId=817296)
2018-05-22T07:55:32.3924870Z ##[error]Build number is required.
2018-05-22T07:55:32.4465930Z ##[debug]System.Exception: Build number is required.
at Microsoft.VisualStudio.Services.Agent.Worker.Build.BuildCommandExtension.ProcessBuildUpdateBuildNumberCommand(IExecutionContext context, String data)
at Microsoft.VisualStudio.Services.Agent.Worker.WorkerCommandManager.TryProcessCommand(IExecutionContext context, String input)
2018-05-22T07:55:32.4482650Z ##[debug]Processed: ##vso[build.updatebuildnumber]
2018-05-22T07:55:32.4503150Z ##[debug]task result: Succeeded
2018-05-22T07:55:32.4530740Z ##[debug]Processed: ##vso[task.complete result=Succeeded;]Code works.
2018-05-22T07:55:32.4611660Z ##[section]Async Command Start: Update Build Number
2018-05-22T07:55:32.6036010Z Update build number to '$(newbuildnumber) for build 630
If I use
echo "##vso[build.updatebuildnumber]$(newbuildnumber)"
2018-05-22T07:56:46.6972020Z ##[error]Unable to process command '##vso[build.updatebuildnumber]' successfully. Please reference documentation (http://go.microsoft.com/fwlink/?LinkId=817296)
2018-05-22T07:56:46.7014770Z ##[error]Build number is required.
2018-05-22T07:56:46.7610790Z ##[debug]System.Exception: Build number is required.
at Microsoft.VisualStudio.Services.Agent.Worker.Build.BuildCommandExtension.ProcessBuildUpdateBuildNumberCommand(IExecutionContext context, String data)
at Microsoft.VisualStudio.Services.Agent.Worker.WorkerCommandManager.TryProcessCommand(IExecutionContext context, String input)
2018-05-22T07:56:46.7629660Z ##[debug]Processed: ##vso[build.updatebuildnumber]
2018-05-22T07:56:46.7658270Z ##[debug]task result: Succeeded
2018-05-22T07:56:46.7686860Z ##[debug]Processed: ##vso[task.complete result=Succeeded;]Code works.
2018-05-22T07:56:46.7771300Z ##[section]Async Command Start: Update Build Number
2018-05-22T07:56:46.8263050Z ##[section]Async Command End: Update Build Number
2018-05-22T07:56:46.8384640Z ##[error]TF209010: The build number format $(newbuildnumber)" contains invalid character(s), is too long, or ends with '.'. The maximum length of a build number is 255 characters. Characters which are not allowed include '"', '/', ':', '<', '>', '', '|', '?', '@', and ''.
2018-05-22T07:56:46.8438410Z ##[debug]Microsoft.TeamFoundation.Build.WebApi.BuildNumberFormatException: TF209010: The build number format $(newbuildnumber)" contains invalid character(s), is too long, or ends with '.'. The maximum length of a build number is 255 characters. Characters which are not allowed include '"', '/', ':', '<', '>', '', '|', '?', '@', and ''.
If I use however
echo '##vso[build.updatebuildnumber]'$newbuildnumber
18-05-22T08:15:30.4966010Z ##[section]Async Command Start: Update Build Number
2018-05-22T08:15:30.5551920Z Update build number to '$newbuildnumber for build 635
2018-05-22T08:15:30.5566180Z ##[section]Async Command End: Update Build Number
2018-05-22T08:15:30.5609090Z ##[section]Async Command Start: Update Build Number
2018-05-22T08:15:30.5630460Z Update build number to 1.0.4-635-a4303aeb4cf3182afd4e8bae19ad9a617c95a3de for build 635
2018-05-22T08:15:30.5646940Z ##[section]Async Command End: Update Build Number
2018-05-22T08:15:30.5686410Z ##[section]Finishing: shellexec
This works. It is a work around, but not what I would expect from the documentation. I don't think the issue I am
seeing is a OS related on as it behaves the same on macOS, linux and Windows

From: Bryan MacFarlane<EMAIL_ADDRESS>Sent: 22 May 2018 04:16
To: Microsoft/vsts-tasks
Cc: Robert Jack; Author
Subject: Re: [Microsoft/vsts-tasks] Problems with quotes setting build.updatebuildnumber (#7208)
Did you try @ericsciplehttps://github.com/ericsciple suggestiong of $(newversion) ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/vsts-tasks/issues/7208#issuecomment-390849956, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXTgpVm7RUo6ywkLOxvxLdankBFDSsSfks5t04MhgaJpZM4T_uVv.
Click herehttps://www.mailcontrol.com/sr/9c1xhRNDfNjGX2PQPOmvUlRg0f8c3ZDCz4gfONIF2ubLY!pGlm5bwOdRGSxSgc2QrqfVRRUnq+eOdoKZwoXR0w== to report this email as spam.

I can't repro the original problem. Here is my definition:
queue: Hosted macOS Preview
steps:
- bash: |
    newversion="1.0.4-234"
    echo "##vso[build.updatebuildnumber]$newversion"

I have a build definition with a Shell Exec task with the following commands in:-
newversion=”1.0.4-234”
echo “##vso[build.updatebuildnumber]$newversion”
The command completes successfully setting the buildnumber to “1.0.4-234” but I get the following log indicating an error:-
2018-06-04T14:25:05.0032120Z ##[debug]Evaluating condition for step: 'shellexec '
2018-06-04T14:25:05.0061490Z ##[debug]Evaluating: succeeded()
2018-06-04T14:25:05.0088210Z ##[debug]Evaluating succeeded:
2018-06-04T14:25:05.0121760Z ##[debug]=> True
2018-06-04T14:25:05.0148930Z ##[debug]Result: True
2018-06-04T14:25:05.0169510Z ##[section]Starting: shellexec
2018-06-04T14:25:05.0504800Z ==============================================================================
2018-06-04T14:25:05.0518700Z Task         : Shell Exec
2018-06-04T14:25:05.0532490Z Description  : Execute shell commands without creating a shell file
2018-06-04T14:25:05.0545900Z Version      : 0.2.0
2018-06-04T14:25:05.0559270Z Author       : Tsuyoshi Ushio
2018-06-04T14:25:05.0572930Z Help         : Replace with markdown to show in help
2018-06-04T14:25:05.0586500Z ==============================================================================
2018-06-04T14:25:06.4100400Z ##[debug]agent.workFolder=/Users/vsts/agent/2.134.2/work
2018-06-04T14:25:06.4121930Z ##[debug]loading inputs and endpoints
2018-06-04T14:25:06.4142780Z ##[debug]loading INPUT_CODE
2018-06-04T14:25:06.4164710Z ##[debug]loading ENDPOINT_AUTH_SYSTEMVSSCONNECTION
2018-06-04T14:25:06.4185560Z ##[debug]loading ENDPOINT_AUTH_SCHEME_SYSTEMVSSCONNECTION
2018-06-04T14:25:06.4207190Z ##[debug]loading ENDPOINT_AUTH_PARAMETER_SYSTEMVSSCONNECTION_ACCESSTOKEN
2018-06-04T14:25:06.4253090Z ##[debug]loaded 4
2018-06-04T14:25:06.4276260Z ##[debug]check path : /bin/bash
2018-06-04T14:25:06.4298160Z ##[debug]bash=/bin/bash
2018-06-04T14:25:06.4318960Z ##[debug]code=newversion="1.0.4-234"
2018-06-04T14:25:06.4558970Z ##[debug]Update build number for build: 706 to: $newversion" at backend.
2018-06-04T14:25:06.5734670Z ##[debug]Processed: echo  "##vso[build.updatebuildnumber]$newversion"
2018-06-04T14:25:06.5748260Z [command]/bin/bash ./.tempexecution.sh
2018-06-04T14:25:06.5789180Z ##[debug]Update build number for build: 706 to: 1.0.4-234 at backend.
2018-06-04T14:25:06.6164910Z ##[debug]Processed: ##vso[build.updatebuildnumber]1.0.4-234
2018-06-04T14:25:06.6185080Z ##[debug]task result: Succeeded
2018-06-04T14:25:06.6231300Z ##[debug]Processed: ##vso[task.complete result=Succeeded;]Code works.
2018-06-04T14:25:06.6315360Z ##[section]Async Command Start: Update Build Number
2018-06-04T14:25:06.7321690Z ##[section]Async Command End: Update Build Number
2018-06-04T14:25:06.7976150Z ##[error]TF209010: The build number format $newversion" contains invalid character(s), is too long, or ends with '.'. The maximum length of a build number is 255 characters. Characters which are not allowed include '"', '/', ':', '<', '>', '', '|', '?', '@', and ''.
2018-06-04T14:25:06.8043490Z ##[debug]Microsoft.TeamFoundation.Build.WebApi.BuildNumberFormatException: TF209010: The build number format $newversion" contains invalid character(s), is too long, or ends with '.'. The maximum length of a build number is 255 characters. Characters which are not allowed include '"', '/', ':', '<', '>', '', '|', '?', '@', and ''.
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.d__53.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.d__51.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.d__471.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__281.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.Agent.Worker.Build.BuildServer.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.Agent.Worker.Build.BuildCommandExtension.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.Agent.Worker.AsyncCommandContext.d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.Agent.Worker.StepsRunner.d__1.MoveNext()
2018-06-04T14:25:06.8081850Z ##[section]Async Command Start: Update Build Number
2018-06-04T14:25:06.8528460Z Update build number to 1.0.4-234 for build 706
2018-06-04T14:25:06.8542140Z ##[section]Async Command End: Update Build Number
2018-06-04T14:25:06.8576750Z ##[section]Finishing: shellexec
From: ericsciple<EMAIL_ADDRESS>Sent: 01 June 2018 20:10
To: Microsoft/vsts-tasks<EMAIL_ADDRESS>Cc: Robert Jack<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Microsoft/vsts-tasks] Problems with quotes setting build.updatebuildnumber (#7208)
I can't repro the original problem. Here is my definition:
queue: Hosted macOS Preview
steps:

bash: |
newversion="1.0.4-234"
echo "##vso[build.updatebuildnumber]$newversion"

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/vsts-tasks/issues/7208#issuecomment-393981244, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXTgpanhwMd_a9bLdDE8WpZdGHjumYJkks5t4ZF5gaJpZM4T_uVv.
Click herehttps://www.mailcontrol.com/sr/s2qryrV2tajGX2PQPOmvUsPk3Ki21lNCWR0kttbCT5E7SKFFANSkgg2TkyVSlJYcfBbr!3jTUbsFoPzuIXnePg== to report this email as spam.

I'm not familiar with the internal details of that task (it is not one of the tasks in this repo). The attempted repro that I pasted, uses the "Shell Script" task (v3, choose inline option). There is a change rolling through the scale units that it will rename it in the tasks catalog as the "Bash" task. It would be good to know whether it repros using that task, or whether you can provide a repro using one of the tasks in this repository.

I used the Shell Script task that you recommended and it works perfectly.  I used the market place shell script  https://marketplace.visualstudio.com/items?itemName=tsuyoshiushio.shell-exec   as the Shell Script task didn’t offer an inline option at the time and I wasn’t aware that this option existed until you mentioned it.   I’ll inform the author. Many thanks
From: ericsciple<EMAIL_ADDRESS>Sent: Monday, June 4, 2018 5:37 PM
To: Microsoft/vsts-tasks<EMAIL_ADDRESS>Cc: Robert Jack<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Microsoft/vsts-tasks] Problems with quotes setting build.updatebuildnumber (#7208)
I'm not familiar with the internal details of that task (it is not one of the tasks in this repo). The attempted repro that I pasted, uses the "Shell Script" task (v3, choose inline option). There is a change rolling through the scale units that it will rename it in the tasks catalog as the "Bash" task. It would be good to know whether it repros using that task, or whether you can provide a repro using one of the tasks in this repository.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/vsts-tasks/issues/7208#issuecomment-394419525, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXTgpTWWRMmrWmX9aZ95ptzdtqMhPMb6ks5t5WI8gaJpZM4T_uVv.
Click herehttps://www.mailcontrol.com/sr/MXa7Yh1yggrGX2PQPOmvUqrlA1!9RTN2QgcoK4+qMoLMBJP9hk5jQZ6ctC4cJO6T+6UW4jSiGe746EHnGWFGZQ== to report this email as spam.

for those struggling with this across platforms the only thing that worked for me across Linux / Windows was the following without quotes but with a single leading '':
    - script: echo \##vso[build.updatebuildnumber]${{ parameters.majorVersion }}.${{ parameters.minorVersion }}.r$(patch)
      displayName: 'Update Build Number'

anything else either failed the task, failed silently or inserted unwanted quotes in the build number in one platform or another, we shouldn't have to resort to platform conditionals for such a simple function

I stumbled upon this issue as I had a similar one while using PowerShell. It turned out that the Set-PSDebug -Trace 2 for debugging my script produced the issue. It seems that the underlying pipeline seems to react to the debugging output as well and therefore produce the error output including the variable name.
Probably a similar issue with bash scripts when you enable debugging (set -x) or similar?


WOP Branch to feature branch -Publish WF

Publishing works correctly when creating a tag
git tag -a "Version_2.0.5-testing" -m "wop" -s ; git push --tags
Need to confirm if its runs on Release creation


stat() doesn't work on directories

Currently, stat() implementation in system.c is to use open() + fstat(): https://github.com/DragonMinded/libdragon/blob/f4c89db76ee956a3c27d39c6b4e650a45a42010f/src/system.c#L1054-L1061
This doesn't allow to stat() directories, for filesystems where that is allowed like FAT used on SD cards.

https://github.com/DragonMinded/libdragon/commit/8dd362b8d858ae60befe9d27bc55cf770b9b50af