Build fails after adding the package and library in Xcode manually

I have added the libraries manually in Xcode to my project. But after running it crashes and says (as attached in the screenshot below):

Same problem here, did anyone find a solution?

same problem

@abhirup03 @ricardovcorrea @Samykills , what are your verions of XCode, React, React Native and react-native-fast-image?
Every piece of information is useful to figure out what is happening here :)

Same problem:
"react": "^16.8.3",
"react-native": "^0.59.5",
"react-native-fast-image": "^6.0.0"

xcode 10.2
@Ilphrin thanks for looking into this!

"react": "16.3.1",
"react-native": "0.55.4",
"react-native-fast-image": "^5.0.3",
xcode 10.2
Same here when I try to build an old project.

I dragged libFastImage.a to the bottom of "Link Binary With LIbraries" in Xcode. This solved the issue for me.

@Ross-Landry I try this and clean everything but not work.
I have another  project here with the same libs and versions and it's working.
Trying here to figure out the source of this issue.

Same error for Android.

@AugustusCosta I did one other thing differently before it started working.
Remove the libFastImage.a file from Link Binary With Libraries, then add it again using the + sign (instead of dragging and dropping the file, which is what I did originally)

@Ross-Landry
Yes I tried this too after all.

I figure out what's happening.
The version of the lib installed was not 5.0.3 but 5.3.1.
Just modify this
"react-native-fast-image": "^5.0.3",
for
"react-native-fast-image": "5.0.3",
and clean and install everything.
The 5.3.1 version need I high version of react.
@abhirup03 check this.
@Ross-Landry thanks.

@AugustusCosta even i have tried it before by changing the version in my package. And have cleaned and ran a new build. Still it was failing.


Make a Domain for this Campaign

This may be a little tricky because we want the domain to go to particular page, not the root of the site. Domain is pointing now and propogating. I'll look into fwding it to the page directly in a little bit

just forwarding it


master to live

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/api/rate-limits.md
:white_check_mark:Succeeded
View

docs/policies/Data-requests.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Treat commas as whitespace

Just like Clojure, would be nice to group items in dicts mainly - should be easy to plug into the sanitize function in the Parser

I think it's better to keep it simple than to add this.


TypeError: undefined is not an object (evaluating 'window.plugins.socialsharing')

I just found the library you have created, trying to use it for the first time, I have installed the plugin and I am able to see it in my xcode, android studio when I import my project. However, I get the following error whenever I call the function which includes the code below:
window.plugins.socialsharing.share('MyMessage',null,null,'http://www.google.com');
the error I get is:
TypeError: undefined is not an object (evaluating 'window.plugins.socialsharing')
I would really appreciate if you can give any support about this error.

Can be many things..

Have you included a reference to cordova.js?
Are you waiting for deviceready to fire?
Did you install the plugin using cordova plugin add ..?

Since this is more a 'how do plugins work' issue (not really specific to this one) I'm closing this. Please follow up on SO if those hints above don't help.


ConstraintValidator about why is passed ConstraintValidatorContext isValid method, ValidationContext is not

I want to implement a custom annotation check function, check two related fields, based on the value of another field to determine whether this field should be checked as empty, but now I can not get the whole check object, so I can not achieve this custom check, I would like to ask, why the design is like this

version   jakarta.validation.validation-api 3.1.0

A similar situation has been discussed in Hibernate discussion.
I personally think that determining the validation rules of another field based on the value of one field is not part of general technology, but more like a business logic or business rule. Then it is a good choice to present such business logic in the form of a method in the Bean class.


add assert-match as supported assertion library

Coverage remained the same at 98.305% when pulling e7abfd250133cbf3b18eaf7d3e129d106e7d3522 on rmdm:master into a4736648889b641cbb85cb2820df1a9ec8f5c5f6 on power-assert-js:master.


ADF wrong metadata for copy xml, rows read

ADF Copy Activity for XML files shows the same number of files & rows read (for example 2 files, 2 rows), while writing the correct number to sink (each file contains 100 rows, then value would be 200).

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e2873c97-df0e-7826-f274-46337aa7c155
Version Independent ID: 069c26b9-29ba-61e9-edac-18829ac88696
Content: XML format in Azure Data Factory - Azure Data Factory & Azure Synapse
Content Source: articles/data-factory/format-xml.md
Service: data-factory
Sub-service: data-movement
GitHub Login: @jianleishen
Microsoft Alias: jianleishen

@pawelmitrus Thanks for your feedback! We will investigate and update as appropriate.


gtk4: 4.12.4 → 4.12.5

https://gitlab.gnome.org/GNOME/gtk/-/compare/4.12.4...4.12.5
https://gitlab.gnome.org/GNOME/gtk/-/blob/4.12.5/NEWS
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.05 Release Notes (or backporting 23.05 and 23.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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Thanks for spotting that. Builds fine on top of master.


linter: false postivies and panics in no-unused-vars

https://github.com/oxc-project/oxlint-ecosystem-ci/actions/runs/10526918402/job/29168997426

https://github.com/napi-rs/napi-rs/pull/2233

related: https://github.com/oxc-project/oxc/issues/5202

@DonIsaac are there any outstanding panics that need fixing?

@camc314 not that I'm aware of, but they could exist...


Update HOWTO-bn.md (bengali review requested)

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
This PR adds a "How to at a Glance" document in Bengali language for the Free-Programming-Books repository. The document provides an overview of how to contribute to the repository and serves as a quick guide for both new and experienced contributors.
Why is this valuable (or not)?
This addition is valuable because it makes the repository more inclusive and accessible to Bengali-speaking contributors. It lowers the entry barrier for new contributors by providing essential resources and guidance, and it enhances the overall user experience.
How do we know it's really free?
The content is translated and adapted from the original English version, and no restrictions or paid resources are mentioned. It is consistent with the repository's goal of providing free programming resources.
For book lists, is it a book? For course lists, is it a course? etc.
This is not a book or course; it's a document that serves as a guide for contributors.
Checklist:

[X] Read our contributing guidelines.
[X] Search for duplicates.
[X] Include author(s) and platform where appropriate.
[X] Put lists in alphabetical order, correct spacing.
[X] Add needed indications (PDF, access notes, under construction).
[X] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

requesting language review

It looks like he translated from english to bengali using google translate. For example,
আমরা নতুন যোগদানকারীদের স্বাগত জানাই; এমনকি যারা তাদের প্রথম পুল রিকোয়েস্ট (PR) টি গিটহাবে প্রেরণা নিয়ে তৈরি করছেন। আপনি যদি একজন তাদের মধ্যে থাকেন, তবে নিম্নলিখিত সম্পদগুলি সাহায্য করতে পারে:

This sentence is syntactically wrong. It should be like following,
আমরা নতুন কন্ট্রিবিউটরদের স্বাগত জানাই। এমনকি তাদেরকেও যারা গিটহাবে তাদের জীবনের প্রথম পুল রিকুয়েস্ট (PR) করতেছেন। আপনি যদি তাদের একজন হয়ে থাকেন, তাহলে এখানে কিছু রিসোর্স আছে যা আপনাকে এ ব্যাপারে সাহায্য করতে পারে:

Thanks for review @ArifShariar Is it good now?

Thanks for review @ArifShariar Is it good now?

I don't see any changes made according to the review.

Thanks for review @ArifShariar Is it good now?

I don't see any changes made according to the review.

I have made the changes you told me

Thanks for review @ArifShariar Is it good now?

I don't see any changes made according to the review.

I have made the changes you told me

Is it on a new branch or a new PR? I see only one commit in this PR and also the file is not changed.

Yeah that was my mistake @ArifShariar

Looks okay to me now

Instead of literal translation, as a native Bengali speaker, I would like to see the balance between literal meaning and fluency. I have suggested some changes that seems more appropriate in Bengali to me.


RuntimeError: CUDA error: invalid device ordinal (only 1 GPU in my system, how to resolve)

[09/12 09:35:46 main-logger]: use SyncBN
/home/vrlabhlbs/anaconda3/envs/spheretest/lib/python3.7/multiprocessing/semaphore_tracker.py:144: UserWarning: semaphore_tracker: There appear to be 3 leaked semaphores to clean up at shutdown
len(cache))
Traceback (most recent call last):
File "train.py", line 902, in
main()
File "train.py", line 90, in main
mp.spawn(main_worker, nprocs=args.ngpus_per_node, args=(args.ngpus_per_node, args))
File "/home/vrlabhlbs/anaconda3/envs/spheretest/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 230, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "/home/vrlabhlbs/anaconda3/envs/spheretest/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 188, in start_processes
while not context.join():
File "/home/vrlabhlbs/anaconda3/envs/spheretest/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 150, in join
raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:
-- Process 1 terminated with the following error:
Traceback (most recent call last):
File "/home/vrlabhlbs/anaconda3/envs/spheretest/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
fn(i, *args)
File "/home/vrlabhlbs/SphereFormer/train.py", line 156, in main_worker
torch.cuda.set_device(gpu)
File "/home/vrlabhlbs/anaconda3/envs/spheretest/lib/python3.7/site-packages/torch/cuda/init.py", line 261, in set_device
torch._C._cuda_setDevice(device)
RuntimeError: CUDA error: invalid device ordinal

I ran into the same problem, but actually, you just need to modify the train_gpu parameter in the .yaml and all will be fine.


How to use offline token?

I prompt user to grant offline token and I save it to database.
Later, I want to use that offline token in the browser when original user will not be logged in and in fact another user will use the browser
I am trying to write equivalent of server side
      const auth = new google.auth.OAuth2(process.env.CLIENT_ID, globalAny.s.CLIENT_SECRET)
      auth.setCredentials(account) // account from database
      const drive = google.drive({version: 'v3', auth})
      const result = await drive.files.get(...)
      // success

