paste absolute file path after update from version 1.63.2

When I copy a file in the folder, past version VS code can paste an absolute path of the file, while newer version VS code can only get the filename with extension.

@alexdima Assigning you since this was introduced by 827e180017064f6e676e0fb8c9e501cc3564d75b

@alexdima Assigning you since this was introduced by 827e180017064f6e676e0fb8c9e501cc3564d75b

It seems not the problem what I meet. The newest version can only paste filename with extension instead of full absolute path.  The full absolute path of a file when copying can be pasted in the editor by older version VS code or other editor (such as sublime) on Ubuntu 16/18 .04.

I also have this issue with VS Code on Linux (CentOS 7).  There are several similar bug reports, most were merged into
issue 146770.  However, issue 146770 is closed and this problem persists.

A more complete solution would be to provide a context menu option to paste absolute or relative and in that manner, everybody gets what they need. Allow for customizing keybindings to either option as user desires.

In addition to an enhanced context menu, a new setting called something like "Default filename paste behavior" that would allow you to choose items like "filename only, relative path, absolute path" would be great.  That way when you use a keyboard shortcut to paste it'd be in the format you prefer.

Please see #146770 (comment) . This was a regression introduced by updating to Electron 16, most likely coming from Chromium. We will not downgrade Electron. So the change in bc9189b tries to workaround the regression. It looks like the workaround is not working very well on Linux.

From the looks of it, it's not that it's not working well on Linux, the line at 658 returns the names of the files, which is exactly the current behaviour. It looks like changing file => file.name to something like file => file.absolute_path should yield desired behaviour. Unfortunately, I'm a noobie, I don't know about VS code's API, what properties the file object has, or even how to compile a build.

The same issue here, which is very annoying. I need to open a note pad to get the full path and copy it again to vscode.
My system is Linux Mint 20.3 Cinnamon.

For me the problem of not being able to paste an absolute filepath (with Ctrl + V) still persists on Ubuntu 22.04.1 LTS. I did not encounter this problem in any other text editor.

This issue is very annoyed. I have to copy from nautilius and paste into the terminal, then copy/paste from terminal to vscode.

For those on Linux looking for a workaround, see https://github.com/ronen25/nautilus-copypath.
I followed the instructions for Ubuntu (22.04 LTS) to install nautilus-copypath.py and after a logoff/logon, Nautilus displays a "Copy Path" option in the context menu. This is in addition to the default Copy option which still works to copy just the object (file/directory) name itself.

This is the best workaround I've seen so far, thanks for sharing.
Another workaround from https://github.com/microsoft/vscode/issues/177337 is to paste the filename into VS Code's Find box (CTRL+F) which will paste the full path.  Then you can copy and paste the full path from the Find box to your document.

Huh, it looks like this is fixed in the latest insider release.
Version: 1.79.0-insider
Commit: 2946b1ee55db1d406526d3fd1df49250b2f8322d
Date: 2023-05-18T05:26:08.467Z
Electron: 22.5.2
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.19.0-41-generic

@hengwang322 That would be great, I'm looking forward for a fix to make it into the stable release.

I am unable to repro the issue with latest stable 1.85, please confirm if this is still an issue.

@deepak1556 thanks for bringing it up, I can confirm that the issue does not occur anymore ✅
Version: 1.85.1
Commit: 0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2
Date: 2023-12-13T09:47:11.635Z
Electron: 25.9.7
ElectronBuildId: 25551756
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 6.2.0-39-generic


Add platform support document to Rust docs

This is a requirement for new targets only, though.

Resolved in https://github.com/rust-lang/rust/pull/114004.


How to add a Listview under a scrollable Map?

i have a problem. I want to create a list under the map that i created. The map is working, but if i want to put a list under the map i get some fails

can you share your code ?

return Scaffold(
appBar: AppBar(
title: const Text("ini Titile"),
),
body: SingleChildScrollView(
child: Column(
children: [
SizedBox(
height: 300,
child: OSMFlutter(
initZoom: 13,
onMapIsReady: (p0) {
if (p0) {
controller.myLocation();
for (var element in markers) {
controller.addMarker(GeoPoint(
latitude: element.latitude,
longitude: element.longitude));
}
}
},
controller: controller,
markerOption: MarkerOption(
defaultMarker: const MarkerIcon(
icon: Icon(
Icons.place,
color: Colors.blue,
size: 40,
),
),
),
trackMyPosition: false,
),
),
//under map i have list
...List.generate(
30,
(index) => Card(
child: ListTile(
title: Text("Location $index"),
),
))
],
),
),
);

i can't zoom in or zoom out when i add list uder osm map

ok i will check it sorry for late reply

oke thx bro @liodali

HI. Did u solve the problem?


Added italian translation: README_IT.md

I added the Italian localization for the README.md and updated the other READMEs to reflect this change, please do let me know if there's any issue, I'm still trying to learn my way with using GitHub to push translations.

Please rebase onto latest commit. Otherwise, close this PR and create a new one because of #1831

New PR created! I also pushed some fixes for the incorrect redirects from the PT_BR portion of the files.


refactor:(router): create correct RESTful routes

According to other frameworks (like RoR or Laravel), our method doesn't work the same. It would be better if we have an identical API for other developers.
--
:heavy_exclamation_mark: ChangeLogs

Add 2 new routes generated with Route.resource().

// Routes used to send the view
Route.get(`${resourceName}/create`, `${handler}.create`).as(`${resourceName}.create`)
Route.get(`${resourceName}/:id/edit`, `${handler}.edit`).as(`${resourceName}.edit`)

Named by default generate routes.
Remove the OPTIONS route.
Need to pass a resource name in the first parameter (e.g: users, comments, posts, ...)

--
:fire: BREAKING CHANGE

This commit breaks Route.resource() method.

Also, we can't create nested resource route with this solution.


How to add a text of value on the bar chart top?

Great library!!
I want a effect like this, but I found out that topTitles seems to doesn't work on bar chart .
Would you please give me some tips ?
thank you.

I would like to add a text of value like "1:20'" on the top each bar , can anybody helps me ?

I would like to add a text of value like "1:20'" on the top each bar , can anybody helps me ?

Thanks,
Currently, there isn't the possibility to show a title on top of each bar,
I will add it ASAP but notice that pull requests are welcome, and try to contribute and implement it.
And feel free to ask any questions about it.
If you are interested to implement this feature, let me know.

Thanks for your reply and I will be waiting for your good news .

Stay tuned :)

Hi,
In 0.4.0 version we have added showingTooltipIndicators in BarChartGroupData to show tooltips (bubble tooltips) manually,
and you can show all tooltips, and set background color transparent,
I have added bar chart sample3 to demonstrate it,
check it out:
,
Thanks for being patient.

@imaNNeoFighT Thank you! You are really nice!

If I want to add Image widget on top of each bar chart, how can I do?

add Image widget on top of each bar chart, how can I do

Not yet. BTW there are some tricks. You can use font-icons to put an icon in a Text.
We are working on an ability to put widgets in the tooltips. Then you can put any Flutter widget you want in the tooltips.
Stay tuned!


Raspberry Pi 4 Support?

Is the noble library compatible with the Raspberry 4? I know that RPi 4 comes with a BLE 5.0 module. In theory BLE 5.0 supports BLE 4.0, but is this library ready for this kind of support? Appreciate your feedback!

Please try this version:
<EMAIL_ADDRESS>And report issues also to:
https://github.com/abandonware/noble/issues

Hey @rzr
Ended up getting a RPi 3 B+, and switching to @abandonware/noble
I reported an issue regarding its support on
https://github.com/abandonware/noble/issues
I’m gonna close this one, to concentrate related issues and discussion in @abandonware/noble


Test longer timeouts for GarbageDisposalTest

Seeing if this makes the tests pass on Windows or not

Codecov Report

