only-announce issue

Describe the bug

only-announce can't be used even announce-all aren't configured
Environment

Output from pathvector version

Pathvector 6.1.0
Built bac2d58d5e14685506a4552024641b23d883933e on 2023-01-06T08:30:05Z
Plugins: (none)

OS version
Debian 11
Minimum reproducible example of your Pathvector config file formatted with [triple backticks with yaml language identifier]

templates:
  upstream:
    add-on-import:
      - 199514:1:1
    allow-local-as: true
    announce:
      - 199514:1:4
    local-pref: 100
    remove-all-communities: 199514

peers:
############
# UPSTREAM #
############
  Cloudie_Upstream:
    asn: 924
    disabled: false
    only-announce:
      - "2a0a:280:b00b::/48"
      - "2a12:dd47:8046::/48"
    listen6: "2602:fba1:d00::116:1"
    local-pref: 100
    neighbors:
      - "2602:fba1:d00::1"
    template: upstream

To Reproduce

Steps to reproduce the behavior:

Use that config above
Run pathvector g
See error

INFO[0000] Starting Pathvector 6.1.0
FATA[0000] [Cloudie_Upstream] only-announce and announce-all cannot both be set

Expected behavior

It's should be works, since announce-all aren't configured at all

Haven't tried but you can probably work around this by forcing announce-all to null.
announce-all is false by default not nil so it fails this check when setting only-announce:
https://github.com/natesales/pathvector/blob/1bcaaa36204ddc0c7a63fa7fe547c0cddbd43b24/pkg/process/process.go#L256
https://github.com/natesales/pathvector/blob/1bcaaa36204ddc0c7a63fa7fe547c0cddbd43b24/pkg/config/config.go#L183
https://github.com/natesales/pathvector/blob/1bcaaa36204ddc0c7a63fa7fe547c0cddbd43b24/pkg/config/config.go#L204
Maybe change only-announce default to nil as well (but you'd have to handle nils in BirdSet or in the template) or change the check to a non-empty list or nil instead of just nil.

Haven't tried but you can probably work around this by forcing announce-all to null.
announce-all is false by default not nil so it fails this check when setting only-announce:
https://github.com/natesales/pathvector/blob/1bcaaa36204ddc0c7a63fa7fe547c0cddbd43b24/pkg/process/process.go#L256
https://github.com/natesales/pathvector/blob/1bcaaa36204ddc0c7a63fa7fe547c0cddbd43b24/pkg/config/config.go#L183
https://github.com/natesales/pathvector/blob/1bcaaa36204ddc0c7a63fa7fe547c0cddbd43b24/pkg/config/config.go#L204
Maybe change only-announce default to nil as well (but you'd have to handle nils in BirdSet or in the template) or change the check to a non-empty list or nil instead of just nil.

Nope, still no
peers:
############
# UPSTREAM #
############
  Cloudie_Upstream:
    announce-all: null
    asn: 924
    disabled: false
    listen6: "2602:fba1:d00::116:1"
    local-pref: 100
    neighbors:
      - "2602:fba1:d00::1"
    only-announce:
      - "2a0a:280:b00b::/48"
      - "2a12:dd47:8046::/48"
    template: upstream

root@bismillah-cloudie:~# pathvector g
INFO[0000] Starting Pathvector 6.1.0
FATA[0000] [Cloudie_Upstream] only-announce and announce-all cannot both be set

It seems the default takes priority during unmarshalling even if the key is explicitly defined null.
Unless I'm missing something the fix is simply defaulting announce-all to nil, should not be a problem since the BoolDeref already handles nils.

Thanks for the report! Fixed in 906822a. Will make it into tonight's release.

Hello,
I think it's still hasn't fixed... Since I've testing it and it's not only exporting prefix that defined.

Thank you for the fixing the only-announce
Lately I didn't have much time to testing it. And this day I can testing it, and it's confirmed that the only-announce feature are success! \o/
Proof

Thanks for confirming!


E2E test failed in CI - testDefaultEvaluationEvents

The e2e test failed with the test case testDefaultEvaluationEvents
https://github.com/bucketeer-io/ios-client-sdk/actions/runs/6951652992/job/19001745750
It has not failed on the local machine test.

Hi @cre8ivejp
The cause was due to desynchronization between the XCode project in the CI/CD stream and on the local machine.
But because now XCodeGen automatically creates XCode projects. This issue has also been fixed.


Implement window frame autosave

This PR enables window frame autosave for the main document window of HexFiend.
The main use-case is to allow customising the default number of bytes per line. Since the width of the line number sidebar depends on the size of the file, saving the window width is not enough to reliably restore the number of bytes per line. Thus, I had to explicitly implement saving the number of bytes per line.
A hex editor works best when the number of bytes per line is a multiple of 4, for various reasons that are fairly well known. The most common default in other hex editors is 16 bytes per line. But, with the default font (Monaco 10pt) in HexFiend the default window size for an empty file shows 15 bytes per line. If one wants to change the font size it becomes even less than that, because the default window size is also kinda small. And resizing the window each time is quite a drag...
With this change one can resize the window once, and be done with it forever.

Thanks.
The window width is not saved, but it wasn't saved before. May be something we can look into for the future.

Looks like turning on window auto save in 9a43b3dbb43a93f60257d75dd9da174e1495d606 breaks restoring bytes per line due to internal calls to saving the window frame which resets bpl to 16.
I fixed it with d0ca71c523a85630139ef84919f5cfe5153836a6. I turned off auto frame save, and manually save the window origin and height on resize and move, and restore these after setting up the window. Seems to work with my tests.

Here's a beta build if you would like to test: https://github.com/ridiculousfish/HexFiend/releases/tag/v2.70b3

Well, it looks like I didn't test my code very well!
I didn't consider saving the window coordinates manually because I thought that Cocoa's window autosave was responsible for sightly offsetting the location of each new window in respect to the last one, but I see that by setting the window frame origin manually you get the same effect anyway.
Thank you for taking the time to basically rewrite my PR!


Only load .html files in template dir

To fix an issue seen by @isuldor
vspd does not need to parse non-html files in the template dir (eg. temporary/hidden files created by text editors)

I confirmed this fixes the issue I was observing, thanks!


Some bugs about Verify or Browser

When i logged in, game requests my verify code from email. And the verify stage "slide to correct position" is a blank window.
and if i try to log in with twitter, the 3party verify windows is blank still.
I think maybe i need to install some wine support for website?
and i cannot close any blank verify windows.

System Information (please complete the following information):

macOS: 13.4 Ventura
Device: MacbookPro 16inch 2021
CPU: APPLE silicon
RAM: 16G

neutralinojs.log

this bug also recur in playcover log in process, so i nailed it with twitter-side log in.
BTW, i cannot shutdown the genshin impact game, i must close it with activity moniter. but it works on the launcher.

this bug also recur in playcover log in process, so i nailed it with twitter-side log in. BTW, i cannot shutdown the genshin impact game, i must close it with activity moniter. but it works on the launcher.

Same problem with mine. I wanted to try that twitter-side login. How do you do that?

same problem. please is there any update who to deal with it?

It is solved For me, I found that you need to Disable SIP (System Integrity Protection):
-First, shut down your Mac entirely so the screen is black and all other lights are off
-Press down and hold the power/Touch ID button until Loading startup options appear
-Select Options and continue
-If prompted, select the correct storage disk
-Log in with your administrator account
-When Utilities appears in the menu bar, click on it and choose Terminal
-In the terminal window type csrutil disable and type your password when prompted
-Wait for Successfully disabled System Integrity Protection to appear, then restart your Mac
After logging to genshin impact account you enable it again

I've found a workaround for the "slide to correct position" issue that worked (at least for me): try guesstimating the position of the draggable handle; once you start dragging, the UI appears.


Fix build after #2286

Compilation has been broken by merging https://github.com/ROCmSoftwarePlatform/MIOpen/pull/2295 and https://github.com/ROCmSoftwarePlatform/MIOpen/pull/2286

@junliume @JehandadKhan Please merge this ASAP to unblock CI.

It passed the stage where it failed before, thanks for the quick catch!


Skype for business support

@sdharshraj,
Thanks for your contribution.
To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla.microsoft.com.
It will cover your contributions to all Microsoft-managed open source projects.
Thanks,
Microsoft Pull Request Bot


feat: new release 1.0.6 please

Could you provide a new release on main for the color feature. Thanks alot.

What is "the color feature"?


Change URL structure to a better readable solution

Issue details
We want to link on our stories in our JIRA tickets for our QA.
It's really hard to create short readable URLs, so my suggestion is to create a new URL structure.

/?selectedKind=Organisms%2FProductOverview&selectedStory=Filter&someAddonConfig=optional

should be restructured to

/Organisms/ProductOverview/Filter?someAddonConfig=optional

Steps to reproduce
You just have to create a story in a hierarchy tree.
Affected platforms

All browsers

Recreated this ticket because it was automatically closed and it's still relevant.
Old ticket #2466
It would be great to just reopen the old ticket and close this one.

On the roadmap

It's still relevant. Is it possible to disable this inactive feature somehow?

@ndelangen Are you sure about that? I just checked and didn't see it on the roadmap.

@trentrand will be part of 4.0.0 via this PR:
https://github.com/storybooks/storybook/pull/4086


NTR: Latrine used for storage, observed

For new term requests, please provide the following information:
Term Label [required] Latrine used for storage, observed
Synonyms [optional]
Definition [required except for organism name]
The definition should be understandable even for non-specialists. Include a PubMed ID or DOI to refer to any relevant article that provides additional information about the suggested term.
capture whether the interviewer observed the latrine and found it used for storage.
Suggested Parent Term [required]
Please look in the ontology hierarchy in a browser such as OLS or choose one from following list:

[ ] Material (independent of other entities and can be maintained through time, such as person, cell, sample)
[ ] Process (has temporal proper parts and for some time depends on some material entity, such as life cycle, cell division, heart beating, sleeping)
[ ] Information (generically dependent on some artifact and stands in relation of aboutness to some entity, such as data, identifier, document)
[ ] Characteristic/Quality (inheres in or is borne by other entities, such as height, color, disease)

Information
Examples [optional]
Contributor [optional]
If you would like to be a contributor of the term or anyone you think that contributes to the term, such as label, definition, please provide the name and ORCID ID.
Requester [optional]
Please indicate which resource/database/project/ request the term.
ClinEpiDB

@SheenaTomko
EUPATH:0048312 ( <--- is this ID correct? )
Label: indicator of latrine used for storage
Definition: Information on disposal of human excreta material that specifies whether a latrine is used for storage.
Parent: Information on disposal of human excreta material (EUPATH:0000596, same parent as in ClinEpi)

@johnwjudkins, yes the ID is correct. The definition however doesn't indicate that this is something confirmed by the interviewer. We have another term (Storage, multifilter value for Latrine use EUPATH_0048009) where it's use for storage was reported by the interviewee. Here we want to make it clear that this was confirmed by an outside observer

Can we say it was observed by an investigation agent, or do you think it needs  to be more specific?
Definition: Information on disposal of human excreta material that specifies whether a latrine was observed by an investigation agent as being used for storage.

@johnwjudkins that seems like it would work


Programs added to iCloud Drive don't automatically appear in 'All Programs'

Right now iCloud Drive locations won't automatically sync unless their directory is visible (as it's the Directory instance that kicks off the download). This means that if you're on the 'All Programs', programs that are added to iCloud Drive on a different device won't automatically sync and appear.
In order to make this work, we need to have a separate iCloud Drive downloader which is responsible for watching our indexable locations and kicking off downloads.

Fixed in ebbf0d2d39a1c8de64b770f03fa1c94d108a338c.


(angular) Unable to serialize Date with JsonFormatShape.STRING

Disclaimer : please excuse me if this is not the good way to submit this problem
Environment
Angular version:
9 (compiler 9.1.9)
Description
Expected behavior:
Correct serialisation of Date field
Current behavior:
Error in console :
ERROR Error: No date library has been set. To be able to use @JsonFormat() on class properties of type "Date" with JsonFormatShape.STRING, a date library needs to be set. Date libraries supported: "https://github.com/moment/moment", "https://github.com/iamkun/dayjs/".
Steps to reproduce

Create an Angular project (i.e. with stackblitz) then add dependencies in package.json

...
    "dayjs": "^1.8.28", <-- added for try but it's doesn't work
    "jackson-js": "^1.1.0",
    "moment": "^2.27.0",
...

Create an entity with a Date field like :

export class User {

  @JsonProperty()
  @JsonClassType({type: () => [Date]})
  @JsonFormat({
    shape: JsonFormatShape.STRING,
    pattern: 'YYYY-MM-DD hh:mm:ss',
  })
  birthdate:Date;
}

Then instanciate class, fill it and try to serialize

    let  user=new User();
    user.birthdate=new Date();

    let om = new ObjectMapper();
    let stringifiedUser = om.stringify<User>(user);

The console shows the error given higher.
I may add that I've tried import * as moment from 'moment'; without success.
Is there something I'm missing in configuration ? I haven't seen anything in the documentation.
Keep the good work, it's about to save my day (well, week I should say :) ): your library really rocks.

You need to set the date library option. An example could be found inside the tests folder, here:
https://github.com/pichillilorenzo/jackson-js/blob/adb7bd31b5fcf006665e4947dd3b6ef4ea468b57/tests/JsonFormat.ts#L70
const moment = require('moment');

// your code

const objectMapper = new ObjectMapper();

const jsonData = objectMapper.stringify<User>(user, {
  dateLibrary: moment
});

Thanks for the support!


Convert Location / Segment[] to offsets/range

When writing semantic validators for JSON documents, it would be useful to be able to pass in a Segment[] and get back either character offsets or line and character numbers. This may be outside the charter of this library, but I couldn't find anything that fulfilled a similar need when reviewing the code for monaco-json or for the language server, but did find dependencies from them on this project.

Found what I was looking for: findNodeAtLocation(parseTree(sourceText), myPath)


How to properly setup a shared (home) printer?

Basic info

Kernel: Linux ... 4.4.4 #1-NixOS SMP Thu Mar 3 23:10:04 UTC 2016 x86_64 GNU/Linux
System: 16.09pre78286.0bf8a1a (Emu)
Nix version: nix-env (Nix) 1.11.2
Nixpkgs version: "16.09pre78286.0bf8a1a"

Describe your issue here
I'm unable to set up a working shared printer on a NixOS server by following existing docs.
What I'd like to have is a shared home printer, which would allow anyone within the same LAN to print.
Related parts of my configuration.nix looks like:
    services.printing.enable = true;
    services.printing.gutenprint = true;
    services.printing.browsing = true;
    services.printing.defaultShared = true;

    avahi.enable = true;
    avahi.publish.enable = true;
    avahi.publish.domain = true;
    avahi.publish.userServices = true;

    services.firewall.enable = true;
    services.firewall.allowedTCPPorts = [ 631 ];
    services.firewall.allowedUDPPorts = [ 631 ];
    services.firewall.extraCommands = ''
        iptables -I INPUT -p udp --dport mdns -d <IP_ADDRESS> -j ACCEPT   # zeroconf
        iptables -I OUTPUT -p udp --dport mdns -d <IP_ADDRESS> -j ACCEPT  # zeroconf
    '';

I can add a printer through CUPS web UI, enable CUPS printer sharing from there, and see and add the printer on OSX client (as a bonjour printer). But printing from OSX fails. Journal shows the following error from CUPS:
Unable to encrypt connection: Unable to create server credentials.

Only Google results for that message are from cups code, so this sounds like a rare issue.
I tried to customize cupsd.conf to allow printing without authentication, but without any success.
A bonus would be to make the printer work as "AirPrint-printer" on iOS devices. I've managed to created AirPrint...service -file using https://github.com/tjfontaine/airprint-generate and get that loaded by avahi (by adding it ${avahi}/etc/avahi/services in a custom avahi.postInstall), but it still didn't work event without firewall disabled.

See the listenAddresses option, the default is to listen on localhost. But this looks unreleated to the error message you have: unable enable to create server credentials. Maybe there is some permission issue, try enable polkit?
Also I think some more options need to be enabled for avahi, like publish.addresses.

Thanks. I'll try these later today.
Although, listenAddresses probably has working default, because printer is found and configured probably, and avahi.publish.userServices says that it includes avahi.publish.addresses, and according to manual polkit should be enabled by default.

See the listenAddresses option, the default is to listen on localhost. But this looks unreleated to the error message you have: unable enable to create server credentials. Maybe there is some permission issue, try enable polkit?
Also I think some more options need to be enabled for avahi, like publish.addresses.
—
Reply to this email directly or view it on GitHub.

See http://www.cups.org/documentation.php/doc-2.1/man-cups-files.conf.html, and the directive ServerKeychain. Maybe it can be set to /etc/ssl/certs.

@joelmo Thanks for that tip about ServerKeychain. I needed to create a .crt .key -pair into /etc/cups/ssl to make it work. Now CUPS works and also Airprint discovery started working.
Now, only thing not working is the printer itself. CUPS gets it to make some noise, but eventually CUPS reports printing success without anything coming out of the printer. But this is probably a more usual issue with old USB-printers, and I expect to resolve it with some googling...
Probably I should now write down somewhere all the steps required for zeroconf and airprint...

The final issue was just that the default Gutenprint driver (PPD) really work for my printer. After finding an alternative PPD, everything started working. So, here's everything I had to do to share printer with bonjour/zeroconf (for mac) and airprint (for ipad). Maybe @garbas would like to merge this to docs while moving printing docs from Wiki:

Enable CUPS with sharing and Avahi with published user services in /etc/nixos/configuration.nix:
services = {
  printing.enable = true;
  printing.browsing = true;
  printing.defaultShared = true;

  avahi.enable = true;
  avahi.publish.enable = true;
  avahi.publish.userServices = true;
}

Open CUPS ports in firewall:
networking = {
  firewall = {
    enable = true;
    allowedTCPPorts = [ 631 ];
    allowedUDPPorts = [ 631 ];
  };
};

Rebuild system and install printer either through CUPS web frontend or lpadmin.

Check that CUPS has some [hostname].cert and [hostname].key files in /etc/cups/ssl and, if not, generate them, e.g., with openssl.

Generate Airprint Avahi-service file for the installed printer using https://github.com/tjfontaine/airprint-generate.

Customize Avahi with the service file created in 4.:
nixpkgs.config.packageOverrides = pkgs: rec {
  avahi = pkgs.avahi.overrideDerivation(args: rec {
    airprint = ./AirPrint-Brother_HL-2030_series.service;
    postInstall = ''
     ln -s $airprint $out/etc/avahi/services/AirPrint-Brother_HL-2030_series.service
    '';
  });
};

Done.

To add more experience: I've suceeded sharing a printer through CUPS to Linux clients recently. I've needed points 1-3 (without a certificate) and then opened CUPS administration on a client. It found the printer automagically through Avahi. Notice that I haven't found how to ask CUPS on Linux to get PPD from the server, so I set the server's printer type to raw queue. Maybe someone knows a solution or if it's possible at all?

@abbradar Do you mean somethin like
lpinfo -v

To get the printer address, and
lpadmin -p Brother_HL-2030_series -E -v usb://Brother/HL-2030%20series?serial=L7J236015 -P /path/to/Brother-HL-2030-hl1250.ppd

to configure the printer with custom PPD?

Nah, I thought that I can set PPD on the server and then all clients would just get it from there automatically. Instead what I found is:

There is no way (from what I've seen) to have CUPS clients get PPDs from the server automatically.
One can't setup same printer PPD on both a client and a server -- it garbles output (but I haven't tried to do so -- read it on ArchWiki).

@abbradar Strange. My mac did download the PPD.
About certs. Possibly those /etc/cups/ssl certificates should be created automatically, and somehow I managed to miss them.

@datakurre I suppose that maybe it's a Mac feature, not CUPS one, but I'm not sure.

Maybe it's a Mac-specific requirement, too?

@abbradar Good point. /etc/cups/ssl requirement might be mac specific (maybe CUPS on mac is configured to require encryption by default). On PPD issue I can only say that my mac's CUPS client and NixOS server both have the same PPD and it works.

Hm, I've tried just now to set proper PPD on both the server and client, and it works! Looks like ArchWiki note at https://wiki.archlinux.org/index.php/CUPS#Local_CUPS_server might be invalid.

As for me, I just had to do 1-2-3, except I added the following option:
services.avahi.nssmdns

And it worked.

You also need to install the package nssmdns. Also CUPS needs to be restarted after every boot.


Support NavigationItem Transparent

[x] titleView transparent
[x] barButtonItem transparent

Commit f486921 Support navigationItem transparent.

Commit c128d8c support title, titleView transparent.

PR #17
support this feature


fix(@angular/build): allow .json file replacements with application builds

When using the application builder, the fileReplacements option will now work as it previous did with the browser builder when replacing JSON files.
Closes #28949

The changes were merged into the following branches: main, 19.0.x


feat(color-eyre): add export-owo-colors feature

Reexporting owo-colors causes rust-analzyer's code completion to fill with many auto-use suggestions for the owo-colors::OwoColorize trait.
This feature allows users to opt-out of reexporting owo-colors.
see https://github.com/eyre-rs/color-eyre/issues/109

Sorry since I don't use features often this didn't occur to me. Would this be a breaking change for anyone with default-features = false? Maybe a non-default no-export-owo-colors (I'm sure there is a better name) feature would be better.

Features are meant to be additive. Consider two crates, where the first one depends on those exports and the second one doesn't. If the second crate specifies no-export-owo-colors, then combining both crates into one project would cause the first crate to not compile because the no-export-owo-colors feature is active.
On the other hand, an export-owo-colors feature would work. If any crate in the dependency tree depends on it, it will be included in the final build.
Currently there are no default features, so there's no reason someone would have default_features = false for color_owo. It may still count as a breaking change, but it is unlikely to break code in practice.
I think export-owo-colors as a default feature is definitely the way to go.

ok the feature is now additive.

Currently there are no default features, so there's no reason someone would have default_features = false for color_owo

I'm not sure what you mean. There is both track-caller and capture-spantrace already enabled by default.

Ah, my bad. I guess I looked in the wrong place for feature documentation

I think export-owo-colors is definitely the way to go. For minimal breakage, add it as a default feature (although I think most users of this crate will not want it enabled).

Agreed,
Personally, I rarely export dependency crates unless they are extensively used in the external API, as the user can easily bring their own, rather than having two ways to import it. This is made somewhat easier with RA recent checks for [doc_hidden] attrs that prevents considering them for autoimport, but for many, it is not beneficial to always have access to, and accidentally auto-import red from color_eyre::owo_colors


The article doesn't touch the subject of querying two datasets

This article doesn't talk about connecting to two datasets at the same time. My understanding is that it doesn't work, but it's not listed as a limitation or as a preview limitation. If this is a limitation, it would be good if it's mentioned in the article

Sorry, this is probably a duplicate of isssue #2981

Created without reference for article, so I close it and re-open another


Update regex in get_rsyslog_daemon_configuration_content

Fixes #
Proposed Changes

Update regex in get_rsyslog_daemon_configuration_content

@ofshomro , @NoamLandress  is this PR still relevent?

Can be closed, The Rsyslog Regex was changed in this PR- https://github.com/Azure/Azure-Sentinel/pull/1035


Multi GPU support is ... ornamental?

Has the code been tested on multi GPUs in the DDP mode? -- not in the sense that it "runs" (it certainly does), but in the sense that it actually learns a representation (it likely doesn't)?

I believe there's a bug in NT_Xent .  As it stands, it doesn't learn a meaningful representation when world_size > 1 despite the loss going down. There must be a subtle issue in concatenating z_i and z_j before gathering and then masking.
Since the code works for single GPU, I tried to mimic the single-GPU logic as follows. The following updated implementation of NT_Xent runs and produces good representations for both single- and multi- GPU:
import torch
import torch.distributed as dist
from .gather import GatherLayer

class NT_Xent(torch.nn.Module):

    def __init__(self, batch_size, temperature, world_size):
        super(NT_Xent, self).__init__()

        self.batch_size = batch_size
        self.temperature = temperature
        self.world_size = world_size
        self.full_batch_size = world_size * batch_size

        self.mask = self.get_self_excluding_mask()
        self.criterion = torch.nn.CrossEntropyLoss(reduction="sum")
        self.similarity_f = torch.nn.CosineSimilarity(dim=2)

    def get_self_excluding_mask(self) -> torch.Tensor:
        mask = torch.ones((2 * self.full_batch_size, 2 * self.full_batch_size), dtype=bool)
        mask = mask.fill_diagonal_(0)
        for i in range(self.full_batch_size):
            mask[i, i + self.full_batch_size] = 0
            mask[i + self.full_batch_size, i] = 0
        return mask

    def forward(self, z_i: torch.Tensor, z_j: torch.Tensor) -> torch.Tensor:

        if self.world_size > 1:
            z_i = torch.cat(GatherLayer.apply(z_i), dim=0)
            z_j = torch.cat(GatherLayer.apply(z_j), dim=0)

        # first M entries of z will be the first augmentation; last M entries will
        # be the second augmentation
        z = torch.cat((z_i, z_j), dim=0)

        # the dimension of sim is (2 * self.full_batch_size) x (2 * self.full_batch_size)
        sim = self.similarity_f(z.unsqueeze(1), z.unsqueeze(0)) / self.temperature

        sim_i_j = torch.diag(sim, self.full_batch_size)
        sim_j_i = torch.diag(sim, -self.full_batch_size)

        positive_samples = torch.cat((sim_i_j, sim_j_i), dim=0).reshape(2 * self.full_batch_size, 1)
        negative_samples = sim[self.mask].reshape(2 * self.full_batch_size, -1)

        labels = torch.zeros(2 * self.full_batch_size).to(positive_samples.device).long()
        logits = torch.cat((positive_samples, negative_samples), dim=1)
        loss = self.criterion(logits, labels) / (2 * self.full_batch_size)

        return loss

I have changed the order of GatherLayer and torch.cat operations on z_i and z_j;  I have also changed the positive-pair/self-pair mask.

Hi there! This bug was addressed in https://github.com/Spijkervet/SimCLR/commit/cd85c4366d2e6ac1b0a16798b76ac0a2c8a94e58 - the masking for world_size > 1 wasn't done properly. This only affected results when using multi-GPU training with DistributedDataParallel.

Yes

emmm, you didn't sove this problem unless you use:
z_i = torch.cat(GatherLayer.apply(z_i), dim=0)
z_j = torch.cat(GatherLayer.apply(z_j), dim=0

Hi there! This bug was addressed in cd85c43 - the masking for world_size > 1 wasn't done properly. This only affected results when using multi-GPU training with DistributedDataParallel.

I believe there's a bug in NT_Xent . As it stands, it doesn't learn a meaningful representation when world_size > 1 despite the loss going down. There must be a subtle issue in concatenating z_i and z_j before gathering and then masking.
Since the code works for single GPU, I tried to mimic the single-GPU logic as follows. The following updated implementation of NT_Xent runs and produces good representations for both single- and multi- GPU:
import torch
import torch.distributed as dist
from .gather import GatherLayer

class NT_Xent(torch.nn.Module):

    def __init__(self, batch_size, temperature, world_size):
        super(NT_Xent, self).__init__()

        self.batch_size = batch_size
        self.temperature = temperature
        self.world_size = world_size
        self.full_batch_size = world_size * batch_size

        self.mask = self.get_self_excluding_mask()
        self.criterion = torch.nn.CrossEntropyLoss(reduction="sum")
        self.similarity_f = torch.nn.CosineSimilarity(dim=2)

    def get_self_excluding_mask(self) -> torch.Tensor:
        mask = torch.ones((2 * self.full_batch_size, 2 * self.full_batch_size), dtype=bool)
        mask = mask.fill_diagonal_(0)
        for i in range(self.full_batch_size):
            mask[i, i + self.full_batch_size] = 0
            mask[i + self.full_batch_size, i] = 0
        return mask

    def forward(self, z_i: torch.Tensor, z_j: torch.Tensor) -> torch.Tensor:

        if self.world_size > 1:
            z_i = torch.cat(GatherLayer.apply(z_i), dim=0)
            z_j = torch.cat(GatherLayer.apply(z_j), dim=0)

        # first M entries of z will be the first augmentation; last M entries will
        # be the second augmentation
        z = torch.cat((z_i, z_j), dim=0)

        # the dimension of sim is (2 * self.full_batch_size) x (2 * self.full_batch_size)
        sim = self.similarity_f(z.unsqueeze(1), z.unsqueeze(0)) / self.temperature

        sim_i_j = torch.diag(sim, self.full_batch_size)
        sim_j_i = torch.diag(sim, -self.full_batch_size)

        positive_samples = torch.cat((sim_i_j, sim_j_i), dim=0).reshape(2 * self.full_batch_size, 1)
        negative_samples = sim[self.mask].reshape(2 * self.full_batch_size, -1)

        labels = torch.zeros(2 * self.full_batch_size).to(positive_samples.device).long()
        logits = torch.cat((positive_samples, negative_samples), dim=1)
        loss = self.criterion(logits, labels) / (2 * self.full_batch_size)

        return loss

I have changed the order of GatherLayer and torch.cat operations on z_i and z_j; I have also changed the positive-pair/self-pair mask.

@mbabadi Hey, have you tested this code in your experiments? I also encountered the same problem, and I think your modification is correct. However, I am wondering about the experimental results in ddp by using this code. Thank you for your attention! Can you please share your insights and experience with it?

@JUNJIE99 Hey there! So, I didn't run the SimCLR benchmarks on my fix as I was in a rush-- I just compared a short single-GPU run vs. multi-GPU at a comparable number of iterations on my specific data, and they were remarkably close (whereas w/ the original implementation, the loss function wouldn't budge with a multi-GPU run).  For reference, here's what my forked code ended up becoming:
https://github.com/cellarium-ai/SynapseCLR

@JUNJIE99 Hey there! So, I didn't run the SimCLR benchmarks on my fix as I was in a rush-- I just compared a short single-GPU run vs. multi-GPU at a comparable number of iterations on my specific data, and they were remarkably close (whereas w/ the original implementation, the loss function wouldn't budge with a multi-GPU run). For reference, here's what my forked code ended up becoming:
https://github.com/cellarium-ai/SynapseCLR

I see! Thanks for taking the time to explain that to me. Thank you!


Max17049

Hi
Does your code works with MAX17049 2 cell fuel gauge? How your library distinguish between 1 cell MAX17048 vs 2 cell MAX17049?
I tried your example but i'm always getting:

VCELL ADC : 65535
VCELL V   : 5.12
VCELL SOC : 255 %
VCELL SOC : 256.00 %

Thanks

Please declare
MAX17049 pwr_mgmt;

instead of
MAX17048 pwr_mgmt;

Close this issue but if you still have the problem, please feel free to reopen the issue.


restore heroku database auto backups

We have now two heroku databases for speakerinnen-liste. Would be good to delete one.
And we don't have automatic backups any more :(

argh, why is that?

I don't know. After may 19 we have no more backup data.

hum, I see now that I/we got an email concerning backup migrations on the 27th of may. I will forward the email to you. Probably it is just stored at another place.

Thanks for the email. Done thanks to @svenfuchs!!! Mörci!!


Allow holiday configuration with array-like objects

For example, if passed a set, which doesn't respond to uniq, we should coerce to an array before finishing the configuration.
@zendesk/darko

:+1:


Unable to watch Subscription content like Apple TV

OS/Platform
Windows
Installed
https://ungoogled-software.github.io/ungoogled-chromium-binaries/
Version
Version 120.0.6099.129 (Official Build, ungoogled-chromium) (64-bit)
Have you tested that this is not an upstream issue or an issue with your configuration?

[X] I have tried reproducing this issue in Chrome and it could not be reproduced there
[ ] I have tried reproducing this issue in vanilla Chromium and it could not be reproduced there
[ ] I have tried reproducing this issue in ungoogled-chromium with a new and empty profile using --user-data-dir command line argument and it could not be reproduced there

Description
I am unable to watch Apple TV.
How to Reproduce?

Go to Apple TV
Login
Try to watch any movie/TV show
You get the following error.

Actual behaviour

Expected behaviour
Video should play fine.
Relevant log output
No response
Additional context
No response

Same issue here, with Netflix, Disney+ and Prime Video.
There is a plugin with instructions for Linux users ↓, but nothing for Windows users, as far as I could research.
https://github.com/proprietary/chromium-widevine

Have you consulted faq#how-do-i-install-widevine-cdm?

Yes, and I did it again after your response, but couldn't find any working solution.
For Windows, it leads to https://chromium.woolyss.com/#widevine, where it says that you have to install the Widevine plugin yourself, but on the official website, you can't download it anymore : https://www.widevine.com/download/videooptimizer Broken link, no downloads anymore on the website.
On https://chromium.woolyss.com/#widevine, it also says that you need to go to chrome://components/ and check that "Widevine Content Decryption Module" is an other version than <IP_ADDRESS>.
But it is on Ungoogled Chromium, and clicking on "Chek for update" and waiting doesn't work.
Did you manage to make it work on Windows?

Looks like the widevine at https://dl.google.com/widevine-cdm/4.10.2710.0-win-x64.zip is a very old one & manifest gives errors when I uploaded it to ungoogled-chromium.
Unrecognized manifest key 'arch'.
Unrecognized manifest key 'os'.
Unrecognized manifest key 'x-cdm-codecs'.
Unrecognized manifest key 'x-cdm-host-versions'.
Unrecognized manifest key 'x-cdm-interface-versions'.
Unrecognized manifest key 'x-cdm-module-versions'.
Unrecognized manifest key 'x-cdm-persistent-license-support'.
Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.ch40me.qjz9zk/blog/mv2-transition/ for more details.


devdocs: update schemas and images description

This updates several devdocs pages to reflect the current state and behavior of torcx.

one minor thing, but :+1:


Can I load the animation only the first time it's visible

Could you add a little bit more context to that question?
You can do what the title asks by adding a onComplete listener and creating a ref tracking it combined with an intersection observer maybe?
Using :visible should do the trick though.
I'm closing this, feel free to re-open if you have any more questions.

@Tahul I had the same question. I think the desired behavior is "trigger the :visible variant only the first time an element enters the viewport", rather than the default behavior which seems to rewind the animation and replay it each time the element re-enters the viewport.


Data not being returned from targetProduction

I noticed that I was never getting back the data or headers I was expecting from my "targetProduction" (aka the "-a" server).
Digging in I found that while the -a machine was returning a 200 (and all of the expected data) teeproxy was also see an error message. Because of that error message it would discard the data and just return the default 200 OK message.
(For the curious, the error message was: "Failed to receive from localhost:9090: persistent connection closed")
In Pull Request #10 I added in a check for the targetProduction side.

Somehow I did not see this issue until today. Sorry for that.
Maybe just need to improve the PR a bit.

No prob, the comments on the PR were good points. I'm learning golang so there's no rush from my point of view on this PR.

I thought I would have more time to work on this, but it looks like I don't.
I'm going to close this PR for now and revisit in the future.


New release

Could you please make a new release of FMAssetStream that integrates the fix from #2?

released FMAssetStream 0.1.1 with changes from #2


Add ability to use app specific password for user accounts with 2FA

Hi.
altool fails to upload the app for notarization with a password specified in the Keychain, if 2FA is on.
A workaround is to use an app-specific password.
This PR will allow using the app-specific password from ENV['FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD'] instead of the one stored in the Keychain.

Hey @nekrich, do you think you'll be able to continue working on this? I can take over if not!


little changes to test and usage on the exe

checking "description" as part of the unit tests...
adding pretzel test to the usage, if the user has a debug build of the EXE

nothing major... first check-in and mostly just for show...

What does "test" mode represent?
If we're talking debugging, I'd prefer a generic --debug flag to be specified - this is then available to all modes and makes the API more consistent.

i am not sure what test mode did... It was there when i started! i only make it show up in the usage screen when the user uses a debug build...

After discussing with @aeoth we've dropped the test mode - https://github.com/Code52/pretzel/pull/11.
Can you update this PR to drop that output message - that line of test code is fine?

removing this pull request based on @shiftkey  and @aeoth  comments


Feedbacks milestone 4

Great implementation of the feedbacks!

don't forget to close your issues once they are no longer relevant
great description of your app! And I really like the usage scenario, it is very relevant!
The sketch of your dashboard is great! However, it seems like a lot of work (but it's totally doable I think), good luck with making it! I'm sure your dashboard is going to be very efficient!
The app.R file should be in the root of your repo.

@sirine-chahma and @firasm  I was wondering if it is possible to change some features of the dashboard from the initial sketch. Initially I wanted to include checkboxes to show/hide graphs, but I have tried everything to get this feature to work and it doesn't seem to be working. I have tabs and plots, but I'm not sure how faithful I have to be to the original sketch.

Sure - you're more than welcome to update your plans based on feedback and feasibility.

btw, interesting idea to show/hide graphs! I'm not sure if I've ever encountered that before, not even sure it's possible without hacking it a bit.

I've been trying to do this : https://stackoverflow.com/questions/50852743/plotly-figure-hide-and-display
Which is for the python version of dash but I'm not succeeding, so I think I will remove the checkboxes because of limited feasibility

Oh that's right - you can just hide the whole div! I remember doing this a few weeks ago with a group of students last term.
Perhaps I can give you hand in office hours if you're keen on implementing it.

Thank you for your feedback today. I implemented the side by side plots on my first tab!


Crashes on openjdk with Unrecognized VM option 'UnlockCommercialFeatures'

> bench/jmh:run -prof jmh.extras.JFR -t1 -f 1 -wi 10 -i 20
[info] Running org.openjdk.jmh.Main -prof jmh.extras.JFR -t1 -f 1 -wi 10 -i 20
[info] # JMH 1.17.4 (released 20 days ago)
[info] # VM version: JDK 1.8.0_121, VM 25.121-b13
[info] # VM invoker: /usr/lib/jvm/java-8-openjdk/jre/bin/java
[info] # VM options: <none>
[info] # Warmup: 10 iterations, 1 s each
[info] # Measurement: 20 iterations, 1 s each
[info] # Timeout: 10 min per iteration
[info] # Threads: 1 thread, will synchronize iterations
[info] # Benchmark mode: Throughput, ops/time
[info] # Benchmark: Bench.sprayBench
[info]
[info] # Run progress: 0.00% complete, ETA 00:00:30
[info] # Fork: 1 of 1
[info] # Preparing profilers: JFR
[info] # Profilers consume stderr from target VM, use -v EXTRA to copy to console
[info] <forked VM failed with exit code 1>
[info] <stdout last='20 lines'>
[info] </stdout>
[info] <stderr last='20 lines'>
[info] Unrecognized VM option 'UnlockCommercialFeatures'
[info] Error: Could not create the Java Virtual Machine.
[info] Error: A fatal exception has occurred. Program will exit.
[info] </stderr>
[info]
[info] # Run complete. Total time: 00:00:00
[info]
[info] Benchmark  Mode  Cnt  Score   Error  Units

@reactormonk OpenJDK doesn't include any commercial feature or Java Flight Recorder. If you want to use JFR, you have to use OracleJDK. There is similar question from OpenJDK bug system.

@ktoso I think this issue could be close. Since UnlockCommercialFeatures is only available on OracleJDK. OpenJDK doesn't support this flag.

I am getting the same error message while trying to generate flame graphs with OpenJDK (taking flags from the main README). Does it require the OracleJDK as well?

hello all, good news is that jfr is supported natively in openjdk 11. we don't need anymore to unlock this feature.
However, jmh-sbt still sends a VM.unlock_commercial_features when profiling with jfr. Benchmark crashed due to the error below:
[info] # Warmup Iteration   1: java.lang.IllegalArgumentException: Unknown diagnostic command
[info] <failure>
[info] java.lang.RuntimeException: Non zero exit code from: /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/jcmd 27896 VM.unlock_commercial_features
[info]  at pl.project13.scala.jmh.extras.profiler.ProfilerUtils.startAndWait(ProfilerUtils.java:40)
[info]  at pl.project13.scala.jmh.extras.profiler.FlightRecordingProfiler.jcmd(FlightRecordingProfiler.java:256)
[info]  at pl.project13.scala.jmh.extras.profiler.FlightRecordingProfiler.beforeIteration(FlightRecordingProfiler.java:148)
[info]  at org.openjdk.jmh.runner.BenchmarkHandler.startProfilers(BenchmarkHandler.java:261)
[info]  at org.openjdk.jmh.runner.BenchmarkHandler.runIteration(BenchmarkHandler.java:334)
[info]  at org.openjdk.jmh.runner.BaseRunner.runBenchmark(BaseRunner.java:262)
[info]  at org.openjdk.jmh.runner.BaseRunner.runBenchmark(BaseRunner.java:234)
[info]  at org.openjdk.jmh.runner.BaseRunner.doSingle(BaseRunner.java:139)
[info]  at org.openjdk.jmh.runner.BaseRunner.runBenchmarksForked(BaseRunner.java:76)
[info]  at org.openjdk.jmh.runner.ForkedRunner.run(ForkedRunner.java:72)
[info]  at org.openjdk.jmh.runner.ForkedMain.main(ForkedMain.java:84)

Is there a way to detect the jdk version and avoid sending this cmd for jvm higher than

This looks to have been fixed in 27c7d57. I'm now running successfully on OpenJDK 11.
Currently this is hardcoded; it would be nice to leave it up to the user o set the flag via the SBT javaOptions variable (but not sure if this is possible).


Revert "Update flag_models.py to fix is_torch_npu_available as a function call"

Reverts FlagOpen/FlagEmbedding#473
Some other calls are to be fixed!

@staoxiao now you can merge again, I fixed all the calls since it was a bit more than 1 :)


How to use mrbc?

Is there any guide about mrbc tool? Sorry to post a question here.

Try mrbc -h
Example:
mrbc -o <path-to-mrb-file> <rb files>...

You will get compiled mrb file.


Description for Cliff feature links to non-existent wiki page

The infobox description for "Cliff" appears to have a broken URL attached to it.

When clicking "View documentation," the destination URL is "https://wiki.openstreetmap.org/wiki/V" instead of what should probably be "https://wiki.openstreetmap.org/wiki/Tag:natural%3Dcliff"

Hello and welcome, @DavidMetcalfe. Looks like the link was broken in the wikibase item. I'd guess someone was trying to copy-and-paste and missed the modified key. In any case, I've fixed it now.


Tree view is not considering the states when collapsed state

Select one ...  (check one with "x")
[ X] bug
[ ] feature request
[ ] enhancement

Expected behavior

In collpased state, if i uncheck or check that state will be consider.
Actual behavior

In collpse mode, if we change the state that state is not considering , it holds the previous ste only(it means, in expand mode what we selected i.e)
Reproduction of behavior

Include a link to the reproduction scenario you created by forking one of the Clarity Plunker Templates:

Environment details

Angular version: 2.0.X

Clarity version:

OS and version:

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

@hippee-lee: Could you please take a look at this?

@girijaa: Could you please provide a plnkr to replicate this issue? Without a plnkr it is difficult for us to reproduce the issue and investigate it.

Actually, I don't want us to lose time investigating a potential bug from a one-line description that I have a very hard time understanding.
So before we investigate, @girijaa, could you please post a plunker reproducing the issue you have? Thank you.

Hi,
Directly you can see in your website, tree view with checkboxes
On Aug 31, 2017 7:38 PM, "Eudes Petonnet-Vincent"<EMAIL_ADDRESS>wrote:

Actually, I don't want us to lose time investigating a potential bug from
a one-line description that I have a very hard time understanding.
So before we investigate, @girijaa https://github.com/girijaa, could
you please post a plunker reproducing the issue you have? Thank you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vmware/clarity/issues/1400#issuecomment-326306687,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFH7Gs8lJE2JrW6Gzg1foweeNhKluJp5ks5sdr5pgaJpZM4PIwPh
.

@girijaa: This does look like a bug. We will take a look and get back to you.

Hi,
May i know, did you people resolve this issue.

@girijaa
It's in our backlog but is not currently being worked. Thanks for checking in!

I'm facing a variant of this bug two:
https://plnkr.co/edit/HsXrzOkJ49tIy9EEvKew?p=preview
when outer is expanded it works as expected
when it's not, checking inner (that is outside) doesn't change the checkbox of outer.

When this will be fixed?
Is there any workaround for this?
Component should expose events/emit the events for checkbox changes and collapse/expand events with the object.
We are blocked here. :(

@adityarb88 @youdz
Are there any details you can share on this item?

Any update on this?

Is this issue still on the radar? I love all the Clarity components and would rather using something built-in to this library if I could, but unfortunately the app I'm writing requires that the treeview allows children to be selected even if the parent is collapsed.

Any update on this?

@DeadlyBrad42 @shravansofts: Apologies for the late reply. Missed the earlier comments. We still haven't gotten to this ticket. We do not have an ETA of when someone will start working on this. All members of our team are working on other components/issues. You can take a look at whats in progress right now here: https://github.com/vmware/clarity/issues?q=is%3Aopen+is%3Aissue+label%3A"In+Progress"

In my opinion this issue makes the Checkbox Tree not safe to use - it leads to big errors from the user input side unless you force the dropdown to always stay expanded. It is easy for the developers to oversee this bug and I think there should at least be a note about it somewhere. We've learned the hard way...

Hi @mathisscott
Any news about this bug fix?
Thanks in advance.

Hi @Itay777
We're currently working on it. Please subscribe to the issue for updates. You should be able to see the labels. It will receive the label "In Review" when it is being peer reviewed and getting ready for release.
thanks.

Hi @mathisscott,
I can see this bug is still on hold, do you know when it will be fixed?
this component has stopped working as expected since our last clarity upgrade,
and we need it to work before our incoming release.
Thanks in advance.

Yes, this component is very useful in our project, we are using it to filter documents by status.
The release is scheduled to beginning of august, we will really appreciate your help by fixing this bug soon.
Thanks @mathisscott & @jeeyun !

@Itay777 Until Clarity worked on this bug - I use
https://github.com/leovo2708/ngx-treeview/tree/master/src/lib

Hi @jeeyun,
any update on this bug fix progress?

Hi @Itay777, we want to provide solution for two use cases - 1. a simpler use case where all the tree nodes are already defined and populated in the DOM (which allows Clarity component to provide comprehensive state management out of the box) and 2. a more complex use case where we want to allow the component to fetch and destroy the children nodes on demand (e.g. when a user clicks to expand and collapse a node) which means that the component cannot know all the information about the states of the children ahead of time and the application-side would have to manage state. Thinking about both use cases requires a more thorough examination (and possible refactoring) of our API so it's taking a bit longer. I will provide another update here when we have a more concrete timeline for projected completion. Thank you for checking in and asking. Also, feel free to share your use case and what is the typical size and depth of the treeviews in your application. Knowing concrete example helps us to make sure we build something that's useful!

Hi @jeeyun here is a example of our usecase on stackblitz:
[https://stackblitz.com/edit/clarity-hmrndh?file=app%2Fapp.component.html]
The usecase case is that we are using the tree component to filter items by state from the data grid,
we are initializing the tree from json \ code, and by default all nodes are selected.

when we want to select only on node, then we unselect all by unchecking the root node, then select the required node.
when we want to select\unselect  a group of nodes, the we check\uncheck the parent node.
we are using 3 level depth tree.
Hope it is clear enough, please don't be afraid  to ask, if something is unclear.

You mess with it long enough you get a nice light show

Hi @jeeyun,
any eta?


Pagination with filterBy issue

How am I able to update my pagination (which are data properties and computed properties), when I use the filterBy filter? I have 1,283 students as a property but when I use the filterBy I want to be able to change my computed properties to reflect my search. Does that make sense?

I have precisely the same question

Not quite sure if I get what you mean... maybe a code snippet?

I believe I am having a similar issue. I have an array of objects in my data that I am using to populate a list on the front end using v-repeat. It works great, but there doesn't seem to be a way to access just the filtered records from within the javascript to make calculations or perform other actions.
If I have 30 records total, but then I filter them with a filterBy and only 5 show in my , is there an easy way to get an array with just those 5 filtered records?

@mcallan83 using v-ref:
http://jsfiddle.net/azamatsharapov/r8gL4c65/

Wow... exactly what I was looking for. Thank you!

Closing because original author hasn't provided further explanation. Also this is a non-bug which should be moved to vuejs/Discussion if anyone wishes to continue the discussion.


[SPARK-18120 ][SQL] Call QueryExecutionListener callback methods for …

…DataFrameWriter methods
What changes were proposed in this pull request?
QueryExecutionListener has two methods onSuccess() and onFailure() that takes a QueryExecution object as a parameter that gets called when a query is executed. It gets called for several of the DataSet methods like take, head, first, collect etc. but doesn't get called for any of the DataFrameWriter methods like saveAsTable, save etc. This commit fixes this issue and makes calls to these two methods from DataFrameWriter output methods.
Also, added a new property "spark.sql.queryExecutionListeners" that can be used to specify instances of QueryExecutionListeners that should be attached to the SparkSession when the spark application starts up.
How was this patch tested?
Testing was done using unit tests contained in two suites. The unit tests can be executed by :
test-only *SparkSQLQueryExecutionListenerSuite
test-only *DataFrameCallbackSuite

Can one of the admins verify this patch?

ok to test

Test build #71741 has started for PR 16664 at commit 751ded0.

Test build #71741 has finished for PR 16664 at commit 751ded0.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class OutputParams(

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71741/
Test PASSed.

/cc @yhuai @marmbrus

/cc @liancheng

Test build #72177 has started for PR 16664 at commit b0392ed.

Test build #72178 has started for PR 16664 at commit 752125a.

Test build #72177 has finished for PR 16664 at commit b0392ed.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/72177/
Test PASSed.

Test build #72178 has finished for PR 16664 at commit 752125a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/72178/
Test PASSed.

@yhuai @marmbrus  @liancheng Can someone review my PR please. Thanks.

@yhuai @marmbrus @liancheng if none of you are going to take look, I'll give the code another pass and not wait for your feedback before pushing.

I think @sameeragarwal plans to review.  I glanced and it looks fine.

@marmbrus DataStreamWriter has similar issues, right?

I just quickly went over the code. It looks ok to me, but I will review it again when the comments are resolved. Thanks!

Test build #72329 has started for PR 16664 at commit ecf9f34.

Test build #72329 has finished for PR 16664 at commit ecf9f34.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/72329/
Test FAILed.

Test build #72417 has started for PR 16664 at commit a0c7c22.

Test build #72417 has finished for PR 16664 at commit a0c7c22.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/72417/
Test PASSed.

Could you update the PR title to [SPARK-18120][SQL] Call QueryExecutionListener callback methods for DataFrameWriter methods

Just finished this round of reviews. Thanks!
This PR enables the QueryExecutionListener when users using the DataFrameWriter methods. However, it still misses the other code paths, especially, the DDL statements. For example, CTAS when using the sql() API. cc @sameeragarwal @cloud-fan

I think it's ok to enable the listener for DataFrameWriter first, we can think about DDL commands later

why do we need the new config spark.sql.queryExecutionListeners? I think it's not hard to register listeners manually, and at least we should do it in a follow-up PR.

Sorry I'm really confused, probably because I haven't kept track with this pr. But the diff doesn't match the pr description. Are we fixing a bug here or introducing a bunch of new APIs?

Actually we are not only introducing new APIs, we are also breaking old APIs in this patch. Please separate the bug fix part from the API changing part.

I actually disagree that this particular change should be a separate PR. Part of exposing these new queries to the listener is providing information of what these queries are doing, and the current (developer) API does not have a way to expose that.
We can discuss ways of maybe exposing this information in a way that doesn't break the existing API (I thought about a couple but I didn't like any of them, so my preference was to just modify the existing developer) API. But I strongly feel the bug fix is not complete without this information being exposed in some way.

That's probably because you are not familiar with the SQL component. The existing API already has references to the QueryExecution object, which actually includes all of the information your compatibility-breaking API is currently exposing.

The QueryExecution object doesn't have details related to the output metadata. Like for eg. if I call df.write.parquet("/my/path"). The path to which the DataFrame is written i.e. "/my/path" is not available in the QueryExecution object.

The existing API already has references to the QueryExecution object, which actually includes all of the information your compatibility-breaking API is currently exposing.

That's fair but not what I was told; if that's the case then great, but I'll let Salil comment since he's looked at this code way more than I have.

Well it does. It contains the entire plan.

@rxin , in DataFrameWriter.save we do
    val dataSource = DataSource(
      df.sparkSession,
      className = source,
      partitionColumns = partitioningColumns.getOrElse(Nil),
      bucketSpec = getBucketSpec,
      options = extraOptions.toMap)

    dataSource.write(mode, df)

knowing the entire plan is not enough, it would be better if we also have these write options(provider, partitioning, extraOptions, etc.)

When I was working on this PR the output path wasn't there but if you are confident that it is there then it might have been added recently. I can check and get back to you.

I think that's a separate "bug" we should fix, i.e. DataFrameWriter should use InsertIntoDataSourceCommand so we can consolidate the two paths.

Basically I see no reason to add some specific parameter to a listener API that is meant to be generic which already contains reference to QueryExecution. What are you going to do if next time you want to find some other information with a take or collect query? Do you go in and add another interface for that?
If the goal is to expose information for writing data out properly, then just make it work with the existing interface and fix the issue that using DataFrameWriter doesn't call the callback (and doesn't have the correct information set in QueryExecution).

Actually @cloud-fan are you sure it is a problem right now? DataSOurce.write itself creates the commands, and if the information are propagated correctly, the QueryExecution object should have a command InsertIntoHadoopFsRelationCommand.

DataSource.write returns Unit, so the entire plan will be df.queryExecution, which doesn't contain these write options.

Yea we should fix that.

Does that mean the information would show up in the plan? That would be great.

@vanzin yes, InsertXXX command will carry all the write options.

@cloud-fan From what I understand we need to modify InsertXXX command to carry all the write options instead of the change suggested in this PR. Right now the QueryExecution object doesn't carry any of the output options. Am I correct?

@salilsurendran yes, and we can send another PR to fix the InsertXXX command problem


[Function expose] Table 362 "ECSL VAT Report Line"- function ClearLines

Is it possible expose function ClearLines in table 362 "ECSL VAT Report Line"?

Hi,
I will mark the function as external.
br/Gert


python version does not appear

The problem
the terminal does not show the python version, with node it shows normal

Relevant Zsh configuration
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="spaceship"

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled  # disable automatic updates
# zstyle ':omz:update' mode auto      # update automatically without asking
# zstyle ':omz:update' mode reminder  # just remind me to update when it's time

# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13

# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
  git
  pyenv
  python
  pylint
  pipenv
  pip
  pep8
  nvm
  npm
  node
  gitignore
  virtualenv
  vi-mode
  vscode
  docker
)
source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

### Added by Zinit's installer
if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then
    print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
    command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
    command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \
        print -P "%F{33} %F{34}Installation successful.%f%b" || \
        print -P "%F{160} The clone has failed.%f%b"
fi

source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit

# Load a few important annexes, without Turbo
# (this is currently required for annexes)
zinit light-mode for \
    zdharma-continuum/zinit-annex-as-monitor \
    zdharma-continuum/zinit-annex-bin-gem-node \
    zdharma-continuum/zinit-annex-patch-dl \
    zdharma-continuum/zinit-annex-rust

### End of Zinit's installer chunk
zinit light zdharma-continuum/fast-syntax-highlighting
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-completions

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

LS_COLORS=$LS_COLORS:'ow=01;34:' ; export LS_COLORS

SPACESHIP_PROMPT_ORDER=(
  time          # Time stampts section
  user          # Username section
  host          # Hostname section
  dir           # Current directory section
  git           # Git section (git_branch + git_status)
  hg            # Mercurial section (hg_branch  + hg_status)
  package       # Package version
  node          # Node.js section
  ruby          # Ruby section
  elixir        # Elixir section
  xcode         # Xcode section
  swift         # Swift section
  golang        # Go section
  php           # PHP section
  rust          # Rust section
  haskell       # Haskell Stack section
  julia         # Julia section
  docker        # Docker section
  aws           # Amazon Web Services section
  venv          # virtualenv section
  conda         # conda virtualenv section
  # pyenv         # Pyenv section
  dotnet        # .NET section
  # ember         # Ember.js section
  exec_time     # Execution time
  line_sep      # Line break
  battery       # Battery level and status
  # vi_mode       # Vi-mode indicator
  jobs          # Backgound jobs indicator
  exit_code     # Exit code section
  char          # Prompt character
)

SPACESHIP_USER_SHOW="always" # Shows System user name before directory name

SPACESHIP_PROMPT_ADD_NEWLINE=false
# SPACESHIP_PROMPT_SEPARATE_LINE=false # Make the prompt span across two lines
# SPACESHIP_DIR_TRUNC=1 # Shows only the last directory folder name

SPACESHIP_CHAR_SYMBOL="❯"
SPACESHIP_CHAR_SUFFIX=" "
SPACESHIP_PYTHON_SHOW=true

What is version of Spaceship are you using?
4.15.0
What is version of Zsh are you using?
5.8.1
What operation system are you running?
Pop!_OS 22.04 LTS jammy
Do you use any Zsh framework or plugin manager?
Oh My Zsh
Which terminal emulator do you use?
Hyper
Additional information
No response

I have the same problem, did you solve this?

I have the same problem, did you solve this?
I have the same problem. Has anyone managed to solve it?

@misaelbr and @DanielAlmeida19  I will try to help you with this one. I'm not a Python developer so .... ;-)
I tried the python section and it works fine for me with virtualenv,  but only if I make small change.
The python section is using the version 2 binary named python so I had to make an alias to python3
alias python='python3'

If that doesn't work, check if the env.variable VIRTUAL_ENV is set.
printenv VIRTUAL_ENV

@PedroNeto05 when using variable SPACESHIP_PROMPT_ORDER you are telling spaceship in what order you want your sections and , must important, which sections you want to use. If you add python to SPACESHIP_PROMPT_ORDER it will show the python environment.
If you just want to remove a section then use spaceship remove <section> or if you want to reorder one section the use remove and add:
spaceship remove python
spaceship add --before rust python

If you want to use SPACESHIP_PROMPT_ORDER and spaceship add/remove together then declare the order array SPACESHIP_PROMPT_ORDER first.


Bug: lexical-yjs create nodes using constructor without args

The createLexicalNodeFromCollabNode function creates a node using the constructor without arguments, and then synchronizes the properties using collabNode.
This can be fatal if the constructor requires arguments. It is dangerous to call a constructor in a way that was not designed by the user.
Lexical version: 0.12.0
Steps To Reproduce

Use a node whose constructor throws an error if an argument does not exist with collab mode.

The current behavior
Error is thrown.
The expected behavior
No error is thrown.

This one would be tough to resolve, basically collab plugin needs to reconstruct node based on bag of properties without knowing anything about constructor, so some sort of serialization/deserialization would be required. We already have import/explort JSON, but the risk here is that it was initially used by collab so existing node implementations might not include some of the fields in resulting json causing data loses in collab

It makes sense that the contract is given by serialization in JSON or HTML.

but the risk here is that it was not initially used by collab so existing node implementations might not include some of the fields in resulting json causing data loses in collab

That's already true either way right now. If someone forgets to serialize a property, they won't be able to save/load its editorState, or copy/paste, or import/export, etc.

Also- does this even work with LexicalEditor properties?
Eg. https://github.com/konstantinmuenster/lexical-examples/blob/6ed2e5bd6e23d6afcd4c7320b7a5778b94878861/examples/lexical-nested-editor/src/Editor/nodes/Comment/CommentNode.tsx#L37
Would this CommentNode even be able to sync?

2 solutions come to mind:

A way to automate the serialization of any node, like this https://github.com/facebook/lexical/pull/3931
Add importYjs/exportYjs methods.

I think solution 2 is unavoidable, since even in the PR I mentioned, import/exportJSON methods can still be overwritten due to occasions where properties are not serializable.
Also, I think importYjs/exportYjs is something that could be used for decorators. For example, if someone wanted to integrate Monaco or Codemirror and have a working undo manager. See: https://discord.com/channels/953974421008293909/1163567808823705732

@GermanJablo big fan of generic but overridable import/exports. The importYjs/exportYjs optional functions which fallback to the JSON make a lot of sense as well.
The WIP you mentioned is from Feb, is this stale?

Yeah. There is a similar PR with a "generic" clone that was ready to be merged but it seems the Lexical team hasn't had the time.
As soon as that PR is merged I can update the import/export one.

@acywatson , would love to get these PRs merged. Is there anything blocking this?
Having these updates would be a big benefit to the dev UX for Lexical and as discussed above would furthermore set the starting ground for fixing yjs support for many custom decorator nodes.

@acywatson , would love to get these PRs merged. Is there anything blocking this?

Hey - when you say "these PRs" I assume you mean the work around generic JSON serialization/deserialization.
The only thing holding this up is that it's a big invasive change and landing it means that we (core) have to devote resources to monitoring and fixing any issues it might cause across all the Lexical implementations at Meta. As you might guess, there are many such implementations and the consequences of a bug in some of them can be quite significant.
I've been lobbying to get this merged for a while now, and I think we will. In principle, we've agreed it's an improvement. Logistically, it does present some challenges.
Hope that's helpful.

On this same topic, if you set excludedProperties on your node type, those properties are not synced. When there's a change in that node and yjs syncs the node, does it basically set the current value of the "excludedProperty" to undefined? or will the value of the "excludedProperty" remain the same local value from before the sync update?

Update: I correct myself again.
I think ideally a decorator would actually have an export/importYjs method. In case it is not user defined, it could fallback to export/importJSON.
The reason is that currently if one attempts real-time collaborative editing in a decorator, what happens is that the state of the decorator is completely overwritten. For example, you cannot see another user's cursor in a table cell. The same would happen if a text editor such as Monaco or Prosemirror were implemented. It wouldn't be collaborative editing, but rather LWW, which has noticeably inferior UX.
A way for the decorator to expose its underlying YDoc would allow it to synchronize its data structure more atomically.

Hey I agree using serialized JSON would be a better approach (especially when taking versioning into consideration) , so I decide to implement one personally (and publicly).
Now I'm considering the following issue:

TextNode and ElementNode should be treated differently, because we want to implement the diff correctly. (Easy to resolve, just mention it here).
Nested editors needs to be treated differently. I think current Lexical implementation is wrong because nested editor should not be implemented as a sub doc. However, I need to investigate how to make it work

Taking those stuff into consideration, I expect the implementation would be somehow ugly, but I don't expect it being merged to the main branch, so I'll directly add new special properties to resolve the second issue and do not consider backward compatibility.

I agree using serialized JSON would be a better approach too.
I'm encountering an issue where YDoc(Yjs document) is excessively large, so I am looking to reduce the document size by shortening the names of nodes. For example, I want to change a long variable name like someNode.isGeneratedByBackendAndUntoutched to shorter one such as isg.
However, directly shortening the variable names makes the code less readable.
Therefore, I would like to shorten the variable names only when exporting to JSON, to minimize the size of the YDoc.

After writing some codes, I found a big drawback of using exportJSON/importJSON: test whether or not a node has changed.
Let me briefly describe what would happen:

Suppose a remote yjs change is synced to current client.
A node has changed, so we call importJSON and creates a new node.
We need to replace the previous node with the new one. Here the node is marked as dirty.
After the yjs transaction finishes, Lexical reconciles everything, then after Lexical is done, an update listener is triggered, and a new yjs transaction has started.
The node is marked as dirty, we don't know what happens, so we call exportJSON.

Now, since every time exportJSON creates a brand new object, the new JSON and the old JSON are different. Therefore, we have no idea if the yjs representation of the node should change.
I don't know if this can be easily resolved. I tried to compare the JSON's values with their existing Yjs storage. If the values are primitive, or the values are directly imported and exported by the Lexical node, then this test is still fine.
However, it is possible that users create a node which dynamically creates a new object value when calling exportJSON. For example, for those nodes containing a nested editor, this._someNestedEditor.toJSON() is called when exportJSON is called. So we can imagine, in these cases, we have to update yjs representation, then a remote client would have to call importJSON, then the change is sent back ... infinite loop.
Take a step back, in original collabNode implementation, all the properties of a node are directly compared, if they are different, then the corresponding yjs data is updated. So it seems the assumption that those properties are static (apart from nested editors) exists for a while.
I personally cannot come up with better solutions, so maybe we need to follow that assumption.

My bad, just noticed if tag has collaboration, then the change is skipped.
Needs some final debugging to make the whole stuff work.

https://github.com/yf-yang/lexical/tree/refactor-yjs
To whom it may concern, I've already refactored most of the parts. Played with the playground on my own and it works fine, but haven't tested them formally yet.
I haven't worked on nested editors (I really hate nested editor design, maintaining multiple editor states simultaneously is really really really BAD). Needs suggestions on how to make them work when using JSON serialization methods.

https://github.com/yf-yang/lexical/tree/refactor-yjs
To whom it may concern, I've already refactored most of the parts. Unit tests are passed. Played with the playground on my own and it works fine.
I haven't worked on nested editors (I really hate nested editor design, maintaining multiple editor states simultaneously is really really really BAD). Needs suggestions on how to make them work when using JSON serialization methods.

Hi! Thanks for providing the code. I can confirm that your solutition eliminated problems with nodes that use constructor arguments, e.g in payload cms there is a custom link node that always crushed when used with collaboration with error stating no constructor arguments exists(fields props). Here's the link for node:  link
Your code helped a lot, but now one of the editors don't see changes to text node format (bold, italic, underline etc), although I haven't tested it yet properly but I suppose other nodes have this issue( is it or is it just what we have to deal with) too. Ty!

@vans37 Sorry I decided to abandon this framework. If you are willing to debug yourself, I can provide you some tips:
There are two functions, syncLexicalChangesToYjs and syncYjsToLexical (I forget the exact names). The first one subscribes to local Lexical changes. The second one subscribes to remote yjs changes.
To debug, add logpoints in the first function to check:

If Lexical change is correctly reported.
If the change is correctly applied to the corresponding yjs map.
Then add logpoints in the second function to check:
If the correct remote change is received.
If the change correctly changes local Lexical state.

You don't have to check all of them every time. Use them to narrow down and find what happens.


Unable to build with proguard with API target under level 23

Proguard is throwing errors when building with the newest Mixpanel library versions for API targets under 23. The error arises out of the usage of getColor(Context context, int id) for API 23+ and getColor(int id) for all API levels below 23.
Since getColor(Context context, int id) is not available in the support-v4 library until API level 23, builds below this level pick up the method from Proguard and cannot find a reference to this method:

Even when building with API level 23, it does appear there is still an issue with this code from the logs:
05-17 11:13:27.937 20455-20455/com.example.ryanseams.simpletest I/dalvikvm: Could not find method android.content.res.Resources.getColor, referenced from method com.mixpanel.android.mpmetrics.q.c
05-17 11:13:27.937 20455-20455/com.example.ryanseams.simpletest W/dalvikvm: VFY: unable to resolve virtual method 343: Landroid/content/res/Resources;.getColor (ILandroid/content/res/Resources$Theme;)I
05-17 11:13:27.937 20455-20455/com.example.ryanseams.simpletest D/dalvikvm: VFY: replacing opcode 0x6e at 0x007f

It would seem a potential solution to this is to create separate methods for each version of getColor and use @TargetApi to specify which version should be used (like is being done in notifications).

Hi, did you ever solve this issue? I'm having the same issue for my app "The Day Ahead".
08-21 19:17:14.420 3805-4280/com.gmail.gogobebe2.thedayahead I/dalvikvm: Could not find method android.content.res.Resources.getColor, referenced from method com.gmail.gogobebe2.thedayahead.timetable.Period.highlight 08-21 19:17:14.420 3805-4280/com.gmail.gogobebe2.thedayahead W/dalvikvm: VFY: unable to resolve virtual method 699: Landroid/content/res/Resources;.getColor (ILandroid/content/res/Resources$Theme;)I
When used here:
`    private void highlight(final int COLOUR_ID) {
int colour;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) colour = view.getResources().getColor(
            COLOUR_ID, view.getContext().getTheme());
    else colour = view.getResources().getColor(COLOUR_ID);

    view.setBackgroundColor(colour);
}`

This issue will be solved with https://github.com/mixpanel/mixpanel-android/pull/373  - It's safe to don't warn for that error since at runtime the right api is selected.
@gogobebe2 You should specify on your proguard file not to warn for the class that is using that method. Alternatively, have you given a shot TargetApi annotation as @ryanseams mentioned? Thanks!

Thanks for replying! But I solved my problem :)
    public void highlightAsCurrentSession() {
        highlight(android.R.color.holo_blue_light);
    }

    private void highlight(final int COLOUR_ID) {
        final int COLOR = ContextCompat.getColor(timetableFragment.getContext(), COLOUR_ID);
        timetableFragment.getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                view.setBackgroundColor(COLOR);
            }
        });
}