In the browser I initialize library like this
      gapi.load('client', () => {
        gapi.client
          .init({})
          .then(() => {
            gapi.load('client:auth2', () => {
              gapi.client.load('drive', 'v3', () => {
                console.log('Ready. Make a call to API ')
              })
            })
          })
      })

Then in the browser in my app I get access_token from server from database and try to set it like this: (mind you, at this point no user is logged in to google)
    gapi.auth2.authorize(
      {
        client_id: `${CLIENT_ID}.apps.googleusercontent.com`,
        scope: SCOPE,
        prompt: 'none',
      },
      async (response: any) => {
        gapi.client.setToken({access_token: tokens.access_token})
        try {
          const result = await gapi.client.drive.files.get(...)

Even though tokens.access_token is same as used on server side I get error in the browser:
resposne.error: "user_logged_out"

and drive.files.get fails with
Invalid Credentials

and status 401
How can I use offline token in the browser?

@ysz did you solve this?

@aalimovs @ysz  guys didnt you solve this problem? pls answer

@MagomedLorsanov I solved this by realising you cannot use offline tokens in a browser unless the user is already logged in.
I've spent ages trying to solve this and went through all the questions on StackOverflow.
From what I remember, setting the token in the browser was only meant to pre-select a correct account from many logged-in.


Updated Add-PnPContentType.md for Content Type Gallery

Added instructions to add a content type to the Content Type Gallery instead of a single site.
Before creating a pull request, make sure that you have read the contribution file located at
https://github.com/pnp/powerShell/blob/dev/CONTRIBUTING.md
Type

[ ] Bug Fix
[X] New Feature
[ ] Sample

Related Issues?
None - minor update to the description in the MD
What is in this Pull Request ?
Updated Add-PnPContentType.md - Added instructions to add a content type to the Content Type Gallery instead of a single site. The CT Gallery uses the underlying CT hub as it's source. Adding a content type in the Content type hub site therefore results in the content type to be added to the content type gallery. I have tested this and confirmed the said scenario to be working well.
Guidance

You can delete this section when you are submitting the pull request.*
Please update this PR information accordingly. We use this as part of our release notes in monthly communications.
Please target your PR to Dev branch. If you do not target the Dev branch we will not accept this PR.

Thanks @mahajangaurav !

Thanks @mahajangaurav !

Thanks to you too for your quick review, @KoenZomers !


Don't Merge! PR real time test for target branch full build

Docs Build status updates of commit b2f9097:
:clock10: Full build: the average full build time is 5 min(s) 12 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit b2f9097:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-conceptual/testing.md
:warning:Warning
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)
Details

docs-ref-conceptual/testing.md

[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Added take_until_and_consume_s macro,tests cases error enum vals

Added take_until_and_consume_s macro tests cases for the macro and error enum vals for the return values of the macro.

Updated the pull request with the new change.

I think a conflict during compilation is still possible if there's already a Vec symbol in the context, so I put absolute paths everywhere in the merge.
Thanks for your help!


Trying to update a record with =

Here's a mistake I've made before: accidentally using = in a record update when I meant <-
record1 : { foo : String, bar : String }
record1 = { foo = "bar", bar = "baz" }

record2 : { foo : String, bar : String }
record2 = { record1 | foo = "baz" } -- whoops!

This yields the following type mismatch:
The type annotation for 'record2' does not match its definition.

record2 : { foo : String, bar : String }

To be more specific, type inference is leading to a conflict between this type:

    { bar : String, foo : String }

and this type:

    { bar : String, foo : String, foo : String }

With the current error message, it took me a bit to figure out what I'd done. ("Why is it making two foo fields? How is that even possible? What's going on here?")
It seems like whenever you get this type error, and the desired record type contains duplicate fields (in this case two entries for foo : String), this would be a great time for a helpful suggestion like so:
Did you mean to use `foo <-` instead of `foo =` in your record update?

I encountered this lately. +1 for fixing it or choosing syntax to make it irrelevant.

0.16


Add support for TDS Tokens (TABNAME, COLINFO)

Per the email chain with Microsoft regarding #238 ...
... I can at least notice that it doesn’t handle TDS tokens TABNAME and COLINFO. I suspect there are other shortcomings. -- Yosef Dinerstein <yosefd at microsoft.com>

Yeah, there's quite a bunch of things in the TDS protocol that are not implemented in Tedious, most likely because they were not used by any of the current maintainers.
Tedious does not support the BROWSE MODE nor things like sp_cursoropen and friends at the moment.


Is it possible to hide certain emoji from the autocomplete feature?

Hi there, this is my first time doing this, so apologies in advance for any protocols I might be breaking.
I'm trying to hide certain emojis from the plugin. I managed to remove them from the script, but they do show up when using the autocomplete feature.
Is there a way to specify filter so the autocomplete ignores certain emojis that we specify?


[Umbrella][Feature][Core] Decoupling connectors from compute engines

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
In the current implementation of SeaTunnel, the connector is coupled with the computing engine.
so implementing a connector requires implementing the interface of each computing engine.
The detailed design doc：https://docs.google.com/document/d/1h-BeGKK98VarSpYUfYkNtpYLVbYCh8PM_09N1pdq_aw/edit?usp=sharing
Motivation

A connector only needs to be implemented once and can be used on all engines;
Supports multiple versions of Spark/Flink engines;
Source interface to explicit partition/shard/split/parallel logic.
Multiplexing JDBC/log connection.

Why not use Apache Beam?
The source of Apache Beam is divided into two categories: Unbounded and Bounded, which cannot achieve the purpose of one-time code;
Overall Design

Catalog：Metadata management, which can automatically discover the schema and other information of the structured database;

Catalog Storage：Used to store metadata for unstructured storage engines (e.g. Kafka);

SQL：

DataType：Table Column Data Type；

Table API：Used for context passing and SeaTunnel Source/Sink instantiation

Source API：

Explicit partition/shard/split/parallel logic;
Batch & Streaming Unification；
Multiplexing source connection；

Sink API：

Distributed transaction;
Aggregated commits；

Translation：

Make the engine support the SeaTunnel connector.
Convert data to Row inside the engine.
Data distribution after multiplexing.

Simple Flow

Why do we need multiplex connections
Streaming scene：

RDB (e.g. MySQL) may have too many connections errors or database pressure;
Duplicate parsing logs under change data capture (CDC) scenes  (e.g. MySQL binlog，Oracle Redolog);

Simple Source & Sink Flow

The subtasks:

[ ] #1701
[ ] #1704
[ ] #1734

Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

what does your multiple connection means? does it means one job can have multiple sources in different type, or one job can have multiple connection to a same source instance to work on same or different split of a table?

what does your multiple connection means? does it means one job can have multiple sources in different type, or one job can have multiple connection to a same source instance to work on same or different split of a table?

@yx91490 Multiplexing source connection: a source instance can read data from multiple tables.
At present, the source connector of spark and Flink will create a connnection for each table; That is, a source instance will only read one table;
This is fine for offline jobs, but not acceptable for real-time sync jobs with hundreds (or more) tables.

Is one Coordinator better than many? Because if an exception occurs at Sink and the Source does not know about it and continues to send data downstream, is the data discarded? If the Sink end notifies the Coordinator on the Source end, why not use the same one?

We do translation work for different engines, so if faced with inconsistent semantics or inconsistent functions how to solve the situation? For example, Spark and Flink both have Checkpoint, but their mechanisms and functions are completely different. If we provide Checkpoint capability externally, how can we unify Checkpoint in the two engines?

Anyway, looking forward to the new API . 🎉

Is one Coordinator better than many? Because if an exception occurs at Sink and the Source does not know about it and continues to send data downstream, is the data discarded? If the Sink end notifies the Coordinator on the Source end, why not use the same one?

@lonelyGhostisdog The fault-tolerance between source and sink is supported by chandy-lamport algorithm (ie checkpoint).

We do translation work for different engines, so if faced with inconsistent semantics or inconsistent functions how to solve the situation? For example, Spark and Flink both have Checkpoint, but their mechanisms and functions are completely different. If we provide Checkpoint capability externally, how can we unify Checkpoint in the two engines?

@lonelyGhostisdog Because the checkpoint mechanism is not completely consistent, we are still discussing how to adapt spark's micro-batch and continuous reader.

We do translation work for different engines, so if faced with inconsistent semantics or inconsistent functions how to solve the situation? For example, Spark and Flink both have Checkpoint, but their mechanisms and functions are completely different. If we provide Checkpoint capability externally, how can we unify Checkpoint in the two engines?

@lonelyGhostisdog Because the checkpoint mechanism is not completely consistent, we are still discussing how to adapt spark's micro-batch and continuous reader.

Why don't we design a new engine that doesn't dependency on Spark or Flink

We do translation work for different engines, so if faced with inconsistent semantics or inconsistent functions how to solve the situation? For example, Spark and Flink both have Checkpoint, but their mechanisms and functions are completely different. If we provide Checkpoint capability externally, how can we unify Checkpoint in the two engines?

@lonelyGhostisdog Because the checkpoint mechanism is not completely consistent, we are still discussing how to adapt spark's micro-batch and continuous reader.

Why don't we design a new engine that doesn't dependency on Spark or Flink

Should we first complete the design and construction of Source, Sink and Transform? Even if is only stand-alone mode like datax. Refine fault tolerance, tables, Sql through gradual iteration?

We do translation work for different engines, so if faced with inconsistent semantics or inconsistent functions how to solve the situation? For example, Spark and Flink both have Checkpoint, but their mechanisms and functions are completely different. If we provide Checkpoint capability externally, how can we unify Checkpoint in the two engines?

@lonelyGhostisdog Because the checkpoint mechanism is not completely consistent, we are still discussing how to adapt spark's micro-batch and continuous reader.

Why don't we design a new engine that doesn't dependency on Spark or Flink

The new engine is being designed. However, because a large number of SeaTunnel users are using Flink and spark, we hope to be compatible with Flink and spark engines as much as possible. In the future, if our own engine is good enough, we will discuss again whether to continue to rely on Flink and spark.

I have another question. If a Connector is not implemented in Spark or Flink, how will we implement this new Connector if we are based on a new engine? Do we still need to implement the corresponding Connector in Spark or Flink first?

I have another question. If a Connector is not implemented in Spark or Flink, how will we implement this new Connector if we are based on a new engine? Do we still need to implement the corresponding Connector in Spark or Flink first?

I suggest the new engine can adaptation the unified API too.  And then If the user develops a connector based on the unified tool, the connector will be able to run on spark, Flink and ST own engine.

Thank everyone for answering my questions, maybe I need to see the code to understand the design better.

From the code, I only saw the abstract upper design about catalog,table,source,sink... and some logic of converting Seatunnel to Flink types. There is no distributed execution or network transmission or seatunnel Connector conversion to flink/ Spark connector ,etc.
Is it not commited? Where can I find the corresponding designs?

Or are we going to do a datax-like model for now?

From the code, I only saw the abstract upper design about catalog,table,source,sink... and some logic of converting Seatunnel to Flink types. There is no distributed execution or network transmission or seatunnel Connector conversion to flink/ Spark connector ,etc. Is it not commited? Where can I find the corresponding designs?

Branch api-draft only contain connector api, not contain st-engine.

Or are we going to do a datax-like model for now?

A seatunnel-engine is being designed. In the scenario of offline synchronization, it is more like dataX, and it supports distributed deployment and execution. It also needs to support real-time synchronization.
We plan to discuss these in the mailing list after the preliminary design is completed.

Completed!

Enable the SPI factory classes to improve the entire process.

LGTM


Add DummyMart third-party example

Related Issues
None

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).

[ ] I have updated the CHANGELOG.md of the relevant packages.
Changelog files must be edited under the form:
## Unreleased fix/major/minor

- Description of your change. (thanks to @yourGithubId)

[ ] If this contains new features or behavior changes,
I have updated the documentation to match those changes.

TY!


chore: updating home page

updates the home page for I/O

just need some help with the css for the ioBeta image.


Update README.md

(re: #1257)
Added { reuseExisting: true } to subscribe method call in pubsub sample

I signed it!

Coverage remained the same at 100.0% when pulling 1bf098fae2da2f0b3dc3919f28ba9fed255a9211 on jasonpolites:patch-1 into 57713730e6a8e39fa74de8552b8371d7d1d197a7 on GoogleCloudPlatform:master.

why the option { reuseExisting: true } disappeared?
/node_modules/protobufjs/dist/protobuf.js:2490
                            throw Error(this+"#"+keyOrObj+" is not a field: undefined");
                            ^

Error: .google.pubsub.v1.Subscription#reuseExisting is not a field: undefined
    at Error (native)
    at MessagePrototype.set (/node_modules/protobufjs/dist/protobuf.js:2490:35)
    at MessagePrototype.set (/node_modules/protobufjs/dist/protobuf.js:2483:38)
    at Message (/node_modules/protobufjs/dist/protobuf.js:2411:34)
    at serialize (/node_modules/grpc/src/node/src/common.js:87:23)
    at Client.makeUnaryRequest [as createSubscription] (/node_modules/grpc/src/node/src/client.js:395:19)
    at Object.request (/node_modules/@google-cloud/common-grpc/src/service.js:265:32)
    at makeRequest (/node_modules/retry-request/index.js:88:28)
    at retryRequest (/node_modules/retry-request/index.js:58:3)
    at PubSub.GrpcService.request (/node_modules/@google-cloud/common-grpc/src/service.js:283:3)

real    0m1.316s
user    0m0.952s
sys     0m0.092s

This option was removed in favor of always re-using an existing subscription: https://github.com/GoogleCloudPlatform/google-cloud-node/pull/1799


add support for version checks (ensure team is using same version)

One of the biggest problems that ChefDK sought to solve was the dependency nightmare with the various components used from development through test to deployment into production.
The downside is that solving that problem meant you can no longer rely on a Gemfile and Gemfile.lock to ensure an entire team is using the same version of the tools used to test code (including CI tools which use test-kitchen via bundle install). It should be obvious to anyone who builds and deploys software to production that not having reproducible builds and tests is a problem. For example, we've seen cookbooks that once passed test-kitchen suddenly fail because it was dynamically pulling in the latest version of tools like busser. So a project may pass for one member of the team and not another if they're on different versions of ChefDK, perhaps likely if a newer ChefDK uses a new major version of ruby.
To restore the ability to lock members of a team into using the same chef ecosystem, it would be great if chefdk could support using versions out of .ruby-version. This would also help ensure tests run from test-kitchen in CI tools consistently produce the same test results.
For example, a ".ruby-version" file in a cookbook's parent directly would contain chefdk-0.6.2. If the current version installed doesn't match the version specified in the file, an error would be returned by the wrappers for chefdk & embedded ruby components. This would ensure everyone on the same team is using the current version of ChefDK, particularly useful for teams that are distributed across offices or are remote.
This would have the added benefit of working well with solutions that provide workarounds for rvm & rbenv that would allow the use of .ruby-version to switch to ChefDK (or natively with rvm/rbenv commands). For example:
rvm use chefdk-0.6.2
rbenv shell chefdk-0.6.2

An example of one of those projects for rbenv:
https://github.com/docwhat/rbenv-chefdk

This is way out of scope for the DK and would result in lots more breakage in the default case than benefit. Given the age of the request and lack of further interest, closing.


15.0.1-jdk-buster

For ppl that want to live on the edge, I suggest we only keep the latest non-lts (which might have scala compatibility issues?)
https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html
We could drop Scala 2.11.x for this build but I think it's ok to let the user decide what he wants to use
fixes #118

Nice!


[RAINCATCH-623] Use fh-sync clearCache on logout

Motivation
In the mobile app, the previous logged in user's data is shown upon login. We need to clear sync cache to prevent this.
Description
Utilize fh-sync's clearCache function to allow cache to be cleared upon logout.
Progress

[x]  Add clearCache functionality that uses fh-syncs clearCache

Additional Notes
Related JIRA - https://issues.jboss.org/browse/RAINCATCH-623

Changes Unknown when pulling 51d52ea6329c83bb73ac1c5f14faf52a46cddd04 on JameelB:RAINCATCH-623 into ** on feedhenry-raincatcher:master**.


Refactor web server

Refactor web server code
Using ke as a cli client
Use ke-web as the operator and web service installed into the k8s cluster
Initialized web/src as the base code for the front-end
Update copyright

/lgtm

@all-contributors please add @zheng1 for code


Werid Error during multiple usage of Slider

I am using the slider component in various parts of my site, in some cases multiple times on one page and keep getting this error that i cant's seem to figure out.
Definitely want to avoid this for production. This error occurs after i've changed the route and navigated to a different page.
Can't call setState (or forceUpdate) on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.

Hi @Asher978 , I was able to reproduce the error by unmounting the component while an animation is playing. Fixed it in #55 and released to v1.1.3. Does it solve your issue?

It absolutely does. Thanks for your help.


Add entitlement parameter

I'm not sure if this feature is "complete", but it works and I've been using it for realtime entitlements for months. Happy to make changes if necessary.

This can be implemented via the 3.0.0 launch in July 2024. Thanks!


Allow creating workflow(s) by uploading Serverless Workflow definition file(s)

What would you like to be added:
To allow creating workflow(s) by uploading a Serverless Workflow definition file(s)
Why is this needed:
Allows users to upload a file instead of copy/pasting JSON

It requires an endpoint on the API to upload json/yaml/zip(or other archive formats)

@JBBianchi IMO no, it does not. I believe you should read that file locally, if possible, using the IWorkflowReader from the ServerlessWorkflow SDK.
That way, we avoid contacting the back-end for nothing, and can do client-side validation first hand, before using the ISynapseManagementApi.CreateWorkflowAsync method.
WDYT?

From my understanding, file upload could be use for "projects", with multiple files (workflow, subflows and other references/resources)

Yeah, that's a very valid point. I'm on it!

@JBBianchi My part's done ;)


Error: Unexpected response from AWS  Code:  InvalidRequest

The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256

sails team shows definitely the worst support I have ever met in open source. It's like my fifth issue without any response or attempt to solve closed but sailsbot.

@glenswift Sorry about that.  The idea of the bot is to help prioritize -- in essence, to see which wheels squeak so that they (hopefully) get some grease.  In the future, if you see the "it has been 30 days" message pop up, and the issue is still valid, go ahead and post a message to that effect and it'll reset the clock.  Ideally someone else from the community will get involed -- the core team is spread a bit thin to be the only point of contact on every repo in the Sails ecosystem.  And if the bot closes an issue (especially a bug) that still needs to be addressed, do what you did here and we will re-open.
In the case of using S3 with Skipper, you might take a look at @Alaneor's skipper-better-s3, which is more up-to-date.

I'm going to go ahead and close this issue since there isn't enough information here to solve or reproduce this problem (see https://github.com/balderdashy/sails/blob/master/CONTRIBUTING.md#ii-issue-contributions).  Please feel free to open a new issue with more info.  Thanks!


Authenticator Plus

Hi, I've started looking into how we can add support for some more popular Authenticator apps.
I am going to open this and close it- I don't need it personally- but if you want to implement it, I will reopen this and I am happy to test.
Happy to do the same for any other authenticator too and help test- I really like this project and happy to help. I have wanted a way of extracting OTPauths out of Authenticators for YEARS.
Authenticator Plus is a common one I've seen on the play store for years:
Data is stored in SQLCipher encrypted database at
/sdcard/AuthenticatorPlus/.synced_authplus.db
A master password is required to use Authenticator Plus.
Master password is stored in the Android local database.
In rooted device, PIN lock is mandated, and your master password is encrypted with your PIN
More technical directions:
https://authenticatorplus.freshdesk.com/support/solutions/articles/5000541895-technical-details-of-authenticator-plus
Play store link:
https://play.google.com/store/apps/details?id=com.mufri.authenticatorplus&hl=en_CA&gl=US

Thanks! For visibility, it's best to keep issues open even if they're not actively being worked on.
It's a paid app and I don't use the Google Play ecosystem myself so it's going to be difficult to get a working setup. If you yourself own this app and can make a databases with all of the account types and the few encryption combinations, I can probably add support for it.

Pin: 1234
Master password:<PHONE_NUMBER>
File goes in /sdcard/AuthenticatorPlus/.synced_authplus.db
https://www.sendspace.com/file/5izv67

Thanks! I was able to decrypt the database but there's nothing interesting in it:
CREATE TABLE accounts (_id INTEGER PRIMARY KEY, position INTEGER, email TEXT NOT NULL, secret TEXT NOT NULL,  counter INTEGER DEFAULT 0, type INTEGER, provider INTEGER DEFAULT 0, timestamp TEXT NOT NULL, uid TEXT NOT NULL, issuer TEXT, original_name TEXT, category TEXT NOT NULL DEFAULT 'All Accounts');
CREATE TABLE metadata (_id INTEGER PRIMARY KEY, timestamp TEXT NOT NULL);
CREATE TABLE deleted (uid TEXT NOT NULL, timestamp TEXT NOT NULL);
CREATE TABLE trial (timestamp TEXT NOT NULL);
CREATE TABLE category (name TEXT NOT NULL, _id INTEGER PRIMARY KEY,  position INTEGER DEFAULT 0, timestamp TEXT NOT NULL);
CREATE TABLE securid  (DEVID_COLUMN TEXT NOT NULL);
CREATE TRIGGER DELETE_OLD_DELETED_ROWS AFTER INSERT ON deleted FOR EACH ROW BEGIN DELETE FROM deleted WHERE DATE(timestamp) < DATE('now', '-30 days'); END;

INSERT INTO securid VALUES('33E9397FE9ADA38A2E29C3D9');
INSERT INTO metadata VALUES(1,'2021-05-27 15:41:27');

The app itself should have a database in /data/data/com.mufri.authenticatorplus/. What does adb shell 'find /data/data/com.mufri.authenticatorplus/' tell you?

Whoops, sorry about that!
I did find some goodies in there!
https://www.sendspace.com/file/14d0dv

Sorry for the delay, I'm having a hell of a time getting pysqlcipher3 on Windows, and I can't get ADB working on my SBC
Will test it when I am able to get this library working
There weren't any alternatives that may be a little easier to install? The pysqlcipher3 Windows instructions are quite complex

From what I understand, SQLCipher is built on top of SQLite. You sort of have to create a custom build of SQLite to use it. Maybe it's possible to decrypt the database file directly.

I am installing Linux on my desktop (dual partition)
Soon as it's done, I'll post back with your current implementation's results.

Yeah, short of re-implementing SQLCipher in Python, there's unfortunately no way to load a SQLCipher-encrypted database without compiling SQLCipher's modified SQLite.
For packaged Android apps (and macOS + Linux users) this isn't an issue but unless you already have a proper Windows development environment, it's a massive pain to install everything.

I made a Debian10 Virtual Machine where I am now set up but I seem to be having trouble even installing pysqlcipher3 directly with pip
root@Debian10:~/Desktop/pysqlcipher3-1.0.4# pip3 install pysqlcipher3
Collecting pysqlcipher3
  Using cached pysqlcipher3-1.0.4.tar.gz (102 kB)
Building wheels for collected packages: pysqlcipher3
  Building wheel for pysqlcipher3 (setup.py) ... done
  WARNING: Legacy build of wheel for 'pysqlcipher3' created no files.
  Command arguments: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4qvo4sdn/pysqlcipher3_f836ed0e309d4ad8985f9b79f816b9d3/setup.py'"'"'; __file__='"'"'/tmp/pip-install-4qvo4sdn/pysqlcipher3_f836ed0e309d4ad8985f9b79f816b9d3/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-_z3axtxx
  Command output: [use --verbose to show]
  Running setup.py clean for pysqlcipher3
Failed to build pysqlcipher3
Installing collected packages: pysqlcipher3
    Running setup.py install for pysqlcipher3 ... done
Successfully installed pysqlcipher3
WARNING: Running pip as root will break packages and permissions. You should install packages reliably by using venv: https://pip.pypa.io/warnings/venv

also tried to install with python3 setup.py install and downloading the pysqlcipher3 files
root@Debian10:~/Desktop/pysqlcipher3-1.0.4# python3 setup.py install
running install
running bdist_egg
running egg_info
writing pysqlcipher3.egg-info/PKG-INFO
writing dependency_links to pysqlcipher3.egg-info/dependency_links.txt
writing top-level names to pysqlcipher3.egg-info/top_level.txt
reading manifest file 'pysqlcipher3.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*~' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
adding license file 'LICENSE'
writing manifest file 'pysqlcipher3.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/pysqlcipher3
copying lib/__init__.py -> build/lib.linux-x86_64-3.7/pysqlcipher3
copying lib/dump.py -> build/lib.linux-x86_64-3.7/pysqlcipher3
copying lib/dbapi2.py -> build/lib.linux-x86_64-3.7/pysqlcipher3
creating build/lib.linux-x86_64-3.7/pysqlcipher3/test
copying lib/test/__init__.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test
creating build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/factory.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/__init__.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/hooks.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/userfunctions.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/sqlcipher.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/dump.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/dbapi.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/types.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/regression.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
copying lib/test/python3/transactions.py -> build/lib.linux-x86_64-3.7/pysqlcipher3/test/python3
running build_ext
Builds a C extension linking against libsqlcipher library
building 'pysqlcipher3._sqlite3' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/src
creating build/temp.linux-x86_64-3.7/src/python3
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DMODULE_NAME="pysqlcipher3.dbapi2" -I/usr/include/python3.7m -c src/python3/module.c -o build/temp.linux-x86_64-3.7/src/python3/module.o
unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Think I finally got it working on my Debian10 VM.
sudo apt update
sudo apt upgrade
sudo apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools
sudo apt-get install libsqlcipher-dev
sudo apt install build-essential git cmake libsqlite3-dev
sudo apt install sqlcipher
git clone https://github.com/rigglemania/pysqlcipher3
cd pysqlcipher3
python3 setup.py build
sudo python3 setup.py install

if installing in virtual environment also do
pip install pysqlcipher3 in the environment

if sys.platform.lower() == 'linux':
  try:
     from pysqlcipher3 import dbapi2 as sqlite3
  except:
     import sqlite3

It works great! Holy smokes. 1 day of trying to get this library working and it works beautifully on the first try.
You ask for the masterpassword, however you never ask for the PIN. How did you get the PIN that decrypts the masterpassword?
root@Debian10:~/Desktop/pysqlcipher3# python3 -m android_otp_extractor --include authenticator_plus -v
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] INFO Testing if your phone uses binary: 'toybox'
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] INFO Checking if adb already runs as root
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] INFO Attempting to enable adb root
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] INFO Listing contents of / as root
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Listing directory /
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] INFO Reading and hashing contents of build.prop as root
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Hashing file $ANDROID_ROOT/build.prop
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Trying to read file $ANDROID_ROOT/build.prop
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Successfully read 2018 bytes
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Hashing file $ANDROID_ROOT/build.prop
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Trying to read file $ANDROID_ROOT/build.prop
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Successfully read 2018 bytes
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] INFO Using command line utility binary: 'toybox'
2021-06-01 12:55:56 Debian10 android_otp_extractor.apps[9696] INFO Reading Authenticator Plus accounts
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Trying to read file $ANDROID_DATA/data/com.mufri.authenticatorplus/databases/databases
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Successfully read 9216 bytes
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Trying to read file $ANDROID_DATA/data/com.mufri.authenticatorplus/databases/databases
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Successfully read 9216 bytes
2021-06-01 12:55:56 Debian10 android_otp_extractor.adb[9696] DEBUG Trying to read file $ANDROID_DATA/data/com.mufri.authenticatorplus/databases/databases-journal
2021-06-01 12:55:57 Debian10 android_otp_extractor.adb[9696] DEBUG Trying to read file $ANDROID_DATA/data/com.mufri.authenticatorplus/databases/databases-wal
2021-06-01 12:55:57 Debian10 android_otp_extractor.adb[9696] DEBUG Trying to read file $ANDROID_DATA/data/com.mufri.authenticatorplus/databases/databases-shm
Enter the Authenticator Plus master password:
2021-06-01 12:56:00 Debian10 android_otp_extractor.apps[9696] DEBUG Found an account <TOTPAccount(secret='JBSWY3DPEHPK3PXP'<EMAIL_ADDRESS>digits=6, period=30, algorithm='SHA1')>
2021-06-01 12:56:00 Debian10 android_otp_extractor.apps[9696] INFO Found 1 accounts (1 new)
2021-06-01 12:56:00 Debian10 android_otp_extractor.cli[9696] INFO Found account: otpauth://totp/alice%40google.com?algorithm=SHA1&digits=6&issuer=Example&period=30&secret=JBSWY3DPEHPK3PXP

