IndexOutOfBoundsException comes in case of empty dataset

Hi @landawn,
I am getting IndexOutOfBoundsException whenever i perform following actions:

Joining 2 dataSets out of which 1 dataSet is empty.
Example:  final DataSet dataSet1 = N.newDataSet(N.asLinkedHashMap(
          "ACCT_ID", N.asList("1", "2"),
          "ACCT_NM", N.asList(11, 12)));

  final DataSet dataSet2= N.newEmptyDataSet(N.asList("ACCT_ID_1","ACCT_NM_1"));

  DataSet joinedDataSet = dataSet1.innerJoin(dataSet2, N.asMap("ACCT_ID", "ACCT_ID_1"));

   2. updating column in case of empty dataSet:
          **Example:**

         final DataSet idDataSet = N.newEmptyDataSet(N.asList("ID"));
         idDataSet.updateColumn("ID", (Try.Function<String, Object, RuntimeException>) Long::valueOf);

I believe this empty check should be part of the API, otherwise as a consumer everybody have to write this check before using above functions.

I agree that all the methods in DataSet should be compatible and work fine with empty DataSet.
The root cause for above issue mostly is in N.newEmptyDataSet(columnNames), not in DataSet
The implementation for newEmptyDataSet looks like:
new RowDataSet(new ArrayList<>(columnNames), new ArrayList<List<Object>>());

This is wrong. it should be:
final List<List<Object>> columnList = new ArrayList<>(columnNames.size());

for (int i = 0, size = columnNames.size(); i < size; i++) {
    columnList.add(new ArrayList<>(0));
}

return new RowDataSet(new ArrayList<String>(columnNames), columnList);

I will fix this issue in next release and add validation in DataSet to make sure sizes of column name list and column list are same.
I tested the join with empty DataSet not created by N.newEmptyDataSet. it works fine.
final DataSet dataSet1 = N.newDataSet(N.asLinkedHashMap("ACCT_ID", N.asList("1", "2"), "ACCT_NM", N.asList(11, 12)));

final DataSet dataSet2 = N.newDataSet(N.asList("ACCT_ID_1", "ACCT_NM_1"), N.asList(N.asList("id1", "nm1")));
dataSet2.println();

dataSet2.clear();

dataSet2.println();

dataSet2.updateColumn("ACCT_ID_1", Fn.<String, Long> f(Long::valueOf));

dataSet1.innerJoin(dataSet2, N.asMap("ACCT_ID", "ACCT_ID_1")).println();
dataSet1.fullJoin(dataSet2, N.asMap("ACCT_ID", "ACCT_ID_1")).println();

please let me know if you have different use case/test scenarios for this issue.

Yah, you are right, this issue is occurring in case of  creating dataSet using N.newEmptyDataSet.
else things works fine. will wait for the new release :)
Happy coding 👍
can you please brief list of few useful classes/interfaces in abacus -> like i saw you used Fn that too has some good functions.

@landawn  when I can get version 1.7.8 on maven ?

@infinite-sahil It's available now.
And as you may or will know, There are couple of alternatives for (Try.Function<String, Object, RuntimeException>) Long::valueOf, :

cast by com.landawn.abacus.util.function.Function: (Function<String, Object>) Long::valueOf

use: (String val) -> Long.valueOf(val)

Fn.<String, Long> f(Long::valueOf)

use or add new utility method. for example: Fn.parseLong(), which just added in 1.7.8 release.

By the way, if you're interested in Functional Programming, you could have a look at the section Functional Programming in this project main page

Thank you @landawn .
I verified it and its working perfectly fine.


tar extraction generates corrupt data

When trying to run the code discussed in #18, certain (many?) files end up being corrupted and replaced with what appears to be the buffer serialized as numbers:

Oh wow, that's bizarre... I tried to reproduce this with a bunch small tar files where I use the same snippet and call toUpperCase() on the file name. That doesn't appear to affect contents though.
Do you have small tar file where you've seen this behavior so I can reproduce it? I assume it happens with the arch bootstrap tar, but I'm wondering if you have a smaller repro or any files in particular for me to look at?