Cloud build Unity failed

Hello,
I am using your plugin in my project. Thank you so much for your useful plugin, it helps me a lot.
However I got an issue about building project with Unity Cloud Build. Here is the log:
16583:        [xcode] Check dependencies
16584:        [xcode] Unity-iPhone-Stickers has conflicting provisioning settings. Unity-iPhone-Stickers is automatically signed, but provisioning profile xxxxx-xxxxx-4083-9da1-65ba6360e337 has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor, or switch to manual signing in the project editor.
16585:        [xcode] Code signing is required for product type 'App Extension' in SDK 'iOS 10.3'
16586:        [xcode] ** ARCHIVE FAILED **
16587:        [xcode] The following build commands failed:
16588:        [xcode]   Check dependencies
16589:        [xcode] (1 failure)
16590: ! build of 'default-ios' failed. compile failed
I think I need to add manually the provisioning profile and provisioning profile specifier ( in sticker setting) Because in unity cloud build setting, the provisioning is added manually.
I have some concerns?

Do i need a new provisioning for sticker extension with new app id?
How can i get 2 values provisioning profile and provisioning profile specifier?

Thank you so much for your help, I do appreciate!
Regards,
Anh Nguyen

Hi.

Yes
I dont use cloud build myself, how do you specify the provisioning
profile for the regular app now?