Glad it works!

You ask for the masterpassword, however you never ask for the PIN. How did you get the PIN that decrypts the masterpassword?

Maybe the PIN is just to prevent the app from being opened? Nothing other than the password is necessary.
Encrypting the password with a PIN also seems a little superfluous, since you could just use password|pin as the password itself and gain the security benefits of using both.

Glad it works!

You ask for the masterpassword, however you never ask for the PIN. How did you get the PIN that decrypts the masterpassword?

Maybe the PIN is just to prevent the app from being opened? Nothing other than the password is necessary.
Encrypting the password with a PIN also seems a little superfluous, since you could just use password|pin as the password itself and gain the security benefits of using both.

Yep, I deleted the whole database, made a new PIN, new masterpassword, started from scratch, and it worked great,
Thanks @puddly
Would you like me to proactively do this for additional authenticators? I was going to go through the play store and start with the next top downloaded authenticator.
Or, if youre busy, we can do it after LastPass Authenticator which I know is in the works.

Glad it works!

You ask for the masterpassword, however you never ask for the PIN. How did you get the PIN that decrypts the masterpassword?

Maybe the PIN is just to prevent the app from being opened? Nothing other than the password is necessary.
Encrypting the password with a PIN also seems a little superfluous, since you could just use password|pin as the password itself and gain the security benefits of using both.