@simolus3 I do not, sorry :(   Here's the current code I'm using if it helps:
Future<void> convertArchBootstrapToWSLRootFs(
  String archImage,
  String targetRootfsFile,
) async {
  final inputStream = File(archImage).openRead().transform(gzip.decoder);
  final writer = tarWritingSink(File(targetRootfsFile).openWrite());
  final initialFolder = RegExp(r'^root\.(x86_64|aarch64)\/');
  final ignorePkgList = RegExp(r'^root.*\/pkglist.*\.txt$');

  await TarReader.forEach(inputStream, (entry) async {
    // NB: There is a useless file inside the root.ARCH folder, we'll ignore it
    if (ignorePkgList.hasMatch(entry.name)) {
      return;
    }

    final h = entry.header;
    final header = TarHeader(
      name: h.name.replaceFirst(initialFolder, './'),
      format: h.format,
      typeFlag: h.typeFlag,
      modified: h.modified,
      linkName: h.linkName?.replaceFirst(initialFolder, './'),
      mode: h.mode,
      size: h.size,
      userId: h.userId,
      groupId: h.groupId,
      accessed: h.accessed,
      changed: h.changed,
      devMajor: h.devMajor,
      devMinor: h.devMinor,
    );

    await writer.addStream(Stream.value(TarEntry(header, entry.contents)));
  });

  await writer.close();
}

Ok, so after a bit of digging I found out that the weird numbers are part of the original tar file (they belong to root.x86_64/usr/share/tc/*.dist). Now the question is why a chunk ends up in the wrong file in the end. This error doesn't happen when I buffer the contents of individual entries before writing them, so I assume there's another race condition somewhere in this package.

It looks like the problem is gone with 012050e3fc92ef5068b7415f15751e0083263dee. I don't fully understand why, perhaps there's something weird going on in the file sink implementation from dart:io (it certainly shouldn't re-order chunks).
I'll wait for your PR and then release a new version :)


pull request for e2e test at 11/28/2016 22:26:04

:white_check_mark: Validation status: passed
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.


Clarify how to use MultiMesh.set_instance_color.

Just calling set_instance_color will do nothing unless you have set
color_format and vertex_color_use_as_albedo. This is really confusing,
and I only discovered my error by finding godotengine/godot#10217 from
another confused user.
The docs should call out these requirements.

Thanks!


More info from bosh status

It would be useful to have some information about bosh's processes state when executing a bosh status. Something like: general_status: running if all processes are in running state and general_status: failed if at least 1 process is not in running state.
What do you think?

Are you referring to something like bosh instances --ps?

The command should return the output (or an aggregate of the output) of the monit status of the bosh vm processes. Like bosh instances --ps but for bosh itself.


Get blog posts fed straight into my news app

Hey to all at ratchet!
i have just discovered this genious library and was wondering if you can help me.
I have knowledge on HTML and CSS yet basic on JS.
So i am developing a news app based on my website http://coventryonline.net/
How can i automatically pull categorised blog posts into my news app? is there a ratchet js script for that?
Very much looking forward to your reply!
Navneet

Your question isn't particularly Ratchet-specific. Try asking it on a general web development forum instead. Good luck!


Azle Canister Decl Errors

As long as we are working on errors, one of the errors that the azle canister decl has is when it's doing the get dependencies. I am wondering about whether or not we should have any checking for compiler errors in the get dependencies?

For example, when we are collecting dependencies from azle_type_elements we know very little about what type we are looking at, it could be canister it could be a variant, it could be a record, so instead of having a vague error while we are collecting dependencies, we could just return an empty hash set, in effect saying "This unsupported type doesn't have any dependencies that we need to find" and then we reserve the error for later in the process when we know much more about what we are handling

This is no longer an issue now that we have offloaded the get_dependencies pass to the CDK Framework.


feat: add check that PR must have some description

closing this, it's low pri and I don't have time to dig into it and fix it atm


test

Description of the change:
Reason for the change:
Link to original source:

Closes #

dfdf

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.4 out of 5 committers have signed the CLA.:white_check_mark: Whatthefoxsays:white_check_mark: xtineledlie:white_check_mark: justinwhall:white_check_mark: negarzipan:x: Kaylyn SiglerKaylyn Sigler seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[readme] Add working utf8 in HTML body on gmail example

I noticed that there are like 3 tickets or so about uft8 in html emails, and I was having this problem too (send UTF8 issue, error had NonAsciiChars)

my mail server does not forward the mail because of the duplicate header ContentType.
If i remove either header it works but if i remove the second header the html formating does not work.


[Task] Add GTM to CE,EE and CS Repos.

We are working with digital marketing agency and they are running some Google Ads to drive partner sign-ups on our website. However, they are unable to track these users on other sub-domains as Google Tag Manager code is only installed on our website
Solution: We will need to add Google Tag Manager(GTM) to both app.appsmith.com and customer.appsmith.com so that the users are now trackable. Two ways that google tag manager can be added
Adding the scripts directly to our site - https://developers.google.com/tag-platform/tag-manager/web
Adding GTM though segment since we already use segment  - https://segment.com/docs/connections/destinations/catalog/google-tag-manager/
Tradeoffs:  GTM is known to cause performance issues as mentioned here and here since we can now insert scripts into the app without actually adding the scripts in the sourcecode.
Slack thread for reference: https://theappsmith.slack.com/archives/CGBPVEJ5C/p1686807423089199

We have selected the way forward as using tracking pixels after taking the performance metrics for all 3 ways.


[BUG] Project-wise cell segmentation does not run

Description
When trying to apply cell segmentation on a newly constructed project, the segmentation does not seem to run at all. The slides were loaded properly, as shown by the log output:
INFO     Segmenting cells for 717 slides.
However, after this step, i see no increase in memory or cpu usage or gpu usage for hours, suggesting the segmentation itself does not properly start. I checked the tile_um the cell segmentation function produced and it is 512, which seems normal. Increasing the number of workers or changing the window_size did not have any effect. Is there maybe another function i should call first before using cell_segmentation? Thanks a lot for your help!
To Reproduce
Code to reproduce the behaviour:
    project.cell_segmentation(diam_um=30,                               qc='Otsu',                               verbose=True,                               tile=True,                               batch_size=16,                               model='cyto2',                               mpp=0.25,                               window_size=512,                               num_workers=1,                               sources=['MyProject'])

Environment:

Slideflow Version (e.g., 1.0): 2.3.0
OS (e.g., Ubuntu): Rocky Linux 8.9
How you installed Slideflow (pip, source): using pip
Python version: 3.9.17
CUDA/cuDNN version: 11.6.1
GPU models and configuration: Quadro RTX 6000
Any other relevant information: Cellpose seems to be installed properly

Closing this, turns out my MPP was not read properly (using .tiff files) which silently made slide not work.


Drag and Drop from Gmail Failing

Describe the bug
When dragging an embedded image from a Gmail (or Outlook) email to the Filepond drag and drop handle, the upload immediate turns red with the following errors: "Waiting for Size" and "Error During Load"
Logs
No logs.
To Reproduce
Unfortunately, I'm currently too pressed for time to create a project demonstrating this.
Expected behavior
When dragging an image from Gmail (or Outlook), one would expect the image to be ready for upload but it instead gives the aforementioned error without any javascript or network error/logs.
Stacktraces
No stack trace.
Information about your project:

Chrome 83, 84 and 85 affected
Linux KDE and Windows 10 affected
Filepond version 4.4.12

Additional context
N/a

We require the issue template to be filled out on all new issues. The issue template helps us collect all the information we need to address your submission efficiently.
The more information we have, the faster the issue can be resolved.
We will be able to more closely look at your issue once the issue template has been filled out. This issue will be closed in 5 days if the above is not addressed.

We require the issue template to be filled out on all new issues. The issue template helps us collect all the information we need to address your submission efficiently.
The more information we have, the faster the issue can be resolved.
We will be able to more closely look at your issue once the issue template has been filled out. This issue will be closed in 5 days if the above is not addressed.

Sorry about that. I'm very short on time and was hesitant to even post the issue initially.
I've reformatted it so that it fits the template. If a repo reproducing the issue is absolutely necessary to investigate, you can close the issue. I unfortunately don't have the time to create one at the moment.

This can be reproduced on https://pqina.nl/filepond/#multi-file-demo by selecting Browse and adding files from google drive.
Information about the project:
Android 6

Chrome 79 no issues
Android 10
Chrome 87 no files work ("Error during upload")
Chrome Beta 80 .jpg stuck in filesize calculation, .png, .pdf... work
Chrome Beta 81 onwards no files work
Firefox 82 no issues
Edge 45 .jpg stuck in filesize calculation, .png, .pdf... work

May be a chromium issue since Edge 45 does not use it.

I can drag/drop the gmail logo and it works correctly but dropping images from inside the email doesn't work.
 The API used to download the images cannot reach the images because of that.

It seems to be related to FilePondPluginFileEncode
https://codesandbox.io/s/vanilla-filepond-forked-nc4bk breaks on mobile chrome when selecting drive files (stuck on waiting for size)

I did replicate the issue here at next url:
https://codesandbox.io/s/vue-filepond-images-from-gmail-not-working-nknbm?file=/src/components/FilePondDemo.vue
'file' parameter at 'process' function is returning blob html/text.
Steps to reproduce:
1.- Drop an Image from GMAIL email body.
2.- Look at the console log blob object.


Event Request OnBeforeCheckItemTrackingInfo in Codeunit 22

Hello Team,
We have requirement to create the Lot No./Serial No. information record if it does not exist and if Lot No. info/Serial No. info is required. It would be helpful if you add event in CheckItemTrackingInfo Function in Codeunit 22 for that.
Thanks.

This event already exists. Please check on the latest bcsandbox-master Docker image.


fix multiple container creation if target option set to iframe/frameset.

If target set to iframe or frameset, the existing container check ($container.length) will never find it and container will be recreated endlessly.
For exaple, target option can be used like so:
var frameDocument = $('frameset-selector, top.document)[0].contentDocument;
var mainframeBody = $(frameDocument).find('body');

toastr.options.target = mainframeBody;

Can you please re-submit this PR against the develop branch and add tests?
Thanks!


Put the Query Result Connection detail to other place, Not a tooltip of a resultset

Is your feature request related to a problem? Please describe.
No. There is an existing function.
Describe the solution you'd like
Current: the connection detail of a result set is a tooltip of a tab. It contains Connection Profile, time , SQL query statement
Suggest: can the connection detail is on the same screen of ResultSet grid? say at the bottom of ResultSet Panel?
Describe alternatives you've considered
When going to screenshot of current result set, it is inconvenient to capture 2 times. One is to capture the connection detail , and one is to capture the ResultSet tables.
When I need to present the ResultSet to fellow / boss, it takes me longer time to do so.
Additional context
Nil.

Thank you for idea.


Updates to the downloads page

Describe the bug
Downloads page needs an update for 1.0.
To Reproduce
Steps to reproduce the behavior:

Go to 'downloads page'
See error

Expected behavior
See screenshot
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Download zip files need to have release notes added to the zip files and @KameronKerger  is working on getting these to @esfoobar-usds - #2007


[Feature Request] Reified functions

Relevant to 4.x.x
For any function that takes in a single class, you may also use reified classes:
eg
fun <T : IAdapterExtension<Item>> getExtension(clazz: Class<in T>): T? {
    return extensionsCache[clazz] as T
}

can be enhanced with
inline fun <reified T : IAdapterExtension<Item>> FastAdapter<Item>.getExtension(): T? =
    getExtension(T::class.java)

As a side note, you either want the first definition to be as T? to allow missing extensions, or as? T to also ignore casting incompatibilities (which is probably a library bug is that happens), or for the return type to be non nullable.

@AllanWang thank you so much for all those nice improvements.
Please consider opening a PR :)
I think it would be possible to have a nullable getExtension and a non-nullable requireExtension (similar like android does it for the requireViewById or so).

Great. I will be making a PR shortly


Open a last used file on returning to the session?

Overview
Currently, no files are selected when you return. Use database._project for the implementation

Hi @roll We will review this issue after the launch of the stable version. Thanks!


[AMORO-1979] When a date type is used as the primary key, the data will be duplicated after optimization.

Why are the changes needed?
fix: #1979
Brief change log

Modify CombinedDeleteFilter to wrap record as InternalRecordWrapper

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before making a pull request

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Can you add some unit test to validate this situation?

Is this related to the column type of pk, like what described in the issue (a type of date)? Can you provide more information about what causing this problem?


Added new fingerprint of VW California 2021

can you share your dongle ID?

It's 27b7f2ed4af51969.


Fix DenseMatrix.atoms

Fixes #190

Looks good. Though any idea why this issue crept up after updating the binaries?

It was because tolist was updated recently.

+1

There seems to be a link failure in MinGW:
[100%] Linking CXX shared library symengine_wrapper.pyd
CMakeFiles\symengine_wrapper.dir/objects.a(symengine_wrapper.cpp.obj): In function `__Pyx_Coroutine_Send':
C:/projects/symengine-py-l1jmr/symengine/lib/symengine_wrapper.cpp:174198: undefined reference to `_PyGen_Send'
C:/projects/symengine-py-l1jmr/symengine/lib/symengine_wrapper.cpp:174203: undefined reference to `_PyGen_Send'
CMakeFiles\symengine_wrapper.dir/objects.a(symengine_wrapper.cpp.obj): In function `__Pyx_Generator_Next':
C:/projects/symengine-py-l1jmr/symengine/lib/symengine_wrapper.cpp:174287: undefined reference to `_PyGen_Send'
collect2.exe: error: ld returned 1 exit status
symengine\lib\CMakeFiles\symengine_wrapper.dir\build.make:133: recipe for target 'symengine/lib/symengine_wrapper.pyd' failed

But that is probably unrelated to this PR? Perhaps a different Cython version was used?

Probably a change to python version in appveyor. We are using a patched version of libpython, so that MinGW works with it. Since we are not replacing other components, there might be issues with this.

Thanks.


Updating build.py to be compatible with the Python 3.

The build.py file (link is - https://github.com/privly/privly-applications/blob/master/build.py) should be made compatible with the Python 3 too.

I have updated the build.py successfully compatible with python 3 and python2


go-web.bat does not open the website

when i click go-web.bat it shows me this

I don't know what is the cause. pls help

Wrong startup directory. Run cd RVC and then run runtime\python.exe infer-web.py --pycmd runtime\python --port 7897!

This also assumes you've downloaded the 'complete package' 7z for your platform (basically have Python in your RVC folder in a subfolder called runtime).
If you've manually cloned this repository and venv'd yourself, you'll want to edit go-web.bat to
call .venv\Scripts\activate python.exe infer-web.py --pycmd python --port 7897

I am also having the same kind of issue, what should i do here ? and please guide me step by step( not a tech person)


[DEFECT] Adaptive MonteCarlo crashes if failure occurs at the begin of an evaluation

Thank you for the defect report

[X] I am using the latest version of RAVEN.
[X] I have read the Wiki.
[x] I have created a minimum, reproducible example
that demonstrates the defect.

Defect Description
If a sampling fails in the first iterations, the adaptive Montecarlo crashes when a "successful" model evaluation is achieved. This is due to the fact that the convergence is checked on ```nan``
Steps to Reproduce
create a model that fails the first run and the code will crash.
Expected Behavior
since it is a "Montecarlo" it should neglect the failure and go on.
Screenshots and Input Files
No response
OS
MacOS
OS Version
No response
Dependency Manager
CONDA
For Change Control Board: Issue Review

[X] Is it tagged with a type: defect or task?
[X] Is it tagged with a priority: critical, normal or minor?
[X] If it will impact requirements or requirements tests, is it tagged with requirements?
[X] If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[X] Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure

[x] If the issue is a defect, is the defect fixed?
[x] If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[x] If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] If the issue is a defect, does it impact the latest release branch? If yes, is there any issue tagged with release (create if needed)?
[x] If the issue is being closed without a pull request, has an explanation of why it is being closed been provided?

Issue closure checklist is satisfied.


lbry.tv: video cut-off without errors

On some days, lbry.tv only partially loads a video.  No error messages.  The same video works fine on Desktop.
https://youtu.be/EXe9pt7O9Vc

Close
Haven't seen it lately.


No subdirectory filter

It's a very useful add-on, but it is not possible to filter specific subdirectories in a website. For instance, I manage a photoalbum website on my brothers domain witch is http://www.name.nl/~fotoalbum.
It generates a lot of history-entries which I would like to filter, but not the full website of my brother.
When I add the full domainpath to the list of URL's it adds name.nl but leaves /~fotoalbum out of it.

Something like this as well as #16 would require a restructure of how I store my whitelist, so it may or may not happen.
But thank you for using it.

This was added in 2.0.0


new release for Talisman

New release for the Talisman wallet.
Now Talisman wallet is not providing the avalanche chain, it is already exist on SDK but didn't released yet.

@anthon-dev release pr is already opened - I don't see a reason bumping with minor again.


Add support for react-native 0.17.0-rc

Otherwise, I'm getting an invalid dependency error when I install with react-native 0.17.0-rc.

@oblador, we are currently blocked on this, any chance you can merge quickly and release a new version?

Landed in 1.0.2.


[Typography] Add Body Bold Typography

Fixes #808
non-breaking change but we'll want code changes in BuyNowCard.Title in userland.

Will merge in after next major release, since this can be a minor.


Support default results for missing fields

When a service doesn't respond with a requested field, we should be able to default the field to the defined default for each type.
Context
While writing integration test mocks for knit endpoints, we often just want to mock sensible defaults without having to be explicit about the values and to just ensure type safety.

You are able to use Message.fromJson() for the corresponding protoc-gen-es Message class to initialise the message (as well as default fields).

@dgroux hmm yeah maybe that would be sufficient... I'll give it a shot.


Allow minhops of 0

See e.g. this page, zero minhops are useful
There is already a unit test for <0 hops, so no new tests needed

Thank you!


Taxon constraint: GO:0005793    endoplasmic reticulum-Golgi intermediate compartment

Please provide as much information as you can:

GO term ID label:
GO:0005793    endoplasmic reticulum-Golgi intermediate compartment

https://www.ebi.ac.uk/QuickGO/annotations?goUsage=descendants&goUsageRelationships=is_a,part_of,occurs_in&goId=GO:0005793&taxonId=2&taxonUsage=descendants

Request to add a taxon constraint:

**only in taxon: **

Only in Eukayota

Request to remove a taxon constraint:
Please specify

Supporting evidence if available (e.g PMID):

added
GO:0005793  endoplasmic reticulum-Golgi intermediate compartment  NCBITaxon:2759  Eukaryota

All good.


Log messages sent/published with AuditStore from consumers

I want to use the AuditStore to log all messages sent/published and consumed and I am having problems to understand how it works. I have created a custom audit store that I am registering on IBusControl
busControl.ConnectSendAuditObservers(messageAuditStore);
busControl.ConnectConsumeAuditObserver(messageAuditStore);

All message sent/published with busControl and all messages consumed are being logged but the message sent/published in my consumers using ConsumeContext are not logged. I have therefor tried to use  context.ConnectSendAuditObservers(messageAuditStore) on the consumers but do then register my audit store every time causing one additional log every time I register it. How should I configure the Audit store in order to log all messages?

This is a long lasting issue https://github.com/MassTransit/MassTransit/issues/856
@phatboyg wrote there that it is easy to fix but... :) I am not familiar with MT internals yet to fix it. Unless I get some help...

@durus This issue will be gone in the next release. You can test with the latest preview build.

I tested it with nuget package <IP_ADDRESS>6-develop and it did not. I tested it by only adding
busControl.ConnectSendAuditObservers(messageAuditStore);
busControl.ConnectConsumeAuditObserver(messageAuditStore);

So I did not try to setup the audit store in the consumer by setting context.ConnectSendAuditObservers(messageAuditStore)

Have you tested with context.Send or context.Publish?

@durus new packages were just published so I appreciate if you can update your test. It should be working, at least with context.Publish. I though context.Send is working but I might be wrong.

@durus The 1216 packages don't have the fix. The new packages published today have the fix.

Thank you, I had problems with both context.Publish and context.Send.
@alexeyzimarev context.Publish has now been fixed but context.Send is still not working

I have done nothing with Send yet. Will have a look.

@durus I submitted a PR #970, which fixes the issue

Thank you, it is now working with <IP_ADDRESS>7-develop.

Great, may be close the issue now? :)
On Mon, 21 Aug 2017 at 10:14 durus<EMAIL_ADDRESS>wrote:

Thank you, it is now working with <IP_ADDRESS>7-develop.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MassTransit/MassTransit/issues/956#issuecomment-323676887,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACsMVWs66tU6AzlA0UOmPdMAGWu1qF4uks5saTxhgaJpZM4Ovfs9
.

--
Med vennligst hilsen / Best regards,
Alexey V. Zimarev


WIP Removed ignoring of self-signed SSLs for App Center builds

Since now the environments using normal CA approved SSL certs this should be now removed from the code. Leaving this only for debug builds.

@pavshr  Do we still want this PR?

@Frederik-S-N-dk as long as we are planning to keep Azure test environments this is not needed. I guess I will close it for now.


Functional Tests to the Settings Component

This new set of functional tests verifies that the links to the settings component are in fact valid and that changing a settings and saving it will in fact be respected. The test necessitated a means to easily change a given setting and reset it back. Those pieces will likely prove very useful in the future as more settings are added. This new test should follow the page object model as previously fixed in the other tests.

This change is

Looks good overall.  Just some nits & questions.

Review status: 0 of 8 files reviewed at latest revision, 3 unresolved discussions.

tests/ui/layout.py, line 53 [r1] (raw file):
nit: Should we move locators like these into the page object?  It should still be re-usable from there.

tests/ui/settings_component_test.py, line 60 [r1] (raw file):
nit: We should add a comment here to say that we are reloading the page so that backend changes are reflected in the frontend.

tests/ui/settings_component_test.py, line 65 [r1] (raw file):
Should or will other settings be included for testing as well?

Comments from the review on Reviewable.io

Reviewed 8 of 8 files at r1, 5 of 5 files at r2.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

tests/ui/layout.py, line 53 [r1] (raw file):
For the settings ones specifically, yes. However, since we reuse the ID for the proxy server display template, user display template, and chrome policy display template, those don't make as much sense. I was following the same approach here in the event that we end up displaying the settings on the landing page at some point in the future. However, it isn't now so I've went ahead with moving it. Done.

tests/ui/settings_component_test.py, line 60 [r1] (raw file):
Done.

tests/ui/settings_component_test.py, line 65 [r1] (raw file):
Yes, but I held off on writing them for now. I tried to make it very easy to add those in later once we have more settings. Obviously, it would be fairly trivial to test the enforce network jail settings using this same code, but that didn't seem all that useful.
I left a todo in the other file for adding ways to change future settings (whatever they may be) since they likely won't be just toggle switches, but potentially something more complex, like an input field that is more configurable. I'll add the necessary test for whatever those settings may be once we implement them.

Comments from the review on Reviewable.io


Accessing global scope from a worker

This may be an issue with my implementation, but I am having trouble accessing the global scope within a webworker which is created with webworkify.
When I console.log( self ); I see two entries in the console; the first time (presumable when the require happens) this outputs a reference to the window, the second time, from the blob, this outputs a string:
[object dedicatedWorkerGlobalScope]
Shouldn't this be an object, rather than a string?
This means that I am unable to access variables defined in the global scope from within the worker. Is there a work around?

This is actually expected behaviour. Web workers can only return strings not objects.
Also web workers global scope is different from the window global scope, so accessing global variables from inside a web worker isn't possible.


add-linters

Any way to fix the linter errors. I understand not all can be solved. But can we still look at all suppressed ones and see if anything can be solved.

@ambiknai Have fixed a few which were okay to do in my understanding. There are 4 instances where have still used //nolint and it is required to use them that way

Can you please add your tests also before merging this PR


Profiler Download Links Point to Old Versions

The profiler download links at https://github.com/MicrosoftDocs/xamarin-docs/blame/live/docs/tools/profiler/index.md#L33 point to version <IP_ADDRESS>3.  The latest version is currently 1.6.9-468.  Should these links be automatically updated?  I notice that they don't have a version number associated with them.
If desired, I can create a PR to update these links or to point at the Release Notes link which points at the latest version.

Thanks @brianrob, I guess the team didn't see this originally; but it was eventually updated (most recently in https://github.com/MicrosoftDocs/xamarin-docs/pull/1358). They "used to be" evergreen links that auto-served the latest version, but that no longer works 🙁


Choose better defaults dynamically when doing nick completion.

Zulip could be dynamically smart about choosing which nick to complete when a user types "@" followed by a partial name.  If Zulip did this optimization, it would save users both typing time and cognitive load.
An example:
Just now I was having a conversation on chat.zulip.org in which @brainwane was a participant, under her username there.  When replying to her message
@Karl Fogel I think it's a good idea and you should file it!

...I first typed "@sum" and hit Tab, but that completed to some other user (who was not even part of the conversation topic) whose name began with "sum".  So I backspaced over the wrong completion (good thing I was alert and caught it -- often I don't, and I end up flagging the wrong user and then have to go back and edit the message, and maybe interact with someone to explain to them that I mistakenly flagged them) and typed "@suman" and hit Tab again, figuring surely that would get the right user.  But again it was wrong -- this time it choose a different user (who was also not part of the topic).  Surprised, but again glad that I had caught it, I backspaced again and re-did the completion dance, this time looking carefully at the dropdown of available completions and manually choosing the user I wanted to address.
All of that seems kind of non-optimal.  The person whose nick I wanted to complete had just addressed me by name in the topic, after all, one message previously :-).  If Zulip is going to make a completion guess on Tab, and what one has typed so far is a prefix (or even just a substring) of a user with whom one has just had a nick-flagged exchange, then clearly that is the user Zulip should guess!  Any other user is vastly less likely than that one to be the right choice.
As a quick-and-simple heuristic, the following would be a huge improvement over the status quo:
When Current User CU types "@" followed by a nick prefix and hits Tab, then choose Matching Person MP according to the following precedence, starting from highest (note that 0 seems to be the only step already implemented):

MP in topic who has most recently been addressed by name by CU
MP in topic who has most recently addressed CU by name
MP in topic who has most recently spoken
MP in stream who has most recently addressed CU by name
MP in stream who has most recently spoken in stream
MP who has most recently been addressed by CU anywhere
MP who has most recently addressed CU anywhere
MP who has been most recently active in a topic where CU was active
...further tests along similar lines...

Once I did send a message with the correct completion, further partial-nick completions did default to the right person automatically -- IOW, step 0 above seems to be already implemented.

We currently have logic in recent_senders.js that should implement a heuristic along these lines: first prioritizing people who have sent messages recently in the topic, then in stream, then in organization.
Here's the code in question:
https://github.com/zulip/zulip/blob/c41c82aae046ef0e59448ff05bf78bfd9851160b/static/js/typeahead_helper.js#L211
I think the issue here might be that the logic prefers users who have exchanged PMs with the current user over recent senders to the topic; is that a possible explanation?

Thanks @timabbott.  I should have said that was all with Zulip 1.8.1, FWIW.
The relevant commits in typeahead_helper.js see to be commit 38b70f27d9 (of 4 July 2017) and commit b650b6b38c (of 3 April 2018), but the former is the main one, and was presumably already in place by the time our instance was deployed.
And yet AFAIK I have never exchanged PMs with any of the people who showed up as spurious autofill results, so in theory, no, the logic in that code isn't an explanation for the behavior I experienced.
I'm not sure it's worth our time to debug specifically what's happening in our instance, though, at least not if you like the proposed behavior above and plan to implement it anyway (since it is neither what is currently implemented nor what I experienced).

By the way, Jeremy Mikkola's post Rules for Autocompletion caught my eye -- I don't think everything in his checklist applies here, but it might be useful to look it over.

Yeah I completely agree prefix matches are very important for having a good typeahead experience.
Based on my usage over the last few months, I feel like there must be something wrong with the recent_senders logic here (like, I get the alpha first Mark, not the Mark who is active).  It'd be good to know whether in cases where the user you're looking for isn't sorted to top, recent_senders.js thinks that sender was recent, or something else is going on.
@shubhamdhama and @pragatiagrawal31 have done some recent work on compose typeahead and may be able to help investigate.

If I get a chance, I'll instrument it.  I'm very cautious about playing around with our production Zulip instance, though, so no promises :-/.


__typeof discussion.  Should we use it or not?

See this thread for more details.  https://github.com/Raizlabs/RZUtils/pull/127
Should we use __ or drop it?
Personally I think we should drop it.

@ZevEisenberg @mr-fixit I know you both have opinions about this.  Perhaps we can have a chat about it today.

__typeof seems prudent to use for public-facing code (e.g. RZUtils), because it is required by some legacy compilers. This is the issue that @sixstringtheory ran into. But that was also an edge case, and he was able to fix it by switching compilers. Not sure if it's worth changing company-wide for this edge case.

Point 1: Can RZUtils be used by a compiler that doesn’t know typeof()?  I thought @sixstringtheory was running into the problem because he’d told his gnu compiler to behave in a strict ISO fashion.
Point 2: Looking at RZUtils’s use of typeof(), I see it’s always accompanied by “__weak”.  Since that already foils the aim of the ‘please use typeof(), not __typeof()’ request in the style guide, I can’t see the harm in using __typeof() on the same line.
~/sources/raizlabs/RZUtils 501$ grepc typeof .
./RZUtils/Categories/UIImageView/UIImageView+RZAXMaintainImageColors.m:            __weak typeof(self) weakSelf = self;
./RZUtils/Categories/UIImageView/UIImageView+RZAXMaintainImageColors.m:                __strong typeof(self) strongSelf = weakSelf;
./RZUtils/Components/RZSegmentedViewController/RZSegmentViewController.m:        __weak __typeof(self)wself = self;
./RZUtils/Components/RZSingleChildContainerViewController/RZSingleChildContainerViewController.m:    __weak __typeof(self) wself = self;
function grepc   { grep --include=*.{H,h,c,C,cpp,CPP,cp,CP,mm,m,cs,vb}      -i -r -e "$1" "$2"; }

On Mar 3, 2015, at 4:31 PM, Zev Eisenberg<EMAIL_ADDRESS>wrote:
__typeof seems prudent to use for public-facing code (e.g. RZUtils), because it is required by some legacy compilers. This is the issue that @sixstringtheory https://github.com/sixstringtheory ran into. But that was also an edge case, and he was able to fix it by switching compilers. Not sure if it's worth changing company-wide for this edge case.
—
Reply to this email directly or view it on GitHub https://github.com/Raizlabs/Raizlabs-Cocoa-Style/issues/33#issuecomment-77039376.

@mr-fixit apparently, when you reply from email, it assumes that everything after the first paragraph marker is the quoted reply from the email.
Original message from @mr-fixit, reposted for clarity:
Point 1: Can RZUtils be used by a compiler that doesn’t know typeof()?  I thought @sixstringtheory was running into the problem because he’d told his gnu compiler to behave in a strict ISO fashion.
Point 2: Looking at RZUtils’s use of typeof(), I see it’s always accompanied by “__weak”.  Since that already foils the aim of the ‘please use typeof(), not __typeof()’ request in the style guide, I can’t see the harm in using __typeof() on the same line.
~/sources/raizlabs/RZUtils 501$ grepc typeof .
./RZUtils/Categories/UIImageView/UIImageView+RZAXMaintainImageColors.m:            __weak typeof(self) weakSelf = self;
./RZUtils/Categories/UIImageView/UIImageView+RZAXMaintainImageColors.m:                __strong typeof(self) strongSelf = weakSelf;
./RZUtils/Components/RZSegmentedViewController/RZSegmentViewController.m:        __weak __typeof(self)wself = self;
./RZUtils/Components/RZSingleChildContainerViewController/RZSingleChildContainerViewController.m:    __weak __typeof(self) wself = self;

function grepc   { grep --include=*.{H,h,c,C,cpp,CPP,cp,CP,mm,m,cs,vb}      -i -r -e "$1" "$2"; }

No, the current form of RZUtils will cause compilation to fail if you’re using the same compiler that @sixstringtheory was (some GNU-99 thing I think, but I don't remember exactly).
@mr-fixit are you suggesting we use weak instead of __weak? That's not a thing. Only __weak is a thing.

@ZevEisenberg :
a) thanks for fixing the formatting of my reply.
b) no, I'm suggesting that we use "__weak __typeof(self)".


Failure of uploadCancelledAfterLocationPickedTest and testBetaSkipButton

Not too sure what it is, but I see some unit tests failing in CI:
https://github.com/commons-app/apps-android-commons/actions/runs/6582881080/job/17885059535#step:8:458
fr.free.nrw.commons.UploadCancelledTest > uploadCancelledAfterLocationPickedTest[test(AVD) - 7.0] FAILED
	androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (view.getId() is <2131296394/fr.free.nrw.commons.beta:id/caption_item_edit_text> and Child at position 0 in parent Child at position 0 in parent view.getId() is <2131296395> and (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() to return non-empty rectangle))

fr.free.nrw.commons.UploadTest > testUploadWithMultilingualDescription[test(AVD) - 7.0] SKIPPED

fr.free.nrw.commons.UploadTest > testUploadWithoutDescription[test(AVD) - 7.0] SKIPPED

fr.free.nrw.commons.UploadTest > testUploadWithDescription[test(AVD) - 7.0] SKIPPED

fr.free.nrw.commons.WelcomeActivityTest > testBetaSkipButton[test(AVD) - 7.0] FAILED
	java.lang.AssertionError: Assertion failed
	at fr.free.nrw.commons.WelcomeActivityTest.testBetaSkipButton(WelcomeActivityTest.kt:64)
Tests on test(AVD) - 7.0 failed: There was 2 failure(s).

https://github.com/commons-app/apps-android-commons/pull/5354/files might be a source of inspiration to fix these tests.

Can I have a try on it?

@MatheuMa It is yours, thanks! 🙂

@MatheuMa  Any progress to share? :-)

It's been long, but I'm finally able to run these tests after factory resetting my phone. testBetaSkipButton is running fine on my device, uploadCancelledAfterLocationPickedTest is getting affected by #5461. The list does not open on tapping the list icon at the top-right corner of Nearby.

With the PR for #5461, I'm able to reproduce this issue for  uploadCancelledAfterLocationPickedTest. I would like to give this a try if no one is currently working on it.

With the PR for #5461, I'm able to reproduce this issue for uploadCancelledAfterLocationPickedTest. I would like to give this a try if no one is currently working on it.

You could feel free to proceed, Ritika 🙂

@RitikaPahwa4444 Do you know the status of this? Thanks a lot! :-)

Hey @nicolas-raoul, sorry for keeping this pending for such a long time😔 I was waiting for another PR to get merged (the one on which my PR is dependent) but when I got back to it and checked the CI, many more similar instrumentation tests were failing. I was expecting the ones in this issue to get fixed after including location permission and dialog checks for Nearby's picker but now I feel this requires deeper analysis to figure out the root cause (these are very much dependent on the device - they run fine on one of my devices but not the other). I'm bit busy this week and might not find enough time to take a look. I'll remove my assignment for now

More details about the tests that are filing now on the latest main branch:
fr.free.nrw.commons.MainActivityTest > testExplore[test(AVD) - 7.0] FAILED
	androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (Child at position 2 in parent Child at position 0 in parent view.getId() is <2131296627/fr.free.nrw.commons.beta:id/fragment_main_nav_tab_layout> and (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() to return non-empty rectangle))

fr.free.nrw.commons.MainActivityTest > testBookmarks[test(AVD) - 7.0] FAILED
	androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (Child at position 3 in parent Child at position 0 in parent view.getId() is <2131296627/fr.free.nrw.commons.beta:id/fragment_main_nav_tab_layout> and (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() to return non-empty rectangle))

fr.free.nrw.commons.MainActivityTest > testNotifications[test(AVD) - 7.0] FAILED
	androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (view.getId() is <2131296957/fr.free.nrw.commons.beta:id/notifications> and Child at position 1 in parent Child at position 1 in parent view.getId() is <2131297216> and (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() to return non-empty rectangle))

fr.free.nrw.commons.MainActivityTest > testNearby[test(AVD) - 7.0] FAILED
	androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (Child at position 1 in parent Child at position 0 in parent view.getId() is <2131296627/fr.free.nrw.commons.beta:id/fragment_main_nav_tab_layout> and (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() to return non-empty rectangle))

fr.free.nrw.commons.MainActivityTest > testContributions[test(AVD) - 7.0] FAILED
	androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (Child at position 0 in parent Child at position 0 in parent view.getId() is <2131296627/fr.free.nrw.commons.beta:id/fragment_main_nav_tab_layout> and (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() to return non-empty rectangle))

fr.free.nrw.commons.ProfileActivityTest > testProfile[test(AVD) - 7.0] FAILED
	androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (view.getContentDescription() is "More" and Child at position 4 in parent Child at position 0 in parent view.getId() is <2131296627> and (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() to return non-empty rectangle))

fr.free.nrw.commons.ReviewActivityTest > orientationChange[test(AVD) - 7.0] FAILED
	java.lang.NullPointerException: Attempt to read from field 'androidx.appcompat.widget.Toolbar fr.free.nrw.commons.databinding.ToolbarBinding.toolbar' on a null object reference
	at fr.free.nrw.commons.review.ReviewActivity.onCreate(ReviewActivity.java:89)
Tests on test(AVD) - 7.0 failed: There was 7 failure(s).
Test run failed to complete. Instrumentation run failed due to Process crashed.

> Task :app:connectedBetaDebugAndroidTest FAILED


Running RestCli from an application server

Hello, I'm trying to use RestCli like this:
    final String[] testen = {"http-client/fubar.http"};
    final RestCli restCli = new RestCli();
    restCli.setEnvironmentFilesDirectory("http-client");
    restCli.setEnvironmentName("foobar");
    restCli.setHttpFilePaths(testen);
    final int result = restCli.call();
    assertEquals(0, result);

Which works. But how do I get access to the results?
The test-reports folder gets created in the bin folder of WildFly. That is hardly a place I can reasonably access. Is there a way to change where the test-reports go? Or to access them the results of the tests in a different way?
Would be nice if somebody can tell me how to this.
CU Hans

Works like a dream without any of this. Sorry for opening an unnecessary ticket.


Add 2023 F2F Meeting page and contributions

Add a page for the ICAT F2F Meeting 2023 in Berlin, including the slides of the presentations.
Note yet final:

[x] some slides are still missing
[x] where to put the collaborative notes?
[x] add the group picture

Close #88.

I got the group picture from Andy (many thanks) and added it as is to the PR. We might also want to clip it a little bit at top and bottom to focus more on the group. I'm happy to do this. Any opinions on this?

We might also want to clip it [the group picture] a little bit at top and bottom to focus more on the group. I'm happy to do this. Any opinions on this?

Did that now.

thank you @RKrahl! I moved the pages to a folder so that all the documents related to the F2F are bundled together, and changed some of the links from hackmd to internal documents.


calling by id

I got my Lightbox to work like so:
preview

$(document).on('click', '#previewCompleteContainer', lity);

However I'm wondering how I would get it to call the element by id.
The docs aren't clear as to how that could be accomplished.
Something like.
$(document).on('click', '#mybutton', funciton(){
lity('#openmyelementbyId');
});

You always have an event.target (the clicked element) when the event bubbles up to the document body, so check that (and maybe its parent in your case) to see if you are clicking on or within a certain type of button with an ID. That’s what you’ll want to use to trigger your modal.


missing “train.py”

good work , and, Step1 asked me to run "train.py" under the dir "dexgrasp" but it seems that this file does not exist.

Hi, please check our updated code for isaacgym3.


No results in sample code

Hi,
First of all well done - awesome project!
I get the following error when I try to run the sample code:
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Cell In[2], line 31
     28 print("The price is currently", result.current_price)
     30 # Display the first flight
---> 31 print(result.flights[0])

IndexError: list index out of range

result is Result(current_price='', flights=[])
plz halp :)
P.S. tried adding you on discord but your id isn't working. DM me on twitter (just followed you) - I'm looking to use this API for something fun :)

Hi there,
Were you trying to run the example code? If so, I've ran the code on different platforms and everything seems working as intended.
May I request for additional details on what airport filters did you add? They're inside of FlightData and are named from_airport and to_airport.
Given the result dataclass provided (Result(current_price='', flights=[])), it is possible that no flights were found based on the current filter. You can visualize the search on Google Flights to see if there's also no results.
P.S. are you making an ai integration? this project was made because i wanted to see if ai can search for flights, so here we are ;)
Cheers,
AWeirdDev

Hey I just ran the sample code from the readme with no changes which is
what made me raise the issue 😅
Perhaps we can jump on a quick call to discuss and I can tell you what I'm
working on :)
https://calendly.com/numberboost/call-with-alex-conway
On Thu, May 16, 2024 at 12:44 AM JC @.***> wrote:

Hi there,
Were you trying to run the example code? If so, I've ran the code on
different platforms and everything seems working as intended.
May I request for additional details on what airport filters did you add?
They're inside of FlightData and are named from_airport and to_airport.
Given the result dataclass provided (Result(current_price='', flights=[])),
it is possible that no flights were found based on the current filter. You
can visualize the search on Google Flights https://flights.google.com
to see if there's also no results.
P.S. are you making an ai integration? this project was made because i
wanted to see if ai can search for flights, so here we are ;)
Cheers,
AWeirdDev
—
Reply to this email directly, view it on GitHub
https://github.com/AWeirdDev/flights/issues/1#issuecomment-2113602183,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACB3NS5AGU6K5T5J3LRKPZLZCPQMBAVCNFSM6AAAAABHXZLUSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJTGYYDEMJYGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
🔗 connect with me on linkedin https://www.linkedin.com/in/alxcnwy/
📅 schedule a call with me https://calendly.com/numberboost/short-call
🙌 follow me on twitter https://twitter.com/alxcnwy
📱 +2783 949 1917
Disclaimer
The information contained in this communication from the sender is
confidential. It is intended solely for use by the recipient and others
authorized to receive it. If you are not the recipient, you are hereby
notified that any disclosure, copying, distribution or taking action in
relation of the contents of this information is strictly prohibited and may
be unlawful.

Hi again,
That's weird, since on most clients the code works perfectly fine. We can do a little troubleshooting to better understand what's going on here.

Re-install dependencies. Sometimes this kind of issue is caused by selectolax. We can try re-installing and see if the error still persists.

$ pip uninstall selectolax -y
$ pip install -U selextolax

Generate a search visualization URL. We can use TFSData (from create_filter()) to get the Base64 string and print the URL.

filter = create_filter(...) # Your filter
b64 = filter.as_b64().decode('utf-8')
print(
    "https://www.google.com/travel/flights?tfs=%s" % b64
)

Copy the URL and view the page on a web browser. If there's no flight data, then it proves that it might be a "region," "date," or "airport" issue. Try changing the parameters.

API. I can host a dedicated API if none of the above works. That way, no errors should persist on your side (we'll keep it to Vercel, though).

Best,
AWeirdDev

Working now, thanks!

Hi,
i have the same issue but unfortunately none of the above mentioned fixes works. The link that is generated based on the filter is correct and works in a web browser but i don't get any results when trying to scrape.
Any help would be much appreciated!
Greetings from Germany

Hi there,
During the development of this project, I did get some uncaught errors when using selectolax to parse the HTML contents while the selectors, responses are all functional. I'll inspect the code now, and I'll keep you updated.
Best,
AWeirdDev

Hey AWeirdDev,
thank you so much for looking into it, i really appreciate all your effort! This is the output of the request_flights function, maybe it will help you.
Best regards
Hannes
output.txt

Hey there,
Thanks for providing the HTML output! I did some digging based on your output and it seems like this line (from source):
https://github.com/AWeirdDev/flights/blob/978c70b2ec03307aef459ccd90b4e092510e4b43/fast_flights/core.py#L45
Seems to be not working. The main issue is that the parser cannot select div[jsname="IWWDBc"] (contains "best flights") and  div[jsname="YdtKid"] (contains "other flights").
I copied the HTML output to an online HTML viewer, and this was what I get.

And to prove that it's not injected by Google in runtime:

This is indeed the main reason!

A quick recap on what happened:

You didn't accept Google's Terms of Service
Google Flights page became a ToS clarification form therefore causing us unable to scrape
Call stack: line 45 failed to select items

Cheers,
AWeirdDev

Thank you so much for your Help!
I added
cookies = {     "CONSENT": "PENDING+987",     "SOCS": "CAESHAgBEhJnd3NfMjAyMzA4MTAtMF9SQzIaAmRlIAEaBgiAo_CmBg" }
and
def request_flights(tfs: TFSData) -> requests.Response:     r = requests.get(         "https://www.google.com/travel/flights",         params={             "tfs": tfs.as_b64(),             "hl": "en",             "tfu": "EgQIABABIgA",  # show all flights and prices condition         },         headers={"user-agent": ua, "accept-language": "en"},         cookies = cookies     )
and it works now!!

Hi again,
That's great news. I've updated the project (v0.3) and now you can add custom **kwargs such as cookies to requests.get so there's no need to clone the source.
# tag: v0.3
get_flights(filter, cookies={…}, proxies={…}, ...)

Details

Commit: https://github.com/AWeirdDev/flights/commit/696885c9364d68f38b6563b1e6d61a1f4fd33705
Install v0.3: pip install fast-flights==0.3

Additionally, the cookie provided (CAESHAgBEhJnd3NfMjAyMzA4MTAtMF9SQzIaAmRlIAEaBgiAo_CmBg) is also a Protobuf string, so I'll plan to support bypassing this screen (ToS) when I have time.
Cheers, mate!

First of all - thanks for sharing your work!
Second - I tried all of the above and I get exactly the same error.

tried both with installed fast-flights and cloned repo
reinstalled selectolax
cookies = { "CONSENT": "YES+" }
result = get_flights(filter, cookies=cookies)
the example I try is present on GF https://www.google.com/travel/flights?tfs=GhoSCjIwMjQtMDYtMDNqBRIDS1JLcgUSA1NaWUIBAUgBmAEC
the same with your genuine example:
no prices result.flights is just an empty list
Any clue what to test now?

Hey there,
Could you provide me the what requests returned? I'll need to inspect the HTML on your end -
from fast_flights.core import request_flights

r = request_flights(tfs, cookies=cookies)
with open(".html", "wb") as f:
  f.write(r.content)

...and please provide me with the created .html file.
Best,
AWeirdDev

Interesting... is it again about consent to Google Terms despite the fact "cookies" are approved?
I see inside HTML Before you continue<meta http-equiv="refresh" content="0;URL='https://consent.google.com/m
Packed html: test.zip
I added in the code
cookies = { "CONSENT": "YES+" }
result = get_flights(filter, cookies=cookies)
r = request_flights(filter, cookies=cookies)
with open(".html", "wb") as f:
f.write(r.content)

Hey there,
I searched it on Stackoverflow again and this may work:
cookies = {
    "CONSENT": "PENDING+987",
    "SOCS": "CAESHAgBEhJnd3NfMjAyMzA4MTAtMF9SQzIaAmRlIAEaBgiAo_CmBg"  # protobuf
}

Additional details
As for SOCS, this is my approach to implementing parsing in Protobuf:
syntax = "proto3";

message Information {
    uint seed_a = 1; // unsolved
    string gws = 2; // gws_YYYYMMDD-0_RC2
    string locale = 3; // e.g., de, en...
    uint seed_b = 4; // unsolved
}

message Datetime {
    uint timestamp = 1; // e.g.,<PHONE_NUMBER>
}

message SOCS {
    uint seed = 1;
    Information info = 2;
    Datetime datetime = 3;
}

Please let me know if adding SOCS fixes the issue.
Regards,
AWeirdDev

Nope :-(
`# Create a new filter
filter = create_filter(
flight_data=[
# Include more if it's not a one-way trip
FlightData(
date="2024-06-03",  # Date of departure
from_airport="KRK",
to_airport="SZY"
),
# ... include more for round trips and multi-city trips
],
trip="one-way",  # Trip (round-trip, one-way, multi-city)
seat="economy",  # Seat (economy, premium-economy, business or first)
passengers=Passengers(
adults=1,
children=0,
infants_in_seat=0,
infants_on_lap=0
),
)
b64 = filter.as_b64().decode('utf-8')
print(
"https://www.google.com/travel/flights?tfs=%s" % b64
)
cookies = { "CONSENT": "YES+" }
cookies = {
"CONSENT": "PENDING+987",
"SOCS": "CAESHAgBEhJnd3NfMjAyMzA4MTAtMF9SQzIaAmRlIAEaBgiAo_CmBg"  # protobuf
}
Get flights with a filter
print(filter)
#result = get_flights(filter, cookies=cookies)
r = request_flights(filter, cookies=cookies)
with open("test.html", "wb") as f:
f.write(r.content)`
The list (if result is uncommented) is still empty.
I attach (pretty larger now) test.html file...
test2.zip

test.txt

I adjusted the source code a little bit, and here's what I got:

And in this line from source:
https://github.com/AWeirdDev/flights/blob/c6e4d964e7eee673ae85f1f2ce3a18ff63147ef6/fast_flights/core.py#L49
It removes the last item from the list causing the ONLY result to be shadowed. Originally during the development process, I added this as a safety assurance since there's a huge chance of exiting/crashing for no reason on the last found result.
If you cloned from source, just remove the [:-1]. However, I cannot gurantee that the result would look pretty (as seen in my Replit Mobile screenshot, some random characters pop out).
In the next version, I'll add the dangerously_allow_looping_last_item to the options as well as the cookie customization/improvement.
Thanks for pointing this out!
Cheers,
AWeirdDev

Thanks for the debugging! - usually it is much easier for the developer to find the problem :-)
However, am I right, that I do not see the price in the output now? (for the very moment 210 PLN)
Result(current_price='high', flights=[Flight(is_best=True, name='LOT', departure='4:55 PM on Mon, Jun 3', arrival='6:05 PM on Mon, Jun 3', arrival_time_ahead='', duration='1 hr 10 min', stops=0, delay=None)])

Hi there,
Thanks for the huge dedication! I'll look into this tomorrow.
P.S. I sincerely apologize for the huge delay. I've been busy this week.
Regards,
AWeirdDev

Hi,
First of all, thank you for dedicating a significant amount of time to writing code that works and can serve as a starting point for further development. Many scrapers don't work at all, as you have likely noticed. However, I believe your code has the potential to become a cool tool, operating differently from all those Selenium simulators.
On another note, I'm working on something similar with the ITA Matrix service, which is an excellent source for both prices and airfares. In its new version, the address is constructed from JSON to Base64, requiring browser emulation to retrieve the result.
(side example for ITA Matrix)
import requests
import base64
import json

# Your Base64 encoded query string
encoded_query = "eyJ0eXBlIjoib25lLXdheSIsInNsaWNlcyI6W3sib3JpZ2luIjpbIkpGSyJdLCJkZXN0IjpbIkxBWCJdLCJyb3V0aW5nIjoiIiwiZXh0IjoiIiwicm91dGluZ1JldCI6IiIsImV4dFJldCI6IiIsImRhdGVzIjp7InNlYXJjaERhdGVUeXBlIjoiY2FsZW5kYXIiLCJkZXBhcnR1cmVEYXRlIjoiMjAyNC0wOS0xNSIsImRlcGFydHVyZURhdGVUeXBlIjoiZGVwYXJ0IiwiZGVwYXJ0dXJlRGF0ZU1vZGlmaWVyIjoiMCIsImRlcGFydHVyZURhdGVQcmVmZXJyZWRUaW1lcyI6W10sInJldHVybkRhdGVUeXBlIjoiZGVwYXJ0IiwicmV0dXJuRGF0ZU1vZGlmaWVyIjoiMCIsInJldHVybkRhdGVQcmVmZXJyZWRUaW1lcyI6W119fV0sIm9wdGlvbnMiOnsiY2FiaW4iOiJDT0FDSCIsInN0b3BzIjoiLTEiLCJleHRyYVN0b3BzIjoiMSIsImFsbG93QWlycG9ydENoYW5nZXMiOiJ0cnVlIiwic2hvd09ubHlBdmFpbGFibGUiOiJ0cnVlIiwiY3VycmVuY3kiOnsiZGlzcGxheU5hbWUiOiJVbml0ZWQgU3RhdGVzIERvbGxhciAoVVNEKSIsImNvZGUiOiJVU0QifSwic2FsZXNDaXR5Ijp7ImNvZGUiOiJOWUMiLCJuYW1lIjoiTmV3IFlvcmsifX0sInBheCI6eyJhZHVsdHMiOiIxIn19"

# Form the URL
base_url = "https://matrix.itasoftware.com/calendar?search="
full_url = f"{base_url}{encoded_query}"

# Custom headers (replace these with actual headers from your browser)
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
    "Accept-Language": "en-US,en;q=0.9",
    "Referer": "https://matrix.itasoftware.com/",
    "Cookie": "YOUR_SESSION_COOKIES_HERE"
}

# Send the GET request with custom headers
response = requests.get(full_url, headers=headers)

# Check the response
if response.status_code == 200:
    print(response.url)
    print(response.text)  # You can parse this HTML using BeautifulSoup as needed
else:
    print(f"Failed to retrieve the data. Status code: {response.status_code}")

Hey,
Thanks. I've added your recommendation. (See Project) This could be an alternative when Google Flights isn't working properly.
As a side note, we won't be using BeautifulSoup since it will cause the flow to be prolonged, ultimately blocking our script.
Thanks for your contribution!
Regards,
AWeirdDev


Notify about alert errors

Errors may happen during an alert lifecycle. They will be shown in Bosun. But, people that are subscribed to the alert will not get notified. The ones who maintain the alert will get no heads-up as well. This turns out to be a problem when many people collaborate on alerts setup.
As the result, alert maintainers will be unaware of errors. Errors will persist and accumulate. Even worse, if an accident happens, an alert will be expected, but it may be broken. Alert will never come, and the accident will go undiscovered.
Sample scenario: A sets data collection to Graphite path my.data.metric → B makes an alert on top of it, e.g. crit my.data.metric < 100 → A changes path to my.data.metric_updated without notifying B → alert breaks → B is unaware.
We suggest adding error notifications to address this problem.
There are a couple of possible solutions for that:

Add alert keyword notifyOnErrors = true (false by default). When set to true, errors will go through warnNotification route using a pre-defined or set template. This solution is the most simple and minimal, but not ideal. It can be the starting point.
Add alert keyword errorNotification=errorNotificationDefinition. When defined, errors will go through indicated notification route using a pre-defined or set template.

Please share your thoughts!

@kylebrandt @captncraig Could you please share your opinion on this issue? Which route is the best to take? What details should be taken into account?

In our set-up having this functionality would be highly appreciated. Our problem is that we do not own the rule config ourselves entirely, but let other people create their own alerts. When alerts break (they do, it stroke us pretty badly in the recent past) hardly anyone notices, because it requires proactive and regular checking in the Bosun web UI.
If the general idea is fine by @kylebrandt and @captncraig, our team is more than happy to implement the proposed functionality. Mm? (-:

Short Version: I agree.
Context / History:

"Errors" were added as thing primarily to deal with the various time series datasources (for us, elastic and TSDB) being fairly unreliable. So it was a way to take a bunch of alert noise and stick it "somewhere else"
I don't think the concept of what exactly "Errors" are in this sense was ever well defined
When we did the template refactor (adding things like custom notifications for ack, close etc) we punted on this problem

Something like errorNotification=errorNotificationDefinition seems like the correct path to me.
It will probably need a lot of tests, and we need to make we have good definition (or at least list of) as an "Error" in terms of design.

#1386 and #766 seem related.


Connect to server from client in RPC example

Without this the client doesn't actually connect to the server.

@leiter-jakab Could you take a look at this? Is this really necessary or does the docs need to be improved? If you think this can be merged, you can just tell bors to do so.
bors d=leiter-jakab

@leiter-jakab Could you take a look at this? Is this really necessary or does the docs need to be improved? If you think this can be merged, you can just tell bors to do so.
bors d=leiter-jakab

Yes, that's needed. Thank you very much @banool for all fixes of this example.
bors r+

Yes, that's needed. Thank you very much @banool for all fixes of this example.
bors r+

@banool Please run cargo fmt to format the code.

@banool Please run cargo fmt to format the code.

Done, let me know if I should do anything else!

Done, let me know if I should do anything else!

@banool It seems like there are two copies of the statement in the commit now. I suppose that's not intended? See https://github.com/godot-rust/godot-rust/pull/677/files

@banool It seems like there are two copies of the statement in the commit now. I suppose that's not intended? See https://github.com/godot-rust/godot-rust/pull/677/files

There we go!

There we go!

Appears that it's failing rustfmt again. Since we have already spent too much time waiting for this minor change, I've taken the liberty to run cargo fmt on your behalf and push to the PR branch. Hope you won't mind!
bors retry

Appears that it's failing rustfmt again. Since we have already spent too much time waiting for this minor change, I've taken the liberty to run cargo fmt on your behalf and push to the PR branch. Hope you won't mind!
bors retry


Support (Inbuilt)[] - Value type missmatch with iterator over elements, equals equation (where param) codegen

First of all, thanks for working on this project!
I seem to be getting a pretty generic value type mismatch in the generated prisma -> rust codegen
a value of type `std::vec::Vec<prisma_client_rust::query_core::QueryValue>` cannot be built from an iterator over elements of type `prisma_client_rust::prisma_models::PrismaValue`

value of type `std::vec::Vec<prisma_client_rust::query_core::QueryValue>` cannot be built from `std::iter::Iterator<Item=prisma_client_rust::prisma_models::PrismaValue>`

help: the trait `std::iter::FromIterator<prisma_client_rust::prisma_models::PrismaValue>` is not implemented for `std::vec::Vec<prisma_client_rust::query_core::QueryValue>`rustc(E0277)

These errors pretty much exclusively appear under the equals equation something like
                Self::AtkLevelsEquals(value) => (
                    "ATKLevels".to_string(),
                    SerializedWhereValue::Object(vec![(
                        "equals".to_string(),
                        QueryValue::List(
                            value
                                .into_iter()
                                .map(|v| PrismaValue::Json(serde_json::to_string(&v).unwrap())) // <--- error here
                                .collect(),
                        ),
                    )]),
                ),

Edit
Almost immediately after posting this i noticed the correlation. Seems to happen on Inbuilt[] types such as String[] | Float[] | int[] etc
Have reflected it in the title

Ah, looks like I haven't added a .into() after the PrismaValue is constructed here.

Commit 7b103ca7e422d2d5a8935818407fc0023f1b3ab8 might be missing the into().
in other notes it also tends to not create a converter.
eg.
SetParam::SetAtkLevels(value) => ("ATKLevels".to_string(), converter), <-- this converter value is not made

c1b97513b67e1b3c15d77d3cf120a50fd7a03ecd should fix the into not being added, what do you mean about the converter not being created?

this partially fixes it,
To explain more i get 2 errors for any schema item with the type [] that are inbuilt types (not other tables).
                SetParam::SetPossibleValuesFormat(value) => {
                    ("possibleValuesFormat".to_string(), converter) // <-- the converter here is not in scope, and i cannot find it, thinking it has just not been created?
                }
                SetParam::PushPossibleValuesFormat(value) => (
                    "possibleValuesFormat".to_string(),
                    QueryValue::Object(
                        vec![("push".to_string(), PrismaValue::String(value).into())] // <-- Getting error two below, type missmatch
                            .into_iter()
                            .collect(),
                    ),
                ),

Error 1:
cannot find value `converter` in this scope

 not found in this scoperustc(E0425)

Error 2:
mismatched types

expected struct `std::string::String`, found struct `std::vec::Vec`

note: expected struct `std::string::String`
      found struct `std::vec::Vec<std::string::String>`rustc(E0308)

Error 1 is me being silly and forgetting a #
Error 2 is lists not being treated properly
Try b3c93e9eced80e259578e9a916531940c3876ad5

Much closer now,
Had to use commit 89df3982f80a68949f4f82d35a218838d56afc6b as b3c93e9eced80e259578e9a916531940c3876ad5 version bump panicked as it could not find the binary for my machine
Downloading https://prisma-photongo.s3-eu-west-1.amazonaws.com/prisma-cli-3.13.0-darwin.gz to /Users/yoroshi/Library/Caches/prisma/binaries/cli/3.13.0/prisma-cli-darwin
thread 'main' panicked at 'received code 404 Not Found from https://prisma-photongo.s3-eu-west-1.amazonaws.com/prisma-cli-3.13.0-darwin.gz', /Users/yoroshi/.cargo/git/checkouts/prisma-client-rust-fa967aa5ad0ec391/b3c93e9/cli/src/binaries/mod.rs:142:9

Still getting issues with Error 2 listed above, expecting non vec in generated code.
This time only for the "push" query.

I haven't been able to replicate Error 2. Can you please provide a schema that generates the invalid code?

Hi i was able to reproduce it with a modified example schema.
extra notes: these primitives are only available not using the sqlite adapter.
generator client {
  provider = "cargo prisma"
  output   = "../src/prisma.rs"
}

// Array primitives only available in postgresql
datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

model User {
  id String @id

  updatedAt   DateTime @default(now()) @updatedAt
  displayName String

  usernames String[] // These few lines generate the issues
  ids       Int[] // This one does too
  floats    Float[] // This one too
  bools     Boolean[] // This one too

  jsons Json[] // This one is fine

  posts Post[] // This is normal
}

model Post {
  id      String @id
  content String
  user    User   @relation(fields: [userId], references: [id])
  userId  String
}

@yoroshikun I think I got it in 3cde8feb55a2efe7877ab57625c54f865ebf37c7

@Brendonovich This looks like it solved this issue!


Should we deprecate CamerAwesome

Should we consider deprecating CamerAwesome
2 years ago there was a lack of official support for the camera with flutter. That’s why we started camerawesome.
That’s not true anymore and camerawesome seems far away from the official plugin.
As I and our team would prefer not wasting time and maybe contribute into offical plugin instead of maintaining this one alone.
Is there still any reason to work on this plugin instead of official camera plugin?
Let's discuss  🙏

For images captured, the results of CameraAwesome are noticeably better than the flutter camera in my experience.  The max resolution is also greater and focus time is much less. I have noticed blurry images from the main camera plugin. I haven't tested other features so I can't say anything on that. One thing that is an issue is the image quality compared to native apps. I don't know why but all the flutter plugins I tried have this issue. If I take photo of a book page then the results on native camera is much better on all the android devices I tested compared to flutter plugins. Also the image size generated for 4k image is much less than it should be. For 4k images both CameraAwesome and Flutter camera give a size of approx 1-1.5 mb image while native apps give 3-5mb size. This issue has been opened on the flutter camera plugin for more than a year now and still no progress. One advantage of working on CameraAwesome in my opinion is that you can work on these types of issues quickly.

If I take photo of a book page then the results on native camera is much better on all the android devices I tested compared to flutter plugins.

The image taking process is much more complex than what camera plugin does using Camera2 APIs. Unfortunately camera plugin does not take advantage of CameraX APIs that make it much easier to capture high quality photos or take advantage of advanced camera features (like blur reduction).

Thank you for your feedbacks.
 Creating a camera plugin is a really big thing.
CameraX seems more stable now and maybe it's time to invest in it. Someone suggested on twitter to merge efforts with official plugin on making camerAwesome using the official camera plugin platform interface.
This could be a way to merge these effort without making this plugin deprecated and continue improving it.

That sounds awesome! I have a suggestion in this approach. Maybe if we extend the flutter camera controller class and override specific functionalities only then it would be better for usability. E.g. if you only implement taking picture from CameraX Api it will still mean that all the other features of the flutter camera would work until they are better implemented in CameraX Api.

The community at large would benefit if the contributors from this project lend their knowledge and learning to the official plugin, so that we have one great plugin, rather than two good ones. Better to have all resources focalized into a single camera plugin if the contributors of this project are open to this. An abstraction around CameraX does not give the low-level leverage for improvement that contributing to the plugin itself would.
I'd imagine this to be a difficult and bold decision for maintainers and contributors, since we naturally take pride in our past work. From my side, I can just express my appreciation for what has been done in this project.
Just a comment as a bystander :man_shrugging:

I'm using the cameraawesome package in my app and did some testing with the flutter official Camera plugin and the problem I'm facing with it is related to lagging when changing flash settings and taking pictures with low light (mostly on samsung devices) and I see a lot of errors related to the Camera2 similar to that.

Hi, sorry I didn’t completely understand.
Do you have this lag on cameraAwesome or on official camera plugin ?
Le 9 févr. 2022 à 18:11 +0100, Gabriel Araujo @.***>, a écrit :

I'm using the cameraawesome package in my app and did some testing with the flutter official Camera plugin and the problem I'm facing with it is related to lagging when changing flash settings and taking pictures with low light (mostly on samsung devices) and I see a lot of errors related to the Camera2 similar to that.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

Sorry! On the official camera plugin!

Ah ok,
Thank you!
Le 9 févr. 2022 à 18:14 +0100, Gabriel Araujo @.***>, a écrit :

Sorry! On the official camera plugin!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

As @GabrielAraujo has mentioned, we have been working on converting to the official camera plugin given that this package isn't being actively maintained and we were running into overexposure of photos when using the flash. That said, now that @GabrielAraujo has finished the conversion, we're seeing that this plugin performs better across the board though both suffer from issues with overexposure when using the flash.
It's interesting that the Camera plugin is using Camera2 and not CameraX as you are here.
This is unrelated, but does anyone know why neither iOS or Android provide access to the full-featured native cameras and instead provide a stripped-down version with fewer features?  I realize some want their own custom cameras but that would solve camera problems for likely a vast majority of users.

@g-apparence I recall that you had developed this to serve your clients for your agency work. Are you continuing to use the package or considering migrating to the Flutter plugin?

@jamesdixon iOS is way easier to use than Android that is really low level and with multiple hardware possibilities.
iOS and Android let you use the official camera app (https://pub.dev/packages/image_picker).
They invest a lot of money adding AI et many other image correction algorithms. Each android manufacturer does its own app. That's why it's hard to compete with theirs...
It's been some time we didn't really need an embedded photo app. But as we grow I try to keep some time for the team working on open source projects.
The android part has been made mainly by me at a time I was a bit less busy. Last week two members of the team worked on an implementation of cameraX. (You can check the branch feature/cameraX).
I think it's promising and maybe this could make a way better rendering. If so I would like to suggest this on the official camera plugin.

I just switched to CamerAwesome from the official Camera plugin, because the latter is too slow. CamerAwesome is easier to use, faster, and all-around excellent for me.

@adrian-brennan Thank you for you kind feedback. I appreciate our efforts helps people :).

I am here cause the Camera plugin is really slow. This plugin solved that for me

Today I switched from camera to awesome camera mainly because of auto focus, with camera package autofocus seems to just not work and when you make manual focus it takes an eternity to focus, even with their provided example. With camera awesome autofocus works like native camera. the only thing I do not like is that screen rotation is blocked and thus I had to use rotation animations in order to achieve rotation. Aside from that i really like it more than regular camera package.

I'm planning to switch to this package as the one that we use flutter_better_camera lacks for dev support and since Flutter 3, is not even working on iOS. Unfortunately official plugin is still missing mandatory options as Flash and Zoom.  After investigating most of the camera plugins this one gives most confident over the others as support and functionality.
Please keep up with good work!
P.S. Helping official plugin will be probably more complicated, as there the main reason to miss functionalities, is that they have to work 100% on all devices and we know how hard is to deal with 99$ devices. While packages as yours will work on 95+% of devices is reasonable sacrifice.

If camera awesome supported video recording on Android, we would not waste a second and migrate to this awesome package :)

i haven't tried either this package nor the original flutter camera package – i just read a bit about them…
and i had to implement Photo/Video to a Xamarin.Forms app lately.
BACKGROUND
From that i can say:

almost every "easy" camera implementation (even in all docs and demos i've found) are using a Video-Live-Stream from a camera and taking pictures out of this stream.
which means: On a HD-Camera the best you get is a 1920x1080 picture… without flash and other picture-enhancements … and it means it can be blurry very easily because the Video often has a longer exposure time like a 1/30 to a 1/60 second or so

I was blown away not being able to find some easy solutions for iOS AND Android to solve that … other than calling the OS-Build-In-Camera "App/Intent" … which brings other nasty problems with it (like your app could be kicked out of memory) … AND STILL you have to handle A LOT yourself (like adding GPS positions, metadata etc.) and you only get ONE Picture - no easy way (on both platforms) to show a list of taken pictures to return with a batch of files… meh
When i read about how easy it would be to use the flutter camera package i thought i might be too good to be true as now i know some insides of the iOS and Android platforms. When read thru the issues i found myself back thinking about all those problems i had with Xamarin ;) … So it seems that flutter is using the Videostream to take single pictures out of it too
Then i landed here at Camerawsome because of the ability to take full resolution pictures, (pinch-to-)Zoom, Flashlight… all from within the very own App! Nice! i REALLY appreciate the afford… as stated above: i can feel the pain ;)
MY HOPE
please let this project alive… as far as i was able to find, the official camera plugin still can't do a lot of things (no even sure about the full resolution like 12MP for example) and as i can read here to: it's slow
I hope you can find a solution to record video on android.
Is GPS-Metadata integrated in android in the meantime? if not: It may be an idea to let a developer get a gps location itself (with default packages, out of a stored / cached location, etc.); then offer a setter to give lat/long to the camerawsome widget. Then the widget could add that given location to the metadata (at least for android it shouldn't be too hard as there should be a simple function to modify just the exif-information of a file… not sure how to do this on iOS as i don't know if there is such an easy function for it)
I cannot wait to try this package … even if i'm a bit nervous about build a complete camera screen from scratch by myself (maybe using the demo as a hint of course) … unfortunately it have to wait a little longer because of other projects waiting … but THEN i would cry tears if this package would be gone or outdated :') so please keep up the quality work - i REALLY REALLY appreciate that

...so please keep up the quality work - i REALLY REALLY appreciate that
Thank you for your kind feedback. All our team is proud of this work and we decided to continue make it progress outside of the official plugin path.

We also have some great news for you guys coming soon :).


Ability to "archive" projects

Once the work is done a project, it could be marked as "archived":

This would prevent any future modifications to that project (frozen state)
Archived projects would not be displayed by default in the main project list (similar to closed GitHub issues for example)
Several level of data cleanup would be possible during the "archive" operation: deletion of inputs, codebase, and database rows. This could address #154
The archive mechanism will be available through the web UI, REST API, and the command line

@cco3 ^ FYI... this is a new design idea.


Update image registry doesn't work.

BUG REPORT :
Anchore-engine cannot update registries

Version of Anchore Engine and Anchore CLI if applicable:
anchore-engine:
Engine DB Version: 0.0.13
Engine Code Version: 0.8.0

anchore-cli:
anchore-cli, version 0.9.0

What happened:
anchore-cli --json registry update --registry-type awsecr xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com XXXXX xxxxxxx
{
    "detail": {
        "error_codes": []
    },
    "httpcode": 406,
    "message": "cannot ping supplied registry with supplied credentials - exception: failed check to access registry (https://xxxxxxxx.dkr.ecr.us-east-1.amazonaws.com,) - exception: cannot access/parse registry metadata for awsecr registry type - exception: 'registry_meta'"
}

What did you expect to happen:
Registry update should work.

Any relevant log output from /var/log/anchore:
[service:api] 2021-01-15 15:14:35+0000 [_GenericHTTPChannelProtocol,1161312,<IP_ADDRESS>] [PoolThread-twisted.internet.reactor-0] [anchore_engine.clients.services.internal/dispatch()] [ERROR] Failed client call to service catalog for url: http://anchore-engine-anchore-engine-catalog:8082/v1/system/registries/xxxxxxx.dkr.ecr.us-east-1.amazonaws.com. Response: {'httpcode': 406, 'anchore_error_raw': 'b\'{\\n  "detail": {\\n    "error_codes": []\\n  },\\n  "httpcode": 406,\\n  "message": "cannot ping supplied registry with supplied credentials - exception: failed check to access registry (https://xxxxxxxx.dkr.ecr.us-east-1.amazonaws.com,) - exception: cannot access/parse registry metadata for awsecr registry type - exception: \\\'registry_meta\\\'"\\n}\\n\'', 'anchore_error_json': {'detail': {'error_codes': []}, 'httpcode': 406, 'message': "cannot ping supplied registry with supplied credentials - exception: failed check to access registry (https://xxxxxxxx.dkr.ecr.us-east-1.amazonaws.com,) - exception: cannot access/parse registry metadata for awsecr registry type - exception: 'registry_meta'"}}

How to reproduce the issue:
Try to update a registry

Thanks @pbalogh-sa .Can you confirm if this is present in engine 0.9.0 as well?

Thanks @pbalogh-sa .Can you confirm if this is present in engine 0.9.0 as well?

The bug is present in engine 0.9.0 as well.
version:
Engine DB Version: 0.0.14
Engine Code Version: 0.9.0
The response was the same:
Error: cannot ping supplied registry with supplied credentials - exception: failed check to access registry (https://602401143452.dkr.ecr.eu-west-2.amazonaws.com,) - exception: cannot access/parse registry metadata for awsecr registry type - exception: 'registry_meta'
HTTP Code: 406
Detail: {'error_codes': []}

The bug is present in engine 0.9.0 as well.
version:
Engine DB Version: 0.0.14
Engine Code Version: 0.9.0
The response was the same:
Error: cannot ping supplied registry with supplied credentials - exception: failed check to access registry (https://602401143452.dkr.ecr.eu-west-2.amazonaws.com,) - exception: cannot access/parse registry metadata for awsecr registry type - exception: 'registry_meta'
HTTP Code: 406
Detail: {'error_codes': []}

Thanks @pbalogh-sa for following up

Thanks @pbalogh-sa for following up

@pbalogh-sa are you giving a docker username/password there for an ECR registry? For ECR you can use an accesskey and secret key or give it an iam role to use. Options are detailed here: https://engine.anchore.io/docs/usage/cli_usage/registries/ecr_configuration/. Which method are you using? That will help with triage and debugging.

@pbalogh-sa are you giving a docker username/password there for an ECR registry? For ECR you can use an accesskey and secret key or give it an iam role to use. Options are detailed here: https://engine.anchore.io/docs/usage/cli_usage/registries/ecr_configuration/. Which method are you using? That will help with triage and debugging.

This appears to be specific to the awsecr type. I don't see this behavior against DockerHub or other credential types.

This appears to be specific to the awsecr type. I don't see this behavior against DockerHub or other credential types.

I added the awsecr type registry using aws access key and secret access key.
anchore-cli  add --registry-type awsecr xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com AWS_ACCESS_KEY AWS_SECRET_ACCESS_KEY

After it, I tried to update using the access key and secret access key again:
anchore-cli update --registry-type awsecr xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com AWS_ACCESS_KEY AWS_SECRET_ACCESS_KEY

I added the awsecr type registry using aws access key and secret access key.
anchore-cli  add --registry-type awsecr xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com AWS_ACCESS_KEY AWS_SECRET_ACCESS_KEY

After it, I tried to update using the access key and secret access key again:
anchore-cli update --registry-type awsecr xxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com AWS_ACCESS_KEY AWS_SECRET_ACCESS_KEY

@pbalogh-sa thanks, I'll target this for the next release after 0.9.1, its too late to make that release.

@pbalogh-sa thanks, I'll target this for the next release after 0.9.1, its too late to make that release.

This isn't going to make 0.9.2, I'm going to re-target it for the next release after that.


Disabling nodes

Is there a way to disable nodes?
Sorry i have so many newbie questions but the API reference is really lacking...

What exactly are you referring to when saying disabling? You mean not draggable?

not clickable...

can you put up a plunker with an example?

I have a template for a tree:

I want to make some nodes unselectable on tree load...

vtmoren or chino23 - did either of you have a solution to disabling select nodes? I'm trying to only enable drop on nodes that I have designated as "folders", while documents within the folder have drop disabled. Anye ideas on how to solve this?

@markeperk: shall be?

Folder: Only drop.
Item: (in folder), just drag

Closing this issue due to inactivity. See #815 for more information.
Please create a new issue is this still occurs with the current version of the component.


enable/disable logging on the fly using env variable

feature suggestion: enable/disable logging on the fly using env variable
Which version of Elastic are you using?
elastic.v5 (for Elasticsearch 5.x)
Please describe the expected behavior
hoping to be able to enable the log on the fly by setting env variable
Please describe the actual behavior
currently, the log handler is passed during initialization. Hard to turn it on and off at a time later.
if the tracelog is set, response will be printed out as well resulted in very verbose output.
Any steps to reproduce the behavior?
not a bug, but a feature request
this is one of the simple suggestion of purposed code
func (c *Client) dumpRequest(r *http.Request) {
	// fmt.Println("os.Getenv(ES_LOG_INFO) = " + os.Getenv("ES_LOG_INFO"))
	if c.tracelog != nil {
		out, err := httputil.DumpRequestOut(r, true)
		if err == nil {
			c.tracef("%s\n", string(out))
		}
	} else if os.Getenv("ES_LOG_INFO") == "1" {
		out, err := httputil.DumpRequestOut(r, true)
		if err == nil {
			os.Stdout.Write(out)
		}
	}
}

func (c *Client) dumpResponse(resp *http.Response) {
	if c.tracelog != nil {
		out, err := httputil.DumpResponse(resp, true)
		if err == nil {
			c.tracef("%s\n", string(out))
		}
	} else if os.Getenv("ES_LOG_RES") == "1" {
		out, err := httputil.DumpResponse(resp, true)
		if err == nil {
			os.Stdout.Write(out)
		}
	}
}

at anytime, we can setup a route to enable or disable the environment variable using

os.Setenv("ES_LOG_INFO", "1")

Thanks for sharing your ideas. I tend to refrain from such logic because it makes things more complex.
But you can easily implement such logic yourself by wrapping the existing logger. The wiki has an example of this.
HTH.

thanks for review, seem to be a better suggestion, will give it a try

@olivere just one thought about to make this more flexible, is it possible to set the clients' options after NewClient()? Currently this seem to be only possible during client creation.

@kenng No, that's not possible. I don't think I want to go down that route as it might get rather complex as, depending on what you change, the client needs a complete reconfiguration. E.g. if you changed the URLs to ES, the client cannot do anything but reconfigure itself from scratch. It'd be much easier to just setup a new client in that case.

@olivere understand where you coming from, and it is okay because this might not be critical, just some thought for optimization, if there is any slight possibility of change in the future ;)
the reason why I bring this up again is due to following scenario

currently, info log only echo the summary of the request, not the request body. When we need to check/debug, we need to see the request body
so we enable the trace log, using the wrapper as suggested, but toggle the output based on environment variable

func (logger wrapLogger) Printf(format string, vars ...interface{}) {
	myvar := iwcfg.EsEnabledTrace
	if os.Getenv(myvar) == "1" {
		/// print the trace...
	}
}

however since we cannot set the c.tracelog from outside, we cannot prevent DumpRequestOut from being called each time.... that's why I raise this again and see if you have any suggestion about this

func (c *Client) dumpRequest(r *http.Request) {
	if c.tracelog != nil {
		out, err := httputil.DumpRequestOut(r, true)
		if err == nil {
			c.tracef("%s\n", string(out))
		}
	}
}

Appreciate your effort in maintaining this :)  just some feedback after using it.
Unless we change the core of this code, but I think it would be still good to bring it up to you first and see if there will be any alternative way.
Cheers

@kenng If you find tracelog/infolog to be unsuitable for your needs, you could simply turn them off and do your own request logging via a special http.Transport.

@olivere great stuff, looks like what we need! Thanks again!


Quick fix to not show tracker for current user

@keybase/react-hackers
Likely we want the service to tell us if this is an identify we should ignore. This just checks if the identify is for the current user, and not show a tracker if that's true.

The commits bd77e0642e2a...1ecf6bd29032 introduce visual changes on linux. :mag_right: 1 changed

Changed: Tracker-New_user_Scroll_1 (before) (after)

The commits bd77e0642e2a...9fdd16a35dd3 introduce visual changes on linux. :mag_right: 1 changed

Changed: Tracker-New_user_Scroll_1 (before) (after)