On Fri, 30 Jun 2017 at 06:17, Nguyen Hoang Anh<EMAIL_ADDRESS>wrote:

Hello,
I am using your plugin in my project. Thank you so much for your useful
plugin, it helps me a lot.
However I got an issue about building project with Unity Cloud Build. Here
is the log:
16583: [xcode] Check dependencies
16584: [xcode] Unity-iPhone-Stickers has conflicting provisioning
settings. Unity-iPhone-Stickers is automatically signed, but provisioning
profile xxxxx-xxxxx-4083-9da1-65ba6360e337 has been manually specified. Set
the provisioning profile value to "Automatic" in the build settings editor,
or switch to manual signing in the project editor.
16585: [xcode] Code signing is required for product type 'App Extension'
in SDK 'iOS 10.3'
16586: [xcode] ** ARCHIVE FAILED **
16587: [xcode] The following build commands failed:
16588: [xcode] Check dependencies
16589: [xcode] (1 failure)
16590: ! build of 'default-ios' failed. compile failed
I think I need to add manually the provisioning profile and provisioning
profile specifier ( in sticker setting) Because in unity cloud build
setting, the provisioning is added manually.
I have some concerns?

Do i need a new provisioning for sticker extension with new app id?
How can i get 2 values provisioning profile and provisioning
profile specifier?