From the documentation:
In rooted device, PIN lock is mandated, and your master password is encrypted with your PIN
So the explanation I think is if I give the masterpassword directly, we are bypassing the whole pin step.

@puddly  If you want to have a TryCatch Exception for entering the wrong master password:
2021-06-01 13:25:25 Debian10 android_otp_extractor.adb[1093] INFO Using command line utility binary: 'toybox'
2021-06-01 13:25:25 Debian10 android_otp_extractor.apps[1093] INFO Reading Authenticator Plus accounts
Enter the Authenticator Plus master password:
Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/__main__.py", line 3, in <module>
    main()
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/cli.py", line 62, in main
    accounts = apps.read_accounts(adb, enabled_apps)
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/apps.py", line 416, in read_accounts
    new = list(app.extractor(adb))
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/apps.py", line 393, in read_authenticator_plus_accounts
    cursor.execute('SELECT * FROM accounts;')
pysqlcipher3.dbapi2.DatabaseError: file is encrypted or is not a database

Additionally,
If you enter an invalid secret, you might want to have an exception:
2021-06-01 13:25:57 Debian10 android_otp_extractor.adb[1126] INFO Using command line utility binary: 'toybox'
2021-06-01 13:25:57 Debian10 android_otp_extractor.apps[1126] INFO Reading Authenticator Plus accounts
Enter the Authenticator Plus master password:
Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/__main__.py", line 3, in <module>
    main()
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/cli.py", line 62, in main
    accounts = apps.read_accounts(adb, enabled_apps)
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/apps.py", line 416, in read_accounts
    new = list(app.extractor(adb))
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/apps.py", line 396, in read_authenticator_plus_accounts
    secret = lenient_base32_decode(row['secret'])
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/otp.py", line 13, in lenient_base32_decode
    return base64.b32decode(data)
  File "/usr/lib/python3.7/base64.py", line 231, in b32decode
    raise binascii.Error('Non-base32 digit found') from None