Merging #126 (cd9c02b) into main (7e5ee72) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head cd9c02b differs from pull request most recent head 565108f. Consider uploading reports for the commit 565108f to get more accurate results

@@           Coverage Diff           @@
##             main     #126   +/-   ##
=======================================
  Coverage   52.72%   52.72%
=======================================
  Files          65       65
  Lines        2492     2492
  Branches      231      231
=======================================
  Hits         1314     1314
  Misses       1084     1084
  Partials       94       94

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Handle relationships

+1, im very interested in this. especially since i dont know of a good solution in the ember community to tracking dirtiness on relationship changes

@poteto have you made any progress toward this issue?

This works

Would you recommend this as a way to track dirtiness of relationships in general?  I understand this project is about bring similar APIs and concepts from Ecto changeset to Ember, but being able to track dirtiness of relationships to me is a significant bonus and valuable outside of the Ecto changeset stuff.

To give some context, while I found this addon because I'm working with elixir and ember personally, my work uses django and ember, but would benefit from being able to track dirtiness of relationships.

@poteto is this already available??? It doesn't seem to be so, correct me if I'm wrong!
I have a parent object A with a list of children B's (has-many association). I am doing changeset A and passing it to a component. Both A's properties and (in the list of B's) the B's properties are editable in the component. If I want to save, there are no issues. Now if I want to cancel the changes by changesetA.rollback() the original A's properties are untouched, but B's properties are affected.. To be precise, it works like a shallow copy.

@poteto I would greatly appreciate a pointer. Assuming I have an post that has many tags. When I'm editing the post and do changeset.tags.pushObject(tag), it actually mutate the actual relationship. It would be nice to have a little bit of documentation on this support for relationships. Thanks!

Dear reply+005eef0ea251a2bd355382ccbf872593225c0457bf54cec792cf0000000114c5eb4192a169ce097a8906,We would like to acknowledge that we have received your email request.Our HR representative will be reviewing your request and will send you a personal response shortly. (usually within 48 working hours).Thank you for your patience.Regards,sriramv966
FreshTeam , Applicant Tracking System powered by Freshdesk Inc.

I doubt this works. _changes object on changeset shows relationship (belongs to) is dirty even when id (and record) is the same.

As of right now, I don't think ember-changeset can properly support any relationships. If someone gets to this thread via frustrated googling, I highly recommend avoiding this library until there is documented relationship support.
That being said, it is really nice to work with when the model has no relationship nesting. Good job team. Hope we can get some first class relationship support in here soon.


[BUG] edit of ingress via GUI says "The selected certificate does not exist" although it exists

Rancher Server Setup

Rancher version: 2.6.8
Installation option (Docker install/Helm Chart): Helm Chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): kubeadm, 1.22.15

Proxy/Cert Details: thawte certificate

Information about the Cluster

Kubernetes version: 1.23.8
Cluster Type (Local/Downstream): Downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):
Imported = Running kubectl apply onto an existing k8s cluster
Hosted = AKS

User Information

What is the role of the user logged in? Project Member

Describe the bug

Project Member creates ingress and certificate via kubectl/helm but when he wants to edit the ingress object via the GUI, it says The selected service does not exist in the rules section and The selected certificate does not exist in the Certificates section although both the service and secret are available and editable via the GUI for that Project Member.
As Cluster Admin, everything works as expected
To Reproduce

Create ingress and certificate via kubectl
edit the ingress object via the GUI

Result
the user cannot change the certificate via the UI and has to modify the yaml config
Expected Result
Project Members can edit ingress rules via the UI
Screenshots

Additional context

We also got this issue when upgrading from 2.6.5 to 2.6.8. This also only seems to affect users which have the default Cluster Member role.
Is there a way to grant this access via RBAC until this is fixed in a future release?


[FEATURE] Add support for Neural and Hybrid the DSL builder API

Is your feature request related to a problem?
there seems to be a gap between the OpenSearch-Python 'high level Search Client's' functionality. Specifically with respect to the 'Hybrid' and 'Neural' search queries. These query mechanisms are definitely advanced, and are mainly used with anything regarding the ml_common/NLP functionalities that have been rolled out.
It would be great to support these kinds of search queries in the High Level python search client. Attached is a commit where I added support for neural query types.
without support for these types, we would be forced to resort to manually constructing the DSL ourselves-- ideally things that the high level search client should abstract away. Not only is this confusing (like why arnt these queries supported), but also increases the surface area for bugs.
cls = <class 'opensearchpy.helpers.query.Query'>, name = 'neural'
default = None

    @classmethod
    def get_dsl_class(cls: Any, name: Any, default: Optional[bool] = None) -> Any:
        try:
            return cls._classes[name]
        except KeyError:
            if default is not None:
                return cls._classes[default]
>           raise UnknownDslObject(
                "DSL class `{}` does not exist in {}.".format(name, cls._type_name)
            )

E           opensearchpy.exceptions.UnknownDslObject: DSL class `neural` does not exist in query.

What solution would you like?
Support for Advanced Query Types
The addition of 'Neural' and 'Hybrid' query types to the OpenSearch Python client's high-level Search API would be great.
Implementation Details
Neural search is particularly unique because it involves dynamically specified embedding fields rather than a static field such as "passage_embedding" often cited in the documentation. This flexibility pretty important-- and I wasn't quite sure how to reflect that in the code. However, i included a working prototype-- its based pretty much off of the FunctionScore query which also has an init method attached to it
class Neural(Query):
    name = "neural"

    def __init__(self, **kwargs):
        super(Neural, self).__init__()

        embedding_field = kwargs.pop("embedding_field")
        if not embedding_field:
            raise ValueError("Missing embedding_field argument")

        required_keys = {'query_text', 'model_id', 'k'}
        if not required_keys <= kwargs.keys():
            missing_keys = required_keys - kwargs.keys()
            raise ValueError(f"Missing required fields: {missing_keys}")

        # Nest all required keys under the specified embedding field
        self._params[embedding_field] = {key: kwargs[key] for key in required_keys}

https://github.com/opensearch-project/opensearch-py/compare/main...MikeyCymantix:opensearch-py:Cymantix_MichaelAlmeida/neural_query
What alternatives have you considered?
We can construct the DSL Manually for these types of queries and it would be fine.
Do you have any additional context?
The error I originally encountered appeared in this code.
** Note this test is fine, it's just part of my dev workflow when building out libraries. Using it to indicate a working test**
def test_keyword_search():
    search = Search('movies')
    weights = {"title": 2, "description": 1}
    search.add_keyword_search(query="action", weights=weights)

    expected_query = {
        'multi_match': {
            'query': 'action',
            'fields': ['title^2', 'description^1'],
            'operator': 'or'
        }
    }
    assert search.build() == expected_query, "Keyword search query does not match expected"

**Broken**
def test_neural_search():
    search_instance = Search('articles')
    search_instance.add_neural_search(query="deep learning", model_id="bert_or_something", k=5)
    built_query = search_instance.build()
    print(built_query)

Heres some addition information about the commit I referenced,
Working code for construction neural queries
   def add_neural_search(self, embedding_field, query_text, model_id, k=10):
        """
        Add a neural search condition to the query.

        Args:
        embedding_field (str): The field under which neural search parameters are placed.
        query_text (str): The search query string for neural search.
        model_id (str): The ID of the neural model used for generating embeddings.
        k (int): The number of nearest neighbors (k) to return.
        """
        if not model_id:
            raise ValueError("Model ID must be provided for neural search.")

        neural_query = Q("neural",
                         embedding_field=embedding_field,
                         query_text=query_text,
                         model_id=model_id,
                         k=k)

        # this really shouldnt have any means of combination. if we have nueral query it just overwrites
        self.query = neural_query