Thank you so much for your help, I do appreciate!
Regards,
Anh Nguyen
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/agens-no/iMessageStickerUnity/issues/13, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAitDeDL6XNyh1DDIrqBVxK9n0ZeFZJOks5sJHb2gaJpZM4OKIhv
.

Hi @Skjalgsm, thank for your reply
In Unity cloud build, I have only one option to specify a provisioning profile by uploading a provisioning *.mobileprovision and  certificate .p12 files. Those are for the main game. I don't know if there must be another *mobileprovision file for sticker extension or just need a provisioning defining a wildcard app id.
In the sticker settings inspector of your plugin, I saw 2 input fields for Provisioning Profile, and Provisioning Profile Specifier. Suppose that I have to make another  provisioning for extension as form of a .mobileprovision file, I don't know how to get those values: Provisioning Profile, and Provisioning Profile Specifier from that provisioning file. I don't have much experience with iOS stuff. Any advice on it?
And I also get a strange bug when my mono couldn't find definition of these 2:
PlayerSettings.iOS.appleEnableAutomaticSigning and PlayerSettings.iOS.iOSManualProvisioningProfileID
I am using Unity 5.5.0f3. I have searched around but seem there's no one having the same issue.
Do you have any ideas why it happens?
Thank you so much!
Anh.

