Add Dark mode support

this is what  i have changes

Issue #62

@prash240303 would you be reviewing this?

looks good to me @janvi01 merge it ?

@janvi01 my points are not added in leaderboard. please check it

can you recheck?

@janvi01 my points are not added in leaderboard. please check it

I checked but still the points are not added. It seems that the issue is not closed yet, maybe because of that. please check it

i hope it doest now ,

Ya now it's showing . Thank you


load mmCIF file error

Hi there,
I am trying to load a mmCIF format file using ngl from http://nglviewer.org/ngl/?script=showcase/ferredoxin, got error:
ngl.js:1 STAGE LOG error loading file: 'TypeError: Cannot read property 'charCodeAt' of undefined'
?script=showcase/ferredoxin:1 Uncaught (in promise) error loading file: 'TypeError: Cannot read property 'charCodeAt' of undefined'

My file is here. Same file can be load by 3dmol or pymol2, not sure what  is the format error? Thanks!

First off - I'm really not familiar with the cif format (outside of the fairly standardised PDB version).
The cif-parser expects altloc to be one of your columns in the cif file.
atomStore.altloc[idx] = altloc.charCodeAt(0);
This is easy to fix (just check for undefined)
I started down this route here:
https://github.com/fredludlow/ngl/tree/696-cif
but there are other issues - this cif-parser expects certain names (eg ptnr1_auth_seq_id) but the example you've got calls it ptnr1_label_seq_id. Is there a definitive set of acceptable names somewhere? Do pymol and 3dmol parse the bonding section?

Hi @fredludlow thank you for looking into this.
I am actually pretty new to this field, was trying to visualize this cif format using ngl. I used dip-c to generate the file. I will also look at the cif format specification. Thanks again.

@fredludlow also  ptnr1_label_seq_id seems like a valid name as : http://mmcif.wwpdb.org/dictionaries/mmcif_pdbx_v50.dic/Items/_struct_conn.ptnr1_label_seq_id.html

I guess we need to figure out why NGL looks for ptnr1_auth_seq_id rather than ptnr1_label_seq_id and whether that's: just a bug; a better thing to do when it's available or the required behaviour for some other non-obvious reason :)
Is anyone with a good knowledge of mmcif format reading? :)

Hi @lidaof, the file is a 3D genome, right, this is quite interesting. I would like to have a go at it. However not in NGL (as I stopped adding new features to it) but to Mol* (molstar.org). Also I would like to load the .3dg file directly and make use of Mol* support for coarse models (e.g. from pdb-dev.wwpdb.org). What do you think of that approach? Could you sent me a .3dg file via email?

@fredludlow 3dmol seems have a fallback for this field: https://github.com/3dmol/3Dmol.js/blob/master/3Dmol/parsers.js#L1177

I guess we need to figure out why NGL looks for ptnr1_auth_seq_id rather than ptnr1_label_seq_id

label_seq_id is only defined for polymers and its main use is to link polymer 3d coordinates to the sequence.

Sure, @arose i sent you an example file, thanks for looking into it.

fixed in Mol* by reading .3dg files direclty


Prisma plugin failing on call to builder.prismaObject()

In a Prisma+Pothos+CloudFlare Worker context the following error happens at boot.
✘ [ERROR]  Uncaught TypeError: Cannot read properties of undefined (reading 'find')
  at index.js:72422:45 in getDefaultFindBy
  at index.js:72446:25 in getDefaultIDSelection
  at index.js:73247:35 in prismaObject
  at index.js:73676:9

Using
"@pothos/core": "^3.41.0",
"@pothos/plugin-prisma": "^3.65.0",
"@prisma/client": "^^5.12.1",

NOTE: as of Prisma >=5.11, they support native database connections (using pg)
more info: https://www.prisma.io/docs/orm/prisma-client/deployment/edge/deploy-to-cloudflare#postgresql-traditional
==> it no longer need @prisma/client/edge to run  in cloudflare worker edge environment  (no need for prisma accelerate)

NOTE: the builder.toSchema({}) does load in a vitest unit test.  (in test environment it works)
In cloudflare worker, when you run [wrangler dev], the schemal builder fails loading the PrismaObject

It looks like prisma has remove the dmmf from the client when it's running in edge environments (likely to improve startup time and reduce bundle size).  Unfortunately Pothos is dependent on this information to construct the correct queries to resolve the schema.
I think potentially the fix for this would be to update the pothos prisma generator to genersate a minimal version of the dmmf that includes the information needed for pothos to build the graphql schema.  I haven't done a deep dive on what this would require, or if there are other options.  Definitely open to help on figuring out the best way to fix this