def test_neural_search():
    # prepare fixtures
    search_instance_fixture = Search('movies')
    search_instance_fixture.add_neural_search(
        embedding_field='passage_embedding',
        query_text="find similar movies",
        model_id="model123",
        k=5
    )
    expected_query_fixture = {
        "neural": {
            "passage_embedding": {
                "query_text": "find similar movies",
                "model_id": "model123",
                "k": 5
            }
        }
    }

    # execute
    built_query = search_instance_fixture.build()

    assert built_query == expected_query_fixture, "Neural search not matching"

working test

Thanks! This looks great.
At a high level, we want as much code as possible generated from https://github.com/opensearch-project/opensearch-api-specification and all the interesting stuff to be hand-rolled here, like you're proposing. Check whether some of these request objects be expressed in the API, produce auto-generated code, and then be used by the high level constructs? In either case, make a PR with your proposal, update user guides, etc.?

@dblock
Just got approval to work on this from my company-- we've added it to our next sprint which starts friday. I'll begin working on this feature request and turn it into a PR next week on monday.

Just an update--
Actively working on this. I've implemented a version that reuses all of the codegen tools and plays will with the other queries, and can be serialized to and from dicts. also have written tests.
Not 100% confident on my implementation yet, and still need to do a large refactor but the functionality is working-- it's just messy.
Once i'm confident i'll work on creating user guides for use with the higher level Search client.
a link to the current dif: https://github.com/opensearch-project/opensearch-py/compare/main...MikeyCymantix:opensearch-py:main


This thing is totally out of date

The socket.io chat example has changed, it no longer has a server.js.
The powershell stuff has also change.

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

ID: 16d4ab98-d741-33ef-922c-020f787826e9
Version Independent ID: c0dc1216-4d79-e040-8ee3-d4db5cf2f9e1
Content: Node.js application using Socket.io - Azure
Content Source: articles/cloud-services/cloud-services-nodejs-chat-app-socketio.md
Service: cloud-services
GitHub Login: @jpconnock
Microsoft Alias: jeconnoc

@andrewkittredge thanks for bringing this to our attention.
@jpconnock do you have someone who can take a look at this?
CC @mmccrory if you might know someone as well.

Guys anything are you updating, wasting a lot off our time and efforts. Not like you we are working on week end also..
Where is the resources path ?????????
New-AzureServiceProject : Could not find a part of the path 'C:\Program
Files\WindowsPowerShell\Modules\AzureRM.Profile\4.6.0\Resources\Scaffolding\General\scaffold.xml'.
Frustrating

@micrajesh yes sorry for the delay. I am working on finding some resources to go through this doc and update it.

Ping... it's been a year??

#reassign: @MicahMcKittrick-MSFT

We are currently cleaning up old issues and closing out items that are greater than 90 days old. If an issue is still present, please open a new feedback item on the document so we can prioritize correctly.
#please-close

Why don't you close old documentation with the same amount of jest as you close incomplete issues.

Microsoft's Motto: Docs are for todos only. 🎉


[IE] brackets-paste-and-indent throws in IE, fails to load