I think I will contact unity cloud support and have a chat with them on how
to best resolve this. Uploadibg a wildcard provisioning file should work,
but you still need to input its name in the sticker pack inespector.
I'll look into the missing definitions. Unity rewrote some definitions back
and forth during 5.4 and 5.5, so my defines are probably not working for
that specific version 🙂
On Fri, 30 Jun 2017 at 10:47, Nguyen Hoang Anh<EMAIL_ADDRESS>wrote:

Hi @Skjalgsm https://github.com/skjalgsm, thank for your reply
In Unity cloud build, I have only one option to specify a provisioning
profile by uploading a provisioning *.mobileprovision and certificate .p12
files. Those are for the main game. I don't know if there must be another
*mobileprovision file for sticker extension or just need a provisioning
defining a wildcard app id.
In the sticker settings inspector of your plugin, I saw 2 input fields for
Provisioning Profile, and Provisioning Profile Specifier. Suppose that I
have to make another provisioning for extension as form of a
.mobileprovision file, I don't know how to get those values: Provisioning
Profile, and Provisioning Profile Specifier from that provisioning file. I
don't have much experience with iOS stuff. Any advice on it?
And I also get a strange bug when my mono couldn't find definition of
these 2:
PlayerSettings.iOS.appleEnableAutomaticSigning and
PlayerSettings.iOS.iOSManualProvisioningProfileID
I am using Unity 5.5.0f3. I have searched around but seem there's no one
having the same issue.
Do you have any ideas why it happens?
Thank you so much!
Anh.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/agens-no/iMessageStickerUnity/issues/13#issuecomment-312212255,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAitDT3c_sJqQUGKVTaY9aVsxqnIuUbsks5sJLYMgaJpZM4OKIhv
.