binascii.Error: Non-base32 digit found

Does the app still display a code if your secret isn't base-32?

How can I test that? Can you give me a secret that isnt Base32 for testing?

You mentioned that you entered an "invalid secret" but the row was still written to the database so it seems like the app displays a code for it, right?

Yes, I confirmed the app still displays a code
I used secret hjjkhjhgjhk and generated a qr code here https://stefansundin.github.io/2fa-qr/
Output of app (got a different error first and second time I tried, so I'vep ut both)
root@Debian10:~# python3 -m android_otp_extractor --include authenticator_plus
2021-06-01 13:33:17 Debian10 android_otp_extractor.adb[2436] INFO Testing if your phone uses binary: 'toybox'
2021-06-01 13:33:17 Debian10 android_otp_extractor.adb[2436] INFO Checking if adb already runs as root
2021-06-01 13:33:17 Debian10 android_otp_extractor.adb[2436] INFO Attempting to enable adb root
2021-06-01 13:33:17 Debian10 android_otp_extractor.adb[2436] INFO Listing contents of / as root
2021-06-01 13:33:17 Debian10 android_otp_extractor.adb[2436] INFO Reading and hashing contents of build.prop as root
2021-06-01 13:33:18 Debian10 android_otp_extractor.adb[2436] INFO Using command line utility binary: 'toybox'
2021-06-01 13:33:18 Debian10 android_otp_extractor.apps[2436] INFO Reading Authenticator Plus accounts
Enter the Authenticator Plus master password:
Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/__main__.py", line 3, in <module>
    main()
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/cli.py", line 62, in main
    accounts = apps.read_accounts(adb, enabled_apps)
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/apps.py", line 416, in read_accounts
    new = list(app.extractor(adb))
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/apps.py", line 393, in read_authenticator_plus_accounts
    cursor.execute('SELECT * FROM accounts;')
pysqlcipher3.dbapi2.DatabaseError: file is encrypted or is not a database
root@Debian10:~# python3 -m android_otp_extractor --include authenticator_plus
2021-06-01 13:33:33 Debian10 android_otp_extractor.adb[2484] INFO Testing if your phone uses binary: 'toybox'
2021-06-01 13:33:33 Debian10 android_otp_extractor.adb[2484] INFO Checking if adb already runs as root
2021-06-01 13:33:33 Debian10 android_otp_extractor.adb[2484] INFO Attempting to enable adb root
2021-06-01 13:33:33 Debian10 android_otp_extractor.adb[2484] INFO Listing contents of / as root
2021-06-01 13:33:33 Debian10 android_otp_extractor.adb[2484] INFO Reading and hashing contents of build.prop as root
2021-06-01 13:33:33 Debian10 android_otp_extractor.adb[2484] INFO Using command line utility binary: 'toybox'
2021-06-01 13:33:33 Debian10 android_otp_extractor.apps[2484] INFO Reading Authenticator Plus accounts
Enter the Authenticator Plus master password:
Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/__main__.py", line 3, in <module>
    main()
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/cli.py", line 62, in main
    accounts = apps.read_accounts(adb, enabled_apps)
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/apps.py", line 416, in read_accounts
    new = list(app.extractor(adb))
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/apps.py", line 396, in read_authenticator_plus_accounts
    secret = lenient_base32_decode(row['secret'])
  File "/usr/local/lib/python3.7/dist-packages/android_otp_extractor/otp.py", line 13, in lenient_base32_decode
    return base64.b32decode(data)
  File "/usr/lib/python3.7/base64.py", line 231, in b32decode
    raise binascii.Error('Non-base32 digit found') from None
binascii.Error: Non-base32 digit found
root@Debian10:~#

Hmm. Without disassembling the app APK itself to see how it's parsing these types of secrets it's going to be very difficult to figure out how the app is interpreting it.

No problem- everything is working fine really- I am just saying probably best to have a trycatch exception instead of crashing
Lets assume people wont be using gibberish codes
So far, the crashes Ive managed is
-Wrong masterpassword
-Non-base32 digit
Then, application wide, if ADB throws an error (device offline,no device found)


Istio Integration?

Hey folks!
Do we have any plans to integrate with Istio Ingress Gateway? (https://istio.io/latest/docs/tasks/traffic-management/ingress/ingress-control/)
Thanks!

Hey @brunocascio , there's no plan to add istio gateway specifically but we're happy to accept contributions 😄

I will work on that :)
could take some time
@networkop


tried a code challenge; please check

I am blind to TDD with JavaScript, but I wanted acode challenge question, so I tried something new. If it's not worth the sloppy implementation, we can revert it.

@CheezItMan @spitsfire should be in a good way now! We need to give names to the tests so that students can use the test names to figure out what they're doing wrong in the future, debugging this was kind of a pain with one weirdly named test.


Is there an optimized way to visualize voxel grids/ octrees?

Dear devs,
Is there a way to add voxel grid / octree support in your viewer?
Currently, I use the polygon primitive to wrap a pointcloud representation of voxel grids by cubes to show a it. Basically my points are centroids of the voxel grid.
However, as you might also figure out, this naive approach gets very slow as the size of pointclouds increase.
A native support for adding more shape options for points might work a voxel volume will just surround the point centers for an octree.
Clients can always convert their original pointclouds into desired voxel grid/ octree and then create a sparse pointcloud with each point representing the centroid.
I feel that for a 3D viewer, that aims to be visualize data for autonomous driving will benefit a lot from a voxel grid / octree viewer.

This has come up before, but we need a dataset to drive a custom layer first and then we can refine the spec for the data and work on a default implementation.
I'm not sure I follow your point-cloud to voxel use-case, it sounds like your talking about quantizing the PC data into a voxel grid, and then using voxels as a clear representation that it covers not just a point but a volume?
I would be curious on a more detailed proposal.  I'm thinking it would have to account for some parameters to the voxel space such as it's fixed origin (assuming it would be fixed such that we have a stable grid over time), and some parameters to the space (how big each voxel is), such that it could represent various depths.  Those may be obvious, but ideally a proposal and example would explicitly cover such cases.

Hi Tim,
You are correct in your understanding. You can quantize your pointclouds into voxel grids for example, The library open3D has utilities to convert pointclouds to grids for example.
The biggest usecase will be to display an occupancy grid/map which is created from a raw point cloud. Algorithm like octomap is one such example...
An octomap will take a dense point cloud (from 3D rgbd sensors) or a conventional pointcloud from LiDARs and will create an occupancy grid. Usual parameters will be resolution ie size of the voxel as well as the world size. There are many 3D datasets available online. Even KITTI has pointclouds tgat can be used to create occupancy grids.
The handling of origin is exactly same as a pointcloud. You can have a fixed origin, or you can have a relative origin moving with your sensor.
Current way of achieving a voxel grid in streetscape is by having a quantized point cloud where every point is a voxel centroid. Then use the polygon objects to create a voxel cube around that. However this process will not scale well if the pointcloud is dense.
An easy solution to this is to just allow points to be represented as cubes natively with some specified dimensions.
Currently, points in streetscape has a radius property. Giving a shape property, or supporting a cube primitive will be relatively easy to have.
The application developers can then just use those primitives to display their output by performing the display calculations on their side and just streaming the final voxel centers. We do exactly that but currently need to stream all the polygons as well which slows the display a lot. We acheive 30 FPS of display performance in streetscape on a normal quantized pointcloud which drops down to 10 FPS when streaming cubes around these points. Representing a voxel grid as one will be much helpful than displaying it using pointclouds as it doesnot help us in separating true holes with the fake ones.
I am on vacation currently, but can soon provide you some visual examples if you need.


Improve Key Button

1. Name of button:  3D button for video games
2. Description: This button will feel like button can be clicked physically
3. Button Type (Animated, Special, etc...): 3D
4. Will you work on it?: Yes

Hi @I3han is this different than the retro buttons we have? Please check them and if they are different please show me an example (an image or maybe an example from another website) before working on it.

https://i.ytimg.com/vi/CJ8FKjYtrT4/maxresdefault.jpg
It is something like this

I think this is similar to the key button as well but I'm not sure.
@HADES-01 can I get your opinion on this? Do you think this button idea is a good one to add?

@shahednasser I think both are similar but this button has certain features that should be there in the current version, So it would be better if @I3han modified the current retro button to add the new features.

That's a good idea @HADES-01 . Can you do that @I3han ?

@shahednasser yes sure

Ok I'll assign you @I3han

Is there any guidelines for the participate?

@shahednasser can you tell me which folder should I added this button and what should be the name of the button and name of the file name?

@I3han You can find everything in here

@HADES-01 @shahednasser Can you please check the PR please

@I3han can i contribute to this project

@I3han can i contribute to this project


for...of broken

Get curly errors on the following code
            for (let key of Object.keys(a.locator)) {
                properties[key] = a.locator[key];
            }

not able to repro this with the following code. what version are you using?
let a = {
    locator: {
        x: 1,
        y: 2
    }
};

for (let key of a.locator) {
    console.log(key);
}

never mind, this was an older version.


How to escape semicolons when overriding test run parameters in version 2.* preview

When attempting to use a Visual Studio Test task with a SQL Server connection string with semicolons in the variable to override the run settings file parameter with Version 2.* preview, the test always fails.  If the semicolons are not escaped with the forward slash as used with Version 1.* the RunSettings file is only replaced to the first space after the first semicolon in the connection string.  If the semicolons are escaped as required for Version 1.*, an error is thrown: Format of the initialization string does not conform to specification.  This seems to be a repeat of issue #2567.  How are semicolons in override variables to be handled?

Hi @cwhiting17,
Are you on TFS or VSTS? If TFS which release?
I tried reproducing the issue on TFS2017 and couldn't. Can you send a snapshot of how you are declaring your Override Test Run Parameters field? Thanks

We are using VSTS.
<EMAIL_ADDRESS>From: Prawal Agarwal<EMAIL_ADDRESS>Sent: Wednesday, May 3, 2017 12:57 AM
To: Microsoft/vsts-tasks<EMAIL_ADDRESS>Cc: Carl Whiting<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/vsts-tasks] How to escape semicolons when overriding test run parameters in version 2.* preview (#4156)
Hi @cwhiting17https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cwhiting17&d=DwMFaQ&c=nFCqHnrrxvlLMYTrG_iNtg&r=m297TVL4iQ1yBJC-2kLZSFeBl9FIpjNdYzvWmliiOIU&m=FAQo7Zx3XVmDcoXMqQAfNfU3Uf_NPJRJG3H2sCswslc&s=qobo2UaEnzkdS56FIKiQdGdesQ2dgrKuzTpXG69MHu4&e=,
Are you on TFS or VSTS? If TFS which release?
I tried reproducing the issue on TFS2017 and couldn't. Can you send a snapshot of how you are declaring your Override Test Run Parameters field? Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Microsoft_vsts-2Dtasks_issues_4156-23issuecomment-2D298845370&d=DwMFaQ&c=nFCqHnrrxvlLMYTrG_iNtg&r=m297TVL4iQ1yBJC-2kLZSFeBl9FIpjNdYzvWmliiOIU&m=FAQo7Zx3XVmDcoXMqQAfNfU3Uf_NPJRJG3H2sCswslc&s=byCixnU34pIJh5tKomRqXA--TA4ZXpfMJu3SLIs6n8k&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AaxIN2le2AKnxhTRY5vasVIOSPvFSJcgks5r2DNkgaJpZM4NJZj-2D&d=DwMFaQ&c=nFCqHnrrxvlLMYTrG_iNtg&r=m297TVL4iQ1yBJC-2kLZSFeBl9FIpjNdYzvWmliiOIU&m=FAQo7Zx3XVmDcoXMqQAfNfU3Uf_NPJRJG3H2sCswslc&s=hOEldH82sxyofnpUPJTk2kT0PsKTFdLwjDHFlva20AY&e=.

Hi @cwhiting17 , the image is not attached properly. Cannot download it from here. Can you reach out to us at devops_tools[AT]microsoft[DOT]com with the attachment? Thanks

I tried to email the image to<EMAIL_ADDRESS>and the email was rejected.
This is how the overrides are being done
-AppServer $(APPSERVER)
-Port $(PORT)
-SqlConnectionString $(SQLCONNECTIONSTRING)

You can escape (\) the values like this escaped\;string => escaped;string

In version 2 escape mechanism is still not working. This is what I get replaced in my runsettings:

=>escape character is not removed and it breaks on the first space
If I don't put an escape character I get this:

=> Still breaks on the space from "Initial Catalog"

@HWouters ah sorry for that. v2 does has the escape capability. Write the string in " quotes

@nigurr thanks, that works!


Perfomance Investigation

Mobile - enable performance metrics and determine which component is impacting performance.

Look into render calls on google developer tools

See #76, #336, #337, #339.


FCI activation and Brake release - Programaitcally

Hi,
I am working on a Franka Emika Panda robot. The robot is mounted on a Clearpath Ridgeback. My first experience with robot is successful as I am able to run the robot with franka_ros package i.e.
roslaunch franka_control franka_control.launch robot_ip:=<IP_ADDRESS> load_gripper:=true
For this above command to run without errors I have to first release the brakes of the arm and activate FCI, ofcourse both from Desk. Now what I want to do is to launch the arm control software at the startup of the robot using robot_upstart package.
So my question is there any way to release the brakes and actiavte FCI without accessing the desk so that the robot control nodes can run at startup of the robot?

What we and a few other projects have been doing is to run a small python script that sends the unlock command to the franka webserver.
My version is this
import httpx
import json
import sys

import rospy

USERNAME = "your-username"
ENCODED_PASSWORD = "your_encoded_password"

rospy.init_node("unlock_arm")

ip = rospy.get_param("~robot_ip", "<IP_ADDRESS>")

client = httpx.Client(verify=False, base_url=f"https://{ip}")

client.headers.update({
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
    "accept-language": "en-US,en;q=0.9",
    "sec-ch-ua": "\" Not;A Brand\";v=\"99\", \"Google Chrome\";v=\"97\", \"Chromium\";v=\"97\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Linux\"",
    "upgrade-insecure-requests": "1"
})

res = client.get(url="/admin/login")
res = client.get(url="/admin/api/first-start", headers={"content-type": "application/json"})
res = client.get(url="/admin/api/startup-phase", headers={"content-type": "application/json"})

login_body = {"login": USERNAME,
        "password": ENCODED_PASSWORD}

res = client.post(url="/admin/api/login", headers={"content-type": "application/json"}, content=json.dumps(login_body), )

if res.status_code == 200:
    print("Successfully logged in to robot")
else:
    print("Logging in to robot hand failed. Exiting.")
    sys.exit(1)

auth_cookie = res.text
client.headers.update({'Authorization': auth_cookie})

res = client.get(url="/admin/api/safety", headers={"content-type": "application/json"})
res = client.post(url="/admin/api/control-token/request", headers={"content-type": "application/json"}, json={"requestedBy": "yanu"})
auth_token = res.json()['token']

client.headers.update({'X-Control-Token': auth_token})

res = client.get(url="/admin/api/robot/shutdown-position-error")
res = client.post(url="/desk/api/robot/open-brakes", data={"force": "false"}, timeout=20)

if res.status_code == 200:
    print("Successfully deactivated robot hand lock")
else:
    print("Failed to deactivate robot hand lock")
    sys.exit(2)

res = client.post(url="/admin/api/control-token/fci", json={'token': auth_token})

if res.status_code == 200:
    print("Successfully activated fci")
else:
    print("Failed to activate fci")
    sys.exit(3)

the encoded password looks something like MTY5LDE2MSwyMiw0MiwxODIsMTE2LD but longer. just use the network tab to get it. I also saw one project to do the sha256 encrypting in the python script, just like the franka frontend, but I didn't bother.
Hopefully this workaround wont be needed in the future.

@KingBoomie I used the above script, I am able to log in and close brakes but had a problem acquiring X-control-token to open brakes and activate FCI. with the script, The X-control token I get is not allowing to open brakes and activate FCI
I manually copied the x-control-token from the web interface network option it works. but when the system restarts this does not work anymore. I need to copy the token manually again.
Have you tried recently with system version 4.2.1?
Thanks

@KingBoomie I'm currently running 4.2.1 and am unable to find the encoded password. Do you have any advice to locate it or implement the sha256 encryption?
Thanks.

Thanks to the script shared by @KingBoomie, my colleague Bruno Lima and I developed a new script (franka_activate.py) that delivers the following enhancements:

A deactivation procedure (via HTTP requests) is added, which deactivates FCI, activates the brakes and logs out from Desk, so that a new session can be started cleanly;
The script captures termination signals. When the ROS node is shut down, or the process is killed by a termination signal, the script calls the deactivation routine described at point 1;
For security reasons, the script decrypts the encoded password; this assumes that the password is encrypted in an external file. If you find it more comfortable, you can hard-code the password in the script, without calling the gpg -d command to decrypt it. Please be aware that hard-coding the password in the script allows any user reading the script to take control of Franka via Desk or HTTP requests.

Lastly, we created a similar script (franka_shutdown.py) to shut down the robot (i.e. removes the currents at the motors).

@jackmcnamarauq We followed these steps:

Open Desk with your web browser;
Open the developer tools;
Select the Network tab;
Click the "settings" button (top-right) of the opened Network tab and select Persist Logs
Log in using your credentials
Check out the latest POST HTTP request. You should find the encoded password in the request's body itself.

Feel free to check out https://github.com/jk-ethz/franka-lock-unlock for a package that solves this issue.


FluidChroma arguments inconsistent ordering

Same issue as / related to: https://github.com/flucoma/flucoma-docs/issues/59

see comment on #59


New rating option | i will give you a break after this request, i swear

What feature do you want to get added on the base engine?
rating option is called "no more cussing guys"
idk if this is allowed tbh
the ratings

To test your sight, and reliability, please select the option of what should NOT be requested.
Proper credit that was forgotten

bruh = bad
spongbobsad = shit
nice=good
wow!=good

i mean, hey, if a family friendly channel (for example "PGHLfilms"). they can use this option.

ima go to sleep btw, so expect very late (or after school) responses. since i have github on my phone now

bambi reference!11!!11!1

you're missing a marvelous rating

you're missing a marvelous rating

I'll do that when I get home

is marv.png the one?

yeah

k

idk if combo is optional, so ill add both of them
images:

idk if it works as well

what about the pixelated ratings? (the pixel versions of ratings that only occur when playing a week 6 song)

i didnt make them, you want me to make them rq?

i mean sure

aight, ill do em

nvm i cant

just add a note to the description that says: "theres no pixeled ones though"

ok

you will credit me for it, right?

yeah, but how????????

oh shit

now you just said that

i got confused with the credits themed description

i just tested it out, it has an insane amount of lag because the number sprites are missing

bruh

hold on

there should be countdown options

like that animated go from gapple

anyway, im done

how do i get the gold ratings off

turn

how do i get the gold ratings off

turn off the rating popups entirely, unless you're trying to get the funny nmcw ratings

i just want the gold ones gone

go to options -> visuals & ui -> marvelous rating color

ima go ahead and close this


The resource could not be loaded

Describe the bug
I got this error when I setup the app for iOS

Steps to reproduce

Config iOS app with openAPI info

Screenshots or additional context
No response

The iOS app isn't ours. Make an issue in https://github.com/mudkipme/MoeMemos.

The iOS app isn't ours. Make an issue in https://github.com/mudkipme/MoeMemos.

Noted with thanks.


TypeError: float() argument must be a string or a number, not 'Equality'

Hi there, I am new to here and want to use cvxpy's interger programming to solve a work schedule problem.
My variable is a (30,15) numpy array.
I've tried for hours and still got the error among define the constraints part as bellow:
# day >= 9, night = 2, late night = 2
day = cp.Parameter(integer=True)
night = cp.Parameter(integer=True)
late_night = cp.Parameter(integer=True)

day.value = int(9)
night.value = int(2)
late_night.value = int(2)

N = 30
constraints += [cp.sum(cp.multiply(SCHEDULE[:, j] == 1, np.ones((N,)))).value >= day.value for j in range(N)]
constraints += [cp.sum(cp.multiply(SCHEDULE[:, j] == 2, np.ones((N,)))).value == night.value for j in range(N)]
constraints += [cp.sum(cp.multiply(SCHEDULE[:, j] == 3, np.ones((N,)))).value == late_night.value for j in range(N)]

And the error is
Traceback (most recent call last):
  File "D:\Optimization\Midterm\bonus\int_programming.py", line 47, in <module>
    constraints += [cp.sum(cp.multiply(SCHEDULE[:, j] == 1, np.ones((N,)))).value >= day.value for j in range(N)]
  File "D:\Optimization\Midterm\bonus\int_programming.py", line 47, in <listcomp>
    constraints += [cp.sum(cp.multiply(SCHEDULE[:, j] == 1, np.ones((N,)))).value >= day.value for j in range(N)]
  File "C:\Users\GMfatcat\anaconda3\lib\site-packages\cvxpy\atoms\affine\binary_operators.py", line 240, in __init__
    lh_expr, rh_expr = self.broadcast(lh_expr, rh_expr)
  File "C:\Users\GMfatcat\anaconda3\lib\site-packages\cvxpy\expressions\expression.py", line 532, in broadcast
    lh_expr = Expression.cast_to_const(lh_expr)
  File "C:\Users\GMfatcat\anaconda3\lib\site-packages\cvxpy\expressions\expression.py", line 526, in cast_to_const
    return expr if isinstance(expr, Expression) else cvxtypes.constant()(expr)
  File "C:\Users\GMfatcat\anaconda3\lib\site-packages\cvxpy\expressions\constants\constant.py", line 48, in __init__
    self._value = intf.DEFAULT_INTF.const_to_matrix(value)
  File "C:\Users\GMfatcat\anaconda3\lib\site-packages\cvxpy\interface\numpy_interface\ndarray_interface.py", line 53, in const_to_matrix
    return result.astype(numpy.float64)
TypeError: float() argument must be a string or a number, not 'Equality'

My full code
import cvxpy as cp
import numpy as np

# Variables
SCHEDULE = cp.Variable((30, 15), integer=True)

# print(np.zeros((30, 15)))
# Constants day = 1, night = 2, late night = 3, holiday = 4
constraints = [SCHEDULE >= 1, SCHEDULE <= 4]
# GIVE SPECIFIC HOLIDAYS
# key:val = worker : days
must_holidays = {
                 0:[5,6,24],
                 1:[8],
                 2:[13,14],
                 3:[8],
                 4:[18,19],
                 5:[24,25],
                 6:[23,25],
                 7:[11],
                 8:[22,23],
                 9:[14,20],
                 10:[9,10],
                 11:[15],
                 12:[18,19],
                 13:[9,10],
                 14:[3]
                 }
# Holiday: day index = day - 1
for worker,days in must_holidays.items():
	for day in days:
		constraints += [SCHEDULE[day-1,worker] == 4]

# day >= 9, night = 2, late night = 2
day = cp.Parameter(integer=True)
night = cp.Parameter(integer=True)
late_night = cp.Parameter(integer=True)

day.value = int(9)
night.value = int(2)
late_night.value = int(2)

N = 30
constraints += [cp.sum(cp.multiply(SCHEDULE[:, j] == 1, np.ones((N,)))).value >= day.value for j in range(N)]
constraints += [cp.sum(cp.multiply(SCHEDULE[:, j] == 2, np.ones((N,)))).value == night.value for j in range(N)]
constraints += [cp.sum(cp.multiply(SCHEDULE[:, j] == 3, np.ones((N,)))).value == late_night.value for j in range(N)]

# Objective functions
objective = 0
for i in range(15):
	evening_days = np.where((SCHEDULE[:, i] == 2) | (SCHEDULE[:, i] == 3))[0]
	for j in range(len(evening_days) - 1):
		interval = evening_days[j + 1] - evening_days[j] - 1
		f = -((interval - 11) ** 2)

		# FC
		consecutive_shifts = 0
		consecutive_pattern = ''
		for k in range(evening_days[j], evening_days[j+1]):
			if SCHEDULE[k,i] in [2,3]:
				consecutive_shifts += 1

				if consecutive_shifts > 4:
					f -= (consecutive_shifts - 4)*100

				if consecutive_shifts >= 2:
					if '3322' in consecutive_pattern:
						f += 0
					elif '332' in consecutive_pattern or '322' in consecutive_pattern:
						f -= 40
					elif '32' in consecutive_pattern:
						f -= 60
					else:
						f -= 120

			else:
				consecutive_shifts = 0
				consecutive_pattern = ''
		# Add to objective function
		objective += f

objective = cp.Maximize(objective)

# Solver
# Create optimization problem and solve
problem = cp.Problem(objective, constraints)
problem.solve(solver=cp.GLPK_MI)
print("Best score: ", problem.value)
print("Best schedule", SCHEDULE.value)

@GMfatcat If I read this correctly you're saying there must be at least 9 people working during the day, 2 at night and 2 late at night?
Conceptually, the issue is that you have a constraint of the form expression.value >= constant.
But because the variables do not have values yet (those are to be found during the optimization), you cannot query the values to build the constraints.
I have solved a similar problem before and what I did was to have 3 boolean matrices, one for each schedule.
schedule_day = cp.Variable((30, 15), boolean=True)
schedule_night = cp.Variable((30, 15), boolean=True)
schedule_late_night = cp.Variable((30, 15), boolean=True)

You can then ensure that every person only has an entry in one of them at any given time:
constraints += [schedule_day + schedule_night + schedule_late_night <= 1]  # elementwise

You can further ensure the minimum attendance:
constraints += [cp.sum(schedule_day, axis=1) >= day.value]  # notice how the axis keyword removes the need for the loop
...

You'll have to rewrite your objective as well. Again, you cannot check the values using equalities before solving the problem.

@GMfatcat If I read this correctly you're saying there must be at least 9 people working during the day, 2 at night and 2 late at night? Conceptually, the issue is that you have a constraint of the form expression.value >= constant. But because the variables do not have values yet (those are to be found during the optimization), you cannot query the values to build the constraints.
I have solved a similar problem before and what I did was to have 3 boolean matrices, one for each schedule.
schedule_day = cp.Variable((30, 15), boolean=True)
schedule_night = cp.Variable((30, 15), boolean=True)
schedule_late_night = cp.Variable((30, 15), boolean=True)

You can then ensure that every person only has an entry in at most one of them at any given time:
constraints += [schedule_day + schedule_night + schedule_late_night <= 1]  # elementwise

You can further ensure the minimum attendance:
constraints += [cp.sum(schedule_day, axis=1) >= day.value]  # notice how the axis keyword removes the need for the loop
...

You'll have to rewrite your objective as well. Again, you cannot check the values using equalities before solving the problem.

Thanks, I think my program works. However the result get quite different while the solver is CBC or GLPK_MI, and the former is much better. I do some research and realize that these 2 solver are not similiar in searching algorithm. Can you share your experience of using these 2 solvers in mixed -integer programming?

@GMfatcat What do you mean your program works? It does give the error in the title.
For a general performance comparison between solvers, you can check out https://mattmilten.github.io/mittelmann-plots/
But if one works better for your particular problem, I'd use that.

@GMfatcat What do you mean your program works? It does give the error in the title.
For a general performance comparison between solvers, you can check out https://mattmilten.github.io/mittelmann-plots/ But if one works better for your particular problem, I'd use that.

After I modifed the code as your suggestion, I finished the rest of part and it can now work. I will check on the link you provide, thanks a lot.


Multiplatform ImageViewer desktop camera support

Clone correct branch: git clone -b feat/imageviewer-desktop-camera https://github.com/DevSrSouza/compose-jb.git
This Pull Request adds support for Camera in Desktop app by using webcam-capture library and converting it RGB ByteArray to Compose/Skiko ARGB to display the image capture as Compose ImageBitmap.
For running the application in MacOS, the apps requires camera permission, so I had to add a runtime-entitlements.plist with com.apple.security.device.camera and infoPlist entry NSCameraUsageDescription.
How to test on MacOS:

./gradlew :desktopApp:createDistributable
open desktopApp/build/compose/binaries/main/app/ImageViewer.app

https://user-images.githubusercontent.com/29736164/226772897-20823473-95ce-49a2-bb51-d205fc6cdb35.mp4

This is now available in maven central. Any update? @DevSrSouza


Fix DCOS-180 - Mesos-Dns error on ./build_local.sh - Permission denie…

…d cloning the repository
Changed to HTTPs url on mesos-dns github repository in order to avoid Public Key Denied authentication when running a DC/OS local build
Issue: https://dcosjira.atlassian.net/projects/DCOS/issues/DCOS-180?filter=allissues

You should be able to clone this as long as your GH SSH keys are setup correctly. For consistency, we use SSH for cloning repos, this helps us work with other projects that are not OSS.

Hi @malnick
I have checked now my key and I fixed the issue. However, if you prefer SSH over HTTPs for consistency, why all this packages uses the HTTPs version instead of the SSH?
I have seen that only mesos-dns is using the SSH connection string. That's the reason I suggest to use HTTPs in this package too in order to avoid this error.
3dt/buildinfo.json:    "git": "https://github.com/dcos/3dt.git",
adminrouter/buildinfo.json:          "git": "https://github.com/dcos/adminrouter.git",
dcos-installer-ui/buildinfo.json:    "git": "https://github.com/dcos/dcos-installer-ui.git",
dcos-oauth/buildinfo.json:    "git": "https://github.com/dcos/dcos-oauth.git",
dcos-signal/buildinfo.json:    "git": "https://github.com/dcos/dcos-signal.git",
dcos-ui/buildinfo.json:    "git": "https://github.com/dcos/dcos-ui.git",
dnspython/buildinfo.json:    "git": "https://github.com/rthalley/dnspython.git",
exhibitor/buildinfo.json:      "git": "https://github.com/dcos/exhibitor.git",
mesos-buildenv/buildinfo.json:    "git": "https://github.com/dcos/mesos-buildenv.git",
mesos-dns/buildinfo.json:    "git": "https://github.com/mesosphere/mesos-dns.git",
minuteman/buildinfo.json:      "git": "https://github.com/dcos/minuteman.git",
navstar/buildinfo.json:      "git": "https://github.com/dcos/navstar.git",
spartan/buildinfo.json:      "git": "https://github.com/dcos/spartan.git",

🚢 . This should have been https:// when it was set in #217. There is no reason for the open repository to use ssh cloning for anything. https works just as well, and requires less per-user infrastructure.


Add support for using access_message as a REQ() converter/validator

We now have several views that accept a message ID and call access_message in the request body to interact with the message with proper authentication.  It might make sense to move that code to make that function a validator/converter that can be used to do the relevant checking entirely in the decorator code path.
The other thing to think about before doing this is whether we want to change the API for these to be more REST-like, e.g. GET /json/messages/12345/raw, which would be a bit cleaner from an API perspective and would entail replacing this stuff.
You can git grep access_message to find the relevant call points.

Do any of our other validators or converters access the database?
I was wondering whether it would be better to keep it in the view code since it works with the database.

Perhaps not; the closest we have is extract_recipients.
I don't think it's a problem for one of these decorators to access the database, however.

@timabbott Closing this based on our discussion on Zulip.  The fact that we need to look at UserProfile in the decorator complicates things enough that it's probably not worth having a decorator.

Apparently GCI doesn't let us delete the task since it's been claimed.  Sigh.

I think we can maybe just edit it to be a totally different issue to deal with this problem.


decode using attention-lm

my script
1 #!/bin/sh
2
3 PROBLEM=languagemodel_ptb10k
4 #MODEL=transformer
5 #HPARAMS=transformer_base
6 MODEL=attention_lm
7 HPARAMS=attention_lm_small
8
9 DATA_DIR=t2t_data
10 TMP_DIR=t2t_datagen_tmp
11 TRAIN_DIR=t2t_train/$PROBLEM/$MODEL-$HPARAMS
12
13 mkdir -p $DATA_DIR $TMP_DIR $TRAIN_DIR
14
15 ## Generate data
16 #t2t-datagen
17 # --data_dir=$DATA_DIR
18 # --tmp_dir=$TMP_DIR
19 # --problem=$PROBLEM
20
21 t2t-trainer
22 --data_dir=$DATA_DIR
23 --problems=$PROBLEM
24 --model=$MODEL
25 --hparams_set=$HPARAMS
26 --output_dir=$TRAIN_DIR
27 --worker_gpu=8
28 --train_steps=1000
29 --eval_steps=10
30
31 t2t-decoder
32 --data_dir=$DATA_DIR
33 --problems=$PROBLEM
34 --model=$MODEL
35 --hparams_set=$HPARAMS
36 --output_dir=$TRAIN_DIR
37 --decode_from_file=$TMP_DIR/simple-examples/data/small_test
my decode result seems empty:
INFO:tensorflow:Inference results INPUT: it was the first time in seven years that moscow has n't joined efforts led by
INFO:tensorflow:Inference results OUTPUT:
INFO:tensorflow:Inference results INPUT: for a while
INFO:tensorflow:Inference results OUTPUT:
INFO:tensorflow:Inference results INPUT: we 've been spending a lot of time in los angeles talking to tv production people says mike parks president of call interactive which supplied technology for both abc sports and nbc 's consumer minutes
INFO:tensorflow:Inference results OUTPUT:
INFO:tensorflow:Inference results INPUT: from the fee the local phone company and the long-distance carrier extract their costs to carry the call passing the rest of the money to the
INFO:tensorflow:Inference results OUTPUT:

Closing in favor of #439 which reports the same issue.


added copy password to clipboard for add and generate commands

This is related to Issue #31 .
I have used clipboard crate to copy the password to clipboard.
In case the clipboard is unavailable, default approach to only present the password is used.
While generating multiple passwords, no password is copied to clipboard.

Also, please try pulling main now. The dependencies issue is resolved (https://github.com/SonuBardai/lockbox/pull/38) and the CI workflows should finish building on this PR 👍

Codecov Report

Merging #34 (a6260da) into main (a18fbaf) will decrease coverage by 1.81%.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #34      +/-   ##
==========================================
- Coverage   54.63%   52.83%   -1.81%
==========================================
  Files           7        7
  Lines         615      636      +21
==========================================
  Hits          336      336
- Misses        279      300      +21

Files Changed
Coverage Δ

src/cli/commands.rs
0.00% <0.00%> (ø)


when chaincode phase will be Committed ?

when chaincode got committed ,its phase should be Committed.right?
but what i observed is committed never patched

@0xff-dev next stage is Running but now is Approved?

@0xff-dev When chaincode got committed, we should allow chaincode upgrade even pod is not runnig

status.phase indicates that the current chaincode is allowed to be installed.
nextStage indicates the stage to be executed if the processing fails at that time.
Only when the pod of chaincode is up will status.phase change to running.

before chaincode running ,the current stage whould be Committed,right ?

When the chaincode is not running, if it has been committed it is possible to do an upgrade.


Installing Lucene.net CLI

I'm trying to install Lucene.net CLI
When I run the command dotnet tool install lucene-cli -g --version [EnvVar:LuceneNetVersion] I get an error: Specified version '[EnvVar:LuceneNetVersion]' is not a valid NuGet version range.
When I run the command dotnet --list-runtimes, I find that I have Microsoft.NETCore.App 3.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] while the prequisite is .NET Core 3.1.0 Runtime. I suppose that it's compatible, but I'm not sure.
I don't know how to fix this.
https://stackoverflow.com/questions/66107372/installing-lucene-net-cli?noredirect=1#comment116885324_66107372

This is a documentation build issue. [EnvVar:LuceneNetVersion] is a token that should have been replaced during the docs build.
Please use a real version number here instead like 4.8.0-beta00013
I'll try to get those docs fixed soon.


teleport-operator with Machine ID (tbot)

Problem:

Currently, teleport-operator is using a shared credential to access Teleport Cluster.

Motiviation:

We want to use Machine ID (tbot) to use short-lived credential to access Teleport Cluster.

Here's high level overview of challenges associated with using Machine ID:

Demo: https://gigantic.slack.com/archives/C053JHJC99Q/p1699458462289799

Demo 2: https://gigantic.slack.com/archives/C053JHJC99Q/p1699538523935049

PR ready for review:

https://github.com/giantswarm/teleport-operator/pull/32

Room for improvements:

Maybe, move the hashing stuff and time ago calculation to outside cluster_controller.go
Move the teleport-operator secret to configmap, since, it doesn’t contain secrets anymore (as it doesn’t have identityFile anymore) which we are now getting dyamically from tbot.

Will need updating to test cases as well.

Maybe, add more test cases.