Autocommit=False is not respected within context manager

Environment

Windows Server 2016 64-bit
Python 3.8 64-bit
pyodbc 4.0.27
SQL Server 10.0.6556.0
driver: "SQL Server"

Issue
I am connecting to the database with autocommit=False then creating cursors inside functions like this:
with db_conn.cursor() as crsr: ...
When running these functions and I don't explicitly either crsr.rollback() or crsr.commit(), the transaction is committed to the database.
Printing f"{db_conn.autocommit=}" shows it is in fact False inside the with block.
As I read the documentation it should automatically send a rollback. What am I doing wrong?

Are you using a context manager (with block) when working with the cursors? If so, then that would explain the behaviour. See also #43

I realize that an explicit commit is needed to commit, but I was of the impression that an explicit rollback would not be required. Context manager or not.
Doing an explicit rollback is fine, but the docs don't seem to agree with this.
My current app is getting big, but I'll try to make a simpler one to test this. Either way I'll get rid of the context managers.

Well, this is surprising to me too as I do this all the time, though without the with clause.
def fun():
    cnxn = db.connect()
    cursor = cnxn.cursor()
    cursor.execute("delete from x")
    raise SystemExit('testing')

In code like this, the delete is rolled back because cursor and cnxn and cursor both have reference counts that drop to zero.  (The internals are careful to make sure the references only go one way to allow this.)
Perhaps the context is keeping a reference and the rollback just hasn't happened yet?  Or is it really commited?

@mkleehammer - The description at
https://github.com/mkleehammer/pyodbc/wiki/Connection#connection-objects-and-the-python-context-manager-syntax
seems to suggest that an implicit commit will happen if no errors occur.

@mkleehammer, the transaction is very much committed, because I'm checking it in SQL Management Studio.
I am setting up the connection as a global, then using that in every function. I would expect an implicit rollback when the function is finished, but I'm seeing the opposite. Perhaps it works if I also set up the connection in every function, or some sort of connection pooling class is preferred? I am doing lots of small queries and updates so creating a new connection every time would be less than ideal.

@maedox - On Windows, the ODBC driver manager supports connection pooling and it is enabled by default for Microsoft's ODBC drivers for SQL Server. So, using short-lived connections with limited scope may not be as bad as you think it is.

You can get an ODBC trace to see if it is actually pyODBC issuing commits, or perhaps something with the driver.
Note that the SQL Server ODBC driver is very old (I believe it originates from SQL 6.x/7.x), you could see if the same behaviour occurs with the latest ODBC Driver 17 for SQL Server: https://www.microsoft.com/en-us/download/details.aspx?id=56567

Apologies. My earlier comment re: the wiki entry was confusing the two cases:

context manager on a Connection object
context manager on a Cursor of an existing Connection object

1. context manager on a Connection object
This code ...
print(f'driver: {cnxn.getinfo(pyodbc.SQL_DRIVER_NAME)}, version: {cnxn.getinfo(pyodbc.SQL_DRIVER_VER)}')
# driver: msodbcsql17.dll version 17.04.0001

print(f'server: {cnxn.getinfo(pyodbc.SQL_DBMS_NAME)}, version: {cnxn.getinfo(pyodbc.SQL_DBMS_VER)}')
# server: Microsoft SQL Server, version: 14.00.2027

print(cnxn.autocommit)  # False

with cnxn.cursor() as crsr:
    sql = "INSERT INTO issue643 (txt) VALUES (?)"
    crsr.execute(sql, datetime.datetime.now())
    print('exit "with" without commit() ...')

... causes pyodbc to call SQLEndTran twice
with.LOG:513
main            1f78-1144   EXIT  SQLEndTran  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  2 <SQL_HANDLE_DBC>
        SQLHANDLE           0x008077E8
        SQLSMALLINT                  0

with.LOG:539
main            1f78-1144   EXIT  SQLEndTran  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  2 <SQL_HANDLE_DBC>
        SQLHANDLE           0x008077E8
        SQLSMALLINT                  1

with.LOG
... and the change IS committed.
2. context manager on a Cursor of an existing Connection object
Replacing the with block with the following ...
crsr = cnxn.cursor()
sql = "INSERT INTO issue643 (txt) VALUES (?)"
crsr.execute(sql, datetime.datetime.now())
print('closing cursor without commit() ...')
crsr.close()

... causes pyodbc to only call SQLEndTran once ...
without.LOG:529
main            1cac-10bc   EXIT  SQLEndTran  with return code 0 (SQL_SUCCESS)
        SQLSMALLINT                  2 <SQL_HANDLE_DBC>
        SQLHANDLE           0x012577E8
        SQLSMALLINT                  1

without.LOG
... and the change is NOT committed.