Thank you so much for your reply, I also ask Unity about it.
Is there a way that I can buy you a coffee ? :)

Why this is closed? This is still an issue under Unity Cloud

I apologize. I thought it was fixed as I made sure it worked in Unity 5.5.0f3

I'm sure now that its relevant or just me. I'm getting following error in unity cloud
No iOS profile matching 'H76AAAAAAA/Stickers Ad Hoc' found:  Xcode couldn't find a profile matching 'H76AAAAAAA/Stickers Ad Hoc'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
I've the following things setup.
1- Automatic Signing Turned Off
2- Provided GUID of Provisioning Profile in Provisioning Profile Textbox
3- Provided Name of Provisiioning Profile in 'Provisioning Profile Specifier' TextBox
With get the following error with following configuration
1- Automatic Signing Turned On
Provisioning profile "*** Ad Hoc" has app ID "com.big.game", which does not match the bundle ID "com.big.game.stickers".
[xcode] Provisioning profile "*** Ad Hoc" doesn't match the entitlements file's value for the application-identifier entitlement.
Please let me know if i'm doing anything wrong here. btw Both of these .mobileprovising is uploaded on UCB but i can select only one of them

Hi.
I've been in contact with Unity. The reply I got was that

Cloud Build does not support multiple provisioning profiles currently.
The development team are aware of this limitation and we are currently looking into a full solution for the future.