@hayes  i logged the bug with prisma => https://github.com/prisma/prisma/issues/23913
==> I asked them to renable it for wasm/edge.  The strange thing is the datamodel info is already generated even for the edge clients.  They just disable you  from accessing that property if you are in edge environment. (which is stupid, since you are really not saving any efficiencies here. (they simply wont allow you to access the value ==> see the bug #23913 attached here)
I looked at your code, and the only thing pothos SchemaBuilder needs is the slimmed down version of the Prisma.dmmf.  (the latest dmmf removes the extra "schema" and "mapping' properties.  => so if we can access Prisma.dmmf then we are good for the SchemaBuilder.  ==> i tested the Prisma.dmmf  json (i persisted json to file manually, and set dmmf property for SchemaBuilder and it it works.    ==> i asked the Prisma team to reenable Prisma.dmmf for edge (as per ticket #23913)
=> lets see what they say in the coming weeks.
I also looked your pothos plugin-prisma generator, and its easy enough to extract the [dmmf.datamodel] property either to separate file, or same ./types file that you generate (and add in extra property).
=> I have a simple test that extract dmmf.datamodel and compresses the json using "fflate" compression library. this is nice, it was able to compress the dmmf.datamodel down to 5Kb.
i can either create a PR and request to update your plugin-prisma, or i can create a new Prisma generator, just to create this dmmf.datramodel json temporarily until the Prisma team renables Prisma.dmmf.
what are your thought?  Should i do the PR or create a new prisma generator?

Let's wait to see what Prisma recommends before fixing in Pothos I don't want to update this multiple times of they can provide a quick fix

If prismas recommendation is to generate the output in a pothos generator, I'd probably add it as a flag similar to the prismaUtils flag in the generator, and have the generate also export a variable likedmmf or datamodel when that flag is set to true.
Then you would just import the datamodel alongside the prisma types and pass it into the existing dmmf option for the prisma plugin

I probably wouldn't add compression in Pothos itself, I think compressing/decomressing could manually in apps, but I wouldn't want a pothos plugin to ship with a dependency on a compression package

@hayes  i think Prisma. the [runtimeDataModel] will work. we just need access to this value accessible  by the edge runtime via Prisma.dmmf
Prisma was open to doing this, as as the latest comments on https://github.com/prisma/prisma/issues/23913)

I've added a new option in the generator in the 4.0 release to generate a custom data model that doesn't depend on Prisma at all https://pothos-graphql.dev/docs/plugins/prisma/setup#edge-run-times

@hayes  thehttps://pothos-graphql.dev/docs/plugins/prisma/setup#edge-run-times worked great!  thx!
but there is peer dependency issue with your other package that i need [prisma-generator-pothos-codegen]
==> this package is still has older dependencies:
- @pothos/plugin-prisma
- @pothos/core
=> you need to update the peer dependencies to use latest 4.x of the above 2 packages for [prisma-generator-pothos-codegen*]

That package is maintained by someone else, id recommend opening an issue there instead

you can probably just open a PR to update the deps here: https://github.com/Cauen/prisma-generator-pothos-codegen/blob/master/package.json


Unify compile_ast and replace_irs to output AstNode

The code was recently restructured to have an internal AstNode structure for the AST tree.
However currently the ast is transformed from a json object to an AstNode at the start of compile_ast, then transformed back to json at the end of compile_ast, and again to an AstNode at the start of replace_irs and at its end. This makes all internal compile and replace functions ugly as they produce output with a different from their input.
We should modify compilation so that the transformation to AstNode happens once before compile_ast and then both these functions work in our representation.

Closing since this is part of #241


Support tags

Like melpa-stable.

Is it worth just adding a "melpa-stable" respository (not enabled by default)?

That would be easy to add after support for tags is added at all, but adding support for tags at all is the main thing which will require effort. I would imagine adding a recipe keyword and associated user option for the default value, which would affect the VC layer such that checked-out revisions are "rounded" automatically to the last included tag. At that point one could define a melpa-stable recipe repository that just adds :only-tags t to returned recipes.


Handle Body Errors in AWS CompleteMultipartUpload

Describe the bug

CompleteMultipartUpload has an interesting approach to error handling

Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. A request could fail after the initial 200 OK response has been sent. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use AWS SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

From https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
To Reproduce

Not entirely sure how to test this, but we should at the very least return an error
Expected behavior

Additional context

label_issue.py automatically added labels {'object-store'} from #4971


Update find-an-issue.md

Change "upstream/master" in step 10 to code style; delete extra spaces after some sentences.

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Looks good, thanks @scjane :)


K version bump feature list (5.3.0)

To Check:

[ ] File ./package/version has been bumped to NEW_MAJOR.NEW_MINOR.0, and ./package/version.sh sub has been invoked.
[ ] CHANGELOG.md has been updated with new features.
[ ] K active projects page is up-to-date (receiving commits in the last 3 months).
[ ] Audit of warnings in regression test-suite and tutorial (inspect CI output for unintentional warnings).
[ ] Audit package dependencies in package/ (look at various package/dependency lists in package/ subdirectory and think whether any of them is now not needed).

Update the list of features that we already did and what we plan to include.


Add webhook distributor service for development

Motivation
We do not want to configure webhooks for each preview deployment and localhost environment.
Description
From the development environment, i.e. staging, preview deployments, or localhost register to a webhook distributor service to receive webhooks.

Create FastAPI service called webhook_distributor that distributes incoming webhooks at / to registered destinations
Register via /register
Health check via /health

TODO

[ ] Automatically register preview deployments
[ ] Localhost registration for development
[ ] Make available via https://webhook.hephaestus.felixdietrich.com
[ ] Setup Hephaestus repo webhook to point to https://webhook.hephaestus.felixdietrich.com

test


WebSockets don't automatically reconnect

Leads to nothing different displaying on the list even though the server updated the attendee

Fixed in 37ed9d7


Error: Building package opencv4:x86-windows failed with: BUILD_FAILED

Host Environment

OS: windows
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
./vcpkg install opencv4
Failure logs
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
Command failed: ninja -v
CMake Error at cmake/OpenCVModule.cmake:816 (add_custom_command):
add_custom_command called with OUTPUT containing a "#".  This character is
not allowed.
Call Stack (most recent call first):
modules/core/CMakeLists.txt:63 (ocv_glob_module_sources)
CMake Error at cmake/OpenCVModule.cmake:816 (add_custom_command):
add_custom_command called with OUTPUT containing a "#".  This character is
not allowed.
Call Stack (most recent call first):
cmake/OpenCVModule.cmake:1066 (ocv_glob_module_sources)
modules/imgproc/CMakeLists.txt:12 (ocv_define_module)
-- Excluding from source files list: modules/imgproc/src/imgwarp.avx2.cpp
-- Excluding from source files list: modules/imgproc/src/resize.avx2.cpp
-- Excluding from source files list: modules/imgproc/src/sumpixels.avx512_skx.cpp
CMake Error at modules/java/generator/CMakeLists.txt:87 (add_custom_command):
add_custom_command called with OUTPUT containing a "#".  This character is
not allowed.
Additional context
I did .\vcpkg update and it was up to date and im using visual studio 2019, also installing other packages just before this one worked

add_custom_command called with OUTPUT containing a "#". This character is
not allowed.

@savagecabbage123
Thanks for posting this issue.
Could you please check if your path contains this character  "#" ?

The path for vcpkg?

You can check this path first.
add_custom_command(
      OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp"  # don't add .hpp file here to optimize build process
      COMMAND ${CMAKE_COMMAND} "-DMODULE_NAME=${name}" "-DCL_DIR=${CMAKE_CURRENT_LIST_DIR}/src/opencl" "-DOUTPUT=${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp" -P "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake"
      DEPENDS ${cl_kernels} "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake"
      COMMENT "Processing OpenCL kernels (${name})"
    )

In addition, you can use git pull  to update vcpkg to the latest commit instead of vcpkg update.

I moved it to a different folder but when it installed it was successful but said
find_package(OpenCV CONFIG REQUIRED)
# Note: 10 target(s) were omitted.
target_link_libraries(main PRIVATE opencv_ml opencv_dnn opencv_core opencv_flann)

do you know what I can do to fix this or point me to a forum for help? Thanks in advance

The message is for the usage ofopencv. You saw this info and it indicates that this port has been installed successfully.
Since this info will be printed out on the console at the end of installation.
Let me know if still have questions about this.

I still can't use it. Visual studio cant find it and I am wondering if it is because of the find_package(OpenCV CONFIG REQUIRED) line

@savagecabbage123
Is this issue solved for you? It is not related with the info find_package(OpenCV CONFIG REQUIRED).
If you still have the problem about the usage, please provide the detail error info or your project case.


python310Packages.aiohomekit: 2.4.1 -> 2.4.2

Diff: https://github.com/Jc2k/aiohomekit/compare/refs/tags/2.4.1...2.4.2
Changelog: https://github.com/Jc2k/aiohomekit/releases/tag/2.4.2
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

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

3 packages built:

home-assistant-component-tests.homekit_controller
python310Packages.aiohomekit
python39Packages.aiohomekit

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

3 packages built:

home-assistant-component-tests.homekit_controller
python310Packages.aiohomekit
python39Packages.aiohomekit


BTRX-252 - Dar Elections should be linked to Election version information, not consent

[ ] Submitter: Include the JIRA issue number in the PR description
[ ] Submitter: Make sure Swagger is updated if API changes
[ ] Submitter: Check documentation and code comments. Add explanatory PR comments if helpful.
[ ] Submitter: JIRA ticket checks:

Acceptance criteria exists and is met
Note any changes to implementation from the description
Add notes on what you've tested

[ ] Submitter: Update RC_XXX release ticket with any config or environment changes necessary
[ ] Submitter: Update FISMA documentation if changes to:

Authentication
Authorization
Encryption
Audit trails

[ ] Submitter: If you're adding new libraries, sign us up to security updates for them
[ ] Tell the tech lead (TL) that the PR exists if they wants to look at it
[ ] Anoint a lead reviewer (LR). Assign PR to LR

Review cycle:

LR reviews
Rest of team may comment on PR at will
LR assigns to submitter for feedback fixes
Submitter rebases to develop again if necessary
Submitter makes further commits. DO NOT SQUASH
Submitter updates documentation as needed
Submitter reassigns to LR for further feedback

[ ] TL sign off
[ ] LR sign off
[ ] Product Owner sign off
[ ] Assign to submitter to finalize
[ ] Submitter: Verify all tests go green, including CI tests
[ ] Submitter: Squash commits and merge to develop
[ ] Submitter: Delete branch after merge
[ ] Submitter: Test this change works on dev environment after deployment. YOU own getting it fixed if dev isn't working for ANY reason!
[ ] Submitter: Verify swagger UI on dev environment still works after deployment
[ ] Submitter: Inform other teams of any API changes via hipchat and/or email
[ ] Submitter: Mark JIRA issue as resolved once this checklist is completed

Coverage decreased (-0.1%) to 61.904% when pulling dc036e62751683357066eb91bf542e42378ee71f on BTRX-252-DarElections into 46164b32b90ca1b6db1a05ddf5a90fe85addadb2 on develop.

@vvicario - I won't be able to look at this with any forethought until Thursday or Friday. Please feel free to add someone else from the C&D team to this if you need quicker feedback.

ok @rushtong , no problem. Thank you!


Can you please this extension compatible with Dart/Flutter

Sorry! But it isn't the aim of the extension. Maybe you can fork this repo and create new one that it will be useful to flutter.


RPCS3 and DLC packages

Is there any way to have RPCS3 install .pkg DLC packages after it installs the .PUP firmware files. I was reading the documentation and didn't find anything mentioning it.
If there is not currently a way to achieve this then I'd like to submit it as a feature request.

Hi @jdwininger , I haven't though about that, nice one, I'll look into how to implement it :)

In the project re-release, it is now possible to bundle DLC packages with RPCS3. :smile:


Open only 4 ports truly

this is not full listing, some tests.
var SerialPort = require("serialport");
var self = this;
var _serialPorts = []
var num = 0;
	SerialPort.list(function (err, ports) {
	  ports.forEach(function(port) {
	    console.log(port.comName);
	    console.log(port.pnpId);
	    console.log(port.manufacturer);
	    	setTimeout(function () {
	    			serialPort = new SerialPort.SerialPort(port.comName, {
	                        baudrate: 9600,
	                        bufferSize : 2048
                      },true, this._error );
	    			serialPort.on('data', function(data) {
					    console.log('data received: ' + data);
					});
	    			serialPort.write("ATI\n", function(err, results) {console.log("write ok")});
	    			_serialPorts.push(serialPort);
				console.log("port %s go open",port.comName)
			},num*400);
			num++;
	  });
	});

javascript, iojs -v
v1.8.1
Can not read from ports opened (try to opened > 4 items), can open only 4 ports.
next ports only try to open and not work at all. why?
When I close ports, this can work, but only for first 4 ports!!
Fifth comport only open and not read at all, and sixth++ ports return error "port not open" when try to close it!
If I open another script instance, remaining ports can be opened and only four too.
It is very big problem to use this.

Another big problem: fourth port not actually closed when i command to close it:
If start another script, then that fuckin:
port COM26 go open
port undefined open error Error: Opening \.\COM26: Unknown error code 170
closing error Error: Serialport not open. port COM26
port COM29 go open
port undefined open error Error: Opening \.\COM29: Unknown error code 170
closing error Error: Serialport not open. port COM29
port COM37 go open
port undefined open error Error: Opening \.\COM37: Unknown error code 170
closing error Error: Serialport not open. port COM37
port COM28 go open
port undefined open error Error: Opening \.\COM28: Access denied
closing error Error: Serialport not open. port COM28
COM29 not busy and cannot accessed. why?
First script can not work with fourth port and just fuckup it.
All devices good, all devices answering normally, problem in node-serialport and I not understood how to fix it recently.

I am hitting this problem too! I need to communicate with 4 serial ports simultaneously. When using 3 everything works just fine. But when opening any 4th port - all communication on all ports stop for good.
Where does this 4-Port limit come from?
(WTH!?)

Hi,
i've tracked down the problem a little more… in src/serialport.cpp in line 138 the EIO_Open routine of SerialPortWin.cpp is pushed onto the libuv execution queue.
uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
For some reason the 4th item in the queue waits until the other are finished. I'd guess this is either a problem within libuv itself or with the way of usage. It might help to use a different event loop or, if possible, to change some lib-uv resource setting to spawn more threads. But since I don't know any of the libuv api and haven't worked with it up to now, this is only a guess.

Well, I was not able to get into Cpp code, but:
I fully understand what the problem is.
It is there and it is in that port waiting for the rest of the fourth.
But he will never be found, for the simple reason that all the ports needed to me! 10, 20, 30 ports.
When the previous ports closed, of course it is got taken, but with closing ports there also has problem.
s'ry 4 m bd g0gl E.

Only one truly way is to spawn a thread for each port.

Hi psy21d,
if I read the cpp code correctly it hands every command you wants to perform on the serial port a  threadpool. So if you call open on the js side, the cpp with hand of the open-procedure to the uv_queue_work of lib-uv. Which will use / create a thread to perform the requested action – as described here: http://docs.libuv.org/en/latest/threadpool.html – The default size of the thread pool used is 4 (just found that in the docs) I'll see if I can mock together a test scenario where I increase the UV_THREADPOOL_SIZE . If I have any news on this, I'll provide feedback!

Hi there,
I think I found a workaround / the fix for the described problem. It is in deed the UV_THREADPOOL_SIZE which causes this behavior.
To work around this, I had to set the environment variable via console
shell> SET UV_THREADPOOL_SIZE = 16

which then allows me to communicate on 4 ports simultaneously! I've tested this on Win7x64.
Setting it via process.env.UV_THREADPOOL_SIZE = 16 did not work for me!
Even though this isn't a bug in node-serialport it self, I think it is worth mentioning this behavior within the documentation.

Good.  SET UV_THREADPOOL_SIZE = 16 via cmd.exe does not make any effect.
Win7x64
Need to reboot? How to test result fast?

You need to set this value in the command line you execute your node-app with. Settings this value is only true for the process you set it in or it's sub-processes. If you are using an IDE you need to set it within itself. You can set the variable for you whole system as described here: http://tinyurl.com/3n4zy
I've managed to get it to work like this on Win7x64, Win7x32 & within node_webkit

Yes, I set this variable in system path, of course

Thanks for tracking down guys. If you can think of a way this should be documented, PR welcome.

Hello guys,
I'm experiencing something similar but only by opening and closing 4 times the same COM port. I've tracked the code reaching to
uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
I'm testing an app where the serialport could be disconected, so I want to reconnect it always.
I don't want to open more threads, just figure out why at the fourth time I'm reaching EIO_Close, it's not executing.
I appreciate any suggestion!
Thanks
Thanks!

camposcristianeze, it was not possible to solve this problem. For this reason, I completely abandoned this node-serialport.
How to work with him if he does not allows you to do at least anything?

The only thing that can be done here - to open each port in a separate thread node-js, then erase when you want to take com port.
node-serialport currently allows only one port and only once. All these "system settings" does not help you.


Rebuild dev container docker image weekly

The R image and sometimes the Python image have new packages added to them fairly regularly. To ensure we pick up these changes, and also stay on top of any security updates from rocker, we should rebuild the docker image regularly.
Rebuilding the image weekly, means that we'll pick up any new packages within a reasonable amount of time.
TODO

[ ] Update the existing CI workflow to run automatically each week (docs)

[!NOTE]
GitHub disable scheduled workflows if no changes are made to a repo in 60 days. Please ignore that problem for this ticket.

Note that scheduled workflows interact with the last user who edited the cron line:

failure notifications go to that user, although we can redirect failures to Slack if we add an action to do that (I knew this caveat)
the workflow gets disabled if that user leaves the organization (I didn't know this caveat)

That's a good point Steve. We should definitely make sure failure notifications go into Slack as part of this ticket.
We shouldn't worry about someone leaving as part of this ticket. Although if it becomes an issue in future, there are third-party services that can alert us if a cron job doesn't run, which could also work with scheduled workflows.


Bug located in pyfluent

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
I am using Pyfluent in Fluent 23.2. After setting up a case. I am writing the cas and dat out. During the runtime  I do not receive any issues or error messages, but after reading the cas into the exiting or new fluent session fluent crashes.
solver.file.write(file_type = "case-data", file_name = caseFilename)

📝 Steps to reproduce
cannot upload the files because they are not supported
💻 Which operating system are you using?
Windows
📀 Which ANSYS version are you using?
Version 23.2 Build ID 176
🐍 Which Python version are you using?
3.11
📦 Installed packages
PS D:\Git\turbotestsuite> python -m pip freeze
ansys-api-fluent==0.3.5
ansys-api-mapdl==0.5.1
ansys-api-mechanical==0.1.0
ansys-api-meshing-prime==0.1.1
ansys-api-platform-instancemanagement==1.0.0b3
ansys-api-systemcoupling==0.1.0
ansys-dpf-composites==0.2b2
ansys-dpf-core==0.8.0
ansys-dpf-gate==0.3.1
ansys-dpf-gatebin==0.3.1
ansys-dpf-post==0.4.0
ansys-fluent-core==0.12.5
ansys-grantami-bomanalytics==1.1.3
ansys-grantami-bomanalytics-openapi==1.0.0
ansys-grpc-dpf==0.7.1
ansys-mapdl-core==0.64.1
ansys-mapdl-reader==0.52.12
ansys-math-core==0.1.1
ansys-mechanical-core==0.7.1
ansys-meshing-prime==0.3.0
ansys-motorcad-core==0.1.3
ansys-openapi-common==1.2.1
ansys-optislang-core==0.2.0
ansys-platform-instancemanagement==1.0.3
ansys-pythonnet==3.1.0rc1
ansys-seascape==0.2.0
ansys-systemcoupling-core==0.1.3
appdirs==1.4.4
cachetools==5.3.0
certifi==2022.12.7
cffi==1.15.1
charset-normalizer==3.1.0
click==8.1.3
clr-loader==0.2.5
colorama==0.4.6
contourpy==1.0.7
cryptography==40.0.2
cycler==0.11.0
fonttools==4.39.3
geomdl==5.3.1
google-api-core==2.11.0
google-api-python-client==2.86.0
google-auth==2.17.3
google-auth-httplib2==0.1.0
googleapis-common-protos==1.59.0
grpcio==1.54.0
grpcio-status==1.48.2
h5py==3.8.0
httplib2==0.22.0
idna==3.4
imageio==2.28.1
importlib-metadata==6.6.0
kiwisolver==1.4.4
matplotlib==3.7.1
numpy==1.24.3
packaging==23.1
pandas==2.0.1
Pillow==9.5.0
plumbum==1.8.1
protobuf==3.20.3
protoc-gen-swagger==0.1.0
psutil==5.9.5
pyaedt==0.6.70
pyansys==2023.2rc2
pyansys-tools-versioning==0.3.3
pyasn1==0.5.0
pyasn1-modules==0.3.0
pycparser==2.21
pyflunt==1.0.0
pyiges==0.2.1
pyparsing==3.0.9
pypiwin32==223
pyspnego==0.9.0
python-dateutil==2.8.2
pythonnet==3.0.1
pytwin==0.3.0
pytz==2023.3
pyvista==0.36.1
pywin32==306
PyYAML==6.0
requests==2.29.0
requests-negotiate-sspi==0.5.2
requests-ntlm==1.2.0
rpyc==5.3.0
rsa==4.9
scipy==1.10.1
scooby==0.7.2
six==1.16.0
tqdm==4.65.0
tzdata==2023.3
uritemplate==4.1.1
urllib3==1.26.15
vtk==9.2.6
zipp==3.15.0

general issue or case specific?

As far as I can see it it is  case specific

Given the same Fluent state:

can you write the files OK in Fluent without going through PyFluent?
can you write the files OK in Fluent via the new Python console, using similar commands as in PyFluent?
can you write the files OK via PyFluent if you try to write the case and data files via separate commands?
have you checked solver.file.write.file_type.allowed_values()?

the case is broken after the following command.
solver.tui.mesh.modify_zones.make_periodic(peri_interface, bz_interfaces_periodic_names.get(peri_interface), 'yes', 'yes')

Can you break it just the same if the above Python call is just a TUI invocation like /mesh/modify-zones/... etc ? Trying to dig into whether there is something special about PyFluent here. Also, does bz_interfaces_periodic_names.get(peri_interface) provide data in the right format - that's something you could check.

Hello Sean, after some further debugging we found out that an invalid expression caused the crash after setting up the periodic boundary conditions. Strange is that the periodic boundary conditions and with it the crash is effect by an invalid expression. Overall I think it is not an python issue anymore but really hard to debug. Sorry for bothering

invalid boundary condition yields to the strange behavior but it is a general issue.


build hangs then crashed  when webworker creates new instances of itself

🐞 Bug report
Command (mark with an x)

- [ ] new
- [ x] build
- [ x] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?

 Yes, the previous version in which this bug was not present was: ....
N/A
Description
 A clear and concise description of the problem...
When a webworker creates a new worker of the same file the compiler get suck when compiling that file(presumably its suck in an infinite loop)
🔬 Minimal Reproduction

create a new cli project and generate a webworker named 'webworker-test'
In the webworker add the code below then try to build or serve the project

class WorkerTest{
  spawn(){
    const worker = new Worker('./webworker-test.worker', { type: 'module' });
  }
}

🔥 Exception or Error

30% building 44/45 modules 1 active ...\src\app\webworker-test.worker.ts
<--- Last few GCs --->

[22620:0000022F26191F00]   222583 ms: Scavenge 1322.9 (1424.4) -> 1322.4 (1424.4) MB, 3.3 / 0.0 ms  (average mu = 0.305, current mu = 0.327) allocation failure
[22620:0000022F26191F00]   222597 ms: Scavenge 1322.9 (1424.4) -> 1322.4 (1424.9) MB, 3.9 / 0.0 ms  (average mu = 0.305, current mu = 0.327) allocation failure
[22620:0000022F26191F00]   222616 ms: Scavenge 1323.4 (1424.9) -> 1322.5 (1425.4) MB, 3.4 / 0.0 ms  (average mu = 0.305, current mu = 0.327) allocation failure

<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0000033EE3CDC5C1]
Security context: 0x03431bc1e6e9
    1: checkFunctionOrConstructorSymbol(aka checkFunctionOrConstructorSymbol) [00000028B12180E9] [...\node_modules\typescript\lib\typescript.js:~53807] [pc=0000033EE524DA5D](this=0x03dc00f826f1 ,symbol=0x02db5a428ec1 )
    2: checkFunctionOrMethodDeclaration(aka checkF...

Thanks for reporting this issue. Luckily, it has already been fixed in one of the recent releases. Please update to the most recent version to resolve the problem.
If the problem persists in your application after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior. You can use ng new repro-app to create a new project where you reproduce the problem.


static link libpq and submodule libpqxx cicd

Change Description

Start 10445 description ......
EPE 886
This PR for cicd first. and after this merged. another PR take care of build script.
In this PR, on all platforms,  libpq is linked staticaly.  and libpqxx is submoduled under eos/libraries.
And also script build  are supported on all platforms.
End 10445 description ......
Change Type
Select ONE

[ ] Documentation

[ ] Stability bug fix

[x] Other

[ ] Other - special case

Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[x] Documentation Additions

It's probably better to maintain the git commit history in our fork. It's a lot easier to verify the fork matches upstream (up to our changes) when all commits in our fork have the exact same commit id as upsteam.
That said, if we're content with forking libpqxx, then I do question if the alternative approach I put forward where we modify libpqxx to support back to libpq 9.2 is the better choice. With a modified libpqxx supporting libpq 9.2, there is no need to build and static link postgresql on any of our supported platforms. That avoids quite a bit of complexity in the build system.

There seems to be some assumptions somewhere in the build that the environment is that of the cicd, and it's not properly detecting where various pieces are located.
My expectation is that, for example on macos 11, I can simply do
brew install cmake libusb gmp pkgconfig openssl boost postgresql
git clone ...
cmake
make

and it will work. But it fails with finding libpq-fe.h
This is another example of what becomes a lot easier if we simply dynamic link, as it seems to build as expected on my PoC branch.

It's probably better to maintain the git commit history in our fork. It's a lot easier to verify the fork matches upstream (up to our changes) when all commits in our fork have the exact same commit id as upsteam.
That said, if we're content with forking libpqxx, then I do question if the alternative approach I put forward where we modify libpqxx to support back to libpq 9.2 is the better choice. With a modified libpqxx supporting libpq 9.2, there is no need to build and static link postgresql on any of our supported platforms. That avoids quite a bit of complexity in the build system.

Which way to go need follow PM(s) decision.  Personally I think using libpq 9.2 too nostalgic as the current version is 13, old things will leave and new things come, I prefer to keep step with new things.

These changes break manual builds of eosio

The file need change is ensure libpq and libpqxx,  as this are too many commit in this PR, I just want make cicd work firstly and then another PR will make build script works.

The build scripts aren't passing. Also I don't see any changes that would resolve manual builds either but I haven't actually tried since last time.
Packages should be changed to not include pq/pqxx as a dependency. Double check we're including all appropriate licenses because I didn't see anything for libpq and we may need it.

The build scripts aren't passing. Also I don't see any changes that would resolve manual builds either but I haven't actually tried since last time.
Packages should be changed to not include pq/pqxx as a dependency. Double check we're including all appropriate licenses because I didn't see anything for libpq and we may need it.

After this PR, pq/pqxx are not required at nodeos runtime, but for the blockvalut test, if run test and set server to local machine(by default), pq is requried to install and started as a server.
pqxx has  Apache License, as other open source projects which had been included in eos, don't have issue.

pqxx has Apache License, as other open source projects which had been included in eos, don't have issue.

Anything we static link we need to be mindful of to include the appropriate license. For libpq from quick glance I take it that it's covered by this license
https://github.com/postgres/postgres/blob/master/COPYRIGHT
that certainly makes it looks like we need to include that file. Take a look in root CMakeLists.txt to see how it's done for others

After this PR, pq/pqxx are not required at nodeos runtime

Right, so it needs to be removed from generate_rpm, generate_deb, etc

The changes have been made in such a way that only libpq in the cicd/script locations work. This prevents a user from doing a "manual" build of eosio. For example, on macos I would expect something like
brew install git cmake libusb gmp pkgconfig openssl boost postgres
git clone ...
cmake
make

to work, however the build will fail on this branch.
Similarly on Ubuntu, the libpq supplied in 20.04 is only 12.7 meaning the functionality is skipped. This seems needlessly restrictive. On Ubuntu 21.04 where libpq is >13.0, the build suffers a similar failure to macos when doing something like
apt-get install build-essential git libgmp-dev libboost-all-dev libssl-dev cmake pkg-config llvm-11-dev libusb-1.0-0-dev libcurl4-openssl-dev libpq-dev postgresql-server-dev-all
git clone ...
cmake -DCMAKE_PREFIX_PATH=/usr/lib/llvm-11
make

pqxx has Apache License, as other open source projects which had been included in eos, don't have issue.

Anything we static link we need to be mindful of to include the appropriate license. For libpq from quick glance I take it that it's covered by this license
https://github.com/postgres/postgres/blob/master/COPYRIGHT
that certainly makes it looks like we need to include that file. Take a look in root CMakeLists.txt to see how it's done for others

https://github.com/EOSIO/libpqxx/blob/eosio/COPYING,  why this file not working, I imported all files under label 7.5.2.

The changes have been made in such a way that only libpq in the cicd/script locations work. This prevents a user from doing a "manual" build of eosio. For example, on macos I would expect something like
brew install git cmake libusb gmp pkgconfig openssl boost postgres
git clone ...
cmake
make

to work, however the build will fail on this branch.
Similarly on Ubuntu, the libpq supplied in 20.04 is only 12.7 meaning the functionality is skipped. This seems needlessly restrictive. On Ubuntu 21.04 where libpq is >13.0, the build suffers a similar failure to macos when doing something like
apt-get install build-essential git libgmp-dev libboost-all-dev libssl-dev cmake pkg-config llvm-11-dev libusb-1.0-0-dev libcurl4-openssl-dev libpq-dev postgresql-server-dev-all
git clone ...
cmake -DCMAKE_PREFIX_PATH=/usr/lib/llvm-11
make

Per my knowledge, build by cmake && make is not always support, as we have build scripts we should use it.
EPE886 shows clearly we will build from source for libpq and use the version we build. we don't need care about what version the platform bring.

The changes have been made in such a way that only libpq in the cicd/script locations work. This prevents a user from doing a "manual" build of eosio. For example, on macos I would expect something like
brew install git cmake libusb gmp pkgconfig openssl boost postgres
git clone ...
cmake
make

to work, however the build will fail on this branch.
Similarly on Ubuntu, the libpq supplied in 20.04 is only 12.7 meaning the functionality is skipped. This seems needlessly restrictive. On Ubuntu 21.04 where libpq is >13.0, the build suffers a similar failure to macos when doing something like
apt-get install build-essential git libgmp-dev libboost-all-dev libssl-dev cmake pkg-config llvm-11-dev libusb-1.0-0-dev libcurl4-openssl-dev libpq-dev postgresql-server-dev-all
git clone ...
cmake -DCMAKE_PREFIX_PATH=/usr/lib/llvm-11
make

Just noting that the build process documented for our customers relies on using the build script or performing a build using the instructions in our CICD scripts.
Manual build of dependencies. These are similar to the instructions in CICD builds
Build script

EOSIO is open source software and we should ensure the builds continue to operate properly via standard build practices: install dependencies, cmake, make.
Requiring users to build and place dependencies at a specific location, and then breaking the build when the user fails to do so, is no good. AFAIK the build scripts are not considered the canonical build instructions, and hopefully it stays that way: requiring users to run or understand a build script that borderline obfuscates the actions it is taking is also not the way to ship an open source friendly piece of software.
Consider too, that valid build environments from 2.1 will fail to build with these changes. Not just miss out on blockvault, but fail. As is, this PR breaks just as much as it fixes.
If it's not possible to change this PR to fix these issues then you should be looking at #10462 which does properly handle all this I believe.

Per my knowledge, build by cmake && make is not always support, as we have build scripts we should use it.

No, quite the opposite. Building using cmake and make with appropriate dependencies installed is primary (our CI follows this pattern, for example), and the build scripts are secondary. I am not even sure who the build scripts are for, since they are too obtuse and complex for someone who doesn't know how to build from source to learn from IMHO, and we offer binaries and docker containers that novices can use without all that work. The build scripts have a disproportionately high support burden relative to our other pieces of code, and I'd speculate that they consume a disproportionately high amount of developer time relative to the number of people who benefit from them. We have discussed removing them altogether many, many times, and I hope we do.

AFAIK the build scripts are not considered the canonical build instructions, and hopefully it stays that way

This.
I don't meant to dog-pile @softprofe, but I did want to share a different perspective. IIRC, the CI system did use the build scripts at one time and we stopped doing that because they were always breaking. They have gotten better over time, but cmake and make is the gold standard.

Just noting that the build process documented for our customers relies on using the build script or performing a build using the instructions in our CICD scripts.

I agree @nksanthosh, these commands look like they were lifted straight from our dockerfiles. Dockerfile syntax is not human friendly. We should be providing a human-friendly process, and we should explain what we are doing in each step so community members can learn and contribute. I imagine human-friendly instructions might look like steps 2, 5, and 6 under Core Tools in our Tool Install Guide. I am biased because I wrote it, and it is probably out-of-date at this point, but it explains what you are installing and at least makes some attempt to explain why. I copied those steps below because it is not publicly accessible:

Example

openssl — open-source cryptography library$ brew install openssl && ln -s /usr/local/opt/openssl/include/openssl /usr/local/include

The symbolic link helps compilers and IDEs find your include files

Install EOSIO dependencies$ brew install automake boost cmake doxygen gmp graphviz jq libtool libusb llvm@7 ninja pkgconfig python wget

automake — a tool for automatically generating Makefile.in files
boost — collection of portable, open-source C++ libraries
cmake — manages the build process using a compiler-independent method, including testing and packaging software
doxygen — tool for deriving software reference documentation from source code
gmp — library for arbitrary-precision arithmetic on signed integers, rationals, and floating points
graphviz — graph visualization software using the DOT graph description language
jq — command-line JSON processor
libtool — a consistent, portable interface for shared libraries
libusb — platform-agnostic access to USB devices
llvm — collection of modular, reusable, and platform-independent compiler and toolchain technologies
ninja — fast, multithreaded alternative to make
pkgconfig — determines library locations on a system at compile-time or install-time, so they don't need to be hard-coded
python — interpreted, high-level, general-purpose programming language
wget — command-line utility to download content from web servers

EOSIO — advanced smart contracts blockchain platform

Make an empty build directory$ [[ -d ~/Work/eos-legacy/build ]] && rm -rf ~/Work/eos-legacy/build; mkdir ~/Work/eos-legacy/build

Navigate there$ cd ~/Work/eos-legacy/build

Checkout the latest release   <-- don't do this, checkout develop, hopefully these commands will work for develop, if they don't, get a teammates help and update these so they are useful$ git checkout master

Update submodules$ git submodule update --init --recursive

Build EOSIO on all your cores, except two$ cmake .. && make -j $(( $(getconf _NPROCESSORS_ONLN) - 2 ))

A full build of CDT requires EOSIO to have been built and installed from source, rather than using the binaries

Install EOSIO$ make install

eosio-build-scripts pipeline is failing on mac build. This pipeline needs to be run manually from buildkite.

eosio-build-scripts pipeline is failing on mac build. This pipeline needs to be run manually from buildkite.

Paste the link pls. it shows all checks have passed. I can't see which pipeline was failed.

Link: eosio-build-scripts build 1968
I kicked also kicked off eosio-base-images build 1746.
These would both need to pass in order for this pull request to be merged.

Per my knowledge, build by cmake && make is not always support, as we have build scripts we should use it.

No, quite the opposite. Building using cmake and make with appropriate dependencies installed is primary (our CI follows this pattern, for example), and the build scripts are secondary. I am not even sure who the build scripts are for, since they are too obtuse and complex for someone who doesn't know how to build from source to learn from IMHO, and we offer binaries and docker containers that novices can use without all that work. The build scripts have a disproportionately high support burden relative to our other pieces of code, and I'd speculate that they consume a disproportionately high amount of developer time relative to the number of people who benefit from them. We have discussed removing them altogether many, many times, and I hope we do.

AFAIK the build scripts are not considered the canonical build instructions, and hopefully it stays that way

This.
I don't meant to dog-pile @softprofe, but I did want to share a different perspective. IIRC, the CI system did use the build scripts at one time and we stopped doing that because they were always breaking. They have gotten better over time, but cmake and make is the gold standard.

If you did all things like dockerfile did, and then cmake and make should work, I agree with that.
However,  only brew/apt/yum install  a list of things is not enough, as we already build some dependencies from source.
I don't agree with so called "right way" or "best way", any way have  advantages and disadvantages.
Build from source and linked statically is good and using a fixed version and put in fixed path. easy to control, easy to test, save human resource.
Using brew/apt/yum to install, have to deal with different version, different install path on different OS, some unexpected things happens you need used engineer to do fix. it costs company resources.  and you have to use low version on some platform, and you need take the risk of version mismatch. and you can do the cmake and make.
This is not only a opensource software, it is also a business. if sacrifice business benefit to follow opensource standard, is it really smart?

Link: eosio-build-scripts build 1968
I also kicked off eosio-base-images build 1746.
These would both need to pass in order for this pull request to be merged.

both passed.
eosio-build-scripts:    https://buildkite.com/EOSIO/eosio-build-scripts/builds/1974#

Making builds hard, obfuscated, and/or non-standard reduces users' confidence in the project. Builds failing with the simple cmake and make described above is just that.
Early versions of EOSIO required an exact old version of LLVM to compile, and required the user to chase down a rather obscure fork of libsecp256k1 to compile. Those sort of requirements were clearly friction to users, and it is generally not the kind of build environment one would expect from a top shelf open source application. The team has poured a lot of effort in to improving the build experience and I see no reason to regress even an inch for something that demonstrably needs not to.


handle v3 rights

This PR relates to issue 973 in UV.
Rights, logo and requiredStatement changed with version 3 of the IIIF presentation API.
A new release of Manifesto was made to accommodate these (commit here]
And I've submitted a PR to Manifold to add the relevant items to the getMetadata function, here
This PR to iiif-metadata-component adds the option to define a label string for the rights, and to include it in the URI parsing so that rights URIs provided are rendered as links.
I've accidentally made commits to this PR related to UV issue 1081. I can split them out to a new branch if necessary.

Thanks @demiankatz I've made the requested change here

Thanks, @jamesmisson! Given that the more/less logic is still in flux over at https://github.com/UniversalViewer/universalviewer/pull/1148, maybe it would be a good idea to revert the changes related to that here so we can merge the rest without things getting too confusing....


update zng type enum

Enums are currently represented by strings but they should be coded as ints (i.e., the positional index of the enum string in the typedef) so that end systems using zng with enum can recover the full typedef of the enum.  This will also serve as a hint to optimization that an enum column has low cardinality./

Need to add as an enum type when we re-number the typedefs.

I've verified current functionality in zq commit 18045ab, though there's more yet to come.
A summary of what's changed & current state:

In the ZNG spec enum was removed from the Primitive Types and instead there's now an enum typedef.
At the moment (zq commit 18045ab), references to enum field names in expressions resolve to their underlying value, such as shown in one of the tests @mccanne added in the linked PR:

$ zq -version
Version: v0.22.0-57-g18045ab

$ cat enum.tzng
#0:record[e:enum[int32,foo:[1],bar:[2],baz:[4]]]
0:[0;]
0:[1;]
0:[2;]

$ zq -t "put s=e:string, v=e+1" enum.tzng
#0:record[e:enum[int32,foo:[1],bar:[2],baz:[4]],s:string,v:int64]
0:[0;foo;2;]
0:[1;bar;3;]
0:[2;baz;5;]

Follow-on work that remains:

Support for enum in ZST (#1469)
Add more ZQL syntax for working with enum (#1498)


Limitation of integrating a new environment in persona (Production - Staging)

We got a new environment from persona called 'Production - Staging'. But in the Persona Flutter SDK the only available enums of InquiryEnvironment are sandbox and production.
How do we send the Production - Staging using the persona flutter SDK?

Hi @HarithaMadhushanka
You probably should contact the persona support for this case, since their native sdk the only allowed environment values are staging and production.

Fell free to pull request the solution for your problem or ping me if you need any changes to the plugin.

Hi @jorgefspereira
We have gone through the persona documentation. In their documentation, there is a place to add the environmentId. However, we are currently struggling with how to pass the environmentId. Could you please help us? about this concern


Line chart : incorrect color-coding while setting filters

incorrect color-coding while setting filters when we use two splits or more

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-15451

DG 1.18.5


Force tab reload after log out

Force all main tabs to reload after log out to perform a proper logout
Fixes #1419
Fixes #1558

Hmm I can't reproduce that error


Error on cells using progress bar (tqdm)

Hello, I got the error

ERROR: Content block expected for the "raw" directive; none found.

on my cells using a progress bar (tqdm for instance). It appears when upgrading to Sphinx 7.2.6.

I'm also seeing this in my logs: https://readthedocs.org/api/v2/build/23454115.txt

This has been reported at https://github.com/jupyter/nbconvert/issues/2092.
This should probably be fixed in nbconvert, but I'm not sure if it should also be worked-around in nbsphinx.
Any suggestions?
Any volunteers?
In the meantime, pinning nbconvert < 7.14 should avoid the problem.

Thanks for pointing the nbconvert issue.
I'll try with nbconvert 7.13.
For now, I just stopped running my notebooks (nbsphinx_execute = "never") waiting for one of these issue to be fixed 🤞 .

Pinning nbconvert to 7.13 fixed it. Should I close this issue ?

I think this should stay open until there is a real fix. Pinning nbconvert isn't really a long-term solution.

I suggested a fix to nbconvert: https://github.com/jupyter/nbconvert/pull/2142

nbconvert v7.16.4 has just been released and it should fix this problem.
@ThibaultFy @arjunsavel Can you please check if that works for you?

I assume this works now. If not, please let me know!


Feature: Update Provisioning Plugin to handle CCA Platform Endorsements

Define New Profile to handle CCA Platform Endorsement.
Handle CCA Platform Endorsements by extending the PSA plugin

Phase 1 Tasks:
(a) Introduce and Define new Provisioning Profile for Provisioning CCA Platform Endorsements.
(b) Handle decoding of new CCA Platform Endorsements within PSA CoRIM Plugin
(c) Decode CoRIM Profile in the base code: ( this is missing implementation in the PSA Part).
(d) Write tests to cover the newly added functionality!

Phase 2 Tasks:
Modify interface between Provisioning and VTS (vts.proto)  for
-> Rename AddSoftwareComponent() to AddReferenceValue() or AddEndorsement()
-> Modify the Endorsement Store Interface to have "sub_type" key in the attributes. This is to distinguish the type of Reference Value: Example SW Measurements or CCA Platform Config
--> Define new attributes for CCA Namespace When the CoRIM Profile is for CCA one needs to set these

https://github.com/veraison/services/pull/91
Addresses Phase 2 tasks
Hence closing this issue


Path backwards compatibility in version 5.0

Older WebKit browsers using Path instead of Path2D are not detected as supporting Path anymore, with the 5.0 branch.
This backports fixes from the 5.1 branch to make sure both names are supported.

Closing this pull request, because it was already applied somewhere in the past. No idea why it is still open.

Compatibility for both Path and Path2D was committed in the 5.1 branch only, not 5.0.
Anyway, this is history now, thanks for the update.


Different security definitions per document?

First, thanks a lot for this excellent library, I think it perfectly mixes the amount of stuff that happens automagically with the customization enabled by the filters!
I am serving multiple Swagger documents and they don't all need the same security definitions. It seems that we can only define those definitions once and for all documents (in SwaggerGenOptions.AddSecurityDefinition), so I tried to write a DocumentFilter that scans all the pathes and their corresponding security requirements, and cleans up the unnecessary security definitions. It kinda works, except that I realized that the clean-up I was performing reflected in all documents, and that this IDictionary<string, SecurityScheme> was effectively shared by all documents.
Would there be an other way to achieve what I'm looking for?

+1
It's weird that most of the swagger definitions are shared. It would have been much more interesting to put everything inside the SwaggerDoc() function. Of cource, you can reuse the same object between multiple swagger definitions and you'd have the full control on this.

@domaindrivendev Please take a look.

ref https://stackoverflow.com/questions/58694220/asp-net-core-2-2-swagger-endpoint-specific-security-definition

@Odonno Yes it would be nice to have per-document configuration but unfortuntely the code has evolved in a different direction and this would require a significant refactor at this point, and there's many other items that are higher prioritiy.
With that said, I think the underlying goal for this issue will be possible in v6.0.0 thanks to the following #1922

@Odonno Yes it would be nice to have per-document configuration but unfortuntely the code has evolved in a different direction and this would require a significant refactor at this point, and there's many other items that are higher prioritiy.
With that said, I think the underlying goal for this issue will be possible in v6.0.0 thanks to the following #1922

For anyone else landing on this issue - this is now possible with v6 using a document filter. For example:
internal class AuthorizationDocumentFilter : IDocumentFilter
{
	public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
	{
		if (context.DocumentName == "document-name-here") {
			var securityScheme = new OpenApiSecurityScheme {
				Type = SecuritySchemeType.Http,
				Scheme = "bearer",
				BearerFormat = "JWT",
				Description = "JWT Authorization header using the Bearer scheme."
			};
			swaggerDoc.Components.SecuritySchemes.Add(securityScheme.Reference.Id, securityScheme);
			swaggerDoc.SecurityRequirements.Add(new OpenApiSecurityRequirement {
				{securityScheme, new string[] { }}
			});
		}
	}
}


Fix security vulnerabilities

However lerna still has vulnerabilties even after updating to the latest version of the package

@TCourtneyOwen I renamed the PR just because "CG" doesn't mean much to anyone.  Hope that's OK with you.

sure thing on the renaming of the PR


[FLINK-22851][security] Add basic authentication support to job dashboard and REST

What is the purpose of the change
The Flink Dashboard and HistoryServer lacks any kind of authentication but enterprise users are expecting that.
In this PR I'm adding basic authentication. Please see FLIP for further details.
Brief change log

Added the necessary configurations (please see docs)
Added basic authentication to History Server
Added basic authentication to REST Client
Added basic authentication to REST Server
Added commons-codec dependency to flink-runtime-web because of MD5 usage
Made TestRestServerEndpoint public
Added various documentations

Verifying this change
The following automated tests has been added:

RestBasicAuthITCase
HistoryServerBasicAuthTest

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): yes
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? docs + JavaDocs

@flinkbot run azure

@flinkbot run azure

cc @mbalassi @gyfora
@sunxiaoguang we've seen you're struggling w/ tests for quite some time and we would like to help you out by contributing our implementation which works already in production. Hope this helps.
@tillrohrmann this is the basic (weak) authentication part and kerberos SPNEGO (strong) authentication has similar complexity but it's depending on this change. When these 2 added no further implementation is planned.
Just to give some reasoning why I've made the split: having horror huge PRs would make the review extremely hard which just wastes everybody's time.
Comments/suggestions are welcome as always.

cc @mbalassi @gyfora
@sunxiaoguang we've seen you're struggling w/ tests for quite some time and we would like to help you out by contributing our implementation which works already in production. Hope this helps.
As I've seen you would like to add more weak authentications. My view on that it that it's not giving any business/return in investment advantage having more than one.
@tillrohrmann this is the basic (weak) authentication part and kerberos SPNEGO (strong) authentication has similar complexity but it's depending on this change. When these 2 added no further implementation is planned.
Just to give some reasoning why I've made the split: having horror huge PRs would make the review extremely hard which just wastes everybody's time.
Comments/suggestions are welcome as always.

Well, I‘m ok as long as our concern about security is covered. The reason I didn't put tests is that I would like to hear some feedback about the PR from the community in case the implementation would be changed and the test has to be changed as well. So basically there is no struggling but I'd be glad to see that this is fix somehow in community. As long as the community reaches consensus and it definitely doesn't have to be my effort.

Closing the PR based on the email discussion. The plan is to add protocol agnostic API.


Build args parse

WHY
#235
grapi build [TARGET] fails. And can't pass [BUILD_ARGS] to command.
WHAT

fix argument parse
change testable code
pass build option to go build command

Codecov Report

Merging #258 into master will increase coverage by 1.66%.
The diff coverage is 76.47%.

@@            Coverage Diff             @@
##           master     #258      +/-   ##
==========================================
+ Coverage   58.43%   60.09%   +1.66%
==========================================
  Files          32       32
  Lines        1203     1218      +15
==========================================
+ Hits          703      732      +29
+ Misses        452      436      -16
- Partials       48       50       +2

Impacted Files
Coverage Δ

pkg/grapicmd/cmd/build.go
78.37% <76.47%> (+78.37%)
:arrow_up:

pkg/grapicmd/cmd/init.go
0.00% <0.00%> (ø)

pkg/grapicmd/internal/usecase/init_config.go
100.00% <0.00%> (ø)

...cmd/internal/usecase/initialize_project_usecase.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Can't get "Early Access to Support React 16" as described in Ext-React 6.5.3 release notes

After following the steps described here https://www.sencha.com/blog/announcing-sencha-extreact-6-5-3-ga-and-react-16-ea/
npm login --registry=http://npm.sencha.com --scope=@extjs
git clone -b 2.0.x-dev git@github.com:sencha/extjs-reactor.git
cd extjs-reactor/
npm install
I  get an error message : No compatible version found<EMAIL_ADDRESS>I also tried to login on "test.npm.sencha.com" but can't login there with the same user/pass.

ExtReact 6.6.0 hasn't been released yet, but it is going through the final release preparations. We're finishing up a few last minute things. We're hoping to push it out within the next week or so. That said, it could slide if QA finds something.

Thanks for the update.
Is it possible to get access to the Early Preview of ExtReact 6.6.0 through the test.npm.sencha.com registry?
How can i get an user/pass to test on that registry?

I'm not sure we have something configured for this yet. But I could check into the options. Can you email me and ask<EMAIL_ADDRESS>

I sent an email and also logged a new issue https://github.com/sencha/extjs-reactor/issues/742 as this is what blocks me and I hoped it’s solved in the ExtReact 6.6.0 version.
Thanks!

any updates on "release" of ExtReact 6.6.0?

Sorry for the delay, QA found a few minor issues and we wanted to be sure those were fixed first. We did the npm release planning yesterday, so I suspect the bits to go out the beginning of next week. Once QA signs off on it, the bits should go out, so there a possibility of delay, but I suspect it's really close now.

Do you know if this issue was fixed as well https://github.com/sencha/extjs-reactor/issues/742 ?

any updates on the "release" of ExtReact 6.6.0?

I apologize for the delay. QA found some more things going on that caused some of the delay. So we've been fixing the issues. We have also simplified everything in the npm names. So we made a change in the package structure, which took longer than we wanted. But it's going to be easier to use the npm packages across the board for both ext-react and extjs. We are now in the final days of testing again, if all goes well with the final testing we hope middle of this week to push the releases. That said, there is a possibility QA may cause things to slide. We are pushing hard to get finish up the final testing and polishing of ExtReact. We feel the pain of this delay and don't anticipate this happening again. That said, we also want to release a high quaility product that is easy to use. Thanks for asking.

Sounds good, thanks for the update, can't wait to play with the new bits.

ExtReact 6.6 GA has been released.
https://www.sencha.com/blog/announcing-sencha-extreact-6-6-ga-with-react-16-support/
Everything here is moving to https://github.com/sencha/ext-react.

Anything with the reactor name has been renamed to ExtReact. This means the reactor is now called ExtReact and contains the same logic. So it is still developed but under the ExtReact name. I provided the new repo the code here was moved to. So react+extjs is called ExtReact.

Ok, so i can still use my extjs 6.5 i bought a year ago, with reactjs without paying for ExtReact or not ?
Thanks for the info anyway.

@branflake2267  We migrated to the new Ext-React repository, but we have a big problem we din't have with ext-reactor.
Normal Html elements (<div />) are not rendered anymore when using the classic toolkit :(
I logged an issue here https://github.com/sencha/ext-react/issues/85 and on sencha forums as well.

@ardabeyazoglu Yeah, the ext-react (reactor) provides a path to using Ext JS as JSX. That's our goal allow you to use Ext JS in your React apps.
@eucaos I'll check that out, thanks for reporting.

The page Guide for Ext JS Customers is not updated, and is hard to find it in docs menu.
would be good to keep it up to date so users are not descuraged that there is no solution with extjs license, also to be able to test the product in less than 1day.
Thanks.

Thanks for bringing that up. The changes are sitting on our staging server, I'm checking with PM to see if we can push to production.


Add sharesome.com

sharesome.com is an adult social media website

Hey @paulpfeister nice submission, unfortunally you only done it 1/4 :unamused:
As @Clefspeare13 haven't adapted my First draft for next step of automatisation you'll need to manually submit your contribution to:
.
├── <IP_ADDRESS>
│   └── hosts
├── <IP_ADDRESS>
│   └── hosts
├── Mobile_0_0_0_0
│   └── hosts
├── SafeSearch
│   └── hosts

Do that and I hit the Merge pull request :+1:

Whoops, must have been in a rush. I've updated the other files as well.


Fix several compiler warnings

This PR fixes several compiler warnings all over the code-base, many of which just appeared after switching to arm-none-eabi-gcc 7.3.1. Let me know of any required changes or simply close the PR if it's not of interest.

@changtengfei would you mind to have a look at the PR and set proper labels/assignees?

Can one of the admins verify this patch?


Develop facet browse interface

Facets will be truncated, then when you click on them, a modal interface will appear where you can filter and multi-select facets.

Major Facets:
Age
For What Committed
Gender
Parentage
Religion
Where Born (City)
Where Born (State)
Where Born (Country)


Fail to make package (error: 'cluster-node-timeout 50')

make start
rm -vf /tmp/redis_cluster_node*.conf 2>/dev/null
rm dump.rdb appendonly.aof - 2>/dev/null
make[1]: [cleanup] Error 1 (ignored)
echo "$REDIS1_CONF" | redis-server -
echo "$REDIS2_CONF" | redis-server -
echo "$REDIS3_CONF" | redis-server -
echo "$REDIS4_CONF" | redis-server -
echo "$REDIS5_CONF" | redis-server -
echo "$REDIS6_CONF" | redis-server -
echo "$REDIS7_CONF" | redis-server -
echo "$REDIS_SENTINEL1" > /tmp/sentinel1.conf && redis-server /tmp/sentinel1.conf --sentinel
echo "$REDIS_SENTINEL2" > /tmp/sentinel2.conf && redis-server /tmp/sentinel2.conf --sentinel
echo "$REDIS_SENTINEL3" > /tmp/sentinel3.conf && redis-server /tmp/sentinel3.conf --sentinel
echo "$REDIS_CLUSTER_NODE1_CONF" | redis-server -
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 3

'cluster-node-timeout 50'
Bad directive or wrong number of arguments
make[1]: *** [start] Error 1
make: *** [package] Error 2

This really confuses me because I couldn't figure out how to solve this. I saw some comments at https://groups.google.com/forum/#!msg/jedis_redis/66Z-VWiybe0/ftsPyUCGFJAJ but I don't how to install Redis-3.0 because by default brew install redis will just install Redis-2.8.13 on MacOSX. I also tried to manually download and install Redis-3.0 by http://redis.io/download, but I got no lucky on MacOSX, which showed me:
Undefined symbols for architecture x86_64:
"___atomic_add_fetch", referenced from:
_zmalloc in zmalloc.o
_zcalloc in zmalloc.o
_zrealloc in zmalloc.o
_zmalloc_used_memory in zmalloc.o
_zmalloc_get_fragmentation_ratio in zmalloc.o
"___atomic_sub_fetch", referenced from:
_zrealloc in zmalloc.o
_zfree in zmalloc.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [redis-server] Error 1
make: *** [all] Error 2
Does anyone which Jedis branch/tag can be compatible with Redis-2.8.13? I just tried switching branch to 2.5 and 2.6 but it still shows 'cluster-node-timeout 50' building error.

The main page say that "Jedis is fully compatible with redis 2.8.5." so is this only a build issue ? If so are there pre built jars somewhere ?

@Zitrax make start command starts the Redis servers needed to run the tests.
Probably, the Redis installed on your machine is not the latest unstable version of Redis, that's why your make start is getting errors.
I think you can't install the latest unstable version of Redis from brew install. You need to checkout the Redis repo(https://github.com/antirez/redis) and build it manually.


How to use a service account for CI deployments

Running clasp login sets up a .clasprc file with a token that seems to last about a week.
Is there any way to get some kind of authentication working that could work in a headless setup like CI (E.g. GitHub Travis or Bitbucket Pipelines) please?
I looked at https://script.google.com/home/usersettings which has a switch for the API, but nothing about service tokens.

Note from @grant, please upvote this bug!
https://issuetracker.google.com/issues/36763096

This seems to be related to https://github.com/google/clasp/pull/28 - but although it does require a browser, it still requires interaction on the command line.

Pinging @grant on this one (as a recent committer to https://github.com/google/clasp/blob/master/src/auth.ts).
I looked at the oauth2 client used here, and it seems there is a way to set creds in an env var: https://www.npmjs.com/package/google-auth-library#loading-credentials-from-environment-variables
It even mentions the deployment use case.

clasp auto-refreshes access token for any clasp command when it expires (~24h?). You should only need to clasp login once. (Unless you add scopes or change users).
~/.clasprc.json has these:

access_token
refresh_token

This request is for using a service account rather than a user account. I think using --ownkey should already solve this, but I'll have to check more and document it.

@grant - any kind of auto refresh would then need to persist - in the context of CI then, one would have to check if the local .clasprc file (which CI would have to generate from secret env vars) changed, and then somehow update the env vars that contain the secrets.
--own-key seems to only be about having a .clasprc file in the local directory, not using a service account JWT key of the form:
-rw-r--r--@   1 mscriven  staff        1165 28 May 23:36 stream.json
-rw-r--r--@   1 mscriven  staff     2434671 29 May 05:10 IMG_2053.JPG
-rw-r--r--@   1 mscriven  staff     2670179 29 May 05:10 IMG_2054.JPG
-rw-r--r--@   1 mscriven  staff     7402971 30 May 08:03 working.log
-rw-r--r--@   1 mscriven  staff     3577862 30 May 08:04 broken.log
{
  "type": "service_account",
  "project_id": "project-id-xxxxxxxxx",
  "private_key_id": "xxx",
  "private_key": "-----BEGIN PRIVATE KEY-----\n=\n-----END PRIVATE KEY-----\n",
  "client_email": "xxx",
  "client_id": "xxx",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxx.iam.gserviceaccount.com"
}

To expand, the code snippet from google-auth-library is:
export CREDS='{
  "type": "service_account",
  "project_id": "your-project-id",
  "private_key_id": "your-private-key-id",
  "private_key": "your-private-key",
  "client_email": "your-client-email",
  "client_id": "your-client-id",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "your-cert-url"
}'

And then:
const {auth} = require('google-auth-library');

// load the environment variable with our keys
const keysEnvVar = process.env['CREDS'];
if (!keysEnvVar) {
  throw new Error('The $CREDS environment variable was not found!');
}
const keys = JSON.parse(keysEnvVar);

async function main() {
  // load the JWT or UserRefreshClient from the keys
  const client = auth.fromJSON(keys);
  client.scopes = ['https://www.googleapis.com/auth/cloud-platform'];
  await client.authorize();
  const url = `https://www.googleapis.com/dns/v1/projects/${keys.project_id}`;
  const res = await client.request({url});
  console.log(res.data);
}

Hey @marcosscriven does this PR https://github.com/google/clasp/pull/223 solve your issue? It removes --ownkey in favor of --creds
This changes clasp login so that it loads those creds from a json file. Does your CI pipeline specifically need it to load from an environmental variable? We can probably make that an option as well.
However, it still requires you to select the Gmail account you're authorizing the app for. I can take a look at that sample code there and see if we can get it to work. Looks like
  await client.authorize();
  const url = `https://www.googleapis.com/dns/v1/projects/${keys.project_id}`;
  const res = await client.request({url});

may be where it authorizes without opening up in the browser.
I hope this helps! Also feel free to open your own PR, or ask more questions.

@campionfellin - it certainly looks close. It doesn't have to be from env vars - I'm chiefly thinking about Bitbucket Cloud Pipelines https://confluence.atlassian.com/bitbucket/environment-variables-794502608.html
One could easily generate a JSON file at build time, populating the secrets from the env vars. It would be handy to avoid that step though, as show in the snippet.

Also @campionfellin - I don't think the snippet you highlighted is anything to do with the auth - it's just an example of going on to use any of the APIs (dns in this instance).
The bit that enables it is simply   const client = auth.fromJSON(keys), with the keys in the format I posted.

Hey @marcosscriven it looks like rather than using auth.fromJSON(...) I just read and parsed the file manually (https://github.com/campionfellin/clasp/blob/64b5301ccef7dcc99a2d9690c6d52db708975e08/src/auth.ts#L60). I can go ahead and change that.
However, I don't think this would solve the issue of getting the access_token or refresh_token that you need in your .clasprc.json file unless client.authorize(...) is what does that.

Hey @marcosscriven , so it does look like using what's in the sample will work. client.authorize(...) is what does the work for us. It will take some time to make those changes though.

Question for @grant : is this what we want to do by default, or add a flag for it? I am afraid of taking away the user's ability to see what scopes they are authorizing.

My question is more for users who don't generate service accounts. What about a flag like --use-service-account ?

Another flag sounds OK. I'm getting a bit confused by all the discussion here, but it seems like this is just a FR for adding another flag like clasp login --service-account and changing authorize to work with service accounts.

@grant - I'm not clear of the purpose of 'logging in' with a service account?
To be clear, I would expect to be able to provide service account credentials (created according to https://developers.google.com/identity/protocols/OAuth2ServiceAccount), in either a file or env var, and for all remaining API actions to simply use client.authorize().

@campionfellin Thanks for looking into this - as it happens, I'm not looking for impersonation in my case. There's two flavours of that in OAuth - there's the 3LO (Three-legged Oauth), which allows impersonation with a pre-shared key, but still requires user interaction for the user to accept. There's a much lesser known 2LOi (Two-legged Oauth with Impersonation) - but I don't see that mentioned anywhere in Google's docs.
Anyway - for me, I do have an account I setup just for services, and I give that account the rights to run scripts and access drives that way.
All I need here is for the OAuth client clasp uses to be setup with the service account json key (as in your penultimate post), and that'll work for me.
Regardless though - the method you specify for working around it (if one needed to) is what I considered to start with, but noted the token there has about a week's validity. At which point clasp can refresh the token with the URL it has in .clasprc - but that gets written to disk.
So this can't be one way in CI - it too would have to store (securely) any changes to the token that clasp made right?

@campionfellin - I just wasted some hours on using the service account (which should work). The crucial step (even for a service account with 'Domain-wide delegation'), was that I still had to go to the script project and 'share' it with the service user email (of the form serviceuser@project-id-123456789.iam.gserviceaccount.com).
I'm pretty sure that last step is not meant to be necessary. Maybe related to https://issuetracker.google.com/issues/36763096
@grant - As you're a member of the Google team on Github, is there any chance you can investigate this please? There's a lot of confusion around service accounts and the App Scripts API.

To clarify, using the Python Google OAuth 2 client, this works:
from google.oauth2 import service_account
import googleapiclient.discovery

SCOPES = ['https://www.googleapis.com/auth/script.projects']
SERVICE_ACCOUNT_FILE = 'service.json'

credentials = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES)

script = googleapiclient.discovery.build('script', 'v1', credentials=credentials)
response = script.projects().get(scriptId='myscriptid').execute()
print response

Trying to use delegation-wide service account the right way (E.g. without the 'sharing' hack I mentioned), even just reading the project fails:
SCOPES = ['https://www.googleapis.com/auth/script.projects', 'https://www.googleapis.com/auth/drive']
SERVICE_KEY = json.loads(os.environ['SERVICE_KEY'])

credentials = service_account.Credentials.from_service_account_info(SERVICE_KEY, scopes=SCOPES)
delegated_credentials = credentials.with_subject('<email>)
script = googleapiclient.discovery.build('script', 'v1', credentials=delegated_credentials)

response = script.projects().get(scriptId='<scriptId>').execute()

Fails with:
google.auth.exceptions.RefreshError: ('unauthorized_client: Client is unauthorized to retrieve access tokens using this method.', u'{\n  "error" : "unauthorized_client",\n  "error_description" : "Client is unauthorized to retrieve access tokens using this method."\n}')

Despite ensuring those API scopes have been authorized for that client ID as per https://developers.google.com/api-client-library/python/auth/service-accounts.

Note I asked about this on Stack Overflow to0 https://stackoverflow.com/questions/51049548/how-can-i-publish-a-google-app-script-using-a-domain-wide-delegation-service-acc

Hey @marcosscriven, thanks for all the investigation.

Please upvote the linked bug and this issue so I can ask the Apps Script team to prioritize this.
If there's a workaround that clasp can promote in the meantime, perhaps we can make that setup easy.

@grant - I don't see any voting options there, but I've commented on it.
It says it's 'blocked by' https://issuetracker.google.com/issues/26400743, but I don't have view permissions on that.

@marcosscriven It looks like this issue is being triaged by the Apps Script team. I've asked the team for an update on the issue.

@grant good news! Let’s hope it gets fixed. Thanks for following for following up.

To be honest, I don't expect this to be fixed by the team in the next 3 months, but we will see.

Any update on this? Is it possible to authenticate clasp using a service account credential?

for reference, this is how it works in gcloud
gcloud auth activate-service-account --key-file service-account-credentials.json

Out of curiosity, if I were to copy the .clasprc.json from my local to ci, what would happen after expiry_date? My understanding is that although access_token expires, refresh_token doesn't expire. So would clasp be able to fetch new tokens successfully?

What I'm basically asking is, once a user does a clasp login, will clasp ever ask the user to login again?

I pinged again.
You should only need to login once. Then run forever. We auto-refresh to access token with the Node client (googleapis).
You can read more about the token here:
https://developers.google.com/identity/protocols/OAuth2#expiration
I believe you can just login once and clasp will work for your service.
For example, clasp itself uses an encrypted token that is used for CI tests. I only had to login once.

What is the summary of the workaround or fix for this?

Workaround: Create a new G Suite account and create scripts using that as a "service account"
Action: Please upvote this bug: https://issuetracker.google.com/issues/36763096

This will allow me to tell the team that this is important

Affected too. Upvoted the bug.

Hi guys,
I don't want to start a new thread, so I'll ask in this one
I want to use Github Actions to do clasp push on every push, and so far unsuccessful:

I have a regular account in GCP and have downloaded creds.json and logged in locally, with
clasp login --creds creds.json this resulted in .clasprc.json file that I have added to Github sercets and using it as environment variable
While running CI I'm creating a .clasprc.json from that environment variable
I verified that this file contains same data I have locally
When it runs clasp push - it says I am not logged in. When it runs clasp login it's asked to use a URL, so build gets stuck

how do I make it login without a need to click on URL?

Hi all,
I am also trying to set this up, but then by using CloudBuild. After running clasp login --creds creds.json it still opens the browser. Where creds.json is a file with an OAuth 2.0 credential. I also created a service account and tried to sign in using that credential. But this credential has the wrong format. Any suggestions on how to set this up are appreciated.

@sativ01
I get this working by putting .clasprc.json into home directory, in my GitHub Actions I have:
echo $CLASPRC_CREDENTIALS > $HOME/.clasprc.json

where $CLASPRC_CREDENTIALS is content of .clasprc.json generated by clasp login --creds creds.json

Action: Please upvote this bug: https://issuetracker.google.com/issues/36763096

This will allow me to tell the team that this is important

@grant Any news on service account support within App Script API (and later in clasp)?

No news here ☹

+1
Looking to setup a CI pipeline that is able to do clasp push without sharing a (g suite) user's .clasprc.json with the CI pipeline, I find this pretty standard eg: AWS, and after 2 years this issue is still open...

I also am waiting to have a solution for CI

Any update here?
Any recommendation to spin up a CI pipeline within Azure with following steps:

Authenticate through ServiceAccount headless (clasp login)
Pushing changes (clasp push)

Following this looks like an endless journey..

FYI
I've developed a CI/CD process for Google Apps Script using GitHub Actions.
See my comment here: https://github.com/google/clasp/issues/707#issuecomment-844364570

@ericanastas
This one can be hardly called a "process" as .clasprc.json token will expire in 6 month.

@ericanastas
This one can be hardly called a "process" as .clasprc.json token will expire in 6 month.

Did you look at the script? It's run by a cron trigger every week and stores.classprc.json if it is updated.

is there a proper way to setup auth for service account yet? one more team impacted here :/

@ericanastas
This one can be hardly called a "process" as .clasprc.json token will expire in 6 month.

Did you look at the script? It's run by a cron trigger every week and stores. classprc.json if it is updated.

Admin token required? No thanks, lol

@ericanastas
This one can be hardly called a "process" as .clasprc.json token will expire in 6 month.

Did you look at the script? It's run by a cron trigger every week and stores. classprc.json if it is updated.

Admin token required? No thanks, lol

Which "admin" are you referring to?

Hello , everybody, i succed to make a clasp push from my github worflow with the help of namaggarwal/clasp-token-action .
Now, i try to automate a call to the clasp run from the CI. I change my appscript project to a GCP custom project, and success to male the run call from my computer (ok). But now, i don't understand which credentaisl must be given in my workflow to can do the run there.
Does someone succeed to do that ?

@fletort i think the answer is that you need to generate credentials on your local computer (the global .clasprc.json generated in your /users/yourUser directory when you do a clasp login), copy those to a secret in your repo (since they are sensitive credentials and would not be expected to be public) and when the virtual machine that executes the CI/CD workflows sets-up the basic configuration, copy these credentials from the secret to a .clasprc.json located in the root (~/.clasprc.json)
      - name: Write CLASPRC_JSON secret to .clasprc.json file
        id: write-clasprc
        run: echo "$CLASPRC_JSON_SECRET" >> ~/.clasprc.json
        env:
          CLASPRC_JSON_SECRET: ${{ secrets.CLASPRC_JSON }}

I attach to this response also this other comment in a related post where i explain the workaround that worked for what i was trying to dohttps://github.com/google/clasp/issues/707#issuecomment-2250355232


Unable to open preference pane

Hi, big fan.
I'm not able to open the preference pane on Mac Sierra 10.12.2
Messenger <IP_ADDRESS>9230589
Tested reloading from server.
This means I can't turn off the beeps for new messages.
Cheers,
Phil

I'm not able to do the same on Yosemite

Hello,
I have the same problem, I'm on macOS Sierra 10.2.2 and Messenger 0.1.10.
Thanks!

+1

+1 on Mac OS-X 10.11

+1 - there's no way of muting preferences, so I have to stop using this app until this gets resolved.

+1

I found a temporary fix:
Control Panel > notifications > messenger
Play sound for notifications.

I'm glad to see this issue was reopened. While you can indeed mute notification sound in the Notifications settings, there's still a Preferences menu item in the app itself that appears to not do anything. It should either launch a window, or be removed from the app if it's pointless.

Pretty tired of updating this app every time Facebook rearranges messenger.com
The solution here should be to remove the nice (but problematic) preferences and have the "gear" icon of messenger.com shown.
:(

Is there any fix coming out for this soon? @rsms


Integration Test - Release - 2019/03/28 02:10:10

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@PRMergerTest2 : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.


Compilation Error when try to package generated clientLibs

Hello,
I'm working on REST Api developped with Google Cloud Endpoints Framework in Java, everything works correctly when I compile the appengine project and when I create ClientLibs using mvn endpoints-framework:clientLibs.
The second command generates me a zip file which contains sources for client-library, but when I unzip and try to mvn clean package on it pom.xml, it give me a lot of compilation errors:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building company v1-1.23.0-SNAPSHOT v1-1.23.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ company ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ company ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ company ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ company ---
[INFO] Compiling 35 source files to /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/company.java:[4256,11] error: cannot find symbol
[ERROR]  class company.User
/home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/company.java:[4163,11] error: class company.User.Create is already defined in class company.User
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/companyDevice.java:[32,13] error: duplicate class: io.company.api.company.model.companyDevice
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/RegistryCredential.java:[32,13] error: duplicate class: io.company.api.company.model.RegistryCredential
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/PublicKeyCertificate.java:[32,13] error: duplicate class: io.company.api.company.model.PublicKeyCertificate
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/MqttConfig.java:[32,13] error: duplicate class: io.company.api.company.model.MqttConfig
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/Invitation.java:[32,13] error: duplicate class: io.company.api.company.model.Invitation
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/EventNotificationConfig.java:[32,13] error: duplicate class: io.company.api.company.model.EventNotificationConfig
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/SiteCollection.java:[32,13] error: duplicate class: io.company.api.company.model.SiteCollection
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/company.java:[4157,13] error: constructor Create in class company.User.Create cannot be applied to given types;
[INFO] 10 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.316 s
[INFO] Finished at: 2018-07-10T16:41:45+02:00
[INFO] Final Memory: 13M/161M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project company: Compilation failure: Compilation failure:
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/company.java:[4256,11] error: cannot find symbol
[ERROR] class company.User
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/company.java:[4163,11] error: class company.User.Create is already defined in class company.User
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/companyDevice.java:[32,13] error: duplicate class: io.company.api.company.model.companyDevice
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/RegistryCredential.java:[32,13] error: duplicate class: io.company.api.company.model.RegistryCredential
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/PublicKeyCertificate.java:[32,13] error: duplicate class: io.company.api.company.model.PublicKeyCertificate
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/MqttConfig.java:[32,13] error: duplicate class: io.company.api.company.model.MqttConfig
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/Invitation.java:[32,13] error: duplicate class: io.company.api.company.model.Invitation
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/EventNotificationConfig.java:[32,13] error: duplicate class: io.company.api.company.model.EventNotificationConfig
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/model/SiteCollection.java:[32,13] error: duplicate class: io.company.api.company.model.SiteCollection
[ERROR] /home/francis/IdeaProjects/sensor-config-service/target/client-libs/company/src/main/java/io/company/api/company/company.java:[4157,13] error: constructor Create in class Company.User.Create cannot be applied to given types;
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Did anyone already faced this issue ?
Thanks in advance for your answers !

@tangiel

@Blobby19 are you still experiencing issues?

close as not planned


!feat(store): drop Init function

Overview
Literally what is mentioned in the issue: drop Init from exported space, keep it as an unexported function to keep a test.
Fixes #187

Closing as not that important now. See comment on #187