[Extension] failed to load /src/extensions/default/brackets-paste-and-indent - TypeError: Unable to get property 'split' of undefined or null reference
TypeError: Unable to get property 'split' of undefined or null reference
   at deprecationWarning (http://<IP_ADDRESS>:8080/src/utils/DeprecationWarning.js:85:13)
   at jQuery.fn.init (http://<IP_ADDRESS>:8080/src/brackets.js:460:17)
   at n (http://<IP_ADDRESS>:8080/src/thirdparty/jquery-2.1.3.min.js:2:398)
   at Anonymous function (http://<IP_ADDRESS>:8080/src/extensions/default/brackets-paste-and-indent/main.js:28:5)
   at context.execCb (http://<IP_ADDRESS>:8080/src/thirdparty/requirejs/require.js:1658:17)
   at Module.prototype.check (http://<IP_ADDRESS>:8080/src/thirdparty/requirejs/require.js:869:37)
   at Module.prototype.enable (http://<IP_ADDRESS>:8080/src/thirdparty/requirejs/require.js:1151:17)
   at Module.prototype.init (http://<IP_ADDRESS>:8080/src/thirdparty/requirejs/require.js:782:21)
   at callGetModule (http://<IP_ADDRESS>:8080/src/thirdparty/requirejs/require.js:1178:17)
   at context.completeLoad (http://<IP_ADDRESS>:8080/src/thirdparty/requirejs/require.js:1552:21)

This is a bug upstream, for which I've done a PR: https://github.com/adobe/brackets/pull/11124

@gideonthomas I suspect I'm not going to get a fast reply to this upstream fix.  Can you please review it, and we can take it here in the meantime.

@humphd sure, do you want to do a pr here?

nvm r+ for the PR adobe#11124

I've landed this in bramble locally, I'm going to close here.

@humphd I have merged the PR in brackets. Thanks :)


Sending JSON Data

Hi, I'm a little bit confused with this module. When I'm using the request module it is working but when using the same options to send data to my api it isn't working. I'm using the options form to send my json data to the api but when I'm doing so with hyperquest module it isn't working since it doesn't interpret correctly if there is a js object inside of the data like {"test":{"test2":"ok"},"error":"try"} I'm getting on the php api an associative array looking like ["test"]="{"test2":"ok"}" and not ["test"]["test2"]="ok" like with request module how is that possible ?

I was just wondering the same thing and since I got it working (and the documentation does not really say much about it), I thought I'll add what I found here: So, instead of passing the body to the hyperquest call, you need to pipe it to the request (which makes sense in the context of this module I guess) and also specify the correct Content-Type header like this:
const req = hyperquest.post(
  someUrl,
  {headers: {'Content-Type': 'application/json'}}
)
const body = new stream.Readable()
body.pipe(req)
body.push(JSON.stringify(somePayload))
body.push(null)


Boolean logic syntax for search engine to research combined features, and information about combined...

Boolean logic syntax for search engine to research combined features, and information about combined features.
Example:
"border-image [AND] linear-gradient" shall result both specifications and hint, if they work in combination and on what browser.

This issue was imported from Google Moderator
Moderator votes: +3
Issue added by Domi on 2011-09-21
To vote this issue up or down, simply include +1 or -1 in your comment.

This needs the "Site functionality" label.


Is there a way to make so this can use the local microphone that docker is running on?

^

@NonaSuomy are you asking to use in the same machine, both the base rhasspy installation plus a docker with openwake word? The answer is yes, it is possible. Just follow the procedure explained but un the udp_ports use default as siteId.
For example, my configuration is:

OpenWakeWord:

   udp_ports:
      default: 12202  # Delete or change as needed

Docker compose:
  rhasspy:
  image: rhasspy/rhasspy
  container_name: rhasspy
  volumes:
      - $HOME/appdata/rhasspy/profiles:/profiles
      - /etc/localtime:/etc/localtime:ro
      - $HOME/ssl_certificates/:/profiles/cert
  ports:
      - 12101:12101
  devices:
      - /dev/snd:/dev/snd
  command: --user-profiles /profiles --profile es
  depends_on:
    - mosquitto #The external MQTT server
    - openwakeword
  restart: unless-stopped

  openwakeword:
  image: dalehumby/openwakeword-rhasspy
  container_name: openwakeword
  ports:
    - 12202:12202/udp
  volumes:
    - $HOME/appdata/rhasspy/openwakeword:/config
  devices:
    - /dev/snd:/dev/snd
  restart: unless-stopped

This build is no longer required as the official project already released the docker and addon etc.

NA


Replace os.rename with shutil.move for cross-device compatibility

If running MMT on a machine with multiple file systems, eg. could be
a mounted volume for the runtime directory, using os.rename causes
the ./mmt create command to fail with 'Invalid cross-device link'.
See: https://stackoverflow.com/questions/42392600/oserror-errno-18-invalid-cross-device-link
Sample error from my logs:
ERROR Unexpected exception: [Errno 18] Invalid cross-device link: '/opt/mmt/runtime/de_pt_engine/tmp/training/nn_model' -> '/opt/mmt/engines/de_pt_engine/models/decoder/de__pt'

If instead using shutil.move, same-device move operations will use
os.rename under the hood, whereas different devices are handled by
transparently using os.copy followed by os.remove, making sure
that invalid cross-device errors never occur no matter the file system
layout of the machine.

@davidecaroselli any chance of including this in a future version?


Typing in the distance boxes in select stars does not update the slider position

Typing a number in the distance box does not cause the slider to move. Several issues with that:

you can get one slider hidden behind another.
the program ignores the value you type and uses the slider position.

Open trips, don't plot
go to select
type 15 in the right hand box and tab to exit the box
press select -- after plotting press dismiss.
display shows a 20 LY selection

fixed


Front matter causes imports to fail

The presence of front-matter marks in my main SCSS file is causing my imports to fail. If I remove these lines, or comment them out, everything works as it should.
Jekyll 3.4 + Jekyll Assets 2.3.2.
---

---

@import "variables";
@import "grid";

body {
  line-height: 1.6;
  font-size: 18px;
}

h1, h2, h3 {
  line-height: 1.2;
}

.social ul {
  list-style-type: none;
  text-align: center;
 }

.social ul li {
  display: inline;
}

.social ul li a {
  text-decoration: none;
}

.rights {
  text-align: center;
}

This is desired and intentional behavior.  We have never supported Front-Matter and probably never will because there is no reason for it in our asset system (and technically there is no need for it in Jekyll's either since it could clearly designate a default asset folder that we could share.)

Yeah, it's the one exception in the documentation.


"apply: Selecting deleted buffer" when opening a magit buffer (with forge installed)

what behavior you expected
Magit should able to carry on and open the buffer if there's a forge issue.
what behavior you observed
Visitng a file in a git repository, then running magit-status yields an error.
and how we can reproduce the issue.
Not sure, see the next section for my environment information.  If I'm successful in reproducing in an easy-to-reproduce enviroment I'll follow up.
Environment
GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.34, cairo version 1.16.0)

emacs configuration https://github.com/winny-/emacs.d
nixos configuration https://gitlab.com/winny/nixos-configs (it's the stargate host)

backtrace
Debugger entered--Lisp error: (error "Selecting deleted buffer")
  #f(compiled-function (connection) "Return true if the end of the buffer has a properly-formatted prompt." #<bytecode -0xc1bb28134296ed9>)(#<forge-database forge-database-fe5f0e>)
  apply(#f(compiled-function (connection) "Return true if the end of the buffer has a properly-formatted prompt." #<bytecode -0xc1bb28134296ed9>) #<forge-database forge-database-fe5f0e> nil)
  emacsql-waiting-p(#<forge-database forge-database-fe5f0e>)
  #f(compiled-function (connection &optional timeout) "Block until CONNECTION is waiting for further input." #<bytecode -0x1a666b92c4a6ef10>)(#<forge-database forge-database-fe5f0e>)
  apply(#f(compiled-function (connection &optional timeout) "Block until CONNECTION is waiting for further input." #<bytecode -0x1a666b92c4a6ef10>) #<forge-database forge-database-fe5f0e> nil)
  emacsql-wait(#<forge-database forge-database-fe5f0e>)
  #f(compiled-function (#<forge-database forge-database-fe5f0e> (:file "/home/winston/.emacs.d/forge-database.sqlite"))
  apply(#f(compiled-function
  #f(compiled-function (&rest args) #<bytecode 0x24e89310fe0bc38>)(#<forge-database forge-database-fe5f0e> (:file "/home/winston/.emacs.d/forge-database.sqlite"))
  apply(#f(compiled-function (&rest args) #<bytecode 0x24e89310fe0bc38>) #<forge-database forge-database-fe5f0e> (:file "/home/winston/.emacs.d/forge-database.sqlite"))
  initialize-instance(#<forge-database forge-database-fe5f0e> (:file "/home/winston/.emacs.d/forge-database.sqlite"))
  #f(compiled-function (class &rest slots) "Default constructor for CLASS `eieio-default-superclass'.\nSLOTS are the initialization slots used by `initialize-instance'.\nThis static method is called when an object is constructed.\nIt allocates the vector used to represent an EIEIO object, and then\ncalls `initialize-instance' on that object." #<bytecode -0x1e7474630a623959>)(forge-database :file "/home/winston/.emacs.d/forge-database.sqlite")
  apply(#f(compiled-function (class &rest slots) "Default constructor for CLASS `eieio-default-superclass'.\nSLOTS are the initialization slots used by `initialize-instance'.\nThis static method is called when an object is constructed.\nIt allocates the vector used to represent an EIEIO object, and then\ncalls `initialize-instance' on that object." #<bytecode -0x1e7474630a623959>) forge-database (:file "/home/winston/.emacs.d/forge-database.sqlite"))
  make-instance(forge-database :file "/home/winston/.emacs.d/forge-database.sqlite")
  #f(compiled-function (class &optional variable file debug) #<bytecode 0x1c4ec0bcfc5a4e4f>)(forge-database forge--db-connection "/home/winston/.emacs.d/forge-database.sqlite" t)
  apply(#f(compiled-function (class &optional variable file debug) #<bytecode 0x1c4ec0bcfc5a4e4f>) forge-database (forge--db-connection "/home/winston/.emacs.d/forge-database.sqlite" t))
  closql-db(forge-database forge--db-connection "/home/winston/.emacs.d/forge-database.sqlite" t)
  forge-db()
  forge-sql([:select * :from repository :where (and (= forge $s1) (= owner $s2) (= name $s3))] "gitlab.com" "winny" "dotfiles")
  #f(compiled-function (&rest rest) "((host owner name) &optional remote demand)\n\nReturn the repository identified by HOST, OWNER and NAME." #<bytecode 0x1ca381fcf2cd580>)(("gitlab.com" "winny" "dotfiles") "origin" full)
  apply(#f(compiled-function (&rest rest) "((host owner name) &optional remote demand)\n\nReturn the repository identified by HOST, OWNER and NAME." #<bytecode 0x1ca381fcf2cd580>) ("gitlab.com" "winny" "dotfiles") ("origin" full))
  forge-get-repository(("gitlab.com" "winny" "dotfiles") "origin" full)
  #f(compiled-function (url &optional remote demand) "Return the repository at URL." #<bytecode -0x146129c3f134b01e>)("git@gitlab.com:winny/dotfiles.git" "origin" full)
  apply(#f(compiled-function (url &optional remote demand) "Return the repository at URL." #<bytecode -0x146129c3f134b01e>) "git@gitlab.com:winny/dotfiles.git" ("origin" full))
  forge-get-repository("git@gitlab.com:winny/dotfiles.git" "origin" full)
  #f(compiled-function (demand &optional remote) "Return the current forge repository.\n\nIf the `forge-buffer-repository' is non-nil, then return that.\nOtherwise if `forge-buffer-topic' is non-nil, then return the\nrepository for that.  Finally if both variables are nil, then\nreturn the forge repository corresponding to the current Git\nrepository, if any." #<bytecode 0x13b54082cfa1b5a5>)(full)
  apply(#f(compiled-function (demand &optional remote) "Return the current forge repository.\n\nIf the `forge-buffer-repository' is non-nil, then return that.\nOtherwise if `forge-buffer-topic' is non-nil, then return the\nrepository for that.  Finally if both variables are nil, then\nreturn the forge repository corresponding to the current Git\nrepository, if any." #<bytecode 0x13b54082cfa1b5a5>) full nil)
  forge-get-repository(full)
  forge-bug-reference-setup()
  run-hooks(change-major-mode-after-body-hook special-mode-hook magit-section-mode-hook magit-mode-hook magit-status-mode-hook)
  apply(run-hooks (change-major-mode-after-body-hook special-mode-hook magit-section-mode-hook magit-mode-hook magit-status-mode-hook))
  run-mode-hooks(magit-status-mode-hook)
  magit-status-mode()
  magit-setup-buffer-internal(magit-status-mode nil ((magit-buffer-diff-args ("--no-ext-diff")) (magit-buffer-diff-files nil) (magit-buffer-log-args ("-n256" "--decorate")) (magit-buffer-log-files nil)))
  magit-status-setup-buffer("~/p/dotfiles/.git/")
  magit-status(nil ((5 . 10) (("/home/winston/p/dotfiles/" "remote" "get-url" "origin") . "git@gitlab.com:winny/dotfiles.git") (("/home/winston/p/dotfiles/" . config) . #<hash-table equal 36/65 0xfe5a4d>) (("/home/winston/p/dotfiles/" . magit-toplevel) . "/home/winston/p/dotfiles/") (("/home/winston/p/dotfiles/" "rev-parse" "--show-cdup") . "") (("/home/winston/p/dotfiles/" "rev-parse" "--show-toplevel") . "/home/winston/p/dotfiles") (("~/p/dotfiles/.git/" . magit-toplevel) . "/home/winston/p/dotfiles/") (("/home/winston/p/dotfiles/.git/" "rev-parse" "--is-bare-repository") . "false\n") (("/home/winston/p/dotfiles/.git/" "rev-parse" "--git-dir") . ".") (("/home/winston/p/dotfiles/.git/" "rev-parse" "--show-toplevel"))))
  funcall-interactively(magit-status nil ((5 . 10) (("/home/winston/p/dotfiles/" "remote" "get-url" "origin") . "git@gitlab.com:winny/dotfiles.git") (("/home/winston/p/dotfiles/" . config) . #<hash-table equal 36/65 0xfe5a4d>) (("/home/winston/p/dotfiles/" . magit-toplevel) . "/home/winston/p/dotfiles/") (("/home/winston/p/dotfiles/" "rev-parse" "--show-cdup") . "") (("/home/winston/p/dotfiles/" "rev-parse" "--show-toplevel") . "/home/winston/p/dotfiles") (("~/p/dotfiles/.git/" . magit-toplevel) . "/home/winston/p/dotfiles/") (("/home/winston/p/dotfiles/.git/" "rev-parse" "--is-bare-repository") . "false\n") (("/home/winston/p/dotfiles/.git/" "rev-parse" "--git-dir") . ".") (("/home/winston/p/dotfiles/.git/" "rev-parse" "--show-toplevel"))))
  call-interactively(magit-status nil nil)
  command-execute(magit-status)

other issues with same error message (might be unrelated)

magit/forge#352
magit/forge#322

I just came across this using emacs HEAD (a06c13db9eee0487975177089b44198dd08206be) and saw some "Selecting deleted buffer" messages which led me to this bug. it does appear to be related to sqlite.
Emacs 28 (the version I can get easily from Debian) works without a problem.
My minimal init.el to reproduce this is:
(let ((bootstrap-file
        (expand-file-name "straight/repos/straight.el/bootstrap.el"
			    user-emacs-directory))
       (bootstrap-version 5)
       (straight-url (concat "https://raw.githubusercontent.com/raxod502/"
			                 "straight.el/develop/install.el")))
  (unless (file-exists-p bootstrap-file)
    (with-current-buffer
	    (url-retrieve-synchronously straight-url
				'silent 'inhibit-cookies)
      (goto-char (point-max))
      (eval-print-last-sexp)))
  (message (concat "got " bootstrap-file))
  (load bootstrap-file nil 'nomessage))
(declare-function straight-use-package (expand-file-name "~/.emacs.d/straight/repos/straight.el/straight.el"))
(straight-use-package 'use-package)

(use-package magit
  :bind (("C-x v d" . magit-status))
  :ensure t
  :init
  (fset 'vc-dir 'magit-status)
  :custom
  (magit-diff-refine-hunk t)
  (magit-diff-refine-ignore-whitespace t)
  ; maybe change to a numger if this is too heavy
  (magit-diff-adjust-tab-width t))

(use-package forge
  :straight t
  :after magit)

Bug report on the emacs side: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60872

Fixed. See https://github.com/magit/forge/issues/535#issuecomment-1387734805.


Agent mute button is stuck and wrongly showing unmute agent when agent is in a conference and silently monitored by a supervisor

When an agent is in conference and a supervisor starts silently monitoring the conference, the agent mute button is stuck and can't be toggled and even that it's showing the agent as unmuted, it's muted and can't be heard by any other participants.
Trying to toggle the button will return a success action but it's not doing anything. Video attached with agent logs
https://github.com/amazon-connect/amazon-connect-streams/assets/35161418/59f293ab-ab82-4d25-bb1d-948138b53813
agent-log (2).txt

Hi connect team -- this to me is a P1. Agents cannot be heard by customers and the agent does not know they are being monitored understand what's happening.

We're able to reproduce this issue from our end. Will need to sync across teams to do a deeper investigation. Will come back with an update when we find more details/potential fixes

We have a team that is aware of this issue and are actively working on a fix. They expect to have the changes rolled out to all regions by 07/31.
The issue is seen when silent monitoring is initiated on an agent who is already muted during a conference call.

Comment at https://github.com/andywang219 stated this would be resolved by 07/31 but was auto closed without any further comments prior to this. Has this issue been resolved?


vscode: undeclared dependency on cursorless?

Hi, so extension pack [pokey](https://github.com/pokey/vscode-talon) is required by [knausj_talon] for operation with vscode.  But  [knausj_talon] references an insertSnippet action:
https://github.com/knausj85/knausj_talon/blob/644d330be80bddfe7bfc314a15903185b3111cf7/apps/vscode/vscode.py#L247
which is not defined in [pokey](https://github.com/pokey/vscode-talon). Instead, it appears to my untrained eyes that this action is defined in cursorless-dev/cursorless/tree/main/src/actions
So, is the vscode part of this package https://marketplace.visualstudio.com/items?itemName=pokey.cursorless obligatory? If so, please update documentation perhaps?

That is a built-in VSCode command, which should work without Cursorless installed.  Is it not working for you?

Thanks for quick replay. So "snip show" works (for a Python file) and shows the language appropriate snippets.  But "snip if else" does not work. I debug by print (in vscode.py):
  def snippet_insert(text: str):
        """Inserts a snippet"""
        actions.user.vscode("editor.action.insertSnippet")
        actions.insert(text)
        actions.key("enter")
        print(f"snippet_insert {text}")

And indeed I see "if/else" printed as expected in the log consul. The vscode window also flickers at the top, that's all.  Now, if I do "snip hunt", then a pop-up textbox occurs with the text "select snippet" but there are no snippets to choose amongst. So it appears as if there are two snippet systems: one of vscode and one of Talon - but they don't know about each other.

There's a configure snippets command in vscode - it asks to define stuff in some python.json file. Should knausj auto-populate that?

Hmm.  I'm not sure which snippets those are supposed to be referring to.  Looks like the Talon list is defined here:
https://github.com/knausj85/knausj_talon/blob/3bf4882fa0a05b22171e59118bd7c9640aae753a/apps/vscode/snippets/python_snippets.py#L18-L19
@knausj85 were these snippet names supposed to refer to some standard list of snippets, or is the user expected to define them

Original issue resolved; opened #1070 to track Python VSCode snippet issues


image comparison not yet supported

Hi, Can we have image assertion and tap by image support in the next opentest version?
As findElementByImage and other apis are available in java-client 7 so we should be able to leverage that too.

Could silulix be and option to get this?


Docker runtime is not a constraint any more.

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Checklist:

[ ] Fixes #
[ ] Signed the commit for DCO check to be passed
[ ] Labelled this PR & related issue with documentation tag

Thank you @msrikantha-anuta. Could you add this change in the versioned doc here: https://github.com/litmuschaos/litmus-docs/blob/master/website/versioned_docs/version-1.13.8/disk-fill.md - this reflect in latest version of the doc


Verify multiple attestations

Attestor now accepts an array of AttestationTypes, checks allowlists of the specified attestationTypes and returns an array of signatures (or emails with a string representing multiple signatures).

I tested the code and made sure that adding new methods doesn't break the old methods

 Add multiple attestations for attestor/verify-ketl


Snyk: Add snyk file to ignore tests

Ignore test files in Snyk

Decided not to add this file for now


fix website GA config

Refs:

https://github.com/facebook/docusaurus/pull/5832

This PR moves the GA config to the preset to fix the degraded data issue.
CC @slorber

Whoa thank you @kelset and @Simek for tracking this down and fixing! Will monitor if this fixes, thank you guys again!

Note: we'll soon have to migrate all sites to Google Analytics 4, as former analytics are being shut down by Google in 2023
https://github.com/facebook/docusaurus/issues/7221
As the data can't be migrated from old to new analytics, it may be better to run old/new analytics together for this year, otherwise the transition will more brutal if you rely on analytics
I have no idea who manages the analytics accounts at Meta and how it's used 🤪 just wanted you to be aware @Simek @lunaleaps

Thanks for the heads up! I'll make an issue for this


Should we match 'Websites' and 'Allowances' naming

Currently there is the 'Websites' button on the NavBar and on the dropdown menu there is 'Allowances'. Both buttons take you to the same page so I think they should be named the same. Do people agree with this?

@johnsBeharry is this part of some copy writing brainstorming? :)
@MoritzKa ack for using "Websites" there, too?

I slightly prefer the "Allowances" in the nav bar more. For me as a user "websites" could be anything. And the main use case for clicking on it (in the pop up) would be to change or check my existing allowances.
On the other side a user doesn't have an allowance for every website. Also, if I am on the Alby fullscreen then the use case might be different. I would rather like to have an overview of websites that I visited. Therefore "websites" would fit better.
Maybe in the future we have two pages: active allowances and just websites (or a filter).

These are good points @MoritzKa, I thought it would be easy to pick one or the other but you make a good case for both here haha.
Could even use something like 'Connections' or 'Permissions' as well...but I do think Websites is the most obvious for now.

PR #397 if we agree on the naming for this.

Closed with #397


security(SR-5): Add SSRF protection to portal

Introduction
Fix for SR-5. Portal need SSRF protection
Resolution

added function to check if mongoId is valid
Added it to api file in portal which had ids which were constructed such as getDeal
Added tests

There's an endpoint in companies-house-api.js that will also need protecting


Upgrading from 12.0.0 to 12.1.0 cause 'Error [ERR_REQUIRE_ESM]: require() of ES Module ..... \resolveProjectList.js not supported'

After upgrading from "@nuxtjs/eslint-config-typescript": "12.0.0" to "@nuxtjs/eslint-config-typescript": "12.1.0" I'm facing an error during the linting, breaking ESLint:

Error [ERR_REQUIRE_ESM]: require() of ES Module D:\Projects\studiomado\backoffice\node_modules\globby\index.js from D:\Projects\studiomado\backoffice\node_modules<EMAIL_ADDRESS>not supported. Instead change the require of index.js in D:\Projects\studiomado\backoffice\node_modules<EMAIL_ADDRESS>to a dynamic import() which is available in all CommonJS modules

We temporarily closed this due to the lack of enough information. We could not identify whether it was a bug or a userland misconfiguration with the given info.
Please provide a minimal reproduction to reopen the issue.
Thanks.

Why reproduction is required


Chunk Names Bug

I noticed this output under chunk names
           /js/team/index.js    3.66 kB       0  [emitted]  /js/team/index
                /css/app.css    0 bytes       0  [emitted]  /js/team/index
/css/vendor/querybuilder.css      17 kB       0  [emitted]  /js/team/index
           mix-manifest.json  146 bytes          [emitted]

I'm assuming the chunk names should be respective of their filenames, not the first one. I believe this is just an issue with css. Any combination I attempt, the last js chunk name is use for the css ones.

Can you paste your webpack.mix.js file?

With the commit that fixed #193, this seems to not be an issue.

Yeah, sorry, should have clarified that.
Sorry for the trouble, but thanks for the help!


ENH: update package version

Hi! This is the friendly automated conda-forge-webservice.
I've started a version update as instructed in #140.
I'm currently searching for new versions and will update this PR shortly if I find one! Thank you for waiting!
Fixes #140

@conda-forge-admin rerender


Upgrade to Gradle 7.6.2 and shared dependencies 3.14.0

@devchas , @AnashOommen , you may want to review the two commits separately.

Commit that upgrades Gradle to 7.6.2 has some automatically downloaded files from the upgrade process:

google-ads/build.gradle - REVIEW
gradle/wrapper/gradle-wrapper.jar - Automatically downloaded
gradle/wrapper/gradle-wrapper.properties - REVIEW
gradlew - Automatically downloaded
gradlew.bat - Automatically downloaded

Commit that upgrades to shared deps 3.14.0 has only manual edits:

buildSrc/src/main/groovy/com.google.api-ads.java-conventions.gradle - REVIEW
google-ads/build.gradle - REVIEW


Add Graphiql

express-graphql had a Graphiql. And that module is now deprecated. I want that feature in this module.

do any one one know alternative module ??? which contain graphiql?

You can install GraphiQL alongside graphql-http using a middleware in your server. As an example, here’s a GraphiQL distribution I wrote that’s easy to use like this: https://www.npmjs.com/package/ruru/v/2.0.0-alpha.6


Error calling GoTagAdd json

I'm sometimes getting this error:
E5108: Error executing lua ...l/share/nvim/lazy/gopher.nvim/lua/gopher/struct_tags.lua:62: bad argument #1 to 'concat' (table expected, got nil)
stack traceback:
        [C]: in function 'concat'
        ...l/share/nvim/lazy/gopher.nvim/lua/gopher/struct_tags.lua:62: in function 'modify'
        ...l/share/nvim/lazy/gopher.nvim/lua/gopher/struct_tags.lua:100: in function 'tags_add'
        [string ":lua"]:1: in main chunk

Restarting nvim and trying again helps somehow (I am able to add tags after that, so it's not about binaries not being installed).
Either I have something misconfigured, in which case the error message could be made more helpful, or there is a bug in the script.

You're not saving it with :w before running the command. Thus the error.
I wish this extension did autosave before everyrun.

Thank you @rew1nter, I don't think that I had noticed that this error could appear because of a non-saved file. I will implement pre-save for it


Changes Harm/Disarm icons

Screenshots

Changelog

:cl:

tweak: Changed Harm and Disarm icons.

IMO this makes it harder to discern inactive harm and inactive disarm

Yeah, although I don't see a way of fixing that while being somewhat consistent. It's also not an issue in practice IMO, since it's more about seeing when they are active in your peripheral vision. When you want to activate an action you'd look at it anyways or remember it by position I suppose.


Remove NetworkConfig dependecy from Server

Server was dependent on NetworkConfig in order to get the list of configurable endpoint. This dependency is already filled in the ServerContext.
Due the nature of the ServerContext class that is keep to keep the data away from the Server class, make all the sense to extend the ServerContext in order to provide access to the configurable endpoints.

I think that if IServer is injectable without problems, like now, we don't need more classes for his logic

In order to avoid circular references, the IServer cannot be injected everywhere.
Messages will be in a separated project than the Server and we cannot have those project reference the each other.

But the problem is that we need 5 or 6 class only for IServer ... if we did this things we will have 500 classes.
IServer should be injectable in MessageHandler and Prompt, and now can do it.

well ... we will came back to this topic in another time ...

no we will not have 5 or 6 ... and that is for sure....
like I said .. I will came to this topic another time


Copy for deleted works is misleading

Currently, we show the following copy if the catalogue API returns a 410 Gone for a work:

This is misleading, as deletions happen as the result of deliberate actions. Suggested new copy would be:

This work has been deleted from our public catalogue. If that doesn't seem right or isn't what you expected, email us at<EMAIL_ADDRESS>

See discussion: https://wellcome.slack.com/archives/C1PK7TS0L/p1698411659336029

In prod


patchset for enabling multi-client rtsp

List of changes:

added simple LinkedListElement
CStreamer now has multiple CRTSPSessions
CStreamer is created at setup
reversed broadcasting - streamer if has any active CRTSPSessions will stream to them
misc - added define for LCD_MESSAGE, so the function won't get generated when OLED is disabled

Testing setup:

[x] AiThinker ESP32-CAM, reduced the quality to QVGA

[x] ESP32 over WiFi -> Router -> LAN -> VLC 4x
[x] ESP32 over WiFi -> Router -> WiFi -> VLC on Android

Cool!
Can you get this to work remotely - so on browser from anywhere?
THx!
Phil


protobuf: add unit to metric family message

Add unit to metric family protobuf message. This is a dependency of https://github.com/prometheus/client_golang/pull/1392. cc @beorn7

Thank you very much. If you want to create yet another follow-up PR, you could wire up the unit support here. (You could look at the OpenMetrics parser to make sure it is done in the same way.)

Sure, I'll take care of that.


common/crypto/signature: Use a newer version of ECVRF

When I implemented ECVRF in curve25519-voi, the IETF draft was less than version 11.  As of version 11, after leaving things largely unchanged for years, they broke proof backward compatibility.

[ ] The next time we bump the curve25519-voi import, switch to using the v10 backward compatible proof/verify routines.
[ ] Whenever we can jettison beacon state (so a dump-restore hard fork) switch to using the v13 style proofs.

https://github.com/oasisprotocol/curve25519-voi/pull/114


fix(cli tool): Check for 0 byte dSYM file, and throw a warning if found

Goal
Due to an (unconfirmed) bug in Xcode (https://developer.apple.com/forums/thread/659187), 0 byte dSYMs can be generated by Xcode. These show up as filename.dSYM files rather than dirname.dSYM directories (which contain the DWARF data of interest, normally).
Design

Adds a check for whether each dSYM is a file (and additionally calculates its size if so for support purposes)
Prompts the user to run with --verbose if failures or warnings are presented.

Changeset

Main bugsnag-dsym-upload binary is modified to catch dSYM files, and throw warning.
Changed calls of Bundler.with_clean_env to Bundler.with_unbundled_env due to deprecation.

Further consideration

If not in verbose mode, the warnings won't be shown – should these be shown regardless of verbosity?
Should DWARF files without UUID also be considered warnings instead of failures?
Should dSYMS with missing DWARF files be considered warnings instead of failures?

Testing

Updated automated tests to throw examples of 0b dSYMs and show they're skipped without causing an error code to be thrown
Additionally added automated test for missing DWARF data dSYMs (these do throw errors, exit code 1)

CLI
Manually tested with 4 different dSYM folders:

dsym_test_ok: contains one dSYM with known acceptable DWARF data

$ ./bugsnag-dsym-upload --verbose --api-key 0c0ea7242a829310a625f599db2e5752 ./dsyms_test_ok
Uploading files to https://upload.bugsnag.com
Preparing to upload ./dsyms_test_ok/Bugsnag.framework.dSYM
Uploading UUID: E599CF69-D848-3ED2-9093-68A44234CFCF (armv7) ./dsyms_test_ok/Bugsnag.framework.dSYM/Contents/Resources/DWARF/Bugsnag UUID: 40112A5E-4A23-37EC-9A5D-95AF2C18AE39 (arm64) ./dsyms_test_ok/Bugsnag.framework.dSYM/Contents/Resources/DWARF/Bugsnag

1 file(s) uploaded successfully

Checking exit code of last command run (expecting 0):
echo $?
0

dsym_test_warning: contains one dSYM file that's 0 bytes

$ ./bugsnag-dsym-upload --verbose --api-key 0c0ea7242a829310a625f599db2e5752 ./dsyms_test_warning
Uploading files to https://upload.bugsnag.com
Preparing to upload ./dsyms_test_warning/REDACTED.framework.ios-x86_64-maccatalyst.dSYM
Skipping ./dsyms_test_warning/REDACTED.framework.ios-x86_64-maccatalyst.dSYM as it's is a file (0 bytes), not a directory with DWARF data
1 file(s) failed to upload with warnings
Re-run the bugsnag-dsym-upload tool with the --verbose option for more information

Checking exit code of last command run (expecting 0):
echo $?
0

dsym_test_error: contains one dSYM with DWARF data removed (manually deleted)

$ ./bugsnag-dsym-upload --verbose --api-key 0c0ea7242a829310a625f599db2e5752 ./dsyms_test_error
Uploading files to https://upload.bugsnag.com
Preparing to upload ./dsyms_test_error/bugsnag-example.app.dSYM
Skipping file without UUID: ./dsyms_test_error/bugsnag-example.app.dSYM/Contents/Resources/DWARF/*
1 file(s) failed to upload with errors
Re-run the bugsnag-dsym-upload tool with the --verbose option for more information

Checking exit code of last command run (expecting 1):
echo $?
1

dsym_test: contains 3 dSYMS from each of the directories above

$ ./bugsnag-dsym-upload --verbose --api-key 0c0ea7242a829310a625f599db2e5752 ./dsyms_test
Uploading files to https://upload.bugsnag.com
Preparing to upload ./dsyms_test/Bugsnag.framework.dSYM
Uploading UUID: E599CF69-D848-3ED2-9093-68A44234CFCF (armv7) ./dsyms_test/Bugsnag.framework.dSYM/Contents/Resources/DWARF/Bugsnag UUID: 40112A5E-4A23-37EC-9A5D-95AF2C18AE39 (arm64) ./dsyms_test/Bugsnag.framework.dSYM/Contents/Resources/DWARF/Bugsnag

Preparing to upload ./dsyms_test/REDACTED.framework.ios-x86_64-maccatalyst.dSYM
Skipping ./dsyms_test/REDACTED.framework.ios-x86_64-maccatalyst.dSYM as it's is a file (0 bytes), not a directory with DWARF data
Preparing to upload ./dsyms_test/bugsnag-example.app.dSYM
Skipping file without UUID: ./dsyms_test/bugsnag-example.app.dSYM/Contents/Resources/DWARF/*
1 file(s) uploaded successfully
1 file(s) failed to upload with warnings
1 file(s) failed to upload with errors
Re-run the bugsnag-dsym-upload tool with the --verbose option for more information

Checking exit code of last command run  (expecting 1):
echo $?
1

Fastlane
This change affects Fastlane as the exit code is being manipulated. Using the same directories as above, and pointing the Fastfile to each directory independently:

dsym_test_ok: contains one dSYM with known acceptable DWARF data

$ bundle exec fastlane ios release --verbose
...
DEBUG [2021-04-06 15:41:45.63]: Uploading dSYMs to Bugsnag with the following parameters:
DEBUG [2021-04-06 15:41:45.63]:              api_key: 0c0ea7242a829310a625f599db2e5752
DEBUG [2021-04-06 15:41:45.63]:            dsym_path: ["./dsyms_test_ok"]
...
Uploading files to https://upload.bugsnag.com
Preparing to upload ./dsyms_test_ok/Bugsnag.framework.dSYM
Uploading UUID: E599CF69-D848-3ED2-9093-68A44234CFCF (armv7) ./dsyms_test_ok/Bugsnag.framework.dSYM/Contents/Resources/DWARF/Bugsnag UUID: 40112A5E-4A23-37EC-9A5D-95AF2C18AE39 (arm64) ./dsyms_test_ok/Bugsnag.framework.dSYM/Contents/Resources/DWARF/Bugsnag

1 file(s) uploaded successfully
INFO [2021-04-06 15:41:48.21]: Uploaded dSYMs in ./dsyms_test_ok
...
INFO [2021-04-06 15:41:48.21]: fastlane.tools finished successfully 🎉
DEBUG [2021-04-06 15:41:48.21]: All plugins are up to date

dsym_test_warning: contains one dSYM file that's 0 bytes

$ bundle exec fastlane ios release --verbose
...
DEBUG [2021-04-06 15:43:57.28]: Uploading dSYMs to Bugsnag with the following parameters:
DEBUG [2021-04-06 15:43:57.28]:              api_key: 0c0ea7242a829310a625f599db2e5752
DEBUG [2021-04-06 15:43:57.28]:            dsym_path: ["./dsyms_test_warning"]
...
Uploading files to https://upload.bugsnag.com
Preparing to upload ./dsyms_test_warning/REDACTED.framework.ios-x86_64-maccatalyst.dSYM
[WARNING] Skipping ./dsyms_test_warning/REDACTED.framework.ios-x86_64-maccatalyst.dSYM as it's is a file (0 bytes), not a directory with DWARF data
1 file(s) failed to upload with warnings
Re-run the bugsnag-dsym-upload tool with the --verbose option for more information
...
INFO [2021-04-06 15:43:57.30]: fastlane.tools finished successfully 🎉

dsym_test_error: contains one dSYM with DWARF data removed (manually deleted)

$ bundle exec fastlane ios release --verbose
...
DEBUG [2021-04-06 15:47:12.39]: Uploading dSYMs to Bugsnag with the following parameters:
DEBUG [2021-04-06 15:47:12.39]:              api_key: 0c0ea7242a829310a625f599db2e5752
DEBUG [2021-04-06 15:47:12.39]:            dsym_path: ["./dsyms_test_error"]
...
Uploading files to https://upload.bugsnag.com
Preparing to upload ./dsyms_test_error/bugsnag-example.app.dSYM
[ERROR] Skipping file without UUID: ./dsyms_test_error/bugsnag-example.app.dSYM/Contents/Resources/DWARF/*
1 file(s) failed to upload with errors
Re-run the bugsnag-dsym-upload tool with the --verbose option for more information
...
ERROR [2021-04-06 15:47:12.41]: Failed uploading ./dsyms_test_error
...
FastlaneCore::Interface::FastlaneError: [!] Failed uploading ./dsyms_test_error

dsym_test: contains 3 dSYMS from each of the directories above

$ bundle exec fastlane ios release --verbose
...
DEBUG [2021-04-06 15:50:34.36]: Uploading dSYMs to Bugsnag with the following parameters:
DEBUG [2021-04-06 15:50:34.36]:              api_key: 0c0ea7242a829310a625f599db2e5752
DEBUG [2021-04-06 15:50:34.36]:            dsym_path: ["./dsyms_test"]
...
Uploading files to https://upload.bugsnag.com
Preparing to upload ./dsyms_test/Bugsnag.framework.dSYM
Uploading UUID: E599CF69-D848-3ED2-9093-68A44234CFCF (armv7) ./dsyms_test/Bugsnag.framework.dSYM/Contents/Resources/DWARF/Bugsnag UUID: 40112A5E-4A23-37EC-9A5D-95AF2C18AE39 (arm64) ./dsyms_test/Bugsnag.framework.dSYM/Contents/Resources/DWARF/Bugsnag

Preparing to upload ./dsyms_test/REDACTED.framework.ios-x86_64-maccatalyst.dSYM
[WARNING] Skipping ./dsyms_test/REDACTED.framework.ios-x86_64-maccatalyst.dSYM as it's is a file (0 bytes), not a directory with DWARF data
Preparing to upload ./dsyms_test/bugsnag-example.app.dSYM
[ERROR] Skipping file without UUID: ./dsyms_test/bugsnag-example.app.dSYM/Contents/Resources/DWARF/*
1 file(s) uploaded successfully
1 file(s) failed to upload with warnings
1 file(s) failed to upload with errors
Re-run the bugsnag-dsym-upload tool with the --verbose option for more information
...
FastlaneCore::Interface::FastlaneError: [!] Failed uploading ./dsyms_test

Closing PR to perform changes, and then re-PR with all changes on one branch for consistency.


Feature Request - Deal_stage modeling

This will be added to the next release of Hubspot:
Model DEAL_STAGE (which has History Mode) in both Hubspot source & transformation packages.

@fivetran-kristin any idea when the next release is planned?

@Spince thanks for the ping here. We're actually in the middle of a 2-week package maintenance sprint and this is on our list.
I do have a question for you -- What deal_stage related metrics do you want to see in the transform package?

@fivetran-kristin thank you! our analysts are giving this some thought (and familiarizing themselves with the existing transformed models as they're new for us). should have a response by EOD tomorrow

Hi @fivetran-kristin - following up on the last comment by @Spince. Please see the wishlist of fields for DEAL_STAGE:
deal_stage_id
deal_stage_name
deal_pipeline_id
deal_pipeline_name
company_id
company_name
timestamp: entering the specific stage_id
timestamp: exiting/moving to different stage_id
stageisactive
piplineisactive
deal_owner_id
deal_owner_name
I have a question though. What is the main differentiator between DEAL_HISTORY vs DEAL_STAGE?

@fivetran-kristin - would it be helpful if a create an issue to add deal_stages model on the dbt_hubspot_source repo as well? or is that just duplicative?

Hi @kaufmannie I am currently working on adding some Service Hub staging models to the source package so I can easily include the deal_stage model as well to work with this release!
@raphshin Thank you for your wishlist! I'll work on getting these integrated soon. Stay tuned for another message from me when I have a working branch so you may test it out before release if you would like to provide additional feedback.

Hi @kaufmannie , @raphshin , and @Spince!
Good news, we were able to complete the working branch with the deal_stage updates you requested for both the source and transform packages. If you have time we would greatly appreciate your feedback and input on these changes prior to us merging and releasing the new version. You may update the hubspot dependency within your packages.yml to the below config:
packages:
  - git: https://github.com/fivetran/dbt_hubspot_source.git
    revision: deal_stage-updates
    warn-unpinned: false

A few things to point out is the source package included other updates as well to allow for pass through fields with more flexibility on the end user side. I would recommend taking a look at the documentation updates prior to executing the models.
Additionally, we discovered within Issue #35 that deal to company is a 1:n relationship and can fan out the data if those relationships exists. Therefore we decided to leave the company details in your wishlist out of the final model as it could cause schema test failures for other users. You can easily still join the company data to the deal_stage data if you would like in a separate query.
Let me know what your feedback is and how the package updates look. Thanks!

Hi @kaufmannie , @raphshin , and @Spince
We have since merged the changes from PR #37 to master and cut a new v0.3.2 release of the dbt_hubspot package. You should see this new release live on the dbt hub most likely by Monday!
With the addition of the hubspot__deal_stages model, this Issue can be closed. If you have additional questions related to this Issue please feel free to reopen the issue and continue the conversation. If you have any other questions or requests for this package, please feel free to open a new Issue. Thank you!


Hound + Selenium/Firefox does not work with find_element

When running Hound with Selenium, using Firefox as browser, find_element and related functions do not work. Hound has problems parsing the return value if the element is found.
For instance, you get errors like this:
** (Hound.Error) could not get element {:name, "new-message-field"}: %{"element-6066-11e4-a52e-4f735466cecf" => "d53bc0d4-3aed-4739-931a-1f278cab5d86"}
    (hound) lib/hound/helpers/page.ex:53: Hound.Helpers.Page.find_element/3

Firefox version 63.0.3 (64-bit), Selenium server version: 3.14.0, revision: aacccce0.

I have no idea what that means. Wrong project?

No, not at all. Switching to driver: "selenium", browser: "chrome" makes the same code work fine.

Yes, you are right, apologies!