@maedox As you have observed, the pyodbc context managers do force a commit even when autocommit is False, and yes, that is somewhat counter-intuitive (although this behaviour appears to be the way other python ODBC modules operate, see #43 for examples).  This is why I personally don't use pyodbc context managers.  If I need them, I write my own.

The fact that the context manager way behaves differently is very confusing. This is a bug in my opinion. At least a docs bug.
@gordthompson, thank you for your thorough testing. So I'm not crazy! 😄
I have installed the latest ODBC driver and am not taking any chances. I like to be explicit anyway, so I got rid of the context manager and create a new connection and cursor in any function dealing with them.
So far so good.

Wiki entries for connections and cursors have been updated here  and here.  Hopefully this clarifies the context managers.

The way the context manager behaves makes it very difficult to make sure data isn't persisted between test runs.
We have it setup to roll back changes when tests are cleaned up, but if anywhere in our code uses with connection.cursor() as cursor: then all of our fixtures get persisted.

@alexlambson  The built-in context managers for connections and cursors have very specific behaviours.  If that is not the behaviour you need (and it often isn't) then you can always build your own.  For example:
https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager
I do this regularly.


Browserify Failed!: 'import' and 'export' may appear only with 'sourceType: module'

elixir(function(mix) {
    mix
        .sass('admin/app.scss', 'src/public/admin/css/app.css')
        .browserify('admin/app.js', 'src/public/admin/js/bundle.js')
});

apps.js contains:
// Bootstrap
'accordion': require('vue-strap').accordion,
'datepicker': require('vue-strap').datepicker,
'modal': require('vue-strap').modal,
'panel': require('vue-strap').panel,

I am just calling the above with elixir 3.3.3 and receiving the error:
[20:02:31] gulp-notify: [Laravel Elixir] Browserify Failed!: 'import' and 'export' may appear only with 'sourceType: module'

Any pointers would be much appreciated as there is little to no info regarding this specific integration. I tried solutions to similar issues to no avail.
Apologies if this is better suited as an issue with Elixir.
Thanks.

@andrewdavidcostello
You may need a vueify and[babel  to compile .vue files.

I use vueify and I get the same error when using vue-strap. Will I need to pipe it through babel first?

I may have to ditch elixir as there is little documentation on using the two together (Elixir + Babel). Having limited knowledge of the above will give it a go.
@xKairu If you get it working let me know, good to know (in a way) that it isn't an isolated issue.

I got this working with browserify by simply using window.Vuestrap instead for now and requiring the minified js file.
Hopefully figure out a way to get it working properly down the line.

I'm working on this issue. Maybe tomorrow this issue will be solved.

It's working great so far using the above method but if you have it done soon even better. Thanks for sorting.

+1 same problem, did what @andrewdavidcostello did.

+1 same problem, did what @andrewdavidcostello did.

@matisoffn are you on vue-strap 1.0.3 ? we changed the main to point to the dist/ version, which was the original cause of this issue (I believe).

@amanpatel is this issue the reason why main points to dist version?
I came across this issue recently, I traced the problem to https://github.com/babel/babelify/issues/103 which suggested  https://github.com/substack/node-browserify#browserifytransform
After adding browserify transform (you can see my code in PR #156 ), it works but as main points to dist version so I need to write require('vue-strap/src/index.js') instead of require('vue-strap')
So, is there any other reason for keeping main as it is?


Git tab not working in ubuntu x86

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Build the last version b930ad122520cdb8fef8a15766d54a93a8f38b12 and 1.22-releases's branch  for my ubuntu 16.04 x86 without any error (fresh install of ubuntu & git this morning) And i can't Use the git tab ... As you can see in the screenshot below, git gutter is ok, file's color are ok, but git tab think it's not a repo ...
Steps to Reproduce

Build the last version b930ad122520cdb8fef8a15766d54a93a8f38b12 or 1.22-releases's branch on x86 linux
Open atom in a git repo
Enjoy ?

Expected behavior: Git tabs should show us edited / added files
Actual behavior: Ask me to git init my project
Reproduces how often: Everytime i'm using atom in this system
Versions
Fresh install of x86 ubuntu, up to date.
$> apm --version
apm  1.18.8
npm  3.10.10
node 6.9.5 ia32
python 2.7.12
git 2.7.4

$> atom --version
Atom    : 1.22.2
Electron: 1.6.15
Chrome  : 56.0.2924.87
Node    : 7.4.0

Additional Information

Thanks for creating an issue @storm1er.  Can you please reopen this on the atom/github repository instead?  Thanks!

It's done https://github.com/atom/github/issues/1265 Sorry about this mistake.


Also format csx files

closes 1141

Merging so I can get 0.27.1 out shortly. The searching by . may be slow, but I didn't see a way to search for globs. And I assume two searches for different searchPatterns would be slower than ..
There will be more extensions to search for if I ever find time to get back to the csproj branch.


authentication failed: not authorized but can access to :8080/api

I can access to https://localhost:8080/api but when i "try it out!" for exemple GET /api/application
I have "error": "authentication failed: not authorized",
"code": 16
Everything in https://localhost:8080/ is ok
I look into this issues #41, but it didn't fix
maybe it's because  grpc.WithPerRPCCredentials method is in the wrong place (i write in google.golang.org/grpc/clientconn.go)

You need to generate a JWT token and fill this in the JWT token field (right top corner). See also https://docs.loraserver.io/lora-app-server/api/#authentication-and-authorization.

Yes I already do this :
I generate a token, I put the secret in /etc/default/lora-app-server (JWT_SECRET) and i fill the jwt token in the token field.

Could you try the /api/internal/login endpoint to generate a JWT token? For that token no authentication is needed. After posting your credentials it should give you a JWT token. Then you're able to compare it with the token that you generated yourself.

ok it works !
Thanks for your answer, you do a great job

HI,
i have followed the instruction but doesn't work.
The browser respond: "fetching resource list: undefined; Please wait."

Hello @geppoleppo with me happened the same thing.
But like @brocaar had said, try to generate the JWT token in /api/internal/login with your password and login:

then update to your folder in your machine at /etc/default/lora-app-server

Just copy in "JWT token field (right top corner)". DO NOT PRESS ENTER!!!
And just let the token there, and run the commands on api!


Fix Beats agents start/restart behaviour

In certain occasions (described below and/or in comments), beats agents are not started/restarted when nodes are provisioned.

This is useful in the scenario where role clusterverse/config fails, in this case both Filebeat and Metricbeat won't start up.


Failed simulation: Media.Examples.SolveOneNonlinearEquation.InverseIncompressible_sh_T

Reported by otter on 5 Sep 2010 19:27 UTC
The simulation of
Modelica.Media.Examples.SolveOneNonlinearEquation.InverseIncompressible_sh_T

fails with the error message:
The following error was detected at time: 0
The arguments x_min and x_max to OneNonLinearEquation.solve(..)
do not bracket the root of the single non-linear equation:
  x_min  = 243.15
  x_max  = 373.15
  y_zero = -105128
  fa = f(x_min) - y_zero = 1.89175e-010
  fb = f(x_max) - y_zero = 477465
fa and fb must have opposite sign which is not the case
The stack of functions is:
Internal.solve_Unique'"1D70C760"'
Modelica.Media.Incompressible.Examples.Glycol47.T_ph_Unique'"15E3A440"'(p, h1)
Error: Failed to start model.

MSL3.2 Beta 1 should be released tomorrow (Mo.). If any possible, this bug should be fixed before the release.

Migrated-From: https://trac.modelica.org/Modelica/ticket/401

Comment by hubertus on 5 Sep 2010 21:25 UTC
I can not reproduce the problem with the Dymola version that I am running (7.4 later edition, 2010-03-23 inStream). This seems to be a regression in the latest version of Dymola that you are running and thus should be fixed by Dynasim.

Comment by otter on 6 Sep 2010 12:55 UTC
This has been fixed in 42f8091ae698e42b2b0662da6e670f30b1235f4d:
Besides a minor issue in Dymola (that is irrelant here), the problem is that computing the solution directly at the boundary will not give a valid interval for the solution. Here is a more detailed explanation given in the svn:
Improved Modelica.Media.Common.OneNonLinearEquation:
This scalar non-linear solver is used in about 10 media functions in MSL to
invert non-linear relationships. For example if the independent variable is
T, then the characteristic h(T) is provided from T_min ... T_max.
The non-linear equation is then used to compute T=h_inv(h).
The trouble is if T=h_inv(h_min) or T=h_inv(h_max) is called, where
h_min = h(T_min), h_max = h(T_max). Then, the non-linear equation solver will
fail, because the root is not "bracketed" (or depends on numerica noise).
This is fixed by widening the interval a bit in OneNonLinearEquation:
x_min -> x_min - x_eps  // x_eps = 1e-8
x_max -> x_max + x_eps
By this, h_inv(h_min) can be solved, because the given interval is
T_min - x_eps .. T_max + x_eps and T_min is within this interval

Modified by otter on 20 Dec 2016 13:30 UTC

Changelog removed by otter on 20 Dec 2016 13:30 UTC


[add][cms] 注目ワードパーツ

Coverage decreased (-84.04%) to 0.0% when pulling 40899c006a593d42553efb9e7c6113aa409bd390 on pr-site_search_keyword into bc9ff65df933f1aa2243e407dadf8cfffea9c824 on master.


Format endpoint properties - Fix #2199

Fixes #2199
Related PRs
#2598
#2597

Was this tested locally? Tables don't always render properly so just checking.


Clarificatoiin on using Promise with quickfix api

I am trying to right a quickfix which would search for files in the project and insert filename.
I am using parent.getRelativePathsInProject(), this returns a promise. I am unable to build this quickfix.
how do i convert this call to a sync call instead of async?

I've needed to do something similar ... I just ended up copying code from projectService. In your case you should be able to just use :
import {getExternalModuleNames } from "./modules/getExternalModules";

which is the heart of getRelativePathsInProject.
I'd be happy to review your code if you want :rose:

I need to search for files and not just external modules. I can make it work for me by changing all the promise chain. breaking all other quick fix.
some other ways:

expose projectService on parent and then use is internally for all the sync calls, still need to make sync version of getRelativePathsInProject (quickly possible to clone the function and not resolve, update base function to resolve return value of sync version.

inject projectService in constructor of my quickFix, still need to clone the getRelativePathsInProject  function as explained in above option

i am leaning towards option 2; will post code shortly

this code is going to run in the worker right?

it should be, uploading in a min

just pushed at https://github.com/gautamsi/atom-typescript/commit/7c4ec9f52a16270283a8254f3c2df606efcc5123
let me know if this has any complication of running code outside of worker.
next Wish: can we allow multiple fix provided by single quick fix.
in above example the fix fail if the cursor symbol does not match the file name, i can have this fix provide multiple filename option and then also fix cursor text itself.

Your stuff is merged in :rose:

I can have this fix provide multiple filename option and then also fix cursor text itself.

Yes you can return multiple refactorings, its an array for a reason ;). I just need to do a small fix to sort whatever you send : https://github.com/TypeStrong/atom-typescript/blob/master/lib/main/lang/fixmyts/quickFix.ts#L55-L56 so that we apply the fix correctly in the editor < if this confuses you ... don't worry :rose ... just assume yes.

if this confuses you

Basically we need to make changes starting at the bottom so that edits don't effect locations of other edits ;)

let me know if this has any complication of running code outside of worker.

minor note: can't use atom global in worker :heart:

I can have this fix provide multiple filename option and then also fix cursor text itself.

I'm working on this myself right now. Thanks for an awesome quickfix ... I actually needed this myself quite commonly :rose:

how about adding another field in refactoring named error, if this is not null, show error using atom in command bindings else go ahead with the refactoring.

how about adding another field in refactoring named error

Such errors should be detected in the canProvideFix. If there is a suspicion of an error then the quick fix should not be offered. That's just how I've designed it in its current state but am open to expansion if it doesn't offer any flexibility that is needed.


Add training torchdataset

We need a torch dataset, that loads premade batches.
This could live in PVnet, but I think it makes sense to live in this repo
The idea is to create a troch dataset that loads netcdf samples in, and change them to torch tensor, ready to be used by PVNet
Credit to @Sukh-P for this suggestion
class NetCDFPremadeSamplesDataset(Dataset):
    """Dataset to load NumpyBatch samples"""

    def __init__(self, sample_dir):
        """Dataset to load NumpyBatch samples

        Args:
            sample_dir: Path to the directory of pre-saved samples.
        """
        self.sample_paths = glob(f"{sample_dir}/*.nc")

    def __len__(self):
        return len(self.sample_paths)

    def __getitem__(self, idx):
        ds = xr.open_dataset(self.sample_paths[idx])
        return self.convert_to_numpy_batch(ds)

    def convert_to_numpy_batch(ds: xr.Dataset) -> NumpyBatch:
        da_dict = uncombine_from_single_dataset(ds) # this function is from ocf_datapipes
        numpy_batch = dict_of_arrays_to_numpy_batch(da_dict) # this function would need to be added in ocf-data-sampler, it would look similar to the process and combine except it would not need the normalisation steps
        return numpy_batch

And then in PVnet, we would have to update it to something like this
def _get_premade_samples_dataset(self, subdir) -> Dataset:
        split_dir = f"{self.sample_dir}/{subdir}"
        return NumpybatchPremadeSamplesDataset(split_dir)

Would be good here, to also add datetime features.

I'm not sure if we need this/if it makes sense to go here. We proposed to make batch (sample) classes in #71. These classes should implement .save(), .load() and .to_numpy() methods.
Then in PVNet all we need is something like
class PresavedSamplesDataset(Dataset):

    def __init__(self, sample_dir, sample_class: SampleAbstractClass):
        """Dataset to load samples from

        Args:
            sample_dir: Path to the directory of pre-saved samples.
        """
        self.sample_paths = glob(f"{sample_dir}/*")

    def __len__(self):
        return len(self.sample_paths)

    def __getitem__(self, idx):
        sample = SampleAbstractClass.load(self.sample_paths[idx])
        return sample.to_numpy()

I guess the idea was to instead of having it in PVnet, have it in ocf-data-sampler. This keeps model code in PVnet, and samples stuff here
I agree #71 will be a nice tidy up for all of these

I agree something should be done with cross-validation.
I think we should move the Dataset for loading presamples either all here, or all in PVnet. I thinkt he current one for PVnet UK regional is in PVnet and this is much simplier as all it does is load the .pt file (I think).
If we decide to keep it in PVNet, then we should atleast put an example in here. Just to show how we can use it? Maybe something we can chat about in one of the first ML meetings. Good to think about positives and negatives e.t.c

I have a feeling that once we have created the sample class which has a .load() function then it'll be pretty trivial and won't need an example here. But yeh, let's talk about it in the new year


Amount of requests and Rerun option

Description

Added option to write the number of requests for faster operation (also, probably not recommended to unfollow all users at once)
Added rerun option at the end of the operation.

How Has This Been Tested?

[x] Tested on chrome inspect elements.

Issues:

On rerun - it will run with include verified - true - as the element is unavailable.

@tomleb3 Hi!
I wanted to limit the number of requests because I have 1000+ users to unfollow - which takes a lot of time to load and also if I'll unfollow them all I'd probably get banned.
I wanted to limit the number of users requested but it seems like the request url gives a certain amount of users each time (I tried changing the parameters but didn't get to the number of users I wanted).
So I added a number of iterations kind of thing to have a fast process.

@EdenEitani I see.
I guess if we can add the option and someone might find it useful then why not.
I'll review it soon.

@tomleb3 Thank you for your review.
It's actually my first js / HTML code (I'm a c++ developer) so thank you for your notes.
Updated according to your changes and tested.

@EdenEitani  @tomleb3
Maybe we could just add a STOP button when is running, so there is no need to write number of request.
So when you want to stop just click the STOP button and then you can choose the people to unfollow.
I would like to see what you think.

@davidarroyo1234 That sound good. But the question is where to integrate it so that it doesn't look weird and out of place.
Perhaps by clicking on the percentage bar you've added.
But then, how would you notify users about such feature?

@davidarroyo1234 That sound good and more intuitive. But the question is where to integrate it so that it doesn't look weird and out of place.
Perhaps by clicking on the percentage bar you've added.
But then, how would you notify users about such feature?

We can add the button instead the numOfRequests text box.
I'm not so familiar with this - should we add a variable and update it on click - and then check it inside the loop?

We can add the button instead the numOfRequests text box.

I don't know, it sounds like too much stuff in the header.
It was a problem with numOfRequests too, but that was more like a separate thing.
Here it just feels like it should be a part of an existing thing.
I would like to explore the progress bar option.
We can add hover rules in CSS that display the text "STOP", etc..
To make it more user-friendly.
But then again, the question remains, how to notify other users about this feature.
Perhaps mention it somewhere..

We can add the button instead the numOfRequests text box.

I don't know, it sounds like too much stuff in the header. It was a problem with numOfRequests too, but that was more like a separate thing. Here it just feels like it should be a part of an existing thing.
I would like to explore the progress bar option. We can add hover rules in CSS that display the text "STOP", etc.. To make it more user-friendly. But then again, the question remains, how to notify other users about this feature. Perhaps mention it somewhere..

Maybe on hover the progress bar we could change the percentage to a STOP button in red color. But we would need to update the readme a little bit.

Maybe on hover the progress bar we could change the percentage to a STOP button in red color. But we would need to update the readme a little bit.

That sound reasonable.
WDYT? @EdenEitani

I'll close this PR due to inactivity. Reopen it again when if you make some changes.


Get remote repository default branch

It will be useful, for example to show the build badge in the agola web ui, to know the default remote repository branch.
I investigated how to retrieve the remote default branch. There're different ways:

get the remote default branch asking for the remote HEAD branch (i.e. the output from git remote show origin) but this isn't feasible to do this on the agola backend (since we'll have to setup a temporary git repo, call the git command and parse the output).
A remote source api to get the remote default branch (it's available on github but I'm not sure if it's also available on gitea and gitlab).
Retrieving and saving this information when receiving a webhook, look like github, gitea and gitlab webhooks provides information about the repository default branch (at least on push event) (https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push, https://docs.gitea.io/en-us/webhooks/ , https://docs.gitlab.com/ee/user/project/integrations/webhooks.html#push-events).
So when receiving a push webhook we could get the default branch and update the repository information with it (adding a new field not existing yet) (it'll remain the same until we receive a new push webhook, so if the user changes the default branch without pushing nothing we won't update it). Looks like the more feasibile and easier way.

@sgotti I investigated abaout the api, they returns all the default branch.
I think it is the better way because we don't have webhook when the user change the default branch.
About the gateway must all the api that return the type ProjectResponse have the default branch value?


Application and cancellation unexpected error

Critical: Yes, it is blocking all testing
Where: Student Portal
When: Submission of all new applications or cancellations
Who: 3 Testers have reported this issue as of this morning
See attached screen shotsPrivate Zenhub Image
Private Zenhub Image

Bug resolved itself auto magically


Round 7 - Current Nutrient Intake Progress

Change kcal to Calories. Also change kcal to Cal in the green icons next to each food.

Fixed


remove deprecated run_py api

Status
Ticket/Issue

Ready/Hold
Ticket

Main changes

Screenshots (feature, test output, profiling, dev tools etc)
[insert screenshots here]
Other notes (e.g. implementation quirks, edge cases, questions / issues)

Manual testing tips

Tag anyone who definitely needs to review or help

maybe remove the pty option or set true default


ALB Ingress shows the wrong port

In the output of "kubectl get ingress ...." command, it shows port 80 but my ingress is HTTPS only, so there is no port 80 to be exposed or directed.
Part of my ingress.yaml ;
apiVersion: extensions/v1beta1 kind: Ingress metadata:  name: kubernetes-dashboard-lb  namespace: kubernetes-dashboard  annotations:     kubernetes.io/ingress.class: alb     alb.ingress.kubernetes.io/scheme: internal     alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
and the output of "get ingress"
kubernetes-dashboard-lb   <none>   somehostname   someadress   80      1m
Is it some sort of a bug or is it expected? Thank you.

This behavior is not specific to AWS ALB ingress controller. For ingress objects, API server sends the port 80 (or 80, 443 if tls is configured) in response to kubectl queries. The listen port specified in the annotation is vendor specific. As long as the ALB gets provisioned with the configured ports, this should not be a controller issue.
For further details, here is the kubectl issue - https://github.com/kubernetes/kubectl/issues/500.


Include JSKOS spec version number

const { version } = require("jskos-validate") # 0.4.1

Would this be fine as a manually bumped version number? Alternatively, it could probably be included in the JSON Schema somehow so that it's separate from the validation module.


PydanticOutputParser Doesn't Parse Dates in Unions

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
Here's a Pydantic model with a date in a union-typed attribute.
from datetime import date
from pydantic import BaseModel

class Example(BaseModel):
    attribute: date | str

Given a JSON string that contains a date, Pydantic discriminates the type and returns a datetime.date object.
json_string = '{"attribute": "2024-01-01"}'
Example.model_validate_json(json_string)

# returns Example(attribute=datetime.date(2024, 1, 1))

However, PydanticOutputParser unexpectedly returns a string on the same JSON.
from langchain.output_parsers import PydanticOutputParser
parser = PydanticOutputParser(pydantic_object=Example)
parser.parse(json_string)

# returns Example(attribute="2024-01-01")

Error Message and Stack Trace (if applicable)
No response
Description
PydanticOutputParser isn't converting dates in union types (e.g. date | str) to datetime.date objects. The parser should be able to discriminate these types by working left-to-right. See Pydantic's approach in https://docs.pydantic.dev/latest/concepts/unions/.
System Info
I'm on macOS with Python 3.10. I can reproduce this issue with both LangChain 0.1 and 0.2.

Do you reproduce also with pydantic.v1 ?

Are you able to reproduce also with pydantic.v1 ?

No! Looks like this issue does not appear with v1 models:
from datetime import date
from langchain.output_parsers import PydanticOutputParser
from pydantic.v1 import BaseModel

class Example(BaseModel):
    attribute: date | str

parser = PydanticOutputParser(pydantic_object=Example)
parser.parse('{"attribute": "2024-01-01"}')
# returns Example(attribute=datetime.date(2024, 1, 1))

I suspect you'll need to be more explicit about type coercion for this to work
from pydantic import __version__, BaseModel
from typing import Union
from datetime import date

import json

class A(BaseModel):
    foo: Union[int, date, str]

json_str = '{"foo": "2024-01-01"}'
print(A.model_validate_json(json_str))
obj = json.loads(json_str)
print(A.model_validate(obj))

OK you can do this:

from pydantic import __version__, BaseModel, Field
from typing import Union
from datetime import date

class A(BaseModel):
    foo: Union[int, date, str] = Field(union_mode='left_to_right')

print(A.model_validate_json('{"foo": "2024-01-01"}'))
print(A.model_validate({'foo': '2024-01-01'}))


Refactor routing management

Codecov Report

Merging #72 into master will decrease coverage by 5.32%.
The diff coverage is 64.1%.

@@            Coverage Diff             @@
##           master      #72      +/-   ##
==========================================
- Coverage   55.61%   50.29%   -5.33%
==========================================
  Files           9        8       -1
  Lines        1397     1173     -224
==========================================
- Hits          777      590     -187
+ Misses        483      458      -25
+ Partials      137      125      -12

Impacted Files
Coverage Δ

pkg/controller/controller.go
6.96% <ø> (+0.25%)
:arrow_up:

pkg/controller/scheduler.go
39.56% <64.1%> (+0.23%)
:arrow_up:

Continue to review full report at Codecov.

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


Imrove predicate docs

Is there an existing issue for this?

[X] Yes, I have searched the existing issues

The problem
Predicates are confusing.
It seems like it should force AutoView to select that component no matter what,
however, in fact it works like that:
The last component without predicate or the last one with predicate which returns true wins.

The idea is, when you add a component for the same type afterwards to give you option to narrow cases when it is used, so you can stay with general one by default.

Describe the solution you'd like
add relevant docs

Describe alternatives you've considered
No response

Also we should make sure that UISchema docs link presented


Generic programming in c#

Article checklist
ATTENTION: In your PR - add the ISSUE (topic form) # that this PR corresponds to. You can do this by also adding a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
If you have not already please go over our Resources Page for more tips and tricks on how to improve our overall technical writing.
Preliminary Checks - Formatting and Structure

[x] Does your article follow any of the suggested structure formats? - see example formats
[x] Is your article properly formatted in Markdown? - see Github Markdown guide
[x] Have you used the correct folder and file structure? - see Contribution Guidelines
[x] Is your article over 750 words? - Tool: Wordcounter.net
[x] Have you used our preferred heading structure? - H3 (###) and up
[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.
[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.
[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images
[x] In your PR - add a comment that states "This fixes #(enter your Idea Content Form #)" to link and close your Idea Content (issue) when the PR is merged.

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid -  Grammarly
[x] Please place your article through a 3rd party plagiarism checker? We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide

Contribution guidelines
For first-time contributors and for more details, see Contributing Guidelines
This fixes #2624

@hectorkambow I would like to review this article please

@john-amiscaray  will be doing a test review on this PRs.
cc @louisefindlay23 @ahmadmardeni1 @LinusMuema can answer any questions that pop up - and changes the labels when needed.

@elijahndungu Hello there, welcome to the Engineering Education program. I will be your peer reviewer for your first article. I know for me my first article was a learning experience so don't worry if you make a bunch more mistakes your first time. After my first article, it was smooth sailing for me. Looking forward to seeing what value you have to bring to others in this article!

@elijahndungu I just finished going through your article and took note of some specific feedback I would like to give you. Overall, it was a pretty good first article, there weren't really any major errors just a few smaller ones. I do have a couple of general tips to share with you, however. First: make sure all of your headings use 3 #'s or more. There were some instances where you used two or one. Also, at one point you italicized something using underscores (_), I believe I remember that it is a convention here to use astericks (*) instead. Finally, there were some overly long sentences. When you are checking the article in Hemmingway, try to have 0 sentences highlighted in red. But overall, good job. I will be posting the specific, line-to-line suggestions/fixes some time today.

Can you please make comments on the lines you are talking about? You can find a small + sign on the right of every line in the article (index.md file). @john-amiscaray

Can you please make comments on the lines you are talking about? You can find a small + sign on the left of every line in the article (index.md file). @john-amiscaray

@ahmadmardeni1  Yes, I will be doing that soon. I just had to go somewhere today and was reviewing a second article so I could not do that immediately. I meant to say that I would post those later today, sorry if that was not clear.

@elijahndungu I added the specific, in-line comments on your article so you can start implementing my suggestions. I also forgot to mention in the general tips I gave you that your code snippets are missing syntax highlighting. Whenever you put a code sample, make sure to add the name of the language after the first three backticks like so:

```csharp
// your code goes here
```

so you have syntax highlighting on your code like this:
public class genericList<T>

{

    void add(T input){}
}

plagiarism check completed - all good
2120420-7f1e5701c363b403a71c-1626807875715.pdf

@john-amiscary I have made the changes, you can look at them. Thank you

@WanjaMIKE  Just wanted to get a status update on this article whenever you get a chance.
This PR has been in our queue for quite a bit.
Thank you

Working on it @hectorkambow

Overall great work Gents @elijahndungu
cc @WanjaMIKE 🚀


[BUG] contents example went into error

Is there missing `async` keyword?

@louisgv Hey, I was using plasmo just now, but came into this bug. Could you take a look ?

`
{
"name": "demo",
"displayName": "demo",
"version": "0.0.0",
"description": "A basic Plasmo extension.",
"author": "",
"packageManager"<EMAIL_ADDRESS>"scripts": {
"dev": "plasmo dev",
"build": "plasmo build"
},
"dependencies": {
"antd": "^4.21.0",
"react": "18.1.0",
"react-dom": "18.1.0"
},
"devDependencies": {
"@trivago/prettier-plugin-sort-imports": "3.2.0",
"@types/chrome": "0.0.188",
"@types/node": "17.0.40",
"@types/react": "18.0.12",
"@types/react-dom": "18.0.5",
"plasmo": "latest",
"prettier": "2.6.2",
"process": "^0.11.10",
"typescript": "4.7.3"
},
"manifest": {
"host_permissions": [
"https:///"
],
"permissions": [
"tabs"
]
}
}
`
plasmo -h
🟣 Plasmo v0.38.3
🟠 The browser extension development framework.
🟡 MODES  | help | start | init | dev | build | version | -v | --version

Hi @VobileLiuZhiwu thanks for the report. This is an issue introduced a few hours ago, in version 0.38.3. For the time being, to mitigate the issue please use Plasmo version 0.38.2.
I'm going to fix this in the next hour. I will reply here when I'm done. Sorry about the issue.

@ColdSauce Thanks, it works well


Bundler 2: Add native helpers for LockfileUpdater

Add native helpers for bundler 2 lockfile updater.

The python failures seem unrelated, and with that suite taking 60m at the minute (💀), I'm gonna go ahead and merge this. If those tests continue to fail and are not a flake, I'll open a separate PR to fix


Add flag to decompress brotli server-side

I combined PageConfig and ServerConfig inside ServerConfig

Acceptability shouldn't be checked since browsers won't set it if connecting via HTTP

I don't think I understand. We can check it anyways, since if it isn't set, we can just decmpress.

Acceptability shouldn't be checked since browsers won't set it if connecting via HTTP

I don't think I understand. We can check it anyways, since if it isn't set, we can just decmpress.

If we are decompressing the data will not be encoded so we shouldn't set the CONTENT_ENCODING header. Even if the client sets br in the request header we don't care since we are decompressing. But maybe I'm understanding something wrong.

lgtm


feature #329- reset the user

New Feature
feature #329- reset the user in account manager

Thanks again for your contribution!

Welcome @tobiaslohr !!

Fixes #329


Add support for RiseupVPN test

I tested this on Fedora and it worked for me, thank you for making this happen! :partying_face:

I tested this on Fedora and it worked for me, thank you for making this happen! :partying_face:


some css error

here a screenshot: http://img687.imageshack.us/img687/864/mehjv.png
its on firefox... it wasnt before (maybe new ff version)

cannot reproduce this bug
i tried on windows and linux (firefox 7.0.1, newest stable)


[LIVY-649] Use HTTP method DELETE instead of POST for statement cancellation API

What changes were proposed in this pull request?
Unify Livy REST API to use more common DELETE method instead of POST for statement cancellation API.
Before:
POST /sessions/{sessionId}/statements/{statementId}/cancel
After:
DELETE /sessions/{sessionId}/statements/{statementId}
https://issues.apache.org/jira/browse/LIVY-649
How was this patch tested?
unit tests
manual verification:

Codecov Report

Merging #211 into master will increase coverage by 0.22%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #211      +/-   ##
============================================
+ Coverage     68.52%   68.75%   +0.22%
  Complexity      913      913
============================================
  Files           100      100
  Lines          5696     5696
  Branches        862      862
============================================
+ Hits           3903     3916      +13
+ Misses         1233     1220      -13
  Partials        560      560

Impacted Files
Coverage Δ
Complexity Δ

...server/interactive/InteractiveSessionServlet.scala
67.71% <100%> (ø)
6 <0> (ø)
:arrow_down:

...cala/org/apache/livy/scalaapi/ScalaJobHandle.scala
52.94% <0%> (-2.95%)
7% <0%> (ø)

...scala/org/apache/livy/repl/SparkRInterpreter.scala
60.69% <0%> (+0.57%)
14% <0%> (ø)
:arrow_down:

...ain/java/org/apache/livy/rsc/driver/RSCDriver.java
78.81% <0%> (+0.84%)
41% <0%> (ø)
:arrow_down:

...cala/org/apache/livy/repl/ProcessInterpreter.scala
59.52% <0%> (+2.38%)
6% <0%> (ø)
:arrow_down:

.../scala/org/apache/livy/sessions/SessionState.scala
61.11% <0%> (+2.77%)
2% <0%> (ø)
:arrow_down:

...ain/scala/org/apache/livy/utils/SparkYarnApp.scala
79.57% <0%> (+6.33%)
33% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

Maybe we need to consider the API compatibility with the old version.

Yes, agree with @yiheng , this will simply break the compatibility, I would not change this unless we have a sufficient reason.

Can it be a part of some major release?


Add ability to add "comment" specs

Sometimes, especially when viewing test output in the browser or using the spec or list reporter, it'd be good for documentation to provide commentary on the stories being spec'd. For this reason, Id' like to be able to have a function because that could be used like
describe('Some major feature', function () {
  it('ought to do this')
  because('but because sometimes X')
  it('ought to do this when X')
})

Or something to that regard. I can currently do that using a pending test case via it, but that's clearly the wrong semantics. Possible names/semantics are "because", "why", or "commentary".

Closing for now due to inactivity, and because there doesn't seem to have been much support/requests for this functionality since it was opened.


How would one use this?

Hi there,
I read the paper on arxiv and it seems pretty interesting. My question is, how would one use this to solve traditional ML problems like the ones demonstrated in LRA?

Hey,
thanks for your interest!
Example code/notebook of how to solve machine learning tasks (e.g. SHD) you can find here. If you question is specifically about LRA we detail the training methodology in the appendix of the paper.
If you are generally interested in how to deal with 1D sequences/time-series data: I would recommend to have a one-hot-encoding, embedding, or a projection layer first, and then apply the ELM neuron on top. In the paper we did something like coarser one-hot-encoding, but in retrospect it would have worked probably much better to use an embedding layer.
The key thing to note is that the ELM neuron has the biggest computational benefit on sparse large dimensional input data (as far as I know), i.e. where d_inp >> dim(num_memory), assuming num_memory is sufficient to solve the task well. So datasets much closer to NeuronIO (d_inp=1278), SHD (d_inp=700), SHD-Adding (d_inp=700) or Audio data (typicall large d_inp) might be a much better fit.
In that sense something like a 1D sequence is quite adversarial to the ELM neuron architecture, but can be made to work, and we choose LRA to highlight the long range processing capabilities of the architecture.
For long-range processing capabilities, just adjust the maximal memory timescale (memory_tau_max) hyper-parameter to your sequence length, and for temporally very sparse data, additionally adjust the synapse timescale (tau_b_value) to the expected time interval between two inputs (rarely neeced though).
Last note on input type: we mostly evaluated on integer valued input, but float values can also works fine, however, if you are increasing the branch size (num_synapse_per_branch), then you should ideally not mix positive and negative input (they can cancel out in the linear sum), but stick to either positive or negative input.
Good luck!
Aaron


xmrig-proxy: 6.19.2 -> 6.20.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/xmrig/xmrig-proxy/releases.
meta.description for xmrig-proxy is: Monero (XMR) Stratum protocol proxy
meta.homepage for xmrig-proxy is: https://github.com/xmrig/xmrig-proxy
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.20.0 with grep in /nix/store/2s0414x59rcjahix0mdgj1k3gybww8hz-xmrig-proxy-6.20.0
found 6.20.0 in filename of file in /nix/store/2s0414x59rcjahix0mdgj1k3gybww8hz-xmrig-proxy-6.20.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
xmrig-proxy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2s0414x59rcjahix0mdgj1k3gybww8hz-xmrig-proxy-6.20.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A xmrig-proxy https://github.com/r-ryantm/nixpkgs/archive/38723846e4f5919c66c232e5f9bc7ba35ffc45f9.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2s0414x59rcjahix0mdgj1k3gybww8hz-xmrig-proxy-6.20.0
ls -la /nix/store/2s0414x59rcjahix0mdgj1k3gybww8hz-xmrig-proxy-6.20.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

xmrig-proxy

Maintainer pings
cc @aij for testing.

New version adds support for Zephyr coin: https://github.com/xmrig/xmrig-proxy/pull/538 https://github.com/xmrig/xmrig-proxy/pull/539
Not sure if anyone cares :shrug:


Add option to specify CA for self-signed certificate

This feature request is primarily related to InfluxDB Enterprise.
Proposal:
Current setting allow encrypting traffic between InfluxDB nodes with self-signed certificates only with https-insecure-tls = true.
It would be nice to add a parameter which allows specifying path to a CA file, so the node's certificate is validated with that CA.
Current behavior:
According to the documentation, you need to set https-insecure-tls to true. With that parameter, self-signed certificates work.
Desired behavior:
Introduce a parameter which allows specifying path to CA certificate. For example, https-ca.
[meta]
 [...]
https-enabled = true
https-certificate = "influxdb-meta.crt"
https-private-key = "influxdb-meta.key"
https-ca = "influxdb-ca.crt"
https-insecure-tls = false

This parameter needs to be introduced for InfluxDB data and meta nodes' config.
Alternatives considered:
CA which issued self-signed certificates can be added to VM's CA bundle, but it's a bit inconvenient.
Use case:
Encrypting internal traffic with self-signed certificates is a quite common practice, so allowing to encrypt the traffic in a more secure way would be a good security improvement.

+1
I am maintaining my own CA and would like to validate chain of trust when connecting to InfluxDB, as well.

#MeToo


Fixed Ratio when Custom Values Enter

is there anyway to fix the ratio when a custom size is entered. So for example if i create a crop area of 200x700 using the text fields the aspect ratio is fixed to that size.
Then if i enter 320x1234 the aspect ratio is fixed for that size, and so on and so forth

Why don't you try aspectRatio option?


applet.interface.i2c_master: add "scan" command

"scan" scans for i2c devices on read and write addresses in one go.
Some devices only ACK one of the addresses, so scanning both gives
a better overview of the bus. With this command you don't need to
do a "scan-read" and then a "scan-write" to get the result.

Should we maybe have a single scan command with options -r, -w, (combined) -rw instead?

would also be an option. I'm indifferent, both ways are a reasonable interface IMO.

Let's do that instead. Would you adjust the PR please?

will do

Thanks!

Do you think side effects are more likely with read scanning than write scanning?
If so, we could change the order of read and write scanning.

In case of read scanning you're reading one byte, in case of write scanning you're aborting the transaction after the address, which is why I thought it's more likely.

I remember reading a datasheet where the interrupt line was reset when reading out the irq register or something like that. That would match your line of thought.
So let's do the write scan first. If the device answers, no read scan is done. This will reduce the likeliness of read-side effects.

Let's.

grmpf. additions to a branch aren't possible in github once it's merged.


Difftest: compiled with Chisel6 instead of Chisel3 by default

To generate seperated sv files according to JsonProfile, we use Chisel6 to compile Difftest by Default.
As some features, such as DataMirror, only supports Chisel6, now we partly make it compatible for Chisel3 using reflection dynamically. However, it is still hard to use some features accomplished in Chisel6.
Since XiangShan and NutShell have already purged Chisel3, does Difftest still need to keep Chisel3 compatible?

Sure. I will make a change


Some love for the new kid in the block, TypeScript.

TS is getting traction. I think this list is an excellent example of good reference related to TS.

Maybe we should give this list some time to mature first.

I guess this one is ok, but could use some more resources and the list looks a bit messy tbh.
Also make sure it follows: https://github.com/sindresorhus/awesome/blob/master/awesome.md

@jamesxv7 Would be awesome if you could link back here in your list so users can easily discover more awesome lists ;)


Remove keywords from the bibxml

Compare
https://dev.bibxml.org/api/v1/ref/rfcs/RFC8126/?format=bibxml
and
https://xml2rfc.tools.ietf.org/public/rfc/bibxml-rfcs/reference.RFC.8126.xml
Note that keywords do not appear in what we currently provide for RFC bibxml.
This service should also not provide keywords in RFC bibxml initially. We may choose to add them to the bibxml in the future, but the initial deployment should match what is currently available.

Thanks @rjsparks , we will follow up with this.
Now there is one additional question. In the new output, we also have the <workgroup> element populated with the source data:
<workgroup>NON WORKING GROUP</workgroup>

Do we want to omit this as well, or keep it?

@rjsparks, note that the API endpoint for retrieving bibliographic data has changed (see https://github.com/ietf-ribose/bibxml-service/issues/6#issuecomment-1024914111).
Which means, instead of https://dev.bibxml.org/api/v1/ref/rfcs/RFC8126/?format=bibxml you’d use https://dev.bibxml.org/api/v1/by-docid/?docid=RFC8126&format=bibxml. The resulting XML would be the same as you’d get from https://dev.bibxml.org/public/rfc/bibxml/reference.RFC.8126.xml (apart from the anchor).

The source of this issue (as well as #86 and #85) is that the abovementioned superseded /ref/ endpoint still uses pre-generated xml data provided in ietf-ribose/bibxml-data-* repositories. The new endpoint generates XML on the fly, with following benefits:

It already adheres to RFC 7991 a bit better.
If issues are discovered, we don’t need to wait for bibxml sources to be updated and reindexed anymore.
It also allows us to provide XML from external and semi-external sources (such as DOI and Datatracker), even if the data they return is in another format (we parse it into Relaton’s bibliographic item instance first, and then pass through to_xml).

Now there is one additional question. In the new output, we also have the <workgroup> element populated with the source data:
<workgroup>NON WORKING GROUP</workgroup>

Do we want to omit this as well, or keep it?

That should be omitted.

It already adheres to RFC 7991 a bit better.

Making use of something RFC7991 allows is not the same as better adherence.
The Style Guide is what to adhere to here - it is a flaw if this system makes references that the RFC Editor then has to change before publishing an RFC.

If issues are discovered, we don’t need to wait for bibxml sources to be updated and reindexed anymore.

Yet there will be issues that have to rely on the bibxml sources. For instance, these keywords are not currently a well groomed set of data. The RPC and/or the community may decide at some point in the future to revise them.
(And in the datatracker, we have a slow but steady flow of corrections to author extractions of past drafts.

The new endpoint generates XML on the fly

So it will have to carry the logic to implement these constraints.

Hmm. I see that RFC 7991 actually suggests seriesInfo inside front, and also does allow keywords. In that sense, as you can see, the new XML generation actually does not follow 7991 and follows more of what existing XML used to be provided by xml2rfc webserver.

Yet there will be issues that have to rely on the bibxml sources. For instance, these keywords are not currently a well groomed set of data. The RPC and/or the community may decide at some point in the future to revise them.

Ideally, as far as I believe (@ronaldtse can correct me), the intent is to capture as much information as possible in Relaton data sources, and format subset of that data in XML according to RFC 7991 and/or xml2rfc needs.
So with the old approach, after source data is revised, both relaton-data sources and bibxml-data sources would need to be updated, but with the new implementation only relaton-data sources would need to be updated and new keywords, etc. will carry over to generated XML. And issues that do not concern source data but rather just XML serialization (such as where to put the <seriesInfo> node, which nodes to omit, etc.) can be done by changing to_xml logic without having to rebuild sources at all.

@strogonoff the new approach is definitely the “correct” approach since it allows for easier changes in the future.
With regards to RFC 7991, as indicated by @rjsparks , while supposed to be “current”, is in fact an outdated specification. The real RFC XML specification that is used/accepted now is more of a “spec by implantation” of the xml2rfc tool, which means that the goal posts are somewhat liquid. There is a history with RFC 7991 conflicting between synchronization of needs, wishes, and implementation.
The best course of action (for us) is to tailor the BibXML to work with xml2rfc, then let that result propagate and fix up the successor of RFC 7991.

This is all done. Closing.


add requestor view

Jean-Roch's request. query using status and requestor (doesn't allow only by requestor which could return to many data) Also, archived status is not allowed.
@amaltaro, Alan please review (tested in vm)

It looks good Seangchan.
However, I couldn't find an issue for it, I thought he initially wanted to pass only the requestor name.
Since it does not return value, do you still think it would be too heavy to return archived requests as well (not the whole doc)?

Hi Alan, if it just return request names archived request query will be fine.
@vlimant, Jean-Roch, is it OK to return just request names if for querying archived request?
That means it will only accept detail = False if status contains archived status

Thanks, Alan, I update the patch so reqmgr2 will accept the query containing status=*-archived only detail=false explicitly.


Add labels to the Members page

Hey!
This PR fixes the display of all labels on the Members page. The previous implementation was loading members again inside the MembersPage component, however, these were not being converted to the domain type SocietyMember and thus many fields were missing.
We also took the opportunity to implement member loading through a query subscription, meaning members are now updated in real-time.
Important: this PR is pointing to remove-localstorate-account. Must change to main before merging.

 Add labels to the Members page


Default minrelevancescore to zero

Motivation and Context
A default minRelevanceThreshold of 0.7 works well with OpenAI's ada embeddings generation, but not necessarily with other models. It also is likely to return no results as the most relevant item could be less than 0.7. To ensure that similarity search always returns at least one result, this limit should default to 0.
Description
minRelevanceThreshold for similarity search is 0.0 across the board.
Contribution Checklist

[ ] The code builds clean without any errors or warnings
[ ] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
[ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with dotnet format
[ ] All unit tests pass, and I have added new tests where possible
[ ] I didn't break anyone :smile:

Folks, I don't have enough context to submit this one. Given the discussion, I'd like to have a quick chat about it. Let's follow up.

@awharrison-28, @dluc, were you able to connect about this change? Shall we proceed, modify, or close?

@awharrison-28 @dluc I'm going to flip this to "Draft" to get it off the queue.
Please follow up - reopen and ping me to merge, or "Close with comment" if we're not going to take this change.

Closing PR. @awharrison-28 feel free to reopen if/when ready to submit.


Resolves Issue 465 Incorrect associatedObject use generates Xcode warnings

Issue Link :link:
Issue 465 --Incorrect associatedObject use generates Xcode warnings
Goals :soccer:
Clear Xcode 15 warnings
Implementation Details :construction:
Implementation based primarily on the work-around described in Swift Evolution.
Testing Details :mag:
Build and run with Xcode 15.

This was resolved in #464. Thanks!


Enable code formatting, with 2 space tabs.

Okay... the history gone with the 2 tabs! [LGTM]

history gone with the 2 tabs

unfortunate

Hey, landed here from this Reddit thread and excited about this project!
Out of curiosity, what was the reason for choosing 2 space indent?
The majority of Rust code out there use 4 spaces and it's also the standard style, see here: https://github.com/rust-lang-nursery/fmt-rfcs/blob/master/guide/guide.md#indentation-and-line-width

Hi,
I think it is simply because some developers started feeling pressure of lack of columns, as nesting gets deeper.
Thanks for showing your interests in rav1e project!
Cheers,
Yushin

On Jul 16, 2018, at 12:14 AM, Robin Stocker<EMAIL_ADDRESS>wrote:
Hey, landed here from this Reddit thread https://www.reddit.com/r/rust/comments/8z5y3f/xiphrav1e_the_fastest_and_safest_av1_encoder and excited about this project!
Out of curiosity, what was the reason for choosing 2 space indent?
The majority of Rust code out there use 4 spaces and it's also the standard style, see here: https://github.com/rust-lang-nursery/fmt-rfcs/blob/master/guide/guide.md#indentation-and-line-width https://github.com/rust-lang-nursery/fmt-rfcs/blob/master/guide/guide.md#indentation-and-line-width
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/xiph/rav1e/pull/296#issuecomment-405145569, or mute the thread https://github.com/notifications/unsubscribe-auth/AJp3-1aswN_WAEdHxueLm_kOi1DPCpQ2ks5uHBMXgaJpZM4VOImF.

The more important part of this commit was at least cleaning up the files that had a mix of 2 indents. I would be ok switching back to 4 if it's more comfortable. But yeah, a lot of codec code is 2 space.


Add anchors so these sections show up in subnavs

Actually didn't find any H1s with this search: ^#\s, so I think we're good on that front!

Thanks @johncornish ! These will look good and be helpful to readers.

@johncornish BTW, We noticed that the files in the API directory do not appear on the subnav. Also that they have not had anchors added to their h3's. (Maybe this isn't important right now.)


Unable to pull docker image in Ubuntu 24.04

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I'm convinced that this is not my fault but a bug.

Description
I am using ROS 2 Jazzy and Ubuntu (wsl) 24.04.
Upon writing the command "docker pull ghcr.io/autowarefoundation/autoware:universe-devel-20240921", I get the below message
"no matching manifest for linux/amd64 in the manifest list entries"
Expected behavior
Docker image should pull down
Actual behavior
Getting message "no matching manifest for linux/amd64 in the manifest list entries"
Steps to reproduce

Type command "docker pull ghcr.io/autowarefoundation/autoware:universe-devel-20240921"

Versions
OS: Ubuntu 24.04
ROS 2 Jazzy
Possible causes
No response
Additional context
No response

@theksg Sorry for the confusion, but we have been renaming our docker images recently.
If you want to use autoware from September 21, then try pulling: docker pull ghcr.io/autowarefoundation/autoware:universe-20240921-amd64.
If you want to pull the latest one, run docker pull ghcr.io/autowarefoundation/autoware:universe-devel

@mitsudome-r
Thanks for the comment.
I checked the latest tag universe-devel and universe-devel-cuda.
The former supports linux/amd64 and linux/arm64.
The latter supports only linux/arm64.
Is cuda build only available for arm64?


Support downloading GitHub release assets

Closes #45.

Thank you! Haven't tried yet, but let's proceed for the release


Add KubeVirt Platform Owners

This PR proposes that we add @davidvossel (me) and @nirarg as approvers for the areas of code isolated to the KubeVirt platform.
Note that the changes to the nodepool kubevirt.go file are merely to refactor that code into a separate isolated package. No change in behavior is expected.

/approve
/lgtm


examples: update structure

I've organized and renamed examples and prepared a new example for the reference templates.

examples/asa contains scripts for Algorand Smart Contracts as well (contract and delegated). We should either rename this folder (/asa) or move the smart contract scripts to (/asc). What do you think?

With the new task, we want that user will start with ref-templates task first. It provides a first steps with smart contracts. So, we can keep the asa name - because this one will be first steps with ASA + how to use it with smart contracts.

With the new task, we want that user will start with ref-templates task first. It provides a first steps with smart contracts. So, we can keep the asa name - because this one will be first steps with ASA + how to use it with smart contracts.
:+1:


build error : pbstream_migrate error

Hi,
I'm trying to build cartographer package on a debian stretch fresh install and a ros:melodic-ros-core-stretch docker image. Both are giving me the same error when trying to build cartographer package.
I can't understand what's happening.  Can you point me to some hint / ressources to get this build pass ?
Thanks a lot
Here is the corresponding output :
<== Finished processing package [2 of 23]: 'ceres-solver'

==> Processing plain cmake package: 'cartographer'
==> Creating build directory: 'build_isolated/cartographer/devel'

==> Building with env: '/builds/pmirabel/catkin_ws/devel_isolated/ceres-solver/env.sh'
==> cmake /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer -DCMAKE_INSTALL_PREFIX=/builds/pmirabel/catkin_ws/devel_isolated/cartographer -G Ninja in '/builds/pmirabel/catkin_ws/build_isolated/cartographer/devel'
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build type: Release
Files /builds/pmirabel/catkin_ws/build_isolated/cartographer/devel/AllFiles.cmake and - differ
-- Found PythonInterp: /usr/bin/python (found version "2.7.13")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found GMock: gmock_main;-lpthread
-- Boost version: 1.62.0
-- Found the following Boost libraries:
--   iostreams
--   regex
-- F[1/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/common/proto/ceres_solver_options.proto
[2/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/mapping/proto/2d/cell_limits.proto
[3/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/ground_truth/proto/relations.proto
[4/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/mapping/proto/2d/grid_2d_options.proto
[5/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/mapping/proto/2d/map_limits.proto
[6/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/mapping/proto/2d/normal_estimation_options_2d.proto
[7/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/mapping/proto/2d/probability_grid_range_data_inserter_options_2d.proto
[8/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/mapping/proto/2d/probability_grid.proto
[9/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/mapping/proto/2d/grid_2d.proto
[10/384] Running C++ protocol buffer compiler on /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/mapping/proto/2d/local_trajectory_builder_options_2d.proto
//...//
[70/384] Building CXX object CMakeFiles/cartographer.dir/cartographer/io/internal/in_memory_proto_stream.cc.o
[71/384] Building CXX object CMakeFiles/cartographer.dir/cartographer/io/internal/pbstream_migrate.cc.o
FAILED: CMakeFiles/cartographer.dir/cartographer/io/internal/pbstream_migrate.cc.o
/usr/bin/c++    -isystem /usr/include/eigen3 -isystem /builds/pmirabel/catkin_ws/devel_isolated/ceres-solver/include -isystem /usr/include/lua5.3 -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/pixman-1 -isystem /usr/include/freetype2 -isystem /usr/include/libpng16 -isystem /usr/local/include -I. -I/builds/pmirabel/catkin_ws/src/pmi_carto/cartographer -O3 -DNDEBUG    -pthread -std=c++11 -fPIC  -Wall -Wpedantic -Werror=format-security -Werror=missing-braces -Werror=reorder -Werror=return-type -Werror=switch -Werror=uninitialized -O3 -DNDEBUG -MD -MT CMakeFiles/cartographer.dir/cartographer/io/internal/pbstream_migrate.cc.o -MF CMakeFiles/cartographer.dir/cartographer/io/internal/pbstream_migrate.cc.o.d -o CMakeFiles/cartographer.dir/cartographer/io/internal/pbstream_migrate.cc.o -c /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/io/internal/pbstream_migrate.cc
/builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/io/internal/pbstream_migrate.cc: In function ‘int cartographer::io::pbstream_migrate(int, char**)’:
/builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/io/internal/pbstream_migrate.cc:50:76: error: too many arguments to function ‘void cartographer::io::MigrateStreamFormatToVersion1(cartographer::io::ProtoStreamReaderInterface*, cartographer::io::ProtoStreamWriterInterface*)’
                                                   FLAGS_migrate_grid_format);
                                                                            ^
In file included from /builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/io/internal/pbstream_migrate.cc:20:0:
/builds/pmirabel/catkin_ws/src/pmi_carto/cartographer/cartographer/io/serialization_format_migration.h:29:6: note: declared here
 void MigrateStreamFormatToVersion1(
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[72/384] Building CXX object CMakeFiles/cartographer.dir/cartographer/io/internal/mapping_state_serialization.cc.o
[73/384] Building CXX object CMakeFiles/cartographer.dir/cartographer/io/internal/pbstream_info.cc.o
ninja: build stopped: subcommand failed.
ound installed version of Eigen: /usr/lib/cmake/eigen3
-- Found required Ceres dependency: Eigen version 3.3.2 in /usr/include/eigen3
-- Found required Ceres dependency: glog
-- Found installed version of gflags: /usr/lib/x86_64-linux-gnu/cmake/gflags
-- Detected broken gflags install in: /usr/lib/x86_64-linux-gnu/cmake/gflags, version: 2.1.2 <= 2.1.2 which defines gflags_LIBRARIES = gflags which is not an imported CMake target, see: https://github.com/gflags/gflags/issues/110.  Attempting to fix by detecting correct gflags target.
-- Found valid gflags target: gflags-shared, updating gflags_LIBRARIES.
-- Detected gflags version: 2.1.2
-- Found required Ceres dependency: gflags
-- Found Ceres version: 1.13.0 installed in: /builds/pmirabel/catkin_ws/devel_isolated/ceres-solver with components: [LAPACK, SuiteSparse, SparseLinearAlgebraLibrary, CXSparse, SchurSpecializations, OpenMP]
-- Found Lua: /usr/lib/x86_64-linux-gnu/liblua5.3.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "5.3.3")
-- Found Protobuf: /usr/local/lib/libprotobuf.a;-lpthread (found suitable version "3.4.0", minimum required is "3.0.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29")
-- Checking for one of the modules 'cairo>=1.12.16'
-- Found Sphinx: /usr/bin/sphinx-build
-- Configuring done
-- Generating done
-- Build files have been written to: /builds/pmirabel/catkin_ws/build_isolated/cartographer/devel
==> ninja -j 3 in '/builds/pmirabel/catkin_ws/build_isolated/cartographer/devel'
<== Failed to process package 'cartographer':
  Command '['/builds/pmirabel/catkin_ws/devel_isolated/ceres-solver/env.sh', 'ninja', '-j', '3']' returned non-zero exit status 1

Reproduce this error by running:
==> cd /builds/pmirabel/catkin_ws/build_isolated/cartographer && /builds/pmirabel/catkin_ws/devel_isolated/ceres-solver/env.sh ninja -j 3

Command failed, exiting.

Some additional informations :
Debian GNU/Linux 9.9 (stretch)
gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
CXXFLAGS =
cmake version 3.7.2
ROS_DISTRO = melodic

Fresh install  of last version of cartographer solved this ... Sorry for the flood !


Frozen spinner in pod logs

It is reported that sometimes spinner stays forever without loading pod logs content:

I did notice some times when clicking on a pod's logs that the "spinner" would just spin forever. Reselecting container using the new "Pod" menu seemed to solve the problem.

from https://github.com/lensapp/lens/issues/4855#issuecomment-1039597847

@danielbprice Can you please post video here?

Was this not fixed by #4964 ?

I have been running the beta release, and I have not seen this problem recur for a while.  I just tried a dozen or so container logs and did not see this recur.  Overall the situation seems to be much better.  Thanks for your responsiveness, I know it's not easy.

I think that we can close this then. For the time being.


merge master to drone

Coverage decreased (-9.7%) to 56.722% when pulling dc43d4535c50d77c4dff7bdf9aa2e4fa282983c8 on wy65701436:master into eb8e1026b83a41be1c99c43e17a03afa69e7f8af on vmware:drone.


ChainDB: store a ledger snapshot on startup after a long replay

The LgrDB decides to make snapshots based on the time passed and the number of
blocks advanced since the last snapshot. When it had to replay blocks on
startup because the on-disk snapshots were out of date or missing, that number
of replayed blocks is taken into account for the decision to make the next
snapshot (as the starting point for the number of blocks advanced).
However, the decision making logic is only triggered after copying a block
to the ImmutableDB. So, for example, when starting a node with lots of blocks,
but without on-disk ledger snapshots, it will replay all blocks to reconstruct
an up-to-date ledger state, but it won't write it to disk until a block has
been copied to the ImmutableDB. When experimenting, one often has a node that
no longer downloads blocks acting as a server node, so that node will never
write its snapshot to disk. This means a full ledger replay has to be done on
every startup.
Fix this by triggering the snapshot making logic before starting the loop that
waits for blocks being copied to the ImmutableDB.

bors merge


VSC not using my Node version, source control fails

Issue Type: Bug
When using source control from GUI and trying to commit files, VSC gives error "Git: husky > pre-commit (node v10.24.1)" and fails. I am using Node v14.15.3. When I use it from terminal in VSC, it works as per my NVM version. I assume problem is VSC does not understand default node version.

VS Code version: Code 1.59.1 (3866c3553be8b268c8a7f8c0482c0c0177aa8bfa, 2021-08-19T11:54:37.513Z)
OS version: Linux x64 5.4.0-81-generic
Restricted Mode: No

Do you start VS Code from the console or via a GUI shortcut? If you start with a GUI shortcut then you are skipping the steps that would initialize NVM and therefore VS Code will be entirely ignorant about it.

@andriusign, apologies for not getting back to you on this until now. Are you still able to reproduce this issue?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Add burak

Add burak

Hi Burak, your page.json seems invalid

Hi @fatih-yavuz, i forgot to add image and fixed it now can you re-trigger ci again?


chore: bump version to 0.10.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.071%

Totals

Change from base Build<PHONE_NUMBER>0:
0.0%

Covered Lines:
1041

Relevant Lines:
1182

💛  - Coveralls


SSO Login

SSO login adds a small link to initiate single sign-on from the primary login page. It uses the SSO base URL config and appends /login to redirect users to the SSO login page.
/cc @dmcinnes

:+1: Fine by me, though who approves the design change? @itchymutt would that be you?

Oops, yes that's @itchymutt.

Screenshot:

@naaman The text links are blurring together, can we create more space between them? A suggestion to correct that would be to justify them the same way Salesforce does on their login screen (though adding more space is also fine with me):

Second, copy change "SSO" to "Log in via SSO".

Updated screenshot:

@naaman @dmcinnes This gets a +1 from me now!

Thanks!


problem with install on windows

Hi, a have a problem with install...
I have last version Node.js, Coffee-Script and Compass
i download nutrients-per-calorie and i tried install and start it.
Have this errors
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs
\node_modules\npm\bin\npm-cli.js" "start"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>start: gulp
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'gulp'.
npm ERR! This is most likely a problem with the nutrients-per-calorie package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp
npm ERR! You can get their info via:
npm ERR!     npm owner ls nutrients-per-calorie
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Mex\Desktop\nutrients\npm-debug.log

I forgot to add gulp to the readme's installation instructions when I changed the build tools. I think npm install -g gulp should fix the issue. Thanks for the report.


Handle constant folding for LanguageLevel 2 on Python 3

Ensure that when StrNode is a BytesLiteral, that we don't coerce it to unicode.
Before when using Python 3 as the Compiler and targeting LanguageLevel 2, an expression like '-'*5 would be optimized into "b'-----'" instead of '-----'.
Fixes https://github.com/cython/cython/issues/3951

Could you please add a test?

@robertwb sure, can you point me in the right direction to get one of those running? Ideally, tests/run/cstringmul.pyx should have shown something....

If I understand correctly this might actually be quite hard to test? This bug only happens when you mismatch running Cython in Py2 to compile a Py3 module, and this isn't a situation we test at all?

Yeah... and it's been around since 41e7e456 (2 years) undetected, so it's probably not a case anyone is going to be running into.

There's a test file tests/run/cython2_bytes.pyx where you could just add another doctested function. Seems good enough a place to me. IIUC, letting the test run in Py3 should fail and the PR should fix it.

There's a test file tests/run/cython2_bytes.pyx where you could just add another doctested function. Seems good enough a place to me. IIUC, letting the test run in Py3 should fail and the PR should fix it.

There's a test file tests/run/cython2_bytes.pyx where you could just add another doctested function. Seems good enough a place to me. IIUC, letting the test run in Py3 should fail and the PR should fix it.

My understanding of this bug was that it happened only when you ran Cython using Python 2, but then compiled to a Python 3 module. I don't think the test-suite handles combinations like that at all (hence it's quite hard to test)

There's a test file tests/run/cython2_bytes.pyx where you could just add another doctested function. Seems good enough a place to me. IIUC, letting the test run in Py3 should fail and the PR should fix it.

My understanding of this bug was that it happened only when you ran Cython using Python 2, but then compiled to a Python 3 module. I don't think the test-suite handles combinations like that at all (hence it's quite hard to test)

My understanding of this bug was that it happened only when you ran Cython using Python 2, but then compiled to a Python 3 module.

That's not my understanding, rather that Cython runs in Py3 here and the module uses language_level=2, thus my reference to the cython2_bytes test.

My understanding of this bug was that it happened only when you ran Cython using Python 2, but then compiled to a Python 3 module.

That's not my understanding, rather that Cython runs in Py3 here and the module uses language_level=2, thus my reference to the cython2_bytes test.

If I create "expand.py":
# cython: language_level = 2

from __future__ import print_function
print("-"*5)

and run (with current master branch)
python2 cython.py expand.py && cp expand.c expand2.c
python3 cython.py expand.py && cp expand.c expand3.c
diff expand2.c expand3.c

I get
1283a1284
> #if PY_MAJOR_VERSION >= 3
1284a1286,1289
> #endif
> #if PY_MAJOR_VERSION < 3
> static const char __pyx_k_b[] = "b'-----'";
> #endif
1292d1296
< static PyObject *__pyx_kp_s_;
1293a1298
> static PyObject *__pyx_kp_s_b;
1322d1326
<   PyObject *__pyx_kp_s_;
1323a1328
>   PyObject *__pyx_kp_s_b;
1363d1367
<   Py_CLEAR(clear_module_state->__pyx_kp_s_);
1364a1369
>   Py_CLEAR(clear_module_state->__pyx_kp_s_b);
1391d1395
<   Py_VISIT(traverse_module_state->__pyx_kp_s_);
1392a1397
>   Py_VISIT(traverse_module_state->__pyx_kp_s_b);
1416d1420
< #define __pyx_kp_s_ __pyx_mstate_global->__pyx_kp_s_
1417a1422
> #define __pyx_kp_s_b __pyx_mstate_global->__pyx_kp_s_b
1443d1447
<   {0, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
1444a1449
>   {0, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
1451d1455
<   {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
1452a1457,1461
>   #if PY_MAJOR_VERSION >= 3
>   {&__pyx_kp_s_b, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 0},
>   #else
>   {&__pyx_kp_s_b, __pyx_k_b, sizeof(__pyx_k_b), 0, 0, 1, 0},
>   #endif
1479c1488
<   __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 4, __pyx_L1_error)
---
>   __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_b); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 4, __pyx_L1_error)
1492,1493c1501,1502
<   if (__Pyx_InitString(__pyx_string_tab[0], &__pyx_kp_s_) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
<   if (__Pyx_InitString(__pyx_string_tab[1], &__pyx_n_s__3) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
---
>   if (__Pyx_InitString(__pyx_string_tab[0], &__pyx_n_s__3) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
>   if (__Pyx_InitString(__pyx_string_tab[1], &__pyx_kp_s_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);

So there is quite substantial difference in the code generated depending what Python version you use to run Cython

If I create "expand.py":
# cython: language_level = 2

from __future__ import print_function
print("-"*5)

and run (with current master branch)
python2 cython.py expand.py && cp expand.c expand2.c
python3 cython.py expand.py && cp expand.c expand3.c
diff expand2.c expand3.c

I get
1283a1284
> #if PY_MAJOR_VERSION >= 3
1284a1286,1289
> #endif
> #if PY_MAJOR_VERSION < 3
> static const char __pyx_k_b[] = "b'-----'";
> #endif
1292d1296
< static PyObject *__pyx_kp_s_;
1293a1298
> static PyObject *__pyx_kp_s_b;
1322d1326
<   PyObject *__pyx_kp_s_;
1323a1328
>   PyObject *__pyx_kp_s_b;
1363d1367
<   Py_CLEAR(clear_module_state->__pyx_kp_s_);
1364a1369
>   Py_CLEAR(clear_module_state->__pyx_kp_s_b);
1391d1395
<   Py_VISIT(traverse_module_state->__pyx_kp_s_);
1392a1397
>   Py_VISIT(traverse_module_state->__pyx_kp_s_b);
1416d1420
< #define __pyx_kp_s_ __pyx_mstate_global->__pyx_kp_s_
1417a1422
> #define __pyx_kp_s_b __pyx_mstate_global->__pyx_kp_s_b
1443d1447
<   {0, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
1444a1449
>   {0, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
1451d1455
<   {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
1452a1457,1461
>   #if PY_MAJOR_VERSION >= 3
>   {&__pyx_kp_s_b, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 0},
>   #else
>   {&__pyx_kp_s_b, __pyx_k_b, sizeof(__pyx_k_b), 0, 0, 1, 0},
>   #endif
1479c1488
<   __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 4, __pyx_L1_error)
---
>   __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_b); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 4, __pyx_L1_error)
1492,1493c1501,1502
<   if (__Pyx_InitString(__pyx_string_tab[0], &__pyx_kp_s_) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
<   if (__Pyx_InitString(__pyx_string_tab[1], &__pyx_n_s__3) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
---
>   if (__Pyx_InitString(__pyx_string_tab[0], &__pyx_n_s__3) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
>   if (__Pyx_InitString(__pyx_string_tab[1], &__pyx_kp_s_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);

So there is quite substantial difference in the code generated depending what Python version you use to run Cython

@da-woods Note that almost all of these differences are variable names, which differ because of the different value of the constant. This is exactly the expected result.

Test is still missing while preparing the next release. I'll wait for a day and then postpone this to the next release.

(sorry, didn't mean to close)

Superseded by #4083.

Thanks for the initial fix @Alphadelta14


Added error handling section to readme

It isn't obvious that not having an error handler on the stream itself will cause problems down the line. Intuitively one might expect that handling errors on the underlying TCP socket would be enough but that's not the case. It took me a while to track down this problem in my own code so I thought I'd document  and save others the trouble.

Instead of fixing the documentation, can you provide a fix for the actual problem? I think we should not crash the application in that case.

@mcollina is right. The example you'd like to add to the docs doesn't cover all cases, e.g. with no any http server. This module encapsulates the ws module, hence it should take care of it.

Alright if we don't want to crash because of an unhandled error, even when the user does not attach an error handler to the stream, then I don't see any way out of attaching a no-op error handler. Pull request #141 implements this.
I worry that my readme pull request caused some confusion: Attaching an error handler to the http server is not necessary. I wanted to show that even if attaching error handlers to the socket beneath the stream at all possible layers the error is not considered handled. Attaching a single error handler to the stream passed to the createServer callback is always enough in and of itself.

I mean a completely different fix. Not just ignoring the error, but routing it to our websocket-stream, so only one error handler can be added.

You are correct. I was trying to point out in the readme that even if you
alrady have an error handler at a lower network layer, e.g. TCP or HTTP,
then you still need an error handler for the stream. Otherwise you get the
confusing result that e.g. an ECONNRESET triggers your error handler on the
socket but your program still crashes due to an unhandled error. I was
under the impression that this is the expected behaviour but becomes
confusing if e.g. re-using the same server socket for multiple things when
mixing normal http and websocket-stream
On Fri, Mar 2, 2018 at 3:24 PM, Matteo Collina<EMAIL_ADDRESS>wrote:

@mcollina commented on this pull request.
In readme.md
https://github.com/maxogden/websocket-stream/pull/140#discussion_r171988265
:

@@ -129,6 +129,31 @@ app.ws('/bigdata.json', function(ws, req) {
app.listen(3000);

+### Error handling
+
+Errors both from the underlying websocket and from the TCP socket itself are propagated and emitted on the stream so you _must_ provide an error handler for the stream even if you already have an error handler on the websocket, e.g:
+
+```javascript
+var websocket = require('websocket-stream')
+var wss = websocket.createServer({server: someHTTPServer}, handle)
+
+// this is not enough!
+someHTTPServer.on('connection', function(socket) {
+  socket.on('error', function(err) {
+    console.log("Client socket error:", err);
+  });
+});

This is the block that should not be needed, not the other one. Why is
this needed?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/maxogden/websocket-stream/pull/140#pullrequestreview-100943994>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHfgJFlZ3XDYlMVNQjz1KbxHKF50x5Aks5tadSRgaJpZM4SOq_y>
.


New version: Microsoft.PerfView version 3.1.11

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[x] This resolves #157325

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Seems @microsoft-github-policy-service get stuck on merging pull requests ...

thanks @Dragon1573 for the PR, got the update via winget 👍


Open user tag is not working with image message

Describe the bug
If you click @ tag at the image message, this.$emit('open-user-tag', user) is not emitted. If you click at the text message, it's working.
Steps to reproduce

Send image with tag caption
Click on tagged user
Open user tag is not emitted

Expected behavior
Open user tag is emitted.
Screenshots
Screenshot

I fixed it by adding open-user-tag event on message files component at RoomMessage.vue.
<message-files
  v-else-if="!isAudio || message.files.length > 1"
  :current-user-id="currentUserId"
  :message="message"
  :room-users="roomUsers"
  :text-formatting="textFormatting"
  :link-options="linkOptions"
  :message-selection-enabled="messageSelectionEnabled"
  @open-file="openFile"
  @open-user-tag="openUserTag"
>

Thanks, will fix that shortly

Fixed in https://github.com/antoine92190/vue-advanced-chat/commit/3804047ed9c15284bde20bfb1c98ee847e8d40ce


playout_controls.sh - use "=" instead of "=="

took me some time to discover this. from shell i could run the script without errors, but launched within python via check_call it throws this error:
volumeup: unexpected operator
Unknown COMMAND volumeup VALUE
i've read that only few shells support == in if-constructions, so i had to change
every occurance of $COMMAND == "xyz" to $COMMAND = "xyz"
regards,
phil

Hi @PhilTonic
nice catch. And a good proof that "never change a running system" is not always true when it's not only one system that needs to run... (aka "works for me"...)
I will look into this in the coming days.

This was fixed with the latest 0.9.5 release


Source environment instead of running shell

Codecov Report

Merging #575 (0aa0163) into main (8af65f5) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #575   +/-   ##
=======================================
  Coverage   97.50%   97.50%
=======================================
  Files           6        6
  Lines         400      400
  Branches       80       80
=======================================
  Hits          390      390
  Misses          8        8
  Partials        2        2


Makes interactive legends accessible and programmatically available

Description
GTT-1665: Make interactive legends accessible and programmatically available by transforming them into buttons while maintaining the same appearance and functionalities that already exist.
Testing

Unit tests.
Local run.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@mazenkh-amazon could the various renderLegendText function be combined into one and reuse?


DMCA

Hello, I'm parkie (Chronos CEO) the CEO of Chronos (parkie - The Chronos CEO), I am the CEO of Chronos and as The CEO of Chronos I wish to get this repository removed, as I'm the CEO of Chronos.
Sincerely, parkie (CEO of Chronos).

are u the ceo of chronos??

Yes, as parkie (The CEO of Chronos) I can 100% assure you (as the CEO of Chronos) that I am the CEO of Chronos.
Sincerely, The CEO of Chronos - parkie (CEO of Chronos).

so u could say u are the ceo of chronos, right?

Yes, as parkie (The CEO of Chronos) I can 100% assure you (as the CEO of Chronos) that I am the CEO of Chronos.
Sincerely, The CEO of Chronos - parkie (CEO of Chronos).

Yes, as wiks (A Member of Chronos) I can 100% assure you (A Member of Chronos) that I am the A Member of Chronos.
Sincerely, A Member of Chronos - wiks (A Member of Chronos).


Fixes #420 - Setting a mode for a new file, when opening it.

This fixes issue (https://github.com/filerjs/filer/issues/420)

a mode has been added to the fs.open_file function definition

only when a mode argument is passed: the mode is then associated with the new Node.
if no argument, a mode value is still set the default file option of 0o644.

a test has been created to ensure that if a mode is passed in as an argument for the fs.open function, the mode exists as it should.

Would still be nice to...

test to ensure that mode's do not change when opening existing files, and passsing in a mode options.
thinking of more ways to break this code would be helpful too.

The mode is somewhat complicated by the fact that it includes two things: bits for the node's type (file, directory, link, ...); and also for permissions (e.g., 644, 777, etc).  So if you only want the permissions, you have to mask them out.

@humphd is there anything else I can do to make this PR a success?

Sorry for the huge delay, I've started looking at this.


Restore unpublishings for news articles and publications

www.agileplannerapp.com/boards/173808/cards/8158
missing unpublishings for news articles and publications are causing them to blow-up. these editions have been identified from the latest data synced on Preview using this query:
Edition.archived.includes(:unpublishing).select {|e| e.unpublishing.nil? }.map(&:id)
content designers have confirmed that the reason for these editions being unpublished is because they should be archived as the content is no longer current.

:+1:


styles changes

some margin required at top
mouse hover required in pagination ( in next , previous and number button)

@jalaym825  solved.


Multiple edits to address Typos/Grammar in text

Resolves HASH_SIGN_FOLLOWED_BY_ISSUE_NUMBER
What is being addressed
Describe the current behavior you are modifying. Please also remember to update any impacted documentation.
How is this addressed

Describe the changes made, and if appropriate, why they are addressed this way
Note any pending work (with links to the issues that will address them)
Update documentation
Update CHANGELOG.md if needed

I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@clarotech thank you for the pull requests. We will review them in due course.
You will need to type a comment with:
@microsoft-github-policy-service agree

to accept the CLA.

Thanks for the feedback.
@microsoft-github-policy-service agree

/test-force-approve


Improve installation documentation a bit

Start with installing distribution packages, instead of mentioning it after the user has already built everything from source.
Note that both the binary and documentation needs to be built for make install to work.

LGTM

@runcom @TomSweeneyRedHat PTAL