But there's also good news.

The only workaround I can suggest at this time is to use a wildcard profile.

So specifically for you. You would need to go into developer.apple.com and into Certificates, Identifiers & Profiles. There you will need to generate a new app identifier that ends with a wildcard (*) and use that in your cloud build.


Error when using Wire Elements Pro Spotlight demo

When using the standard spotlight demo from https://wire-elements.dev/docs/getting-started/spotlight-component#start
Spotlight::setup(function () {
    Spotlight::registerQueries(
        SpotlightQuery::asDefault(function ($query) {
            $collection = collect();

            $collection->push(
                SpotlightResult::make()
                    ->setTitle('Dashboard')
                    ->setTypeahead('Dashboard')
                    ->setGroup('pages')
                    ->setAction('jump_to', ['path' => '/'])
                    ->setIcon('home')
            );

            return $collection;
        }),
    );
});

I'm getting the following error message:
Error
Call to undefined function WireElements\Pro\Components\Spotlight\str()
...\vendor\wire-elements\pro\src\Components\Spotlight\SpotlightAction.php:24

@PhiloNL is this the right place or do you have a support address for pro? Thx.

Hi there! Please send an email to<EMAIL_ADDRESS>with your license key and I'll provide you with an discord invite.


Add/Switch instagram-scraper

https://github.com/rarcega/instagram-scraper

changed it within the "merged scraper list" and changed the Link within our Wiki. Also the Table has been updated.
I have also rechecked all the apps :)!

Link is not updated
Picture/table should show that user info is also available via instagram scraper

Also, description should include (actually for every tool) whether posts can be searched for by location, hashtags, and users.

Thanks for checking!
I changed the table accordingly and added User Info to the IG-S.
I also added location/user to the description. I will reevaluate the location/Usr search in the following days for ALL Apps and edit the other descriptions.

Made an issue for that: #20


Create 0000-01-02-Beegumaliyaarif.md

This pull request add beegumaliyaarif 's file to the _post folder


Fix bug in interface template

You need to use is defined to properly check if an attribute of a dict exists. The current check always passes even if endpoint is not defined.

Thank you :+1:


Symantec Endpoint Security C2C doc

Purpose of this pull request
This pull request is to create release a new doc and release note for the Symantec Endpoint Security C2C.
Select the type of change

[ ] Minor Changes - Typos, formatting, slight revisions
[ ] Update Content - Revisions, updating sections
[x] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - .clabot, version updates, maintenance, dependencies, new packages for the site (Docusaurus, Gatsby, React, etc.)

Ticket (if applicable)
C2C - Symantec Endpoint Security (SES) - Update Docs

Releasing this C2C ass Beta version.